all(); return $this->success($code); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } public function feishuScope(Request $request) { try { $result = (new AuthService())->feishuAuthorize($request->get('app_id'), $request->system_code, $request->get('is_pc','0')); return $this->success($result); } catch (\Throwable $e) { return $this->error($e->getMessage().$e->getLine().$e->getFile()); } } /** * JSAPI鉴权签名 * @param Request $request * @return \support\Response */ public function signature(Request $request) { try { $app_id = $request->get('app_id', ''); $url = $request->get('url', ''); if (empty($app_id)) { throw new BusinessException('app_id 参数不能为空'); } if (empty($url)) { throw new BusinessException('url 参数不能为空'); } $result = (new AuthService())->feishuSignature($app_id, $url); return $this->success($result); } catch (\Throwable $e) { return $this->error($e->getMessage().$e->getLine().$e->getFile()); } } public function login(Request $request) { try { $data = $request->all(); $data['login_type'] = $request->login_type; if($data['login_type'] == 'feishu' && (empty($data['feishu_code']) || empty($data['app_id']))){ throw new BusinessException('参数错误'); } $result = (new AuthService())->login($data); return $this->success($result, '登录成功'); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } public function register(Request $request) { try { $data = $this->validate(new UserValidate(), $this->requestData($request), $request->login_type.'_register'); $result = (new AuthService())->register($data); return $this->success($result, '注册成功'); } catch (\Throwable $e) { return $this->error($e->getMessage()); } } public function refresh(Request $request) { try { $data = $this->requestData($request); if (!$data['refresh_token'] || !$data['system_code']) return $this->error('参数缺失', 422); $result = (new AuthService())->refreshToken($data['refresh_token'], $data['system_code']); return $this->success($result, '刷新成功'); } catch (\Throwable $e) { return $this->error($e->getMessage(), 401); } } // public function perm(Request $request) // { // try { // $data = $this->requestData($request); // if (!$data['access_token'] || !$data['system_code']) return $this->error('参数缺失', 422); // $result = (new AuthService())->logout($data['access_token'], $data['system_code']); // return $this->success($result, '已登出'); // } catch (\Throwable $e) {} // } // public function verify(Request $request) // { // try { // $token = $request->post('access_token') ?: $request->header('authorization'); // $systemCode = $request->post('system_code'); // if (!$token || !$systemCode) return $this->error('参数缺失', 422); // $payload = (new AuthService())->verifyToken($token, $systemCode); // return $this->success($payload, '验证成功'); // } catch (\Throwable $e) { // return $this->error($e->getMessage() ?: '无效或过期的token', 401); // } // } // public function logout(Request $request) // { // $token = $request->post('access_token') ?: $request->header('Authorization'); // $systemCode = $request->post('system_code') ?: $request->header('system_code'); // (new AuthService())->logout($token, $systemCode); // return $this->success([], '已登出'); // } // public function blockToken(Request $request) // { // $token = $request->post('token'); // $systemCode = $request->post('system_code'); // if (!$token || !$systemCode) return $this->error('参数缺失', 422); // (new AuthService())->blockToken($token, $systemCode); // return $this->success([], '已强制停用该token'); // } }