fix(小宝预警): 保证建议不为空并显示更新中
This commit is contained in:
@@ -13,11 +13,14 @@ import type { XiaobaoRiskSnapshot } from '@/lib/xiaobao-risk-trend';
|
||||
interface XiaobaoRiskState {
|
||||
snapshots: XiaobaoRiskSnapshot[];
|
||||
insights: XiaobaoRiskInsightCacheItem[];
|
||||
pendingInsightKeys: string[];
|
||||
riskDataLoaded: boolean;
|
||||
error?: string;
|
||||
fetchRiskData: () => Promise<void>;
|
||||
saveSnapshot: (item: XiaobaoRiskSnapshot) => Promise<void>;
|
||||
saveInsight: (item: XiaobaoRiskInsightCacheItem) => Promise<void>;
|
||||
beginInsightUpdate: (key: string) => void;
|
||||
finishInsightUpdate: (key: string) => void;
|
||||
}
|
||||
|
||||
async function loadSnapshots(): Promise<XiaobaoRiskSnapshot[] | null> {
|
||||
@@ -42,6 +45,7 @@ let insightSaveQueue: Promise<void> = Promise.resolve();
|
||||
export const useXiaobaoRiskStore = create<XiaobaoRiskState>((set, get) => ({
|
||||
snapshots: [],
|
||||
insights: [],
|
||||
pendingInsightKeys: [],
|
||||
riskDataLoaded: false,
|
||||
error: undefined,
|
||||
|
||||
@@ -91,4 +95,15 @@ export const useXiaobaoRiskStore = create<XiaobaoRiskState>((set, get) => ({
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
|
||||
beginInsightUpdate: (key) => {
|
||||
if (!key) return;
|
||||
if (get().pendingInsightKeys.includes(key)) return;
|
||||
set({ pendingInsightKeys: [...get().pendingInsightKeys, key] });
|
||||
},
|
||||
|
||||
finishInsightUpdate: (key) => {
|
||||
if (!key) return;
|
||||
set({ pendingInsightKeys: get().pendingInsightKeys.filter((item) => item !== key) });
|
||||
},
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user