# changelog.md ## 待实现 (Todo) - [ ] 单元测试 - [ ] 集成测试 - [ ] 配置文件热加载 - [ ] 图表缓存机制 ## 已实现 (Done) - [x] 项目结构搭建 - [x] 核心类型定义 - [x] SVG 渲染器 - [x] PNG 渲染器 - [x] ANSI 渲染器 - [x] 纯文本渲染器 - [x] API Handler - [x] Docker 部署配置 - [x] 饼图 (pie) 支持 - [x] 散点图 (scatter) 支持 - [x] 圆环图 (donut) 支持 - [x] 气泡图 (bubble) 支持 - [x] 混合图 (mixed) 支持 - [x] 极区图 (polar) 支持 - [x] 雷达图 (radar) 支持 ## 版本记录 ### v0.3.0 (2026-04-16) - 新增图表类型:圆环图、气泡图、混合图、极区图、雷达图 - 支持 9 种图表类型 ### v0.2.0 (2026-04-16) - 新增图表类型:饼图、散点图 - 优化 ANSI 渲染器 ### v0.1.0 (2026-04-16) - 初始版本 - 支持图表类型:line, bar - 支持输出格式:text, ansi, svg, png_url, markdown ## 认知纠正 (Knowledge) ### Go 图表库选型 1. **gonum/plot** - 纯 Go,无外部依赖,适合生成静态图片(PNG/SVG) 2. **ntcharts** - 专为 Bubble Tea TUI 设计,终端内渲染,依赖较多 3. **pterm** - 终端美化库,有 BarChart 组件,但不支持 PNG/SVG **结论**:对于需要同时支持 Web(PNG/SVG)和 CLI(ANSI)的场景,gonum/plot + 自写 ANSI 渲染器是最佳组合。 ### 设计模式应用 1. **策略模式**:不同的渲染器实现统一的 Renderer 接口 2. **工厂模式**:RendererFactory 根据格式类型创建对应渲染器 ### Docker 注意事项 - 使用 `golang:alpine` 减小镜像体积 - 多阶段构建:编译 -> 运行 - 端口映射:3100:3100