作者 赵彬吉

update

@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Http\Controllers\Aside; 3 namespace App\Http\Controllers\Aside;
4 4
5 use App\Enums\Common\Code; 5 use App\Enums\Common\Code;
  6 +use App\Enums\Common\Common;
6 use App\Http\Controllers\Controller; 7 use App\Http\Controllers\Controller;
7 use Illuminate\Http\JsonResponse; 8 use Illuminate\Http\JsonResponse;
8 use Illuminate\Http\Request; 9 use Illuminate\Http\Request;
@@ -21,7 +22,7 @@ class BaseController extends Controller @@ -21,7 +22,7 @@ class BaseController extends Controller
21 protected $order = 'id'; 22 protected $order = 'id';
22 protected $map = [];//处理后的参数 23 protected $map = [];//处理后的参数
23 protected $uid = 0; 24 protected $uid = 0;
24 - protected $user = [];//当前登录用户详情 25 + protected $manage = [];//当前登录用户详情
25 /** 26 /**
26 * 获取所有参数 27 * 获取所有参数
27 */ 28 */
@@ -31,9 +32,9 @@ class BaseController extends Controller @@ -31,9 +32,9 @@ class BaseController extends Controller
31 $this->param = $this->request->all(); 32 $this->param = $this->request->all();
32 $this->token = $this->request->header('token'); 33 $this->token = $this->request->header('token');
33 $this->get_param(); 34 $this->get_param();
34 - if(!empty($this->token) && !empty(Cache::get($this->token))){  
35 - $info = Cache::get($this->token);  
36 - $this->user = $info; 35 + if(!empty($this->token) && !empty(Cache::get(Common::MANAGE_TOKEN . $this->token))){
  36 + $info = Cache::get(Common::MANAGE_TOKEN . $this->token);
  37 + $this->manage = $info;
37 $this->uid = $info['id']; 38 $this->uid = $info['id'];
38 } 39 }
39 } 40 }
@@ -2,8 +2,8 @@ @@ -2,8 +2,8 @@
2 2
3 namespace App\Http\Controllers\Aside; 3 namespace App\Http\Controllers\Aside;
4 4
5 -use App\Http\Controllers\Controller;  
6 -use Illuminate\Http\Request; 5 +use App\Http\Logic\Aside\Manage\MenuLogic;
  6 +use App\Models\Manage\Manage;
