refactor: 优化 RouterProvider 组件的数据加载逻辑

- 使用批量获取方法 `getMany` 替代多个单独的 `get` 调用,简化数据加载过程。
- 更新 `loadInitialData` 函数,确保从存储中获取的默认值更为一致。
- 修改测试用例以验证批量获取的功能,确保组件在不同情况下的正确性。
This commit is contained in:
2026-06-30 22:56:31 +08:00
parent 27e03ae038
commit 17a4dbd8a7
10 changed files with 138 additions and 58 deletions
+9
View File
@@ -9,6 +9,15 @@ const VALID_MODES: ThemeMode[] = ['light', 'dark', 'system'];
export const isValidThemeMode = (value: unknown): value is ThemeMode =>
VALID_MODES.includes(value as ThemeMode);
/** 检查 localStorage 中是否存在主题快照 */
export const hasThemeSyncSnapshot = (): boolean => {
try {
return localStorage.getItem(THEME_MODE_SNAPSHOT_KEY) !== null;
} catch {
return false;
}
};
/**
* 同步读取 localStorage 快照(首屏防闪烁)
*/