Skip to content

useSystemSettingsManager

无需登录的系统级设置:拉取、缓存、周期刷新(与 useGlobalSettingsManager 类似,但不依赖 token)。

前置依赖

参数名类型说明
env.vueVue 运行时ref / computed / 生命周期
env.host定时器 + now周期刷新
env.storageuseStorage默认键 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
}

参数

参数名类型必填说明
fetchSettingsFnfunction拉系统设置,无需 token
autoFetchOnMountboolean默认 true
refreshIntervalMsnumber可选周期刷新

返回值

useGlobalSettingsManager 相同:settingsversionrefreshclear 等。

工作原理

  1. 挂载水合本地缓存,autoFetchOnMountrefresh
  2. in-flight 去重 + version 对比跳过无效写入。
  3. 可选定时器周期 refresh
  4. 卸载清除 interval。

异常

失败写入 error,不抛出。