配置管理
更新时间:2026-07-14;使用模型:Codex(GPT-5);用户:Jsmond2016
概述
src/lib/quick-copy/settings.ts 提供配置的加载、保存、规范化和默认值管理。
核心函数
loadSettings()
从 chrome.storage.sync 加载配置:
typescript
function loadSettings(): Promise<QuickCopySettings>- 读取存储中的配置
- 合并默认值(缺失字段自动补充)
- 处理历史数据兼容(如旧版
developerMode布尔值 →mode字符串) - 将旧版单组
environments数组迁移为environmentGroups - 为每个环境组补齐固定的 LOCAL、FAT、UAT、PROD 槽位,并保证组 ID 唯一
- 返回完整的
QuickCopySettings对象
saveSettings()
保存配置到 chrome.storage.sync:
typescript
function saveSettings(settings: QuickCopySettings): Promise<void>normalizeSettings()
规范化配置(填充缺失字段、兼容旧版数据):
typescript
function normalizeSettings(
raw: Partial<QuickCopySettings>
): QuickCopySettings默认值
| 字段 | 默认值 |
|---|---|
feedbackTitle | "页面接口信息如下" |
monitoredOrigins | ["localhost", "127.0.0.1"] |
apiPrefixes | ["/api/saas/"] |
customFields | [] |
quickFillTemplates | [] |
apifoxExportUrl | "" |
apifoxAuthToken | "" |
responseErrorRule | [{"label":"接口异常","expression":"res.rtn !== 0"}] |
mode | "default" |
quickMockTargetExtensionId | "" |
testerAioConfigs | [] |
environmentGroups | 一组名为“环境-1”的空白环境配置 |
getDefaultSettings() 会深拷贝环境组和环境项,避免表单编辑时修改默认配置引用。