完善model 模块功能,controller 添加跨域支持
parent
a018e4a13f
commit
0519fbfe9f
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Controllers;
|
||||||
|
use App\Models;
|
||||||
|
class Doc extends \Core\Controller
|
||||||
|
{
|
||||||
|
function docTypeAction(){
|
||||||
|
$docModel = new Models\Doc();
|
||||||
|
$types = $docModel->getTypes();
|
||||||
|
$type = json_encode($types,JSON_FORCE_OBJECT);
|
||||||
|
$this->JsonResp(200,$type,"ok");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -35,7 +35,8 @@ class Home extends \Core\Controller
|
||||||
}
|
}
|
||||||
public function docsAction(){
|
public function docsAction(){
|
||||||
$docs = new Models\Doc();
|
$docs = new Models\Doc();
|
||||||
//$this->JsonResp(200,$docs,"OK");
|
$ret = $docs->getAll();
|
||||||
|
$this->JsonResp(200,$ret,"OK");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
namespace App\Controllers;
|
||||||
|
|
||||||
|
use Core\Model;
|
||||||
|
use \Core\View;
|
||||||
|
use App\Models;
|
||||||
|
|
||||||
|
class User extends \Core\Controller
|
||||||
|
{
|
||||||
|
function is_password($password) {
|
||||||
|
return preg_match("/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/", $password);
|
||||||
|
}
|
||||||
|
public function allAction(){
|
||||||
|
$user = new Models\User();
|
||||||
|
$all = $user->getAll();
|
||||||
|
$this->JsonResp(200,$all,"OK");
|
||||||
|
}
|
||||||
|
public function insertAction(){
|
||||||
|
$user = new Models\User();
|
||||||
|
date_default_timezone_set("Asia/Shanghai");
|
||||||
|
//var_dump($this->input);
|
||||||
|
|
||||||
|
$userdate = date("Y-m-d H:i:s",time());
|
||||||
|
$this->input->created_date = $userdate;
|
||||||
|
$this->input->update_date = $userdate;
|
||||||
|
if( strlen($this->input->user_pwd ) < 6){
|
||||||
|
$this->JsonResp(201,null,"password empty");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(!$this->is_password($this->input->user_pwd)){
|
||||||
|
$this->JsonResp(201,null,"password illegal");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$all = $user->InsertObject($this->input);
|
||||||
|
$this->JsonResp(200,$all,"OK");
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,6 +21,16 @@ class Doc extends Model
|
||||||
{
|
{
|
||||||
$db = static::getDB();
|
$db = static::getDB();
|
||||||
$stmt = $db->query('SELECT * FROM doc');
|
$stmt = $db->query('SELECT * FROM doc');
|
||||||
return $stmt->fectchAll;
|
return $stmt->fetchAll();
|
||||||
|
}
|
||||||
|
public function Columns(){
|
||||||
|
return $this->columns;
|
||||||
|
}
|
||||||
|
public function getTypes(){
|
||||||
|
$db = static::getDB();
|
||||||
|
|
||||||
|
$stmt = $db->query('select * from doc_type');
|
||||||
|
$result = $stmt->fetchAll(PDO::FETCH_KEY_PAIR);
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -11,19 +11,19 @@ use PDO;
|
||||||
*/
|
*/
|
||||||
class User extends \Core\Model
|
class User extends \Core\Model
|
||||||
{
|
{
|
||||||
|
public $tableName = 'users';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all the users as an associative array
|
* Get all the users as an associative array
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public static function getAll() {
|
public function getAll() {
|
||||||
$db = static::getDB();
|
$db = static::getDB();
|
||||||
$stmt = $db->query('SELECT * FROM users');
|
$stmt = $db->query('SELECT * FROM users');
|
||||||
|
|
||||||
return $stmt->fetchAll(PDO::FETCH_ASSOC);
|
return $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
}
|
}
|
||||||
public static function Insert($user){
|
public function Insert($user){
|
||||||
$db = static::getDB();
|
$db = static::getDB();
|
||||||
$stmt = $db->query(`insert into users('user_name','user_pwd','create_date','update_date','display_name'
|
$stmt = $db->query(`insert into users('user_name','user_pwd','create_date','update_date','display_name'
|
||||||
,'email_address','tel','avatar') values (` + $user["user_name"] + `,` +
|
,'email_address','tel','avatar') values (` + $user["user_name"] + `,` +
|
||||||
|
|
|
@ -11,13 +11,15 @@ use mysql_xdevapi\Exception;
|
||||||
*/
|
*/
|
||||||
abstract class Controller
|
abstract class Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parameters from the matched route
|
* Parameters from the matched route
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $route_params = [];
|
protected $route_params = [];
|
||||||
protected $querys = [];
|
protected $querys = [];
|
||||||
|
public $body ;
|
||||||
|
protected $input;
|
||||||
|
protected $debug = false;
|
||||||
/**
|
/**
|
||||||
* Class constructor
|
* Class constructor
|
||||||
*
|
*
|
||||||
|
@ -27,9 +29,14 @@ abstract class Controller
|
||||||
*/
|
*/
|
||||||
public function __construct($route_params)
|
public function __construct($route_params)
|
||||||
{
|
{
|
||||||
|
switch($_SERVER['CONTENT_TYPE']){
|
||||||
|
case 'application/json':
|
||||||
|
$this->body = file_get_contents('php://input');
|
||||||
|
$this->input = json_decode($this->body);
|
||||||
|
break;
|
||||||
|
}
|
||||||
$this->route_params = $route_params;
|
$this->route_params = $route_params;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Magic method called when a non-existent or inaccessible method is
|
* Magic method called when a non-existent or inaccessible method is
|
||||||
* called on an object of this class. Used to execute before and after
|
* called on an object of this class. Used to execute before and after
|
||||||
|
@ -48,6 +55,7 @@ abstract class Controller
|
||||||
if (method_exists($this, $method)) {
|
if (method_exists($this, $method)) {
|
||||||
if ($this->before() !== false) {
|
if ($this->before() !== false) {
|
||||||
call_user_func_array([$this, $method], $args);
|
call_user_func_array([$this, $method], $args);
|
||||||
|
|
||||||
$this->after();
|
$this->after();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -72,6 +80,11 @@ abstract class Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
public function JsonResp($code,$data,$msg){
|
public function JsonResp($code,$data,$msg){
|
||||||
|
header('Access-Control-Allow-Origin:*');
|
||||||
|
header('Access-Control-Allow-Methods:OPTIONS, GET, POST'); // 允许option,get,post请求
|
||||||
|
header('Access-Control-Allow-Headers:x-requested-with'); // 允许x-requested-with请求头
|
||||||
|
header('Access-Control-Allow-Headers:x-ijt'); // 允许x-requested-with请求头
|
||||||
|
|
||||||
$ret["code"] = $code;
|
$ret["code"] = $code;
|
||||||
$ret["msg"] = $msg;
|
$ret["msg"] = $msg;
|
||||||
$ret["data"] = $data;
|
$ret["data"] = $data;
|
||||||
|
|
|
@ -14,26 +14,28 @@ abstract class Model
|
||||||
{
|
{
|
||||||
public $tableName;
|
public $tableName;
|
||||||
public $columns = array();
|
public $columns = array();
|
||||||
|
public $columnsType = array();
|
||||||
//获得一个表的所有列名
|
//获得一个表的所有列名
|
||||||
function __construct(){
|
function __construct(){
|
||||||
$this->getColumns($this->tableName);
|
$this->getColumns($this->tableName);
|
||||||
}
|
}
|
||||||
public function getColumns($tableName) {
|
public function getColumns($tableName) {
|
||||||
$db = static::getDB();
|
$db = static::getDB();
|
||||||
|
|
||||||
$sql = "show columns from ".$tableName;
|
$sql = "show columns from ".$tableName;
|
||||||
$stmt = $db->query($sql);
|
$stmt = $db->query($sql);
|
||||||
$res = $stmt->fetchAll();
|
$res = $stmt->fetchAll();
|
||||||
if(static::getDB()!=null){
|
if(static::getDB()!=null){
|
||||||
try{
|
try{
|
||||||
foreach ($res as $key => $value){
|
foreach ($res as $key => $value){
|
||||||
array_push($res,$value[0]);
|
array_push($this->columns,$value[0]);
|
||||||
|
array_push($this->columnsType,$value[1]);
|
||||||
}
|
}
|
||||||
}catch (\PDOException $e){
|
}catch (\PDOException $e){
|
||||||
echo $e->getMessage();
|
echo $e->getMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the PDO database connection
|
* Get the PDO database connection
|
||||||
*
|
*
|
||||||
|
@ -63,4 +65,39 @@ abstract class Model
|
||||||
}
|
}
|
||||||
return $db;
|
return $db;
|
||||||
}
|
}
|
||||||
|
public function InsertObject($obj){
|
||||||
|
$db = static::getDB();
|
||||||
|
$query = "insert into ".$this->tableName."(";
|
||||||
|
$val = "";
|
||||||
|
$i = 0;
|
||||||
|
foreach ($obj as $Key => $value){
|
||||||
|
// 如果key里面有包含在columns里面
|
||||||
|
if(in_array($Key,$this->columns)){
|
||||||
|
$query = $query.$Key.",";
|
||||||
|
$keyIndex = array_search($Key,$this->columns);
|
||||||
|
//print_r($this->columnsType[$keyIndex]." ");
|
||||||
|
if((strstr($this->columnsType[$keyIndex],"int(")) != false){
|
||||||
|
if(is_integer($value))
|
||||||
|
$val = $val.$value.",";
|
||||||
|
else
|
||||||
|
$val = $val."0".",";
|
||||||
|
}else{
|
||||||
|
$val = $val."'".$value."',";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
$val = rtrim($val,",");
|
||||||
|
$query = rtrim($query,",");
|
||||||
|
|
||||||
|
$val = $val.");";
|
||||||
|
$query = $query.") values(";
|
||||||
|
$query = $query.$val;
|
||||||
|
|
||||||
|
$stmt = $db->query($query);
|
||||||
|
|
||||||
|
$res = $stmt->fectchAll();
|
||||||
|
//$result = $stmt->fetchAll();
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
tar -czf code.tar.gz small ./*
|
del code.tar.gz
|
||||||
|
C:\\cygwin64\\bin\\tar.exe -czf code.tar.gz ./*
|
||||||
scp -i ./id_rsa code.tar.gz ubuntu@118.24.238.198:/var/www/html/api/
|
scp -i ./id_rsa code.tar.gz ubuntu@118.24.238.198:/var/www/html/api/
|
||||||
ssh -t -i ./id_rsa ubuntu@118.24.238.198 tar -zxvf /var/www/html/api/code.tar.gz -C /var/www/html/api/
|
ssh -t -i ./id_rsa ubuntu@118.24.238.198 tar -zxvf /var/www/html/api/code.tar.gz -C /var/www/html/api/
|
||||||
ssh -t -i ./id_rsa ubuntu@118.24.238.198 rm code.tar.gz
|
ssh -t -i ./id_rsa ubuntu@118.24.238.198 rm code.tar.gz
|
||||||
|
|
Loading…
Reference in New Issue