ericwyuan
5e6fc01f76
feat(sync-history): 新增同步结果查询(每次自动/手动/立即同步的记录)
后端:
- db.py SCHEMA 新增 sync_history 表(不可变,每次同步尝试一行) + 索引
- garmin.py: _log_sync_history() 在 sync_data 全部出口记录; trigger 区分
auto(调度器)/manual(同步页开始同步)/quick(设置页立即同步); start_sync
限流拦截分支同样留档; 写入失败只告警不影响同步
- scheduler.py 自动同步传 trigger="auto"; routes 新增 GET /garmin/sync-history
按时间倒序返回(默认 50 条,上限 200)
前端:
- api.ts 增加 SyncHistoryItem 类型 + getSyncHistory()
- 新页面 /sync-history/ 同步记录: 卡片列表, 状态(成功/失败/被限流)chip 配色,
时间本地化(今天/昨天/X月X日), 触发类型标签, 范围与耗时
- 同步页与设置页同步区块均加入口链接
2026-09-02 20:42:26 +08:00
..
2026-09-02 19:34:32 +08:00
2026-08-31 23:12:17 +08:00
2026-08-31 23:12:17 +08:00
2026-08-31 23:12:17 +08:00
2026-08-23 17:44:51 +08:00
2026-08-23 12:34:18 +08:00
2026-08-31 23:12:17 +08:00
2026-08-31 23:12:17 +08:00
2026-09-02 19:34:32 +08:00
2026-08-24 04:03:49 +08:00
2026-08-31 23:12:17 +08:00
2026-09-02 20:42:26 +08:00
2026-08-31 23:12:17 +08:00
2026-09-02 20:42:26 +08:00
2026-09-01 09:20:52 +08:00