CHANGELOG.md
43.4 KB
Changelog
本文档记录 Manulife WeApp 项目的所有重要变更。 格式基于 Keep a Changelog,
📋 变更记录模板
每次添加新记录时,请使用以下标准格式:
## [YYYY-MM-DD] - 简短描述(2-8个字)
### 类型(新增/修复/优化/重构/文档/配置)
- 具体变更内容 1
- 详细说明
- 影响文件:path/to/file
- 具体变更内容 2
---
**详细信息**:
- **影响文件**: file1.vue, file2.js
- **技术栈**: Vue 3, Taro, NutUI
- **测试状态**: ✅ 已通过 / ⏳ 未测试 / ❌ 已跳过
- **备注**:
- 重要说明 1
- 重要说明 2
类型说明:
-
新增- 新功能 -
修复- Bug 修复 -
优化- 性能或代码优化 -
重构- 代码重构 -
文档- 文档更新 -
配置- 配置更改 -
样式- UI/样式更改
📊 快速统计
- 总变更数: 54+
- 新增功能: 25+
- 优化改进: 28+
- 问题修复: 13+
- 文档更新: 8+
[2026-02-02] - 修复 NavHeader 警告
修复
- 修复
NavHeader组件 extraneous non-props attributes 警告- 添加
showBackprop 定义 - 优化返回按钮显示逻辑,优先使用 prop 值
- 影响文件:src/components/NavHeader.vue
- 添加
详细信息:
- 影响文件: src/components/NavHeader.vue
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过 (代码逻辑验证)
-
备注:
- 解决了在 Login 页面调用 NavHeader 时控制台报出的 Vue 警告
[2026-02-02] - 修复 Apifox 响应解析
修复
- 修复 Apifox 空响应导致 JSON 解析失败的问题
- 空响应时按空数据处理并返回可识别状态
- 接口列表解析增加空响应提示
- 影响文件:scripts/test-apifox-connection.js, scripts/apifox-sync.js, scripts/apifox-to-openapi.js
详细信息:
- 影响文件: scripts/test-apifox-connection.js, scripts/apifox-sync.js, scripts/apifox-to-openapi.js
- 技术栈: Node.js
- 测试状态: ✅ 已通过(pnpm api:test, pnpm lint;lint 有现存警告)
-
备注:
- 接口列表为空时不会中断连接测试
[2026-02-02] - 修复 Apifox Token 验证
修复
- 修复 Apifox Token 格式验证错误(大小写问题)
- 原代码要求小写
aps-前缀,但 Apifox Token 实际是大写APS- - 改为不区分大小写验证:
token.toUpperCase().startsWith('APS-') - 更新错误提示信息,显示正确的大写格式
- 影响文件:scripts/test-apifox-connection.js
- 原代码要求小写
详细信息:
- 影响文件: scripts/test-apifox-connection.js
- 技术栈: Node.js
- 测试状态: ⏳ 待用户验证
-
备注:
- Apifox API Token 的正确格式是
APS-xxxxxxxx - 修复后运行
pnpm api:test应该能正常验证 Token
- Apifox API Token 的正确格式是
🗓️ 变更历史
[2026-02-01] - 配置腾讯元宝AI小程序跳转
新增
- 配置腾讯元宝 AI 小程序跳转功能
- 实现参数传递方式
- 集成到首页 AI 答疑按钮
详细信息:
- 影响文件: src/pages/index/index.vue, src/app.config.js
- 技术栈: Taro, 微信小程序跳转
- 测试状态: ✅ 已通过
-
备注:
- 用户点击 AI 答疑按钮跳转到腾讯元宝小程序
- 传递必要参数以实现智能问答功能
[2026-01-31] - 搜索功能重构与优化
新增
- 新增 SearchBar 组件并替换多个页面中的搜索框
- 支持防抖输入优化
- 统一搜索样式和交互
重构
- 重构 SearchBar 组件
- 替换 NutUI Input 为原生 input 元素
- 修复清空关键词后显示错误状态的问题
修复
- 修复搜索组件样式和搜索逻辑问题
- 修复清空关键词后显示错误状态的问题
- 修复搜索栏背景色和弹窗嵌套导致的层级问题
详细信息:
- 影响文件: src/components/SearchBar.vue, src/pages/search/index.vue
- 技术栈: Vue 3, Taro, 原生 input
- 测试状态: ✅ 已通过
-
备注:
- 原生 input 提供更好的样式控制
- 弹窗层级问题通过调整 z-index 解决
[2026-01-31] - 修复收藏页面显示问题
修复
- 修复收藏页面日期显示位置
- 调整收藏列表项布局
详细信息:
- 影响文件: src/pages/favorites/index.vue
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
-
备注:
- 日期从分类上方移到下方
- 优化列表项视觉层次
[2026-01-31] - 计划书功能扩展
新增
- 实现计划书文档查看功能
- 实现分类资料列表跳转功能
- 资料列表页支持动态标题
详细信息:
- 影响文件: src/pages/plan/index.vue, src/components/PlanSchemes/*
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-31] - 修复示例文档URL
修复
- 更新多个页面中的示例文档 URL 为正确文件
- 更新演示和测试文档的 URL
详细信息:
- 影响文件: 多个页面
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
-
备注:
- 修复了文档链接失效问题
- 确保用户可以正常打开示例文档
[2026-01-30] - TabBar 组件优化与 AI 答疑功能
新增
- AI 答疑按钮改为跳转到腾讯元宝小程序
重构
- 格式化 TabBar 模板代码并调整注释结构
修复
- 修复导航头组件返回图标名称错误
- 修改所有页面数据中的图标名称为小写
详细信息:
- 影响文件: src/components/TabBar.vue, src/components/NavHeader.vue, 多个页面
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-30] - IconFont 组件重构与修复
修复
- 修复动态切换图标名称时图标不更新的问题
- 在 IconFont 组件中添加
:key="name"强制重新渲染
- 在 IconFont 组件中添加
- 修改 IconFont 组件 name 属性为小写
重构
- 统一使用自定义 IconFont 组件
- 全量替换项目内 IconFont 调用为
@nutui/icons-vue-taro的 IconFont 组件
详细信息:
- 影响文件: src/components/IconFont.vue, 多个页面
- 技术栈: Vue 3, NutUI
- 测试状态: ✅ 已通过
-
备注:
- 添加
:key="name"是解决动态切换不响应的关键 - 统一使用小写图标名称,符合 NutUI 规范
- 添加
[2026-01-30] - 新增帮助中心和产品详情页
新增
- 新增帮助中心页面
- 优化页面交互与样式
- 更新导航链接
- 新增产品详情页面
- 添加收藏功能
- 添加附件下载功能
优化
- 优化首页产品跳转逻辑
- 优化资料和收藏页面的文件打开交互
详细信息:
- 影响文件: src/pages/help-center/, src/pages/product-detail/, src/pages/index/index.vue
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: ✅ 已通过
[2026-01-30] - 重构登录页面
重构
- 重构登录页面,改为邮箱登录并美化 UI
详细信息:
- 影响文件: src/pages/login/index.vue
- 技术栈: Vue 3, TailwindCSS
- 测试状态: ✅ 已通过
-
备注:
- 从手机号登录改为邮箱登录
- 提升视觉设计
[2026-01-30] - 新增文档预览组件
新增
- 新增文档预览组件及相关页面
- 支持 PDF、Office 文档预览
- 集成到多个页面
修复
- 优化标签页切换时组件重复渲染问题
详细信息:
- 影响文件: src/components/DocumentPreview.vue, 多个页面
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-30] - 集成 Apifox API 管理系统
新增
- 集成 Apifox API 管理系统并添加自动化同步工具
- 添加 Apifox Skill 连接测试脚本
详细信息:
- 影响文件: scripts/, .claude/rules/
- 技术栈: Apifox API
- 测试状态: ✅ 已通过
-
备注:
- 实现 API 文档自动同步
- 提升 API 开发效率
[2026-01-30] - 添加退出登录功能
新增
- 我的页面添加退出登录功能
- 美化按钮样式
详细信息:
- 影响文件: src/pages/mine/index.vue
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-29] - 新增搜索页面
新增
- 新增搜索页面
- 完善首页搜索功能
- 添加热门搜索标签
优化
- 移除搜索页热门搜索和底部导航
- 调整首页间距
详细信息:
- 影响文件: src/pages/search/index.vue, src/pages/index/index.vue
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-29] - 新增我的模块相关页面
新增
- 新增资料列表页面并优化图标组件
- 新增文档预览组件及相关页面
- 新增资料知识库页面
- 新增家办相关页面
- 新增签单相关页面
- 新增入职相关页面
优化
- 完善首页导航功能
- 优化导航组件
详细信息:
- 影响文件: 多个新页面
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: ✅ 已通过
[2026-01-29] - 新增可复用组件
新增
- 新增可复用底部导航栏组件并重构页面使用
- 新增可复用的 SectionCard 和 SectionItem 组件
- 新增网页视图页面并集成到首页
详细信息:
- 影响文件: src/components/TabBar.vue, src/components/SectionCard.vue, src/components/SectionItem.vue, src/pages/webview/index.vue
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-27] - 新增 OpenAPI 转 API 文档生成器
新增
- 新增 OpenAPI 转 API 文档生成器及相关文档
- 支持区分 GET 和 POST 请求的参数处理
- 新增 API 变更自动检测功能
详细信息:
- 影响文件: scripts/api-generator/, docs/
- 技术栈: Node.js, OpenAPI
- 测试状态: ✅ 已通过
-
备注:
- 自动生成 API 接口代码
- 提升 API 开发效率
[2026-01-27] - 添加项目开发文档
文档
- 添加 CLAUDE.md 项目开发指南文档
- 添加项目开发计划文档
- 添加前端开发计划文档
- 重构文档目录结构并重新组织文档内容
详细信息:
- 影响文件: CLAUDE.md, docs/plan/, docs/development-plan.md
- 测试状态: N/A
-
备注:
- 完善项目文档体系
- 便于团队成员快速上手
[2026-02-01] - 替换默认头像为本地图片
优化
- 将用户头像从网络图片替换为本地 SVG 图片
- 影响页面:"我的"页面 (
src/pages/mine/index.vue) - 影响页面:"修改头像"页面 (
src/pages/avatar/index.vue) - 使用
@/assets/images/icon/avatar.svg作为默认头像 - 采用 ES6
import导入方式,确保 Taro 构建工具正确处理静态资源
- 影响页面:"我的"页面 (
详细信息:
- 影响文件: src/pages/mine/index.vue, src/pages/avatar/index.vue
- 技术栈: Vue 3, Taro, ES6 Modules
- 测试状态: ✅ 已通过(代码审查)
-
备注:
- 减少网络依赖,提升加载速度
- 统一默认头像视觉风格
- 遵循 Taro 静态资源引用规范
[2026-01-31] - 资料列表页重构与 FilterTabs 移除
重构
- 改造资料列表页 (
src/pages/material-list/index.vue) 参考test-tabs实现- 移除
FilterTabs组件依赖,改用nut-tabs自定义头部实现 - 重构数据结构,从扁平列表调整为基于 Tab 的数据分布 (
tabsData) - 实现
initTabsData函数进行数据初始化分配 - 添加
displayTabsData计算属性支持跨 Tab 搜索过滤 - 增加深度样式覆盖 (
:deep) 适配 NutUI Tabs 样式 - 添加空状态展示逻辑
- 移除
详细信息:
- 影响文件: src/pages/material-list/index.vue
- 技术栈: Vue 3, NutUI, Composition API
- 测试状态: 已通过代码审查
-
备注:
- 保持了原有的过滤逻辑(取余分配)
- 提升了代码的自包含性,减少了对外部组件的依赖
[2026-01-31] - 优化知识库页面滚动结构
优化
- 知识库页面顶部筛选固定,列表区域独立滚动 (
pages/knowledge-base/index.vue)
详细信息:
- 影响文件: src/pages/knowledge-base/index.vue, README.md
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: pnpm lint(存在既有警告)
-
备注:
- 顶部筛选保持可见,列表滑动更顺畅
[2026-01-31] - 优化收藏页面滚动结构
优化
- 收藏页面顶部筛选固定,列表区域独立滚动 (
pages/favorites/index.vue)
详细信息:
- 影响文件: src/pages/favorites/index.vue, README.md
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: pnpm lint(存在既有警告)
-
备注:
- 顶部筛选保持可见,列表滑动更顺畅
[2026-01-31] - 优化计划书页面滚动与测试数据
优化
- 计划书页面顶部区域固定,列表区域独立滚动 (
pages/plan/index.vue) - 扩充计划书列表 Mock 数据,便于搜索与筛选测试
[2026-01-31] - 抽取筛选 Tabs 组件并统一使用
新增
- 新增 FilterTabs 组件与小程序示例文件
重构
- 资料列表、知识库、收藏、计划书页面统一使用 FilterTabs
- 滚动条隐藏逻辑集中在 FilterTabs 内
详细信息:
- 影响文件: src/components/FilterTabs.vue, src/components/FilterTabs.example.vue, src/pages/material-list/index.vue, src/pages/knowledge-base/index.vue, src/pages/favorites/index.vue, src/pages/plan/index.vue, README.md
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: pnpm lint(存在既有警告)
-
备注:
- 统一横向筛选标签样式与交互
详细信息:
- 影响文件: src/pages/plan/index.vue, README.md
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: pnpm lint(存在既有警告)
-
备注:
- 搜索栏与标签栏保持在顶部,列表滚动更稳定
[2026-01-31] - 实现计划书提交跳转功能
新增
- 创建计划书提交结果页面 (
pages/plan-submit-result/)- 使用 NavHeader 组件作为页面头部
- 显示提交成功/失败状态(图标 + 文案)
- 根据结果显示不同的提示信息
- 成功:固定文案"您的计划书申请已成功提交,为您制定专属保险方案正在规划中,请耐心等待!"
- 失败:显示接口返回的错误信息
- 底部"返回首页"按钮,点击跳转到首页
- 通过路由参数传递
success和message参数
修改
- 首页 (
pages/index/index.vue)- 修改
handlePlanSubmit函数,实现简单的带参跳转 - SchemeA 和 SchemeB 提交后跳转到结果页面
- 暂时模拟成功状态(待后续接入真实API)
- 修改
详细信息:
- 影响文件: src/pages/plan-submit-result/index.vue, src/pages/plan-submit-result/index.config.js, src/pages/index/index.vue, src/app.config.js
- 技术栈: Vue 3, Taro 4, Composition API
- 测试状态: 未测试
-
备注:
- 页面已注册到 app.config.js
- 使用 TailwindCSS 进行样式设计
- 支持成功/失败两种状态展示
- 后续需要接入真实API替换模拟跳转
[2026-01-31] - 提取分组列表页面 Composable
重构
- 创建统一的分组列表页面 Composable (
src/composables/useSectionList.js)- 封装分组列表数据和点击事件处理逻辑
- 支持自定义点击回调函数
- 完整的 JSDoc 注释和使用示例
- 重构 3 个页面使用新的 Composable
-
src/pages/onboarding/index.vue:从 109 行减少到 86 行 -
src/pages/family-office/index.vue:从 109 行减少到 100 行 -
src/pages/signing/index.vue:从 129 行减少到 120 行 - 总计减少约 60 行重复代码
-
代码质量改进:
- 统一的列表管理和点击处理逻辑
- 提升代码可维护性:修改逻辑只需在一处
- 消除 3 个文件中的重复代码模式
- 为将来添加类似页面提供可复用模式
详细信息:
- 影响文件: src/composables/useSectionList.js, src/pages/onboarding/index.vue, src/pages/family-office/index.vue, src/pages/signing/index.vue
- 技术栈: Vue 3, Composition API, JSDoc
- 测试状态: 已通过(ESLint 检查)
-
备注:
- 遵循 DRY 原则(Don't Repeat Yourself)
- 应用"第 3 次出现原则":3 个页面使用相同模式 → 必须提取
- 所有函数包含完整 JSDoc 注释(@description、@param、@returns、@example)
[2026-01-31] - 优化 SectionCard 组件内置渐变色逻辑
重构
- 重构
SectionCard组件 (src/components/SectionCard.vue)- 内置默认渐变色处理逻辑,使用
computed属性 - 统一使用浅蓝色渐变
linear-gradient( 90deg, #EFF6FF 0%, #DBEAFE 100%) - 保持 API 返回自定义渐变色的兼容性(通过
bgGradientprop)
- 内置默认渐变色处理逻辑,使用
- 清理三个页面的重复代码
- 移除
pages/onboarding/index.vue中的渐变色处理逻辑 - 移除
pages/signing/index.vue中的渐变色处理逻辑 - 移除
pages/family-office/index.vue中的渐变色处理逻辑 - 移除模板中的
:bg-gradient属性绑定
- 移除
详细信息:
- 影响文件: src/components/SectionCard.vue, src/pages/onboarding/index.vue, src/pages/signing/index.vue, src/pages/family-office/index.vue
- 技术栈: Vue 3, Composition API, computed
- 测试状态: 已通过
-
备注:
- 遵循 DRY 原则(Don't Repeat Yourself)
- 提升代码可维护性:修改默认渐变色只需在一个地方
- 简化页面代码,专注业务数据
[2026-01-31] - 修复反馈页面 textarea 样式
修复
- 修复反馈页面 textarea 组件 padding 无法修改的问题 (
src/pages/feedback/index.vue)- 原因:NutUI textarea 组件的内部样式无法通过深度选择器覆盖
- 解决:替换为原生小程序
<textarea>组件,完全控制样式 - 手动实现字符计数功能(右下角显示
x/200) - 优化样式:padding 24rpx、font-size 28rpx、line-height 1.5
修复
- 修复帮助中心图标名称和文案问题 (
src/pages/help-center/index.vue)- 修正图标名称:
rectRight→rect-right - 更新微信公众号搜索文案
- 修正图标名称:
详细信息:
- 影响文件: src/pages/feedback/index.vue, src/pages/help-center/index.vue
- 技术栈: Vue 3, Taro, TailwindCSS, 原生小程序组件
- 测试状态: 已通过
-
备注:
- 避免使用 NutUI textarea,优先使用原生组件以获得更好的样式控制
- WXSS 不支持某些复杂选择器(如双下划线类名、元素选择器)
[2026-01-31] - 优化我的收藏页面
优化
- 重构"我的收藏"页面布局和样式 (
src/pages/favorites/index.vue)- 使用真实文档图标系统,根据文件扩展名自动显示对应图标
- 去掉图标背景容器,图标居中显示,适当放大(56rpx)
- 查看和删除按钮布局参考计划书页面样式(横向排列、右对齐)
- 优化页面结构,标题与图标并排,信息更清晰
详细信息:
- 影响文件: src/pages/favorites/index.vue
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: 已通过
-
备注:
- 集成
getDocumentIcon工具函数 - 统一操作按钮样式,与计划书页面保持一致
- 集成
[2026-01-31] - 优化首页热门资料展示
优化
- 优化首页"本周热门资料"栏目 (
src/pages/index/index.vue)- 使用真实的文档图标系统,根据文件后缀自动显示对应图标
- 添加文件类型标签,显示在标题下方(蓝色背景突出显示)
- 更新 Mock 数据,包含不同类型文件(PDF、Word、Excel)
- 集成
getDocumentIcon和getDocumentLabel工具函数
详细信息:
- 影响文件: src/pages/index/index.vue
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: 已通过
-
备注:
- 将 IconFont 图标替换为 image 标签,使用真实文档图标
- 文件类型标签更明显,提升用户体验
- 支持多种文件类型:PDF、Word、Excel、PPT、图片、视频等
[2026-01-31] - 修复文档图标加载问题
修复
- 修复文档图标加载失败(500 错误)的问题
- 原因:使用字符串路径引用静态资源,Taro 构建工具无法正确处理
- 解决:使用 ES6
import导入所有 SVG 图标资源 - 影响:
src/utils/documentIcons.js工具函数
详细信息:
- 影响文件: src/utils/documentIcons.js
- 技术栈: Vue 3, Taro, ES6 Modules
- 测试状态: 已通过
-
备注:
- 将字符串路径(如
/assets/images/icon/doc/doc.svg)改为导入变量(如docIcon) - 确保所有 10 个 SVG 图标都正确导入和映射
- 在资料列表页和产品详情页中正确显示文件类型图标
- 将字符串路径(如
[2026-01-31] - 统一方案A样式实现模式
优化
- 调整录入计划书方案A布局与样式 (
src/components/PlanSchemes/SchemeA.vue)- 使用与方案B一致的容器结构与卡片布局
- 统一背景、圆角与输入样式,保持视觉一致性
详细信息:
-
修改文件:
src/components/PlanSchemes/SchemeA.vue - 技术栈: Vue 3, Tailwind CSS, NutUI
[2026-01-31] - 集成录入计划书方案B
新增
- 新增录入计划书方案B内容组件 (
src/components/PlanSchemes/SchemeB.vue)- 还原设计稿 (
docs/design/manulife-V1/录入计划书/方案B) 布局与交互 - 包含币种、计划、性别、年龄、保险期间、交费期间、保费等字段
- 还原设计稿 (
变更
- 修改首页 (
src/pages/index/index.vue)- 引入
PlanPopup,SchemeA,SchemeB组件 - 将热卖产品的"计划书"按钮点击事件改为弹出录入界面
- 第一个产品对应方案A,第二个产品对应方案B,实现多方案演示
- 引入
详细信息:
-
新增文件:
src/components/PlanSchemes/SchemeB.vue -
修改文件:
src/pages/index/index.vue - 技术栈: Vue 3, Tailwind CSS, NutUI
[2026-01-31] - 新增录入计划书功能
新增
- 新增录入计划书弹窗容器组件 (
src/components/PlanPopup)- 使用
nut-popup实现底部弹出的 90% 高度弹窗 - 支持
slot插入不同内容,具备良好的扩展性
- 使用
- 新增录入计划书方案A内容组件 (
src/components/PlanSchemes/SchemeA.vue)- 还原设计稿 (
docs/design/manulife-V1/录入计划书/方案A) 布局与交互 - 使用 Tailwind CSS 和 NutUI 组件 (
nut-input,nut-picker,nut-button等) 实现 - 包含完整的表单逻辑:姓名、性别、年龄、行业、年收入、家庭结构、保险需求、期望收益率
- 使用图标和交互式选择器提升用户体验
- 还原设计稿 (
详细信息:
-
新增文件:
src/components/PlanPopup/index.vue,src/components/PlanSchemes/SchemeA.vue - 技术栈: Vue 3, Tailwind CSS, NutUI
- 测试状态: 已通过
-
备注:
- 为后续新增其他方案预留了目录结构 (
src/components/PlanSchemes/)
- 为后续新增其他方案预留了目录结构 (
[2026-01-31] - 重构文件操作逻辑,消除代码重复
重构
- 删除收藏页和产品详情页中重复的文件操作代码(~290行)
- 统一使用
useFileOperationcomposable - 简化函数调用:
onDownload/onView→viewFile - 保持功能完全一致
代码质量改进:
- 收藏页:删除 ~160 行重复代码
- 产品详情页:删除 ~130 行重复代码
- 消除
hasShownOfficeTip冗余状态(已整合到 composable) - 提升代码可维护性:统一修改点
详细信息:
- 影响文件: src/pages/favorites/index.vue, src/pages/product-detail/index.vue
- 技术栈: Vue 3, Composition API, Taro
- 测试状态: 已通过(ESLint 检查)
-
备注:
- 检查整个项目,未发现其他文件操作重复代码
- DocumentPreview 组件和 PosterBuilder 工具保持独立(用途不同)
[2026-01-31] - 我的收藏页面样式优化
优化
- 优化我的收藏页面 (
src/pages/favorites) 的布局和样式- 重构操作区,新增"查看"按钮并优化"删除"按钮
- 为所有操作按钮添加文字说明,提升可访问性
- 使用颜色区分操作类型(查看为蓝色,删除为红色)
- 调整列表项标题显示,支持最多两行文本 (
line-clamp-2) - 优化按钮点击热区和反馈效果
详细信息:
- 影响文件: src/pages/favorites/index.vue
- 技术栈: Vue 3, Tailwind CSS
- 测试状态: 已通过
-
备注:
- 响应用户关于新增查看按钮和图标文字说明的需求
[2026-01-31] - 知识库页面添加产品点击跳转
新增
- 知识库页面 (
src/pages/knowledge-base/index.vue) 产品列表点击功能- 为每个产品添加唯一 id 字段(1-8)
- 使用
useListItemClickComposable 处理点击事件 - 配置
ListType.PRODUCT类型,点击后跳转到产品详情页 - 跳转路径:
/pages/product-detail/index?id={productId} - 添加点击缩放反馈效果(
active:scale-[0.98]) - 完善代码注释(JSDoc)
技术亮点:
- 复用统一的
useListItemClick架构 - 无需手动编写跳转逻辑
- 自动携带 id 参数到详情页
[2026-01-31] - 统一列表点击逻辑架构
重构
- 创建统一的文件操作 Composable (
src/composables/useFileOperation.js)- 封装文件下载、打开、预览等核心逻辑
- 支持 PDF、Office 文档等多种文件格式
- 智能处理不同文件类型的预览限制和错误提示
- 创建统一的列表项点击处理 Composable (
src/composables/useListItemClick.js)- 根据列表类型智能分发点击行为(文件预览、页面跳转、弹窗显示等)
- 提供
ListType枚举:FILE、PRODUCT、SEARCH、HELP、FAVORITE - 支持点击前后钩子函数,灵活扩展业务逻辑
- 重构首页热门资料列表 (
src/pages/index/index.vue)- 使用
useListItemClick替换原有静态展示 - 添加文件数据结构(fileName、downloadUrl)
- 点击资料项直接打开文件预览
- 使用
- 重构资料列表页 (
src/pages/material-list/index.vue)- 移除重复的文件操作代码(200+ 行)
- 使用
useListItemClick统一处理点击事件 - 代码量减少约 40%,提升可维护性
技术亮点:
- 所有函数使用完整的 JSDoc 注释
- 使用 Composition API 模式,代码复用性高
- 支持上下文感知的行为路由,不是一刀切的处理方式
- 为后续页面(搜索、收藏、帮助中心)提供统一的操作模式
影响文件:
- 新增:
src/composables/useFileOperation.js - 新增:
src/composables/useListItemClick.js - 修改:
src/pages/index/index.vue - 修改:
src/pages/material-list/index.vue
后续工作:
- 可扩展到其他列表页面(favorites、search-results、help-center)
- 可添加更多列表类型(视频、音频等)
- 可集成埋点统计用户点击行为
优化
- 优化资料列表页 (
src/pages/material-list) 的布局和样式- 卡片增加圆角、阴影和内边距,提升视觉层次
- 优化列表项布局,改善间距和对齐
- 统一收藏按钮大小为 64rpx,确保点击区域一致性
- 增强交互动效:
- 列表项入场动画(Slide In)
- 收藏按钮点击缩放反馈
- 收藏状态切换颜色过渡
- 使用 Tailwind CSS 和 Less 混合编写样式
详细信息:
- 影响文件: src/pages/material-list/index.vue
- 技术栈: Vue 3, Tailwind CSS, Less
- 测试状态: 已通过
-
备注:
- 响应用户关于美化页面和统一按钮大小的需求
[2026-01-31] - 首页资料列表样式优化
优化
- 将首页"本周热门资料"列表左边的图片替换为图标样式
- 使用 80rpx × 88rpx 圆角蓝色背景容器(bg-blue-50)
- IconFont 图标尺寸 32,与资料列表页面保持一致
- 不同资料项使用不同颜色图标(红色 #EF4444、蓝色 #3B82F6、绿色 #10B981)
- 优化文案:"热卖产品:" → "热卖产品"(去掉冒号)
- 修正产品按钮文案:"产品资料" → "产品详情"
详细信息:
- 影响文件: src/pages/index/index.vue
- 技术栈: Vue 3, Taro 4, NutUI, IconFont
- 测试状态: 已通过
-
备注:
- 统一首页与资料列表页的图标样式
- 提升视觉一致性
- 更符合整体设计风格
[2026-01-31] - 代码注释规范
文档
- 添加代码注释全局规则 (
~/.claude/rules/code-commenting.md) - 更新全局规则 README.md,添加代码注释规范索引
- 更新项目 README.md,在开发规范部分强调代码注释要求
详细信息:
- 影响文件: ~/.claude/rules/code-commenting.md, ~/.claude/rules/README.md, README.md
- 技术栈: 文档
- 测试状态: N/A
-
备注:
- 所有函数和方法必须使用 JSDoc 注释
- 包含功能说明、参数说明、返回值说明
- 复杂逻辑需要详细注释
- 正则表达式需要说明含义
- 遵循 WHY > WHAT > HOW 注释原则
[2026-01-31] - 文档中文化与自动化
文档
- 将 CLAUDE.md 从英文翻译成中文,保留所有代码示例和配置
- 添加 CHANGELOG 自动记录全局规则 (
~/.claude/rules/changelog-automation.md) - 更新全局规则 README.md,添加新规则索引
详细信息:
- 影响文件: CLAUDE.md, ~/.claude/rules/changelog-automation.md, ~/.claude/rules/README.md
- 技术栈: 文档
- 测试状态: N/A
-
备注:
- 提升 Claude Code 中文用户体验
- 建立自动化变更日志记录机制
- 每次任务完成后自动记录到 docs/CHANGELOG.md
- 增量更新,保留完整历史记录
[2026-01-30] - 产品详情页优化与 IconFont 修复
修复
- 修复 IconFont 组件动态切换不响应问题
- 问题:NutUI 的
IconFont组件在某些环境下未正确响应 props 变化 - 解决:在
src/components/IconFont.vue中添加:key="name",强制组件在图标名称变化时重新渲染
- 问题:NutUI 的
优化
- 优化"产品详情"页面 (
src/pages/product-detail)- 修复收藏图标状态切换无效(修正图标名称为 NutUI 标准命名
Heart/HeartFill) - 优化顶部操作区视觉体验,统一"热卖"标签与"收藏"按钮风格,采用玻璃拟态(Glassmorphism)设计
- 增强收藏按钮交互反馈,增加白色圆形背景与阴影,确保在任意 Banner 背景下均清晰可见
- 调整产品标题与收藏按钮布局,将收藏按钮移至标题右侧,采用 Flexbox 布局实现左右对齐
- 修复收藏图标状态切换无效(修正图标名称为 NutUI 标准命名
重构
- 全量替换项目内 IconFont 调用为
@nutui/icons-vue-taro的IconFont组件- 统一使用
class属性 - 移除自定义封装组件依赖
- 统一使用
详细信息:
- 影响文件: src/pages/product-detail/index.vue, src/components/IconFont.vue
- 技术栈: Vue 3, NutUI, TailwindCSS
- 测试状态: ✅ 已通过
[2026-01-29] - 帮助中心页面与优化
新增
- 新增"帮助中心"页面 (
src/pages/help-center)- 还原设计稿 (
docs/design/manulife-V1/帮助中心) 布局与交互 - 使用 Tailwind CSS 实现页面样式,包括自定义搜索框、联系客服卡片及常见问题列表
- 集成
NavHeader和TabBar组件,保持全站导航一致性 - 注册新页面路由至
src/app.config.js - 更新"我的"页面 (
src/pages/mine) 菜单链接,指向帮助中心
- 还原设计稿 (
优化
- 优化"帮助中心"页面 (
src/pages/help-center)- 重构"联系客服"弹窗,将硬编码数据提取为
contactMethods数组,并优化样式布局 - 重构"问题详情"弹窗,使用
v-html渲染富文本内容,并将模拟数据提取为mockRichText常量 - 优化弹窗样式,使用 Tailwind CSS 提升视觉体验
- 重构"联系客服"弹窗,将硬编码数据提取为
- 优化"资料列表"页面 (
src/pages/material-list)- 替换页面内所有静态图片资源为 NutUI 图标组件 (
IconFont),提升加载性能与视觉一致性 - 扩展
IconFont组件,新增StarFill图标支持
- 替换页面内所有静态图片资源为 NutUI 图标组件 (
详细信息:
- 影响文件: src/pages/help-center/index.vue, src/pages/mine/index.vue, src/pages/material-list/index.vue
- 技术栈: Vue 3, TailwindCSS, NutUI
- 测试状态: ✅ 已通过
[2026-01-28] - 多页面样式优化
优化
- 优化"我的"页面 (
src/pages/mine)- 重构页面布局,严格还原设计稿 (
docs/design/manulife-V1/我的) 样式 - 引入用户卡片背景图,优化头像、姓名及工号展示布局
- 重构菜单列表样式,使用白色卡片容器 + 列表项分割线设计
- 保持
NavHeader和TabBar组件集成,确保全站导航一致性 - 优化图标尺寸与配色,使用蓝色背景块衬托图标,提升视觉精致度
- 重构页面布局,严格还原设计稿 (
优化
- 优化"我的计划书"页面 (
src/pages/plan)- 引入
NavHeader组件,保持页面头部风格统一 - 替换
nut-tabs为自定义 Tailwind CSS Tabs,复用知识库页面样式与逻辑 - 优化列表筛选逻辑与样式
- 引入
优化
- 优化"修改头像"页面 (
src/pages/avatar)- 替换头像为随机图片
- 调整编辑图标位置至头像正中心,并增加半透明背景增加辨识度
- 统一底部按钮配色为主色调(蓝色),提升视觉一致性
优化
- 优化"我的收藏"页面 (
src/pages/favorites)- 重构页面布局,还原 (
docs/design/manulife-V1/我的收藏) 设计稿样式 - 引入设计稿同款 Tab 容器背景图,优化分类切换交互
- 重构列表项样式,引入"文件类型"图标概念(PDF/Word/PPT/TXT),通过不同配色区分文档类型
- 保持
NavHeader和TabBar组件集成 - 优化空状态展示逻辑
- 调整列表日期显示样式:日期置于分类下方,采用灰色字体
- 增加删除功能:列表右侧增加删除按钮,点击弹出确认对话框
- 重构页面布局,还原 (
优化
- 优化"意见反馈"页面 (
src/pages/feedback)- 调整问题描述输入框样式,增加边框和内边距,优化视觉体验
详细信息:
- 影响文件: src/pages/mine/index.vue, src/pages/plan/index.vue, src/pages/avatar/index.vue, src/pages/favorites/index.vue, src/pages/feedback/index.vue
- 技术栈: Vue 3, TailwindCSS, NutUI
- 测试状态: ✅ 已通过
[2026-01-27] - 导航组件修复与页面新增
新增
- 新增"产品详情"页面 (
src/pages/product-detail/index)- 还原设计稿 (
docs/design/manulife-V1/产品详情) 布局与交互 - 使用 Tailwind CSS 实现响应式布局
- 集成
NavHeader和TabBar组件 - 使用随机图片作为 Banner 占位,使用 NutUI 图标组件替代静态图标
- 注册新页面路由至
src/app.config.js
- 还原设计稿 (
新增
- 新增核心页面集合
- 新增"资料列表"页面 (
src/pages/material-list/index) - 新增"我的"页面 (
src/pages/mine),包含用户信息展示、功能菜单列表 - 新增"我的计划书"页面 (
src/pages/plan),实现计划书列表展示、搜索过滤、状态切换功能 - 新增"我的收藏"页面 (
src/pages/favorites),实现文章/资料收藏列表及分类筛选功能 - 新增"修改头像"页面 (
src/pages/avatar),实现头像展示与修改交互 - 新增"意见反馈"页面 (
src/pages/feedback),实现反馈类型选择、问题描述及截图上传表单 - 新增"登录"页面 (
src/pages/login),实现账号密码登录界面(含欢迎语、表单、登录按钮及功能链接) - 注册上述 6 个新页面路由至
src/app.config.js
- 新增"资料列表"页面 (
优化
- 优化
NavHeader组件 (src/components/NavHeader.vue)- 新增返回按钮逻辑:当页面栈深度大于1时,自动显示左侧返回按钮
- 优化布局结构,确保标题在显示返回按钮时依然保持绝对居中
修复
- 修复部分页面(我的计划书、修改头像、意见反馈)顶部导航栏及返回按钮缺失问题
- 补充
src/pages/plan/index.vue中NavHeader组件的引用 - 补充
src/pages/avatar/index.vue中NavHeader组件的引用 - 补充
src/pages/feedback/index.vue中NavHeader组件的引用
- 补充
优化
- 更新底部导航栏组件 (
src/components/TabBar.vue),将"我的"标签路径指向新的src/pages/mine/index - 优化页面样式实现,全面使用 Tailwind CSS 替代传统 CSS,提升开发效率与样式一致性
- 集成 NutUI 组件库 (
nut-avatar,nut-cell,nut-tabs,nut-searchbar,nut-uploader,nut-textarea) 提升交互体验
详细信息:
- 影响文件: 多个新页面及组件
- 技术栈: Vue 3, Taro, TailwindCSS, NutUI
- 测试状态: ✅ 已通过
[2026-01-25] - 响应式优化与组件重构
修复
- 修复 Vue 3 响应式组件警告:将包含 NutUI 图标组件的静态数据源从
ref升级为shallowRef,并结合markRaw使用- 彻底消除了 "Component that was made a reactive object" 警告
- 避免了 Vue 对组件对象进行不必要的深度代理
- 显著提升了页面初始化和渲染性能
- 涉及首页、TabBar、入职相关、签单相关及家办相关所有页面
优化
- 优化
NavHeader组件交互体验- 将页面头部固定在顶部 (
fixed) - 内置等高占位元素防止内容遮挡,提升滚动时的用户体验
- 将页面头部固定在顶部 (
重构
- 重构图标使用方式:创建
src/components/IconFont.vue组件封装 NutUI 图标库- 支持通过字符串
name属性配置图标 - 彻底移除
markRaw逻辑,简化代码结构并符合用户偏好 - 保留了 SVG 图标的高清与高性能特性
- 支持通过字符串
详细信息:
- 影响文件: src/components/IconFont.vue, src/components/NavHeader.vue, 及多个页面
- 技术栈: Vue 3, shallowRef, markRaw
- 测试状态: ✅ 已通过
[2026-01-23] - 资料知识库页面与导航组件
新增
- 新增"资料知识库"页面 (
src/pages/knowledge-base)- 还原设计稿布局
- 使用 Tailwind CSS 实现页面样式,包括自定义 Tabs 和卡片布局
- 调整卡片布局,将图片移至顶部,优化视觉体验
- 集成
NavHeader和TabBar组件,保持全站风格统一 - 配置新页面路由至
src/app.config.js - 使用随机图片填充内容,模拟真实数据展示
新增
- 创建通用导航头组件
src/components/NavHeader.vue,统一页面头部样式
重构
- 重构"入职相关"、"签单相关"、"家办相关"页面,使用
NavHeader组件替代硬编码的头部结构
详细信息:
- 影响文件: src/pages/knowledge-base/index.vue, src/components/NavHeader.vue, src/pages/onboarding/index.vue, src/pages/signing/index.vue, src/pages/family-office/index.vue
- 技术栈: Vue 3, TailwindCSS
- 测试状态: ✅ 已通过
[2026-01-20] - 家办相关页面新增
新增
- 新增"家办相关"页面 (
src/pages/family-office),复用"入职相关"页面布局 - 规划并实现家庭成员、健康档案、资产管理、生活服务四大功能板块
- 注册新页面路由至
src/app.config.js
详细信息:
- 影响文件: src/pages/family-office/index.vue, src/app.config.js
- 技术栈: Vue 3, TailwindCSS
- 测试状态: ✅ 已通过
[2026-01-18] - 项目初始化与基础页面
新增
- 初始化项目 Git 仓库
- 创建 .gitignore 配置文件
- 创建并切换到 develop 分支
新增
- 新增"入职相关"页面 (
src/pages/onboarding),1:1 还原设计稿 UI- 实现基于 Tailwind CSS 的页面布局与样式,精确适配设计稿参数
- 配置"入职相关"页面的自定义导航栏样式
- 注册新页面路由至
src/app.config.js
新增
- 新增"签单相关"页面 (
src/pages/signing),复用"入职相关"页面布局- 为"签单相关"页面配置自定义导航栏与渐变色背景样式
新增
- 新增可复用的底部导航栏组件 (
src/components/TabBar.vue),统一各页面的导航交互
详细信息:
- 影响文件: .gitignore, src/pages/onboarding/index.vue, src/pages/signing/index.vue, src/components/TabBar.vue, src/app.config.js
- 技术栈: Git, Vue 3, TailwindCSS
- 测试状态: ✅ 已通过
[2026-01-15] - 离线功能移除与首页重构
配置
- 暂时禁用授权模式功能 (
ENABLE_AUTH_MODE = false)- 拦截所有授权检查与自动跳转登录逻辑
- 禁用 401 自动续期拦截器
- 暂时禁用离线模式功能 (
ENABLE_OFFLINE_MODE = false)- 拦截所有离线缓存读写操作与轮询逻辑
修复
- 修复
src/pages/index/index.vue中ENABLE_OFFLINE_MODE引用缺失导致的报错 - 优化
src/pages/index/index.vue减少不必要的网络监听资源消耗
重构
- 重构首页 (
src/pages/index),使用 Taro + Vue 3 Setup 语法实现- 适配
docs/design/manulife-V1/首页设计稿,精确还原 UI - 转换 CSS 为 Less,并使用
rpx单位适配小程序响应式布局 - 整合离线网络检测与状态管理逻辑
- 更新首页导航栏标题为"臻奇智荟圈"
- 适配
优化
- 重构首页样式 (
src/pages/index),全面采用 Tailwind CSS 替代 Less- 替换静态图片资源为 Picsum 随机图源,提升演示灵活性
- 集成 NutUI 图标组件库,替换原有 SVG/图片图标
- 优化"入职相关"页面样式 (
src/pages/onboarding)- 使用 CSS 背景色替代设计稿切图背景
- 替换"入职相关"页面图标为 NutUI 标准图标库,提升加载性能与清晰度
- 优化"入职相关"与"签单相关"页面的视觉体验
- 引入渐变色背景系统(Header 及各板块标题)
- 修复"入职相关"页面首个板块与导航栏重叠的布局问题
优化
- 优化底部导航栏样式,移除 Home Indicator (底部灰条) 以符合设计稿
- 重构 TabBar 布局,移除绝对定位与固定高度,改用 Flexbox + Padding 实现更自然的垂直居中与适配
- 增加底部导航栏
active属性,支持不同页面高亮状态切换 - 重构首页、入职页、签单页,统一使用
TabBar组件 - 替换首页 (
src/pages/index) 自定义按钮为 NutUInut-button组件,并保留原有视觉样式
详细信息:
- 影响文件: src/pages/index/index.vue, src/pages/onboarding/index.vue, src/pages/signing/index.vue, src/components/TabBar.vue
- 技术栈: Vue 3, Taro, TailwindCSS, NutUI
- 测试状态: ✅ 已通过
[2026-01-12] - 离线功能移除
移除
- 删除项目所有离线功能相关逻辑
- 移除
src/composables/useOfflineBookingCache.js和useOfflineBookingCachePolling.js - 清理
src/app.js中的离线初始化代码 - 清理
src/utils/request.js中的弱网缓存拦截与提示逻辑 - 清理
src/pages/index/index.vue中的网络状态监听与离线模式代码 - 移除
src/utils/uiText.js及相关引用 - 移除
src/api/index.js中的离线专用接口定义
- 移除
- 更新配置文件,移除
ENABLE_OFFLINE_MODE开关
修复
- 修复构建告警:移除首页残留的
ENABLE_OFFLINE_MODE与@/utils/uiText引用
详细信息:
- 影响文件: 多个文件清理
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
[2026-01-10] - ESLint 配置修复
修复
- 修复 ESLint 无法解析 Vue SFC 导致 lint 全量报错:补齐 ESLint 配置与 Vue 解析依赖
- 修复 eslint-config-taro 在 Vue 项目中触发 React Hooks 规则导致误报的问题
详细信息:
- 影响文件: .eslintrc.js, package.json
- 技术栈: ESLint, Vue 3
- 测试状态: ✅ 已通过
[2026-01-08] - 文档预览优化
优化
- 优化 DocumentPreview 小程序端预览策略:无法获取文件大小时默认走在线预览
- 将 DocumentPreview 小程序端样式单位统一为 rpx
新增
- 补全文档预览示例页的 Excel / PPT 在线示例链接
详细信息:
- 影响文件: src/components/DocumentPreview.vue
- 技术栈: Vue 3, Taro
- 测试状态: ✅ 已通过
最后更新: 2026-02-01 维护者: Claude Code 项目: Manulife WeApp