diff --git a/stores/authStore.ts b/stores/authStore.ts index 1bc6181..c971efa 100644 --- a/stores/authStore.ts +++ b/stores/authStore.ts @@ -2,6 +2,7 @@ import { create } from "zustand"; import Cookies from "@react-native-cookies/cookies"; import { api } from "@/services/api"; import { useSettingsStore } from "./settingsStore"; +import Toast from "react-native-toast-message"; interface AuthState { isLoggedIn: boolean; @@ -24,6 +25,10 @@ const useAuthStore = create((set) => ({ } try { const serverConfig = useSettingsStore.getState().serverConfig; + if (!serverConfig?.StorageType) { + Toast.show({ type: "error", text1: "请检查网络或者 API 地址是否可用" }); + return + } const cookies = await Cookies.get(api.baseURL); if (serverConfig && serverConfig.StorageType === "localstorage" && !cookies.auth) { const loginResult = await api.login().catch(() => { diff --git a/stores/settingsStore.ts b/stores/settingsStore.ts index 576d8a0..dc16a72 100644 --- a/stores/settingsStore.ts +++ b/stores/settingsStore.ts @@ -56,9 +56,10 @@ export const useSettingsStore = create((set, get) => ({ const config = await api.getServerConfig(); if (config) { storageConfig.setStorageType(config.StorageType); + set({ serverConfig: config }); } - set({ serverConfig: config }); } catch (error) { + set({ serverConfig: null }); console.info("Failed to fetch server config:", error); } },