- 13 Feb, 2026 13 commits
-
-
- 修复计划书信息列表布局,长文本自动换行不再挤压标签 - 添加 pending(橙色) 和 processing(蓝色) 状态样式 - 状态标记颜色与计划书列表页保持一致 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
### 优化 - 调整首页"臻奇荟"标题位置至左上方(pt-[128rpx]) - 优化标题对齐方式为 text-left,适配整体页面布局 - 调整 PlanPopup 弹窗高度从 90% 至 80% --- **详细信息**: - **影响文件**: src/pages/index/index.vue, src/components/plan/PlanPopupNew.vue - **技术栈**: Vue 3, Tailwind CSS - **测试状态**: 已通过 - **备注**: 保持原有高度占位,防止布局塌陷 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
- 消息列表页优先使用 API 返回的 title 字段 - 保留 getItemTitle 作为降级方案 - 更新 API 文档以反映 title 字段 - 同步更新消息详情页
hookehuyr authored -
- 新增 usePlanView composable 封装计划书查看逻辑 - 支持单文件直接预览,多文件显示选择弹框 - 预览成功后自动标记为已查看 - 消息列表第一页插入3条测试数据(1001/1002/1003) - 更新测试文件地址,使用项目 CDN 资源 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
hookehuyr authored
-
hookehuyr authored
-
- 配置 Vitest 测试框架 - 添加 search/index.test.js 测试套件 - 更新 README.md 和 MaterialCard 组件文档 - 更新 pnpm 依赖 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
页面加载时使用 usePermission composable 检查用户登录状态,未登录时弹出登录提示并引导跳转 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
- 移除 material-list 页面中重复的 usePermission 导入和调用 - 权限检查完全由 ListItemActions 组件内部处理 - 简化 onView 函数直接调用 handleFileClick - 添加 ListItemActions 组件 README 文档 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
- 新增 showMessageBadge 计算属性,从 userStore.unreadMsgCount 读取 - 为菜单项添加 key 属性,用于识别消息菜单 - 添加 .menu-badge 样式,与 TabBar 红点保持一致 - 红点仅在未读消息数大于 0 时显示 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
hookehuyr authored
-
- 12 Feb, 2026 27 commits
-
-
创建统一的配置文件 src/config/app.js 管理 Mock 开关 变更内容: - 新增 src/config/app.js 统一配置文件 - 更新 8 个页面使用统一的 USE_MOCK_DATA 配置: - src/pages/material-list/index.vue - src/pages/feedback-list/index.vue - src/pages/message/index.vue - src/pages/week-hot-material/index.vue - src/pages/favorites/index.vue - src/pages/plan/index.vue - src/pages/search/index.vue - src/pages/product-center/index.vue 收益: - 便于开发和测试环境的 Mock 数据切换 - 统一代码风格,提升可维护性 - 符合 DRY 原则 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hookehuyr authored -
- 消息详情页获取详情后调用 userStore.fetchUserInfo(true) - 刷新用户信息以更新 unreadMsgCount - 从而使 TabBar 红点状态同步更新 修改文件: - src/pages/message-detail/index.vue: 添加 useUserStore 导入和刷新调用 - src/api/news.js: 修复注释格式(全角分号) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
hookehuyr authored -
- 新增 optimizeImageUrl 工具函数,自动为 CDN 图片添加缩略图参数 - 反馈列表图片使用 200px 缩略图(200x 质量 70),点击预览加载原图 - 消息详情页优化布局和样式(背景色、间距、字号) - 消息列表优化卡片样式(标题、状态标签、预览文本) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
- 更新 CLAUDE.md:添加 2026-02-12 最新变更记录 - 更新 README.md:完善项目说明和最新更新内容 - 更新经验教训总结:新增 3 个重要实践案例 * 权限检查 Composable 模式 * 全局状态管理与页面生命周期协调 * 导航返回按钮与路由栈协调 记录了计划书模块、认证权限、消息功能等最佳实践 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
- 创建 usePlanPermission composable 统一权限检查逻辑 - 首页:在模板层添加权限检查 - 搜索页:在模板层添加权限检查 - 产品中心页:保持 openPlanPopup 函数内的权限检查 - 产品详情页:在模板层添加权限检查 - 修复权限重复调用问题(只在模板层检查一次) 影响文件: - src/composables/usePlanPermission.js - src/pages/index/index.vue - src/pages/search/index.vue - src/pages/product-center/index.vue - src/pages/product-detail/index.vue
hookehuyr authored -
- 在 logout() 函数中添加 unreadMsgCount.value = 0 - 确保用户退出登录后 TabBar 红点正确消失 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
hookehuyr authored
-
hookehuyr authored
-
hookehuyr authored
-
- 移除 PlanFormContainer 中的 "提交成功" toast - 避免用户从结果页返回时看到重复提示 - 结果页已清晰显示成功/失败状态,无需额外 toast 影响文件: - src/components/plan/PlanFormContainer.vue - components.d.ts Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
- 创建 usePlanSubmit composable 统一处理弹窗关闭、状态清空、导航跳转 - 重构 index、search、product-detail、product-center 页面使用 composable - 移除重复的 handlePlanSubmit 函数实现(~100 行) 🤖 Generated with assistance from Claude Code
hookehuyr authored -
- 添加 unreadMsgCount 状态单独存储未读消息数 - 修复从 res.data 读取 unread_msg_count 字段(该字段不在 user 对象中) - 优化 TabBarBadges 计算逻辑,直接从 unreadMsgCount 读取 - 消息列表页面添加自动刷新已读状态功能 影响文件: - src/stores/user.js - src/pages/message/index.vue Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
hookehuyr authored
-
优化计划书提交成功后的用户体验,消除模态框关闭与页面跳转之间的延迟。 ## 核心改动 ### PlanFormContainer 组件优化 - 添加 isClosingFromChild 状态,避免弹窗关闭时重复重置表单 - 优化 visible watch 逻辑,在弹窗关闭时正确清理状态 - 移除提交成功后的 toast 提示,改为立即触发 close 事件 ### 父组件优化(index, search, product-center, product-detail) - handlePlanSubmit 改为 async 函数 - 移除 500ms 延迟跳转,改为立即导航 - 使用双 nextTick 确保 DOM 更新后再重置状态 - 添加 handlePlanClose 函数统一处理弹窗关闭逻辑 ## 技术细节 **问题根源**: - 原流程:提交成功 → API 返回 → 500ms 延迟 → 关闭弹窗 → 导航 - 用户感知:点击提交后模态框停留 1-2 秒才关闭,体验不佳 **解决方案**: - PlanFormContainer:API 成功后立即 emit('close'),不等待 toast - 父组件:close 事件触发后,使用双 nextTick 确保: 1. 第一次 nextTick:DOM 更新,模态框关闭动画开始 2. 第二次 nextTick:动画完成,表单重置 3. 立即导航到结果页 ## 影响范围 - src/components/plan/PlanFormContainer.vue - src/pages/index/index.vue - src/pages/search/index.vue - src/pages/product-center/index.vue - src/pages/product-detail/index.vue ## 测试建议 1. 测试计划书提交流程是否正常工作 2. 验证模态框关闭是否立即响应 3. 确认表单数据在导航后正确清理 4. 检查返回上一页时不会显示残留数据 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>hookehuyr authored -
hookehuyr authored
-
hookehuyr authored
-
hookehuyr authored
-
- 增大按钮字体 - 调整圆角样式 - 使用真实API Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
hookehuyr authored
-
- 统一所有储蓄型产品的提取币种为 USD - 新增每年提取金额字段 (annual_withdrawal_amount) - 新增每年递增提取百分比字段 (annual_increase_percentage) - 添加 inputLabel prop 支持动态提示文字 - 修复百分比输入的类型转换和实时验证 - 修复 AmountKeyboard 组件属性类型不匹配问题 - 修复 ESLint 警告:使用 Number.isNaN() 替代 isNaN() 影响文件: - src/config/plan-templates.js: 币种统一为 USD - src/components/plan/PlanFields/AmountKeyboard.vue: 添加 inputLabel prop - src/components/plan/PlanTemplates/SavingsTemplate.vue: 新增字段和验证逻辑 - src/components/plan/PlanFormContainer.vue: 添加字段映射和数据转换 - src/components/plan/PlanTemplates/*Template.vue: 添加 inputLabel 使用 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
- 调整缴费年期组件内边距(px-4 py-2 替代 p-4) - 添加提取计划区域输入框左侧内边距修复 - 移除 SavingsTemplate 样式 scoped 属性以应用样式修复 - 禁用消息列表Mock数据以使用真实API Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
hookehuyr authored -
- 移除 fn() 中的自动 toast,避免双重提示 - 扩展 toast 显示时长从 2 秒到 3 秒 - PlanFormContainer emit 时包含 message 字段 - 所有父组件使用 result.message 传递后端错误信息到结果页面 - 修复 index.vue 中硬编码错误消息的问题
hookehuyr authored
-