useSystemSettingsManager
无需登录的系统级设置:拉取、缓存、周期刷新(与 useGlobalSettingsManager 类似,但不依赖 token)。
前置依赖
| 参数名 | 类型 | 说明 |
|---|---|---|
env.vue | Vue 运行时 | ref / computed / 生命周期 |
env.host | 定时器 + now | 周期刷新 |
env.storage | useStorage | 默认键 syssettings:data / meta |
函数签名
typescript
function useSystemSettingsManager<T>(
options: UseSystemSettingsManagerOptions<T>,
env: UseSystemSettingsManagerEnvironment,
): UseSystemSettingsManagerReturn<T>
interface UseSystemSettingsManagerOptions<T> {
fetchSettingsFn: () => Promise<FetchSystemSettingsResult<T>>
storageKeys?: { data?: string; meta?: string }
autoFetchOnMount?: boolean
refreshIntervalMs?: number
}参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
fetchSettingsFn | function | 是 | 拉系统设置,无需 token |
autoFetchOnMount | boolean | 否 | 默认 true |
refreshIntervalMs | number | 否 | 可选周期刷新 |
返回值
与 useGlobalSettingsManager 相同:settings、version、refresh、clear 等。
工作原理
- 挂载水合本地缓存,
autoFetchOnMount时refresh。 - in-flight 去重 + version 对比跳过无效写入。
- 可选定时器周期
refresh。 - 卸载清除 interval。
异常
失败写入 error,不抛出。