31 lines
974 B
TypeScript
31 lines
974 B
TypeScript
import { createPersistStore } from "@/store/createPersistStore";
|
||
|
||
export interface DeviceState {
|
||
deviceCount: number;
|
||
setDeviceCount: (count: number) => void;
|
||
updateDeviceCount: () => Promise<void>;
|
||
resetDeviceCount: () => void;
|
||
}
|
||
|
||
export const useDeviceStore = createPersistStore<DeviceState>(
|
||
(set, get) => ({
|
||
deviceCount: 0,
|
||
setDeviceCount: (count: number) => set({ deviceCount: count }),
|
||
updateDeviceCount: async () => {
|
||
try {
|
||
// 这里需要导入getDashboard,但为了避免循环依赖,我们通过参数传入
|
||
// 实际使用时会在组件中调用并传入API函数
|
||
set({ deviceCount: 0 }); // 默认设置为0,实际值由调用方设置
|
||
} catch (error) {
|
||
console.error("更新设备数量失败:", error);
|
||
set({ deviceCount: 0 });
|
||
}
|
||
},
|
||
resetDeviceCount: () => set({ deviceCount: 0 }),
|
||
}),
|
||
"device-store",
|
||
state => ({
|
||
deviceCount: state.deviceCount,
|
||
}),
|
||
);
|