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/` - 海报生成器 | ... | ... |
-
Please register or login to post a comment