all(); if (!isset($data['openid'])) return response()->json(['code'=> 202,'msg'=>'缺少openid','data'=>null]); $openid = $data['openid']; $appid = config("wx_msg.appid"); //校验openid是否绑定 $employee = new WxEmployee(); $employee = $employee->where('openid',$openid)->where('appid',$appid)->first(); if (empty($employee)) return response()->json(['code'=> 202,'msg'=>'用户授权信息不存在!','data'=>null]); $employee = $employee->toArray(); if (empty($employee['mobile'])) return response()->json(['code'=> 202,'msg'=>'用户手机信息不存在!','data'=>null]); if (empty($employee['employee_id'])) { //找到对应的账号 $emp = Employee::where('del_time',0) ->where('mobile',$employee['mobile']) ->where('is_wx_admin', Employee::USE) ->select('id') ->first(); if(empty($emp)) return response()->json(['code'=> 202,'msg'=>'用户手机信息未匹配到系统账号,请录入手机号!','data'=>null]); $emp = $emp->toArray(); WxEmployee::where('id',$employee['id'])->update(['employee_id' => $emp['id']]); $employee['employee_id'] = $emp['id']; } //校验用户 $employee_id = $employee['employee_id']; $service = new WxEmployeeService(); $checkResult = $service->checkWxUser($employee_id); list($state, $data) = $checkResult; if(! $state) return response()->json(['code'=> 202,'msg'=>$data,'data'=>null]); $data['role'] = EmployeeService::getPersonRole($employee_id); //角色里所有菜单权限 $data['role_authority'] = EmployeeService::getPersonRoleQx($data['role']); //角色里特殊的按钮 $data['special_button'] = EmployeeService::getSpecialButton($data['role'],$employee_id); //拥有的部门 $data['depart_range'] = EmployeeService::getLoginDepart($employee_id); //填充菜单 要权限的地方 列表页字段合计之类 $menu_id = EmployeeService::fillMenu($request,'wx/'); $header_default = []; if($menu_id){ $request->merge(['menu_id' => $menu_id]); $header_default = config("header." . $menu_id) ?? []; } $data['header_default'] = $header_default; //写入user信息 $request->userData = $data; return $next($request); } }