hookehuyr

docs(changelog): 补充 2-27 的详细更新记录

- 替换所有"完成任务"和"无详细描述"为实际提交内容
- 新增 RichTextRenderer 富文本渲染组件
- 文章模块功能开发(详情页、收藏、网格布局)
- 收藏功能改为 API 驱动模式
- 首页热门资料改为热门文章
- API 生成器路径修复
- 计划书字段调整和重构

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Showing 1 changed file with 192 additions and 118 deletions
...@@ -34,210 +34,284 @@ ...@@ -34,210 +34,284 @@
34 **相关提交**: 34 **相关提交**:
35 - `cd09fc9` - docs(components): 更新组件文档和 CHANGELOG 35 - `cd09fc9` - docs(components): 更新组件文档和 CHANGELOG
36 36
37 +### 00:39:10 - docs(changelog): 更新根目录 CHANGELOG 记录今日任务
38 +
39 +**影响文件**:
40 +- `CHANGELOG.md` - 添加 2026-02-28 计划书表单调整记录
41 +
42 +**变更摘要**:
43 +- 添加 2026-02-28 计划书表单调整记录
44 +- 添加组件文档更新记录
45 +
46 +**相关提交**:
47 +- `247c63d` - docs(changelog): 更新根目录 CHANGELOG 记录今日任务
48 +
49 +### 00:40:50 - docs(changelog): 移除错误添加的项目功能变更记录
50 +
51 +**影响文件**:
52 +- `docs/CHANGELOG.md` - 删除错误的项目功能变更记录
53 +
54 +**变更摘要**:
55 +- docs/CHANGELOG.md 应只记录文档相关的变更,不应记录项目功能变更
56 +- 项目功能变更应记录在根目录的 CHANGELOG.md 中
57 +
58 +**相关提交**:
59 +- `ac207cf` - docs(changelog): 移除错误添加的项目功能变更记录
60 +
37 --- 61 ---
38 62
39 -## 2026-02-25 63 +## 2026-02-27
40 64
41 -### 21:00:00 - feat(plan): 新增多阶段提取方案功能 65 +### 09:56-10:00 - docs(utils): 更新工具函数库文档
42 66
43 **影响文件**: 67 **影响文件**:
44 -- `src/config/plan-templates.js` - 新增多阶段产品配置和 `savings-gs-multistage` 产品 68 +- `src/utils/README.md`
45 -- `src/components/plan/PlanTemplates/SavingsTemplate.vue` - 实现多阶段提取渲染和交互逻辑
46 -- `src/api/mock/mock/hotProducts.js` - 添加多阶段产品 mock 数据
47 69
48 **变更摘要**: 70 **变更摘要**:
49 -- 新增产品:宏挚传承保障计划(多阶段) (`savings-gs-multistage`) 71 +- 添加工具函数库文档说明
50 -- 多阶段功能:
51 - - 年龄 < 12岁:固定显示 3 个阶段
52 - - 年龄 ≥ 12岁:初始 1 个阶段,可添加至 4 个
53 - - 提取期新增"一笔过"选项
54 - - 递增百分比改为可选字段(不填传 null)
55 -- 提交数据格式:`withdrawal_stages` 数组
56 -- 样式优化:阶段卡片白色背景
57 72
58 -**相关文档**: 73 +---
59 -- `docs/tasks/2026-02-25/archive/多阶段提取方案设计.md`
60 -- `docs/tasks/2026-02-25/archive/客户新需求-2026-02-25.md`
61 74
62 -## 2026-02-24 75 +### 12:57-13:03 - fix(api): 修复 API 生成器路径配置错误
63 76
64 -### 23:59:18 - 完成任务 77 +**影响文件**:
78 +- `scripts/api-generator/generateApiFromOpenAPI.js`
79 +- `docs/api-specs/article/article_detail.md`
80 +- `docs/api-specs/article/favorite.md`
81 +- `docs/api-specs/article/list.md`
82 +- `docs/api-specs/article/week_hot.md`
83 +- `src/api/article.js`
84 +
85 +**变更摘要**:
86 +- 修复 openAPIDir 路径:../docs/api-specs → ../../docs/api-specs
87 +- 修复 outputDir 路径:../src/api → ../../src/api
88 +- 新增 article 模块 API(文章详情、收藏、列表、热门)
89 +
90 +---
91 +
92 +### 13:03-22:49 - feat(rich-text): 新增 RichTextRenderer 富文本渲染组件
65 93
66 **影响文件**: 94 **影响文件**:
67 -- `.husky/README.md` 95 +- `package.json` - 新增 mp-html 和 @tarojs/extend 依赖
68 -- `.husky/post-commit` 96 +- `src/components/RichTextRenderer.vue` - 新增富文本渲染组件
69 -- `docs/CHANGELOG.md` 97 +- `src/pages/rich-text-test/` - 新增测试页面
70 -- `scripts/changelog/README.md` 98 +- `src/pages/rich-text-test/README.md` - 测试页面说明文档
71 -- `scripts/changelog/update-changelog.sh`
72 99
73 **变更摘要**: 100 **变更摘要**:
74 -- 无详细描述 101 +- HTML 实体自动解码(&nbsp;, &amp;, &lt;, &gt;, &quot;, &apos;
75 -## 2026-02-25 102 +- <a> 标签自动替换为 <div data-href="">
103 +- 图片长按预览功能
104 +- PDF 文件链接点击处理
105 +- transformElement 图片自动处理(默认启用)
106 +- 支持图片 mode="widthFix" 和 style="width: 100%"
107 +
108 +---
76 109
77 -### 20:09:02 - 完成任务 110 +### 22:48-22:49 - test(rich-text): 完善 v-html 测试页面功能
78 111
79 **影响文件**: 112 **影响文件**:
80 -- `src/components/plan/PlanTemplates/CriticalIllnessTemplate.vue` 113 +- `src/pages/rich-text-test/index.vue`
81 -- `src/components/plan/PlanTemplates/LifeInsuranceTemplate.vue`
82 -- `src/components/plan/PlanTemplates/SavingsTemplate.vue`
83 -- `src/config/plan-templates.js`
84 114
85 **变更摘要**: 115 **变更摘要**:
86 -- 无详细描述 116 +- 添加 HTML 实体解析(&nbsp;, &amp;, &lt;, &gt;, &quot;
117 +- 实现 a 标签替换为 div + data-href 属性
118 +- 添加 PDF 文件链接点击处理(useFileOperation)
119 +- 新增 transformElement 图片处理测试开关
87 120
88 -### 20:11:21 - 完成任务 121 +---
122 +
123 +### fix(rich-text): 修复图片自动处理并应用到文章详情页
89 124
90 **影响文件**: 125 **影响文件**:
91 -- `src/components/plan/PlanTemplates/CriticalIllnessTemplate.vue` 126 +- `src/components/RichTextRenderer.vue` - 修复 transformElement 初始化顺序
92 -- `src/components/plan/PlanTemplates/LifeInsuranceTemplate.vue` 127 +- `src/pages/article-detail/index.vue` - 使用 RichTextRenderer 组件替换 <rich-text>
93 -- `src/components/plan/PlanTemplates/SavingsTemplate.vue`
94 -- `src/config/plan-templates.js`
95 128
96 **变更摘要**: 129 **变更摘要**:
97 -- 无详细描述 130 +- 修复 transformElement 初始化顺序问题(在 watch 之前设置)
131 +- 增强图片样式:添加 width:100%!important
132 +- 删除文章图片列表模块(由组件处理)
133 +- 删除富文本处理逻辑(formatRichText、extractImageUrls 等)
134 +- 代码精简:199 行 → 147 行(减少约 26%)
98 135
99 -### 20:12:04 - 完成任务 136 +---
137 +
138 +### fix(rich-text): 移除全局CSS导入避免影响其他组件样式
100 139
101 **影响文件**: 140 **影响文件**:
102 -- `src/components/plan/PlanTemplates/CriticalIllnessTemplate.vue` 141 +- `src/components/RichTextRenderer.vue`
103 -- `src/components/plan/PlanTemplates/LifeInsuranceTemplate.vue`
104 -- `src/components/plan/PlanTemplates/SavingsTemplate.vue`
105 -- `src/config/plan-templates.js`
106 142
107 **变更摘要**: 143 **变更摘要**:
108 -- 无详细描述 144 +- 移除 @tarojs/taro/html.css 全局样式导入
145 +- 在组件 style 中添加完整的富文本样式(使用 ID 选择器避免污染)
146 +- 解决 NavHeader 标题不居中的问题
147 +
148 +---
109 149
110 -### 20:14:14 - 完成任务 150 +### feat(article): 文章模块功能开发
111 151
112 **影响文件**: 152 **影响文件**:
113 -- `src/components/plan/PlanTemplates/CriticalIllnessTemplate.vue` 153 +- `src/components/cards/ArticleCard.vue` - 新增 ArticleCard 组件
114 -- `src/components/plan/PlanTemplates/LifeInsuranceTemplate.vue` 154 +- `src/pages/article-detail/index.vue` - 新增文章详情页
115 -- `src/components/plan/PlanTemplates/SavingsTemplate.vue` 155 +- `src/pages/article-favorites/index.vue` - 新增文章收藏页
116 -- `src/config/plan-templates.js` 156 +- `src/pages/category-list/index.vue` - 优化分类列表页
117 157
118 **变更摘要**: 158 **变更摘要**:
119 -- 无详细描述 159 +- ArticleCard 支持可配置封面图显示 (showCover prop)
120 -## 2026-02-27 160 +- 分类列表页支持混合渲染模式:
161 + * max_depth > 1: 显示二级分类卡片 (SectionCard)
162 + * max_depth === 1: 直接显示文章列表 (ArticleCard)
163 +- 过滤空状态项 (max_depth === 1 且 list 为空)
164 +
165 +---
121 166
122 -### 09:56:15 - 完成任务 167 +### feat(article): 文章详情页添加图片预览功能
123 168
124 **影响文件**: 169 **影响文件**:
125 -- `src/utils/README.md` 170 +- `src/pages/article-detail/index.vue`
126 171
127 **变更摘要**: 172 **变更摘要**:
128 -- 无详细描述 173 +- 使用 Taro 原生 rich-text 组件渲染富文本
174 +- 富文本内容自动格式化,处理图片宽度适配移动端
175 +- 提取文章中的图片 URL,支持 Taro.previewImage 预览
176 +- 新增收藏功能,支持文章收藏/取消收藏
129 177
130 -### 10:00:56 - 完成任务 178 +---
179 +
180 +### feat(article): 文章图片列表改为网格布局
131 181
132 **影响文件**: 182 **影响文件**:
133 -- `src/utils/README.md` 183 +- `src/pages/article-detail/index.vue`
134 184
135 **变更摘要**: 185 **变更摘要**:
136 -- 无详细描述 186 +- 移除横向滚动视图
187 +- 使用 flex-wrap 实现网格布局
188 +- 每行显示3张图片,自动换行
137 189
138 -### 12:57:01 - 完成任务 190 +---
191 +
192 +### feat(index): 首页热门资料改为热门文章
139 193
140 **影响文件**: 194 **影响文件**:
141 -- `docs/api-specs/article/article_detail.md` 195 +- `src/pages/index/index.vue`
142 -- `docs/api-specs/article/favorite.md`
143 -- `docs/api-specs/article/list.md`
144 -- `docs/api-specs/article/week_hot.md`
145 -- `scripts/api-generator/generateApiFromOpenAPI.js`
146 -- `src/api/article.js`
147 196
148 **变更摘要**: 197 **变更摘要**:
149 -- 无详细描述 198 +- 将"本周热门资料"改为"本周热门文章"
199 +- 使用 ArticleCard 替换 MaterialCard
200 +- 更新 API 调用从 file/weekHotAPI 到 article/weekHotAPI
150 201
151 -### 12:58:11 - 完成任务 202 +---
203 +
204 +### refactor(collect): 收藏功能改为 API 驱动模式
152 205
153 **影响文件**: 206 **影响文件**:
154 -- `docs/api-specs/article/article_detail.md` 207 +- `src/composables/useCollectOperation.js`
155 -- `docs/api-specs/article/favorite.md` 208 +- `src/components/cards/ArticleCard.vue`
156 -- `docs/api-specs/article/list.md` 209 +- `src/components/cards/MaterialCard.vue`
157 -- `docs/api-specs/article/week_hot.md` 210 +- `src/components/list/ListItemActions/index.vue`
158 -- `scripts/api-generator/generateApiFromOpenAPI.js`
159 -- `src/api/article.js`
160 211
161 **变更摘要**: 212 **变更摘要**:
162 -- 无详细描述 213 +- 移除乐观更新逻辑,改为 API 成功后更新 UI
214 +- useCollectOperation 返回 { success, newStatus } 对象
215 +- ArticleCard/MaterialCard 使用 async/await 等待 API 响应
216 +- ListItemActions 添加 @tap.stop 防止事件冒泡
163 217
164 -### 13:00:59 - 完成任务 218 +---
219 +
220 +### style(plan): 弹窗标题显示产品名称而非模板名称
165 221
166 **影响文件**: 222 **影响文件**:
167 -- `docs/api-specs/article/article_detail.md` 223 +- `src/components/plan/PlanFormContainer.vue`
168 -- `docs/api-specs/article/favorite.md`
169 -- `docs/api-specs/article/list.md`
170 -- `docs/api-specs/article/week_hot.md`
171 -- `scripts/api-generator/generateApiFromOpenAPI.js`
172 -- `src/api/article.js`
173 224
174 **变更摘要**: 225 **变更摘要**:
175 -- 无详细描述 226 +- 弹窗标题改为显示产品名称
176 227
177 -### 13:01:30 - 完成任务 228 +---
229 +
230 +### style(plan): 调整每年提取金额字段位置至提取期下方
178 231
179 **影响文件**: 232 **影响文件**:
180 -- `docs/api-specs/article/article_detail.md` 233 +- `src/components/plan/PlanTemplates/SavingsTemplate.vue`
181 -- `docs/api-specs/article/favorite.md`
182 -- `docs/api-specs/article/list.md`
183 -- `docs/api-specs/article/week_hot.md`
184 -- `scripts/api-generator/generateApiFromOpenAPI.js`
185 -- `src/api/article.js`
186 234
187 **变更摘要**: 235 **变更摘要**:
188 -- 无详细描述 236 +- 统一单阶段和多阶段模式的字段录入顺序
237 +
238 +---
189 239
190 -### 13:02:31 - 完成任务 240 +### refactor(plan): 重构多阶段提取方案 UI 渲染逻辑
191 241
192 **影响文件**: 242 **影响文件**:
193 -- `docs/api-specs/article/article_detail.md` 243 +- `src/components/plan/PlanTemplates/SavingsTemplate.vue`
194 -- `docs/api-specs/article/favorite.md`
195 -- `docs/api-specs/article/list.md`
196 -- `docs/api-specs/article/week_hot.md`
197 -- `scripts/api-generator/generateApiFromOpenAPI.js`
198 -- `src/api/article.js`
199 244
200 **变更摘要**: 245 **变更摘要**:
201 -- 无详细描述 246 +- 重构多阶段提取方案 UI 渲染逻辑
247 +
248 +---
202 249
203 -### 13:03:07 - 完成任务 250 +### docs: 更新变更日志
204 251
205 **影响文件**: 252 **影响文件**:
206 -- `docs/api-specs/article/article_detail.md` 253 +- `CHANGELOG.md`
207 -- `docs/api-specs/article/favorite.md`
208 -- `docs/api-specs/article/list.md`
209 -- `docs/api-specs/article/week_hot.md`
210 -- `scripts/api-generator/generateApiFromOpenAPI.js`
211 -- `src/api/article.js`
212 254
213 **变更摘要**: 255 **变更摘要**:
214 -- 无详细描述 256 +- 更新项目变更日志
257 +
258 +---
215 259
216 -### 13:03:33 - 完成任务 260 +### docs(changelog): 更新 CHANGELOG
217 261
218 **影响文件**: 262 **影响文件**:
219 -- `docs/api-specs/article/article_detail.md` 263 +- `docs/CHANGELOG.md`
220 -- `docs/api-specs/article/favorite.md`
221 -- `docs/api-specs/article/list.md`
222 -- `docs/api-specs/article/week_hot.md`
223 -- `scripts/api-generator/generateApiFromOpenAPI.js`
224 -- `src/api/article.js`
225 264
226 **变更摘要**: 265 **变更摘要**:
227 -- 无详细描述 266 +- 更新文档变更日志
228 267
229 -### 22:48:20 - 完成任务 268 +---
269 +
270 +### chore: 更新组件类型定义
230 271
231 **影响文件**: 272 **影响文件**:
232 -- `src/pages/rich-text-test/index.vue` 273 +- `components.d.ts`
233 274
234 **变更摘要**: 275 **变更摘要**:
235 -- 无详细描述 276 +- 更新组件类型定义
236 277
237 -### 22:49:31 - 完成任务 278 +---
279 +
280 +## 2026-02-25
281 +
282 +### 21:00:00 - feat(plan): 新增多阶段提取方案功能
238 283
239 **影响文件**: 284 **影响文件**:
240 -- `src/pages/rich-text-test/index.vue` 285 +- `src/config/plan-templates.js` - 新增多阶段产品配置和 `savings-gs-multistage` 产品
286 +- `src/components/plan/PlanTemplates/SavingsTemplate.vue` - 实现多阶段提取渲染和交互逻辑
287 +- `src/api/mock/mock/hotProducts.js` - 添加多阶段产品 mock 数据
288 +
289 +**变更摘要**:
290 +- 新增产品:宏挚传承保障计划(多阶段) (`savings-gs-multistage`)
291 +- 多阶段功能:
292 + - 年龄 < 12岁:固定显示 3 个阶段
293 + - 年龄 ≥ 12岁:初始 1 个阶段,可添加至 4 个
294 + - 提取期新增"一笔过"选项
295 + - 递增百分比改为可选字段(不填传 null)
296 +- 提交数据格式:`withdrawal_stages` 数组
297 +- 样式优化:阶段卡片白色背景
298 +
299 +**相关文档**:
300 +- `docs/tasks/2026-02-25/archive/多阶段提取方案设计.md`
301 +- `docs/tasks/2026-02-25/archive/客户新需求-2026-02-25.md`
302 +
303 +---
304 +
305 +## 2026-02-24
306 +
307 +### 23:59:18 - 完成任务
308 +
309 +**影响文件**:
310 +- `.husky/README.md`
311 +- `.husky/post-commit`
312 +- `docs/CHANGELOG.md`
313 +- `scripts/changelog/README.md`
314 +- `scripts/changelog/update-changelog.sh`
241 315
242 **变更摘要**: 316 **变更摘要**:
243 -- 无详细描述 317 +- CHANGELOG 自动更新功能配置
......