header('Authorization'); if (!isset($token)){ return response()->json(['code'=>1,'msg'=>'缺少token','data'=>null]); } //校验token $result = TokenService::verifyToken($token); if ($result <= 0){ return response()->json(['code'=>1,'msg'=>TokenService::error[$result],'data'=>null]); } //校验用户 $checkResult = EmployeeService::checkUser($result); list($state, $data) = $checkResult; if(! $state) return response()->json(['code'=>1,'msg'=>$data,'data'=>null]); //人员角色 $data['role'] = EmployeeService::getPersonRole($result); //角色里所有菜单权限 $data['role_authority'] = EmployeeService::getPersonRoleQx($data['role']); //当前门店 $userSetTopDepartId = $request->header('userSetTopDepartId'); if(empty($userSetTopDepartId)) return response()->json(['code'=>1,'msg'=>'当前门店信息缺失','data'=>null]); //获取人员门店部门相关信息 $return = EmployeeService::getLoginDepart($result, $userSetTopDepartId); //所属部门 $data['rule_depart'] = $return[0] ?? []; //顶级公司 $data['depart_top'] = $return[1] ?? []; //部门对应的顶级公司 $data['depart_map'] = $return[2] ?? []; //权限范围内的部门以及公司 $data['depart_range'] = $return[3] ?? []; //是否有所有的部门权限 $data['is_all_depart'] = $return[4] ?? 0; //总公司 $data['head'] = $return[5] ?? []; //是否是总公司下的人 $data['is_behind_main'] = $return[6] ?? 0; //当前部门 $data['depart_select'] = $return[7] ?? []; //是否库存校验(默认校验) $my_top = $data['depart_top'][0] ?? []; $is_check_stock = empty($my_top['is_stock']) ? ProductInventorySet::type_one : $my_top['is_stock']; $data['is_check_stock'] = $is_check_stock; //菜单ID $query = config('morequery'); $url = $request->path(); if(isset($query[$url])){ $param = $query[$url]; if(is_array($param)){ $key = $param['key']; $get = $request->input($key); $menu_id = $param['array'][$get] ?? 0; }else{ $menu_id = $param ?? 0; } $request->merge(['menu_id' => $menu_id]); } //写入user信息 $request->userData = $data; return $next($request); } }