header('Authorization'); if (empty($token)) return response()->json(['code' => 1,'msg' => '缺少登录凭证','data' => null]); $tree_type = $request->header('TreeType'); if (! isset(SysMenu::tree[$tree_type])) return response()->json(['code' => 1,'msg' => '缺少参数或参数错误','data' => null]); $title = SysMenu::tree[$tree_type]; //校验token list($bool, $return) = TokenService::verifyToken($token); if(! $bool) return response()->json(['code' => 1,'msg' => $return,'data' => null]); //人员在jwt里的信息 $e_array = $return; //校验是否越权拿菜单数据 $bool = LoginService::hasPersonRoleForSysMenuList($e_array['employee_id'], $tree_type); if(! $bool) return response()->json(['code' => 1,'msg' => '无系统' . $title . '权限','data' => null]); //校验人员 $checkResult = LoginService::checkUser($e_array); list($state, $msg) = $checkResult; if(! $state) return response()->json(['code' => 1,'msg' => $msg,'data' => null]); $employee = $msg; //人员id $employee_id = $employee['id']; //人员公司部门 $employee = array_merge($employee, LoginService::getPersonDepart($employee_id)); list($state, $msg) = LoginService::checkCompany($employee); if(! $state) return response()->json(['code' => 1,'msg' => $msg,'data' => null]); //人员角色 菜单权限 $employee = array_merge($employee, LoginService::getPersonRoleAndPermissions($employee, $tree_type)); //当前选择的系统菜单 $employee['select_tree_type'] = $tree_type; $request->userData = $employee; return $next($request); } }