Browse Source

修改接口返回数据格式未完成

tangs 5 years ago
parent
commit
b372abffe3

+ 1 - 0
.gitignore

@@ -12,3 +12,4 @@ yarn-error.log
 .idea/
 */.idea/
 repair-lite.iml
+app/test

+ 42 - 0
app/Http/Controllers/Controller.php

@@ -10,4 +10,46 @@ use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
 class Controller extends BaseController
 {
     use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
+
+    protected $error;
+
+    function __construct()
+    {
+        $this->error = config("errorcode");
+    }
+
+    /**
+     * HTTP请求成功时的数据返回
+     *
+     * @param array $data
+     * @param null $message
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function success($data = array(), $message = "success")
+    {
+        $return = array(
+            'code' => REQUEST_SUCCESS,
+            'message' => $message,
+            'data' => $data
+        );
+
+        return response()->json($return);
+    }
+
+    /**
+     * HTTP请求失败时错误信息返回
+     *
+     * @param $code
+     * @param string $codeMessage
+     * @param null $message
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function fail($code, $codeMessage = "", $message = null)
+    {
+        return response()->json([
+            'code' => (int)$code,
+            "codeMessage" => $codeMessage,
+            'message' => $message
+        ]);
+    }
 }

+ 24 - 2
app/Http/Controllers/UserController.php

@@ -4,12 +4,22 @@ namespace App\Http\Controllers;
 
 use App\Models;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Validator;
 
 // todo 返回值为 数字代码还是json还是其他格式待定
 class UserController extends Controller
 {
     public function CreateUser(Request $request)
     {
+
+        $validator = Validator::make($request->all(), [
+            "username" => "required|between:1,3",
+            "password" => "required|between:8,16",
+        ]);
+        if ($validator->fails()) {
+            return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
+        }
+
         $params = [];
         $params["username"] = $request->input("username");
         $params["password"] = $request->input("password");
@@ -20,11 +30,18 @@ class UserController extends Controller
 
         $user = new Models\User();
         $result = $user->CreateUser($params);
-        return $result;
+        return $this->success($result);
     }
 
     public function ModifyUser(Request $request)
     {
+        $validator = Validator::make($request->all(),[
+            "id" => "required|gt:0"
+        ]);
+        if ($validator->fails()){
+            return $this->fail(REQUEST_PARAM_ERROR, $this->error[REQUEST_PARAM_ERROR], $validator->errors());
+        }
+
         $params = [];
         $params["id"] = $request->input("id");
         $params["username"] = $request->input("username");
@@ -36,7 +53,12 @@ class UserController extends Controller
 
         $user = new Models\User();
         $result = $user->ModifyUser($params);
-        return $result;
+        if ($result["code"] == 0){
+            return $this->success("success");
+        } else{
+            $code = $result["code"];
+            return $this->fail($code, $this->error[$code]);
+        }
     }
 
     public function DeleteUser(Request $request)

+ 11 - 5
app/Models/User.php

@@ -3,6 +3,7 @@
 namespace App\Models;
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Facades\Log;
 
 class User extends Model
 {
@@ -19,17 +20,18 @@ class User extends Model
         $this->icon = $params["icon"];
         $this->tel = $params["tel"];
         $this->email = $params["email"];
-        $this->status = "normal";
 
         if ($this->username == "" || $this->password == "") {
             return "empty username or password";
         }
         if ($this->nickname == "") {
             $this->nickname = $this->username;
+            $params["nickname"] = $this->username;
         }
         // todo 这里需要对密码加密
         $this->save();
-        return "success";
+        unset($params["password"]);
+        return $params;
     }
 
     public function ChangePassword($uid, $oldPwd, $newPwd)
@@ -40,7 +42,7 @@ class User extends Model
     public function ModifyUser(array $params)
     {
         $update = [];
-        $uid = $params["uid"];
+        $uid = $params["id"];
         if ($uid == "") {
             return "empty user id";
         }
@@ -65,7 +67,11 @@ class User extends Model
         $result = $this->where("id", $uid)
             ->where("is_del", false)
             ->update($update);
-        return $result > 0 ? "success" : "fail";
+        Log::debug("result is " . $result, ["aa" => $this->getGrammar()]);
+        return [
+            "code" => $result == false ? 0 : NO_DATA_IN_SYS_TO_UPDATE,
+            "message" => $result == false ? "success" : "invalid update",
+        ];
     }
 
     public function DeleteUser($uid)
@@ -76,7 +82,7 @@ class User extends Model
         $result = $this->where("id", $uid)
             ->where("is_del", false)
             ->update(["is_del" => true]);
-        return $result>0?"success": "fail";
+        return $result > 0 ? "success" : "fail";
     }
 
     public function ListUser($page, $pageCount)

+ 8 - 8
app/test/c.php

@@ -24,13 +24,13 @@
 //$aaa->aFun();
 
 
-$data =array(0 =>
-  stdClass::__set_state(array(
-      'uid' => 1,
-      'role' => 3,
-  )),
-);
-
-$arrayData = (array($data));
+//$data =array(0 =>
+//  stdClass::__set_state(array(
+//      'uid' => 1,
+//      'role' => 3,
+//  )),
+//);
+//
+//$arrayData = (array($data));
 
 //echo ($data[0]);

+ 13 - 0
config/errorcode.php

@@ -0,0 +1,13 @@
+<?php
+
+const REQUEST_SUCCESS = 0;
+const REQUEST_PARAM_ERROR = 101;
+const REQUEST_DATABASE_ERROR = 102;
+const NO_DATA_IN_SYS_TO_UPDATE = 110;
+
+return [
+    "0" =>"success",
+    "101" => "params error",
+    "102" => "database operation error",
+    "110" => "no data in system to update"
+];

+ 2 - 1
routes/web.php

@@ -26,7 +26,8 @@ Route::get('/', function () {
 //    return "halo";
 //});
 
-Route::get("addUser", "UserController@AddUser");
+Route::get("createUser", "UserController@CreateUser");
+Route::get("modifyUser", "UserController@ModifyUser");
 Route::get("delUser", "UserController@DelUser");
 Route::get("grantPrivilege", "PermissionController@GrantPrivilege");