diff --git a/src/app/services/server.ts b/src/app/services/server.ts index 99617eea..0e9e934d 100644 --- a/src/app/services/server.ts +++ b/src/app/services/server.ts @@ -364,7 +364,7 @@ export const serverApi = createApi({ }); export const { - useGetServerVersionQuery, + useLazyGetServerVersionQuery, useGetGithubAuthConfigQuery, useUpdateGithubAuthConfigMutation, useGetGoogleAuthConfigQuery, diff --git a/src/common/hook/usePreload.ts b/src/common/hook/usePreload.ts index 1dee089e..c17a8a6f 100644 --- a/src/common/hook/usePreload.ts +++ b/src/common/hook/usePreload.ts @@ -3,7 +3,7 @@ import dayjs from "dayjs"; import initCache, { useRehydrate } from "../../app/cache"; import { useLazyGetFavoritesQuery } from "../../app/services/message"; import { useLazyGetUsersQuery } from "../../app/services/user"; -import { useGetServerVersionQuery, useGetSystemCommonQuery, useLazyGetServerQuery } from "../../app/services/server"; +import { useLazyGetSystemCommonQuery, useLazyGetServerQuery, useLazyGetServerVersionQuery } from "../../app/services/server"; import useStreaming from "./useStreaming"; import { useAppSelector } from "../../app/store"; import { useLazyLoadMoreMessagesQuery } from "../../app/services/message"; @@ -52,10 +52,8 @@ export default function usePreload() { getServer, { isLoading: serverLoading, isSuccess: serverSuccess, isError: serverError, data: server } ] = useLazyGetServerQuery(); - const { data: currServerVersion, isSuccess: serverVersionSuccess, isLoading: loadingServerVersion } = useGetServerVersionQuery(); - // 根据版本号判断是否需要调用system common api - const skipSystemCommonApi = !(serverVersionSuccess && compareVersion(currServerVersion, '0.3.4') >= 0); - useGetSystemCommonQuery(undefined, { skip: skipSystemCommonApi }); + const [getServerVersion, { isSuccess: serverVersionSuccess, isLoading: loadingServerVersion }] = useLazyGetServerVersionQuery(); + const [getSystemCommon] = useLazyGetSystemCommonQuery(); useEffect(() => { initCache(); rehydrate(); @@ -81,6 +79,12 @@ export default function usePreload() { getUsers(); getServer(); getFavorites(); + getServerVersion().then((resp) => { + if (resp.data && compareVersion(resp.data, '0.3.4') >= 0) { + // 根据版本号判断是否需要调用system common api + getSystemCommon(); + } + }); } }, [rehydrated]); const tokenAlmostExpire = dayjs().isAfter(new Date(expireTime - 20 * 1000));