作者 Your Name

gx

@@ -46,6 +46,8 @@ class BaseController extends Controller @@ -46,6 +46,8 @@ class BaseController extends Controller
46 if(!empty($info)){ 46 if(!empty($info)){
47 $this->user = $info; 47 $this->user = $info;
48 $this->uid = $info['id']; 48 $this->uid = $info['id'];
  49 + }else{
  50 + $this->response('当前用户未登录',Code::USER_ERROR);
49 } 51 }
50 52
51 } 53 }
@@ -132,7 +134,23 @@ class BaseController extends Controller @@ -132,7 +134,23 @@ class BaseController extends Controller
132 } 134 }
133 135
134 136
135 - 137 + /**
  138 + * 菜单权限->得到子级数组
  139 + * @param int
  140 + * @return array
  141 + */
  142 + public function _get_child($my_id, $arr)
  143 + {
  144 + $new_arr = array();
  145 + foreach ($arr as $k => $v) {
  146 + $v = (array)$v;
  147 + if ($v['pid'] == $my_id) {
  148 + $v['sub'] = $this->_get_child($v['id'],$arr);
  149 + $new_arr[] = $v;
  150 + }
  151 + }
  152 + return $new_arr ? $new_arr : false;
  153 + }
136 154
137 /** 155 /**
138 * @name :上传图片 156 * @name :上传图片
@@ -74,24 +74,6 @@ class ComController extends BaseController @@ -74,24 +74,6 @@ class ComController extends BaseController
74 } 74 }
75 75
76 /** 76 /**
77 - * 菜单权限->得到子级数组  
78 - * @param int  
79 - * @return array  
80 - */  
81 - public function _get_child($my_id, $arr)  
82 - {  
83 - $new_arr = array();  
84 - foreach ($arr as $k => $v) {  
85 - $v = (array)$v;  
86 - if ($v['pid'] == $my_id) {  
87 - $v['sub'] = $this->_get_child($v['id'],$arr);  
88 - $new_arr[] = $v;  
89 -  
90 - }  
91 - }  
92 - return $new_arr ? $new_arr : false;  
93 - }  
94 - /**  
95 * @name :获取当前项目详情 77 * @name :获取当前项目详情
96 * @return void 78 * @return void
97 * @author :liyuhang 79 * @author :liyuhang
@@ -114,17 +96,11 @@ class ComController extends BaseController @@ -114,17 +96,11 @@ class ComController extends BaseController
114 */ 96 */
115 public function edit_info(){ 97 public function edit_info(){
116 $rules = [ 98 $rules = [
117 - 'id'=>'required',  
118 - 'mobile'=>'required|string|max:11',  
119 'password'=>'required|string|min:5', 99 'password'=>'required|string|min:5',
120 'name'=>'required|max:20', 100 'name'=>'required|max:20',
121 ]; 101 ];
122 //验证的提示信息 102 //验证的提示信息
123 $message = [ 103 $message = [
124 - 'id.required'=>'主键不能为空',  
125 - 'mobile.required'=>'号码必须填写',  
126 - 'mobile.string'=>'号码中含有非法文字',  
127 - 'mobile.max' => '号码不大于11字符.',  
128 'password.required'=>'密码必须填写', 104 'password.required'=>'密码必须填写',
129 'password.string'=>'密码中含有非法文字', 105 'password.string'=>'密码中含有非法文字',
130 'password.min' => '密码不小于5字符.', 106 'password.min' => '密码不小于5字符.',
@@ -135,8 +111,13 @@ class ComController extends BaseController @@ -135,8 +111,13 @@ class ComController extends BaseController
135 if($validate->fails()){ 111 if($validate->fails()){
136 return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param); 112 return $this->response($validate->errors()->first(),Code::USER_PARAMS_ERROE,$this->param);
137 } 113 }
138 - $user = new UserModel();  
139 - 114 + $userModel = new UserModel();
  115 + $this->param['id'] = $this->uid;
  116 + $rs = $userModel->edits($this->param);
  117 + if($rs === false){
  118 + $this->response('参数错误或其他服务器原因,编辑失败',Code::USER_ERROR);
  119 + }
  120 + $this->response('编辑成功');
140 } 121 }
141 122
142 /** 123 /**
@@ -146,6 +127,10 @@ class ComController extends BaseController @@ -146,6 +127,10 @@ class ComController extends BaseController
146 * @method :post 127 * @method :post
147 */ 128 */
148 public function logout(){ 129 public function logout(){
149 - 130 + $rs = Cache::pull($this->token);
  131 + if($rs === false){
  132 + $this->response('error',Code::USER_ERROR);
  133 + }
  134 + $this->response('success');
150 } 135 }
151 } 136 }
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Http\Controllers\Bside; 3 namespace App\Http\Controllers\Bside;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
  6 +use App\Models\ProjectMenu as ProjectMenuModel;
