1. 28 Feb, 2026 18 commits
    • - 更新搜索 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
  2. 27 Feb, 2026 22 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
    • - 修正 RichTextRenderer.vue 注释说明(scoped 样式相关)
      - 更新 components/README.md,添加 RichTextRenderer 组件文档
      - 更新 CHANGELOG.md,记录今日计划书表单调整
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 移除吸烟字段(储蓄类产品不需要)
      - 切断年龄与出生日期的自动联动,客户要求独立填写
      - 更新 savingsSubmitMapping 移除吸烟字段映射
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 移除 scoped 和 :deep(),使用 #rich-text-renderer ID 选择器限制作用范围。
      参考 @tarojs/taro/html.css 添加完整 HTML4 样式支持。
      
      - 移除 scoped(v-html 内容不受 scoped 影响)
      - 移除 :deep()(小程序 WXSS 不支持)
      - 新增完整的 .h5-* 样式定义(表格、代码、列表等)
      - 使用 ID 选择器避免全局样式污染
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 移除 @tarojs/taro/html.css 全局样式导入
      - 在组件 scoped style 中添加完整的富文本样式
      - 解决 NavHeader 标题不居中的问题
      hookehuyr authored
    • hookehuyr authored
    • hookehuyr authored
    • RichTextRenderer 组件修复:
      - 修复 transformElement 初始化顺序问题(在 watch 之前设置)
      - 增强图片样式:添加 width:100%!important
      - 删除不必要的 onMounted 调用
      
      文章详情页改造:
      - 使用 RichTextRenderer 组件替换 <rich-text>
      - 删除文章图片列表模块(由组件处理)
      - 删除富文本处理逻辑(formatRichText、extractImageUrls 等)
      - 删除未使用的 .article-content 类名
      - 简化 .divider margin 样式
      
      代码精简:199 行 → 147 行(减少约 26%)
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 新增功能:
      - HTML 实体自动解码( , &, <, >, ", ')
      - <a> 标签自动替换为 <div data-href="">
      - 图片长按预览功能
      - PDF 文件链接点击处理
      - transformElement 图片自动处理(默认启用)
      - 支持图片 mode="widthFix" 和 style="width: 100%"
      
      组件 API:
      - content: HTML 内容(必需)
      - enable-transform: 是否启用图片处理(默认 true)
      - @image-preview: 图片预览事件
      - @file-click: 文件点击事件
      
      测试页面:
      - 简化为使用 RichTextRenderer 组件
      - 保留 realApiData 测试数据
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加 HTML 实体解析( , &, <, >, ")
      - 实现 a 标签替换为 div + data-href 属性
      - 添加 PDF 文件链接点击处理(useFileOperation)
      - 新增 transformElement 图片处理测试开关
      - 清理所有调试 console.log 语句
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 添加 v-html 渲染测试页面 (index.vue)
      - 添加 mp-html 组件测试页面 (index1.vue)
      - 测试内容:HTML实体解析、a标签替换为div、图片预览、文件链接点击
      - 使用 useFileOperation 处理 PDF 文件打开
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • 添加富文本渲染支持,用于文章内容展示
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 移除横向滚动视图
      - 使用 flex-wrap 实现网格布局
      - 每行显示3张图片,自动换行
      - 所有图片可一次性查看完成
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 将"本周热门资料"改为"本周热门文章"
      - 使用 ArticleCard 替换 MaterialCard
      - 更新 API 调用从 file/weekHotAPI 到 article/weekHotAPI
      - 调整数据映射格式适配文章字段
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 移除乐观更新逻辑,改为 API 成功后更新 UI
      - useCollectOperation 返回 { success, newStatus } 对象
      - ArticleCard/MaterialCard 使用 async/await 等待 API 响应
      - ListItemActions 添加 @tap.stop 防止事件冒泡
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 新增文章详情页面,支持富文本内容渲染
      - 实现图片列表展示,支持点击预览所有文章图片
      - 使用 Taro 原生 rich-text 组件渲染富文本
      - 富文本内容自动格式化,处理图片宽度适配移动端
      - 提取文章中的图片 URL,支持 Taro.previewImage 预览
      - 新增收藏功能,支持文章收藏/取消收藏
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • hookehuyr authored
    • - 新增 ArticleCard 组件,支持可配置封面图显示 (showCover prop)
      - 新增文章详情页 (article-detail)
      - 新增文章收藏页 (article-favorites)
      - 优化分类列表页 (category-list) 支持混合渲染模式:
        * max_depth > 1: 显示二级分类卡片 (SectionCard)
        * max_depth === 1: 直接显示文章列表 (ArticleCard)
      - 过滤空状态项 (max_depth === 1 且 list 为空)
      - 统一样式规范:标题区域使用渐变背景,内容区域增加间距
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored
    • - 修复 openAPIDir 路径:../docs/api-specs → ../../docs/api-specs
      - 修复 outputDir 路径:../src/api → ../../src/api
      - 新增 article 模块 API(文章详情、收藏、列表、热门)
      
      Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
      hookehuyr authored