hookehuyr

docs: 更新项目文档记录最新开发进展

- 新增"最新更新"部分,记录计划书功能优化、样式改进、认证优化
- 更新常见问题快速解决表,新增嵌套弹窗和401重定向问题
- 更新 Composables 表格,新增 useCollectOperation
- 更新页面列表,新增消息、产品中心、周热门资料、分类列表页面
- 更新组件库说明,新增 PlanFields 组件集
- 同步组件自包含原则到最佳实践部分

🤖 Generated with assistance from Claude Code
Showing 1 changed file with 71 additions and 13 deletions
...@@ -28,6 +28,33 @@ pnpm dev:tt # 字节跳动小程序开发 ...@@ -28,6 +28,33 @@ pnpm dev:tt # 字节跳动小程序开发
28 28
29 ## 📋 快速参考 29 ## 📋 快速参考
30 30
31 +### 🆕 最新更新(2026-02)
32 +
33 +**计划书功能优化**
34 +- ✅ 修复嵌套弹窗层级冲突(使用 provide/inject 模式)
35 +- ✅ 优化页面滚动加载并清理调试代码
36 +- ✅ 修复搜索栏清空按钮点击无效
37 +- ✅ 修改提交结果页按钮为"返回上一页"
38 +
39 +**样式改进**
40 +- ✅ 增强资料卡片边框可见性(border-gray-200)
41 +- ✅ 增大产品中心和详情页的字体与图标尺寸
42 +- ✅ 添加全局背景色
43 +- ✅ 增大全局字体和图标尺寸以提升可读性
44 +
45 +**认证优化**
46 +- ✅ 修复 401 重定向死循环和返回报错问题
47 +
48 +**新增功能**
49 +- ✅ 消息列表和消息详情页
50 +- ✅ 产品中心页
51 +- ✅ 周热门资料页
52 +- ✅ 分类列表页
53 +- ✅ PlanFields 表单字段组件集
54 +- ✅ useCollectOperation composable
55 +
56 +---
57 +
31 ### ⚡ 常见问题快速解决 58 ### ⚡ 常见问题快速解决
32 59
33 | 问题 | 解决方案 | 参考文档 | 60 | 问题 | 解决方案 | 参考文档 |
...@@ -37,6 +64,8 @@ pnpm dev:tt # 字节跳动小程序开发 ...@@ -37,6 +64,8 @@ pnpm dev:tt # 字节跳动小程序开发
37 | SVG 图标加载失败(500 错误) | 使用 `import` 导入 | [经验教训](docs/lessons-learned.md#静态资源加载问题) | 64 | SVG 图标加载失败(500 错误) | 使用 `import` 导入 | [经验教训](docs/lessons-learned.md#静态资源加载问题) |
38 | 代码重复 3 次 | 抽取为 Composable | [经验教训](docs/lessons-learned.md#组件抽取与复用) | 65 | 代码重复 3 次 | 抽取为 Composable | [经验教训](docs/lessons-learned.md#组件抽取与复用) |
39 | 组件对象响应式警告 | 使用 `shallowRef` + `markRaw` | [经验教训](docs/lessons-learned.md#性能优化) | 66 | 组件对象响应式警告 | 使用 `shallowRef` + `markRaw` | [经验教训](docs/lessons-learned.md#性能优化) |
67 +| 嵌套弹窗层级冲突 | 使用 provide/inject 模式 | 最近提交记录(3357bed) |
68 +| 401 重定向死循环 | 检查重定向拦截器逻辑 | 最近提交记录(6d2a4ec) |
40 69
41 ### 🎯 核心架构模式 70 ### 🎯 核心架构模式
42 71
...@@ -152,6 +181,7 @@ go.back() // 返回上一页 ...@@ -152,6 +181,7 @@ go.back() // 返回上一页
152 | `useSectionList` | 分组列表管理 | [经验教训](docs/lessons-learned.md#案例-1-usesectionlist-composable) | 181 | `useSectionList` | 分组列表管理 | [经验教训](docs/lessons-learned.md#案例-1-usesectionlist-composable) |
153 | `useFileOperation` | 文件下载、预览、打开 | [经验教训](docs/lessons-learned.md#案例-2-usefileoperation-composable) | 182 | `useFileOperation` | 文件下载、预览、打开 | [经验教训](docs/lessons-learned.md#案例-2-usefileoperation-composable) |
154 | `useListItemClick` | 统一的列表点击处理 | [经验教训](docs/lessons-learned.md#案例-3-uselistitemclick-composable) | 183 | `useListItemClick` | 统一的列表点击处理 | [经验教训](docs/lessons-learned.md#案例-3-uselistitemclick-composable) |
184 +| `useCollectOperation` | 收藏操作(新增) | 处理收藏/取消收藏逻辑 |
155 185
156 **抽取原则**:"第 3 次出现原则" - 当相同代码模式出现 3 次时,**必须**抽取为 Composable。 186 **抽取原则**:"第 3 次出现原则" - 当相同代码模式出现 3 次时,**必须**抽取为 Composable。
157 187
...@@ -230,24 +260,34 @@ src/pages/your-page/ ...@@ -230,24 +260,34 @@ src/pages/your-page/
230 260
231 **业务页面** 261 **业务页面**
232 7. `pages/family-office/index` - 家族办公室服务 262 7. `pages/family-office/index` - 家族办公室服务
233 -8. `pages/knowledge-base/index` - 知识库(培训材料、案例) 263 +8. `pages/product-center/index` - 产品中心页
234 -9. `pages/product-detail/index` - 产品详情页 264 +9. `pages/category-list/index` - 分类列表页
265 +10. `pages/product-detail/index` - 产品详情页
235 - 通过 Taro 的 `useLoad` hook 接收 `id` 参数 266 - 通过 Taro 的 `useLoad` hook 接收 `id` 参数
236 - 导航示例:`go('/pages/product-detail/index', { id: 1 })` 267 - 导航示例:`go('/pages/product-detail/index', { id: 1 })`
237 - 参数可用于从 API 获取产品详情 268 - 参数可用于从 API 获取产品详情
238 -10. `pages/material-list/index` - 资料/文档列表页 269 +11. `pages/material-list/index` - 资料/文档列表页
239 -11. `pages/signing/index` - 签约 270 +12. `pages/week-hot-material/index` - 周热门资料页
240 -12. `pages/mine/index` - 用户资料 271 + - 使用 MaterialCard 组件展示热门资料
241 -13. `pages/plan/index` - 业务计划管理 272 + - 支持分页加载和触底加载更多
242 -14. `pages/plan-submit-result/index` - 计划提交结果页 273 +13. `pages/signing/index` - 签约
274 +14. `pages/mine/index` - 用户资料
275 +15. `pages/plan/index` - 业务计划管理
276 + - 使用 PlanSchemes 和 PlanPopup 组件
277 + - 支持嵌套弹窗交互(provide/inject 模式)
278 + - 支持滚动加载和分页
279 +16. `pages/plan-submit-result/index` - 计划提交结果页
280 + - 导航按钮:返回上一页(非首页)
243 281
244 **用户相关页面** 282 **用户相关页面**
245 -15. `pages/favorites/index` - 用户收藏 283 +17. `pages/favorites/index` - 用户收藏
246 -16. `pages/avatar/index` - 头像设置 284 +18. `pages/avatar/index` - 头像设置
247 -17. `pages/feedback-list/index` - 反馈列表 285 +19. `pages/message/index` - 消息列表页
248 -18. `pages/feedback/index` - 用户反馈 286 +20. `pages/message-detail/index` - 消息详情页
249 -19. `pages/login/index` - 登录页 287 +21. `pages/feedback-list/index` - 反馈列表
250 -20. `pages/help-center/index` - 帮助中心和常见问题页 288 +22. `pages/feedback/index` - 用户反馈
289 +23. `pages/login/index` - 登录页
290 +24. `pages/help-center/index` - 帮助中心和常见问题页
251 291
252 **开发测试页面**(仅开发环境): 292 **开发测试页面**(仅开发环境):
253 - `pages/test-tabs/index` - 标签页测试 293 - `pages/test-tabs/index` - 标签页测试
...@@ -269,7 +309,15 @@ src/pages/your-page/ ...@@ -269,7 +309,15 @@ src/pages/your-page/
269 - `SectionItem.vue` - 分组列表项组件 309 - `SectionItem.vue` - 分组列表项组件
270 - `ListItemActions/` - 列表项操作按钮 310 - `ListItemActions/` - 列表项操作按钮
271 - `MaterialCard.vue` - 资料卡片组件(可复用) 311 - `MaterialCard.vue` - 资料卡片组件(可复用)
312 + - 自包含业务逻辑:查看、收藏
313 + - 支持动态标签、文件大小格式化、学习人数显示
314 + - 支持图片文件预览(使用 Taro.previewImage)
315 + - 使用页面:首页、搜索页、周热门资料页
316 + - 使用 composable:useCollectOperation、useListItemClick
272 - `ProductCard.vue` - 产品卡片组件(可复用) 317 - `ProductCard.vue` - 产品卡片组件(可复用)
318 + - 自定义样式:动态标签、封面图
319 + - 支持产品详情查看和计划书功能
320 + - 使用页面:首页、搜索页、产品中心页
273 321
274 **表单与输入组件** 322 **表单与输入组件**
275 - `FilterTabs.vue` - 过滤标签组件 323 - `FilterTabs.vue` - 过滤标签组件
...@@ -283,6 +331,16 @@ src/pages/your-page/ ...@@ -283,6 +331,16 @@ src/pages/your-page/
283 **业务组件** 331 **业务组件**
284 - `PlanSchemes/` - 计划方案组件(SchemeA, SchemeB) 332 - `PlanSchemes/` - 计划方案组件(SchemeA, SchemeB)
285 - `PlanPopup/` - 计划弹窗组件 333 - `PlanPopup/` - 计划弹窗组件
334 + - 使用 provide/inject 模式实现父子弹窗通信
335 + - 子弹窗打开时自动隐藏父级 footer
336 + - 支持 AgePicker、DatePicker、SelectPicker 等字段组件
337 +- `PlanFields/` - 计划书表单字段组件
338 + - `AgePicker.vue` - 年龄选择器
339 + - `AmountInput.vue` - 金额输入框
340 + - `DatePicker.vue` - 日期选择器
341 + - `SelectPicker.vue` - 下拉选择器
342 + - `RadioGroup.vue` - 单选按钮组
343 +- `PlanTemplates/` - 计划模板组件
286 344
287 **工具组件** 345 **工具组件**
288 - `PosterBuilder/` - 海报生成器 346 - `PosterBuilder/` - 海报生成器
......