From 984f39bf3ce1e38bdcee327a80a0f77b6a416e96 Mon Sep 17 00:00:00 2001 From: abearxiong Date: Sun, 22 Feb 2026 04:06:11 +0800 Subject: [PATCH] feat: enhance afterResponse handling for 401 status and ensure async logout --- src/modules/query.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modules/query.ts b/src/modules/query.ts index 8fa2026..471126a 100644 --- a/src/modules/query.ts +++ b/src/modules/query.ts @@ -1,22 +1,23 @@ -import { Query } from '@kevisual/query'; +import { Query, DataOpts } from '@kevisual/query'; import { QueryLoginBrowser } from '@kevisual/api/query-login' import { useContextKey } from '@kevisual/context'; export const query = useContextKey('query', new Query({ url: '/api/router', - })); -query.afterResponse = async (response, ctx) => { +const afterResponse: DataOpts['afterResponse'] = async (response, ctx) => { if (response.code === 401) { - queryLogin.logout(); + await queryLogin.logout(); setTimeout(() => { location.reload() }, 2000); } return response; } +query.after(afterResponse); export const queryClient = useContextKey('queryClient', new Query({ url: '/client/router', })); +queryClient.after(afterResponse); export const queryLogin = useContextKey('queryLogin', new QueryLoginBrowser({ query: query })); \ No newline at end of file