Commit Graph

58 Commits

Author SHA1 Message Date
CHE LIANG ZHAO
99ec5ea0a4 chore: workflow 添加部署路径日志输出
Some checks failed
Deploy BillAI / Deploy to Production (push) Failing after 0s
2026-01-26 17:56:30 +08:00
CHE LIANG ZHAO
89e1e74b76 chore: 更新 runner 标签为 billAI
Some checks failed
Deploy BillAI / Deploy to Production (push) Failing after 0s
2026-01-26 17:27:24 +08:00
CHE LIANG ZHAO
ed0a44851d feat: 添加 Gitea Actions 自动部署功能
Some checks failed
Deploy BillAI / Deploy to Production (push) Failing after 0s
2026-01-26 17:21:12 +08:00
CHE LIANG ZHAO
a1eebd0b3f fix: 优化版本号显示样式 (v1.3.1) 2026-01-26 16:37:00 +08:00
CHE LIANG ZHAO
ef34a1bb5d fix: 修复 Vite allow list 错误 2026-01-26 16:24:39 +08:00
CHE LIANG ZHAO
ab9aab7beb fix: 修复版本号导入 Vite serving allow list 错误 2026-01-26 16:22:27 +08:00
CHE LIANG ZHAO
61d26fc971 feat: 在 web 页面显示版本号和更新日志 2026-01-26 16:06:06 +08:00
CHE LIANG ZHAO
f537b53ebd chore: release v1.3.0 - 京东账单支持 2026-01-26 15:36:05 +08:00
CHE LIANG ZHAO
b654265d96 docs: add gitea webhook deploy plan 2026-01-26 15:25:23 +08:00
CHE LIANG ZHAO
42171c01db feat: 京东账单支持 LOW 复核等级 2026-01-26 14:25:39 +08:00
CHE LIANG ZHAO
279eceaa95 feat: 京东账单专属分类映射配置 2026-01-26 14:14:07 +08:00
CHE LIANG ZHAO
9e146c5ef0 feat: 上传京东账单时自动软删除其他来源中的京东订单 2026-01-26 14:11:55 +08:00
CHE LIANG ZHAO
3cf39b4664 feat: 支持京东白条账单上传和清洗 2026-01-26 13:44:22 +08:00
CHE LIANG ZHAO
7b2d6a9fbb feat: 智能复核添加快捷确认功能 2026-01-26 13:04:04 +08:00
clz
6e3756b2e1 style: 智能复核页面统计卡片添加hover效果 2026-01-25 18:52:13 +08:00
clz
bacbabc0a5 feat: 添加账单软删除功能
- 新增删除按钮(带二次确认)到账单详情抽屉
- 后端实现软删除(设置 is_deleted 标记)
- 所有查询方法自动过滤已删除记录
- 账单列表和复核页面都支持删除
- 版本更新至 1.2.0
2026-01-25 18:49:07 +08:00
CHE LIANG ZHAO
a97a8d6a20 feat: 支持ZIP压缩包上传(含密码保护) 2026-01-23 14:17:59 +08:00
clz
49e3176e6b fix: 将编辑账单接口从 PATCH 改为 POST
- 修改后端路由:POST /api/bills/:id
- 修改前端 API 调用方法为 POST
- 移除临时添加的 CORS 中间件
- 解决生产环境 405 Method Not Allowed 问题
2026-01-19 01:27:22 +08:00
clz
654989d3dd fix: 修复账单编辑后刷新才生效的问题
- 在分析页面添加 handleBillUpdated 回调,编辑后同步更新 records 和 allRecords
- 为 TopExpenses、CategoryRanking、DailyTrendChart 组件添加 onUpdate prop
- 修复 TopExpenses 组件内响应式更新,使用新数组引用触发更新
- 建立完整的更新传播链:BillDetailDrawer -> BillRecordsTable -> 各分析组件 -> 分析页面
- 确保所有派生数据(topExpenses、categoryStats、pieChartData)自动刷新
2026-01-19 01:12:33 +08:00
clz
9abd0d964f chore(release): v1.0.9 移除 Webhook 自动部署功能
- 删除 webhook/ 目录及相关文件
- 删除 deploy.sh 部署脚本
- 删除 WEBHOOK_SETUP.md 配置文档
- 更新 docker-compose.yaml 移除 webhook 服务
- 更新 README.md 和 CHANGELOG.md
2026-01-19 00:21:53 +08:00
clz
871da2454c chore(release): bump web to 1.0.8 and update docs 2026-01-18 21:30:17 +08:00
clz
65ea2fa477 refactor(web): unify bills as UIBill, remove BillRecord 2026-01-18 21:14:54 +08:00
clz
c61691249f fix(web): 修复弹窗裁切/宽度与日期选择器 2026-01-18 20:17:48 +08:00
clz
f5afb0c135 feat: 支持账单编辑(PATCH /api/bills/:id) 2026-01-18 20:17:19 +08:00
CHE LIANG ZHAO
339b8afe98 fix(webhook): harden security and reliability
- Require non-default WEBHOOK_SECRET\n- Strict main/master ref matching\n- Constant-time HMAC signature check\n- Limit request body and add server timeouts\n- Single-flight deploy lock; pass ref/commit to deploy.sh\n- deploy.sh deploys correct branch (main/master)
2026-01-16 14:06:10 +08:00
CHE LIANG ZHAO
3b7c1cd82b chore(release): v1.0.7
- README/CHANGELOG: add v1.0.7 entry\n- Server: JWT expiry validated server-side (401 codes)\n- Web: logout/redirect on 401; proxy forwards Authorization\n- Server: bill service uses repository consistently
2026-01-16 11:15:05 +08:00
CHE LIANG ZHAO
ad6a6d44ea fix(web, server): 修复数据分析页面总支出和大盘数据错误
- 数据分析页面改为使用后端返回的聚合统计,而不是前端计算
- 移除后端 page_size 最大 100 的限制,允许获取更多数据
- 确保账单管理和数据分析页面使用相同的数据源,保证一致性
- 更新版本号至 1.0.6
2026-01-14 15:52:02 +08:00
CHE LIANG ZHAO
53d6b32856 fix: 更新正确的mockdata 2026-01-14 14:54:47 +08:00
CHE LIANG ZHAO
4805f94126 fix(server, webhook): 添加 MongoDB 数据持久化和上传前去重功能
- 优化支付宝时间格式解析(支持无前导零格式)
- 修复 webhook 服务编译错误
- 更新版本号至 1.0.5
2026-01-14 14:53:50 +08:00
CHE LIANG ZHAO
05ab270677 feat: 添加 Gitea webhook 自动部署功能
- 新增独立的 webhook 服务 (Go, 端口 9000)
- HMAC-SHA256 签名验证
- 零停机热更新部署
- 自动清理旧镜像
- 完整配置文档 WEBHOOK_SETUP.md
- 精简 README 版本历史为表格形式
2026-01-13 14:37:01 +08:00
CHE LIANG ZHAO
471bdeaf6b docs: 更新 README 版本历史 2026-01-13 13:31:28 +08:00
CHE LIANG ZHAO
d931606b3c chore: 更新版本号到 1.0.3,添加 CHANGELOG 2026-01-13 13:29:44 +08:00
CHE LIANG ZHAO
6580a434ee feat(web): 新增 DateTimePicker 组件,优化手动添加账单表单
- 使用 shadcn-ui 的 Calendar + Popover 替换原生 datetime-local
- 根据收支类型动态切换分类选项(支出/收入分类)
- 切换收支类型时自动清空已选分类
- 收入模式下隐藏支付方式和交易状态输入框
- 调整表单布局为 1:1 两列
2026-01-13 13:23:06 +08:00
0e41bbdf59 fix: 修复docker volume映射路径与配置不一致导致上传文件无法持久化的问题 2026-01-11 22:18:55 +08:00
682e81f31b Update .gitignore and remove executable file 2026-01-11 22:15:53 +08:00
8a9de1b328 fix: 修复账单时间显示为UTC时区问题,改为本地时间
- 新增 LocalTime 自定义类型,JSON序列化输出本地时间格式
- 修改 CleanedBill.Time 字段类型为 LocalTime
- 更新 parseTime 函数返回 LocalTime 类型
- 前端添加 formatDateTime 工具函数(兼容处理)
- 版本号更新至 1.0.2
2026-01-11 21:40:27 +08:00
clz
d49d9afb3a fix: 修复智能复核页面空数据显示错误,更新版本至 1.0.1 2026-01-11 20:14:27 +08:00
clz
c74a430ab8 docs: 更新 README 文档
- 添加版本徽章 (1.0.0)
- 补充完整 API 文档(认证、账单查询、统计等)
- 添加认证相关环境变量说明
- 更新路线图,标记已完成功能
- 更新项目结构,添加登录页和状态管理
2026-01-11 19:53:55 +08:00
clz
c242694d9b feat: 优化配置和文件上传
- 上传文件名添加唯一ID避免覆盖
- 支持通过环境变量配置 JWT 密钥和 Token 过期时间
- 支持通过环境变量覆盖管理员账号(可选)
2026-01-11 19:11:47 +08:00
clz
fb5b46f90c chore: 调整 Token 过期时间为 1 小时 2026-01-11 18:58:34 +08:00
clz
c397e4fb88 chore: 更新版本号至 1.0.0 2026-01-11 18:57:37 +08:00
clz
829b3445bc feat: 添加用户登录认证功能
- 新增登录页面(使用 shadcn-svelte 组件)
- 后端添加 JWT 认证 API (/api/auth/login, /api/auth/validate)
- 用户账号通过 server/config.yaml 配置
- 前端路由保护(未登录跳转登录页)
- 侧边栏显示当前用户信息
- 支持退出登录功能
2026-01-11 18:50:01 +08:00
clz
4884993d27 feat: 改进智能复核页面,显示所有待复核数据 2026-01-10 21:24:44 +08:00
clz
6374f55aa1 feat: 添加 /api/review-stats 端点和仪表盘实时数据集成 2026-01-10 21:18:38 +08:00
clz
06f6c847d8 feat: 手动账单输入功能及时区修复
- 新增手动账单输入功能
  - 创建 ManualBillInput 组件,支持批量添加账单
  - 添加服务器端 API /api/bills/manual 处理手动账单创建
  - 支持时间选择器,默认当前时间
  - 交易对方字段设为可选
  - 实时显示待提交账单列表
  - 提交成功后显示成功/失败/重复统计

