list($request->all())); } catch (\Throwable $e) { return Json::fail($e->getMessage(), [], $e->getCode()); } } #[OA\Delete( path: '/monitor/online-user/{jti}', summary: '踢下线', tags: ['系统监控'] )] #[OA\Parameter( name: 'jti', description: '会话JTI', in: 'path', required: true, schema: new OA\Schema(type: 'string') )] #[Permission(code: 'monitor:online_user:kickout')] #[SimpleResponse(schema: [], example: [])] public function destroy(Request $request): \support\Response { try { $jti = (string)$request->route->param('jti', ''); if ($jti === '') { return Json::fail('会话JTI不能为空'); } /** @var OnlineUserService $service */ $service = Container::get(OnlineUserService::class); if (!$service->kickout($jti)) { return Json::fail('会话不存在或已失效'); } return Json::success('ok'); } catch (\Throwable $e) { return Json::fail($e->getMessage(), [], $e->getCode()); } } #[OA\Post( path: '/monitor/online-user/{jti}/revoke', summary: '撤销Token', tags: ['系统监控'] )] #[OA\Parameter( name: 'jti', description: '会话JTI', in: 'path', required: true, schema: new OA\Schema(type: 'string') )] #[Permission(code: 'monitor:online_user:revoke')] #[SimpleResponse(schema: [], example: [])] public function revoke(Request $request): \support\Response { return $this->destroy($request); } }