authorityServiceClient->getMenuList([]); $result = PublicData:: buildMenuTree($result['data']); return $result?Result::success($result):Result::error('查询失败'); } /** * 删除菜单 * @return array */ public function delMenu() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', ], [ 'id.required' => '菜单id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $getData = [ 'id'=>$requireData['id'] ]; $result = $this->authorityServiceClient->getMenuList($getData); // var_dump("菜单返回数据:",$result); if(count($result['data'])>0){ return Result::error("有子菜单不能删除"); } $data = ['id'=>$requireData['id']]; return $this->authorityServiceClient->delMenu($data); } /** * 添加菜单 * @return array|void */ public function addMenu() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'label' => 'required', ], [ 'label.required' => '菜单名称不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):''; $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):''; $result = $this->authorityServiceClient->addMenu($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 查看菜单信息 * @return array */ public function getMenuInfo() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', ], [ 'id.required' => 'id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->authorityServiceClient->getMenuInfo($requireData); $result['data']['pid_arr'] = isset($result['data']['pid_arr']) && $result['data']['pid_arr']?json_decode($result['data']['pid_arr']):[]; return $result?Result::success($result['data']):Result::error($result['message']); } /** * 修改菜单 * @return array|void */ public function updateMenu() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', 'label' => 'required', ], [ 'id.required' => 'id不能为空', 'label.required' => '菜单名称不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):''; $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):''; $result = $this->authorityServiceClient->updateMenu($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 菜单递归查询处理 * @return void */ public function getRecursionMenu() { $reqData = [ 'user_id' =>Context::get("UserId"), ]; $result = $this->authorityServiceClient->getRecursionMenu($reqData); $rep = PublicData::buildMenuTree($result['data']); return $rep?Result::success($rep):Result::error("查询失败"); } /** * 查询所有的菜单 * @return array */ public function getAllMenuList() { $result = $this->authorityServiceClient->getAllMenuList([]); $rep = PublicData::buildMenuTree($result['data']); return $rep?Result::success($rep):Result::error("查询失败"); } }