From d1f0a2eb87321b11d43724c521c0d098017842b6 Mon Sep 17 00:00:00 2001 From: zimplexing Date: Fri, 25 Jul 2025 16:32:15 +0800 Subject: [PATCH] feat: Optimize availability checking of api addresses --- stores/authStore.ts | 5 +++++ stores/settingsStore.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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); } },