CHANGELOG.md
79.4 KB
Changelog
本文档记录 Manulife WeApp 项目的所有重要变更。 格式基于 Keep a Changelog,
[2026-02-05] - 产品详情页图片预览支持
新增
-
图片预览支持: 更新
useFileOperationComposable- 添加
isImageFile()辅助函数,判断文件是否为图片 - 更新
viewFile()方法,图片文件使用Taro.previewImage预览 - 支持的图片格式:jpg, jpeg, png, gif, webp, bmp, svg
- 添加
-
产品详情页图片预览: 产品详情页附件支持图片预览
- 集成
useFileOperationComposable - 点击附件时自动判断文件类型并使用对应的预览方式
- 集成
优化
- 统一文件预览流程:
- 图片文件 →
Taro.previewImage(直接预览) - 视频文件 → 跳转视频播放页面
- 其他文件 → 下载后使用
Taro.openDocument打开
- 图片文件 →
详细信息:
-
影响文件:
- src/composables/useFileOperation.js
- src/pages/product-detail/index.vue
- 技术栈: Vue 3, Taro 4, Composition API
- 测试状态: 待测试
- 备注: 图片预览功能参考 material-list 页面的实现
[2026-02-05] - 埋点功能集成
新增
- 创建通用埋点 Composable:
src/composables/useEventTracking.js- 支持多种埋点类型(通过
EventType枚举扩展) - 当前实现
READ_FILE(阅读素材)事件追踪 - 自动处理错误,不影响用户体验
- 开发环境提供详细日志
- 提供便捷方法
trackFileRead()
- 支持多种埋点类型(通过
- 更新
ListItemActions组件,集成自动埋点- 新增
itemIdprop,用于关联埋点对象 - 点击"查看"按钮时自动发送埋点数据
- 埋点异步执行,不阻塞用户操作
- 新增
优化
- 埋点失败静默处理,不影响业务流程
- 使用
try-catch捕获埋点异常 - 仅在开发环境输出日志,生产环境静默
详细信息:
-
影响文件:
- src/composables/useEventTracking.js(新建)
- src/components/ListItemActions/index.vue
- 技术栈: Vue 3, Composition API
- 测试状态: 待测试
- 备注: API 接口已存在于 src/api/event.js
[2026-02-05] - 收藏页面联调完成
新增
- 接入收藏列表API (
listAPI),支持分页获取收藏数据 - 实现取消收藏功能 (
delAPI),支持删除单个收藏项 - 添加自定义loading spinner,替代NutUI组件
修改
- 移除收藏页面的分类Tabs逻辑,简化为统一列表展示
- 优化数据结构映射:
meta_id,name,src,created_time,size - 完善错误处理:添加try-catch和用户友好的错误提示
- 清理未使用的导入:IconFont, useGo
修复
- 修复收藏列表使用mock数据的问题,接入真实API
- 修复删除功能未调用后端接口的问题
详细信息:
- 影响文件: src/pages/favorites/index.vue
- 技术栈: Vue 3, Taro 4, Composition API
- 测试状态: 已通过代码审查
- 备注: API来源 docs/api-specs/favorite/
[2026-02-05] - 重构文档目录结构
文档
- 重构
docs/目录结构,提升文档组织清晰度- 删除重复文件:
DOCS_STRUCTURE.md(与 README.md 内容重复) - 文档归类优化:
-
auth-debug-guide.md→guides/auth-debug-guide.md(认证调试指南) -
TARO_QUICK_REFERENCE.md→guides/TARO_QUICK_REFERENCE.md(Taro 速查表) -
api-integration-log-template.md→api-specs/api-integration-log-template.md(API 联调模板) - 更新
README.md:完善目录结构说明,添加新归类文档的导航
- 删除重复文件:
收益
- 文档结构更清晰,按功能分类组织
- 减少顶层文件数量,仅保留核心文档
- 便于开发者快速查找所需文档
详细信息:
- 影响文件: docs/README.md, docs/guides/, docs/api-specs/
- 技术栈: 文档组织
- 测试状态: N/A
- 备注: 文档整理不影响代码功能
[2026-02-05] - 修复我的页面退出登录未定义变量错误
修复
- 修复"我的"页面退出登录功能中的未定义变量错误 (
src/pages/mine/index.vue)- 删除未定义的
store.changeUserInfo(null)调用 - 修复 ESLint 错误:
'store' is not defined no-undef -
userStore.logout()已经清除了所有用户信息(userInfo、isOpenid、isLoggedIn) -
mainStore在项目中未被使用,是"僵尸代码" - 用户信息是实时获取的(从 API 获取,不依赖本地缓存)
- 删除未定义的
文档
- 重组文档结构,创建
docs/reports/目录用于存放审核和分析报告- 按日期组织:
docs/reports/YYYY-MM-DD/ - 移动代码审核报告到
docs/reports/2026-02-05/code-review-2026-02-05.md - 移动逻辑分析报告到
docs/reports/2026-02-05/userinfo-storage-logic-analysis.md
- 按日期组织:
详细信息:
-
影响文件:
src/pages/mine/index.vue - 技术栈: Vue 3, Pinia
- 测试状态: ✅ 已通过
-
备注:
- 经过详细分析,确认删除此代码是安全的
- userStore.logout() 已经完整处理了用户状态清除
- mainStore.appUserInfo 从未被任何地方读取或使用
- 退出登录功能恢复正常
[2026-02-04] - 文档模块接口字段确认
文档
- 更新 API 接口联调日志(
docs/api-integration-log.md)- 文档模块接口状态更新:从"初稿"更新为"待联调"
- weekHotAPI(本周热门资料):字段已确认,更新接口文档
- fileListAPI(文档列表):字段已确认,更新接口文档,修正接口路径
- 更新总体进度:26个接口(12个已完成,11个待联调,3个已废弃)
- 更新接口文档版本至 v2.4
详细信息:
-
影响文件:
-
docs/api-integration-log.md- API 联调日志更新 -
src/api/file.js- 接口文档 JSDoc 注释已更新
-
- 技术栈: 文档
- 测试状态: ✅ 文档已更新,待联调
-
备注:
- 文档模块的两个接口字段已确认,可以开始前端集成和联调工作
- fileListAPI 接口路径修正为
/srv/?a=file&t=file_list
[2026-02-04] - 知识库页面新增搜索功能
新增
- 知识库页面(
src/pages/knowledge-base/index.vue)- 添加 SearchBar 搜索组件
- 实现实时搜索功能(带 500ms 防抖优化)
- 支持按回车键立即搜索
- 支持一键清空搜索内容
- 搜索与分类筛选联动(可组合使用)
优化
- 搜索体验优化
- 输入时实时搜索(防抖延迟 500ms)
- 按回车键立即搜索(取消防抖定时器)
- 清空搜索时恢复当前分类的所有产品
- 切换分类时保持搜索状态
技术实现
- API 接口:使用
listAPI的keyword参数 - 防抖逻辑:使用
setTimeout实现搜索防抖 - 状态管理:新增
searchValue搜索状态 - 样式布局:参考 plan 页面的搜索栏布局
[2026-02-04] - 清理 Apifox 依赖并优化工具链
移除
- Apifox API 相关脚本(不再工作)
- 删除
scripts/apifox-to-openapi.js- 无法从 API 获取数据 - 删除
scripts/apifox-sync.js- API 同步脚本 - 删除
scripts/debug-apifox-response.js- 调试脚本 - 删除
scripts/test-apifox-connection.js- 测试脚本 - 删除
scripts/test-apifox-endpoints.js- 测试脚本 - 删除
scripts/test-apifox-export.js- 测试脚本 - 删除
.env.apifox配置文件
- 删除
- package.json 命令清理
- 移除
api:sync命令(依赖 Apifox API) - 移除
api:test命令(依赖已删除的脚本) - 保留
api:generate命令(从 OpenAPI 文档生成代码)
- 移除
新增
- API 文档维护指南(
scripts/API_GUIDE.md)- 详细说明手动维护 OpenAPI 文档的工作流程
- 提供完整的文档格式示例和最佳实践
- 包含故障排除指南
- 新增文档模块接口(初稿)
-
weekHotAPI- 本周热门资料 -
fileListAPI- 文档列表 - 标记为初稿状态,后端字段未最终确定
-
优化
- API 生成脚本(
scripts/generateApiFromOpenAPI.js)- 修复新增模块接口信息显示为 undefined 的问题
- 使用
extractAPIInfo提取完整的接口信息(方法、路径、描述) - 改进接口信息显示逻辑
文档
- 更新 API 接口联调日志(
docs/api-integration-log.md)- 新增文档模块:2个初稿接口(字段未确定)
- 更新总体进度:26个接口(12已完成,9待联调,2初稿,3已废弃)
- 文档版本升级到 v2.3
- 添加移除 Apifox 依赖的变更记录
- 更新快速索引,添加文档模块链接
详细信息:
-
影响文件:
-
scripts/apifox-to-openapi.js(已删除) -
scripts/apifox-sync.js(已删除) -
scripts/debug-apifox-response.js(已删除) -
scripts/test-apifox-connection.js(已删除) -
scripts/test-apifox-endpoints.js(已删除) -
scripts/test-apifox-export.js(已删除) -
.env.apifox(已删除) -
scripts/API_GUIDE.md(新增) -
scripts/generateApiFromOpenAPI.js(修复) -
package.json(命令清理) -
docs/api-integration-log.md(更新) -
docs/api-specs/file/week_hot.md(新增) -
docs/api-specs/get_file_list/file_list.md(新增)
-
- 技术栈: Node.js, fs 模块, js-yaml
- 测试状态: ✅ 已测试通过
-
备注:
- 项目现在完全采用手动维护 OpenAPI 文档的方式
- 工作流:从 Apifox 导出 → 放入
docs/api-specs/→ 运行pnpm api:generate - 不再依赖 Apifox API,更加稳定可控
- 文档模块接口标记为初稿,待后端确认字段后更新
[2026-02-04] - 优化 OpenAPI 文档生成工具
优化
- API 文档生成脚本(
scripts/generateApiFromOpenAPI.js)- 添加 CLAUDE.md 文件过滤,避免将文档文件当作 API 文档处理
- 改进新增模块检测逻辑,显示新增模块包含的所有接口
- 优化变更检测报告,提升可读性
- 在 3 处添加了
.md文件过滤(扫描模块、对比变更、文件列表)
文档
- 更新 API 接口联调日志(
docs/api-integration-log.md)- 收藏模块:3个接口后端已完成,标记为待联调
- 埋点模块:1个接口后端已完成,标记为待联调
- 更新总体进度统计:24个接口(12已完成,9待联调,3已废弃)
详细信息:
-
影响文件:
-
scripts/generateApiFromOpenAPI.js- API 文档生成脚本优化 -
docs/api-integration-log.md- API 联调日志更新
-
- 技术栈: Node.js, fs 模块
- 测试状态: ✅ 已测试通过
-
备注:
- 扫描目录时自动忽略
CLAUDE.md文件 - 新增模块时会显示该模块包含的所有接口信息(方法、路径、描述)
- 变更检测报告更加准确和详细
- 扫描目录时自动忽略
[2026-02-04] - 优化视频播放用户体验
优化
- 视频播放页面加载逻辑(
src/pages/video-player/index.vue)- 移除页面初始加载状态,不再遮挡视频播放器
- 移除加载状态遮罩层,使用视频播放器自带的加载指示器
- 简化加载逻辑,提升用户体验
- 测试视频 URL 更新(
src/pages/index/index.vue)- 更新为 CDN 视频地址
https://cdn.ipadbiz.cn/mlaj/video/welcome-bg.mp4
- 更新为 CDN 视频地址
- 页面布局优化(
src/pages/video-player/index.vue)- 修复页面高度问题,使用 flex 布局自动填充剩余空间
- 移除
overflow: hidden防止页面滚动
详细信息:
-
影响文件:
-
src/pages/video-player/index.vue- 优化加载逻辑和页面布局 -
src/pages/index/index.vue- 更新测试视频 URL
-
- 技术栈: Vue 3, Taro 4, 微信小程序
- 测试状态: ✅ 已测试通过
-
备注:
- 视频播放器组件自带完整的加载和控制功能
- 页面高度固定为 100vh,不会出现滚动条
- 错误提示功能保留,仅在真正出错时显示
[2026-02-04] - 修复视频播放超时处理
修复
- 视频播放页面加载超时机制(
src/pages/video-player/index.vue)- 修复定时器未正确清理的问题
- 在
onCanPlay、onPlay、onError事件中清理定时器 - 在
useDidHide生命周期中添加定时器清理 - 完善视频加载失败后的错误提示
- 测试视频 URL 替换(
src/pages/index/index.vue)- 替换无法访问的测试视频 URL
- 使用微信小程序官方示例视频作为临时测试资源
- 添加 TODO 注释提醒替换为实际 CDN 地址
详细信息:
-
影响文件:
-
src/pages/video-player/index.vue- 修复超时处理逻辑 -
src/pages/index/index.vue- 更新测试视频 URL
-
- 技术栈: Vue 3, Taro 4, 微信小程序
- 测试状态: ✅ 已修复,待测试
-
备注:
- 视频加载超时 10 秒后自动显示错误提示
- 页面隐藏时自动清理定时器,避免内存泄漏
- 视频播放成功或失败都会清理定时器
[2026-02-04] - 新增视频播放功能
新增
- 视频文件类型判断(
src/utils/tools.js)- 添加
isVideoFile()函数,识别 MP4、M4V、MOV 等视频格式 - 支持微信小程序兼容的视频格式
- 添加
- 视频播放页面(
src/pages/video-player/index.vue)- 使用 Taro 原生
<Video>组件实现视频播放 - 支持全屏播放、进度条、音量控制等完整功能
- 自定义加载状态和错误提示界面
- 页面隐藏时自动暂停视频播放
- 使用 Taro 原生
- 文件操作视频支持(
src/composables/useFileOperation.js)- 点击查看视频文件时自动跳转到视频播放页面
- 其他文件类型保持原有下载预览逻辑
优化
- 首页热门资料 mock 数据(
src/pages/index/index.vue)- 添加测试视频资料(第1期培训视频)
- 使用公开的测试视频 URL 供开发测试
详细信息:
-
影响文件:
-
src/utils/tools.js- 新增isVideoFile()函数 -
src/composables/useFileOperation.js- 添加视频文件判断逻辑 -
src/pages/video-player/index.vue- 新建视频播放页面 -
src/pages/video-player/index.config.js- 新建页面配置 -
src/app.config.js- 注册视频播放页面路由 -
src/pages/index/index.vue- 添加视频资料 mock 数据
-
- 技术栈: Vue 3, Taro 4, 微信小程序 Video 组件
- 测试状态: ✅ 开发完成,待测试
-
备注:
- ⚠️ NutUI 没有
nut-loading组件,已改用原生样式 - 微信小程序支持的视频格式:MP4、M4V、MOV
- 视频文件图标和标签已由
documentIcons.js支持
- ⚠️ NutUI 没有
[2026-02-04] - 模块名称优化
优化
- 将"工具箱"模块更名为"客户服务"
- 更新首页网格导航中的显示名称
- 同步更新设计文档中的相关引用
详细信息:
-
影响文件:
src/pages/index/index.vuedocs/design/manulife-V1/done/首页/code/index.vue
- 技术栈: Vue 3
- 测试状态: ✅ 已验证
- 备注: 仅修改显示名称,未涉及功能变更
[2026-02-03] - 新增 TabBar 红点提醒功能(预开发)
新增
- TabBar 红点提醒功能(
src/components/TabBar.vue)- 在"我的"按钮右上角显示红点,提示用户有未读消息
- 红点状态由用户信息接口返回的
unread_count字段决定 - 支持通过配置文件全局开关功能
- 功能开关配置系统(
src/config/features.js)- 集中管理功能的启用/禁用状态
- 支持灰度发布和功能回滚
- 可配置红点字段名称和显示阈值
- User Store 红点状态自动计算(
src/stores/user.js)- 新增
tabBarBadges计算属性,自动根据用户信息计算红点状态 - 支持数字和布尔类型字段
- 响应式更新,无需手动管理
- 新增
- 首页用户信息自动刷新(
src/pages/index/index.vue)- 页面显示时自动刷新用户信息,更新红点状态
- 只在已登录状态下请求,避免无效调用
- 添加错误处理,提升健壮性
优化
- TabBar 组件自动从 Store 读取红点状态
- 移除手动传递的
badgesprop - 组件内部自动管理红点显示逻辑
- 简化使用方式,降低维护成本
- 移除手动传递的
详细信息:
-
影响文件:
-
src/config/features.js(新建) src/components/TabBar.vuesrc/stores/user.jssrc/pages/index/index.vue
-
- 技术栈: Vue 3, Pinia, Composition API, Computed
- 测试状态: ⚠️ 预开发阶段(功能开关默认关闭)
-
备注:
- 功能默认关闭,等后端接口字段确定后再开启
- 当前使用
unread_count字段,后续可能调整 - 红点显示阈值默认为 1(即有未读消息时显示)
- 完整使用文档:
docs/features/tabbar-badge.md
[2026-02-03] - 优化搜索页清空逻辑和引导文案
优化
- 优化搜索页面的清空逻辑,清空时重置到初始状态(
src/pages/search/index.vue)- 点击清空按钮后,
hasSearched状态重置为false - 不再显示"暂无搜索结果",而是回到初始状态引导用户
- 实时搜索监听器优化:清空关键词时也重置到初始状态
- 点击清空按钮后,
- 添加分类相关的动态引导文案,提升用户体验
- 全部分类:显示"搜索培训资料、案例、产品"+"输入关键词开始搜索"
- 产品分类:显示"搜索保险产品"+"输入产品名称或类型,如'重疾险'"
- 资料分类:显示"搜索培训资料"+"输入资料关键词,如'销售话术'"
详细信息:
-
影响文件:
src/pages/search/index.vue - 技术栈: Vue 3, Composition API, Computed
- 测试状态: ✅ 已完成
-
备注:
- 清空逻辑更符合用户预期,不会显示令人困惑的"暂无搜索结果"
- 分类相关的引导文案帮助用户明确可以搜索什么内容
- 使用
computed属性initialStateText根据当前分类动态返回文案
[2026-02-03] - 优化列表空状态显示
优化
- 统一使用
nut-empty组件替换自定义的空状态展示,提升 UI 一致性- 搜索页 (
src/pages/search/index.vue):搜索无结果时显示 - 知识库页 (
src/pages/knowledge-base/index.vue):产品列表为空时显示 - 资料列表页 (
src/pages/material-list/index.vue):资料列表为空时显示 - 计划书页 (
src/pages/plan/index.vue):计划书列表为空时显示 - 收藏页 (
src/pages/favorites/index.vue):收藏列表为空时显示 - 意见反馈页 (
src/pages/feedback-list/index.vue):反馈记录为空时显示
- 搜索页 (
- 为空状态添加合适的描述文字,如"暂无搜索结果"、"暂无相关产品"等
详细信息:
-
影响文件:
src/pages/search/index.vuesrc/pages/knowledge-base/index.vuesrc/pages/material-list/index.vuesrc/pages/plan/index.vuesrc/pages/favorites/index.vuesrc/pages/feedback-list/index.vue
- 技术栈: Vue 3, NutUI
- 测试状态: ✅ 已完成 (代码逻辑验证)
[2026-02-03] - 更新项目文档结构
文档
- 更新
CLAUDE.md与项目实际结构保持一致- 新增接口联调日志和变更日志的文档索引
- 更正身份认证流程说明(使用
openid.js替代不存在的authRedirect.js) - 删除不存在的
auth/index页面引用 - 新增 3 个页面文档:plan-submit-result、feedback-list、test-tabs
- 新增 11 个组件文档:DocumentPreview、PdfPreview、OfficeViewer、SectionCard、SectionItem、ListItemActions、FilterTabs、SearchBar、indexNav、PlanSchemes、PlanPopup
- 新增 3 个工具函数文档:documentIcons.js、tools.js、openid.js
- 更新关键文件总结和会话管理说明
详细信息:
-
影响文件:
CLAUDE.md - 技术栈: 文档
- 测试状态: N/A
- 备注: 提升文档准确性和开发效率
[2026-02-03] - 新增消息模块
新增
- 消息列表页 (
src/pages/message/index.vue)- 支持分页加载、下拉刷新、上拉加载更多
- 使用 NutUI 空状态组件处理无数据场景
- 消息详情页 (
src/pages/message-detail/index.vue)- 支持富文本内容展示
- 处理图片自适应宽度
- "我的"页面入口
- 在个人中心菜单列表中添加"我的消息"入口
配置
- 更新
src/app.config.js注册新页面路由
详细信息:
-
影响文件:
src/pages/message/*,src/pages/message-detail/*,src/app.config.js,src/pages/mine/index.vue - 技术栈: Vue 3, Taro 4, TailwindCSS, NutUI
- 测试状态: ✅ 已完成
[2026-02-03] - 优化产品详情页附件模块
新增
- 产品详情页附件模块添加使用说明
- 在"相关附件"标题下方添加灰色提示文字
- 提示用户"如无法下载,可在预览页点击右上角「...」转发至其他设备"
- 优化附件下载的用户体验
- 附件列表添加文件类型显示
- 在文件大小前面显示文件类型(如:PDF · 2.5MB)
- 使用
getDocumentLabel工具函数自动识别文件类型 - 支持常见文件格式:PDF、Word、Excel、PPT、图片、视频等
详细信息:
-
影响文件:
src/pages/product-detail/index.vue - 技术栈: Vue 3, Taro 4, TailwindCSS
- 测试状态: ✅ 已完成
[2026-02-03] - 修复头像页面圆形背景变形
修复
- 修复头像页面相机图标背景变形问题
- 将相机图标的背景容器从
p-[16rpx]改为固定宽高w-[96rpx] h-[96rpx] - 添加
flex items-center justify-center确保图标在圆形中完美居中 - 配合
rounded-full确保背景始终保持正圆形,不受图标组件尺寸影响
- 将相机图标的背景容器从
详细信息:
-
影响文件:
src/pages/avatar/index.vue - 技术栈: Vue 3, Taro 4, TailwindCSS
- 测试状态: ✅ 已修复
[2026-02-03] - 修复知识库页面样式问题
修复
- 修复知识库页面底部提示文字未水平居中的问题
- 将
scroll-view上的px-[40rpx]内边距移至内部的产品列表容器 - 确保"加载中"、"加载更多"、"没有更多了"、"暂无相关产品"等全宽状态提示条能够相对于屏幕水平居中
- 保持产品列表网格的视觉布局不变
- 将
详细信息:
-
影响文件:
src/pages/knowledge-base/index.vue - 技术栈: Vue 3, Taro 4, TailwindCSS
- 测试状态: ✅ 已修复
[2026-02-03] - 知识库页面产品列表接口集成
新增
- 知识库页面集成产品列表 API (
listAPI)- 从 API 动态获取分类列表,生成自定义标签栏
- 实现分类筛选功能,点击分类传递
cid参数 - 每次切换分类重置分页状态(page=0, 清空列表)
- 实现滚动加载功能,使用
scroll-view组件 - 严格遵循接口文档字段映射(product_name、cover_image、recommend、tags 等)
修复
- 修复空状态文字水平居中问题
- 为
<text>元素添加w-full text-center类 - 确保 Taro 小程序环境下正确居中显示
- 为
文档
- 更新 API 集成日志
docs/api-integration-log.md- 添加产品模块记录(产品列表接口)
- 更新进度统计:19 个接口(15 个已完成,4 个后端开发中)
详细信息:
-
影响文件:
-
src/pages/knowledge-base/index.vue(API 集成 + 滚动加载) -
docs/api-integration-log.md(API 集成日志更新)
-
- 技术栈: Vue 3, Taro 4, Composition API, NutUI
- 测试状态: ⏳ 待联调
-
备注:
- 数据结构严格遵循 API 规范
- 支持分页加载:page(从 0 开始)、limit(默认 10)
- 分类筛选:传递
cid参数 - 空状态显示:暂无相关产品
[2026-02-03] - 修复用户头像接口集成
修复
- 修复获取个人信息接口字段访问错误
-
mine/index.vue: 头像显示从userInfo.avatar_url改为userInfo.avatar.src - API 返回
avatar对象(包含 name, hash, src, height, width, size) - 之前错误访问不存在的
avatar_url字段导致头像无法显示
-
- 修复更新个人资料接口参数结构错误
-
avatar/index.vue: 传递完整avatar对象而非avatar_meta_id - API 规范要求
{ avatar: { name, hash, src, height, width, size } } - 之前只传
{ avatar_meta_id: xxx }不符合接口规范
-
- 修复头像上传接口数据映射错误
- 根据实际上传接口返回结构正确映射字段
-
name: 从data.data.file.name获取 -
hash: 从data.data.res.hash获取 -
src: 从data.data.src获取 -
height/width: 从data.data.height/width获取 -
size: 从data.data.file.size获取
新增
- 头像设置页面加载时获取用户当前头像
- 进入页面时调用
getProfileAPI()获取用户信息 - 如果用户已有头像则显示当前头像,否则显示默认头像
- 提升用户体验,避免每次看到默认头像
- 进入页面时调用
文档
- 更新
src/api/user.js中updateProfileAPI的 JSDoc 注释- 明确参数结构:
avatar对象包含完整字段 - 添加所有字段的类型和说明
- 明确参数结构:
详细信息:
-
影响文件:
-
src/pages/mine/index.vue(头像显示字段修复) -
src/pages/avatar/index.vue(接口参数修复 + 获取当前头像) -
src/api/user.js(API 注释更新)
-
- 技术栈: Vue 3, Taro 4, Composition API
- 测试状态: ✅ 已通过
-
备注:
- 上传接口返回示例:
json { "code": 0, "data": { "src": "https://cdn...", "file": { "name": "...", "size": 3806359 }, "res": { "hash": "...", "image_info": { "width": 1766, "height": 1770 } }, "width": 1766, "height": 1770 } } - 更新头像接口请求格式:
javascript updateProfileAPI({ avatar: { name: "文件名", hash: "文件hash", src: "https://cdn...", height: "1770", width: "1766", size: 3806359 } })
- 上传接口返回示例:
[2026-02-03] - 产品模块接口集成完成
新增
- 首页热卖产品模块集成产品列表 API
- 使用
listAPI接口,参数recommend=hot获取热卖产品 - 移除硬编码产品数据,改用 API 动态返回的产品列表
- 实现动态标签样式,根据 API 返回的
bg_color和text_color字段设置标签背景色和文字颜色 - 影响文件:src/pages/index/index.vue
- 使用
修改
- 产品详情页集成详情 API
- 使用
detailAPI接口获取产品详情数据 - "产品特色" 改为 "产品描述",使用
<rich-text>组件渲染富文本内容(product_description字段) - 附件大小直接使用
file_size_formatted字段显示格式化后的文件大小 - 移除收藏功能(产品模块无此功能)
- 移除
nut-loading组件(Taro 不支持),改用纯 CSS 实现的加载动画 - 影响文件:src/pages/product-detail/index.vue
- 使用
修复
- 修复首页热卖产品模块重复调用 API 的问题
- 修复产品详情页
nut-loading组件不兼容问题,使用 CSSanimate-spin实现加载动画
文档
- 更新 API 集成日志
docs/api-integration-log.md- 添加产品模块记录,包含产品列表和产品详情 2 个接口
- 更新进度统计:16 个接口(11 个已完成,3 个已废弃,2 个开发中)
- 更新模块快速索引,添加产品模块
- 更新 API 规范文档状态
-
docs/api-specs/get_product/list.md状态改为done -
docs/api-specs/get_product/detail.md状态改为done
-
详细信息:
-
影响文件:
-
src/pages/index/index.vue(热卖产品模块 API 集成) -
src/pages/product-detail/index.vue(产品详情 API 集成) -
docs/api-integration-log.md(API 集成日志更新) -
docs/api-specs/get_product/list.md(状态更新) -
docs/api-specs/get_product/detail.md(状态更新)
-
- 技术栈: Vue 3, Taro 4, Composition API
- 测试状态: ✅ 已通过
-
备注:
- 热卖产品接口参数:
recommend=hot,无需传 limit、page、cid 参数 - 产品标签支持自定义背景色和文字颜色
- 富文本使用 Taro 的
<rich-text>组件渲染
- 热卖产品接口参数:
[2026-02-03] - 修复反馈列表无法滚动
修复
- 修复反馈列表页滚动失效的问题
- scroll-view 改用 flex: 1 撑满剩余空间,避免 100% 高度在小程序端计算异常
- 增加 flex 布局的 min-height: 0,确保可滚动区域正确收缩并启用内部滚动
- 增加列表内容底部内边距,避免被底部固定按钮遮挡
- 影响文件:src/pages/feedback-list/index.vue
详细信息:
- 影响文件: src/pages/feedback-list/index.vue
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: ✅ 已通过
[2026-02-03] - 优化反馈列表视觉设计
样式
- 优化反馈列表页面(Feedback List)的视觉设计
- 调整反馈类型(Type)标签样式,改为圆角矩形(rounded-[8rpx]),减小字号并加粗,使其更像分类标签
- 重构状态(Status)显示样式,采用"圆点+文字"的设计模式,区分于类型标签,提升视觉层级区分度
- 影响文件:src/pages/feedback-list/index.vue
详细信息:
- 影响文件: src/pages/feedback-list/index.vue
- 技术栈: Vue 3, Taro, TailwindCSS
- 测试状态: ✅ 已通过
-
备注:
- 增强了列表项中关键信息的辨识度
- 解决了类型和状态样式过于雷同的问题
[2026-02-03] - 意见反馈模块完成
新增
- 实现意见反馈列表功能
- 支持分页加载反馈记录
- 显示反馈类型、状态、内容、图片
- 支持图片预览功能
- 从提交页返回时自动刷新列表
- 实现意见反馈提交功能
- 支持选择反馈类型(功能建议/问题反馈/其他)
- 支持上传最多 3 张图片(5MB 限制)
- 图片审核不通过时提示用户
- 提交成功后返回列表页
修复
- 修复
useShow导入错误,改用useDidShow生命周期钩子 - 修复
onMounted导入错误,从 Vue 导入而非 Taro - 修复图片显示错误,
images字段改为数组格式处理 - 移除 NutUI Loading 组件,使用自定义 CSS spinner
优化
- 调整导航流程:我的 → 反馈列表 → 提交反馈
- 添加页面下拉刷新支持
- 使用
useDidShow实现列表自动刷新
文档
- 更新 API 文档
docs/api-specs/feedback/add.md- 修正接口名称为
addAPI - 更新
images参数为数组格式 - 添加完整的代码示例
- 修正接口名称为
详细信息:
-
影响文件:
-
src/pages/feedback-list/index.vue(新增) -
src/pages/feedback-list/index.config.js(新增) -
src/pages/feedback/index.vue(更新) -
src/api/feedback.js(更新) -
src/app.config.js(注册路由) -
src/pages/mine/index.vue(导航入口) -
docs/api-specs/feedback/add.md(文档更新)
-
- 技术栈: Vue 3, Taro 4, NutUI, Composition API
- 测试状态: ✅ 已通过
-
备注:
- 反馈类别:1=功能建议, 3=问题反馈, 7=其他问题
- 图片上传使用
Taro.uploadFile,支持图片审核 - 列表使用
useDidShow实现返回时自动刷新
📋 变更记录模板
每次添加新记录时,请使用以下标准格式:
## [YYYY-MM-DD] - 简短描述(2-8个字)
### 类型(新增/修复/优化/重构/文档/配置)
- 具体变更内容 1
- 详细说明
- 影响文件:path/to/file
- 具体变更内容 2
---
**详细信息**:
- **影响文件**: file1.vue, file2.js
- **技术栈**: Vue 3, Taro, NutUI
- **测试状态**: ✅ 已通过 / ⏳ 未测试 / ❌ 已跳过
- **备注**:
- 重要说明 1
- 重要说明 2
类型说明:
-
新增- 新功能 -
修复- Bug 修复 -
优化- 性能或代码优化 -
重构- 代码重构 -
文档- 文档更新 -
配置- 配置更改 -
样式- UI/样式更改
📊 快速统计
- 总变更数: 59+
- 新增功能: 26+
- 优化改进: 28+
- 问题修复: 13+
- 文档更新: 13+
[2026-02-03] - 修复头像上传功能
修复
- 修复
src/api/common.js中Taro is not defined错误- 添加
import Taro from '@tarojs/taro'导入语句 - 影响:src/api/common.js
- 添加
- 简化头像上传流程,改用
Taro.uploadFile直接上传到服务器- 移除七牛云上传流程,改用直接上传
- 添加图片审核支持(image_audit=1)
- 修复头像显示样式(object-fit: cover)
- 影响:src/pages/avatar/index.vue
详细信息:
- 影响文件: src/api/common.js, src/pages/avatar/index.vue
- 技术栈: Taro 4.x, Vue 3
- 测试状态: ✅ 已通过
-
备注:
- 上传流程:选择图片 → Taro.uploadFile 直接上传到服务器 → 保存头像 URL
- 支持图片大小限制(5MB)
- 支持图片审核,审核不通过时提示用户
[2026-02-03] - 新增头像修改页面接口记录
文档
- 更新接口联调工作记录文档 (
docs/api-integration-log.md) - 新增通用模块接口记录(3个):
- 获取七牛上传 Token (
qiniuTokenAPI) - ⏳ 后端开发中 - 保存文件信息 (
saveFileAPI) - ⏳ 后端开发中 - 上传图片到七牛云 (
uploadImageToQiniuAPI) - ⏳ 后端开发中
- 获取七牛上传 Token (
- 更新总体进度:14个接口(5个已完成,9个后端开发中)
详细信息:
- 影响文件: docs/api-integration-log.md, src/pages/avatar/index.vue, src/api/common.js
- 技术栈: Vue 3, Taro, 七牛云
- 测试状态: ⏳ 后端开发中
-
备注:
- 头像修改页面已实现前端逻辑
- 图片上传流程:选择图片 → 七牛云上传 → 保存到服务器
- 等待后端接口开发完成后联调
[2026-02-03] - 登录接口联调完成
文档
- 更新接口联调工作记录文档 (
docs/api-integration-log.md) - 登录接口联调完成,状态更新为 ✅ 已完成
- 更新总体进度:10个接口(5个已完成,5个后端开发中)
详细信息:
- 影响文件: docs/api-integration-log.md
- 技术栈: 文档
- 测试状态: ✅ 已通过
-
备注:
- 登录接口(邮箱账号密码)联调完成
- 接口正常工作,前端集成完成
[2026-02-03] - 新增接口联调记录(登录及反馈消息模块)
文档
- 更新接口联调工作记录文档 (
docs/api-integration-log.md) - 新增 6 个接口记录:
- 登录(邮箱账号密码)- 🔄 联调中
- 更新个人资料 - ⏳ 后端开发中
- 意见反馈列表 - ⏳ 后端开发中
- 提交意见反馈 - ⏳ 后端开发中
- 我的消息列表 - ⏳ 后端开发中
- 消息详情 - ⏳ 后端开发中
- 更新总体进度:10个接口(4个已完成,1个联调中,5个后端开发中)
详细信息:
- 影响文件: docs/api-integration-log.md
- 技术栈: 文档
- 测试状态: 部分完成
-
备注:
- 登录接口前端已实现,待联调
- 其他 5 个接口后端开发中
[2026-02-03] - 记录用户中心模块接口联调
文档
- 更新接口联调工作记录文档 (
docs/api-integration-log.md) - 记录 4 个已完成的用户中心接口:
- 小程序授权 (
miniProgramAuthAPI) - 查询登录状态 (
loginStatusAPI) - 获取个人信息 (
getProfileAPI) - 退出登录 (
logoutAPI)
- 小程序授权 (
- 更新总体进度统计:4/4 已完成 (100%)
详细信息:
- 影响文件: docs/api-integration-log.md
- 技术栈: 文档
- 测试状态: ✅ 已通过(所有接口均已联调完成)
-
备注:
- 所有接口调用位置已记录
- 接口实现逻辑已说明
- 无阻塞问题
[2026-02-03] - 新增接口联调工作记录文档
文档
- 创建接口联调工作记录文档 (
docs/api-integration-log.md) - 记录接口文档更新情况和页面实际调试情况
- 提供接口联调模板 (
docs/api-integration-log-template.md) - 包含总体进度、接口明细、问题汇总、进度追踪等模块
详细信息:
- 影响文件: docs/api-integration-log.md, docs/api-integration-log-template.md
- 技术栈: 文档
- 测试状态: N/A
-
备注:
- 记录接口文档更新(版本、变更内容、变更原因)
- 记录页面调试情况(问题、解决方案、状态)
- 支持按状态、模块、负责人快速索引
- 便于前后端对接会议使用
[2026-02-02] - 鉴权重构 - SessionId 动态获取规范
文档
- 更新鉴权架构文档,明确 sessionid 动态获取规范
- 每次请求前从
localStorage.sessionid读取,设置到请求头的cookie字段 - 确保所有请求都带上最新的 sessionid
- 影响文件:docs/specs/2026-02-02-auth-refactoring.md
重构
- 分离微信授权(openid)和用户登录两个独立概念
- 移除接口白名单机制,所有接口直接发送
- 简化 401 处理,统一跳转登录页
- 新增
src/utils/openid.js- 微信授权管理 - 新增
src/stores/user.js- 用户状态管理(Pinia) - 删除旧的
src/utils/authRedirect.js授权逻辑 - 影响文件:src/app.js, src/utils/request.js, src/pages/login/index.vue, src/pages/mine/index.vue
详细信息:
- 影响文件: docs/specs/2026-02-02-auth-refactoring.md, src/utils/request.js
- 技术栈: Taro, Pinia, Axios
- 测试状态: ⏳ 待测试
-
备注:
- 重要设定:sessionid 必须动态获取并设置到请求头
- 实现位置:
src/utils/request.js请求拦截器(第157-166行) - 存储:
localStorage.sessionid - 请求头:
config.headers.cookie = sessionid
[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