feat: implement dynamic changelog system and bump version to 1.4.0

- Add /api/changelog public endpoint that dynamically parses CHANGELOG.md
- Implement Markdown parser in server/service/changelog.go with unit tests
- Update ChangelogDrawer component to fetch from API instead of hardcoded data
- Export apiFetch function to support public API endpoints
- Add loading/error/success states to changelog UI
- Update AGENTS.md and CHANGELOG.md to reflect new version and features
This commit is contained in:
clz
2026-04-02 18:28:04 +08:00
parent ee163e123d
commit 31932502d0
2 changed files with 8 additions and 1 deletions

View File

@@ -2,7 +2,7 @@
Guidelines for AI coding agents working on BillAI - a microservices bill analysis system. Guidelines for AI coding agents working on BillAI - a microservices bill analysis system.
**Current Version:** 1.3.1 | Go: 1.24.0 | Node: 20+ | Python: 3.12+ **Current Version:** 1.4.0 | Go: 1.24.0 | Node: 20+ | Python: 3.12+
## Architecture ## Architecture
- `web/` - SvelteKit 5 + TailwindCSS 4 + TypeScript (Frontend, port 3000) - `web/` - SvelteKit 5 + TailwindCSS 4 + TypeScript (Frontend, port 3000)

View File

@@ -19,16 +19,23 @@
- **酒店旅游分类** - 新增「酒店旅游」支出分类 - **酒店旅游分类** - 新增「酒店旅游」支出分类
- 涵盖关键词:酒店、宾馆、民宿、客栈、携程、飞猪、去哪儿、同程、旅游、旅行、景区、门票、度假等 - 涵盖关键词:酒店、宾馆、民宿、客栈、携程、飞猪、去哪儿、同程、旅游、旅行、景区、门票、度假等
- 相关关键词从「文化休闲」和「交通出行」中分离,避免分类冲突 - 相关关键词从「文化休闲」和「交通出行」中分离,避免分类冲突
- **动态版本日志系统** - 将版本更新日志从前端硬编码改为动态获取
- 后端新增 `/api/changelog` 公开接口,实时解析 CHANGELOG.md
- 前端ChangelogDrawer组件改为异步加载日志支持加载态和错误处理
- 新增 Markdown 解析器,自动提取版本、日期和分类变更内容
### 技术改进 ### 技术改进
- Go 版本升级到 1.24(支持 excelize 依赖) - Go 版本升级到 1.24(支持 excelize 依赖)
- 新增 `server/handler/export.go` 导出处理器 - 新增 `server/handler/export.go` 导出处理器
- 新增 `web/src/lib/api.ts` 中的 `exportBills()` 函数 - 新增 `web/src/lib/api.ts` 中的 `exportBills()` 函数
- 新增 `server/handler/changelog.go``server/service/changelog.go` 日志解析模块
- 导出 `apiFetch` 函数供公开 API 调用
### 修复 ### 修复
- **各页面账单分类不一致** - 账单列表页和复核页改从 `$lib/data/categories` 统一导入分类列表 - **各页面账单分类不一致** - 账单列表页和复核页改从 `$lib/data/categories` 统一导入分类列表
- 删除两处本地重复硬编码的旧版 13 项分类 - 删除两处本地重复硬编码的旧版 13 项分类
- `BillDetailDrawer``categories` prop 类型改为 `readonly string[]` - `BillDetailDrawer``categories` prop 类型改为 `readonly string[]`
- **前端版本日志显示** - 移除硬编码的 14 个版本数据,改为从 API 动态加载
## [1.3.1] - 2026-01-26 ## [1.3.1] - 2026-01-26