feat: add settings schema
This commit is contained in:
+12
-1
@@ -38,6 +38,7 @@ frontend/src
|
||||
- `internal/services/store.go`:负责 SQLite 连接、迁移和基础读写。
|
||||
- `internal/services/appservice.go`:负责窗口、托盘、语言资源和应用生命周期。
|
||||
- `internal/services/appconfig_service.go`:负责配置读写的 Wails 服务边界。
|
||||
- `internal/services/settings_schema.go`:集中定义设置模块 schema、默认值、选项和初始化 SQL。
|
||||
- `internal/services/hotkey_service.go`:负责热键读取、更新和重新注册。
|
||||
- `internal/services/ocr_service.go`:当前 OCR 存量示例,后续可演进为图片 AI 能力的一部分。
|
||||
- `platform/`:隔离 Windows / macOS 热键和系统能力差异。
|
||||
@@ -45,6 +46,7 @@ frontend/src
|
||||
已实现边界:
|
||||
|
||||
- `AuthService`:登录、退出、会话读取;内部通过 `AuthProvider` 接入本地固定账号或真实后端。当前 `LocalAuthProvider` 可用,`RemoteAuthProvider` 保留边界并返回未配置错误。
|
||||
- `AppConfigService`:通过统一设置 schema 初始化和校验主题、语言、窗口行为、快捷键展示、数据目录、日志策略和登录配置。
|
||||
|
||||
目标新增边界:
|
||||
|
||||
@@ -123,6 +125,15 @@ appconfig(
|
||||
)
|
||||
```
|
||||
|
||||
当前 `appconfig` 默认配置由统一设置 schema 生成:
|
||||
|
||||
- `theme.mode`、`language`
|
||||
- `window.start_state`、`window.width`、`window.height`、`window.remember_state`
|
||||
- `shortcut.open_second_window`、`shortcut.open_main_window`
|
||||
- `data.root_mode`、`data.custom_directory`
|
||||
- `logs.level`、`logs.audit_retention_days`、`logs.app_retention_days`
|
||||
- `auth.provider`、`auth.local.username`、`auth.local.password_salt`、`auth.local.password_hash`
|
||||
|
||||
```sql
|
||||
auth_sessions(
|
||||
id INTEGER PRIMARY KEY,
|
||||
@@ -213,7 +224,7 @@ image_task_results(
|
||||
- 第二窗口保持当前小窗定位,不参与最大化、尺寸恢复和主布局填充逻辑。
|
||||
- 后续增强再保存主窗口尺寸和最大化状态,下次启动恢复用户选择。
|
||||
|
||||
实现状态:主窗口初始尺寸、居中、可调整大小、根容器和主布局填充已落地;主应用路由骨架已落地;登录 provider 边界已落地。窗口尺寸持久化依赖设置 schema 后续实现。
|
||||
实现状态:主窗口初始尺寸、居中、可调整大小、根容器和主布局填充已落地;主应用路由骨架已落地;登录 provider 边界已落地;设置模块统一 schema 已落地。窗口尺寸持久化下一步基于 `window.*` 配置实现。
|
||||
|
||||
## 关键风险
|
||||
|
||||
|
||||
Reference in New Issue
Block a user