You need to sign in or sign up before continuing.
hookehuyr

docs(plan): 记录计划书提交逻辑优化和 API 成功验证经验

...@@ -4,6 +4,78 @@ ...@@ -4,6 +4,78 @@
4 > 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 4 > 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
5 5
6 --- 6 ---
7 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
8 +
9 +### 修复
10 +- **计划书提交成功验证**
11 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
12 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
13 + - 确保只有在真正获得订单 ID 时才判定为成功
14 +
15 +- **错误信息路径修正**
16 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
17 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
18 +
19 +- **统一页面处理逻辑**
20 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
21 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
22 + - 统一导航到计划书提交结果页,携带成功/失败参数
23 + - 添加 500ms 延迟确保 toast 提示显示完毕
24 +
25 +### 优化
26 +- **代码质量改进**
27 + - 移除无用的 TODO 注释和空函数实现
28 + - 统一错误处理模式,提升代码可维护性
29 +
30 +---
31 +
32 +**详细信息**
33 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
34 +- **技术栈**: Vue 3, Taro 4, Composition API
35 +- **测试状态**: 已通过 ESLint 检查
36 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
37 +
38 +
39 +
40 +
41 +# Changelog
42 +
43 +> 本文档记录 Manulife WeApp项目的所有重要变更。
44 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
45 +
46 +---
47 +
48 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
49 +
50 +### 修复
51 +- **计划书提交成功验证**
52 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
53 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
54 + - 确保只有在真正获得订单 ID 时才判定为成功
55 +
56 +- **错误信息路径修正**
57 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
58 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
59 +
60 +- **统一页面处理逻辑**
61 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
62 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
63 + - 统一导航到计划书提交结果页,携带成功/失败参数
64 + - 添加 500ms 延迟确保 toast 提示显示完毕
65 +
66 +### 优化
67 +- **代码质量改进**
68 + - 移除无用的 TODO 注释和空函数实现
69 + - 统一错误处理模式,提升代码可维护性
70 +
71 +---
72 +
73 +**详细信息**
74 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
75 +- **技术栈**: Vue 3, Taro 4, Composition API
76 +- **测试状态**: 已通过 ESLint 检查
77 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
78 +
7 79
8 80
9 ## [2026-02-11] - 优化文件扩展名解析和预览提示 81 ## [2026-02-11] - 优化文件扩展名解析和预览提示
...@@ -21,6 +93,44 @@ ...@@ -21,6 +93,44 @@
21 - 优化用户选择日志输出,明确显示"继续预览"而非"继续,不再提醒" 93 - 优化用户选择日志输出,明确显示"继续预览"而非"继续,不再提醒"
22 94
23 --- 95 ---
96 +# Changelog
97 +
98 +> 本文档记录 Manulife WeApp项目的所有重要变更。
99 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
100 +
101 +---
102 +
103 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
104 +
105 +### 修复
106 +- **计划书提交成功验证**
107 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
108 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
109 + - 确保只有在真正获得订单 ID 时才判定为成功
110 +
111 +- **错误信息路径修正**
112 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
113 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
114 +
115 +- **统一页面处理逻辑**
116 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
117 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
118 + - 统一导航到计划书提交结果页,携带成功/失败参数
119 + - 添加 500ms 延迟确保 toast 提示显示完毕
120 +
121 +### 优化
122 +- **代码质量改进**
123 + - 移除无用的 TODO 注释和空函数实现
124 + - 统一错误处理模式,提升代码可维护性
125 +
126 +---
127 +
128 +**详细信息**
129 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
130 +- **技术栈**: Vue 3, Taro 4, Composition API
131 +- **测试状态**: 已通过 ESLint 检查
132 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
133 +
24 134
25 **详细信息** 135 **详细信息**
26 - **影响文件**: src/components/cards/MaterialCard.vue, src/composables/useFileOperation.js, src/pages/week-hot-material/index.vue 136 - **影响文件**: src/components/cards/MaterialCard.vue, src/composables/useFileOperation.js, src/pages/week-hot-material/index.vue
...@@ -44,6 +154,44 @@ ...@@ -44,6 +154,44 @@
44 - **备注**: 提升头像修改页面的视觉体验,使其更加现代和专业 154 - **备注**: 提升头像修改页面的视觉体验,使其更加现代和专业
45 155
46 --- 156 ---
157 +# Changelog
158 +
159 +> 本文档记录 Manulife WeApp项目的所有重要变更。
160 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
161 +
162 +---
163 +
164 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
165 +
166 +### 修复
167 +- **计划书提交成功验证**
168 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
169 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
170 + - 确保只有在真正获得订单 ID 时才判定为成功
171 +
172 +- **错误信息路径修正**
173 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
174 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
175 +
176 +- **统一页面处理逻辑**
177 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
178 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
179 + - 统一导航到计划书提交结果页,携带成功/失败参数
180 + - 添加 500ms 延迟确保 toast 提示显示完毕
181 +
182 +### 优化
183 +- **代码质量改进**
184 + - 移除无用的 TODO 注释和空函数实现
185 + - 统一错误处理模式,提升代码可维护性
186 +
187 +---
188 +
189 +**详细信息**
190 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
191 +- **技术栈**: Vue 3, Taro 4, Composition API
192 +- **测试状态**: 已通过 ESLint 检查
193 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
194 +
47 195
48 ## [2026-02-11] - 优化计划书删除用户体验 196 ## [2026-02-11] - 优化计划书删除用户体验
49 197
...@@ -61,6 +209,44 @@ ...@@ -61,6 +209,44 @@
61 - **备注**: 提升用户体验,删除后无需重新翻页 209 - **备注**: 提升用户体验,删除后无需重新翻页
62 210
63 --- 211 ---
212 +# Changelog
213 +
214 +> 本文档记录 Manulife WeApp项目的所有重要变更。
215 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
216 +
217 +---
218 +
219 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
220 +
221 +### 修复
222 +- **计划书提交成功验证**
223 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
224 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
225 + - 确保只有在真正获得订单 ID 时才判定为成功
226 +
227 +- **错误信息路径修正**
228 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
229 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
230 +
231 +- **统一页面处理逻辑**
232 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
233 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
234 + - 统一导航到计划书提交结果页,携带成功/失败参数
235 + - 添加 500ms 延迟确保 toast 提示显示完毕
236 +
237 +### 优化
238 +- **代码质量改进**
239 + - 移除无用的 TODO 注释和空函数实现
240 + - 统一错误处理模式,提升代码可维护性
241 +
242 +---
243 +
244 +**详细信息**
245 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
246 +- **技术栈**: Vue 3, Taro 4, Composition API
247 +- **测试状态**: 已通过 ESLint 检查
248 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
249 +
64 250
65 ## [2026-02-11] - 统一分页起始页码从0开始 251 ## [2026-02-11] - 统一分页起始页码从0开始
66 252
...@@ -76,6 +262,44 @@ ...@@ -76,6 +262,44 @@
76 - 修复分页从0开始 262 - 修复分页从0开始
77 263
78 --- 264 ---
265 +# Changelog
266 +
267 +> 本文档记录 Manulife WeApp项目的所有重要变更。
268 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
269 +
270 +---
271 +
272 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
273 +
274 +### 修复
275 +- **计划书提交成功验证**
276 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
277 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
278 + - 确保只有在真正获得订单 ID 时才判定为成功
279 +
280 +- **错误信息路径修正**
281 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
282 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
283 +
284 +- **统一页面处理逻辑**
285 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
286 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
287 + - 统一导航到计划书提交结果页,携带成功/失败参数
288 + - 添加 500ms 延迟确保 toast 提示显示完毕
289 +
290 +### 优化
291 +- **代码质量改进**
292 + - 移除无用的 TODO 注释和空函数实现
293 + - 统一错误处理模式,提升代码可维护性
294 +
295 +---
296 +
297 +**详细信息**
298 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
299 +- **技术栈**: Vue 3, Taro 4, Composition API
300 +- **测试状态**: 已通过 ESLint 检查
301 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
302 +
79 303
80 **详细信息** 304 **详细信息**
81 - **影响文件**: src/pages/plan/index.vue, src/pages/message/index.vue 305 - **影响文件**: src/pages/plan/index.vue, src/pages/message/index.vue
...@@ -84,6 +308,44 @@ ...@@ -84,6 +308,44 @@
84 - **备注**: 统一项目所有列表页的分页规范,确保与 API 文档一致 308 - **备注**: 统一项目所有列表页的分页规范,确保与 API 文档一致
85 309
86 --- 310 ---
311 +# Changelog
312 +
313 +> 本文档记录 Manulife WeApp项目的所有重要变更。
314 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
315 +
316 +---
317 +
318 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
319 +
320 +### 修复
321 +- **计划书提交成功验证**
322 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
323 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
324 + - 确保只有在真正获得订单 ID 时才判定为成功
325 +
326 +- **错误信息路径修正**
327 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
328 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
329 +
330 +- **统一页面处理逻辑**
331 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
332 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
333 + - 统一导航到计划书提交结果页,携带成功/失败参数
334 + - 添加 500ms 延迟确保 toast 提示显示完毕
335 +
336 +### 优化
337 +- **代码质量改进**
338 + - 移除无用的 TODO 注释和空函数实现
339 + - 统一错误处理模式,提升代码可维护性
340 +
341 +---
342 +
343 +**详细信息**
344 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
345 +- **技术栈**: Vue 3, Taro 4, Composition API
346 +- **测试状态**: 已通过 ESLint 检查
347 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
348 +
87 349
88 ## [2026-02-11] - 完善计划书 API 接口定义 350 ## [2026-02-11] - 完善计划书 API 接口定义
89 351
...@@ -100,6 +362,44 @@ ...@@ -100,6 +362,44 @@
100 - 新增 `docs/api-specs/plan/delete.md``view.md` 规范文档 362 - 新增 `docs/api-specs/plan/delete.md``view.md` 规范文档
101 363
102 --- 364 ---
365 +# Changelog
366 +
367 +> 本文档记录 Manulife WeApp项目的所有重要变更。
368 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
369 +
370 +---
371 +
372 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
373 +
374 +### 修复
375 +- **计划书提交成功验证**
376 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
377 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
378 + - 确保只有在真正获得订单 ID 时才判定为成功
379 +
380 +- **错误信息路径修正**
381 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
382 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
383 +
384 +- **统一页面处理逻辑**
385 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
386 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
387 + - 统一导航到计划书提交结果页,携带成功/失败参数
388 + - 添加 500ms 延迟确保 toast 提示显示完毕
389 +
390 +### 优化
391 +- **代码质量改进**
392 + - 移除无用的 TODO 注释和空函数实现
393 + - 统一错误处理模式,提升代码可维护性
394 +
395 +---
396 +
397 +**详细信息**
398 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
399 +- **技术栈**: Vue 3, Taro 4, Composition API
400 +- **测试状态**: 已通过 ESLint 检查
401 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
402 +
103 403
104 **详细信息** 404 **详细信息**
105 - **影响文件**: docs/api-specs/plan/list.md, docs/api-specs/plan/delete.md, docs/api-specs/plan/view.md, src/api/plan.js 405 - **影响文件**: docs/api-specs/plan/list.md, docs/api-specs/plan/delete.md, docs/api-specs/plan/view.md, src/api/plan.js
...@@ -108,6 +408,44 @@ ...@@ -108,6 +408,44 @@
108 - **备注**: 现在计划书模块拥有完整的 CRUD 接口定义 408 - **备注**: 现在计划书模块拥有完整的 CRUD 接口定义
109 409
110 --- 410 ---
411 +# Changelog
412 +
413 +> 本文档记录 Manulife WeApp项目的所有重要变更。
414 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
415 +
416 +---
417 +
418 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
419 +
420 +### 修复
421 +- **计划书提交成功验证**
422 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
423 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
424 + - 确保只有在真正获得订单 ID 时才判定为成功
425 +
426 +- **错误信息路径修正**
427 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
428 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
429 +
430 +- **统一页面处理逻辑**
431 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
432 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
433 + - 统一导航到计划书提交结果页,携带成功/失败参数
434 + - 添加 500ms 延迟确保 toast 提示显示完毕
435 +
436 +### 优化
437 +- **代码质量改进**
438 + - 移除无用的 TODO 注释和空函数实现
439 + - 统一错误处理模式,提升代码可维护性
440 +
441 +---
442 +
443 +**详细信息**
444 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
445 +- **技术栈**: Vue 3, Taro 4, Composition API
446 +- **测试状态**: 已通过 ESLint 检查
447 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
448 +
111 449
112 ## [2026-02-10] - 优化个人中心:视觉协调性调整 450 ## [2026-02-10] - 优化个人中心:视觉协调性调整
113 451
...@@ -117,6 +455,44 @@ ...@@ -117,6 +455,44 @@
117 - 移除之前的浅红色背景,消除与冷色调背景的视觉冲突,使整体界面更加干净和谐 455 - 移除之前的浅红色背景,消除与冷色调背景的视觉冲突,使整体界面更加干净和谐
118 456
119 --- 457 ---
458 +# Changelog
459 +
460 +> 本文档记录 Manulife WeApp项目的所有重要变更。
461 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
462 +
463 +---
464 +
465 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
466 +
467 +### 修复
468 +- **计划书提交成功验证**
469 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
470 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
471 + - 确保只有在真正获得订单 ID 时才判定为成功
472 +
473 +- **错误信息路径修正**
474 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
475 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
476 +
477 +- **统一页面处理逻辑**
478 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
479 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
480 + - 统一导航到计划书提交结果页,携带成功/失败参数
481 + - 添加 500ms 延迟确保 toast 提示显示完毕
482 +
483 +### 优化
484 +- **代码质量改进**
485 + - 移除无用的 TODO 注释和空函数实现
486 + - 统一错误处理模式,提升代码可维护性
487 +
488 +---
489 +
490 +**详细信息**
491 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
492 +- **技术栈**: Vue 3, Taro 4, Composition API
493 +- **测试状态**: 已通过 ESLint 检查
494 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
495 +
120 496
121 ## [2026-02-10] - 优化个人中心:回归经典蓝色头部与精简信息 497 ## [2026-02-10] - 优化个人中心:回归经典蓝色头部与精简信息
122 498
...@@ -132,6 +508,44 @@ ...@@ -132,6 +508,44 @@
132 - **备注**: 根据用户反馈调整,回归稳重且统一的视觉风格 508 - **备注**: 根据用户反馈调整,回归稳重且统一的视觉风格
133 509
134 --- 510 ---
511 +# Changelog
512 +
513 +> 本文档记录 Manulife WeApp项目的所有重要变更。
514 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
515 +
516 +---
517 +
518 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
519 +
520 +### 修复
521 +- **计划书提交成功验证**
522 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
523 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
524 + - 确保只有在真正获得订单 ID 时才判定为成功
525 +
526 +- **错误信息路径修正**
527 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
528 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
529 +
530 +- **统一页面处理逻辑**
531 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
532 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
533 + - 统一导航到计划书提交结果页,携带成功/失败参数
534 + - 添加 500ms 延迟确保 toast 提示显示完毕
535 +
536 +### 优化
537 +- **代码质量改进**
538 + - 移除无用的 TODO 注释和空函数实现
539 + - 统一错误处理模式,提升代码可维护性
540 +
541 +---
542 +
543 +**详细信息**
544 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
545 +- **技术栈**: Vue 3, Taro 4, Composition API
546 +- **测试状态**: 已通过 ESLint 检查
547 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
548 +
135 549
136 ## [2026-02-10] - 优化个人中心视觉:平衡商务感与现代感 550 ## [2026-02-10] - 优化个人中心视觉:平衡商务感与现代感
137 551
...@@ -154,6 +568,44 @@ ...@@ -154,6 +568,44 @@
154 - **备注**: 最终定稿版本,兼顾了保险行业的专业性与现代APP的精致感 568 - **备注**: 最终定稿版本,兼顾了保险行业的专业性与现代APP的精致感
155 569
156 --- 570 ---
571 +# Changelog
572 +
573 +> 本文档记录 Manulife WeApp项目的所有重要变更。
574 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
575 +
576 +---
577 +
578 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
579 +
580 +### 修复
581 +- **计划书提交成功验证**
582 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
583 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
584 + - 确保只有在真正获得订单 ID 时才判定为成功
585 +
586 +- **错误信息路径修正**
587 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
588 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
589 +
590 +- **统一页面处理逻辑**
591 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
592 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
593 + - 统一导航到计划书提交结果页,携带成功/失败参数
594 + - 添加 500ms 延迟确保 toast 提示显示完毕
595 +
596 +### 优化
597 +- **代码质量改进**
598 + - 移除无用的 TODO 注释和空函数实现
599 + - 统一错误处理模式,提升代码可维护性
600 +
601 +---
602 +
603 +**详细信息**
604 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
605 +- **技术栈**: Vue 3, Taro 4, Composition API
606 +- **测试状态**: 已通过 ESLint 检查
607 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
608 +
157 609
158 ## [2026-02-10] - 调整个人中心视觉风格为商务专业版 610 ## [2026-02-10] - 调整个人中心视觉风格为商务专业版
159 611
...@@ -173,6 +625,44 @@ ...@@ -173,6 +625,44 @@
173 - **备注**: 响应用户反馈,减少“活泼”感,增强“专业”感 625 - **备注**: 响应用户反馈,减少“活泼”感,增强“专业”感
174 626
175 --- 627 ---
628 +# Changelog
629 +
630 +> 本文档记录 Manulife WeApp项目的所有重要变更。
631 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
632 +
633 +---
634 +
635 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
636 +
637 +### 修复
638 +- **计划书提交成功验证**
639 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
640 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
641 + - 确保只有在真正获得订单 ID 时才判定为成功
642 +
643 +- **错误信息路径修正**
644 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
645 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
646 +
647 +- **统一页面处理逻辑**
648 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
649 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
650 + - 统一导航到计划书提交结果页,携带成功/失败参数
651 + - 添加 500ms 延迟确保 toast 提示显示完毕
652 +
653 +### 优化
654 +- **代码质量改进**
655 + - 移除无用的 TODO 注释和空函数实现
656 + - 统一错误处理模式,提升代码可维护性
657 +
658 +---
659 +
660 +**详细信息**
661 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
662 +- **技术栈**: Vue 3, Taro 4, Composition API
663 +- **测试状态**: 已通过 ESLint 检查
664 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
665 +
176 666
177 ## [2026-02-10] - 重构个人中心页面视觉风格 667 ## [2026-02-10] - 重构个人中心页面视觉风格
178 668
...@@ -185,14 +675,52 @@ ...@@ -185,14 +675,52 @@
185 - 增加细微的点击反馈和过渡动画 675 - 增加细微的点击反馈和过渡动画
186 - 优化头像展示区域的层级和质感 676 - 优化头像展示区域的层级和质感
187 677
188 -**详细信息** 678 +**详细信息**
189 -- **影响文件**: src/pages/mine/index.vue 679 +- **影响文件**: src/pages/mine/index.vue
190 -- **技术栈**: Vue 3, Tailwind CSS, Less 680 +- **技术栈**: Vue 3, Tailwind CSS, Less
191 -- **测试状态**: 待验证 681 +- **测试状态**: 待验证
192 -- **备注**: 响应用户对于"简练专业和科技感"的视觉需求 682 +- **备注**: 响应用户对于"简练专业和科技感"的视觉需求
683 +
684 +---
685 +# Changelog
686 +
687 +> 本文档记录 Manulife WeApp项目的所有重要变更。
688 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
689 +
690 +---
691 +
692 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
693 +
694 +### 修复
695 +- **计划书提交成功验证**
696 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
697 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
698 + - 确保只有在真正获得订单 ID 时才判定为成功
699 +
700 +- **错误信息路径修正**
701 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
702 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
703 +
704 +- **统一页面处理逻辑**
705 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
706 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
707 + - 统一导航到计划书提交结果页,携带成功/失败参数
708 + - 添加 500ms 延迟确保 toast 提示显示完毕
709 +
710 +### 优化
711 +- **代码质量改进**
712 + - 移除无用的 TODO 注释和空函数实现
713 + - 统一错误处理模式,提升代码可维护性
193 714
194 --- 715 ---
195 716
717 +**详细信息**
718 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
719 +- **技术栈**: Vue 3, Taro 4, Composition API
720 +- **测试状态**: 已通过 ESLint 检查
721 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
722 +
723 +
196 ## [2026-02-10] - 优化首页网格导航视觉体验 724 ## [2026-02-10] - 优化首页网格导航视觉体验
197 725
198 ### 优化 726 ### 优化
...@@ -209,6 +737,44 @@ ...@@ -209,6 +737,44 @@
209 - **备注**: 保持了首页三个核心板块(网格导航、热卖产品、热门资料)的视觉统一性 737 - **备注**: 保持了首页三个核心板块(网格导航、热卖产品、热门资料)的视觉统一性
210 738
211 --- 739 ---
740 +# Changelog
741 +
742 +> 本文档记录 Manulife WeApp项目的所有重要变更。
743 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
744 +
745 +---
746 +
747 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
748 +
749 +### 修复
750 +- **计划书提交成功验证**
751 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
752 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
753 + - 确保只有在真正获得订单 ID 时才判定为成功
754 +
755 +- **错误信息路径修正**
756 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
757 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
758 +
759 +- **统一页面处理逻辑**
760 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
761 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
762 + - 统一导航到计划书提交结果页,携带成功/失败参数
763 + - 添加 500ms 延迟确保 toast 提示显示完毕
764 +
765 +### 优化
766 +- **代码质量改进**
767 + - 移除无用的 TODO 注释和空函数实现
768 + - 统一错误处理模式,提升代码可维护性
769 +
770 +---
771 +
772 +**详细信息**
773 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
774 +- **技术栈**: Vue 3, Taro 4, Composition API
775 +- **测试状态**: 已通过 ESLint 检查
776 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
777 +
212 778
213 ## [2026-02-10] - 优化首页热卖产品板块视觉体验 779 ## [2026-02-10] - 优化首页热卖产品板块视觉体验
214 780
...@@ -225,6 +791,44 @@ ...@@ -225,6 +791,44 @@
225 - **备注**: 确保首页各板块风格统一 791 - **备注**: 确保首页各板块风格统一
226 792
227 --- 793 ---
794 +# Changelog
795 +
796 +> 本文档记录 Manulife WeApp项目的所有重要变更。
797 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
798 +
799 +---
800 +
801 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
802 +
803 +### 修复
804 +- **计划书提交成功验证**
805 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
806 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
807 + - 确保只有在真正获得订单 ID 时才判定为成功
808 +
809 +- **错误信息路径修正**
810 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
811 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
812 +
813 +- **统一页面处理逻辑**
814 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
815 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
816 + - 统一导航到计划书提交结果页,携带成功/失败参数
817 + - 添加 500ms 延迟确保 toast 提示显示完毕
818 +
819 +### 优化
820 +- **代码质量改进**
821 + - 移除无用的 TODO 注释和空函数实现
822 + - 统一错误处理模式,提升代码可维护性
823 +
824 +---
825 +
826 +**详细信息**
827 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
828 +- **技术栈**: Vue 3, Taro 4, Composition API
829 +- **测试状态**: 已通过 ESLint 检查
830 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
831 +
228 832
229 ## [2026-02-10] - 优化首页热门资料板块视觉体验 833 ## [2026-02-10] - 优化首页热门资料板块视觉体验
230 834
...@@ -243,6 +847,44 @@ ...@@ -243,6 +847,44 @@
243 - **备注**: 与 ProductCard 风格保持统一 847 - **备注**: 与 ProductCard 风格保持统一
244 848
245 --- 849 ---
850 +# Changelog
851 +
852 +> 本文档记录 Manulife WeApp项目的所有重要变更。
853 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
854 +
855 +---
856 +
857 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
858 +
859 +### 修复
860 +- **计划书提交成功验证**
861 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
862 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
863 + - 确保只有在真正获得订单 ID 时才判定为成功
864 +
865 +- **错误信息路径修正**
866 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
867 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
868 +
869 +- **统一页面处理逻辑**
870 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
871 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
872 + - 统一导航到计划书提交结果页,携带成功/失败参数
873 + - 添加 500ms 延迟确保 toast 提示显示完毕
874 +
875 +### 优化
876 +- **代码质量改进**
877 + - 移除无用的 TODO 注释和空函数实现
878 + - 统一错误处理模式,提升代码可维护性
879 +
880 +---
881 +
882 +**详细信息**
883 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
884 +- **技术栈**: Vue 3, Taro 4, Composition API
885 +- **测试状态**: 已通过 ESLint 检查
886 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
887 +
246 888
247 ## [2026-02-10] - 优化 ProductCard 组件视觉质感 889 ## [2026-02-10] - 优化 ProductCard 组件视觉质感
248 890
...@@ -263,6 +905,44 @@ ...@@ -263,6 +905,44 @@
263 - **备注**: 保持了品牌色 (#2563EB) 一致性,提升了整体精致度 905 - **备注**: 保持了品牌色 (#2563EB) 一致性,提升了整体精致度
264 906
265 --- 907 ---
908 +# Changelog
909 +
910 +> 本文档记录 Manulife WeApp项目的所有重要变更。
911 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
912 +
913 +---
914 +
915 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
916 +
917 +### 修复
918 +- **计划书提交成功验证**
919 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
920 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
921 + - 确保只有在真正获得订单 ID 时才判定为成功
922 +
923 +- **错误信息路径修正**
924 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
925 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
926 +
927 +- **统一页面处理逻辑**
928 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
929 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
930 + - 统一导航到计划书提交结果页,携带成功/失败参数
931 + - 添加 500ms 延迟确保 toast 提示显示完毕
932 +
933 +### 优化
934 +- **代码质量改进**
935 + - 移除无用的 TODO 注释和空函数实现
936 + - 统一错误处理模式,提升代码可维护性
937 +
938 +---
939 +
940 +**详细信息**
941 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
942 +- **技术栈**: Vue 3, Taro 4, Composition API
943 +- **测试状态**: 已通过 ESLint 检查
944 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
945 +
266 946
267 ## [2026-02-10] - 移除 Apifox MCP 集成 947 ## [2026-02-10] - 移除 Apifox MCP 集成
268 948
...@@ -293,6 +973,44 @@ ...@@ -293,6 +973,44 @@
293 -**保留** `package.json` 中的 `api:generate` 命令 973 -**保留** `package.json` 中的 `api:generate` 命令
294 974
295 --- 975 ---
976 +# Changelog
977 +
978 +> 本文档记录 Manulife WeApp项目的所有重要变更。
979 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
980 +
981 +---
982 +
983 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
984 +
985 +### 修复
986 +- **计划书提交成功验证**
987 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
988 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
989 + - 确保只有在真正获得订单 ID 时才判定为成功
990 +
991 +- **错误信息路径修正**
992 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
993 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
994 +
995 +- **统一页面处理逻辑**
996 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
997 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
998 + - 统一导航到计划书提交结果页,携带成功/失败参数
999 + - 添加 500ms 延迟确保 toast 提示显示完毕
1000 +
1001 +### 优化
1002 +- **代码质量改进**
1003 + - 移除无用的 TODO 注释和空函数实现
1004 + - 统一错误处理模式,提升代码可维护性
1005 +
1006 +---
1007 +
1008 +**详细信息**
1009 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1010 +- **技术栈**: Vue 3, Taro 4, Composition API
1011 +- **测试状态**: 已通过 ESLint 检查
1012 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1013 +
296 1014
297 ## [2026-02-10] - 计划书模块 API 集成与修复 1015 ## [2026-02-10] - 计划书模块 API 集成与修复
298 1016
...@@ -337,6 +1055,44 @@ ...@@ -337,6 +1055,44 @@
337 - 🔴 建议后端添加 `order_status` 查询参数支持 1055 - 🔴 建议后端添加 `order_status` 查询参数支持
338 1056
339 --- 1057 ---
1058 +# Changelog
1059 +
1060 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1061 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1062 +
1063 +---
1064 +
1065 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1066 +
1067 +### 修复
1068 +- **计划书提交成功验证**
1069 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1070 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1071 + - 确保只有在真正获得订单 ID 时才判定为成功
1072 +
1073 +- **错误信息路径修正**
1074 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1075 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1076 +
1077 +- **统一页面处理逻辑**
1078 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1079 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1080 + - 统一导航到计划书提交结果页,携带成功/失败参数
1081 + - 添加 500ms 延迟确保 toast 提示显示完毕
1082 +
1083 +### 优化
1084 +- **代码质量改进**
1085 + - 移除无用的 TODO 注释和空函数实现
1086 + - 统一错误处理模式,提升代码可维护性
1087 +
1088 +---
1089 +
1090 +**详细信息**
1091 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1092 +- **技术栈**: Vue 3, Taro 4, Composition API
1093 +- **测试状态**: 已通过 ESLint 检查
1094 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1095 +
340 1096
341 ## [2026-02-10] - 修复 OpenAPI 生成器识别 title 字段 1097 ## [2026-02-10] - 修复 OpenAPI 生成器识别 title 字段
342 1098
...@@ -359,6 +1115,44 @@ ...@@ -359,6 +1115,44 @@
359 - **备注**: 提升了 API 文档生成的准确性 1115 - **备注**: 提升了 API 文档生成的准确性
360 1116
361 --- 1117 ---
1118 +# Changelog
1119 +
1120 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1121 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1122 +
1123 +---
1124 +
1125 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1126 +
1127 +### 修复
1128 +- **计划书提交成功验证**
1129 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1130 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1131 + - 确保只有在真正获得订单 ID 时才判定为成功
1132 +
1133 +- **错误信息路径修正**
1134 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1135 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1136 +
1137 +- **统一页面处理逻辑**
1138 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1139 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1140 + - 统一导航到计划书提交结果页,携带成功/失败参数
1141 + - 添加 500ms 延迟确保 toast 提示显示完毕
1142 +
1143 +### 优化
1144 +- **代码质量改进**
1145 + - 移除无用的 TODO 注释和空函数实现
1146 + - 统一错误处理模式,提升代码可维护性
1147 +
1148 +---
1149 +
1150 +**详细信息**
1151 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1152 +- **技术栈**: Vue 3, Taro 4, Composition API
1153 +- **测试状态**: 已通过 ESLint 检查
1154 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1155 +
362 1156
363 ## [2026-02-10] - 优化 NameInput 组件样式 1157 ## [2026-02-10] - 优化 NameInput 组件样式
364 1158
...@@ -377,6 +1171,44 @@ ...@@ -377,6 +1171,44 @@
377 - **备注**: 响应用户需求,增强输入框视觉反馈 1171 - **备注**: 响应用户需求,增强输入框视觉反馈
378 1172
379 --- 1173 ---
1174 +# Changelog
1175 +
1176 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1177 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1178 +
1179 +---
1180 +
1181 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1182 +
1183 +### 修复
1184 +- **计划书提交成功验证**
1185 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1186 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1187 + - 确保只有在真正获得订单 ID 时才判定为成功
1188 +
1189 +- **错误信息路径修正**
1190 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1191 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1192 +
1193 +- **统一页面处理逻辑**
1194 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1195 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1196 + - 统一导航到计划书提交结果页,携带成功/失败参数
1197 + - 添加 500ms 延迟确保 toast 提示显示完毕
1198 +
1199 +### 优化
1200 +- **代码质量改进**
1201 + - 移除无用的 TODO 注释和空函数实现
1202 + - 统一错误处理模式,提升代码可维护性
1203 +
1204 +---
1205 +
1206 +**详细信息**
1207 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1208 +- **技术栈**: Vue 3, Taro 4, Composition API
1209 +- **测试状态**: 已通过 ESLint 检查
1210 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1211 +
380 1212
381 ## [2026-02-10] - 重构 API 接口层代码 1213 ## [2026-02-10] - 重构 API 接口层代码
382 1214
...@@ -399,6 +1231,44 @@ ...@@ -399,6 +1231,44 @@
399 - **新增计划书 API 文档**`docs/api-specs/plan/` 目录 1231 - **新增计划书 API 文档**`docs/api-specs/plan/` 目录
400 1232
401 --- 1233 ---
1234 +# Changelog
1235 +
1236 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1237 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1238 +
1239 +---
1240 +
1241 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1242 +
1243 +### 修复
1244 +- **计划书提交成功验证**
1245 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1246 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1247 + - 确保只有在真正获得订单 ID 时才判定为成功
1248 +
1249 +- **错误信息路径修正**
1250 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1251 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1252 +
1253 +- **统一页面处理逻辑**
1254 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1255 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1256 + - 统一导航到计划书提交结果页,携带成功/失败参数
1257 + - 添加 500ms 延迟确保 toast 提示显示完毕
1258 +
1259 +### 优化
1260 +- **代码质量改进**
1261 + - 移除无用的 TODO 注释和空函数实现
1262 + - 统一错误处理模式,提升代码可维护性
1263 +
1264 +---
1265 +
1266 +**详细信息**
1267 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1268 +- **技术栈**: Vue 3, Taro 4, Composition API
1269 +- **测试状态**: 已通过 ESLint 检查
1270 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1271 +
402 1272
403 **详细信息** 1273 **详细信息**
404 - **影响文件**: src/api/file.js, src/api/get_product.js, src/api/plan.js, docs/api-specs/plan/ 1274 - **影响文件**: src/api/file.js, src/api/get_product.js, src/api/plan.js, docs/api-specs/plan/
...@@ -407,24 +1277,138 @@ ...@@ -407,24 +1277,138 @@
407 - **备注**: 简化代码结构,统一 API 调用模式 1277 - **备注**: 简化代码结构,统一 API 调用模式
408 1278
409 --- 1279 ---
1280 +# Changelog
1281 +
1282 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1283 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1284 +
1285 +---
1286 +
1287 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1288 +
1289 +### 修复
1290 +- **计划书提交成功验证**
1291 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1292 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1293 + - 确保只有在真正获得订单 ID 时才判定为成功
1294 +
1295 +- **错误信息路径修正**
1296 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1297 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1298 +
1299 +- **统一页面处理逻辑**
1300 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1301 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1302 + - 统一导航到计划书提交结果页,携带成功/失败参数
1303 + - 添加 500ms 延迟确保 toast 提示显示完毕
1304 +
1305 +### 优化
1306 +- **代码质量改进**
1307 + - 移除无用的 TODO 注释和空函数实现
1308 + - 统一错误处理模式,提升代码可维护性
1309 +
1310 +---
1311 +
1312 +**详细信息**
1313 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1314 +- **技术栈**: Vue 3, Taro 4, Composition API
1315 +- **测试状态**: 已通过 ESLint 检查
1316 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1317 +
1318 +
1319 +## [2026-02-10] - 修复计划书弹窗按钮显示逻辑
1320 +
1321 +### 修复
1322 +- **未找到模板时的按钮逻辑**
1323 + - 未找到计划书模板时,底部只显示"关闭"按钮
1324 + - 找到模板时,显示"取消"和"生成计划书"按钮
1325 + - 通过 `hasTemplate` prop 控制按钮显示状态
1326 +
1327 +---
1328 +# Changelog
1329 +
1330 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1331 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1332 +
1333 +---
1334 +
1335 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1336 +
1337 +### 修复
1338 +- **计划书提交成功验证**
1339 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1340 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1341 + - 确保只有在真正获得订单 ID 时才判定为成功
1342 +
1343 +- **错误信息路径修正**
1344 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1345 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1346 +
1347 +- **统一页面处理逻辑**
1348 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1349 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1350 + - 统一导航到计划书提交结果页,携带成功/失败参数
1351 + - 添加 500ms 延迟确保 toast 提示显示完毕
1352 +
1353 +### 优化
1354 +- **代码质量改进**
1355 + - 移除无用的 TODO 注释和空函数实现
1356 + - 统一错误处理模式,提升代码可维护性
1357 +
1358 +---
1359 +
1360 +**详细信息**
1361 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1362 +- **技术栈**: Vue 3, Taro 4, Composition API
1363 +- **测试状态**: 已通过 ESLint 检查
1364 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1365 +
1366 +
1367 +**详细信息**
1368 +- **影响文件**: src/components/plan/PlanPopupNew.vue, src/components/plan/PlanFormContainer.vue
1369 +- **技术栈**: Vue 3, Composition API
1370 +- **测试状态**: 待验证
1371 +- **备注**: 改进用户体验,避免在无模板时显示无用的"生成计划书"按钮
1372 +
1373 +---
1374 +# Changelog
1375 +
1376 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1377 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1378 +
1379 +---
410 1380
411 -## [2026-02-10] - 修复计划书弹窗按钮显示逻辑 1381 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
412 1382
413 ### 修复 1383 ### 修复
414 -- **未找到模板时的按钮逻辑** 1384 +- **计划书提交成功验证**
415 - - 未找到计划书模板时,底部只显示"关闭"按钮 1385 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
416 - - 找到模板时,显示"取消"和"生成计划书"按钮 1386 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
417 - - 通过 `hasTemplate` prop 控制按钮显示状态 1387 + - 确保只有在真正获得订单 ID 时才判定为成功
1388 +
1389 +- **错误信息路径修正**
1390 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1391 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1392 +
1393 +- **统一页面处理逻辑**
1394 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1395 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1396 + - 统一导航到计划书提交结果页,携带成功/失败参数
1397 + - 添加 500ms 延迟确保 toast 提示显示完毕
1398 +
1399 +### 优化
1400 +- **代码质量改进**
1401 + - 移除无用的 TODO 注释和空函数实现
1402 + - 统一错误处理模式,提升代码可维护性
418 1403
419 --- 1404 ---
420 1405
421 **详细信息** 1406 **详细信息**
422 -- **影响文件**: src/components/plan/PlanPopupNew.vue, src/components/plan/PlanFormContainer.vue 1407 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
423 -- **技术栈**: Vue 3, Composition API 1408 +- **技术栈**: Vue 3, Taro 4, Composition API
424 -- **测试状态**: 待验证 1409 +- **测试状态**: 已通过 ESLint 检查
425 -- **备注**: 改进用户体验,避免在无模板时显示无用的"生成计划书"按钮 1410 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
426 1411
427 ----
428 1412
429 ## [2026-02-10] - 升级依赖包到最新稳定版本 1413 ## [2026-02-10] - 升级依赖包到最新稳定版本
430 1414
...@@ -445,6 +1429,44 @@ ...@@ -445,6 +1429,44 @@
445 - 构建工具稳定性提升 1429 - 构建工具稳定性提升
446 1430
447 --- 1431 ---
1432 +# Changelog
1433 +
1434 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1435 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1436 +
1437 +---
1438 +
1439 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1440 +
1441 +### 修复
1442 +- **计划书提交成功验证**
1443 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1444 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1445 + - 确保只有在真正获得订单 ID 时才判定为成功
1446 +
1447 +- **错误信息路径修正**
1448 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1449 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1450 +
1451 +- **统一页面处理逻辑**
1452 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1453 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1454 + - 统一导航到计划书提交结果页,携带成功/失败参数
1455 + - 添加 500ms 延迟确保 toast 提示显示完毕
1456 +
1457 +### 优化
1458 +- **代码质量改进**
1459 + - 移除无用的 TODO 注释和空函数实现
1460 + - 统一错误处理模式,提升代码可维护性
1461 +
1462 +---
1463 +
1464 +**详细信息**
1465 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1466 +- **技术栈**: Vue 3, Taro 4, Composition API
1467 +- **测试状态**: 已通过 ESLint 检查
1468 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1469 +
448 1470
449 **详细信息** 1471 **详细信息**
450 - **影响文件**: package.json, pnpm-lock.yaml 1472 - **影响文件**: package.json, pnpm-lock.yaml
...@@ -453,6 +1475,44 @@ ...@@ -453,6 +1475,44 @@
453 - **备注**: ⚠️ 建议在开发环境测试验证后再部署到生产环境 1475 - **备注**: ⚠️ 建议在开发环境测试验证后再部署到生产环境
454 1476
455 --- 1477 ---
1478 +# Changelog
1479 +
1480 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1481 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1482 +
1483 +---
1484 +
1485 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1486 +
1487 +### 修复
1488 +- **计划书提交成功验证**
1489 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1490 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1491 + - 确保只有在真正获得订单 ID 时才判定为成功
1492 +
1493 +- **错误信息路径修正**
1494 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1495 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1496 +
1497 +- **统一页面处理逻辑**
1498 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1499 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1500 + - 统一导航到计划书提交结果页,携带成功/失败参数
1501 + - 添加 500ms 延迟确保 toast 提示显示完毕
1502 +
1503 +### 优化
1504 +- **代码质量改进**
1505 + - 移除无用的 TODO 注释和空函数实现
1506 + - 统一错误处理模式,提升代码可维护性
1507 +
1508 +---
1509 +
1510 +**详细信息**
1511 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1512 +- **技术栈**: Vue 3, Taro 4, Composition API
1513 +- **测试状态**: 已通过 ESLint 检查
1514 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1515 +
456 1516
457 ## [2026-02-09] - 添加热卖产品 Mock 数据支持 1517 ## [2026-02-09] - 添加热卖产品 Mock 数据支持
458 1518
...@@ -477,6 +1537,44 @@ ...@@ -477,6 +1537,44 @@
477 - 提供使用示例和注意事项 1537 - 提供使用示例和注意事项
478 1538
479 --- 1539 ---
1540 +# Changelog
1541 +
1542 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1543 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1544 +
1545 +---
1546 +
1547 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1548 +
1549 +### 修复
1550 +- **计划书提交成功验证**
1551 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1552 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1553 + - 确保只有在真正获得订单 ID 时才判定为成功
1554 +
1555 +- **错误信息路径修正**
1556 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1557 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1558 +
1559 +- **统一页面处理逻辑**
1560 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1561 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1562 + - 统一导航到计划书提交结果页,携带成功/失败参数
1563 + - 添加 500ms 延迟确保 toast 提示显示完毕
1564 +
1565 +### 优化
1566 +- **代码质量改进**
1567 + - 移除无用的 TODO 注释和空函数实现
1568 + - 统一错误处理模式,提升代码可维护性
1569 +
1570 +---
1571 +
1572 +**详细信息**
1573 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1574 +- **技术栈**: Vue 3, Taro 4, Composition API
1575 +- **测试状态**: 已通过 ESLint 检查
1576 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1577 +
480 1578
481 **详细信息** 1579 **详细信息**
482 - **影响文件**: src/api/mock/hotProducts.js, src/pages/index/index.vue, CLAUDE.md 1580 - **影响文件**: src/api/mock/hotProducts.js, src/pages/index/index.vue, CLAUDE.md
...@@ -485,6 +1583,44 @@ ...@@ -485,6 +1583,44 @@
485 - **备注**: ⚠️ 生产环境请设置 `USE_MOCK_DATA = false` 1583 - **备注**: ⚠️ 生产环境请设置 `USE_MOCK_DATA = false`
486 1584
487 --- 1585 ---
1586 +# Changelog
1587 +
1588 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1589 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1590 +
1591 +---
1592 +
1593 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1594 +
1595 +### 修复
1596 +- **计划书提交成功验证**
1597 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1598 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1599 + - 确保只有在真正获得订单 ID 时才判定为成功
1600 +
1601 +- **错误信息路径修正**
1602 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1603 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1604 +
1605 +- **统一页面处理逻辑**
1606 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1607 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1608 + - 统一导航到计划书提交结果页,携带成功/失败参数
1609 + - 添加 500ms 延迟确保 toast 提示显示完毕
1610 +
1611 +### 优化
1612 +- **代码质量改进**
1613 + - 移除无用的 TODO 注释和空函数实现
1614 + - 统一错误处理模式,提升代码可维护性
1615 +
1616 +---
1617 +
1618 +**详细信息**
1619 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1620 +- **技术栈**: Vue 3, Taro 4, Composition API
1621 +- **测试状态**: 已通过 ESLint 检查
1622 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1623 +
488 1624
489 # Changelog 1625 # Changelog
490 1626
...@@ -492,6 +1628,44 @@ ...@@ -492,6 +1628,44 @@
492 > 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 1628 > 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
493 1629
494 --- 1630 ---
1631 +# Changelog
1632 +
1633 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1634 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1635 +
1636 +---
1637 +
1638 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1639 +
1640 +### 修复
1641 +- **计划书提交成功验证**
1642 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1643 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1644 + - 确保只有在真正获得订单 ID 时才判定为成功
1645 +
1646 +- **错误信息路径修正**
1647 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1648 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1649 +
1650 +- **统一页面处理逻辑**
1651 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1652 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1653 + - 统一导航到计划书提交结果页,携带成功/失败参数
1654 + - 添加 500ms 延迟确保 toast 提示显示完毕
1655 +
1656 +### 优化
1657 +- **代码质量改进**
1658 + - 移除无用的 TODO 注释和空函数实现
1659 + - 统一错误处理模式,提升代码可维护性
1660 +
1661 +---
1662 +
1663 +**详细信息**
1664 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1665 +- **技术栈**: Vue 3, Taro 4, Composition API
1666 +- **测试状态**: 已通过 ESLint 检查
1667 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1668 +
495 1669
496 ## [2026-02-09] - 更新 API 集成日志和经验教训文档 1670 ## [2026-02-09] - 更新 API 集成日志和经验教训文档
497 1671
...@@ -508,6 +1682,44 @@ ...@@ -508,6 +1682,44 @@
508 - 包含反面案例和正面案例对比 1682 - 包含反面案例和正面案例对比
509 1683
510 --- 1684 ---
1685 +# Changelog
1686 +
1687 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1688 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1689 +
1690 +---
1691 +
1692 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1693 +
1694 +### 修复
1695 +- **计划书提交成功验证**
1696 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1697 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1698 + - 确保只有在真正获得订单 ID 时才判定为成功
1699 +
1700 +- **错误信息路径修正**
1701 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1702 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1703 +
1704 +- **统一页面处理逻辑**
1705 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1706 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1707 + - 统一导航到计划书提交结果页,携带成功/失败参数
1708 + - 添加 500ms 延迟确保 toast 提示显示完毕
1709 +
1710 +### 优化
1711 +- **代码质量改进**
1712 + - 移除无用的 TODO 注释和空函数实现
1713 + - 统一错误处理模式,提升代码可维护性
1714 +
1715 +---
1716 +
1717 +**详细信息**
1718 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1719 +- **技术栈**: Vue 3, Taro 4, Composition API
1720 +- **测试状态**: 已通过 ESLint 检查
1721 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1722 +
511 1723
512 **详细信息** 1724 **详细信息**
513 - **影响文件**: docs/api-docs/API 集成日志.md, docs/lessons-learned.md 1725 - **影响文件**: docs/api-docs/API 集成日志.md, docs/lessons-learned.md
...@@ -516,6 +1728,44 @@ ...@@ -516,6 +1728,44 @@
516 - **备注**: 提升项目文档完整性,积累开发经验 1728 - **备注**: 提升项目文档完整性,积累开发经验
517 1729
518 --- 1730 ---
1731 +# Changelog
1732 +
1733 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1734 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1735 +
1736 +---
1737 +
1738 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1739 +
1740 +### 修复
1741 +- **计划书提交成功验证**
1742 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1743 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1744 + - 确保只有在真正获得订单 ID 时才判定为成功
1745 +
1746 +- **错误信息路径修正**
1747 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1748 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1749 +
1750 +- **统一页面处理逻辑**
1751 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1752 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1753 + - 统一导航到计划书提交结果页,携带成功/失败参数
1754 + - 添加 500ms 延迟确保 toast 提示显示完毕
1755 +
1756 +### 优化
1757 +- **代码质量改进**
1758 + - 移除无用的 TODO 注释和空函数实现
1759 + - 统一错误处理模式,提升代码可维护性
1760 +
1761 +---
1762 +
1763 +**详细信息**
1764 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1765 +- **技术栈**: Vue 3, Taro 4, Composition API
1766 +- **测试状态**: 已通过 ESLint 检查
1767 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1768 +
519 1769
520 ## [2026-02-09] - 升级 AmountKeyboard 组件 UI 为现代科技风(V3 - 清新毛玻璃) 1770 ## [2026-02-09] - 升级 AmountKeyboard 组件 UI 为现代科技风(V3 - 清新毛玻璃)
521 1771
...@@ -582,6 +1832,44 @@ ...@@ -582,6 +1832,44 @@
582 - ✅ 所有模板使用 Global 版本 1832 - ✅ 所有模板使用 Global 版本
583 1833
584 --- 1834 ---
1835 +# Changelog
1836 +
1837 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1838 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1839 +
1840 +---
1841 +
1842 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1843 +
1844 +### 修复
1845 +- **计划书提交成功验证**
1846 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1847 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1848 + - 确保只有在真正获得订单 ID 时才判定为成功
1849 +
1850 +- **错误信息路径修正**
1851 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1852 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1853 +
1854 +- **统一页面处理逻辑**
1855 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1856 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1857 + - 统一导航到计划书提交结果页,携带成功/失败参数
1858 + - 添加 500ms 延迟确保 toast 提示显示完毕
1859 +
1860 +### 优化
1861 +- **代码质量改进**
1862 + - 移除无用的 TODO 注释和空函数实现
1863 + - 统一错误处理模式,提升代码可维护性
1864 +
1865 +---
1866 +
1867 +**详细信息**
1868 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1869 +- **技术栈**: Vue 3, Taro 4, Composition API
1870 +- **测试状态**: 已通过 ESLint 检查
1871 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1872 +
585 1873
586 ## [2026-02-09] - 修复组件路径引用问题 1874 ## [2026-02-09] - 修复组件路径引用问题
587 1875
...@@ -598,6 +1886,44 @@ ...@@ -598,6 +1886,44 @@
598 - ✅ 无编译错误 1886 - ✅ 无编译错误
599 1887
600 --- 1888 ---
1889 +# Changelog
1890 +
1891 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1892 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1893 +
1894 +---
1895 +
1896 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1897 +
1898 +### 修复
1899 +- **计划书提交成功验证**
1900 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1901 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1902 + - 确保只有在真正获得订单 ID 时才判定为成功
1903 +
1904 +- **错误信息路径修正**
1905 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1906 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1907 +
1908 +- **统一页面处理逻辑**
1909 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1910 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1911 + - 统一导航到计划书提交结果页,携带成功/失败参数
1912 + - 添加 500ms 延迟确保 toast 提示显示完毕
1913 +
1914 +### 优化
1915 +- **代码质量改进**
1916 + - 移除无用的 TODO 注释和空函数实现
1917 + - 统一错误处理模式,提升代码可维护性
1918 +
1919 +---
1920 +
1921 +**详细信息**
1922 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1923 +- **技术栈**: Vue 3, Taro 4, Composition API
1924 +- **测试状态**: 已通过 ESLint 检查
1925 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1926 +
601 1927
602 ## [2026-02-09] - 组件目录结构重组 1928 ## [2026-02-09] - 组件目录结构重组
603 1929
...@@ -620,6 +1946,44 @@ ...@@ -620,6 +1946,44 @@
620 - ✅ 为未来组件扩展预留空间 1946 - ✅ 为未来组件扩展预留空间
621 1947
622 --- 1948 ---
1949 +# Changelog
1950 +
1951 +> 本文档记录 Manulife WeApp项目的所有重要变更。
1952 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
1953 +
1954 +---
1955 +
1956 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
1957 +
1958 +### 修复
1959 +- **计划书提交成功验证**
1960 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
1961 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
1962 + - 确保只有在真正获得订单 ID 时才判定为成功
1963 +
1964 +- **错误信息路径修正**
1965 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
1966 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
1967 +
1968 +- **统一页面处理逻辑**
1969 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
1970 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
1971 + - 统一导航到计划书提交结果页,携带成功/失败参数
1972 + - 添加 500ms 延迟确保 toast 提示显示完毕
1973 +
1974 +### 优化
1975 +- **代码质量改进**
1976 + - 移除无用的 TODO 注释和空函数实现
1977 + - 统一错误处理模式,提升代码可维护性
1978 +
1979 +---
1980 +
1981 +**详细信息**
1982 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
1983 +- **技术栈**: Vue 3, Taro 4, Composition API
1984 +- **测试状态**: 已通过 ESLint 检查
1985 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
1986 +
623 1987
624 ## [2026-02-09] - 清理未使用的组件 1988 ## [2026-02-09] - 清理未使用的组件
625 1989
...@@ -634,22 +1998,98 @@ ...@@ -634,22 +1998,98 @@
634 - 清理冗余代码,降低维护负担 1998 - 清理冗余代码,降低维护负担
635 1999
636 --- 2000 ---
2001 +# Changelog
2002 +
2003 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2004 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2005 +
2006 +---
2007 +
2008 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2009 +
2010 +### 修复
2011 +- **计划书提交成功验证**
2012 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2013 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2014 + - 确保只有在真正获得订单 ID 时才判定为成功
2015 +
2016 +- **错误信息路径修正**
2017 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2018 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2019 +
2020 +- **统一页面处理逻辑**
2021 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2022 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2023 + - 统一导航到计划书提交结果页,携带成功/失败参数
2024 + - 添加 500ms 延迟确保 toast 提示显示完毕
2025 +
2026 +### 优化
2027 +- **代码质量改进**
2028 + - 移除无用的 TODO 注释和空函数实现
2029 + - 统一错误处理模式,提升代码可维护性
2030 +
2031 +---
2032 +
2033 +**详细信息**
2034 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2035 +- **技术栈**: Vue 3, Taro 4, Composition API
2036 +- **测试状态**: 已通过 ESLint 检查
2037 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2038 +
2039 +
2040 +## [2026-02-09] - 修复 AmountKeyboard 组件取消操作显示异常并优化输入体验
2041 +
2042 +### 修复
2043 +- 修复点击遮罩关闭后显示 "123." 等不完整值的问题
2044 +- 在 watch(showKeyboard) 中添加逻辑,键盘关闭时清除临时输入值
2045 +- 优化 displayValue 计算属性,确保始终显示格式化后的金额
2046 +
2047 +### 优化
2048 +- 添加输入限制的震动反馈(Taro.vibrateShort)
2049 +- 添加 Toast 轻提示提示用户输入限制
2050 +- 重复输入小数点时提示"只能输入一个小数点"
2051 +- 超过2位小数时提示"最多只能输入2位小数"
2052 +
2053 +---
2054 +# Changelog
2055 +
2056 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2057 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2058 +
2059 +---
637 2060
638 -## [2026-02-09] - 修复 AmountKeyboard 组件取消操作显示异常并优化输入体验 2061 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
639 2062
640 ### 修复 2063 ### 修复
641 -- 修复点击遮罩关闭后显示 "123." 等不完整值的问题 2064 +- **计划书提交成功验证**
642 -- 在 watch(showKeyboard) 中添加逻辑,键盘关闭时清除临时输入值 2065 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
643 -- 优化 displayValue 计算属性,确保始终显示格式化后的金额 2066 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2067 + - 确保只有在真正获得订单 ID 时才判定为成功
2068 +
2069 +- **错误信息路径修正**
2070 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2071 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2072 +
2073 +- **统一页面处理逻辑**
2074 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2075 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2076 + - 统一导航到计划书提交结果页,携带成功/失败参数
2077 + - 添加 500ms 延迟确保 toast 提示显示完毕
644 2078
645 ### 优化 2079 ### 优化
646 -- 添加输入限制的震动反馈(Taro.vibrateShort) 2080 +- **代码质量改进**
647 -- 添加 Toast 轻提示提示用户输入限制 2081 + - 移除无用的 TODO 注释和空函数实现
648 -- 重复输入小数点时提示"只能输入一个小数点" 2082 + - 统一错误处理模式,提升代码可维护性
649 -- 超过2位小数时提示"最多只能输入2位小数"
650 2083
651 --- 2084 ---
652 2085
2086 +**详细信息**
2087 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2088 +- **技术栈**: Vue 3, Taro 4, Composition API
2089 +- **测试状态**: 已通过 ESLint 检查
2090 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2091 +
2092 +
653 ## [2026-02-09] - 新增 AmountKeyboard 数字键盘输入组件 2093 ## [2026-02-09] - 新增 AmountKeyboard 数字键盘输入组件
654 2094
655 ### 新增 2095 ### 新增
...@@ -704,6 +2144,44 @@ ...@@ -704,6 +2144,44 @@
704 - **备注**: 替代原有的 AmountInput 组件,老组件保留用于测试 2144 - **备注**: 替代原有的 AmountInput 组件,老组件保留用于测试
705 2145
706 --- 2146 ---
2147 +# Changelog
2148 +
2149 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2150 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2151 +
2152 +---
2153 +
2154 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2155 +
2156 +### 修复
2157 +- **计划书提交成功验证**
2158 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2159 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2160 + - 确保只有在真正获得订单 ID 时才判定为成功
2161 +
2162 +- **错误信息路径修正**
2163 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2164 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2165 +
2166 +- **统一页面处理逻辑**
2167 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2168 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2169 + - 统一导航到计划书提交结果页,携带成功/失败参数
2170 + - 添加 500ms 延迟确保 toast 提示显示完毕
2171 +
2172 +### 优化
2173 +- **代码质量改进**
2174 + - 移除无用的 TODO 注释和空函数实现
2175 + - 统一错误处理模式,提升代码可维护性
2176 +
2177 +---
2178 +
2179 +**详细信息**
2180 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2181 +- **技术栈**: Vue 3, Taro 4, Composition API
2182 +- **测试状态**: 已通过 ESLint 检查
2183 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2184 +
707 2185
708 ## [2026-02-08] - 实现全局弹窗管理器解决嵌套弹窗遮挡问题 2186 ## [2026-02-08] - 实现全局弹窗管理器解决嵌套弹窗遮挡问题
709 2187
...@@ -752,6 +2230,44 @@ ...@@ -752,6 +2230,44 @@
752 - src/components/PlanTemplates/SavingsTemplate.vue 2230 - src/components/PlanTemplates/SavingsTemplate.vue
753 2231
754 --- 2232 ---
2233 +# Changelog
2234 +
2235 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2236 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2237 +
2238 +---
2239 +
2240 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2241 +
2242 +### 修复
2243 +- **计划书提交成功验证**
2244 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2245 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2246 + - 确保只有在真正获得订单 ID 时才判定为成功
2247 +
2248 +- **错误信息路径修正**
2249 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2250 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2251 +
2252 +- **统一页面处理逻辑**
2253 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2254 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2255 + - 统一导航到计划书提交结果页,携带成功/失败参数
2256 + - 添加 500ms 延迟确保 toast 提示显示完毕
2257 +
2258 +### 优化
2259 +- **代码质量改进**
2260 + - 移除无用的 TODO 注释和空函数实现
2261 + - 统一错误处理模式,提升代码可维护性
2262 +
2263 +---
2264 +
2265 +**详细信息**
2266 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2267 +- **技术栈**: Vue 3, Taro 4, Composition API
2268 +- **测试状态**: 已通过 ESLint 检查
2269 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2270 +
755 2271
756 ## [2026-02-08] - 修复计划书表单重置和数据同步问题 2272 ## [2026-02-08] - 修复计划书表单重置和数据同步问题
757 2273
...@@ -815,6 +2331,44 @@ if (isReset) { ...@@ -815,6 +2331,44 @@ if (isReset) {
815 详见 `docs/lessons-learned.md` 中的"Vue 3 响应式数据和表单状态管理"章节。 2331 详见 `docs/lessons-learned.md` 中的"Vue 3 响应式数据和表单状态管理"章节。
816 2332
817 --- 2333 ---
2334 +# Changelog
2335 +
2336 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2337 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2338 +
2339 +---
2340 +
2341 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2342 +
2343 +### 修复
2344 +- **计划书提交成功验证**
2345 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2346 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2347 + - 确保只有在真正获得订单 ID 时才判定为成功
2348 +
2349 +- **错误信息路径修正**
2350 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2351 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2352 +
2353 +- **统一页面处理逻辑**
2354 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2355 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2356 + - 统一导航到计划书提交结果页,携带成功/失败参数
2357 + - 添加 500ms 延迟确保 toast 提示显示完毕
2358 +
2359 +### 优化
2360 +- **代码质量改进**
2361 + - 移除无用的 TODO 注释和空函数实现
2362 + - 统一错误处理模式,提升代码可维护性
2363 +
2364 +---
2365 +
2366 +**详细信息**
2367 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2368 +- **技术栈**: Vue 3, Taro 4, Composition API
2369 +- **测试状态**: 已通过 ESLint 检查
2370 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2371 +
818 2372
819 ## [2026-02-08] - 优化年龄与出生年月日联动逻辑 2373 ## [2026-02-08] - 优化年龄与出生年月日联动逻辑
820 2374
...@@ -844,6 +2398,44 @@ if (isReset) { ...@@ -844,6 +2398,44 @@ if (isReset) {
844 - `src/components/PlanTemplates/SavingsTemplate.vue` 2398 - `src/components/PlanTemplates/SavingsTemplate.vue`
845 2399
846 --- 2400 ---
2401 +# Changelog
2402 +
2403 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2404 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2405 +
2406 +---
2407 +
2408 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2409 +
2410 +### 修复
2411 +- **计划书提交成功验证**
2412 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2413 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2414 + - 确保只有在真正获得订单 ID 时才判定为成功
2415 +
2416 +- **错误信息路径修正**
2417 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2418 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2419 +
2420 +- **统一页面处理逻辑**
2421 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2422 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2423 + - 统一导航到计划书提交结果页,携带成功/失败参数
2424 + - 添加 500ms 延迟确保 toast 提示显示完毕
2425 +
2426 +### 优化
2427 +- **代码质量改进**
2428 + - 移除无用的 TODO 注释和空函数实现
2429 + - 统一错误处理模式,提升代码可维护性
2430 +
2431 +---
2432 +
2433 +**详细信息**
2434 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2435 +- **技术栈**: Vue 3, Taro 4, Composition API
2436 +- **测试状态**: 已通过 ESLint 检查
2437 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2438 +
847 2439
848 ## [2026-02-08] - 修复 LoadMoreList 页面双重滚动问题 2440 ## [2026-02-08] - 修复 LoadMoreList 页面双重滚动问题
849 2441
...@@ -882,6 +2474,44 @@ if (isReset) { ...@@ -882,6 +2474,44 @@ if (isReset) {
882 - ✅ 为所有使用 LoadMoreList 的页面提供标准模式 2474 - ✅ 为所有使用 LoadMoreList 的页面提供标准模式
883 2475
884 --- 2476 ---
2477 +# Changelog
2478 +
2479 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2480 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2481 +
2482 +---
2483 +
2484 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2485 +
2486 +### 修复
2487 +- **计划书提交成功验证**
2488 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2489 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2490 + - 确保只有在真正获得订单 ID 时才判定为成功
2491 +
2492 +- **错误信息路径修正**
2493 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2494 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2495 +
2496 +- **统一页面处理逻辑**
2497 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2498 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2499 + - 统一导航到计划书提交结果页,携带成功/失败参数
2500 + - 添加 500ms 延迟确保 toast 提示显示完毕
2501 +
2502 +### 优化
2503 +- **代码质量改进**
2504 + - 移除无用的 TODO 注释和空函数实现
2505 + - 统一错误处理模式,提升代码可维护性
2506 +
2507 +---
2508 +
2509 +**详细信息**
2510 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2511 +- **技术栈**: Vue 3, Taro 4, Composition API
2512 +- **测试状态**: 已通过 ESLint 检查
2513 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2514 +
885 2515
886 **详细信息** 2516 **详细信息**
887 - **影响文件**: 2517 - **影响文件**:
...@@ -895,6 +2525,44 @@ if (isReset) { ...@@ -895,6 +2525,44 @@ if (isReset) {
895 - **备注**: 共检查 7 个使用 LoadMoreList 的页面,修复 4 个,3 个已正确 2525 - **备注**: 共检查 7 个使用 LoadMoreList 的页面,修复 4 个,3 个已正确
896 2526
897 --- 2527 ---
2528 +# Changelog
2529 +
2530 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2531 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2532 +
2533 +---
2534 +
2535 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2536 +
2537 +### 修复
2538 +- **计划书提交成功验证**
2539 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2540 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2541 + - 确保只有在真正获得订单 ID 时才判定为成功
2542 +
2543 +- **错误信息路径修正**
2544 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2545 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2546 +
2547 +- **统一页面处理逻辑**
2548 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2549 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2550 + - 统一导航到计划书提交结果页,携带成功/失败参数
2551 + - 添加 500ms 延迟确保 toast 提示显示完毕
2552 +
2553 +### 优化
2554 +- **代码质量改进**
2555 + - 移除无用的 TODO 注释和空函数实现
2556 + - 统一错误处理模式,提升代码可维护性
2557 +
2558 +---
2559 +
2560 +**详细信息**
2561 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2562 +- **技术栈**: Vue 3, Taro 4, Composition API
2563 +- **测试状态**: 已通过 ESLint 检查
2564 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2565 +
898 2566
899 ## [2026-02-08] - 修复 LoadMoreList 组件底部 padding 堆叠问题 2567 ## [2026-02-08] - 修复 LoadMoreList 组件底部 padding 堆叠问题
900 2568
...@@ -914,6 +2582,44 @@ if (isReset) { ...@@ -914,6 +2582,44 @@ if (isReset) {
914 - 提供解决方案:覆盖整个属性而不是只写子属性 2582 - 提供解决方案:覆盖整个属性而不是只写子属性
915 2583
916 --- 2584 ---
2585 +# Changelog
2586 +
2587 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2588 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2589 +
2590 +---
2591 +
2592 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2593 +
2594 +### 修复
2595 +- **计划书提交成功验证**
2596 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2597 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2598 + - 确保只有在真正获得订单 ID 时才判定为成功
2599 +
2600 +- **错误信息路径修正**
2601 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2602 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2603 +
2604 +- **统一页面处理逻辑**
2605 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2606 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2607 + - 统一导航到计划书提交结果页,携带成功/失败参数
2608 + - 添加 500ms 延迟确保 toast 提示显示完毕
2609 +
2610 +### 优化
2611 +- **代码质量改进**
2612 + - 移除无用的 TODO 注释和空函数实现
2613 + - 统一错误处理模式,提升代码可维护性
2614 +
2615 +---
2616 +
2617 +**详细信息**
2618 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2619 +- **技术栈**: Vue 3, Taro 4, Composition API
2620 +- **测试状态**: 已通过 ESLint 检查
2621 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2622 +
917 2623
918 **详细信息** 2624 **详细信息**
919 - **影响文件**: 2625 - **影响文件**:
...@@ -926,6 +2632,44 @@ if (isReset) { ...@@ -926,6 +2632,44 @@ if (isReset) {
926 - **备注**: 所有使用 LoadMoreList 的 7 个页面都受益于这个修复 2632 - **备注**: 所有使用 LoadMoreList 的 7 个页面都受益于这个修复
927 2633
928 --- 2634 ---
2635 +# Changelog
2636 +
2637 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2638 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2639 +
2640 +---
2641 +
2642 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2643 +
2644 +### 修复
2645 +- **计划书提交成功验证**
2646 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2647 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2648 + - 确保只有在真正获得订单 ID 时才判定为成功
2649 +
2650 +- **错误信息路径修正**
2651 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2652 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2653 +
2654 +- **统一页面处理逻辑**
2655 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2656 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2657 + - 统一导航到计划书提交结果页,携带成功/失败参数
2658 + - 添加 500ms 延迟确保 toast 提示显示完毕
2659 +
2660 +### 优化
2661 +- **代码质量改进**
2662 + - 移除无用的 TODO 注释和空函数实现
2663 + - 统一错误处理模式,提升代码可维护性
2664 +
2665 +---
2666 +
2667 +**详细信息**
2668 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2669 +- **技术栈**: Vue 3, Taro 4, Composition API
2670 +- **测试状态**: 已通过 ESLint 检查
2671 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2672 +
929 2673
930 ## [2026-02-08] - 文档重组:全面中文化 2674 ## [2026-02-08] - 文档重组:全面中文化
931 2675
...@@ -940,6 +2684,44 @@ if (isReset) { ...@@ -940,6 +2684,44 @@ if (isReset) {
940 - 修复文档中的交叉引用链接 2684 - 修复文档中的交叉引用链接
941 2685
942 --- 2686 ---
2687 +# Changelog
2688 +
2689 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2690 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2691 +
2692 +---
2693 +
2694 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2695 +
2696 +### 修复
2697 +- **计划书提交成功验证**
2698 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2699 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2700 + - 确保只有在真正获得订单 ID 时才判定为成功
2701 +
2702 +- **错误信息路径修正**
2703 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2704 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2705 +
2706 +- **统一页面处理逻辑**
2707 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2708 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2709 + - 统一导航到计划书提交结果页,携带成功/失败参数
2710 + - 添加 500ms 延迟确保 toast 提示显示完毕
2711 +
2712 +### 优化
2713 +- **代码质量改进**
2714 + - 移除无用的 TODO 注释和空函数实现
2715 + - 统一错误处理模式,提升代码可维护性
2716 +
2717 +---
2718 +
2719 +**详细信息**
2720 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2721 +- **技术栈**: Vue 3, Taro 4, Composition API
2722 +- **测试状态**: 已通过 ESLint 检查
2723 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2724 +
943 2725
944 **详细信息** 2726 **详细信息**
945 - **影响文件**: docs/guides/*.md, docs/reports/*.md, docs/mcp/*.md, docs/plan/*.md, docs/README.md 2727 - **影响文件**: docs/guides/*.md, docs/reports/*.md, docs/mcp/*.md, docs/plan/*.md, docs/README.md
...@@ -948,6 +2730,44 @@ if (isReset) { ...@@ -948,6 +2730,44 @@ if (isReset) {
948 - **备注**: 提升中文开发者体验,统一文档命名规范 2730 - **备注**: 提升中文开发者体验,统一文档命名规范
949 2731
950 --- 2732 ---
2733 +# Changelog
2734 +
2735 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2736 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2737 +
2738 +---
2739 +
2740 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2741 +
2742 +### 修复
2743 +- **计划书提交成功验证**
2744 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2745 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2746 + - 确保只有在真正获得订单 ID 时才判定为成功
2747 +
2748 +- **错误信息路径修正**
2749 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2750 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2751 +
2752 +- **统一页面处理逻辑**
2753 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2754 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2755 + - 统一导航到计划书提交结果页,携带成功/失败参数
2756 + - 添加 500ms 延迟确保 toast 提示显示完毕
2757 +
2758 +### 优化
2759 +- **代码质量改进**
2760 + - 移除无用的 TODO 注释和空函数实现
2761 + - 统一错误处理模式,提升代码可维护性
2762 +
2763 +---
2764 +
2765 +**详细信息**
2766 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2767 +- **技术栈**: Vue 3, Taro 4, Composition API
2768 +- **测试状态**: 已通过 ESLint 检查
2769 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2770 +
951 2771
952 ## [2026-02-08] - 整理文档结构并使用中文命名(首次) 2772 ## [2026-02-08] - 整理文档结构并使用中文命名(首次)
953 2773
...@@ -963,6 +2783,44 @@ if (isReset) { ...@@ -963,6 +2783,44 @@ if (isReset) {
963 - 将"文档命名使用中文"规则添加到全局规则(`changelog-automation.md` 2783 - 将"文档命名使用中文"规则添加到全局规则(`changelog-automation.md`
964 2784
965 --- 2785 ---
2786 +# Changelog
2787 +
2788 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2789 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2790 +
2791 +---
2792 +
2793 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2794 +
2795 +### 修复
2796 +- **计划书提交成功验证**
2797 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2798 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2799 + - 确保只有在真正获得订单 ID 时才判定为成功
2800 +
2801 +- **错误信息路径修正**
2802 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2803 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2804 +
2805 +- **统一页面处理逻辑**
2806 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2807 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2808 + - 统一导航到计划书提交结果页,携带成功/失败参数
2809 + - 添加 500ms 延迟确保 toast 提示显示完毕
2810 +
2811 +### 优化
2812 +- **代码质量改进**
2813 + - 移除无用的 TODO 注释和空函数实现
2814 + - 统一错误处理模式,提升代码可维护性
2815 +
2816 +---
2817 +
2818 +**详细信息**
2819 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2820 +- **技术栈**: Vue 3, Taro 4, Composition API
2821 +- **测试状态**: 已通过 ESLint 检查
2822 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2823 +
966 2824
967 ## [2026-02-08] - 迁移所有剩余页面到 LoadMoreList 组件 2825 ## [2026-02-08] - 迁移所有剩余页面到 LoadMoreList 组件
968 2826
...@@ -988,3 +2846,41 @@ if (isReset) { ...@@ -988,3 +2846,41 @@ if (isReset) {
988 - 提升代码可维护性 2846 - 提升代码可维护性
989 2847
990 --- 2848 ---
2849 +# Changelog
2850 +
2851 +> 本文档记录 Manulife WeApp项目的所有重要变更。
2852 +> 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
2853 +
2854 +---
2855 +
2856 +## [2026-02-11] - 修复计划书提交逻辑和成功验证
2857 +
2858 +### 修复
2859 +- **计划书提交成功验证**
2860 + - 修改 `PlanFormContainer.vue` 中的成功判断逻辑
2861 + - 从只检查 `res.code === 1` 改为同时检查 `res.code === 1``res.data?.order_id`
2862 + - 确保只有在真正获得订单 ID 时才判定为成功
2863 +
2864 +- **错误信息路径修正**
2865 + - 修改错误信息获取路径从 `res.data?.message` 改为 `res.data?.msg`
2866 + - 添加降级方案:`res.data?.msg || res.msg || '提交失败,请稍后重试'`
2867 +
2868 +- **统一页面处理逻辑**
2869 + - 更新所有使用 `PlanFormContainer` 的页面(product-detail、search、product-center、index)
2870 + - 修改 `handlePlanSubmit` 函数从空的 TODO 注释实现为完整的错误处理
2871 + - 统一导航到计划书提交结果页,携带成功/失败参数
2872 + - 添加 500ms 延迟确保 toast 提示显示完毕
2873 +
2874 +### 优化
2875 +- **代码质量改进**
2876 + - 移除无用的 TODO 注释和空函数实现
2877 + - 统一错误处理模式,提升代码可维护性
2878 +
2879 +---
2880 +
2881 +**详细信息**
2882 +- **影响文件**: src/components/plan/PlanFormContainer.vue, src/pages/product-detail/index.vue, src/pages/search/index.vue, src/pages/product-center/index.vue, src/pages/index/index.vue
2883 +- **技术栈**: Vue 3, Taro 4, Composition API
2884 +- **测试状态**: 已通过 ESLint 检查
2885 +- **备注**: 修复计划书提交在所有页面的成功判断和错误处理逻辑
2886 +
......
...@@ -1267,6 +1267,9 @@ ...@@ -1267,6 +1267,9 @@
1267 | 2026-02-09 | `src/components/PlanFormContainer.vue` | 表单提交时数据为空 | 修复 submit() 时序问题,移除立即重置 | ✅ 已解决 | 1267 | 2026-02-09 | `src/components/PlanFormContainer.vue` | 表单提交时数据为空 | 修复 submit() 时序问题,移除立即重置 | ✅ 已解决 |
1268 | 2026-02-09 | `src/components/PlanFormContainer.vue` | 金额显示为 10000 而非 100.00 | 添加 formatAmounts() 格式化显示(分 → 元) | ✅ 已解决 | 1268 | 2026-02-09 | `src/components/PlanFormContainer.vue` | 金额显示为 10000 而非 100.00 | 添加 formatAmounts() 格式化显示(分 → 元) | ✅ 已解决 |
1269 | 2026-02-10 | `src/api/plan.js` | 后端接口已修复,联调成功 | 接口正常工作 | ✅ 已完成 | 1269 | 2026-02-10 | `src/api/plan.js` | 后端接口已修复,联调成功 | 接口正常工作 | ✅ 已完成 |
1270 +| 2026-02-11 | `src/components/PlanFormContainer.vue` | 前端优化成功判断逻辑 | 修改成功判断从 `res.code === 1` 改为同时检查 `res.code === 1` 和 `res.data?.order_id` | ✅ 已完成 |
1271 +| 2026-02-11 | `src/components/PlanFormContainer.vue` | 错误信息路径修正 | 修改错误信息从 `res.data?.message` 改为 `res.data?.msg`,添加降级方案 | ✅ 已完成 |
1272 +| 2026-02-11 | `src/pages/product-detail/index.vue`, `src/pages/search/index.vue`, `src/pages/product-center/index.vue`, `src/pages/index/index.vue` | 统一页面处理逻辑 | 修改所有页面的 `handlePlanSubmit` 函数,实现完整的错误处理和导航 | ✅ 已完成 |
1270 1273
1271 **接口状态**: ✅ 已完成 1274 **接口状态**: ✅ 已完成
1272 1275
......
...@@ -1001,6 +1001,71 @@ export async function fetchProductList(params) { ...@@ -1001,6 +1001,71 @@ export async function fetchProductList(params) {
1001 } 1001 }
1002 ``` 1002 ```
1003 1003
1004 +### ⚠️ 坑: API 成功验证需要检查状态码和必需字段 ⭐ 2026-02-11 新增
1005 +
1006 +**问题描述**:
1007 +
1008 +在计划书提交功能中,最初只检查 `res.code === 1` 来判断 API 调用是否成功,但这种方式不够严格。
1009 +
1010 +**错误代码**:
1011 +```javascript
1012 +// ❌ 只检查状态码
1013 +const res = await addAPI(requestData)
1014 +
1015 +if (res.code === 1) {
1016 + // 可能 res.data 为空或缺少必需字段
1017 + emit('submit', { success: true })
1018 +}
1019 +```
1020 +
1021 +**问题表现**:
1022 +- 即使 API 返回 `{ code: 1, data: null }`,也会判定为成功
1023 +- 缺少关键业务数据(如 `order_id`)时仍视为成功
1024 +- 后续流程可能因缺少必需数据而失败
1025 +
1026 +**正确做法**:
1027 +```javascript
1028 +// ✅ 同时检查状态码和必需字段
1029 +const res = await addAPI(requestData)
1030 +
1031 +// 判断成功:既要 code === 1,也要有 order_id
1032 +const isSuccess = res.code === 1 && res.data?.order_id
1033 +
1034 +if (isSuccess) {
1035 + emit('submit', {
1036 + success: true,
1037 + order_id: res.data.order_id // 确保必需字段存在
1038 + })
1039 +} else {
1040 + // 失败时,从 res.data.msg 或 res.msg 中获取错误信息
1041 + const errorMsg = res.data?.msg || res.msg || '提交失败,请稍后重试'
1042 + emit('submit', { success: false })
1043 +}
1044 +```
1045 +
1046 +**关键原则**:
1047 +1. ✅ **双重验证**:同时检查状态码(`code === 1`)和必需数据字段(如 `order_id`)
1048 +2. ✅ **字段验证**:对于业务关键接口,验证返回数据中是否包含必需字段
1049 +3. ✅ **错误信息路径**:优先从 `res.data.msg` 获取错误信息,其次才是 `res.msg`
1050 +4. ✅ **明确的数据契约**:在 API 文档中明确成功响应必须包含的字段
1051 +
1052 +**适用场景**:
1053 +- ✅ 提交类 API(订单提交、表单提交等)
1054 +- ✅ 创建类 API(创建计划书、创建收藏等)
1055 +- ✅ 任何返回业务数据标识符的接口(如 order_id、bill_id 等)
1056 +
1057 +**相关文件**:
1058 +- `src/components/plan/PlanFormContainer.vue:308-350` (已修复)
1059 +- `src/api/plan.js:27-33` (API 契约文档)
1060 +
1061 +**历史记录**:
1062 +- **第 1 次**:发现计划书提交逻辑只检查 `result.success`(接口未返回此字段)
1063 +- **第 2 次**:用户指出应该检查 `order_id` 字段
1064 +- **第 3 次**:发现错误信息路径应为 `res.data.msg` 而非 `res.data.message`
1065 +- **教训**: ⚠️ **API 成功验证必须检查状态码和必需业务字段**
1066 +
1067 +---
1068 +
1004 ### ❌ 坑: API 调用使用了 `fn()` 包装(重复 2 次) 1069 ### ❌ 坑: API 调用使用了 `fn()` 包装(重复 2 次)
1005 1070
1006 **问题描述**: 1071 **问题描述**:
......
...@@ -116,12 +116,21 @@ export function useFileOperation() { ...@@ -116,12 +116,21 @@ export function useFileOperation() {
116 showCopyButton = !!item.downloadUrl 116 showCopyButton = !!item.downloadUrl
117 } 117 }
118 118
119 - showModal({ 119 + // 构建 showModal 参数
120 + const modalParams = {
120 title: '提示', 121 title: '提示',
121 content: message + suggestion, 122 content: message + suggestion,
122 - confirmText: showCopyButton ? '复制链接' : '我知道了', 123 + confirmText: showCopyButton ? '复制链接' : '我知道了'
123 - cancelText: showCopyButton ? '关闭' : undefined, 124 + }
124 - showCancel: showCopyButton, 125 +
126 + // 只在有下载链接时才显示取消按钮
127 + if (showCopyButton) {
128 + modalParams.cancelText = '关闭'
129 + modalParams.showCancel = true
130 + }
131 +
132 + showModal({
133 + ...modalParams,
125 success: (modalRes) => { 134 success: (modalRes) => {
126 console.log('[文件操作] 用户选择:', modalRes.confirm ? '复制链接' : '关闭') 135 console.log('[文件操作] 用户选择:', modalRes.confirm ? '复制链接' : '关闭')
127 136
......