Refactor code structure for improved readability and maintainability

This commit is contained in:
2026-02-22 01:54:55 +08:00
parent 1db31d13e6
commit f3c269dd83
27 changed files with 4689 additions and 123 deletions

View File

@@ -1,32 +1,14 @@
'use client';
import { QueryClient } from '@kevisual/query';
import { QueryLoginBrowser } from '@kevisual/api/login';
import { toast } from 'sonner';
import { Query } 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',
}));
// Only create instances in browser environment
const isBrowser = typeof window !== 'undefined';
export const queryClient = useContextKey('queryClient', new Query({
url: '/client/router',
}));
export const query = isBrowser ? new QueryClient({}) : {} as QueryClient;
export const queryLogin = isBrowser
? new QueryLoginBrowser({
query: query as any,
})
: {} as QueryLoginBrowser;
if (isBrowser) {
(query as any).afterResponse = async (res, ctx) => {
const newRes = await queryLogin.run401Action(res, ctx, {
afterAlso401: () => {},
afterCheck: (res: any) => {
if (res.code === 200) {
toast.success('刷新登陆信息');
setTimeout(() => {
window.location.reload();
}, 2000);
}
},
});
return newRes as any;
};
}
export const queryLogin = useContextKey('queryLogin', new QueryLoginBrowser({
query: query
}));