1. 04 Feb, 2026 10 commits
    • - 更新 API 接口联调日志
        - 文档模块接口状态从"初稿"更新为"待联调"
        - weekHotAPI(本周热门资料):字段已确认
        - fileListAPI(文档列表):字段已确认,修正接口路径为 `/srv/?a=file&t=file_list`
        - 更新总体进度:26个接口(12个已完成,11个待联调,3个已废弃)
      - 更新 CHANGELOG 记录本次文档更新
      - 更新接口文档版本至 v2.4
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 新增功能:
      - 添加 SearchBar 搜索组件
      - 实现实时搜索功能(带 500ms 防抖优化)
      - 支持按回车键立即搜索
      - 支持一键清空搜索内容
      - 搜索与分类筛选联动(可组合使用)
      
      优化体验:
      - 输入时实时搜索(防抖延迟 500ms)
      - 按回车键立即搜索(取消防抖定时器)
      - 清空搜索时恢复当前分类的所有产品
      - 切换分类时保持搜索状态
      
      技术实现:
      - API 接口:使用 listAPI 的 keyword 参数
      - 防抖逻辑:使用 setTimeout 实现搜索防抖
      - 状态管理:新增 searchValue 搜索状态
      - 样式布局:参考 plan 页面的搜索栏布局
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 将状态判断从严格相等(===)改为宽松相等(==)
      - 提高对数字/字符串类型混用的兼容性
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 将“Manulife 臻奇智荟圈”更新为“Manulife 臻奇荟”,以匹配最新的品牌命名规范。
      hookehuyr authored
    • - 将 .claude/ 目录添加到 .gitignore 以避免提交 IDE 配置文件
      - 更新首页显示的应用名称为“臻奇荟”
      - 在 Claude IDE 配置中移除不再使用的 Apifox 相关脚本
      - 修正 PlanPopup 组件的类型声明文件路径
      hookehuyr authored
    • - 删除 7 个不再工作的 Apifox API 相关脚本
      - 删除 .env.apifox 配置文件
      - 简化 package.json 命令(移除 api:sync 和 api:test)
      - 修复 API 生成工具:新增模块接口信息显示为 undefined
      - 新增文档模块接口(初稿):weekHotAPI、fileListAPI
      - 创建 API_GUIDE.md 使用指南
      - 更新 API 联调日志(v2.3)和 CHANGELOG
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 优化 API 文档生成脚本
        - 添加 CLAUDE.md 文件过滤,避免将文档文件当作 API 文档处理
        - 改进新增模块检测逻辑,显示新增模块包含的所有接口
        - 优化变更检测报告,提升可读性
      
      - 更新 API 接口联调日志
        - 收藏模块:3个接口后端已完成,标记为待联调
        - 埋点模块:1个接口后端已完成,标记为待联调
        - 更新总体进度:24个接口(12已完成,9待联调,3已废弃)
      
      - 新增埋点模块
        - 添加埋点接口(addAPI)
        - 生成 API 文档和接口代码
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 移除视频中央的播放/暂停按钮,避免遮挡画面
      - 将播放控制集成到底部进度条区域(play-btn-position='bottom')
      - 优化播放结束提示为弱提示(移除图标,缩短显示时间)
      
      优化用户观看体验,提供更沉浸式的视频播放效果。
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 新增功能:
      - 添加视频文件类型判断(MP4、M4V、MOV)
      - 创建视频播放页面,支持全屏播放、进度控制等功能
      - 文件操作支持视频,点击查看自动跳转播放页面
      
      优化体验:
      - 移除页面初始加载状态,直接展示视频播放器
      - 移除加载状态遮罩层,使用播放器自带指示器
      - 修复页面高度问题,使用 flex 布局
      - 更新测试视频 URL 为 CDN 地址
      
      文档更新:
      - 更新 CHANGELOG 记录所有变更
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 更新CHANGELOG.md,记录将"工具箱"模块更名为"客户服务"的变更。此修改已在首页网格导航和设计文档中同步实施,仅涉及显示名称优化,不涉及功能变更。
      hookehuyr authored
  2. 03 Feb, 2026 30 commits
    • 修复注销按钮与上方内容间距过大的问题,提升界面布局的紧凑性
      hookehuyr authored
    • - 修正头像字段路径:avatar_url → avatar?.src
      - 使用强制刷新 fetchUserInfo(true) 跳过防抖
      - 确保从头像设置页面返回时能立即看到最新头像
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 性能优化:
      - User Store 添加防抖机制(5秒内不重复请求)
      - 修复 useShow 为 useDidShow(使用正确的 Taro 生命周期)
      - "我的"页面统一使用 userStore.fetchUserInfo()
      - 移除本地 userInfo ref 和 fetchUserProfile 函数
      - 移除对 mainStore 和 getProfileAPI 的直接依赖
      
      配置优化:
      - 添加 @/config 路径别名到 config/index.js
      
      效果:
      - 从首页跳转到"我的"页面时,请求次数从 2 次减少到 1 次
      - 页面间快速切换不会触发重复请求
      - 统一状态管理,代码更简洁
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加功能开关配置系统(src/config/features.js)
        - 支持全局开关控制功能启用/禁用
        - 可配置红点字段名称和显示阈值
        - 方便灰度发布和功能回滚
      
      - TabBar 组件自动从 Store 读取红点状态
        - 移除手动传递 badges prop
        - 组件内部自动管理红点显示逻辑
        - 只处理"我的"按钮的红点
      
      - User Store 新增红点状态自动计算
        - 新增 tabBarBadges 计算属性
        - 根据用户信息自动计算红点状态
        - 支持数字和布尔类型字段
        - 响应式更新,无需手动管理
      
      - 首页添加用户信息自动刷新
        - useShow 生命周期自动刷新
        - 只在已登录状态下请求
        - 添加错误处理
      
      - 创建完整的使用文档(docs/features/tabbar-badge.md)
        - 功能说明和启用方法
        - 数据流程图和测试方法
        - 常见问题解答
      
      功能默认关闭(features.tabbarBadge = false)
      当前使用 unread_count 字段(待确认)
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 优化内容:
      - 清空时重置到初始状态,不再显示"暂无搜索结果"
      - 添加分类相关的动态引导文案(全部/产品/资料)
      - 实时搜索监听器优化:清空关键词时也重置状态
      
      影响文件:
      - src/pages/search/index.vue
      - docs/CHANGELOG.md
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 替换多个页面的自定义空状态为 NutUI 的 Empty 组件,提升 UI 一致性和用户体验。涉及页面包括:搜索页、知识库页、资料列表页、计划书页、收藏页和意见反馈页。
      hookehuyr authored
    • 添加消息列表页和消息详情页,支持查看系统消息详情
      在个人中心菜单中增加消息入口,并更新组件类型声明
      hookehuyr authored
    • - 更新项目文档结构与实际保持一致
      - 新增文档索引和组件/工具函数文档
      - 更正身份认证流程说明
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 主要更新:
      - 新增接口联调日志和变更日志的文档索引
      - 更正身份认证流程说明(openid.js 替代不存在的 authRedirect.js)
      - 删除不存在的 auth/index 页面
      - 新增 3 个页面:plan-submit-result、feedback-list、test-tabs
      - 新增 11 个组件:DocumentPreview、PdfPreview、OfficeViewer 等
      - 新增 3 个工具函数:documentIcons.js、tools.js、openid.js
      - 更新关键文件总结和会话管理说明
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 在文件大小前面显示文件类型(如:PDF · 2.5MB)
      - 使用 getDocumentLabel 工具函数自动识别文件类型
      - 支持常见文件格式:PDF、Word、Excel、PPT、图片、视频等
      hookehuyr authored
    • - 在相关附件标题下方添加灰色提示文字
      - 提示用户无法下载时可通过预览页转发到其他设备
      - 优化附件下载的用户体验
      hookehuyr authored
    • - 将相机图标背景从 p-[16rpx] 改为固定 w-[96rpx] h-[96rpx]
      - 添加 flex 布局确保图标居中
      - 确保 rounded-full 始终形成正圆
      hookehuyr authored
    • - 产品列表接口(listAPI)联调成功
        - 知识库页面:动态标签栏、分类筛选、滚动加载功能正常
        - 首页热卖产品:产品列表正常显示
      - 更新总体进度:20个接口(12个已完成,0个联调中,3个已废弃,5个后端开发中)
      - 文档版本升级至 v2.1
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 将 scroll-view 上的内边距移至内部产品列表容器,确保全宽状态提示条相对于屏幕水平居中,同时保持产品网格布局不变。
      hookehuyr authored
    • - 修复空状态文字水平居中问题
        - 为 text 元素添加 w-full text-center 类
        - 确保 Taro 小程序环境下正确居中显示
      
      - 更新 CHANGELOG 和 API 集成日志
        - 新增产品模块记录(产品列表接口 listAPI)
        - 记录知识库页面 API 集成完成情况
        - 更新接口总数:20 个(11 个已完成,1 个联调中,3 个已废弃,5 个后端开发中)
        - 文档版本升级至 v2.0
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • ### 主要改动
      
      1. **集成产品列表 API**(listAPI)
         - 从接口获取产品数据和分类列表
         - 使用 `data.categories` 作为标签栏数据(动态生成)
         - 产品卡片数据严格按照接口文档映射
         - 移除所有硬编码的模拟数据
      
      2. **实现分类筛选功能**
         - 点击标签时传递 `cid` 参数到接口
         - 每次切换分类时重置分页状态(page=0, products=[])
         - 支持查看"全部"或特定分类的产品
      
      3. **实现滚动加载功能**
         - 使用 `scroll-view` 的 `@scrolltolower` 事件
         - 滚动到底部时自动加载下一页
         - 加载更多时追加数据(不替换)
         - 根据总数判断是否还有更多数据
      
      4. **数据映射(严格遵循接口文档)**
         - `item.id` → 产品 ID
         - `item.product_name` → 产品名称
         - `item.cover_image` → 产品封面图
         - `item.recommend` → 推价位(hot/normal)
         - `item.tags` → 动态标签(含 bg_color、text_color)
         - `categories` → 分类列表(用于标签栏)
         - `total` → 产品总数
      
      ### 状态管理
      
      - `loading`: 加载状态(显示加载提示)
      - `hasMore`: 是否还有更多数据
      - `page`: 当前页码(从 0 开始)
      - `limit`: 每页数量(10)
      - `categories`: 分类列表(从接口获取)
      - `products`: 当前产品列表
      - `total`: 产品总数
      
      ### 移除的硬编码
      
      - 移除硬编码的 `tabsData`(人寿保险、医疗保险、意外保险)
      - 移除模拟产品数据生成函数
      - 移除 `descColorPalette` 和 `getDescColor` 函数
      - 移除 `currentTabName` 和 `filteredProducts` 计算属性
      
      ### 用户体验优化
      
      - 首次加载显示"加载中..."提示
      - 滚动到底部时显示"加载中..."
      - 没有更多数据时显示"没有更多了"
      - 无数据时显示"暂无相关产品"
      
      ### 影响文件
      
      - src/pages/knowledge-base/index.vue(完整重构)
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • ### 新增内容
      
      1. **新增收藏 API 定义文件**
         - src/api/favorite.js: 收藏相关 API 封装
           - addAPI: 添加收藏
           - delAPI: 取消收藏
           - listAPI: 收藏列表
      
      2. **新增收藏模块 API 规范文档**
         - docs/api-specs/favorite/add.md: 添加收藏接口文档
         - docs/api-specs/favorite/del.md: 取消收藏接口文档
         - docs/api-specs/favorite/list.md: 收藏列表接口文档
      
      3. **更新 API 集成日志**
         - 新增收藏模块章节(3 个接口)
         - 更新总体进度:16 → 19 个接口
         - 更新后端开发中接口数:2 → 5 个
         - 更新快速索引(添加收藏模块)
         - 更新文档版本:v1.8 → v1.9
      
      ### 接口状态
      
      所有收藏接口均为 **⏳ 后端开发中**:
      - addAPI(添加收藏)
      - delAPI(取消收藏)
      - listAPI(收藏列表)
      
      ### 影响文件
      
      - src/api/favorite.js(新增)
      - docs/api-specs/favorite/add.md(新增)
      - docs/api-specs/favorite/del.md(新增)
      - docs/api-specs/favorite/list.md(新增)
      - docs/api-integration-log.md(更新)
      - src/api/user.js(linter 自动格式化)
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • ### 修复内容
      
      1. **修复获取个人信息接口字段访问错误**
         - mine/index.vue: 头像显示从 `userInfo.avatar_url` 改为 `userInfo.avatar.src`
         - API 返回 avatar 对象(包含 name, hash, src, height, width, size)
         - 之前错误访问不存在的 avatar_url 字段导致头像无法显示
      
      2. **修复更新个人资料接口参数结构错误**
         - avatar/index.vue: 传递完整 avatar 对象而非 avatar_meta_id
         - API 规范要求 `{ avatar: { name, hash, src, height, width, size } }`
         - 之前只传 `{ avatar_meta_id: xxx }` 不符合接口规范
      
      3. **修复头像上传接口数据映射错误**
         - 根据实际上传接口返回结构正确映射字段
         - 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 获取
      
      ### 新增功能
      
      4. **头像设置页面加载时获取用户当前头像**
         - 进入页面时调用 getProfileAPI() 获取用户信息
         - 如果用户已有头像则显示当前头像,否则显示默认头像
         - 提升用户体验,避免每次看到默认头像
      
      ### 文档更新
      
      5. **更新 API 文档**
         - src/api/user.js: 更新 updateProfileAPI 的 JSDoc 注释
         - docs/api-specs/user/get_profile.md: 重写为清晰 Markdown 格式
         - docs/api-specs/user/update_profile.md: 重写并添加完整流程说明
         - docs/api-integration-log.md: 更新接口联调明细到 v1.8
         - docs/CHANGELOG.md: 添加详细的变更记录
      
      ### 影响文件
      
      - src/pages/mine/index.vue(头像显示字段修复)
      - src/pages/avatar/index.vue(接口参数修复 + 获取当前头像)
      - src/api/user.js(API 注释更新)
      - docs/api-specs/user/get_profile.md(API 文档重写)
      - docs/api-specs/user/update_profile.md(API 文档重写)
      - docs/api-integration-log.md(联调日志更新)
      - docs/CHANGELOG.md(变更日志更新)
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 首页热卖产品集成产品列表API (listAPI, recommend=hot)
        - 动态标签渲染,使用API返回的bg_color和text_color
        - 移除硬编码数据,改用API动态返回
      - 产品详情页集成详情API (detailAPI)
        - 产品特色改为产品描述,使用rich-text渲染富文本
        - 附件大小使用file_size_formatted字段显示格式化大小
        - 移除收藏功能
        - 修复nut-loading不兼容问题,改用CSS加载动画
      - 更新API集成日志和规范文档状态
      - 添加CHANGELOG记录
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 主要修改:
      - 修复 updateProfileAPI 参数:使用 avatar_meta_id 替代 avatar_url
      - 头像上传后保存 meta_id 字段用于后续更新
      - 添加 meta_id 验证,避免传递空值
      - 修复"我的"页面:添加 useDidShow 实现返回时自动刷新
      - 显示工号(employee_no)替代用户 ID
      - 更新项目文档:记录生命周期钩子使用陷阱
      
      技术细节:
      - src/pages/avatar/index.vue: 添加 tempAvatarMetaId 存储
      - src/pages/mine/index.vue: 使用 useDidShow 而非 useShow
      - docs/lessons-learned.md: 新增"生命周期钩子使用陷阱"章节
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 核心改动:
      - 移除 scroll-view 组件,改用页面原生滚动
      - 使用 min-height: 100vh 确保内容可滚动
      - 使用 padding-bottom: 160rpx 为底部按钮预留空间
      - 简化布局逻辑,提升稳定性
      
      参考方案:
      - 老来赛项目的 FeedbackList 页面(不使用 scroll-view)
      - 老来赛项目的 PointsList 页面(使用 scroll-view 时用 calc() 计算高度)
      
      经验教训:
      1. 小程序页面滚动两种方案:
         - 简单列表:优先使用页面原生滚动(无需 scroll-view)
         - 复杂布局:使用 scroll-view 时必须用 calc() 明确计算高度
      
      2. scroll-view 在小程序中的限制:
         - 不能依赖 flex: 1 自动填充高度
         - 不能使用 height: 100%(在某些设备上计算异常)
         - 必须用 :style="scrollStyle" 动态计算明确高度值
      
      3. 页面原生滚动的优势:
         - 更稳定,无需复杂的高度计算
         - 支持下拉刷新、触底加载等原生功能
         - 性能更好,兼容性更强
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 新增 Taro 快速参考指南,汇总禁止使用的 Web API、推荐使用的 Taro API、生命周期对比、样式规范、常见陷阱和性能优化建议。帮助开发者避免使用不兼容的 Web API 并遵循最佳实践,提升开发效率和代码质量。
      hookehuyr authored
    • 添加 .claude/ 到 .gitignore 以避免将 Claude 项目文件提交到版本控制
      hookehuyr authored
    • - 将 CLAUDE.md 添加到 .gitignore 以忽略此文件
      - 在 Claude 本地设置中新增 npm run dev:weapp:* 命令别名
      - 从组件类型定义中移除未使用的 NutUploader 导入
      hookehuyr authored
    • 意见反馈模块联调完成:
      - 意见反馈列表(listAPI):✅ 已完成
      - 提交意见反馈(addAPI):✅ 已完成
      
      修复问题记录:
      - 生命周期钩子导入错误(useShow → useDidShow)
      - onMounted 导入错误(从 Vue 导入)
      - 图片显示错误(数组格式处理)
      - NutUI Loading 组件报错(自定义 CSS spinner)
      
      更新总体进度:9个已完成,3个已废弃,2个后端开发中
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • 新增功能:
      - 实现意见反馈列表页面(分页、图片预览、自动刷新)
      - 实现意见反馈提交页面(类型选择、图片上传、审核提示)
      - 添加图片上传功能(最多3张,5MB限制,支持审核)
      - 实现从列表页跳转提交页的导航流程
      
      技术优化:
      - 修复生命周期钩子导入错误(useShow → useDidShow)
      - 修复图片显示错误(数组格式处理)
      - 使用自定义 CSS spinner 替代 NutUI Loading
      - 添加 useDidShow 实现返回列表时自动刷新
      
      文档更新:
      - 更新 API 文档(addAPI、images 数组格式)
      - 更新项目 CHANGELOG
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加 bash:* 和 bun 版本检查命令到允许的 Bash 工具列表
      - 将 enableAllProjectMcpServers 设置移到更合适的位置
      - 保持 JSON 格式的一致性
      hookehuyr authored
    • - 更新个人资料接口状态为 ✅ 已完成
      - 通用模块七牛云相关接口标记为 ❌ 已废弃(3个)
      - 头像上传方案调整:改用 Taro.uploadFile 直接上传
      - 更新总体进度统计
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 修复 src/api/common.js 中 Taro 未定义的错误
      - 改用 Taro.uploadFile 直接上传到服务器
      - 添加图片审核支持和样式修复
      - 更新 CHANGELOG.md
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored
    • - 更新接口联调工作记录文档,新增通用模块接口
        - qiniuTokenAPI: 获取七牛上传 Token
        - saveFileAPI: 保存文件信息到服务器
        - uploadImageToQiniuAPI: 完整的图片上传流程(封装接口)
      - 更新 CHANGELOG.md,记录头像页面实现情况
      - 更新总体进度:14个接口(5个已完成,9个后端开发中)
      
      Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
      hookehuyr authored