1. 05 Mar, 2026 7 commits
    • ## 修复内容
      
      ### P1 级别(高优先级)
      - 修复 Cookie 解析潜在破坏风险(删除 cleanupDuplicateCookies 的 split(',') 逻辑)
      - 修复授权响应只保留第一个 cookie 的问题(智能识别 sessionid)
      - 增强搜索响应的防御性访问(添加可选链 ?. 防止字段缺失抛错)
      - 修复启动日志泄露用户隐私(生产环境手机号和用户名脱敏)
      
      ### P2 级别(中优先级)
      - 修复弱网提示只会出现一次的问题(时间窗口防抖 30 秒)
      - 修复搜索测试用例与实现不一致(file → article)
      - 修复 usePlanView 集成测试失败(添加 useFileOperation mock)
      
      ## 测试结果
      - ✅ 所有测试通过 (178/178)
      - ✅ ESLint 检查通过(0 errors, 37 warnings 已存在)
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 移除 prepare-commit-msg 中的 CHANGELOG 自动更新调用
      - 移除 pre-commit 中的 CHANGELOG 提示信息
      - 保留其他检查功能(ESLint、调试代码、改动规模)
      
      以后手动更新 CHANGELOG:
      - pnpm run release (standard-version)
      - 或 npx release-it
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 新增 ArticleCard 组件文档(文章卡片)
      - 新增 PeriodInput 组件文档(提取期自定义输入)
      - 更新组件索引表格,添加缺失的组件条目
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 新增 ArticleCard 组件文档(文章卡片)
      - 新增 PeriodInput 组件文档(提取期自定义输入)
      - 更新组件索引表格,添加缺失的组件条目
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 简化 prepare-commit-msg 条件判断
      - 移除 post-commit 的 amend 操作
      - 修复 CHANGELOG 自动更新循环重复问题
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 简化 prepare-commit-msg 的条件判断
      - 只跳过 merge 提交,其他情况都执行
      - 修复了部分提交 CHANGELOG 没有自动更新的问题
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 补充 2026-02-28 ~ 2026-03-04 的 CHANGELOG 记录(17 项变更)
      - 更新计划书模块文档,添加最近更新板块
      - 记录新增功能:提取期自定义输入、出生日期推算年龄等
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
  2. 04 Mar, 2026 2 commits
    • PeriodInput 组件现在支持通过 hideTrigger 属性隐藏触发区域,
      使其纯粹作为弹窗组件使用,由 SelectPickerGlobal 的"自定义输入"选项触发。
      
      - 新增 hideTrigger prop,控制是否显示触发区域
      - SavingsTemplate 中使用 :hide-trigger="true" 避免显示多余的选择器
      - 解决了多阶段模式下出现额外触发区域的问题
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 当用户只填了生日而没填年龄时,现在可以从 birthday 自动
      推算年龄,用于判断是 3 阶段还是 1 阶段提取方案。
      
      - 新增 effectiveAge 计算属性,优先使用 age,否则从 birthday 推算
      - 更新 canAddStage、canRemoveStage、initializeStages 使用有效年龄
      - 监听 effectiveAge 变化而不是只监听 form.age
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
  3. 28 Feb, 2026 28 commits
    • - 将计划书录入弹窗高度从 80% 调整为 88%
      - 提供更多垂直空间以展示表单内容
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 删除 CriticalIllnessTemplate、LifeInsuranceTemplate 中的 watch 联动代码
      - 删除所有模板 validate() 中的"以生日为准计算年龄"逻辑
      - 年龄和出生年月日现在是独立的二选一字段
      - 保留原始代码注释,便于将来恢复
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 创建 prepare-commit-msg hook
      - 创建 update-changelog-prepare.sh 脚本
      - 修改 post-commit 检查暂存区并 amend
      - 使用 --no-verify 避免 amend 触发循环
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 修改 pre-commit hook,在提交前更新 CHANGELOG
      - 创建 update-changelog-precommit.sh 脚本
      - 修改 post-commit hook,移除 CHANGELOG 更新逻辑
      - 更新文档说明新的工作机制
      - 解决 post-commit 无限循环问题
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 将 tabsData 从静态数组改为动态 computed
      - 在 tab 名称后显示结果数量,如"产品 (5)"
      - 新增 filter-tab-count 样式,字号 24rpx,透明度 0.8
      - 优化用户对搜索结果的预览体验
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • hookehuyr authored
    • - 只取第一行作为 subject,忽略 Co-Authored-By 等后续行
      - 修复 sed 正则表达式匹配范围问题
      hookehuyr authored
    • - 替换 MaterialCard 为 ArticleCard 组件
      - 更新 Tab 名称:资料 → 文章
      - 更新数据字段:data.files → data.article
      - 映射 API 字段:post_title, post_excerpt, post_date, is_favorite
      - 同步更新 mock 数据使用 generateArticleItem
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 更新搜索 API 响应字段:files → article
      - 字段名规范化:name/value/extension → post_title/post_excerpt/post_link
      - 文章详情 API 添加 file_list 字段类型定义
      - 计划书 API 完善参数文档说明
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 修复 isCustomPeriodEnabled 仅检查多阶段配置的 bug
      - 单阶段模式始终启用自定义输入
      - 添加 handleCustomSelect 和 openSingleStagePeriodInput 处理单阶段自定义输入
      - 扩展 onPeriodInputConfirm 支持单阶段字段更新
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - PeriodInput 集成 GlobalPopupManager 系统
      - PlanPopupNew 添加动态 overflow 控制避免子弹窗裁剪
      - 调整 PeriodInput 弹窗高度为 40% 适配屏幕显示
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 删除 if/else 块外部的重复 mv 命令
      - TEMP_FILE 变量只在块内有效,外部无法访问
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 检测逻辑:从 "## [日期] - 标题" 改为 "^## 日期"
      - 生成格式:匹配根目录格式(时间 + commit hash + 文件列表)
      - 插入逻辑:追加到日期下,而非文件开头
      - 解决误判问题,现在能正确识别今日已有条目
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 将 CHANGELOG_FILE 从 docs/CHANGELOG.md 改为根目录 CHANGELOG.md
      - 解决 commit-msg hook 误判问题(格式不统一导致匹配失败)
      - 统一使用根目录 CHANGELOG.md 作为唯一更新目标
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加今日缺少的 12 条 git 提交记录
      - 涵盖计划书、富文本、Mock、文档等模块
      - 按时间顺序整理,便于查阅
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 修改 AmountKeyboard 组件的 displayValue 计算属性
      - 显示已确认数值时自动添加千分位(如 1,000、15,000)
      - 输入过程中保持原始显示,避免跳动干扰
      - 数据存储不变,仅影响显示层
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 新增 PeriodInput 组件,支持用户自定义输入提取期(1-100整数)
      - SelectPickerGlobal 支持自定义选项入口,允许用户选择"自定义输入"
      - SavingsTemplate 集成自定义输入功能,支持多阶段提取期自定义
      - 自定义值临时保存到本次会话选项列表,跨阶段复用
      - 验证规则:整数年期(1-100年)、快捷选项(终身、一笔过)
      - 使用 watch 监听输入值变化,防止小程序 @input 事件丢失
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 修复消息详情页点击"查计划书"后 PDF/Office 文件无法打开的问题。
      
      问题根因:
      - 2026-02-14 重构时删除了 useFileOperation 依赖
      - 所有文件都错误地使用 Taro.previewImage(仅支持图片)
      
      修复内容:
      - 恢复 useFileOperation composable 的依赖
      - handleFileView 使用 viewFile 方法支持多种文件类型
      - 图片、PDF、Office 文档现在都能正确预览
      
      经验教训:
      - 重构时必须验证代码等价性
      - 删除依赖前需理解其完整作用
      - 已将此案例记录到全局规则 refactor-traps.md
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 在小程序环境中 process 对象不存在,导致 isAITestEnvironment
      函数抛出 ReferenceError。
      
      修复:添加 typeof process !== 'undefined' 检查
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 在 Vitest 测试环境下自动拦截 POST 请求并返回 Mock 数据,
      保护后端数据安全,支持 AI 自动测试。
      
      改动:
      - src/utils/request.js: 添加测试环境检测和 POST Mock 路由
      - src/utils/mockData.js: 新增 9 个模块的 POST Mock 函数
      - src/utils/__tests__/postMock.test.js: 新增 18 个测试用例
      
      支持的 POST API:
      - favorite (收藏/取消收藏)
      - event (埋点)
      - sms (验证码)
      - upload (文件上传/七牛)
      - openid (小程序授权)
      - proposal (计划书操作)
      - user (登录/登出/更新资料)
      - feedback (意见反馈)
      - wx_pay (微信支付)
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - customer_age 和 customer_birthday 不再是必填字段
      - 改为条件必填:至少提供一个即可
      - 添加字段描述说明
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加 stages 数据从 props.modelValue 恢复的逻辑
      - 修复 validate() 中单阶段字段在多阶段模式下被错误校验
      - 添加详细的调试日志
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加 htmlUtils.js 工具函数库详细记录
      - 记录 200+ HTML 实体解码支持
      - 记录新增的 4 个工具函数
      - 记录 RichTextRenderer 重构内容
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 新增 htmlUtils.js,包含 200+ HTML 实体解码支持
      - 支持 DOM API(H5)和手动映射(小程序)双模式
      - 新增 encodeHtmlEntities、stripHtmlTags、truncateHtml 工具函数
      - RichTextRenderer 改用工具库,移除内联实现
      - 清理所有测试 console.log
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 修复从文章详情页返回列表页时收藏状态未更新的问题。
      
      - 在 material-list 页面添加 eventBus FAVORITES_UPDATE 事件监听
      - 新增 handleFavoriteUpdate 函数处理来自详情页的收藏状态更新
      - 使用 onMounted/onUnmounted 管理事件监听器生命周期
      - 修复字段映射问题(metaId → id)
      
      影响范围: src/pages/material-list/index.vue
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 新增 @link-copy 事件,长按链接时复制 URL 到剪贴板
      - 使用 class="rich-text-link" 替代 data-is-link 属性(Taro v-html 过滤 data-*)
      - 支持纯文本链接和 PDF 文件链接的长按复制
      - 添加蓝色下划线样式,让链接更易识别
      - 测试页新增纯文本链接测试用例
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
  4. 27 Feb, 2026 3 commits
    • - 替换所有"完成任务"和"无详细描述"为实际提交内容
      - 新增 RichTextRenderer 富文本渲染组件
      - 文章模块功能开发(详情页、收藏、网格布局)
      - 收藏功能改为 API 驱动模式
      - 首页热门资料改为热门文章
      - API 生成器路径修复
      - 计划书字段调整和重构
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • docs/CHANGELOG.md 应只记录文档相关的变更,不应记录项目功能变更。
      项目功能变更应记录在根目录的 CHANGELOG.md 中。
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加 2026-02-28 计划书表单调整记录
      - 添加组件文档更新记录
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored