From 52d96294edbb4f694bc7208dab2722dba9eb3b46 Mon Sep 17 00:00:00 2001 From: sunlei Date: Wed, 24 Jun 2026 14:23:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A1=A5=E5=85=A8NapCat=20WebUI?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E5=B1=95=E7=A4=BA=E5=85=83=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/internal-session.controller.ts | 9 ++++++++- test/apps/napcat-webui-gateway/session-store.spec.ts | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/apps/napcat-webui-gateway/presentation/internal-session.controller.ts b/src/apps/napcat-webui-gateway/presentation/internal-session.controller.ts index 33daa16..4f7b5ab 100644 --- a/src/apps/napcat-webui-gateway/presentation/internal-session.controller.ts +++ b/src/apps/napcat-webui-gateway/presentation/internal-session.controller.ts @@ -36,7 +36,7 @@ export class InternalSessionController { * Creates a Gateway session and returns only browser-safe bootstrap metadata. * @param secret - Shared API-to-Gateway secret header. * @param body - Internal create-session payload from the API service. - * @returns Browser-safe session id, expiry, and relative iframe URL. + * @returns Browser-safe session id, expiry, relative iframe URL, and display metadata. */ @Post('sessions') async createSession( @@ -48,6 +48,13 @@ export class InternalSessionController { const ticket = await this.ticketService.issue(session.sessionId); return { + account: { + accountId: session.accountId, + selfId: session.selfId, + }, + container: { + containerName: session.containerName, + }, expiresAt: session.expiresAt, iframeUrl: `${this.config.publicSessionPrefix()}/${ session.sessionId diff --git a/test/apps/napcat-webui-gateway/session-store.spec.ts b/test/apps/napcat-webui-gateway/session-store.spec.ts index a04f71e..0dccb8b 100644 --- a/test/apps/napcat-webui-gateway/session-store.spec.ts +++ b/test/apps/napcat-webui-gateway/session-store.spec.ts @@ -812,6 +812,13 @@ describe('InternalSessionController', () => { .expect(HttpStatus.CREATED); expect(response.body).toEqual({ + account: { + accountId: 'account-1', + selfId: '1914728559', + }, + container: { + containerName: 'kt-qqbot-napcat-1914728559', + }, expiresAt: 61_000, iframeUrl: expect.stringMatching( /^\/napcat-webui\/session\/[0-9a-f-]+\/bootstrap\?ticket=[A-Za-z0-9_-]+$/,