6 use App\Models\ProjectRole as ProjectRoleModel; 7 use App\Models\ProjectRole as ProjectRoleModel;
7 use App\Models\User as UserModel; 8 use App\Models\User as UserModel;
8 use Illuminate\Support\Facades\Validator; 9 use Illuminate\Support\Facades\Validator;
@@ -25,6 +26,31 @@ class ProjectRoleController extends BaseController @@ -25,6 +26,31 @@ class ProjectRoleController extends BaseController
25 $this->allCount = $projectRoleModel->allCount; 26 $this->allCount = $projectRoleModel->allCount;
26 $this->result($lists); 27 $this->result($lists);
27 } 28 }
  29 +
  30 + /**
  31 + * @name :添加/编辑角色时获取菜单列表
  32 + * @return void
  33 + * @author :liyuhang
  34 + * @method
  35 + */
  36 + public function get_role_menu(){
  37 + //根据当前登录用户角色返回用户菜单列表
  38 + $projectRoleModel = new ProjectRoleModel();
  39 + $info = $projectRoleModel->read(['id'=>$this->user['role_id']]);
  40 + $projectMenuModel = new ProjectMenuModel();
  41 + $info['role_menu'] = trim($info['role_menu'],',');
  42 + $lists = $projectMenuModel->where(['status'=>0])->whereIn('id',explode(',',$info['role_menu']))->get();
  43 + $lists = $lists->toArray();
  44 + $menu = array();
  45 + foreach ($lists as $k => $v){
  46 + $v = (array)$v;
  47 + if ($v['pid'] == 0) {
  48 + $v['sub'] = $this->_get_child($v['id'], $lists);
  49 + $menu[] = $v;
  50 + }
  51 + }
  52 + $this->response('当前用户菜单列表',Code::SUCCESS,$menu);
  53 + }
28 /** 54 /**
29 * @name :添加角色 55 * @name :添加角色
30 * @return void 56 * @return void
@@ -60,7 +86,7 @@ class ProjectRoleController extends BaseController @@ -60,7 +86,7 @@ class ProjectRoleController extends BaseController
60 if($rs === false){ 86 if($rs === false){
61 $this->response('添加失败',Code::USER_PARAMS_ERROE); 87 $this->response('添加失败',Code::USER_PARAMS_ERROE);
62 } 88 }
63 - $this->response('添加成功',Code::SUCCESS); 89 + $this->response('添加成功');
64 } 90 }
65 91
66 /** 92 /**
  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Bside;
  4 +
  5 +use App\Models\User;
  6 +
  7 +class UserLogic extends BaseLogic
  8 +{
  9 + public function __construct()
  10 + {
  11 + parent::__construct();
  12 +
  13 + $this->model = new User();
  14 + }
  15 +
  16 +}
@@ -6,7 +6,12 @@ use \Illuminate\Support\Facades\Route; @@ -6,7 +6,12 @@ use \Illuminate\Support\Facades\Route;
6 6
7 //必须登录验证的路由组 7 //必须登录验证的路由组
8 Route::middleware(['bloginauth'])->group(function () { 8 Route::middleware(['bloginauth'])->group(function () {
  9 + //登录用户编辑个人资料
  10 + Route::any('/edit_info', [\App\Http\Controllers\Bside\ComController::class, 'edit_info'])->name('edit_info');
  11 + Route::any('/logout', [\App\Http\Controllers\Bside\ComController::class, 'logout'])->name('logout');
  12 + //获取当前登录用户菜单
9 Route::any('/get_menu', [\App\Http\Controllers\Bside\ComController::class, 'get_menu'])->name('get_menu'); 13 Route::any('/get_menu', [\App\Http\Controllers\Bside\ComController::class, 'get_menu'])->name('get_menu');
  14 + //获取当前登录用户项目详情
10 Route::any('/get_project', [\App\Http\Controllers\Bside\ComController::class, 'get_project'])->name('get_project'); 15 Route::any('/get_project', [\App\Http\Controllers\Bside\ComController::class, 'get_project'])->name('get_project');
11 //用户相关路由 16 //用户相关路由
12 Route::any('/user/add', [\App\Http\Controllers\Bside\UserController::class, 'add'])->name('user_add'); 17 Route::any('/user/add', [\App\Http\Controllers\Bside\UserController::class, 'add'])->name('user_add');
@@ -16,6 +21,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -16,6 +21,7 @@ Route::middleware(['bloginauth'])->group(function () {
16 Route::any('/user/del', [\App\Http\Controllers\Bside\UserController::class, 'del'])->name('user_del'); 21 Route::any('/user/del', [\App\Http\Controllers\Bside\UserController::class, 'del'])->name('user_del');
17 //用户角色相关路由 22 //用户角色相关路由
18 Route::any('/project_role/lists', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'lists'])->name('project_role_lists'); 23 Route::any('/project_role/lists', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'lists'])->name('project_role_lists');
  24 + Route::any('/project_role/get_role_menu', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'get_role_menu'])->name('project_get_role_add');
19 Route::any('/project_role/add', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'add'])->name('project_role_add'); 25 Route::any('/project_role/add', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'add'])->name('project_role_add');
20 Route::any('/project_role/edit', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'edit'])->name('project_role_edit'); 26 Route::any('/project_role/edit', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'edit'])->name('project_role_edit');
21 Route::any('/project_role/status', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'status'])->name('project_role_status'); 27 Route::any('/project_role/status', [\App\Http\Controllers\Bside\ProjectRoleController::class, 'status'])->name('project_role_status');