model=new AdminMenu(); } //获取菜单 public function list(){ $param = $this->request->param(["relaComNo"=>"","level"=>""],"post","trim"); $condition = [ ['status','=',1], ['is_display','=',1], ['is_del','=',0] ]; $action = \app\admin\model\UserRole::getAllAction($this->uid,$param['relaComNo'],$this->level); if(isset($param['level']) && $param['level'] !== '') $condition[] = ['level','in',[0,$param['level']]]; else { if($this->level == 1) $condition[] = ['level','in',[0,1,2]]; else $condition[] = ['level','in',[0,$this->level]]; } $list=$this->model->GetMenuByActionArr($action,$condition); return success("获取成功",$list); } //创建\编辑菜单 public function create(){ $param=$this->request->param(['name'=>'','url'=>'','route'=>'','pid'=>'','level'=>'','img'=>'','is_display'=>'', 'weight'=>'','private'=>'','id'=>0],'post','trim'); $valid = Validate::rule([ 'name|菜单名称'=>'require|max:255', 'url|菜单路由'=>'max:255', 'route|菜单地址'=>'max:255', 'pid|父级id'=>'require|number|egt:0', 'id|菜单id'=>'number|egt:0', 'level|菜单等级'=>'require|number|egt:0', 'is_display|菜单是否显示'=>'require|number|in:0,1', 'weight|菜单排序权重'=>'require|number', 'private|菜单是否私有'=>'require|number|in:0,1', 'img|菜单图标'=>'max:255', ]); if(!$valid->check($param)) return error($valid->getError()); $menu=$this->model->findOrEmpty($param['id']); if($param['id']>0){ if($menu->isEmpty()) return error('菜单不存在'); } $menu->menu_name = $param['name']; $menu->menu_url = $param['url']; $menu->menu_route = $param['route']; $menu->menu_img = $param['img']; $menu->pid = $param['pid']; $menu->is_display = $param['is_display']; $menu->is_private = $param['private']; $menu->level = $param['level']; $menu->weight = $param['weight']; // $menu->menu_api = $param['menu_api']; $save= $menu->save(); if($save==false) return error('保存失败'); return success('保存成功'); } //状态 public function status(){ $param=$this->request->param(['id'=>0,'status'=>1],'post','trim'); $valid = Validate::rule([ 'id|菜单id'=>'require|number|gt:0', 'status|状态'=>'require|number|in:0,1', ]); if(!$valid->check($param)) return error($valid->getError()); $menu=$this->model->findOrEmpty($param['id']); if($menu->isEmpty()) return error('菜单不存在'); $menu->status = $param['status']; $save= $menu->save(); if($save==false) return error('保存失败'); return success('保存成功'); } /** * @param id 菜单id */ public function delete(){ $param=$this->request->param(['id'=>0],'post','trim'); $valid = Validate::rule([ 'id|菜单id'=>'require|number|gt:0', ]); if(!$valid->check($param)) return error($valid->getError()); $menu=$this->model->findOrEmpty($param['id']); if($menu->isEmpty()) return error('菜单不存在'); $menu->is_del = 1; $save= $menu->save(); if($save==false) return error('删除失败'); return success('删除成功'); } /**@param level 菜单等级 * @return \think\Response|\think\response\Json */ public function GetMenuAction(){ $param = $this->request->param(["level"=>""],"post","trim"); $list=$this->model->GetMenuActionTree(0,$param['level']); return success('获取成功',$list); } /** * @param menuid 菜单id * @param action_code action_code 权限code */ public function createMenuAction(){ $param=$this->request->param(['menuid'=>0,'action_code'=>'',"id"=>"",'status'=>1,"is_del"=>0],'post','trim'); $valid = Validate::rule([ 'menuid|菜单id'=>'require|number|gt:0', 'action_code|权限code'=>'require|max:255|unique:app\admin\model\Action,action_code^menuid^is_del', 'status|状态'=>'number|in:0,1', ]); if(!$valid->check($param)) return error($valid->getError()); $menu=$this->model->findOrEmpty($param['menuid']); if($menu->isEmpty()) return error('菜单不存在'); $action=(new \app\admin\model\Action())->findOrEmpty($param['id']); $action->menuid = $param['menuid']; $action->action_code = $param['action_code']; $action->status = $param['status']; $save= $action->save(); if($save==false) return error('保存失败'); return success('保存成功'); } public function deleteMenuAction(){ $param=$this->request->param(['id'=>0],'post','trim'); $valid = Validate::rule([ 'id|菜单功能id'=>'require|number|gt:0', ]); if(!$valid->check($param)) return error($valid->getError()); $action=new \app\admin\model\Action(); $action=$action->findOrEmpty($param['id']); if($action->isEmpty()) return error('权限不存在'); $action->is_del = 1; $save= $action->save(); if($save==false) return error('删除失败'); return success('删除成功'); } /**@param id 菜单功能id * @param status 状态 * @return \think\Response|\think\response\Json|void */ public function statusMenuAction(){ $param=$this->request->param(['id'=>0,'status'=>1],'post','trim'); $valid = Validate::rule([ 'id|菜单功能id'=>'require|number|gt:0', 'status|状态'=>'require|number|in:0,1', ]); if(!$valid->check($param)) return error($valid->getError()); $action=new \app\admin\model\Action(); $action=$action->findOrEmpty($param['id']); if($action->isEmpty()) return error('权限不存在'); $action->status = $param['status']; $save= $action->save(); if($save==false) return error('保存失败'); return success('保存成功'); } /** * @param menuid 菜单id * @return \think\Response|\think\response\Json|void */ public function menuActionList(){ $param=$this->request->param(['id'=>0],'post','trim'); $valid = Validate::rule([ 'id|菜单id'=>'require|number|gt:0', ]); if(!$valid->check($param)) return error($valid->getError()); $action=new \app\admin\model\Action(); $list=$action->with(["ActionInfo","MenuInfo"])->where(['menuid'=>$param['id'],'is_del'=>0])->select(); return success('获取成功',$list); } }