- 修复时区问题
  - 后端使用 time.ParseInLocation 解析本地时间,避免 UTC 时区错误
  - 确保手动输入的时间按本地时区正确存储

- UI 优化
  - 账单管理页面添加标签页切换(列表/手动添加)
  - 主页添加快捷按钮跳转至手动添加页面
  - 手动账单来源正确显示为"手动输入"
  - 使用 shadcn-svelte 组件统一 UI 风格
  - 提交成功后保持日期筛选并重新加载数据
2026-01-10 20:48:24 +08:00
clz
99aaa05338 feat: 每日趋势图使用全部数据,不受日期筛选控制 2026-01-10 20:01:26 +08:00
eb76c3a8dc fix: 修复微信账单金额解析问题(半角¥符号支持)
- 修复 parse_amount 函数同时支持全角¥和半角¥
- 新增 MonthRangePicker 日期选择组件
- 新增 /api/monthly-stats 接口获取月度统计
- 分析页面月度趋势使用全量数据
- 新增健康检查路由
2026-01-10 19:21:24 +08:00
9247e1ec7f fix: 优化分析页时间范围筛选器默认值逻辑
- DateRangePicker 组件默认值逻辑调整,支持父组件传递的初始值
- 分析页 startDate/endDate 初始化为本月范围,修复首次加载显示不正确问题
- DailyTrendChart 日期解析逻辑优化,兼容多种格式
- bills页与后端聚合统计相关逻辑微调
- 后端账单服务相关处理细节优化
2026-01-10 16:50:04 +08:00
6d33132a4a fix: 修复前后端时区问题和日期范围选择器性能
- 前端时区修复:统一使用本地时区格式化日期
- 日期范围选择器优化:使用 untrack 避免循环更新
- 后端时区修复:使用 time.ParseInLocation 指定本地时区
- 其他优化:修复分页逻辑
2026-01-10 01:55:45 +08:00
48332efce4 fix: 修复日期范围选择器时区和性能问题
- 修复时区问题:使用本地时区格式化日期,避免 toISOString() 导致的日期偏移
- 优化日期范围选择器性能:使用 untrack 避免循环更新
- 统一日期格式化方法:在 utils.ts 中添加 formatLocalDate 工具函数
- 修复分页逻辑:优化页码计算和显示
- 更新相关页面:bills 和 analysis 页面使用统一的日期格式化方法
2026-01-10 01:51:18 +08:00