7 7
8 /** 8 /**
9 * Class IndexController 9 * Class IndexController
@@ -11,16 +11,25 @@ use Illuminate\Http\Request; @@ -11,16 +11,25 @@ use Illuminate\Http\Request;
11 * @author zbj 11 * @author zbj
12 * @date 2023/4/19 12 * @date 2023/4/19
13 */ 13 */
14 -class IndexController extends Controller 14 +class IndexController extends BaseController
15 { 15 {
16 /** 16 /**
17 - * 首页  
18 - * @param Request $request 17 + * 用户菜单
  18 + * @param MenuLogic $logic
19 * @return \Illuminate\Http\JsonResponse 19 * @return \Illuminate\Http\JsonResponse
  20 + * @throws \Psr\Container\ContainerExceptionInterface
  21 + * @throws \Psr\Container\NotFoundExceptionInterface
  22 + * @author zbj
  23 + * @date 2023/6/21
20 */ 24 */
21 - public function index(Request $request) 25 + public function get_menu(MenuLogic $logic)
22 { 26 {
23 - 27 + if($this->manage['id'] == Manage::ADMINISTRATOR_ID){ //超级管理员
  28 + $menus = $logic->getAllMenu();
  29 + }else{
  30 + $menus = $logic->getMenuByGroupId($this->manage['gid']);
  31 + }
  32 + return $this->success($menus);
24 } 33 }
25 34
26 } 35 }
@@ -26,7 +26,7 @@ class MenuController extends BaseController @@ -26,7 +26,7 @@ class MenuController extends BaseController
26 { 26 {
27 $map = []; 27 $map = [];
28 $sort = ['id' => 'desc']; 28 $sort = ['id' => 'desc'];
29 - $list = $logic->getList($map, $sort, ['*'],0); 29 + $list = $logic->getList($map, $sort, ['id', 'pid', 'title', 'icon', 'type'],0);
30 return $this->success(Arr::listToTree($list)); 30 return $this->success(Arr::listToTree($list));
31 } 31 }
32 32
@@ -27,7 +27,7 @@ class LoginLogic extends BaseLogic @@ -27,7 +27,7 @@ class LoginLogic extends BaseLogic
27 27
28 public function login() 28 public function login()
29 { 29 {
30 - $manage = $this->model->select('id', 'name', 'password', 'token', 'status')->where('mobile', $this->requestAll['mobile'])->first(); 30 + $manage = $this->model->select('id', 'name', 'password', 'token', 'status', 'gid', 'dept_id')->where('mobile', $this->requestAll['mobile'])->first();
31 if (!$manage){ 31 if (!$manage){
32 $this->fail('登录用户名不存在'); 32 $this->fail('登录用户名不存在');
33 } 33 }
@@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Manage; @@ -5,6 +5,7 @@ namespace App\Http\Logic\Aside\Manage;
5 5
6 use App\Helper\Arr; 6 use App\Helper\Arr;
7 use App\Http\Logic\Aside\BaseLogic; 7 use App\Http\Logic\Aside\BaseLogic;
  8 +use App\Models\Manage\Group;
8 use App\Models\Manage\Menu; 9 use App\Models\Manage\Menu;
9 use Illuminate\Support\Facades\Route; 10 use Illuminate\Support\Facades\Route;
10 use Illuminate\Support\Str; 11 use Illuminate\Support\Str;
@@ -57,4 +58,20 @@ class MenuLogic extends BaseLogic @@ -57,4 +58,20 @@ class MenuLogic extends BaseLogic
57 } 58 }
58 return parent::delete($ids); 59 return parent::delete($ids);
59 } 60 }
  61 +
  62 + public function getAllMenu(){
  63 + $map[] = ['type' => Menu::TYPE_MENU];
  64 + $map[] = ['status' => Menu::STATUS_NORMAL];
  65 + $list = parent::getList($map, ['id' => 'desc'], ['id', 'pid', 'title', 'icon', 'type'], 0);
  66 + return $this->success(Arr::listToTree($list));
  67 + }
  68 +
  69 + public function getMenuByGroupId($gid){
  70 + $rights = Group::where(['id' => $gid, 'status' => Group::STATUS_NORMAL])->pluck('rights')->first();
  71 + $map[] = ['type' => Menu::TYPE_MENU];
  72 + $map[] = ['status' => Menu::STATUS_NORMAL];
  73 + $map[] = ['id', 'in', $rights];
  74 + $list = parent::getList($map, ['id' => 'desc'], ['id', 'pid', 'title', 'icon', 'type'], 0);
  75 + return $this->success(Arr::listToTree($list));
  76 + }
60 } 77 }
@@ -8,6 +8,7 @@ use \App\Http\Controllers\Aside; @@ -8,6 +8,7 @@ use \App\Http\Controllers\Aside;
8 //必须登录验证的路由组 8 //必须登录验证的路由组
9 Route::middleware(['aloginauth'])->group(function () { 9 Route::middleware(['aloginauth'])->group(function () {
10 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white'); 10 Route::get('/', [Aside\IndexController::class, 'index'])->name('admin.home.white');
  11 + Route::get('/get_menu', [Aside\IndexController::class, 'get_menu'])->name('admin.get_menu.white');
11 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white'); 12 Route::get('/logout', [Aside\LoginController::class, 'logout'])->name('admin.logout.white');
12 //会员相关 13 //会员相关
13 Route::prefix('user')->group(function () { 14 Route::prefix('user')->group(function () {