feat: Optimize availability checking of api addresses

This commit is contained in:
zimplexing
2025-07-25 16:32:15 +08:00
parent 62c03beb5e
commit d1f0a2eb87
2 changed files with 7 additions and 1 deletions

View File

@@ -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<AuthState>((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(() => {

View File

@@ -56,9 +56,10 @@ export const useSettingsStore = create<SettingsState>((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);
}
},