SunCheng
a21c533ba5
fix: 修复账单列表分页bug并优化日期和图标显示
...
- 修复分页并发加载bug,防止重复请求同一页数据
- 优化日期格式显示,从 HH:mm 改为 MM-DD HH:mm
- 集成分类真实图标,支持 Iconify 格式,替换默认五角星图标
- 添加图标加载降级机制,确保兼容性
2026-02-18 21:14:54 +08:00
SunCheng
61aa19b3d2
style: unify card styles across calendar, statistics, and budget pages
...
- 调整 theme.css 中的 --radius-lg 为 12px 以符合设计标准
- 统一日历页面卡片样式(padding, border-radius, shadow)
- 统一统计页面所有卡片组件的样式
- 统一预算页面图表卡片样式,替换硬编码值为 CSS 变量
- 为关键样式添加 fallback 值以防止变量未定义
- 所有卡片现在使用统一的样式变量:
- padding: var(--spacing-xl, 16px)
- border-radius: var(--radius-lg, 12px)
- box-shadow: var(--shadow-sm)
- background: var(--bg-secondary)
2026-02-18 20:44:58 +08:00
SunCheng
c1e2adacea
chore: archive migrate-remaining-echarts-to-chartjs change
...
- Synced chart-migration-patterns spec to main specs
- Archived to openspec/changes/archive/2026-02-16-migrate-remaining-echarts-to-chartjs
- All artifacts complete, 57/80 tasks complete (23 test tasks skipped)
Schema: spec-driven
Status: ✓ Complete with warnings (test tasks skipped)
2026-02-16 22:40:13 +08:00
SunCheng
d1737f162d
fix: add defensive checks to BudgetChartAnalysis chart data
...
- Added null checks for overallStats.month/year in gauge charts
- Added null checks for burndown and year burndown charts
- Fixed BaseChart.vue template using undefined 'chartData' variable
- Changed :data="chartData" to :data="data" to use prop directly
Fixes console errors when viewing /budget-v2 page
Verified: 0 errors, only 1 harmless plugin warning
Refs: openspec/changes/migrate-remaining-echarts-to-chartjs
2026-02-16 22:04:10 +08:00
SunCheng
9921cd5fdf
chore: migrate remaining ECharts components to Chart.js
...
- Migrated 4 components from ECharts to Chart.js:
* MonthlyExpenseCard.vue (折线图)
* DailyTrendChart.vue (双系列折线图)
* ExpenseCategoryCard.vue (环形图)
* BudgetChartAnalysis.vue (仪表盘 + 多种图表)
- Removed all ECharts imports and environment variable switches
- Unified all charts to use BaseChart.vue component
- Build verified: pnpm build success ✓
- No echarts imports remaining ✓
Refs: openspec/changes/migrate-remaining-echarts-to-chartjs
2026-02-16 21:55:38 +08:00
SunCheng
a88556c784
fix
2026-02-15 10:10:28 +08:00
SunCheng
e51a3edd50
refactor: 统一账单列表组件,封装 BillListComponent
...
- 创建 BillListComponent 组件(基于 v2 风格,紧凑布局)
- 支持筛选(类型、分类、日期范围)和排序(金额、时间)
- 支持分页加载、左滑删除、点击详情、多选模式
- 支持 API 自动加载和 Custom 自定义数据两种模式
- 迁移 6 个页面/组件到新组件:
- TransactionsRecord.vue
- EmailRecord.vue
- ClassificationNLP.vue
- UnconfirmedClassification.vue
- BudgetCard.vue
- ReasonGroupList.vue
- 删除旧版 TransactionList 组件
- 保留 CalendarV2 的特殊版本(有专用功能)
- 添加完整的使用文档和 JSDoc 注释
2026-02-15 10:08:14 +08:00
SunCheng
6f725dbb13
fix: 修复收入预算计算和添加存款计划明细功能
...
问题1:修复收入预算实际金额计算
- 在 BudgetRepository.cs 中修复 SelectedCategories.Split 逻辑
- 添加 StringSplitOptions.RemoveEmptyEntries 和 StringSplitOptions.TrimEntries 参数
- 添加单元测试验证修复
问题2:添加存款计划明细按钮和弹窗
- 在 BudgetCard.vue 中添加 'show-detail' emit
- 为存款计划卡片(category === 2)添加明细按钮
- 在 SavingsBudgetContent.vue 中实现明细弹窗
- 弹窗显示:收入预算、支出预算、计划存款公式、存款结果
问题3:统一卡片样式
- 修复 BudgetChartAnalysis.vue 的卡片样式
- 使用 16px 圆角、增强阴影和边框
2026-02-14 12:58:26 +08:00
SunCheng
a7954f55ad
feat: remove V1 calendar/budget/stats modules
...
- 删除 V1 前端页面 (CalendarView, BudgetView, statisticsV1)
- 移除 V1 路由配置 (/calendar, /budget, /)
- 清理路由守卫中的 V1 版本切换逻辑
- 移除设置页面中的版本切换功能
- 更新底部导航和登录重定向到 V2 路由
- 移除 App.vue 中 V1 页面的缓存配置
- 删除后端 TransactionRecordController.GetDailyStatisticsAsync (Obsolete)
- 删除 TransactionStatisticsController.GetBalanceStatisticsAsync
- 保留 V2 仍在使用的共享 API (GetUncoveredCategories, GetArchiveSummary, GetDailyStatistics)
- 保留 V2 使用的全局事件监听机制
- 所有测试通过 (210/210)
Breaking Change: V1 API 端点和路由将不可用
2026-02-14 00:01:44 +08:00
SunCheng
162b6d02dd
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 26s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-13 22:49:07 +08:00
SunCheng
803f09cc97
feat(calendar): simplify holiday highlight styles and improve accessibility
...
Docker Build & Deploy / Build Docker Image (push) Successful in 27s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
- Introduced a new visual style for holiday highlights in the calendar component, replacing complex gradients with solid colors for better clarity.
- Removed the holiday badge to reduce visual noise and enhance user experience.
- Ensured that holiday information remains accessible through long-press interactions.
- Updated specifications to reflect the new design decisions and requirements for both light and dark themes.
- Added tasks for implementation, including style adjustments and accessibility enhancements.
2026-02-12 21:39:27 +08:00
SunCheng
aff0cbb55e
refactor: 移除调试代码,优化底部导航样式
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-02-11 17:30:13 +08:00
SunCheng
d439beb32d
1
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 17:25:37 +08:00
SunCheng
841b53e75b
fix
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
Docker Build & Deploy / Build Docker Image (push) Successful in 21s
2026-02-11 17:18:37 +08:00
SunCheng
0fed10b60d
1
Docker Build & Deploy / Build Docker Image (push) Successful in 21s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
2026-02-11 17:05:18 +08:00
SunCheng
d8a7c11490
1
Docker Build & Deploy / Build Docker Image (push) Successful in 19s
Docker Build & Deploy / Deploy to Production (push) Successful in 5s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 16:28:46 +08:00
SunCheng
4e840e8e56
1
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 16:24:40 +08:00
SunCheng
36e0a933f6
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 25s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 16:09:04 +08:00
SunCheng
91389353ad
fix
Docker Build & Deploy / Deploy to Production (push) Blocked by required conditions
Docker Build & Deploy / Build Docker Image (push) Successful in 2m46s
Docker Build & Deploy / Cleanup Dangling Images (push) Has been cancelled
Docker Build & Deploy / WeChat Notification (push) Has been cancelled
2026-02-11 15:33:09 +08:00
SunCheng
fe5de8bbcd
fix: 优化 TabBar 样式和调试信息展示,确保在 PWA 中正确贴底
Docker Build & Deploy / Build Docker Image (push) Successful in 1m16s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 15:19:30 +08:00
SunCheng
00c6787430
refactor: 移除调试信息面板的详细信息展示
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 15:00:25 +08:00
SunCheng
02d7727ae6
feat: 添加调试信息面板,显示容器高度、TabBar 位置和尺寸等信息
Docker Build & Deploy / Build Docker Image (push) Failing after 4m6s
Docker Build & Deploy / Deploy to Production (push) Has been skipped
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 14:53:49 +08:00
SunCheng
dfa2c405c5
fix: 优化底部导航栏样式,调整高度和盒模型设置
Docker Build & Deploy / Build Docker Image (push) Successful in 23s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 14:47:53 +08:00
SunCheng
0d649b76a2
feat: 添加调试信息面板,优化主题色彩和底部导航栏布局
Docker Build & Deploy / Build Docker Image (push) Successful in 23s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 14:42:46 +08:00
SunCheng
e491856e28
fix: 统一主题色彩系统,优化底部导航栏间距
...
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
- 新建 theme.css 定义 CSS 变量,统一亮色/暗色主题色彩
- 新建 layout.css 优化底部导航栏布局
- 在 App.vue 中添加 Vant UI 主题变量映射
- 修复底部导航栏与屏幕底部间距过大问题
- 添加安全区域(safe-area-inset)处理
2026-02-11 14:29:31 +08:00
SunCheng
51172e8c5a
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 4m27s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-11 13:00:01 +08:00
SunCheng
ca3e929770
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 18s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-02-10 19:51:20 +08:00
SunCheng
9894936787
fix
Docker Build & Deploy / Cleanup Dangling Images (push) Has been cancelled
Docker Build & Deploy / WeChat Notification (push) Has been cancelled
Docker Build & Deploy / Deploy to Production (push) Has been cancelled
Docker Build & Deploy / Build Docker Image (push) Has been cancelled
2026-02-10 19:49:59 +08:00
SunCheng
28e4e6f6cb
更新主题样式,添加边框颜色变量;优化弹窗背景和标题样式;调整月度数据加载格式;改进图表初始化逻辑
Docker Build & Deploy / Deploy to Production (push) Has been cancelled
Docker Build & Deploy / Cleanup Dangling Images (push) Has been cancelled
Docker Build & Deploy / WeChat Notification (push) Has been cancelled
Docker Build & Deploy / Build Docker Image (push) Has been cancelled
2026-02-10 19:47:55 +08:00
SunCheng
d052ae5197
fix
2026-02-10 17:49:19 +08:00
SunCheng
3e18283e52
1
2026-02-09 19:25:51 +08:00
SunCheng
63aaaf39c5
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 19s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-02-04 19:23:07 +08:00
SunCheng
15f0ba0993
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 0s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-04 16:23:12 +08:00
SunCheng
f328c72ca0
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-04 16:07:08 +08:00
SunCheng
453007ab69
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-04 15:56:57 +08:00
SunCheng
fe7cb98410
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 35s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-04 15:36:42 +08:00
SunCheng
1a3d0658bb
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 20s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-04 15:31:22 +08:00
SunCheng
28c45e8e77
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 33s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-04 14:33:08 +08:00
SunCheng
952c75bf08
1
Docker Build & Deploy / Build Docker Image (push) Successful in 54s
Docker Build & Deploy / Deploy to Production (push) Successful in 9s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-02-03 17:56:32 +08:00
SunCheng
488667bf9c
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 26s
Docker Build & Deploy / Deploy to Production (push) Successful in 9s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 3s
2026-02-02 19:42:35 +08:00
SunCheng
534a726648
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 21s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-02 17:05:51 +08:00
SunCheng
338bac20ce
todo
Docker Build & Deploy / Build Docker Image (push) Successful in 28s
Docker Build & Deploy / Deploy to Production (push) Successful in 8s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-02-02 16:59:24 +08:00
SunCheng
6abc5f8b6d
tmp2
Docker Build & Deploy / Build Docker Image (push) Failing after 6m47s
Docker Build & Deploy / Deploy to Production (push) Has been skipped
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-02-02 11:07:49 +08:00
SunCheng
460dcd17ef
tmp
2026-02-02 11:07:34 +08:00
61916dc6da
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 31s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-02-01 10:27:04 +08:00
SunCheng
704f58b1a1
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 24s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 3s
2026-01-30 10:41:19 +08:00
SunCheng
d9703d31ae
1
Docker Build & Deploy / Build Docker Image (push) Successful in 34s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
2026-01-28 19:32:11 +08:00
SunCheng
e93c3d6bae
测试覆盖率
Docker Build & Deploy / Build Docker Image (push) Successful in 27s
Docker Build & Deploy / Deploy to Production (push) Successful in 9s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-01-28 17:00:58 +08:00
SunCheng
3ed9cf5ebd
重构: 将 LogCleanupService 转为 Quartz Job 服务
...
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
- 创建 LogCleanupJob 替代 LogCleanupService (BackgroundService)
- 在 Expand.cs 中注册 LogCleanupJob (每天凌晨2点执行, 保留30天日志)
- 从 Program.cs 移除 LogCleanupService 的 HostedService 注册
- 删除 Service/LogCleanupService.cs
- 删除 Service/PeriodicBillBackgroundService.cs (已无用的重复服务)
所有后台任务现在统一通过 Quartz.NET 管理, 支持运行时控制
2026-01-28 11:19:23 +08:00
SunCheng
b71eadd4f9
重构账单查询sql
Docker Build & Deploy / Build Docker Image (push) Successful in 26s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
2026-01-28 10:58:15 +08:00