feat: add settings schema

This commit is contained in:
QiuSW
2026-07-09 00:12:30 +08:00
parent 5aaac0b166
commit 91debb9ad6
24 changed files with 867 additions and 53 deletions
+5 -1
View File
@@ -24,11 +24,15 @@
- `SetAppConfig(key string, value string) error`:保存配置值。
- `GetLanguage() string`:读取当前语言。
- `SetLanguage(lang string) error`:保存当前语言。
- `GetSettingsSchema() ([]models.AppSettingGroup, error)`:返回统一设置 schema、默认值和当前值。
约束:
- 配置持久化走 SQLite `appconfig` 表。
- 新增配置项时,必须有默认值和迁移逻辑。
- 统一设置 schema 定义在 `internal/services/settings_schema.go`,覆盖主题、语言、窗口行为、快捷键、数据目录、日志策略和登录 provider 配置。
- 新增配置项时,必须补充 key、类型、默认值、说明和必要选项,并同步初始化 SQL。
- `SetAppConfig` 会校验 schema 已知配置项;只读项不能通过通用配置接口修改。
- 快捷键 schema 项只用于统一展示,实际热键更新仍走 `HotkeyService`。
### HotkeyService