From 4967f31791e304df6ee8734b6076527df45012f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E8=80=81=E7=99=BD=E5=85=94?= Date: Sat, 2 Aug 2025 18:42:43 +0800 Subject: [PATCH] =?UTF-8?q?store=20=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nkebao/src/pages/iframe/init.tsx | 7 ++- nkebao/src/store/createPersistStore.ts | 74 +------------------------- nkebao/src/store/module/settings.ts | 4 -- nkebao/src/store/module/user.ts | 22 +++----- 4 files changed, 13 insertions(+), 94 deletions(-) diff --git a/nkebao/src/pages/iframe/init.tsx b/nkebao/src/pages/iframe/init.tsx index 1afd0e07d..d08236aaf 100644 --- a/nkebao/src/pages/iframe/init.tsx +++ b/nkebao/src/pages/iframe/init.tsx @@ -156,9 +156,12 @@ const IframeDebugPage: React.FC = () => { title="iframe调试" right={ connectStatus ? ( - + ) : ( - + + 连接中... + + ) } /> diff --git a/nkebao/src/store/createPersistStore.ts b/nkebao/src/store/createPersistStore.ts index 6cf4a4d5a..79d7b6347 100644 --- a/nkebao/src/store/createPersistStore.ts +++ b/nkebao/src/store/createPersistStore.ts @@ -2,87 +2,15 @@ import { create } from "zustand"; import { persist, PersistOptions } from "zustand/middleware"; -// 自定义存储引擎,确保使用 localStorage -const localStorageStorage = { - getItem: (name: string): string | null => { - try { - return localStorage.getItem(name); - } catch (error) { - console.error(`Failed to get item ${name} from localStorage:`, error); - return null; - } - }, - setItem: (name: string, value: any): void => { - try { - localStorage.setItem(name, JSON.stringify(value)); - } catch (error) { - console.error(`Failed to set item ${name} to localStorage:`, error); - } - }, - removeItem: (name: string): void => { - try { - localStorage.removeItem(name); - } catch (error) { - console.error(`Failed to remove item ${name} from localStorage:`, error); - } - }, -}; - export function createPersistStore( createState: (set: any, get: any) => T, name: string, partialize?: (state: T) => Partial, - options?: Partial>>, ) { return create()( persist(createState, { name, partialize, - storage: localStorageStorage, - version: 1, // 版本控制,用于数据迁移 - onRehydrateStorage: () => state => { - console.log(`Store ${name} rehydrated:`, state); - }, - onError: error => { - console.error(`Store ${name} persistence error:`, error); - }, - ...options, - } as PersistOptions>), + } as PersistOptions), ); } - -// 工具函数:手动保存状态到 localStorage -export const saveToLocalStorage = (name: string, state: T): void => { - try { - const serializedState = JSON.stringify(state); - localStorage.setItem(name, serializedState); - } catch (error) { - console.error(`Failed to save state to localStorage for ${name}:`, error); - } -}; - -// 工具函数:从 localStorage 加载状态 -export const loadFromLocalStorage = (name: string): T | null => { - try { - const serializedState = localStorage.getItem(name); - if (serializedState === null) { - return null; - } - return JSON.parse(serializedState); - } catch (error) { - console.error(`Failed to load state from localStorage for ${name}:`, error); - return null; - } -}; - -// 工具函数:清除 localStorage 中的状态 -export const clearFromLocalStorage = (name: string): void => { - try { - localStorage.removeItem(name); - } catch (error) { - console.error( - `Failed to clear state from localStorage for ${name}:`, - error, - ); - } -}; diff --git a/nkebao/src/store/module/settings.ts b/nkebao/src/store/module/settings.ts index 68d284360..af884e36e 100644 --- a/nkebao/src/store/module/settings.ts +++ b/nkebao/src/store/module/settings.ts @@ -12,9 +12,6 @@ export interface AppSettings { // 功能设置 autoSave: boolean; showTutorial: boolean; - - //App设置 - paddingTop: number; } interface SettingsState { @@ -35,7 +32,6 @@ const defaultSettings: AppSettings = { crashReportEnabled: true, autoSave: true, showTutorial: true, - paddingTop: 44, }; export const useSettingsStore = createPersistStore( diff --git a/nkebao/src/store/module/user.ts b/nkebao/src/store/module/user.ts index f841f1c2d..bee4f4c6e 100644 --- a/nkebao/src/store/module/user.ts +++ b/nkebao/src/store/module/user.ts @@ -27,22 +27,21 @@ interface UserState { clearUser: () => void; login: (token: string, userInfo: User, deviceTotal: number) => void; logout: () => void; - updateUserInfo: (updates: Partial) => void; } export const useUserStore = createPersistStore( - (set, get) => ({ + set => ({ user: null, token: null, isLoggedIn: false, - setUser: user => set({ user, isLoggedIn: true }), - setToken: token => set({ token }), - clearUser: () => set({ user: null, token: null, isLoggedIn: false }), - login: (token, userInfo, deviceTotal) => { + // 只将token存储到localStorage + localStorage.setItem("token", token); + + // 用户信息存储在状态管理中 const user: User = { id: userInfo.id, account: userInfo.account, @@ -62,18 +61,11 @@ export const useUserStore = createPersistStore( }; set({ user, token, isLoggedIn: true }); }, - logout: () => { + // 清除localStorage中的token + localStorage.removeItem("token"); set({ user: null, token: null, isLoggedIn: false }); }, - - updateUserInfo: updates => { - const currentUser = get().user; - if (currentUser) { - const updatedUser = { ...currentUser, ...updates }; - set({ user: updatedUser }); - } - }, }), "user-store", state => ({