feat: add dashboard metrics service

This commit is contained in:
QiuSW
2026-07-09 01:04:50 +08:00
parent 769c861eb0
commit 2c31a41036
17 changed files with 494 additions and 22 deletions
+20
View File
@@ -286,3 +286,23 @@
- 非阻塞警告:
- `cmd /c build.bat` 仍提示 `wails3 build` 是 `wails3 task` 的 alias。
- 前端构建仍提示 Browserslist 数据过期和 chunk 大小警告。
### 实现 P0 数据统计
- 任务:完成 `T-022`,今日处理图片数、成功率、平均耗时、失败数、今日操作日志数、7 天趋势可查询。
- 结果:
- 新增 `internal/models/metrics.go`,定义 `DashboardMetrics` 和 `DailyMetric`。
- 新增 `internal/services/metrics_service.go`,提供 `MetricsService.GetDashboardMetrics/GetProcessingTrend`。
- 统计按本机本地自然日计算,并用 UTC 字符串匹配现有 `created_at`。
- SQLite 迁移新增 `image_tasks(created_at)` 和 `audit_logs(created_at)` 查询索引。
- `main.go` 注册 `MetricsService`。
- 重新生成 Wails `.js` bindings,新增 `metricsservice.js`。
- 验证:
- `go test ./...` 通过。
- `cd frontend && npm run build` 通过。
- `go build -o bin\cmbone.exe .` 通过。
- `cmd /c build.bat` 通过。
- 非阻塞警告:
- 当前 PowerShell 会话 PATH 没有 Go bin,直接运行 `wails3 generate bindings` 会找不到命令;已按项目脚本方式临时补 PATH 后生成绑定。
- `cmd /c build.bat` 仍提示 `wails3 build` 是 `wails3 task` 的 alias。
- 前端构建仍提示 Browserslist 数据过期和 chunk 大小警告。