# v1.0 版本历史 [« 返回最新版本](CHANGELOG.md) --- ## v1.0.1212 (2026-08-23) ### Bug 修复 - diet_preferences 补齐 must_eat 列(迁移251d) ## v1.0.1211 (2026-08-23) ### 新功能 - 健康报告列表支持 size 参数 - 健康主页仅取最近3条,报告列表页返回全部 - 北京菌群报告解析 - PdfParseService新增北京格式解析 + langgraph parse-typed/detect-type端点 ### Bug 修复 - 健康报告列表仅返回最近3条 - 小程序健康页只展示3条,避免多余数据传输 - 问卷提交前校验模板已加载 + 邀请码scene兼容裸token格式 - 迁移修正 - finance_checkins.child_id允许NULL+补齐type列(251c) + 维度权重迁移表名修正去重(233) + 移除已稳定的profile/report_template/social_circle迁移 - 参数校验与错误处理强化 - 控制器参数判空/可选 + MultipartException处理 + 异常语义化 - 请求日志中间件重构为纯ASGI - 避免BaseHTTPMiddleware消费body导致POST死锁 ### 文档 - 菌群计划文档回填实施状态并记录偏差①修复 ### 其他 - - 头部实施状态、文件结构表、Task 10/11 注记、Task 16 期望值(3→4) 同步更新 - - PROJECT-OVERVIEW 条目更新为 health 分包 4 页架构齐备 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - pages.json:growth 分包移除注册,health 分包新增(risks-detail 之后) - - gut-flora-detail 主页 goToFoods() 跳转同步更新 - - 功能不变(筛选+排序+编辑+知识库营养数据合并);E2E 无路径断言无需变更 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ### 重构 - 菌群食物推荐页迁移至计划路径 gut-flora-foods-detail ## v1.0.1210 (2026-08-23) ### 文档 - 登记管家自选与健康教练接口文档 ### 新功能 - 报告详情优化-新增payload按需加载接口,blocks渲染器增加知识库?查询 ## v1.0.1209 (2026-08-23) ### 文档 - 更新健康启航计划CF奖励设计——每日4任务×225CF+里程碑7200CF ## v1.0.1208 (2026-08-23) ### 新功能 - 管理端分配管理与停接开关页面 - 健康教练欢迎语个性化与我的管家入口 - 小程序管家选择页与接口封装 - 健康教练graph按coach_id路由人格prompt - 健康教练对话注入教练人格标识 - 管理端分配管理与停接开关接口 - 邀请令牌复用同家庭有效令牌,组件邀请入口改跳成员管理页 - includeFamily响应增加members字段,支持单次调用同时获取成员列表与家庭信息 ### 其他 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - ### Bug 修复 - ensureFamily改为静默兜底,移除误导性的家庭创建成功提示 - 家庭成员编辑页合并为单次member/list调用,移除onLoad前端建家庭逻辑 - 登录成功时将familyId持久化到userInfo缓存,避免页面误判无家庭而重复创建 ## v1.0.1207 (2026-08-23) ### 新功能 - 家庭端管家自助选择接口 - ButlerService新增管家浏览/查询/自助绑定方法 ### Bug 修复 - member toggle + race condition + generate string data - 移除打卡页navigationStyle:custom,恢复原生导航栏标题和返回按钮 ### 其他 - - Prevent onLoad + onShow double-load race with _executorsLoaded flag - - Only loadExecutors in onLoad when not in planId/viewMode path - - Handle generateHealthPlan API returning data as markdown string (typeof check) - - Reset selectedMemberIds and userGoal in reCreate() - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1206 (2026-08-23) ### 新功能 - 新增butler_assignments实体与Mapper - butler_profiles 新增accepting停接开关列 - Web管理端购买记录管理 ### 文档 - 总览登记AI健康教练人格分化与管家自助选择条目 ## v1.0.1205 (2026-08-23) ### 新功能 - 报告列表支持家庭维度查询+成员过滤,健康页不再传memberId ## v1.0.1204 (2026-08-23) ### 新功能 - 添加续费页和闯关进度页 ## v1.0.1203 (2026-08-23) ### 文档 - 新增AI健康教练人格分化与管家自助选择设计规格 - 健康启航计划实现计划 ### 其他 - Co-authored-by: Sisyphus - ### 新功能 - 添加购买页和API封装 - 付费墙拦截+前端API+页面注册 - 健康启航计划后端核心 ## v1.0.1202 (2026-08-22) ### 其他 - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - ### 文档 - API参考文档补全13个Controller共65+接口及废弃状态更新 ### Bug 修复 - 废弃接口返回410及补充@Deprecated注解(Family/Butler/Notice) - childId→familyMemberId 引用统一(19处TaskService) ### 新功能 - energy daily limit 数据库持久化 - 新增DimensionDailyLimit表及Controller读写 ## v1.0.1201 (2026-08-22) ### 文档 - 新增财富功能重构计划与设计方案 ### Bug 修复 - games/list.vue 移除错误编辑导致的孤儿view标签 ## v1.0.1200 (2026-08-22) ### 重构 - 合并重复接口-删除死代码GuidePackageController,统一所有接口为POST ## v1.0.1199 (2026-08-22) ### Bug 修复 - 修复多根元素及语法错误(games/list, gut-flora-detail, action-detail, api.js) ## v1.0.1198 (2026-08-22) ### Bug 修复 - 修复 f048448e3 移除nav-bar导致的45个页面模板view标签不平衡 ### 其他 - - 删除了根但保留了对应的 - - 删除了nav-bar的打开标签但保留了 - 导致模板出现多根元素或孤立,HBuilderX编译报错: - 'Element is missing end tag' / 'Multi-root element found' / 'Root element expected' - 修复方式: 删除所有孤立的标签(共45个文件) - ## v1.0.1197 (2026-08-22) ### 文档 - 更新健康启航计划——体验期内升级享199元抵扣 ## v1.0.1196 (2026-08-22) ### 文档 - 更新健康启航计划——CF值1CF=0.01元,全勤19900CF抵199元 ### Bug 修复 - use beam_size=1 + vad_filter for faster STT inference - delay first kb_sync by 120s, increase gunicorn timeout to 600s ### 新功能 - add voice input button to AI chat page - add AiGateway.transcribe + /api/ai/transcribe endpoint - integrate STT into diet/exercise check-in pages - add sttTranscribe API utility for speech-to-text - add STT endpoint with faster-whisper base model ## v1.0.1195 (2026-08-22) ### 新功能 - 完整圈子社交功能-创建/加入/动态Feed/点赞评论 ## v1.0.1194 (2026-08-22) ### 文档 - 新用户付费转化产品设计——健康启航计划 ## v1.0.1193 (2026-08-22) ### Bug 修复 - 新用户无孩子时静默跳过能量概览请求,避免弹出memberId为空提示 ## v1.0.1192 (2026-08-22) ### Bug 修复 - 修复 health 模块模板多根元素错误 ## v1.0.1191 (2026-08-22) ### 新功能 - 新增报告模板管理 & 采集训练器 ### 其他 - - 新增 report_template 表,支持按报告类型配置固定展示块 + 自由显示 - - ReportBlockAssembler 集成模板逻辑:优先按 fixedBlocks 顺序渲染,未覆盖指标自动追加 - - 自学习生成类型时自动创建空模板(isActive=0) - - report_unknown_upload 新增 annotation 列(管理员标注训练数据) - 前端: - - ReportTemplateManage.vue:模板列表 + 可视化编辑器(固定块增删/排序、自由显示开关、实时预览) - - ReportCollectorTrainer.vue:聚类列表 + 报告标注 + LLM解析预览 + 模板渲染预览 - - 路由 & 菜单:报告解析系统下新增「报告采集训练」「报告模板管理」 - 文档:更新 API_REFERENCE.md,新增报告模板接口说明 - ## v1.0.1190 (2026-08-22) ### 新功能 - 身体调研加饮食偏好 + 食材档案清真/素食标识 ### 其他 - - 提交问卷时自动同步到 diet_preferences 表(absoluteAvoid/mustEat/religiousDiet) - - 迁移254: diet_preferences 新增 must_eat 列 - - 迁移253: foods 新增 diet_type 列(清真/halal/素食/vegan 标识) - - Food/DietPreferences 实体及 DTO 同步更新 - ## v1.0.1189 (2026-08-22) ### Bug 修复 - 修复食材数据未显示-响应路径修正为res.data,合并重复API调用 ## v1.0.1188 (2026-08-21) ### 新功能 - Web管理端 — 用户画像列表与详情查看 ## v1.0.1187 (2026-08-21) ### 新功能 - 小程序画像页 — 五维指标+推荐内容展示 - 方案生成时自动注入用户画像数据 ## v1.0.1186 (2026-08-21) ### 新功能 - 打卡和任务完成后自动触发画像重算 ## v1.0.1185 (2026-08-21) ### 新功能 - 解析loading改为旋转动画+三阶段轮播文案,提升用户感知 - 添加C端和B端画像API控制器 - 实现画像读取服务和规则推荐引擎 - 实现画像计算服务 — 五维指标聚合+增量写入 ## v1.0.1184 (2026-08-21) ### Bug 修复 - 补回疾病风险卡片模板 - 修正Task状态值、Product状态值、删除死代码RULES块、修复PointsLog查询语法 - 补充肠道菌群卡片CSS样式 - mind-detail/index 删除孤立多余闭合花括号 - login.vue 删除 return 对象尾随逗号 + report-detail 给 .food-item 补闭合花括号 - 修复饮食推荐页面右侧溢出-添加box-sizing和width约束 - 统一首页和成长页面今日任务标题命名 - 修复行页面能量沙盘数值不显示问题 - tasks表加parent_task_id列(购买任务→每日使用子任务链)+ schema同步 - health_plans补updated_at/审核字段列,修复selectById Unknown column - 打卡弹窗金额/备注输入框高度不足 — 增加padding和min-height - 打卡页隐藏原生导航栏,修复双标题 —— navigationStyle: custom 仅保留页面内标题 - 重新制定时重置viewMode,修复页面空白问题 - 修复打卡页面双标题、输入框过小、睡眠页多余功能、心情页样式缺失 - 修复微信登录 invalid code (40029) —— 不再 onLoad 预取 login code,改为点击授权时实时获取 - 任务列表标题列支持排序,孩子ID改为显示用户名 - health-main 移除已删除报告入口 + growth-emotion-checkin 添加照片上传 - 系统提示词INSERT列数不一致 + 知识库embedding TPM重试 + tags_str类型修复 - action-detail/wealth/wisdom-detail 修复 :key 表达式 - 方案任务设置repeatType=daily,幂等检查限定当天deadline - 健康方案成员选择选中状态增强 - 心情打卡同步情绪日记—checkinDate 空值兜底为当天 - 健康方案重做限制改为每日一次 - 修复报告方案链路与报告详情折叠展示 - 健康方案查看页+报告日期格式 - 保单管理页居中+控件高度 - 移除 report-upload 自定义导航栏,使用原生导航栏避免双标题 - confirmText 改为4字以内,移除debug日志和红色横幅 - AiGateway 缺少 @PostConstruct import 导致编译失败 - 财商打卡页居中+控件高度 - 容器宽度约束+input padding增大 - 解决 merge 冲突 - health-main/index-home 合并冲突 & AiGateway 保留 - 同步远端重构合并 + 保持 :key 修复与 trial 环境地址 - pages.json 删除多余右花括号修复 JSON 语法 - 健康主页身维度雷达图改用真实API数据 - 内联弹窗逻辑到 pickFile/takePhoto,消除方法调用链断裂问题 - 移除所有页面中的PageBanner组件,消除双层标题 - 迁移249 file_record补file_type/description列,修复Unknown column错误 - 允许 cfc.iwintrue.com 访问后端 API - 责任声明勾选改方法调用+箭头函数消除this丢失隐患 - 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露 - 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露 - 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露 ### 新功能 - 创建画像实体类和Mapper接口 - 创建画像快照表和歷史表迁移脚本 - 身页面新增疾病风险卡片 - 身页面新增疾病风险卡片 - 身页面新增肠道菌群指标卡片 - 饮食推荐页面重新设计-修复居中/溢出/快捷入口不可点并全面美化 - 身/心/智页面重构 — 去七维/快捷/精准营养,改指标卡片 - 调研任务创建时自动生成AI调研模板 - 购物任务联动-cart/order 动作自动加购/下单 - 方案审核流程优化 — 用户可选规划师或系统自动出方案 - 规划师方案维护功能 — 前端审核页面 + 路由 + API - 方案维护功能 — 规划师审核发布流程 - 体脂秤图片采集接入报告上传流程 - checkin 页面合并远端 UI 改进 + 保留 getPhotoKey 修复 - 体脂秤图片数据采集器 — 修复 Java 8 兼容性问题 - 体脂秤图片数据采集器 - 任务系统升级-行为调度中心前端(动作联动/两阶段/填写式完成) - 任务系统升级-行为调度中心后端(前置任务/频率任务/两阶段/填写式完成) - 健康方案页重写为多步骤结构化编辑流程 - 评论自动回复脚本 comment_reply.py——CDP 驱动,click 修复与残缺选择器修复 - 新增 D26/D27/D28 文章稿、推流试验稿及内容草稿 - 照片自动情绪识别 — 后端 AI 调用 + 前端真实 API - 照片自动情绪识别 — Dify AI 图像分析 + 前端接入 - HealthPlan后端重构 - planJson/status字段+regenerate-section接口 - 首页区块顺序调整为 1-2-9-7-8-5-6-4-3-10-11 - 健康方案生成工作流重构 - LangGraph结构化方案+Java对接 - LLM推送数据PII脱敏(智能脱敏) - 心情打卡同步到情绪日记 - 新增 SystemPrompt 管理功能 + web 品牌与产品素材 - 健康现状档案 v2 — 疾病史两源预置清单分类多选+确诊时间,用药开始年月自动计算时长 - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项,★菌群源),分类折叠多选,★角标说明 - 确诊时间:年月选择器(fields=month, end限当前月),存 diagnosedAt(yyyy-MM) - 用药:startDate年月 + durationText自动计算(<12月→X个月, ≥12→X年),记不清可手动兜底 - 后端零变更(JSON列透传),v1旧数据({name,note}/{name,time})回显兼容 - 新增 computed.selectedNames + 17 个 CSS 类 - DAN 测评报告专用详情页 - 智行富三页强项与提升卡片-认知/关系/财富强弱项标记 - 心身智三页肠脑轴卡片-情绪/认知指标过滤+身体异常告警 - 肠脑轴指标过滤+异常指标告警-认知/情绪分类+身体异常指标端点 - 首页健康漏斗重构 — 了解区自测卡 + 四段式区块重排 - 今日任务和报告上传移至推荐阅读上方,推荐商品移到底部 ### 其他 - - 展示疾病名称、风险值、等级标签(高风险红/需注意黄) - - gut-flora 接口确认已为 POST,无需修改 - - - 展示疾病名称、风险值、风险等级(高风险红/需注意黄) - - gut-flora 接口已为 POST,无需修改 - - - 前端 body-detail 页面新增🦠肠道菌群区块:有报告时显示指标明细,无报告时引导上传 - - 显示菌群名称、丰度值、状态(正常/偏高/偏低)及摘要提示 - - 心/智页面已有肠脑轴数据展示,无需改动 - - - 新增指标卡片展示:体脂率/BMI/血压/血糖/步数/睡眠(身)、情绪稳定性/焦虑/开放性(心)、感知力/专注力/记忆力(智) - - 后端新增 POST /api/health/indicators 接口,按domain+memberId返回最新指标值 - - DatabaseInitializer迁移252:seed body/mind/wisdom指标定义27条 - - 各维度首页加载对应domain指标数据,点击卡片跳转详情 - - - 新增 loadEnergyOverview 方法调用 getEnergyOverview API - - WuxingSandbox 组件传递 :dimensions/:totalEnergy/:totalHealthIndex 属性 - - 修复 sortedDimensions 因 dimensions 为空导致 point-energy 始终显示 0 的问题 - - 对齐 child-index.vue 页面的正确用法 - - - schema.sql tasks表同步parent_task_id列定义 - - - schema.sql同步: health_plans CREATE TABLE补reviewed_by/reviewed_at/review_comment/teacher_id/updated_at - - - step===1 && !viewMode → false(Step1不渲染) - - viewMode && planDetail → false(查看模式也不渲染) - - 页面空白 - 同时补充editing和sectionFeedback重置。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - 睡眠打卡:移除照片上传和录音功能(不需要) - - 心情打卡:补全所有缺失的基础样式,修复布局混乱 - - - 新增 teacher-select.vue 规划师选择页,调用 /api/health/plan/available-teachers - - 新增 HealthPlan.teacherId 字段 + DatabaseInitializer 迁移251 - - 新增 getAvailableTeachers 接口(已绑定+同团队+全量规划师) - - submitPlan 根据 needTeacher 决定状态:pending_review/published - - listPendingReviewPlans 支持按 teacherId 过滤 - - 会导致 code2Session 返回 40029 invalid code。login.vue 改为与 - invite/join.vue 一致的模式:getPhoneNumber 中实时 uni.login 获取新 code。 - - - cfc-web: 新增 api/healthPlan.js 接口封装 - - cfc-web: TeacherDashboard 快捷入口新增「健康方案审核」 - - cfc-web: router 新增 /teacher-health-plan-review 路由 - - cfc-frontend: health-plan-summary.vue 更新状态展示和成功提示 - 后端已有 c4744618,本次为前端配套 - - - DatabaseInitializer: 迁移250 新增审核字段,status枚举扩展 pending_review/published/rejected - - HealthPlanService: 新增 listPendingReviewPlans/updatePlanContent/approveAndPublish/rejectPlan 方法 - - HealthPlanServiceImpl: savePlan 默认 pending_review 状态,审核通过后生成任务 - - HealthPlanController: 新增 /pending-review/{list,update,approve,reject} 四个端点 - 流程: 用户生成方案 → draft/pending_review → 规划师编辑 → 审核通过(published) → 自动生成任务 - - - report-upload.vue: 新增体脂秤入口卡片 + goBodyFatScale/uploadBodyFat 方法 - - bodyfat-confirm.vue: 新建指标确认页(可编辑数值 + 绑定成员 + 保存) - - utils/api.js: 新增 saveBodyFatMetrics API - 后端: - - HealthReportController: 新增 /report/bodyfat-upload(图片上传+AI识别)+ /report/bodyfat-save(保存指标) - - BodyFatScaleService: 图片→DeepSeek-VL OCR→提取指标→存 indicator_values - - DatabaseInitializer: 注释废弃的 seedFullRegionData() 调用 - - pom.xml: source/target 改为 1.8(适配当前 JDK 环境) - - application.yml: 新增 deepseek.vision-* 配置 - - 账户权限分离 - - 修复 ArrayNode/ObjectNode 类型不匹配 - - 修复 String.isBlank() → trim().isEmpty() - - 修复 var → 显式类型声明 - - 编译验证通过 - - - 调用 DeepSeek-VL 视觉模型 OCR 提取体脂秤指标(体重/BMI/体脂率/肌肉量等) - - 自动创建 indicator_definitions + 保存 indicator_values(source_type=body_fat_scale) - - 新增 AdminBodyFatScaleController: - - POST /api/admin/bodyfat-scale/images/list — 列出图片 - - POST /api/admin/bodyfat-scale/images/analyze — 单张分析预览 - - POST /api/admin/bodyfat-scale/save — 手动保存指标到成员 - - POST /api/admin/bodyfat-scale/batch — 批量处理多张图片 - - application.yml 新增 bodyfat-scale.image-dir 和 deepseek.vision-* 配置 - - - 缺口:无前置任务/频率单一/购物零联动/require_input 无强制/无 start 两阶段 - - 设计:action_type 声明式联动、TaskEngine 集中判定、task_executions 执行记录、三阶段实施路径 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - tasks.vue 今日任务:按 actionType 渲染按钮文案(开始游戏/专注/填写/阅读/报名/购物),locked 灰态+解锁提示,start_required 先开始再完成,require_input 弹填写面板提交内容 - - create-task.vue 新增联动动作/两阶段/填写式开关+商品ID配置,重复设置扩展隔天/每月,补全 repeatTypeLabel/actionTypeLabel computed - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - 新增 task_executions 执行记录表(started/finished 两阶段落库)+ focus_sessions.task_id - - DatabaseInitializer 迁移248:ensureColumn 幂等 + CREATE TABLE IF NOT EXISTS - - TaskService:completeTask 前置校验/填写强校验/两阶段校验/最短时长校验,完成后解锁后置任务;新增 startTask(pending→in_progress 并记录 execution) - - TaskController 新增 POST /api/tasks/{id}/start;complete 支持 content/contentType - - RepeatTaskGenerator 重构为频率分派:hourly/daily/every_other_day/weekly/monthly,每小时 cron 扫描,兼容旧 repeatType - - CreateTaskDTO/CompleteTaskDTO 透传新字段 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - AiGateway.java: 日志消息更新 - - AIChatController.java: 注释和方法引用更新 - - ContextApiController.java: Javadoc 更新 - - ButlerController.java: Operation summary 更新 - - MealRecommendController.java: 变量名 difyResp→langgraphResp - - KnowledgeBaseController.java: 依赖注入名更新 - - DifySyncService → LanggraphSyncService(类名/方法名同步) - - DanKnowledgeBaseService.java: 依赖引用更新 - - AGENTS.md: AI集成说明更新 - - PROJECT-OVERVIEW.md: 历史条目中DifySyncService→LanggraphSyncService - - - 新增 EmotionRecognitionResult DTO(情绪列表+moodWeather) - - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow - - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化结果 - - EmotionCheckinController: POST /api/mind/checkin/emotion/recognize - - application.yml: dify.emotion-api-key 配置项(空=mock模式) - 前端: - - analyzeEmotion() 改为真实 API 调用(上传+识别两步) - - 识别结果自动填充 aiResult,支持 applyAiTags 应用标签 - - 提交时复用已上传的 photoUrl,避免重复上传 - - - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow,支持 mock 兜底 - - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化情绪列表 - - EmotionCheckinController: 新增 POST /api/mind/checkin/emotion/recognize - - application.yml: 新增 dify.emotion-api-key 配置项 - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - - FamilyContextService: 用户/孩子姓名脱敏 - - AiGateway.chat/generateQuestionnaire/generateMenu/generateHealthPlan: 入口脱敏 - - AIService: sendNutritionMessage/sendTongueDiagnosis/runWorkflow/enrichInputsWithMemory/mirrorConversation/getContext/requestSummaryAsync: 入口脱敏 - - 化名映射: userId+salt→SHA-256→固定化名, 保证AI可识别同一用户 - - - 幂等检查加 deadline 日期窗口过滤,避免历史任务阻塞当天生成 - - RepeatTaskGenerator 每天凌晨5点可正确识别并再生方案任务 - - - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增)+ 废弃接口 410 处理 - - - AGENTS.md:接口规范补充「新增接口前查阅文档」和「废弃接口处理」 - - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增) - - 废弃接口统一标记 410 + @Deprecated - - - 标注已废弃接口(7 处,返回 410) - - 列出待清理废弃接口清单 - - 新增接口检查清单与流程 - - - 勾选圆圈 36rpx->44rpx,未选时透明打勾文字(不显示),选中时橙色填充✓ - - 步骤标题行加已选人数 badge(橙色胶囊标签) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - - DailyCheckinService.createCheckin 在 moodScore 有值时自动同步到 emotion_checkin 表 - - upsert 逻辑:今日已有记录则更新,否则新建 - - moodScore 1-10 → moodWeather 映射(sunny/cloudy/rainy/stormy) - - 同步失败不影响主流程 - - - localStorage key 改为按日期(yyyy-M-d)记录 - - 提示文案同步更新 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - Web 管理端: systemPrompt.js API + SystemPromptManagement.vue 管理页 - - cfc-langgraph: requirements_frozen.txt 依赖冻结 - - web/img: 品牌/产品/引用源图片素材(cert/diagram/product-intro/products/ref) - - axonhub: AxonHub LLM 网关配置(compose+config) - - docs: web 品牌方向计划文档 - 未追踪 uploads/(临时 json 结果) 不入库 - - - HealthPlanServiceImpl 修复任务行正则,编号行任务可正常生成 - - report-detail 移除饮食推荐,肠道菌群/疾病风险/益生菌种/分类/病原菌改为折叠展示 - - cfc-langgraph 增强 PDF 报告解析(营养/药敏/氨基酸/症状字段)、rag 检索与向量化 - - schema.sql 补充新表;DatabaseInitializer/AIService/Layout 相关调整 - - - 会员限制:付费年度家庭会员不限次,非付费会员每月仅可重新制定一次(localStorage 记录) - - health-main: goPlanSummary 传 planId;报告日期格式化为 yyyy-MM-dd - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - 后端 DanReportUploadVO 增加 result 字段,getDetail 返回关联的 DanAssessmentResult 分数 - - 更新 4 处入口跳转:report-list、mind-detail、wisdom-detail、health-main - - - insurance-add .form-input height 80rpx->88rpx 增大触控区 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - '同意并继续'(5字) 导致 showModal 静默失败,弹窗不出现。 - 改为 '同意继续'(4字),同时移除所有 debug 代码。 - - - .form-input padding 16rpx->22rpx, font-size 26rpx->28rpx 提升触控体验 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - debug: 加 try-catch+fail+complete 跟踪 uni.showModal 是否执行 - - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项★菌群源),分类折叠多选,★角标说明,已选区设确诊时间(年月选择器) - - 用药:startDate年月 + durationText自动计算,记不清手动兜底 - - 后端零变更(JSON列透传),v1旧数据回显兼容 - - 7个任务:常量/数据模型/模板/逻辑/用药/保存/验证提交,含完整代码与验证命令 - - - action-detail: 新增关系强项与提升卡片,基于关系六维分数标记,空态引导关系问卷 - - wealth: 新增财富强项与提升卡片,基于财富四维分数标记 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - v2 重设计(基于调研补齐): - - 疾病史:菌群报告病症风险(20项 PdfParseService 白名单)+ 互联网统计常见病(约40项,附患病率/出处/年份)两源合并去重约50项,分类折叠多选;未列出的保留自定义补充兜底 - - 每条疾病新增确诊时间(年月选择器 yyyy-MM) - - 用药:每药一条保留,新增开始服药日期→自动计算已服时长,记不清时用时长文本兜底 - - 无 DDL 变更(disease_history/medications 为 JSON 字符串列,结构变化在 JSON 内部) - - 旧数据兼容:{name,note}/{name,time} 回显置空不报错 - - - 删除独立的 ReportStatsController,消除同路径下双 Controller 冲突 - - 所有接口路径不变,前端调用无需修改 - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - - - wisdom-detail: 新增肠胃与认知卡片,含认知指标(谷氨酸/多巴胺/色氨酸等)+引导上传 - - body-detail: 新增指标告警卡片,疾病风险(非低风险)+营养素/氨基酸异常(仅异常项) - - api.js: 新增 getGutCognitionIndicators/getBodyAbnormalIndicators - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - MindController: /api/mind/neurotransmitters 只返回情绪相关指标(血清素/多巴胺/GABA/色氨酸) - - WisdomGutController(新): /api/wisdom/gut-cognition 认知指标(谷氨酸/多巴胺/色氨酸/丁酸等) - - HealthReportController: /api/health/report/body-abnormal 疾病风险+营养/氨基酸异常(仅异常项) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - chartIsEmpty 和 currentScores 均改用 bodyData - - 与其他四维度(智/心/行/富)统一走后端API模式 - - - 新增 goSelfTest 方法 + selfTestTitle/selfTestSub 计算属性(有数据→再次了解·得分;无数据→引导文案) - - 新增 .self-test-* 样式(复用 health-main 视觉,边距对齐首页 30rpx) - - 未登录态 discover-container 零改动 - - 设计文档同步:PageBanner 已由 07d897a1 全局移除,① 了解区仅自测卡;补充 sandboxData 判定说明 - - 新增实现计划 docs/superpowers/plans/2026-08-18-homepage-health-funnel.md - - - - 清理遗留的「品牌头部」注释 - - 保留pages.json中配置的导航栏标题作为唯一标题 - - debug: 加 console 跟踪 report-upload 点击事件链路 - 目的是定位 @click 事件是否真正触发到 methods - - - ensureAgreed/startPick/uploadAndGoConfirm 内 var self=this 全部改为箭头函数 - - 修复某些情况下点击上传按钮无反应的问题 - - - - 修复报错,以及升级JDK - 修复报错,以及升级JDK - 修复报错,以及升级JDK ### 文档 - 用户画像与推荐系统实现计划 - 添加体脂秤参考资料图片 - 任务系统升级为行为调度中心-整体设计文档 - 将开发规范中 Dify 引用统一改为 LangGraph - AGENTS.md 新增评论自动回复工具章节,修正 click 触发方式 - 文章钩子追踪清单更新——D26/D27 发布记录与已兑现预告 - API 参考文档纳入开发规范 - 将 API 参考文档纳入开发规范 - 新增 API_REFERENCE.md 索引条目 - 新增后台接口参考文档 - 健康现状档案 v2 实现计划 — 疾病史两源预置清单+确诊时间+服药时长 - 健康现状档案 v2 设计 — 疾病史两源预置清单+确诊时间+服药时长 - 新增参考资料目录文件 - 学生评估PDF、方案docx/pdf、融资规划书PPT - 首页健康漏斗设计/计划状态同步为已实施 - 首页重构 — 主动健康漏斗设计(方案A:了解→发现→改变) ### 重构 - 首页能量沙盘解锁改判任一维度能量值>0 - 合并 ReportStatsController 到 StatsController,统一 /api/stats 路径 - 移除管理端AI问卷场景配置与LangGraph qna模块 - 删除13个意图/旅程/问卷页面与组件 - 移除首页/我的页意图弹层与旅程卡引用 - 移除api.js中AI问卷/意图/问题域API封装 - 删除AI问卷与画像全部13个文件 - 移除RecommendationController画像推荐端点 - 移除AiGateway动态问卷/画像方法 - 移除AI问卷数据库迁移(229/231)与schema四表定义 - 上传报告入口统一为 ReportUploadCard 组件 ### 性能优化 - 合并两次成员接口调用为一次 - 合并两次成员接口调用为一次 ## v1.0.1182 (2026-08-21) ### 新功能 - 创建画像实体类和Mapper接口 - 创建画像快照表和歷史表迁移脚本 - 身页面新增疾病风险卡片 ### Bug 修复 - 修正Task状态值、Product状态值、删除死代码RULES块、修复PointsLog查询语法 ### 其他 - - 展示疾病名称、风险值、等级标签(高风险红/需注意黄) - - gut-flora 接口确认已为 POST,无需修改 - ## v1.0.1181 (2026-08-21) ### 新功能 - 身页面新增疾病风险卡片 ### 其他 - - 展示疾病名称、风险值、风险等级(高风险红/需注意黄) - - gut-flora 接口已为 POST,无需修改 - ## v1.0.1180 (2026-08-21) ### Bug 修复 - 补充肠道菌群卡片CSS样式 ## v1.0.1179 (2026-08-21) ### 新功能 - 身页面新增肠道菌群指标卡片 ### 其他 - - 前端 body-detail 页面新增🦠肠道菌群区块:有报告时显示指标明细,无报告时引导上传 - - 显示菌群名称、丰度值、状态(正常/偏高/偏低)及摘要提示 - - 心/智页面已有肠脑轴数据展示,无需改动 - ## v1.0.1178 (2026-08-21) ### Bug 修复 - mind-detail/index 删除孤立多余闭合花括号 ### 文档 - 用户画像与推荐系统实现计划 ## v1.0.1177 (2026-08-21) ### Bug 修复 - login.vue 删除 return 对象尾随逗号 + report-detail 给 .food-item 补闭合花括号 ## v1.0.1176 (2026-08-21) ### Bug 修复 - 修复饮食推荐页面右侧溢出-添加box-sizing和width约束 ## v1.0.1175 (2026-08-21) ### Bug 修复 - 统一首页和成长页面今日任务标题命名 ## v1.0.1174 (2026-08-21) ### 新功能 - 饮食推荐页面重新设计-修复居中/溢出/快捷入口不可点并全面美化 ## v1.0.1173 (2026-08-21) ### 新功能 - 身/心/智页面重构 — 去七维/快捷/精准营养,改指标卡片 ### 其他 - - 新增指标卡片展示:体脂率/BMI/血压/血糖/步数/睡眠(身)、情绪稳定性/焦虑/开放性(心)、感知力/专注力/记忆力(智) - - 后端新增 POST /api/health/indicators 接口,按domain+memberId返回最新指标值 - - DatabaseInitializer迁移252:seed body/mind/wisdom指标定义27条 - - 各维度首页加载对应domain指标数据,点击卡片跳转详情 - ## v1.0.1172 (2026-08-21) ### Bug 修复 - 修复行页面能量沙盘数值不显示问题 - tasks表加parent_task_id列(购买任务→每日使用子任务链)+ schema同步 - health_plans补updated_at/审核字段列,修复selectById Unknown column ### 其他 - - 新增 loadEnergyOverview 方法调用 getEnergyOverview API - - WuxingSandbox 组件传递 :dimensions/:totalEnergy/:totalHealthIndex 属性 - - 修复 sortedDimensions 因 dimensions 为空导致 point-energy 始终显示 0 的问题 - - 对齐 child-index.vue 页面的正确用法 - - - schema.sql tasks表同步parent_task_id列定义 - - - schema.sql同步: health_plans CREATE TABLE补reviewed_by/reviewed_at/review_comment/teacher_id/updated_at - ## v1.0.1171 (2026-08-21) ### Bug 修复 - 打卡弹窗金额/备注输入框高度不足 — 增加padding和min-height - 打卡页隐藏原生导航栏,修复双标题 —— navigationStyle: custom 仅保留页面内标题 ## v1.0.1170 (2026-08-20) ### 新功能 - 调研任务创建时自动生成AI调研模板 - 购物任务联动-cart/order 动作自动加购/下单 ## v1.0.1169 (2026-08-20) ### Bug 修复 - 重新制定时重置viewMode,修复页面空白问题 ### 其他 - - step===1 && !viewMode → false(Step1不渲染) - - viewMode && planDetail → false(查看模式也不渲染) - - 页面空白 - 同时补充editing和sectionFeedback重置。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1168 (2026-08-20) ### Bug 修复 - 修复打卡页面双标题、输入框过小、睡眠页多余功能、心情页样式缺失 ### 其他 - - 睡眠打卡:移除照片上传和录音功能(不需要) - - 心情打卡:补全所有缺失的基础样式,修复布局混乱 - ## v1.0.1167 (2026-08-20) ### 新功能 - 方案审核流程优化 — 用户可选规划师或系统自动出方案 ### 其他 - - 新增 teacher-select.vue 规划师选择页,调用 /api/health/plan/available-teachers - - 新增 HealthPlan.teacherId 字段 + DatabaseInitializer 迁移251 - - 新增 getAvailableTeachers 接口(已绑定+同团队+全量规划师) - - submitPlan 根据 needTeacher 决定状态:pending_review/published - - listPendingReviewPlans 支持按 teacherId 过滤 - ## v1.0.1166 (2026-08-20) ### Bug 修复 - 修复微信登录 invalid code (40029) —— 不再 onLoad 预取 login code,改为点击授权时实时获取 ### 其他 - 会导致 code2Session 返回 40029 invalid code。login.vue 改为与 - invite/join.vue 一致的模式:getPhoneNumber 中实时 uni.login 获取新 code。 - ## v1.0.1165 (2026-08-19) ### 新功能 - 规划师方案维护功能 — 前端审核页面 + 路由 + API ### 其他 - - cfc-web: 新增 api/healthPlan.js 接口封装 - - cfc-web: TeacherDashboard 快捷入口新增「健康方案审核」 - - cfc-web: router 新增 /teacher-health-plan-review 路由 - - cfc-frontend: health-plan-summary.vue 更新状态展示和成功提示 - 后端已有 c4744618,本次为前端配套 - ## v1.0.1164 (2026-08-19) ### Bug 修复 - 任务列表标题列支持排序,孩子ID改为显示用户名 ### 新功能 - 方案维护功能 — 规划师审核发布流程 ### 其他 - - DatabaseInitializer: 迁移250 新增审核字段,status枚举扩展 pending_review/published/rejected - - HealthPlanService: 新增 listPendingReviewPlans/updatePlanContent/approveAndPublish/rejectPlan 方法 - - HealthPlanServiceImpl: savePlan 默认 pending_review 状态,审核通过后生成任务 - - HealthPlanController: 新增 /pending-review/{list,update,approve,reject} 四个端点 - 流程: 用户生成方案 → draft/pending_review → 规划师编辑 → 审核通过(published) → 自动生成任务 - ## v1.0.1163 (2026-08-19) ### 新功能 - 体脂秤图片采集接入报告上传流程 ### 其他 - - report-upload.vue: 新增体脂秤入口卡片 + goBodyFatScale/uploadBodyFat 方法 - - bodyfat-confirm.vue: 新建指标确认页(可编辑数值 + 绑定成员 + 保存) - - utils/api.js: 新增 saveBodyFatMetrics API - 后端: - - HealthReportController: 新增 /report/bodyfat-upload(图片上传+AI识别)+ /report/bodyfat-save(保存指标) - - BodyFatScaleService: 图片→DeepSeek-VL OCR→提取指标→存 indicator_values - - DatabaseInitializer: 注释废弃的 seedFullRegionData() 调用 - - pom.xml: source/target 改为 1.8(适配当前 JDK 环境) - - application.yml: 新增 deepseek.vision-* 配置 - ## v1.0.1162 (2026-08-19) ### 其他 - 账户权限分离 - 修复报错,以及升级JDK - 修复报错,以及升级JDK - 修复报错,以及升级JDK ## v1.0.1161 (2026-08-19) ### Bug 修复 - health-main 移除已删除报告入口 + growth-emotion-checkin 添加照片上传 ### 文档 - 添加体脂秤参考资料图片 ### 新功能 - checkin 页面合并远端 UI 改进 + 保留 getPhotoKey 修复 ## v1.0.1160 (2026-08-19) ### 新功能 - 体脂秤图片数据采集器 — 修复 Java 8 兼容性问题 ### 其他 - - 修复 ArrayNode/ObjectNode 类型不匹配 - - 修复 String.isBlank() → trim().isEmpty() - - 修复 var → 显式类型声明 - - 编译验证通过 - ## v1.0.1159 (2026-08-19) ### 新功能 - 体脂秤图片数据采集器 ### 其他 - - 调用 DeepSeek-VL 视觉模型 OCR 提取体脂秤指标(体重/BMI/体脂率/肌肉量等) - - 自动创建 indicator_definitions + 保存 indicator_values(source_type=body_fat_scale) - - 新增 AdminBodyFatScaleController: - - POST /api/admin/bodyfat-scale/images/list — 列出图片 - - POST /api/admin/bodyfat-scale/images/analyze — 单张分析预览 - - POST /api/admin/bodyfat-scale/save — 手动保存指标到成员 - - POST /api/admin/bodyfat-scale/batch — 批量处理多张图片 - - application.yml 新增 bodyfat-scale.image-dir 和 deepseek.vision-* 配置 - ## v1.0.1158 (2026-08-19) ### 文档 - 任务系统升级为行为调度中心-整体设计文档 ### 其他 - - 缺口:无前置任务/频率单一/购物零联动/require_input 无强制/无 start 两阶段 - - 设计:action_type 声明式联动、TaskEngine 集中判定、task_executions 执行记录、三阶段实施路径 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - tasks.vue 今日任务:按 actionType 渲染按钮文案(开始游戏/专注/填写/阅读/报名/购物),locked 灰态+解锁提示,start_required 先开始再完成,require_input 弹填写面板提交内容 - - create-task.vue 新增联动动作/两阶段/填写式开关+商品ID配置,重复设置扩展隔天/每月,补全 repeatTypeLabel/actionTypeLabel computed - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - 新增 task_executions 执行记录表(started/finished 两阶段落库)+ focus_sessions.task_id - - DatabaseInitializer 迁移248:ensureColumn 幂等 + CREATE TABLE IF NOT EXISTS - - TaskService:completeTask 前置校验/填写强校验/两阶段校验/最短时长校验,完成后解锁后置任务;新增 startTask(pending→in_progress 并记录 execution) - - TaskController 新增 POST /api/tasks/{id}/start;complete 支持 content/contentType - - RepeatTaskGenerator 重构为频率分派:hourly/daily/every_other_day/weekly/monthly,每小时 cron 扫描,兼容旧 repeatType - - CreateTaskDTO/CompleteTaskDTO 透传新字段 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ### 新功能 - 任务系统升级-行为调度中心前端(动作联动/两阶段/填写式完成) - 任务系统升级-行为调度中心后端(前置任务/频率任务/两阶段/填写式完成) ## v1.0.1157 (2026-08-19) ### 新功能 - 健康方案页重写为多步骤结构化编辑流程 ## v1.0.1156 (2026-08-19) ### 文档 - 将开发规范中 Dify 引用统一改为 LangGraph ### 其他 - - AiGateway.java: 日志消息更新 - - AIChatController.java: 注释和方法引用更新 - - ContextApiController.java: Javadoc 更新 - - ButlerController.java: Operation summary 更新 - - MealRecommendController.java: 变量名 difyResp→langgraphResp - - KnowledgeBaseController.java: 依赖注入名更新 - - DifySyncService → LanggraphSyncService(类名/方法名同步) - - DanKnowledgeBaseService.java: 依赖引用更新 - - AGENTS.md: AI集成说明更新 - - PROJECT-OVERVIEW.md: 历史条目中DifySyncService→LanggraphSyncService - ## v1.0.1155 (2026-08-19) ### 新功能 - 评论自动回复脚本 comment_reply.py——CDP 驱动,click 修复与残缺选择器修复 - 新增 D26/D27/D28 文章稿、推流试验稿及内容草稿 ### 文档 - AGENTS.md 新增评论自动回复工具章节,修正 click 触发方式 - 文章钩子追踪清单更新——D26/D27 发布记录与已兑现预告 ## v1.0.1154 (2026-08-19) ### 新功能 - 照片自动情绪识别 — 后端 AI 调用 + 前端真实 API ### 其他 - - 新增 EmotionRecognitionResult DTO(情绪列表+moodWeather) - - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow - - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化结果 - - EmotionCheckinController: POST /api/mind/checkin/emotion/recognize - - application.yml: dify.emotion-api-key 配置项(空=mock模式) - 前端: - - analyzeEmotion() 改为真实 API 调用(上传+识别两步) - - 识别结果自动填充 aiResult,支持 applyAiTags 应用标签 - - 提交时复用已上传的 photoUrl,避免重复上传 - ## v1.0.1153 (2026-08-19) ### 新功能 - 照片自动情绪识别 — Dify AI 图像分析 + 前端接入 ### 其他 - - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow,支持 mock 兜底 - - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化情绪列表 - - EmotionCheckinController: 新增 POST /api/mind/checkin/emotion/recognize - - application.yml: 新增 dify.emotion-api-key 配置项 - ## v1.0.1152 (2026-08-19) ### Bug 修复 - 系统提示词INSERT列数不一致 + 知识库embedding TPM重试 + tags_str类型修复 ## v1.0.1151 (2026-08-19) ### Bug 修复 - action-detail/wealth/wisdom-detail 修复 :key 表达式 ### 重构 - 首页能量沙盘解锁改判任一维度能量值>0 ### 其他 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1150 (2026-08-19) ### 新功能 - HealthPlan后端重构 - planJson/status字段+regenerate-section接口 ## v1.0.1149 (2026-08-19) ### 新功能 - 首页区块顺序调整为 1-2-9-7-8-5-6-4-3-10-11 - 健康方案生成工作流重构 - LangGraph结构化方案+Java对接 - LLM推送数据PII脱敏(智能脱敏) ### 其他 - - - FamilyContextService: 用户/孩子姓名脱敏 - - AiGateway.chat/generateQuestionnaire/generateMenu/generateHealthPlan: 入口脱敏 - - AIService: sendNutritionMessage/sendTongueDiagnosis/runWorkflow/enrichInputsWithMemory/mirrorConversation/getContext/requestSummaryAsync: 入口脱敏 - - 化名映射: userId+salt→SHA-256→固定化名, 保证AI可识别同一用户 - - - 幂等检查加 deadline 日期窗口过滤,避免历史任务阻塞当天生成 - - RepeatTaskGenerator 每天凌晨5点可正确识别并再生方案任务 - ### Bug 修复 - 方案任务设置repeatType=daily,幂等检查限定当天deadline ## v1.0.1148 (2026-08-19) ### 文档 - API 参考文档纳入开发规范 - 将 API 参考文档纳入开发规范 ### 其他 - - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增)+ 废弃接口 410 处理 - - - AGENTS.md:接口规范补充「新增接口前查阅文档」和「废弃接口处理」 - - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增) - - 废弃接口统一标记 410 + @Deprecated - ## v1.0.1147 (2026-08-19) ### 文档 - 新增 API_REFERENCE.md 索引条目 - 新增后台接口参考文档 ### 其他 - - 标注已废弃接口(7 处,返回 410) - - 列出待清理废弃接口清单 - - 新增接口检查清单与流程 - ## v1.0.1146 (2026-08-19) ### Bug 修复 - 健康方案成员选择选中状态增强 ### 其他 - - 勾选圆圈 36rpx->44rpx,未选时透明打勾文字(不显示),选中时橙色填充✓ - - 步骤标题行加已选人数 badge(橙色胶囊标签) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1145 (2026-08-18) ### Bug 修复 - 心情打卡同步情绪日记—checkinDate 空值兜底为当天 ### 其他 - ## v1.0.1144 (2026-08-18) ### 新功能 - 心情打卡同步到情绪日记 ### 其他 - - DailyCheckinService.createCheckin 在 moodScore 有值时自动同步到 emotion_checkin 表 - - upsert 逻辑:今日已有记录则更新,否则新建 - - moodScore 1-10 → moodWeather 映射(sunny/cloudy/rainy/stormy) - - 同步失败不影响主流程 - ## v1.0.1143 (2026-08-18) ### Bug 修复 - 健康方案重做限制改为每日一次 ### 其他 - - localStorage key 改为按日期(yyyy-M-d)记录 - - 提示文案同步更新 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1142 (2026-08-18) ### 新功能 - 新增 SystemPrompt 管理功能 + web 品牌与产品素材 ### 其他 - - Web 管理端: systemPrompt.js API + SystemPromptManagement.vue 管理页 - - cfc-langgraph: requirements_frozen.txt 依赖冻结 - - web/img: 品牌/产品/引用源图片素材(cert/diagram/product-intro/products/ref) - - axonhub: AxonHub LLM 网关配置(compose+config) - - docs: web 品牌方向计划文档 - 未追踪 uploads/(临时 json 结果) 不入库 - ## v1.0.1141 (2026-08-18) ### Bug 修复 - 修复报告方案链路与报告详情折叠展示 ### 其他 - - HealthPlanServiceImpl 修复任务行正则,编号行任务可正常生成 - - report-detail 移除饮食推荐,肠道菌群/疾病风险/益生菌种/分类/病原菌改为折叠展示 - - cfc-langgraph 增强 PDF 报告解析(营养/药敏/氨基酸/症状字段)、rag 检索与向量化 - - schema.sql 补充新表;DatabaseInitializer/AIService/Layout 相关调整 - ## v1.0.1140 (2026-08-18) ### 新功能 - 健康现状档案 v2 — 疾病史两源预置清单分类多选+确诊时间,用药开始年月自动计算时长 - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项,★菌群源),分类折叠多选,★角标说明 - 确诊时间:年月选择器(fields=month, end限当前月),存 diagnosedAt(yyyy-MM) - 用药:startDate年月 + durationText自动计算(<12月→X个月, ≥12→X年),记不清可手动兜底 - 后端零变更(JSON列透传),v1旧数据({name,note}/{name,time})回显兼容 - 新增 computed.selectedNames + 17 个 CSS 类 ## v1.0.1139 (2026-08-18) ### Bug 修复 - 健康方案查看页+报告日期格式 ### 其他 - - 会员限制:付费年度家庭会员不限次,非付费会员每月仅可重新制定一次(localStorage 记录) - - health-main: goPlanSummary 传 planId;报告日期格式化为 yyyy-MM-dd - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1138 (2026-08-18) ### 新功能 - DAN 测评报告专用详情页 ### 其他 - - 后端 DanReportUploadVO 增加 result 字段,getDetail 返回关联的 DanAssessmentResult 分数 - - 更新 4 处入口跳转:report-list、mind-detail、wisdom-detail、health-main - ## v1.0.1137 (2026-08-18) ### Bug 修复 - 保单管理页居中+控件高度 ### 其他 - - insurance-add .form-input height 80rpx->88rpx 增大触控区 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1136 (2026-08-18) ### Bug 修复 - 移除 report-upload 自定义导航栏,使用原生导航栏避免双标题 ### 其他 - ## v1.0.1135 (2026-08-18) ### Bug 修复 - confirmText 改为4字以内,移除debug日志和红色横幅 ### 其他 - '同意并继续'(5字) 导致 showModal 静默失败,弹窗不出现。 - 改为 '同意继续'(4字),同时移除所有 debug 代码。 - ## v1.0.1134 (2026-08-18) ### Bug 修复 - AiGateway 缺少 @PostConstruct import 导致编译失败 ## v1.0.1133 (2026-08-18) ### Bug 修复 - 财商打卡页居中+控件高度 - 容器宽度约束+input padding增大 ### 其他 - - .form-input padding 16rpx->22rpx, font-size 26rpx->28rpx 提升触控体验 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1132 (2026-08-18) ### 其他 - debug: 加 try-catch+fail+complete 跟踪 uni.showModal 是否执行 ## v1.0.1131 (2026-08-18) ### 文档 - 健康现状档案 v2 实现计划 — 疾病史两源预置清单+确诊时间+服药时长 ### 其他 - - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项★菌群源),分类折叠多选,★角标说明,已选区设确诊时间(年月选择器) - - 用药:startDate年月 + durationText自动计算,记不清手动兜底 - - 后端零变更(JSON列透传),v1旧数据回显兼容 - - 7个任务:常量/数据模型/模板/逻辑/用药/保存/验证提交,含完整代码与验证命令 - ## v1.0.1130 (2026-08-18) ### 新功能 - 智行富三页强项与提升卡片-认知/关系/财富强弱项标记 ### 其他 - - action-detail: 新增关系强项与提升卡片,基于关系六维分数标记,空态引导关系问卷 - - wealth: 新增财富强项与提升卡片,基于财富四维分数标记 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - v2 重设计(基于调研补齐): - - 疾病史:菌群报告病症风险(20项 PdfParseService 白名单)+ 互联网统计常见病(约40项,附患病率/出处/年份)两源合并去重约50项,分类折叠多选;未列出的保留自定义补充兜底 - - 每条疾病新增确诊时间(年月选择器 yyyy-MM) - - 用药:每药一条保留,新增开始服药日期→自动计算已服时长,记不清时用时长文本兜底 - - 无 DDL 变更(disease_history/medications 为 JSON 字符串列,结构变化在 JSON 内部) - - 旧数据兼容:{name,note}/{name,time} 回显置空不报错 - ### 文档 - 健康现状档案 v2 设计 — 疾病史两源预置清单+确诊时间+服药时长 ## v1.0.1129 (2026-08-18) ### 重构 - 合并 ReportStatsController 到 StatsController,统一 /api/stats 路径 ### 其他 - - 删除独立的 ReportStatsController,消除同路径下双 Controller 冲突 - - 所有接口路径不变,前端调用无需修改 - ## v1.0.1128 (2026-08-18) ### Bug 修复 - 解决 merge 冲突 - health-main/index-home 合并冲突 & AiGateway 保留 ## v1.0.1127 (2026-08-18) ### Bug 修复 - 同步远端重构合并 + 保持 :key 修复与 trial 环境地址 ## v1.0.1126 (2026-08-18) ### 重构 - 移除管理端AI问卷场景配置与LangGraph qna模块 - 删除13个意图/旅程/问卷页面与组件 - 移除首页/我的页意图弹层与旅程卡引用 - 移除api.js中AI问卷/意图/问题域API封装 - 删除AI问卷与画像全部13个文件 - 移除RecommendationController画像推荐端点 - 移除AiGateway动态问卷/画像方法 - 移除AI问卷数据库迁移(229/231)与schema四表定义 ### 其他 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1125 (2026-08-18) ### 性能优化 - 合并两次成员接口调用为一次 ### 其他 - ## v1.0.1124 (2026-08-18) ### 性能优化 - 合并两次成员接口调用为一次 ### 其他 - ## v1.0.1123 (2026-08-18) ### 文档 - 新增参考资料目录文件 - 学生评估PDF、方案docx/pdf、融资规划书PPT ## v1.0.1122 (2026-08-18) ### 新功能 - 心身智三页肠脑轴卡片-情绪/认知指标过滤+身体异常告警 - 肠脑轴指标过滤+异常指标告警-认知/情绪分类+身体异常指标端点 ### 其他 - - wisdom-detail: 新增肠胃与认知卡片,含认知指标(谷氨酸/多巴胺/色氨酸等)+引导上传 - - body-detail: 新增指标告警卡片,疾病风险(非低风险)+营养素/氨基酸异常(仅异常项) - - api.js: 新增 getGutCognitionIndicators/getBodyAbnormalIndicators - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - MindController: /api/mind/neurotransmitters 只返回情绪相关指标(血清素/多巴胺/GABA/色氨酸) - - WisdomGutController(新): /api/wisdom/gut-cognition 认知指标(谷氨酸/多巴胺/色氨酸/丁酸等) - - HealthReportController: /api/health/report/body-abnormal 疾病风险+营养/氨基酸异常(仅异常项) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1121 (2026-08-18) ### Bug 修复 - pages.json 删除多余右花括号修复 JSON 语法 ## v1.0.1120 (2026-08-18) ### Bug 修复 - 健康主页身维度雷达图改用真实API数据 ### 其他 - - chartIsEmpty 和 currentScores 均改用 bodyData - - 与其他四维度(智/心/行/富)统一走后端API模式 - ## v1.0.1119 (2026-08-18) ### 文档 - 首页健康漏斗设计/计划状态同步为已实施 ### 新功能 - 首页健康漏斗重构 — 了解区自测卡 + 四段式区块重排 ### 其他 - - 新增 goSelfTest 方法 + selfTestTitle/selfTestSub 计算属性(有数据→再次了解·得分;无数据→引导文案) - - 新增 .self-test-* 样式(复用 health-main 视觉,边距对齐首页 30rpx) - - 未登录态 discover-container 零改动 - - 设计文档同步:PageBanner 已由 07d897a1 全局移除,① 了解区仅自测卡;补充 sandboxData 判定说明 - - 新增实现计划 docs/superpowers/plans/2026-08-18-homepage-health-funnel.md - ## v1.0.1118 (2026-08-17) ### 文档 - 首页重构 — 主动健康漏斗设计(方案A:了解→发现→改变) ## v1.0.1117 (2026-08-17) ### Bug 修复 - 内联弹窗逻辑到 pickFile/takePhoto,消除方法调用链断裂问题 ### 其他 - ## v1.0.1116 (2026-08-17) ### Bug 修复 - 移除所有页面中的PageBanner组件,消除双层标题 ### 其他 - - 清理遗留的「品牌头部」注释 - - 保留pages.json中配置的导航栏标题作为唯一标题 - ## v1.0.1115 (2026-08-17) ### 其他 - debug: 加 console 跟踪 report-upload 点击事件链路 - 目的是定位 @click 事件是否真正触发到 methods - ## v1.0.1114 (2026-08-17) ### Bug 修复 - 迁移249 file_record补file_type/description列,修复Unknown column错误 ## v1.0.1113 (2026-08-17) ### 重构 - 上传报告入口统一为 ReportUploadCard 组件 ## v1.0.1112 (2026-08-17) ### Bug 修复 - 允许 cfc.iwintrue.com 访问后端 API ## v1.0.1111 (2026-08-17) ### Bug 修复 - 责任声明勾选改方法调用+箭头函数消除this丢失隐患 - 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露 ### 其他 - - ensureAgreed/startPick/uploadAndGoConfirm 内 var self=this 全部改为箭头函数 - - 修复某些情况下点击上传按钮无反应的问题 - ### 新功能 - 今日任务和报告上传移至推荐阅读上方,推荐商品移到底部 ## v1.0.1110 (2026-08-17) ### 新功能 - 列头排序增强 — 单列循环 + 多列组合排序 ### 其他 - - sort.css: 新增 sort-index badge 样式(绿色升序/橙色降序) - - 9个管理页面列头直接显示排序序号badge - - Foods.vue: 清理重复方法定义 - ## v1.0.1109 (2026-08-17) ### Bug 修复 - 请求超时提升至60s + 复制新建按钮loading态 ### 其他 - - ArticleEdit 复制并新建按钮加 loading 防重复点击 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - mind-detail/mind-extra 列表摘要 stripHtml 清理,避免富文本标签直接展示 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - AI 自动标签生成改为 taskExecutor 异步执行,不阻塞 HTTP 响应 - - AdminArticleController.create 捕获业务异常返回 Result.error - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ### 新功能 - 文章详情mp-html富文本渲染 + 列表摘要去HTML标签 - 文章创建幂等检查 + AI标签生成异步化 ## v1.0.1108 (2026-08-17) ### 新功能 - 统一AI接口走Java后端,删除前端直连LangGraph ### 其他 - - 前端4个AI函数改为直连Java /api/ai/*路由 - - 删除langgraphRequest适配层及LANGGRAPH_BASE_URL配置 - - 后端:systemPoints/CF值命名统一,PointsService方法重命名为awardCfPoints/deductCfPoints/getCfPointsBalance - - 前端ProfileHeader.vue:系统积分改显示为CF值 - ## v1.0.1107 (2026-08-17) ### Bug 修复 - 心理测评DAN部分改为'人格、情绪、自我概念和自驱力测评' ## v1.0.1106 (2026-08-17) ### 新功能 - 认知测评与心理测评补充说明双培强基DAN测评 ## v1.0.1105 (2026-08-17) ### 新功能 - 上传报告页新增认知测评、心理测评、情绪打卡三种类型说明 ## v1.0.1104 (2026-08-17) ### 新功能 - 小程序 AI 请求统一走 Java 后端 ### 其他 - - 前端 4 个 AI 函数改为直连后端 /api/ai/* 路由 - - 删除 langgraphRequest() 适配层及 LANGGRAPH_BASE_URL/DIFY_BASE_URL 配置 - ## v1.0.1103 (2026-08-17) ### 新功能 - 首页能量沙盘门禁引导卡 - 未测评时显示GateLock (sandbox-gate) - 能量沙盘门禁改家庭级判据 - 任一成员做过五维自检即解锁 (sandbox-gate) ### 其他 - - gate-lock SELF_CHECK 按钮文案对齐五维基础能量检测 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - EnergyController.sandbox 个人视角改用家庭级判据 + selfCheckGateOrFallback 内置兜底 gate(无种子时前端 GateLock 也能渲染引导按钮) - - getUserUnlockStatus 个人沙盘锁定标志同步家庭级,与 /api/energy/sandbox 一致 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1102 (2026-08-17) ### Bug 修复 - 修复组件引用路径与打卡页 :key 表达式 ## v1.0.1101 (2026-08-17) ### 新功能 - 里程碑置顶,打卡记录→任务中心,健康报告状态卡片,四种打卡页面支持照片/文字/语音 - 小程序 AI 请求统一走 Java 后端 ### 其他 - - 前端 4 个 AI 函数改为直连后端 /api/ai/* 路由 - - 删除 langgraphRequest() 适配层及 LANGGRAPH_BASE_URL/DIFY_BASE_URL 配置 - ## v1.0.1100 (2026-08-17) ### 新功能 - 增加健康问卷确认步骤 ### 其他 - - 步骤条新增第3步「健康问卷」 - - Step2「生成方案」改为「下一步」至健康问卷步骤 - - Step3健康问卷:已填写则带出摘要确认,未填写引导去填写 - - Step4确认方案:原Step3内容,regenerate返回Step3 - - 新增healthStatusSummary computed解析健康数据摘要 - - 新增parseLipidText/parseNameList/parseMedText/formatTime辅助方法 - - 新增goFillQuestionnaire跳转健康问卷表单页 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1099 (2026-08-16) ### 新功能 - 报告上传页移除检测服务商品列表,改为上传报告类型说明 ## v1.0.1098 (2026-08-16) ### 新功能 - add 记账打卡 tracking item to daily progress - replace service grid with insurance policy list - add 推广收益 icon to achievement grid, navigate to wealth center - linked SKU 已选区补充关联商品详情跳转入口 - 适配 linked SKU - 选择时动态更新商品信息,下单/加购转发至关联商品 - ProductSkuEditor 双模式(规格变体/关联商品)+ ProductPicker 组件 - 购物车/下单 linked SKU 转发到关联商品 - 管理端商品选择器 API /api/admin/product/linked/list - specMap 扩展返回 linked 商品摘要,库存为0/已下架不显示 - ProductSkuService 创建/更新支持 linked SKU,跳过 specs 校验 - ProductSku 新增 linkedProductId/label 字段,迁移247 ### 文档 - SKU 关联商品选择器实施计划 8 Tasks - fix 循环关联歧义 — 明确 1 层限制 - SKU 关联商品选择器设计文档 — linked_product_id + label 模型,不迁移存量 ### Bug 修复 - LANGGRAPH_BASE_URL 改为 https://ai.etotem.com.cn(微信小程序强制 HTTPS) ## v1.0.1097 (2026-08-16) ### 新功能 - 专项调研页适配 v2 契约 - 按 code 拉取问卷 + 提交选项 id (survey-rework) - 专项调研重设计 v2 - 统一问卷契约 + 内置默认问卷 (survey-rework) ### 其他 - - flow-intro.vue:surveyTemplateId 取值修正(后端返回平铺字段,兼容嵌套 surveyTemplate.id) - - api.js:新增 getProblemSurveyQuestions(code) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - submit 改读 surveyTemplateId(兼容旧 templateId),answers 统一 [{questionId, optionIds}](兼容旧 Map/[{questionText, optionTexts}]) - - ProblemDomainController.list 补平铺 surveyTemplateId 字段(修复 flow-intro 透传断链) - - 迁移248:survey_templates 内置 3 个问题域问卷种子(空表才插入)+ problem_domains 未绑定才绑定,幂等 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1096 (2026-08-16) ### Bug 修复 - 迁移248创建health_report_edit_logs表,修复表不存在错误 ## v1.0.1095 (2026-08-16) ### Bug 修复 - 补充移除剩余3处 AI 字样 ### 其他 - - AIFloatingAvatar → FloatingAvatar, AITaskCard → TaskCard 组件重命名 - - 政策文档中 AI 相关描述替换为中性表述 - - 29 个文件,1398 行变更 - ## v1.0.1094 (2026-08-16) ### 新功能 - 旅程 stage 3/4 推进 + 购买→方案关联校验 (P1) ### 其他 - - PackageLogisticsController:物流状态非 none → 推进旅程 stage=4(试剂盒已发/样本已收) - - ProblemPackageController.confirm:确认方案前校验套餐已购买(paid/pending 订单),打通购买→方案关联 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - wealthChildLegacy(119) → wealthAltruism 利他贡献题(分享经验帮助他人) - ### Bug 修复 - 自测问卷财富子维度题目对齐利他创富四维模型 ## v1.0.1093 (2026-08-16) ### Bug 修复 - ProductEdit.vue 修复 editorConfig 初始化被挤出 created() 导致的构建失败 ## v1.0.1092 (2026-08-16) ### 其他 - Revert "feat(web): 批量添加列表页分页+排序+横向滚动(109文件)" - - - 方案保存后后端 savePlan() 自动调用 generateDailyTasksFromPlan() - - 生成每日 Task(sourceType=plan, sourceId=plan.id) - - 修复前:方案内容未入库,后端任务生成链从未触发 - ### Bug 修复 - 方案保存后自动触发每日任务生成链路 ## v1.0.1091 (2026-08-16) ### 其他 - Revert "feat(web): 批量添加列表页分页+排序+横向滚动(109文件)" - ## v1.0.1090 (2026-08-16) ### 新功能 - 富维度重构为利他创富四子维度模型(能力/利他/CF值/素养) ### 其他 - - 家长:能力25% + 利他30% + CF值35% + 素养10% - - 孩子:学业25% + 利他30% + 积分35% + 素养10% - - 新增 mapper 注入:FamilyPlatformBalanceMapper(CF值)、ReferralTreeMapper(邀请人数)、GuideMapper(服务商资质) - - DTO:新增 wealthSkill/wealthAltruism/wealthFx 共用字段,旧字段兼容保留 - - 前端:WealthSubScores.vue、wealth/index.vue、health-main/index.vue 全部适配 4 子维度 - - pages.json:移除不存在的 intent-quiz 页面引用 - ## v1.0.1089 (2026-08-16) ### 新功能 - 方案确认改调生成任务接口 (P0) - 方案确认生成会员任务 + 补全会员校验绕过路径 (P0) ### 其他 - - api.js:新增 confirmProblemPlan 封装 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - TaskPlanService.generatePlanTasks:plan items 生成可执行任务,打通 ProblemCompletionService 发奖链路 - - TaskController:complete-minigame / batch-complete 补 checkMemberOnly - - GuideFamilyTaskController:单个/批量审核补会员校验 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - ### 文档 - 功能分析定义表(按会员等级梳理,含前置关卡) ## v1.0.1088 (2026-08-16) ### 新功能 - 批量添加列表页分页+排序+横向滚动(109文件) - 商品编辑-线上服务者简化为服务商下拉选择 - 健康报告列表增加报告人/报告日期/上传日期 ### 其他 - - 67 个页面添加 sortable="custom" 列排序 - - 12 个 teacher/nutritionist/service 页面添加 el-pagination 分页 - - PlanManagement.vue 样板参考实现 - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - ### Bug 修复 - 恢复 CHANGELOG 至 v1.0.1087(修复 stash 冲突时误取旧版本) - 方案制定页成员选中效果加强-粗边框投影+头像变色+圆形对勾徽章 ## v1.0.1087 (2026-08-15) ### Bug 修复 - 清理菜单管理页残留冲突标记 - 迁移247 user_intents补skip_count/last_skip_at列,修复Unknown column错误 ### 新功能 - 菜单编辑改用树形选择器作为上级菜单 ### 其他 - - 新增 treeData computed:递归展平菜单树,带 padding 缩进 - - 新增 currentLabel computed:选中后显示面包屑路径(如 系统配置 > 基础管理 > 用户管理) - - 新增 excludedIds computed:编辑模式下自动排除自身及所有子孙节点,防循环引用 - - 新增 selectParentNode 方法:点击树节点设置 parentId - - 添加 parent-hint 提示条:显示当前选中上级路径或'顶级菜单' - ### 样式 - 副标题文案调整 ## v1.0.1086 (2026-08-15) ### 新功能 - 通知模板通道多选加公众号选项 (W3) - 通知五通道模型 - 公众号通道 + 通道抽象 (W3) ### 其他 - - 提示文案:小程序内为内置通道,短信/微信/公众号/电话需接入外部接口后生效 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - NotificationChannel 接口 + NotificationMessage DTO - - 5 通道实现: - - InAppNotificationChannel 内置写库 - - Sms/Wechat/Gzh/Phone 外部通道预留 stub(enabled 配置开关 + 日志,TODO 接入网关) - - NotificationDispatchService 统一分发入口:读模板 → 占位符替换 → 按 channels 多选分发 - - DanReportUploadService / ProblemCompletionService 改走分发服务(移除硬编码/模板辅助方法) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1085 (2026-08-15) ### 新功能 - 单入口问卷弹窗 + 首页跳转修正 ### 其他 - - 以后再说调用 /api/user-intent/skip 记录skipCount,最多3次 - - B类跳转改为 /pages/health/ai-questionnaire(原指向domain-list) - - handleIntentClose 移除旧 intent_skipped 存储标记 - - 后端skip接口、user_intents.skip_count列均已就绪 - ## v1.0.1083 (2026-08-15) ### Bug 修复 - ArticleCategory.vue 修复 el-dialog 标签缺失导致属性裸奔 ### 新功能 - 意图问卷入口 + 跳过提醒机制 ### 其他 - - UserIntent实体新增skipCount/lastSkipAt字段 - - 新增POST /api/user-intent/skip 接口记录跳过次数 - - 迁移243: user_intents表添加skip_count和last_skip_at列 - 前端: - - 新增pages/health/intent-quiz.vue意图问卷入口页(三选一:随便看看/先了解自己/解决问题+以后再说) - - health-main新增showIntentReminder状态,跳过1-2次后显示提醒横幅 - - 跳转逻辑:A类→返回浏览 / B类→AI问卷 / C类→问题域选择 - 设计说明: - - 所有用户从统一入口开始(intent-quiz页面) - - 随便看看用户点击以后再说,记录skipCount,最多提醒3次 - - 先了解自己/解决问题用户直接进入AI智能问卷或问题域选择 - ## v1.0.1082 (2026-08-15) ### Bug 修复 - 报告详情页异常数量修复 + 指标自组装异常统计补齐 - 修复动态菜单子菜单名称为空、无子菜单的一级菜单展开箭头问题 ### 其他 - 仅 high/low/abnormal/偏高/偏低/异常/缺乏/不足/注意/高风险 计入异常数 - - assembleBlocksFromPayload 生成 indicator 块时携带 abnormalCount - - report-blocks-renderer indicator 块标题行显示异常数量 - - - 模板: el-submenu 增加 children.length > 0 条件(无子节点时不渲染展开箭头) - - key/index: 补充 id 兜底,避免 path 为空时的渲染异常 - ## v1.0.1081 (2026-08-15) ### 新功能 - 商品详情页展示套餐包含明细 - 商品编辑页支持套餐类型及套餐组成配置 - ProductService.detail返回套餐商品组成 - ProductDTO新增bundleItems套餐组成字段 - 迁移246创建product_bundle_items表(套餐商品组成明细) ### 文档 - 商品套餐管理功能实现计划 ## v1.0.1080 (2026-08-15) ### 文档 - 更新 PROJECT-OVERVIEW.md v2.8 — SKU价格单位统一分 + 规格选择响应式修复 (7 Tasks 已完成) - SKU价格统一分单位+规格按钮修复 实现计划 - SKU规格价格统一分单位 + 详情页规格按钮响应式修复设计文档 ### Bug 修复 - 详情页规格选择用/,按钮始终可点 - ProductSkuEditor 价格显示/输入采用元,提交采用分 (×100) - 迁移245 product_skus存量价格×100(元→分),sys_config幂等标记 - 购物车项单价有SKU时用规格价,修复购物车显示商品价而非规格价 - ProductSku/ProductSkuDTO 价格字段 BigDecimal(元)→Integer(分),统一价格单位 ## v1.0.1079 (2026-08-15) ### 文档 - 商品套餐管理功能设计文档(建表/管理端配置/小程序展示) ## v1.0.1078 (2026-08-15) ### 新功能 - 我的页面新增当前意图展示与重新选择入口 ### 重构 - 统一家庭成员接口迁移到 getFamilyMemberList,修复 quick-survey :key 警告 ### 其他 - - api.js 新增 getFamilyMemberList 唯一入口,移除 getFamilyMembers/getVisibleFamilyMembers/listFamilyMembers 废弃导出 - - 迁移 24 处调用点(8 getFamilyMembers + 13 getVisibleFamilyMembers + 3 listFamilyMembers) - - quick-survey.vue 3 处 :key 表达式改为方法调用 - - api.test.js 测试同步更新 - ## v1.0.1077 (2026-08-15) ### 新功能 - 报告详情直入编辑模式取消返回列表页 ### 其他 - - cancelEdit: directEdit 时 uni.navigateBack() 返回报告列表/卡片页,等同原生返回 - - enterEditMode: 重置 directEdit,view 内点编辑后取消仍回 view 模式 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1076 (2026-08-15) ### Bug 修复 - 报告详情/确认页被检测人选择面板始终列出全部成员 ### 其他 - ## v1.0.1075 (2026-08-15) ### 新功能 - 改版v1 通知入首页动态 (W3) - 改版v1 通知模板管理页 (W3) - 改版v1 通知模板管理 (W3) ### 其他 - - 未读通知优先显示(isRead=0 在前) - - 使用 parseDate 解析时间(遵守小程序日期解析规范) - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - 新增 NotificationTemplateManage.vue 管理页 - - 类型/标题/内容模板/推送通道(小程序内/短信/微信/电话)/状态 - - 通道多选 + 占位符提示 {domainName} {reward} - - 路由注册 notification-template-manage - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - - - 新增 AdminNotificationTemplateController (/api/admin/notification-template list/save/delete) - - DanReportUploadService / ProblemCompletionService 改为从模板表读取文案 - - report_ready / reward_granted 支持 {domainName}/{reward} 占位符 - - 表不存在/停用/无记录时回退默认文案 - - schema.sql 同步 notification_templates 建表 - Ultraworked with [Sisyphus](https://github.com/OhMyOpenCode) - Co-authored-by: Sisyphus - ## v1.0.1074 (2026-08-15) ### 新功能 - 家庭成员接口统一兼容字段 ### 其他 - - FamilyMemberService 新增 listMembersWithFamily() 支持 includeFamily 模式 - - - 批量替换 controller/service 中 Long.valueOf(map.get().toString()) 模式 - - 修复 4 个 CRLF 文件的全行替换噪声(改用 perl 保留行尾符) - - 前端 request() 过滤空字符串 ID 字段,防止空 ID 传后端 - ### Bug 修复 - 统一 Long 参数安全解析,修复空字符串导致 NumberFormatException ## v1.0.1073 (2026-08-15) ### 新功能 - 报告列表与健康首页点击 gut_flora 报告直达编辑模式 - 报告详情页支持 mode=edit 参数直入编辑模式 ### 其他 - 拼接 mode=edit 参数,跳过查看模式过渡页。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - 仅 reportType=gut_flora 生效,draft 流程不受影响。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1072 (2026-08-15) ### Bug 修复 - 移除21天科学减重/28天血糖平稳套餐种子数据自动插入 - 移除 health-plan-summary onLoad 中残留的 loadFamilyReports 调用 ### 其他 - Co-authored-by: Sisyphus - ## v1.0.1071 (2026-08-15) ### Bug 修复 - ProfileMenu 组件导入路径修正 ### 其他 - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - ### 新功能 - 报告列表支持多选软删除 + 点击行直达编辑页 - 报告编辑页路由 + 归档/编辑 API 封装 - 新增报告批量归档接口 POST /report/archive-batch - sales/index.html 产品介绍分类挂载减重套餐卡片 (4→5篇) - 新增家庭科学减重套餐产品介绍页 + Agnes生成产品封面图 ## v1.0.1070 (2026-08-15) ### 新功能 - 方案保存后自动生成每日任务(P0-3后端) ## v1.0.1069 (2026-08-15) ### Bug 修复 - 修复6处:key表达式警告 ## v1.0.1068 (2026-08-15) ### Bug 修复 - 心理雷达图改用10维完整数据(大五+自驱力+情绪稳定性+自我概念) ### 其他 - - EmiReportService.toDTO() 解析 DanAssessmentResult.structuredAnalysis JSON 提取自驱力三维度及自我概念;emotionStability = (emotionScore+resilienceScore+stressCopingScore+selfAwarenessScore)/4 - - 心理雷达图扩展为10维:开放性/尽责性/外向性/宜人性/神经质/自主性/胜任感/归属感/情绪稳定性/自我概念 - - 家庭平均数据同步使用10维字段计算 - - mind-detail页面的emiData.driveAutonomy等字段现在也能正确获取到数据 - ## v1.0.1067 (2026-08-15) ### Bug 修复 - 心理雷达图改用大五人格5维(与mind-detail保持一致) ### 其他 - - scores: opennessScore/conscientiousnessScore/extraversionScore/agreeablenessScore/neuroticismScore - - avgScores: 同样使用大五人格字段计算家庭平均 - ## v1.0.1066 (2026-08-15) ### 其他 - Co-authored-by: Sisyphus - ## v1.0.1066 (2026-08-15) ### Bug 修复 - health-plan-summary 成员列表 wx:key 表达式改用方法调用 ### 其他 - Co-authored-by: Sisyphus - ## v1.0.1065 (2026-08-15) ### 新功能 - 首页新增今日任务卡片 daily-task-card + 聚合接口封装 - 新增今日任务聚合服务 DailyOverviewService + 只读接口 POST /api/daily-task/overview - 改版v1 B类轻问卷(F16) + 首页定向内容(F17) - 改版v1 问题域管理页 (W1) - 改版v1 管理端问题域CRUD (W1) ### 其他 - - daily-task-card.vue 自带 onShow 拉取刷新,四分组渲染 + 全部完成空态 + 失败重试 - - index-home 挂载到 JourneyCard 与 WuxingSandbox 之间(登录态容器内,未登录不显示) - - 遵从小程序限制:无 ?. 可选链、:key 用方法调用 - - - DailyOverviewService 纯只读,复用现有 healthCheckin/financeCheckin/emotionCheckin/growthTask/task/articleReading/assessment/danReport 查询 - - DailyTaskController memberId 回退链:请求体 memberId → currentMemberId - - 单元测试 DailyOverviewServiceTest + DailyTaskControllerTest(@SpringBootTest + @MockBean) - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - ## v1.0.1064 (2026-08-15) ### 文档 - 统一家庭成员列表接口规范到 AGENTS.md - 今日任务首页卡片+只读聚合接口实施计划 - 修正每日任务设计文档测评路由指向 results 页 - 每日任务首页卡片+只读聚合接口设计文档 ### 其他 - - - Task1 聚合服务 + Task2 接口 POST /api/daily-task/overview + Task3 前端卡片 + Task4 首页集成 - - 引用签名已对照实际代码自检(checkinDate/hasTodayRecord 等) - - (仅小程序接入 + /api/daily-task/overview 只读聚合接口) - - PROJECT-OVERVIEW.md: 新增实施计划条目 - ## v1.0.1063 (2026-08-15) ### Bug 修复 - report-detail.vue 前端自动从 payload 组装展示块,适配不同报告类型 ### 其他 - ## v1.0.1062 (2026-08-15) ### 新功能 - 雷达图对接真实数据 + 新增财富标签 + 显示家庭成员平均数据 - 场景3减肥套餐主线 — 打卡返积分+产品数据+报告自动出方案 ### 其他 - - 心理维度: 调用 /api/emireport/latest 获取个人EMI报告(情绪/抗压/自我认知/社会适应/大五综合) - - 社会性维度: 调用 /api/family/relationship/scores 获取家庭关系质量评分 - - 财富维度: 新增Tab, 调用 /api/energy/sandbox 获取五维能量数据 - - RadarChart 增加 :avgScores 属性显示家庭成员平均值(灰色虚线) - - 无数据时显示解锁引导文案 - - 后端新增 /api/emireport/family 接口返回家庭所有孩子EMI报告 - - Co-authored-by: Sisyphus - - 1. 当 report_blocks 表无数据时,blocks 为空数组,页面显示'暂无报告内容'。 - 新增 payload 回退展示区:当 blocks 为空但 payload 有数据时,展示综合评分、健康指标、疾病风险。 - 2. 编辑按钮 hasRiskBlocks 条件始终为 false(检查 block.riskLevel 而非 items 内 level), - 导致编辑按钮永不显示。改为 isGutFlora 条件即可,blocks 为空时按钮文案变为'查看完整数据 ›' - ### Bug 修复 - DietPreferencesController 处理 familyMemberId 为 null 时优雅降级 - report-detail.vue 缺少 blocks 时展示 payload 回退内容 ## v1.0.1061 (2026-08-15) ### Bug 修复 - 方案制定页面修复-移除\\ue601\乱码/双重标题/Step1改为选人 ### 其他 - Co-authored-by: Sisyphus - ## v1.0.1060 (2026-08-15) ### Bug 修复 - health-plan-summary onShow函数体缺}闭合 ### 新功能 - 报告审核确认时将食材推荐入库 ### 其他 - - saveFoodSuitability() 将 FoodItem 写入 report_food_suitability 表 - - 自动匹配 foodId(精确+模糊匹配 foods 表) - - schema.sql 同步 report_food_suitability 表定义 - ## v1.0.1059 (2026-08-15) ### Bug 修复 - 统一 memberId 回退链 currentChildId → currentMemberId → userId - 菌群知识库文章接口 + 分页拉取 + LangGraph timeout 修复 ### 其他 - - health-main, growth-main, survey-history, survey-questionnaire - - diet/index, diet/preferences, diet/records, diet/record-detail - - api.js getDietPreferences 支持传 data 参数 - 回退链统一: currentChildId → currentMemberId → userId - - - 修复性别取值非法(空串/微信码 0/1/2 处理) - - 修复 SurveyController submit NPE(templateId 判空) - - 修复 FoodRecommendController userId/foodId 空串 NPE - - 修复 AdminArticleController toggleFeatured NPE - - 修复 AdminNoticeController LambdaQuery 参数类型 - - 修复 AdminPurchaseFieldController Map→实体 ClassCastException - - 修复 DietMealConfigController @RequestParam→@RequestBody - - 修复 FamilyInviteController scene 改为 JSON 格式 - - 修复 HealthExercise/SleepController memberId 空串 NPE - - 修复 hasRole roles null 保护 - - LangGraph: java_client timeout 10s→120s, get_microbiome_articles 分页 - - LangGraph: microbiome_loader.py fetch_articles 分页+timeout 120s - - 导入 809 篇菌群知识库文章到 microbiome_article 表 - ## v1.0.1058 (2026-08-15) ### Bug 修复 - 显式依赖 logback-classic 避免生产环境 NoClassDefFoundError: ThrowableProxy - 推荐阅读/商品改用首页组件并移到底部,恢复饮食推荐 ### 其他 - 官网文案微调:子女传承→代际传承,科学育儿→精准管理 - - 成长百科区:科学育儿·从了解开始 → 精准管理·从了解开始 - - 百科描述同步为全家人视角,不再仅针对孩子 - - - 推荐阅读: 内联 rec-card → ArticleBookshelf 组件(合并 healthArticles+growthArticles) - - 推荐区块移至页面底部(DimensionActivities 之后) - - 恢复被 b725d6883 删掉的饮食推荐 action-card 入口卡片 - - 清理: 移除旧推荐样式、productList API 调用、healthProducts/growthProducts 死代码 - - 兼容: goToArticle/goToProduct 支持对象参数(组件 emit 传入) - ## v1.0.1057 (2026-08-15) ### 新功能 - 改版v1 C类前端 - 首页旅程集成(F1) + 分包注册 - 改版v1 C类前端 - 问题流/通知共8页面(F4-F11) - 改版v1 C类前端 - 意图选择弹层(F2) + 旅程进度条(F3) - 改版v1 C类前端 - 接口封装(F13) + 会员任务角标(F12) ### 其他 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - 1. getReportDetail 传参传了对象 {reportType, reportId},但函数签名只接受单个 reportId,导致后端 NumberFormatException - 2. blocks 取 self.report.blocks 但后端返回 blocks 在 res.data 层级,导致空数组显示'暂无报告内容' - ### Bug 修复 - 改版v1 C类调研提交 - 修正旅程阶段映射(3→2) - report-detail.vue 修复传参错误导致400及blocks获取层级错误 ## v1.0.1056 (2026-08-14) ### 新功能 - 北京菌群报告解析集成——指纹检测+表格提取+统一输出 ### 其他 - - pdfplumber表格提取SCFA/核心菌属/营养代谢/抗生素/毒性物质 - - 统一输出结构:两种报告类型产出相同字段集 - - 标准报告北京特有字段保持空默认值 - ## v1.0.1055 (2026-08-14) ### 新功能 - 管理后台菜单管理页面(树形CRUD+角色授权弹窗)与动态侧边栏 - 后端菜单管理接口(树查询/CRUD/移动/角色授权/用户菜单) - 新增菜单管理表结构(sys_menu/sys_role_menu)与数据库迁移+种子数据 ## v1.0.1054 (2026-08-14) ### Bug 修复 - 成长页功能修复(基于干净基线重建) - 标题 今日干预进度→今日成长 - 移除 今日打卡/本周调研 items、饮食推荐卡片 - 饮食检查改用 getHealthMealList(/api/health/meal/list) - 推荐商品改用 productList({page:1,size:6}) 修复空列表 - 快捷按钮 4 列 flex 布局(progress-grid) - 保留 tracking-tabs 记录区与成长记录卡 ## v1.0.1053 (2026-08-14) ### 文档 - 新增公众号数据驱动优化指南(基于后台分析) ## v1.0.1052 (2026-08-14) ### Bug 修复 - 删除api.js末尾重复的getExerciseList/getSleepList声明 - 修复编译错误——函数声明+key表达式 ### 其他 - - ai-questionnaire/result: :key表达式改为方法调用 - - health-status-form.vue: :key表达式改为方法调用 - ## v1.0.1051 (2026-08-14) ### 新功能 - 成长页今日干预进度对接真实 API(运动/睡眠/连续打卡) ## v1.0.1050 (2026-08-14) ### 新功能 - 菜单管理全量初始化 + Layout动态加载 - 移植报告PDF菌群表与食物推荐表解析 ### 其他 - - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项 - 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/ - 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理 - 前端: - - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单 - - buildMenuItems()将树形结构转换为el-menu所需格式 - - 接口失败时降级使用硬编码菜单(向后兼容) - - 菜单管理页可实时修改左侧导航 - - - pages.json: ai-questionnaire分包path去重(重复root前缀) - - action/body/mind-detail: 删除},)残留JS语法错误 - - - 移植 _parse_bacteria_table/_parse_phylum_tables/_parse_taxonomy_levels - - parse_report_pdf 接入菌群检出详细列表(11分组)与个体化食物推荐表 - - Java 端 convertLgFloraList/convertLgFoodList 解析 LangGraph snake_case 输出 - ### Bug 修复 - 修复编译错误——编码损坏+分包路径+JS语法 ## v1.0.1049 (2026-08-14) ### 新功能 - 菜单管理全量初始化 + Layout动态加载 - 改版v1 会员任务标记(B20-22) + 问卷过滤(B23) + 内容标签过滤(B24) - 改版v1 C类接口 - 问题域/用户意图/通知/专项调研/套餐/物流 + 会员校验 + 报告钩子 + CF奖励 - 菜单管理全量初始化 + Layout动态加载 ### 其他 - - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项 - 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/ - 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理 - 前端: - - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单 - - buildMenuItems()将树形结构转换为el-menu所需格式 - - 接口失败时降级使用硬编码菜单(向后兼容) - - 菜单管理页可实时修改左侧导航 - - - 原迁移表名写错为 task,导致 tasks 表从未补列 - - 生产 DB 已直连 ALTER 添加(TINYINT DEFAULT 0)即时生效 - - 官网首页品牌定位改造:切换为「一个人的主动,一家人的健康」+ 家庭精准生活方式管理 - - head meta/og/title/keywords 重新定位 - - JSON-LD SoftwareApplication/Organization/FAQPage 同步 - - Hero 区 badge/主标题/描述/CTA 全部替换 - - About 区 desc + 企业使命 - - 概念区收尾追加 slogan 句 - - 产品区 desc + 精准健康卡桥接代谢主线 - - 五维 subtitle + 身卡 desc 桥接 - - FAQ 首答重写 + 新增 2 条 - 保留:主动健康核心理念、五维体系(身·智·富·行·心)、五行相生相克概念解释 - - - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项 - 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/ - 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理 - 前端: - - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单 - - buildMenuItems()将树形结构转换为el-menu所需格式 - - 接口失败时降级使用硬编码菜单(向后兼容) - - 菜单管理页可实时修改左侧导航 - ### Bug 修复 - 迁移237 表名修正 task→tasks(member_only 列) ### 文档 - add D17-D22 article drafts and D25 note - 数据看板分页抓取26篇完整数据,发布指南更新为25篇完整复盘并新增数据文件 ## v1.0.1048 (2026-08-14) ### Bug 修复 - 迁移237 表名修正 task→tasks(member_only 列) ### 其他 - - 原迁移表名写错为 task,导致 tasks 表从未补列 - - 生产 DB 已直连 ALTER 添加(TINYINT DEFAULT 0)即时生效 - - 官网首页品牌定位改造:切换为「一个人的主动,一家人的健康」+ 家庭精准生活方式管理 - - head meta/og/title/keywords 重新定位 - - JSON-LD SoftwareApplication/Organization/FAQPage 同步 - - Hero 区 badge/主标题/描述/CTA 全部替换 - - About 区 desc + 企业使命 - - 概念区收尾追加 slogan 句 - - 产品区 desc + 精准健康卡桥接代谢主线 - - 五维 subtitle + 身卡 desc 桥接 - - FAQ 首答重写 + 新增 2 条 - 保留:主动健康核心理念、五维体系(身·智·富·行·心)、五行相生相克概念解释 - ## v1.0.1047 (2026-08-14) ### 新功能 - 改版v1 会员任务标记(B20-22) + 问卷过滤(B23) + 内容标签过滤(B24) ## v1.0.1046 (2026-08-14) ### 文档 - add D17-D22 article drafts and D25 note - 数据看板分页抓取26篇完整数据,发布指南更新为25篇完整复盘并新增数据文件 ## v1.0.1045 (2026-08-14) ### 新功能 - 改版v1 C类接口 - 问题域/用户意图/通知/专项调研/套餐/物流 + 会员校验 + 报告钩子 + CF奖励 ## v1.0.1044 (2026-08-14) ### 新功能 - 菜单管理全量初始化 + Layout动态加载 ### 其他 - - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项 - 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/ - 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理 - 前端: - - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单 - - buildMenuItems()将树形结构转换为el-menu所需格式 - - 接口失败时降级使用硬编码菜单(向后兼容) - - 菜单管理页可实时修改左侧导航 - ## v1.0.1043 (2026-08-14) ### 新功能 - 当前状态调研健康现状档案 — 后端+前端+LangGraph 全链路 ### 其他 - 前端: 档案页 health-status-form.vue + pages.json 注册 + 健康主页入口 - 出方案: health-plan-summary.vue 读取健康现状+饮食偏好, 未填弹窗提醒, 随请求传参 - AI: adapter._to_langgraph_context 提取 inputs.health_status/diet_preferences - chat_graph.llm_call 注入健康现状/饮食偏好到 SystemMessage (prompt 上下文) - DI: @Resource, 统一 @PostMapping, JWT userId, upsert 语义 - ## v1.0.1042 (2026-08-14) ### 新功能 - 小程序画像报告页接入推荐卡片 ### 其他 - - 推荐卡片: 类型图标 + 标题 + 描述 + 匹配分 - - loadRecommendations() 在 loadReport finally 中调用 - - api.js: 新增 getProfileRecommend 接口 - ## v1.0.1041 (2026-08-14) ### 新功能 - 改版v1数据层 - problem_domains/user_intents/user_notifications 三表 + task.member_only + package_orders物流字段 ### Bug 修复 - 修复合并冲突残留 ## v1.0.1040 (2026-08-14) ### 新功能 - 小程序画像报告页接入推荐卡片 ### 其他 - - api.js: 新增 getProfileRecommend 接口 - - 推荐卡片: 类型图标 + 标题 + 描述 + 匹配分 + 徽章 - ## v1.0.1039 (2026-08-14) ### 新功能 - 画像驱动推荐系统(补全) ### 其他 - 移除冗余的 article_dimension_mapping/activity_dimension_mapping 表 - - 迁移231: member_profile_dimension 表 - - 迁移232: recommendation_logs 追加 recommend_type 字段 - - 迁移233: 历史 Article/Activity dimension_weights JSON → dimension_weights 表 - - ProfileDimensionService: 画像同步 + key→dimension_code 关键词映射 - - ProfileRecommendService: 加权匹配算法(基础得分+需求加成) - - RecommendationController: POST /api/recommend/profile 端点 - - AiQuestionnaireService.finish() 接入 syncFromProfile - - RecommendationLog 实体新增 recommendType 字段 - ## v1.0.1038 (2026-08-14) ### 新功能 - 画像驱动推荐系统(阶段1-2) ### 其他 - - 迁移232: recommendation_logs 追加 recommend_type 字段 - - 迁移233: Article/Activity 维度映射一次性迁移脚本 - - schema.sql 同步新增三张表 + ALTER TABLE - - Entity: MemberProfileDimension / ArticleDimensionMapping / ActivityDimensionMapping - - Mapper: 三个对应 Mapper 接口 - - ProfileDimensionService: 画像同步 + key→dimension_code 关键词映射(body/mind/wisdom/action/wealth) - - ProfileRecommendService: 加权匹配算法(基础得分+需求加成20分) - - RecommendationController: 新增 POST /api/recommend/profile 端点 - - AiQuestionnaireService.finish() 末尾接入 syncFromProfile - - RecommendationLog 实体新增 recommendType 字段 - ## v1.0.1037 (2026-08-14) ### 文档 - 修订画像推荐设计文档(修正维度编码+补充映射规则+澄清边界) ## v1.0.1036 (2026-08-14) ### 新功能 - 新增后台菜单管理功能 ### 其他 - - 新建 AdminMenu 实体/Mapper/Service/Controller - - 迁移230: admin_menu表 + 18条默认菜单种子数据 - - schema.sql同步新增admin_menu建表DDL及INSERT - - 接口: POST /api/admin/menu/tree|list|add|edit|delete/{id}|sort - 前端: - - 新增 admin/MenuManage.vue 树形表格+增删改弹窗 - - router/index.js 注册 /menu-manage 路由(system:menu权限) - ## v1.0.1035 (2026-08-14) ### 文档 - 小程序改版设计+分阶段实施计划(需求驱动·逐步解锁,C类问题域闭环优先) ## v1.0.1034 (2026-08-14) ### 文档 - 用户画像驱动推荐系统设计文档 ## v1.0.1033 (2026-08-14) ### Bug 修复 - 恢复 f18dd86e 误删为 0 字节的 710 个文件内容(来源 c975fa82,docs/tests/ppt-output/cfc-langgraph 等) ## v1.0.1032 (2026-08-13) ### 新功能 - 福宝/浠宝AI助手会员专属 + 7X24成长教练权益 ### 其他 - - 迁移229: membership_benefits新增GROWTH_COACH权益(FAMILY/PREMIUM) - - MembershipService.canUseFeature: FAMILY/PREMIUM新增mascot_ai功能开关 - - schema.sql同步新增GROWTH_COACH种子行 - 前端: - - ai/chat.vue: onLoad新增getMyMembership检查,FREE用户重定向会员升级页 - - user-edit/user-edit.vue: 解锁mascot选择区(FAMILY/PREMIUM可见),FREE用户显示升级提示 - - article-detail.vue: startQuiz前检查会员状态,FREE用户跳转升级 - - membership/benefits.vue: 新增7X24小时成长教练权益条目 - ## v1.0.1031 (2026-08-13) ### 新功能 - 小程序逐题对话问卷页 + 画像展示页 - AI 问卷场景配置管理页 - 控制器 — /api/ai-questionnaire/* 会话与场景端点 - 服务层 — 场景 CRUD + start/answer/finish 会话编排 + AiGateway 扩展 - 数据层 — ai_q_scene/session/profile 表 + 迁移 + 实体/Mapper - /api/v1/qna/advance + /profile 端点与路由注册(LLM 不可用降级 fallback/空画像) - 动态问卷引擎核心(schemas/prompts/decide_next/generate_profile) ### Bug 修复 - 从 git 历史恢复最小可运行集(config/rag/llm/middleware) - 恢复官网首页并修正 geo-faq 链接指向 ### 文档 - AI动态问卷引擎实施计划(8任务:LangGraph恢复/主流程/端点/种子/工具/AI网关/控制器/前端) - AI 动态问卷引擎设计 + LangGraph 开发规范 - 当前状态调研健康现状档案实现计划 - 当前状态调研健康现状档案设计 ### 其他 - - 架构: Java 会话管理 + LangGraph 无状态推理引擎(/api/v1/qna/advance + /profile) - - 数据库: ai_q_scene / ai_q_session / ai_q_profile 三表 + 迁移 - - 规范: AI 服务统一走 LangGraph(AiGateway 熔断调用),写入根/后端 AGENTS.md - - - web/index.html: geo-faq 专题链接由根目录修正为 articles/ 子目录(8e945bd0 移动后遗留死链) - - web/logo.png: 恢复被清空的 logo(22KB) - - web/cf.jpg: 恢复被删除的首页 hero 图(45KB) - ## v1.0.1030 (2026-08-13) ### 新功能 - 五维页面统一子维度呈现组件 ### 其他 - - 子维度评分卡片:标签+描述+分数+等级徽章+进度条 - - 支持 accentColor 自定义主题色 - - 分数分级:≥80 优秀/≥60 良好/<60 待提升 - - 身/智/心/行/富五个详情页面统一接入 - - 财富页新增子维度评分表(在原有水滴组件下方) - - 各页面保留原雷达图,新增统一子维度卡片区 - ## v1.0.1029 (2026-08-13) ### 新功能 - 成长页面四大打卡功能完整实现 ### 其他 - - 修复饮食打卡检查接口(从 /api/diet/record/daily 改为 /api/health/meal/list) - - 修复心情打卡缺少 memberId 参数问题 - - 统一 4 类打卡状态检查使用 createdAt/checkinDate 日期比较 - - 修复 :key 表达式编译警告(report-blocks-renderer, gates) - - 移除今日打卡/本周调研快捷按钮,新增睡眠记录 - - 移除饮食主页/饮食推荐独立卡片 - ## v1.0.1028 (2026-08-13) ### 重构 - 心维度子维度命名优化 ### 其他 - - EMI四个子维度(情绪管理/抗压能力/压力应对/自我认知)合并为'情绪稳定性'综合指标 - - 后端新增 emotionStability 字段 = (emotion+resilience+coping+selfAwareness)/4 - - 前端雷达图展示统一使用'情绪稳定性'标签 - ## v1.0.1027 (2026-08-13) ### 重构 - 五维页面通俗化改造,让普通人也能看懂 ### 其他 - - 身:'七维健康图' → '健康指标',加'身体健康各项指标'说明 - - 智:'情绪商数/心理韧性/神经质' → '情绪管理/抗压能力/情绪稳定性' - - 富:'认知雷达' → '学习能力评估',加'找出可以提升的方向'说明 - - 行:'家庭关系图谱' → '家庭关系','关系域评估' → '关系质量' - - 心:'成长溪流' → '财富成长',加'看到每月的成长变化'说明 - 新增得分解读卡片: - - 每个维度页新增'健康/情绪/学习/关系/财富解读'卡片 - - 80分以上绿色✅,60-80分黄色⚠️,60分以下红色❗ - - 配一句话建议:保持/关注/改善 - 其他: - - 修复 FamilyMemberStrip 双 v-if 语法错误 - - 新增 .section-sub 和 .score-explain-card 样式 - ## v1.0.1026 (2026-08-13) ### 新功能 - 五维页面新增个人/家庭视图切换 ### 其他 - - 个人视图:展示选中家庭成员的维度能量和流水 - - 家庭视图:展示全家该维度平均能量,隐藏成员切换条 - - 切换时调用 /api/energy/sandbox?view=family 加载家庭聚合数据 - - 新增 .view-toggle / .toggle-btn 样式(半透明胶囊按钮) - ## v1.0.1025 (2026-08-13) ### 新功能 - 成长页运动/睡眠/心情记录真实化 + 修复饮食记录判断bug ## v1.0.1024 (2026-08-13) ### 新功能 - 新增五维能量统一总览页 ### 其他 - * 展示全家/个人五维能量条 + 雷达图 - * 成员切换(全家总览/其他家庭成员) - * 点击维度卡片跳转对应详情页 - - pages.json 注册 energy/index 路由 - - npm run build 通过 - - - 生产库已直连 ALTER 添加(DECIMAL(10,2)),列类型与代码迁移对齐 - - schema.sql 合并重复的 points_multiplier 定义 - ### Bug 修复 - products.points_multiplier 列类型统一为 DECIMAL(10,2) ## v1.0.1023 (2026-08-13) ### Bug 修复 - 修复FileRecord实体缺fileType/description字段 + DatabaseInitializer迁移228 ### 其他 - - DatabaseInitializer迁移228:file_record表添加file_type和description列 - - 修复DatabaseInitializer方法结尾括号错位导致的编译错误 - ## v1.0.1022 (2026-08-13) ### 新功能 - OSS文件管理后台 + 标签系统 + 11K文件回写file_record - 通关奖励真实发放(CF值+能量)+管理端关卡列表分页 ### 文档 - 补写实施计划 - 恢复被清空内容+状态更新为全部完成+追加后续修复记录 ### 其他 - - refreshFamilyGates 增加 triggerUserId 重载, 4处钩子(FiveDimensionSelfCheck/FamilyInvite/FamilyMembers/ProductOrder)传入触发用户 - - 前端文案统一: 小程序 gate-lock/gates + 管理端 gates 的'积分'改为'CF值' - - AdminUnlockGateController.list 分页(selectPage, page/size 参数) - - cfc-web: getUnlockGateList 透传分页参数 + gates.vue 加 el-pagination - ## v1.0.1021 (2026-08-13) ### 新功能 - 结算页支持CF值直接兑换优惠券 ### 其他 - - CouponService.listUnownedExchangeable:查用户未拥有的有效兑换券 - - checkout.vue:加载CF余额+可兑换券,兑换按钮直接调exchangeCouponByCf - - 兑换成功后自动移入已拥有列表,刷新余额 - - 产品详情页已有CF值提示(pointsMultiplier>1时) - ## v1.0.1020 (2026-08-13) ### 新功能 - nutrition_product 增加成份/配料表(ingredients)字段及后台管理展示 ### 其他 - - schema.sql: nutrition_product 建表同步 ingredients TEXT 列, suitable_for 升级为 TEXT - - DatabaseInitializer: 新增迁移228(ingredients 列 + suitable_for MODIFY), 幂等 - - cfc-web: NutritionProducts 列表/详情展示成份配料表 - - 数据已通过独立脚本提交至京东云 RDS 生产库(zxyj) - ## v1.0.1019 (2026-08-13) ### 新功能 - 完成优惠券兑换闭环 + 兑换记录表 ### 其他 - 校验优惠券 → 家庭/单券日限次检查 → 扣家庭池CF → 发券 → 落记录 - - 新增 FamilyPlatformExchangeRecord 实体/Mapper - - schema.sql + 迁移227 建 family_platform_exchange_record 表 - - 兑换记录表含 userId/familyId/couponId/cfCost/status/redeemCode - - npm run build + mvn compile 通过 - ## v1.0.1018 (2026-08-13) ### 新功能 - 家庭CF值体系完善 ### 其他 - - 修复confirmReceive CF计算:改用totalAmount(原价)而非moneyAmount - - 新增FamilyPlatformBalanceController(balance/logs/exchange-coupon) - - FamilyPlatformPointsService新增exchangeCouponByCf方法 - 前端: - - 商品详情页展示'购此商品可得X CF值' - - 新增家庭CF值页面(余额+流水+兑换优惠券) - - 财富页增加'家庭CF值'入口 - - api.js新增family-platform相关接口 - ## v1.0.1017 (2026-08-12) ### 新功能 - 家庭平台积分池后端实现 ### 其他 - - 新增 FamilyPlatformPointsService(家庭维度CF值服务) - - ProductOrderService.confirmReceive 挂点:floor(实付/100)×points_multiplier 发放家庭池 - - WithdrawalService 改走家庭池(freeze/confirmWithdraw/unfreeze) - - products 表新增 points_multiplier 字段(默认1.00) - - DatabaseInitializer 迁移226 - - 修复测试编译问题 - - mvn compile + npm run build 通过 - ## v1.0.1016 (2026-08-12) ### Bug 修复 - 导入全量全国省市区数据到 streets 表(31省/369市/2813区) ## v1.0.1015 (2026-08-12) ### 新功能 - 康美日记706产品导入+新字段(价格/销量/来源/图片)+搜索分页 ### Bug 修复 - 关卡页与报告渲染组件 :key 改为方法调用,消除非h5平台编译告警 - stable_token重试失败时回退常规token接口 - 成长页推荐卡片 :key 改为方法调用,修复非h5平台编译告警 - 成长页成长回看改名为成长记录,追踪标签移除调研 - 报告上传改走 JD Cloud OSS,LangGraph 解析支持远程 URL ### 其他 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - saveUploadFile 仍写本地磁盘,LangGraph 容器读不到文件(400 文件不存在)。 - 修复: - 1. HealthReportController 注入 StorageService,uploadOnly/uploadReport/ - parsePreview 改用 storageService.storeFile → 文件上传到京东 OSS - 2. parseByDraftId/parsePreview 对远程 OSS URL 直接传 URL 给 LangGraph, - 本地路径才用 getFilePath(); 本地 Java fallback 用 getFilePath 下载 - 3. 删除不再使用的 saveUploadFile/resolveUploadFilePath 私有方法 - 4. LangGraph report_parse.py 的 file_path 支持 http(s) URL,自动下载到 - 临时文件后解析(不依赖共享 volume 时序) - ### 文档 - 明确商品积分仅按现金实付部分计算 - 家庭平台积分(CF值)体系设计文档 ## v1.0.1014 (2026-08-12) ### 新功能 - kmdiary product sync scripts ## v1.0.1013 (2026-08-12) ### 其他 - update: sync latest from remote (web articles + langgraph config) ## v1.0.1012 (2026-08-12) ### Bug 修复 - ProductPpointManage排序列头+sortableColumns+sort-tag位置修正 ## v1.0.1011 (2026-08-12) ### 新功能 - rebuild cfclub with essential project files ## v1.0.1010 (2026-08-12) ### Bug 修复 - 移除报告审核 Tab 及相关路由 - 迁移227 product_skus.id 升级为 BIGINT - RegionController 移除硬编码数据,改用 StreetService 读取 DB 全量省市区数据 - 迁移226 products 添加 growth_category 列 - 迁移225 articles 添加 growth_category 列 - 成长页推荐只调用一次API,前端按growth_category分组显示 - 推荐接口移除 growth_category 过滤,直接取精选内容 - GrowthRecommendationService 修复 getCategory 调用错误 - 报告详情行距优化、富维度商品封面图URL修复、智维度功能区间距调整 - 修复成就页分包注册路径,健康/成长页移除家庭成员选择条 - LangGraph 容器挂载宿主机上传目录替代命名卷 - getFamilyEnergySandbox 兼容新返回格式,避免16个旧页面崩溃 - 图片路径替换为京东云OSS URL - 自驱力/自我概念/成长型思维解析改为嵌套Map+中文key的structuredAnalysis真实结构 - 修正 UserController 变量重复声明 - UserController 编译错误 - 修复 getPointsBalance 方法和 log 引用 - 修复测试编译错误和 FoodService 列名映射错误 - 修复 EnergyControllerTest 编译错误 - SortUtil 修复 LambdaQueryWrapper 类型不兼容问题 - 雷达图销毁后停止初始化重试 + 成长页定期调研改名成长回看并防御空项点击 - 我的页面isLoggedIn改为data+onShow赋值,修复登录后仍显示登录前视图 - NutritionProductService 字段名冲突导致 Bean 注入失败 - 补全 FileRecord 实体和 Mapper(JdCloudStorageService 依赖) - 雷达图标签边界约束 + 底部留白防tabbar遮挡 + 五维卡片标题单行 + 移除闭环图 - diet/record/daily, survey/status, survey/history memberId 为空时优雅降级 - 移除公告分类(27篇文章+68个chunk) - HealthReportControllerTest 适配 listReports 方法签名变更 - LangGraphAdmin.vue 修复 ES6 spread 语法兼容 webpack4 - 报告列表接口不强制 memberId——未传时回退到家庭报告列表 - 修复测试编译错误——适配 controller 方法签名变更(增加 @RequestAttribute 参数) - HealthDimensionControllerTest 适配 history 方法签名变更 - LangGraph管理页全屏布局 + 健康检查修复 - LangGraph健康检查修复Java后端状态显示 - LangGraph管理页全屏布局 + Java后端健康检查修复 - 修复重置用户密码接口请求体参数丢失 - data 改为 data: { password } - 天盘页面 routeDone 路由错误修复 - 导航工具加锁防重复跳转、修复 canvas 混合 API 用法 - TeacherLoginTest 适配 roles 改为 List - 健康/成长页不传memberId + 后端自动解析当前用户memberId JwtInterceptor对所有角色设置currentMemberId/familyMemberId - 无 memberId 时跳过健康/成长页数据请求,避免后端 400 空字符串解析错误 - User.roles 改为 List 修复修改角色反序列化错误 - 健康/成长页 memberId 为空修复 - getReportList 传 selectedMemberId、onShow 顺序调整、FamilyMemberStrip 绑定 @select 事件 - 权限不足时跳403而非/,避免无限循环导致栈溢出 - 修复 4Tab 编译错误 - 补回 wealth/index.vue 缺失的 service-item v-for 和 serviceList 数据; 修复 report-detail.vue 和 report-blocks-renderer.vue 的 :key 表达式改为方法调用 - JwtConfig 兼容短密钥,避免 WeakKeyException - LangGraph管理页改造 + 新增health/coach/generate端点 - 修复预存编译错误(DanshopSyncService引用 + 缺失File/FileOutputStream import) - 移除维度页未使用的LoginGuideCard import - 修正指标异常计数与展示不一致 - 修复 parse 读取文件路径重复拼接 uploadBaseDir - 健康报告上传改用 upload-only 接口 - 删除DanshopSync stub + 实现EnergyService占位方法 + PdfReport用PDFBox渲染 + AiGateway新增generateHealthPlan - 迁移208 health_gut_flora.detection_rate 列扩容 - 后台管理列表页统一显示用户名而非用户ID - 移除 @Slf4j 注解,改用显式 Logger 避免编译错误 - CouponService 改用显式 Logger 替代 @Slf4j,修复编译错误 - 健康报告页修复 - memberId兜底、移除自定义导航、指标状态标签、文案优化 - 清理残留成长档案文案 (DimensionIntroCard + profile-main) - health tab getReportList 空 memberId → 从 store/storage 取当前用户ID - AdminController 补 @Slf4j + 修复 AdminNoticeController LambdaQueryWrapper 写法 - AdminNoticeController LambdaQueryWrapper eq方法参数类型错误 - 富维度 banner 配色改为琥珀金 - 推荐服务商品状态改 on_shelf 修复 dimension-products 空数组; feat(frontend): 推荐阅读三列书封比例/推荐商品自加载/会员级别样式 - getOrderCounts 接口路径错误导致 404 - growth-main 移除活动维度参数 - home-detail 移除任务维度参数 - member-detail 移除任务维度参数 - index-home 移除维度参数 - wisdom 成员详情页移除维度参数 - wisdom-detail 成员详情页移除维度参数 - mind-detail 成员详情页移除维度参数 - body-detail 成员详情页移除维度参数 - action 成员详情页移除维度参数 - mind 成员详情页移除维度参数 - body 成员详情页移除维度参数 - DimensionTasks 移除维度参数自加载 - DimensionActivities 移除维度参数自加载 - DimensionArticles 移除维度参数自加载 - DimensionProducts 移除维度参数自加载 - 推荐商品接口支持空 dimensionCode 返回全量 - 添加家庭成员数量校验 - 任务分配需≥2人/挑战需≥2参与者/互动双方不能同一人 - createOrder 透传 couponId(会员优惠券此前未生效) - modifyColumnToText 跳过不存在的表,消除启动日志WARN - unify section headers + quick bar + task shortcuts; fix(tab-bar): center button position; fix(backend): ClassCastException in purchase field save - 修复DBI启动日志WARN(RENAME语法+不存在表/列的迁移) - 管理员登录兼容 BCrypt 密码验证 + 新管理员密码用 BCrypt - 家庭成员邀请改为小程序原生分享 - 完善信息页面移除 hasFamily 门控 — 老用户编辑时始终显示表单 - 修复我的页面主包引用分包组件导致内容不显示 - adjust position of heart icon and update tab icons - growth tab 空态不刷新 — hasFamily 加入 children/records 判断 - TabBar 分包冲突 + 自定义TabBar不显示修复 - 缩小推荐商品卡片尺寸 - 能量沙盘调整顺序 - 心在最上,顺时针身智富行 - 修复邀请流程 - 传递familyRole、改用小程序分享 - 创建家庭时自动将创建人加入为家庭成员(修复空心家庭问题) - 修复 UserService 中 createJoinRequest 调用 - 修复 createJoinRequest 调用参数 - 修复邀请流程 - 保存familyRole、修复轮询逻辑 - 修复 RequestBodyCachingFilter 编译问题 - FamilyMemberStrip centerMemberId watcher 加 immediate + 清理重复 .action-header 样式 - pairwise VO 补齐 isSpouse 与 lastInteractionAt(修复成员详情页 action-sheet 关系标签和上次填写时间显示) - 修正 parseDate import 语法(named export) - 移除多余的 String 构造函数调用 - 修复 Java 8 兼容性问题 - readAllBytes 改用 readStream - 将 Java 11 HttpClient 改为 RestTemplate 兼容 Java 8 - LangGraph 管理页面使用原生 fetch 避免 axios 拦截器问题 - 迁移192 verification_codes.type 添加默认值 - LangGraph 管理页面使用独立 axios 实例避免 CORS 和响应格式问题 - 处理生产日志错误(foods.report_id/score + 知识库JSON + DBI迁移112) - 修复测试编译与 getTemplates 断言;补充肠道菌群解析参考脚本 - 修复 diet/index.vue 运行时错误 - 饮食首页改造——原生导航栏+空数据弹窗+未配置共餐降级 - 家庭成员扇形展开 - fan-wrap 改 fixed 修复成员错位+不可点击; 半径 280→220rpx - 修复 FamilyChallengeService.getTemplates 数组越界 Index 7 out of bounds - 修正身页面饮食入口路径 - 迁移180/181 health_reports.health_report_drafts 缺列修复 - 首页家庭挑战区块增加管理入口跳转 challenge-manage - 修复 FamilyControllerTest 编译错误 - 废弃接口测试改为无参断言 410 - FamilyMemberStrip fan-wrap 改 v-if 不再遮挡五维页点击; diet :key 表达式改方法调用 - 修复家庭FAB按钮点击失效 + 位置上移 - 恢复添加家庭成员页保存按钮 - 统一 SKU specs 存库为数组格式,修复规格名丢失 - 已登录用户富页面误显'请先登录'的会话过期修复 - 修复 HealthReport 预存编译错误 - HttpServletRequest import / reportMapper 变量名 / remark 字段缺失 - 修复 ContentSharePoster 分享海报 String 属性收到 null 告警 - 修复商品详情页会员身份加载与详情图片显示 - 修正 profile-page.vue 中 Profile* 组件的 import 路径 - 修正 profile-page.vue 移动后的相对路径 import - 后端身份参数改从JWT推导,不再信任客户端传入 - 移除前端身份参数传递——前端只传memberId,不传userId/familyId/childId - 将 tabbar 入口页移至 pages/tabs/ 消除与分包 root 的路径冲突 - 修复 meal.py 语法错误 - 修复 tabbar 路径与分包 root 冲突导致的 HBuilderX 编译失败 - 修复路由前缀重复问题 - 修复行/身页面 hasFamily 误判导致 FamilyEmptyState 覆盖内容区 - pages.json 修复 diet 分包错位导致的 JSON 语法错误(HBuilderX 编译失败→白板) - 修复pages.json饮食分包位置错误 + 饮食模块config引用改为config.js - 修复 FamilyEmptyState 误显示 - 28处 hasFamily 守卫改为数据优先判断 - 修复编译错误(类型不匹配) - 多控制器支持 familyId 为空 + WeChat token 过期重试 + 服务/产品改进 - 打卡请求失败时补充错误提示 - 家庭挑战打卡每日限次 + memberId 归属校验 - 商品海报分享未携带封面图(coverImage 未转完整 URL) - 移除无家庭时的创建或加入家庭弹窗(5001 仅拒绝请求) - 分享海报封面图按原比例绘制(contain 居中),不再拉伸变形 - 报名弹窗点击家庭成员/添加报名人即关闭(.self 修饰符在 mp-weixin 被丢弃,改用 @click.stop) - 活动报名弹窗重复导致点击家庭成员关闭弹窗 - checkout.vue methods 间缺逗号语法错误 - 库存流水列表显示商品名称 - 商品详情页移除会员价展示 - 报告确认页 :key 表达式改为方法调用(微信小程序兼容) - 修复orderService.ship参数不匹配+添加进价字段(purchase_price)到products/product_skus/inventory_inbound_items(迁移177)+同步schema.sql - 服务商/家长端页面日期解析改用 parseDate(iOS 兼容) - 商城页面日期解析改用 parseDate(iOS 兼容) - 奖励/个人中心页面日期解析改用 parseDate(iOS 兼容) - 推广/会员页面日期解析改用 parseDate(iOS 兼容) - 家庭/成长/身体页面日期解析改用 parseDate(iOS 兼容) - 活动/任务/孩子页面日期解析改用 parseDate(iOS 兼容) - 测评/心智页面日期解析改用 parseDate(iOS 兼容) - 健康/饮食维度页日期解析改用 parseDate(iOS 兼容) - 组件日期解析改用 parseDate(iOS/HarmonyOS 兼容) - 打卡/活动详情/推广/结算页 fixed 元素移出 scroll-view(iOS 兼容) - 迁移174 product_skus添加min_stock_alert列+同步schema.sql(SKU库存预警) - 迁移173 创建库存管理4张表(inventory_transactions/counting_records/inbound_orders/inbound_items)+ 同步schema.sql - 安全加固——SQL日志/密钥外部化/BCrypt限流/后台防重 - 迁移172 products添加min_stock_alert列+同步schema.sql(库存管理功能遗漏) - Controller gutFlora 入库补全 taxonomy+pathogen 8 列表 (对齐 Service); 确认页新增 taxonomy 分类组成 + 病原菌 + 益生菌种区块(采到啥显示啥) - gender枚举校验+MindFortuneController空值防御 - UserService.updateUserInfo: gender 仅接受 male/female,修复 Data truncated 错误 - FortuneServiceImpl: generatePlaceholderFortune/getFamilyFortune 添加 familyId 空值校验 - MindFortuneController: 三个端点添加 familyId 空值检查,返回友好提示 - make LangGraph URL configurable via @Value + app.yml (IMPORTANT-3) + overview key normalization (BLOCKING-1) + Docker deployment TODO comment - normalize Chinese→English overview keys in ReportParseAgent (BLOCKING-1) - add audit logging for family_id/user_id + trailing newline - register report_parse router in main.py (missing include_router) - 心维度页面 loadHealthAlerts/loadMilestones 移除残留 familyId 存储读取(后端已 JWT 派生) - add raise_for_status to expose real LLM HTTP errors - 心维度页面 milestones/health-alerts 传入实际 familyId 替代 {} 对象 - MindFortuneController 添加 userId 为空检查(过期JWT被设为匿名用户时抛出'用户不存在') - detect_format 兜底分支改为返回 inline(修复同义反复) - compose 显式覆盖 JAVA_CONTEXT_URL 指向宿主机 9082,修复容器内 chat load_context 回调 Java 失败 - DatabaseInitializer.initializeDatabase() xzyj→zxyj 数据库名拼写错误 - 问卷推理超时防护 — gunicorn timeout 60→300s + ChatOpenAI timeout=180/max_retries=1 - 问卷生成服务接入旧入口 — src 路由重构为 router + LLM env 兼容 + healthcheck 修复 - GraphState 补 _prompt 字段 + 测试 mock 目标修正为模块内引用 - schema.sql 移除重复的 guide_commissions CREATE TABLE 空壳行(导致 initializeTables 正则匹配合并成畸形 SQL) - 迁移166 payment_orders添加group_no/period_no列(会员拆单支付) - 修复图片上传 URL 语法错误,清理认知测评/成长报告重复接口定义,修正注释乱码 - 修复健康报告上传 URL 语法错误,首页宫格替换为记录互动/家庭天盘/成员管理,清理重复的 getChildOverview 定义 - 迁移165 virtual_goods_config添加goods_price列(会员道具价格,用于拆单判断) - controller parameter signatures, test compilation fixes - 迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行) - 修复WXSS中文类名编译错误 + 恢复getPublicConfig函数 - resolve duplicate exports in api.js and syntax errors in report-upload.vue - 补全打卡系统缺失的 schema.sql 建表 + 迁移 + 小程序前端打卡功能 - 购物车结算页传递SKU信息到下单 - 防重复提交整改——补齐唯一约束/统一订单号/修复竞态/批量前端守卫 - 上报健康报告页加载即崩溃 - 移除未实现的 getPublicConfig 调用 - _roundRect arcTo missing parameter in ContentSharePoster - 去掉指标项上的状态文字标签,只保留颜色 - discardReportDraft传参修复 - 对象改为直接传draftId - FamilyMemberStrip 编辑资料补全 nickname/gender/phone/birthday query 参数 - 迁移155-157 创建 interaction_logs/questionnaire_snapshots/questionnaire_responses 三张缺失表 - report-upload member selector + api.js dead code removal + comment mojibake restoration - extractInlineNamesFromRegion substring 越界保护 - 补充PDF解析缺失指标 - 菌群层级表/致病菌/其它重要菌属/病原菌属 - 商品SKU规格specs字段保存失败 - 维度首页推荐阅读补传 dimensionCode,与知识中心一致 - 商城首页/搜索页商品价格显示放大100倍(漏除100) - activity 详情/列表封面拼接 API_BASE_URL - call applyDisplayState for guests so displayStatus/registrationStatus are always populated - 邀请接口相关修复 - 微信安全检测改用stable_token接口避免'not latest'冲突 - 商品详情页修复 — 封面轮播、字段映射修正、按钮等大 - CORS放行111.228.6.214; 实现/article/updated-since增量查询接口 - 家庭地址编辑与区域匹配页面消除 $http 引用并接入真实接口 - 地址选择器改用标准 API 封装 - 修复省市选择控件无法使用 - 行Tab页推荐阅读修复 - coverImage补传 + actionArticles过滤修正(indexArticles而非articles) - 心/智/行首页推荐阅读补传 coverImage 修复封面图不显示 - 推荐商品组件移除五维权重徽章展示 - 新建商品维度权重默认值未初始化导致保存失败 - 首次登录创建家庭后跳转到带底部TabBar的行首页 - self-check 页面 :style 空对象 {} 改用字符串避免 WXML 编译错误 - 移除 DatabaseInitializer 残留冲突标记行 - 修复生产构建失败 - 修复 Playwright addInitScript 单参数传参 bug + 远程 E2E 测试套件 - PaymentService 微信支付V3解密用原始API密钥而非SHA-256哈希 - 商品详情原生分享补上 setShareInfo - 分享路径带商品ID和邀请码 - resolve merge conflict in tap-water-pollution.html (accept upstream version) - 圈子页无 childId 时跳过请求, 后端 memberId 空串防御 - 修复 discover 500 与 my-circles 400 - ActivityControllerTest 适配活动模块升级后的接口签名 - 上传存储路径统一 upload.base-dir - 修复 transferTo 相对路径落盘失败与 /uploads URL 404 - VirtualGoodsConfig.save() 重命名 saveConfig() 避免 saveOrUpdate 递归 StackOverflow - 会员接口匿名访问返回 FREE 空数据 + getMemberLevel 查询 LIMIT 1 - 修复成员条移除后不刷新 + 可见成员列表字段缺失 - 迁移151 growth_records 补齐学校/年级7列 - 修复 Unknown column 'school' - List.of 替换为 Arrays.asList 兼容 Java 8 - 完善 PDF 解析服务 - 支持 inline 格式、Kangxi 部首归一化、指标去重、白名单过滤 - 迁移148 payment_orders.user_coupon_id 兜底添加 - globalData.currentChildId 替换为 uni.getStorageSync('currentChildId'),修复孩子视角切换数据失效 - getApp().globalData.baseUrl/apiBase 替换为 config.API_BASE_URL,修复 uploadFile invalid url 与图片加载 - 消除开发者工具告警 - getSystemInfoSync 弃用替换为 getWindowInfo, 修复 article-center articles prop 非数组类型错误 - 修复 ArticleBookshelf relatedDimensions 数组拆分崩溃与 switchTab 非 TabBar 路由系统错误 - FamilyRelationGraph 力导向模拟增加动能收敛检测, 布局稳定后自动停止避免永续占用主线程 - add missing goodsCategory API to fix empty product list on shop index page - offerId 改为支付应用ID并按官方 camelCase JSON 串重建 signData 签名 - 统一商城首页路径并修复 switchTab 非 TabBar 跳转 - 维度权重保存移除 CAST(? AS JSON) — MariaDB 不兼容 - interaction/add 修复 familyId 为空报错——后端按 userId 自动解析 - 生成海报二维码必须登录 — 拦截 anonymous 流量反复触发 access_token 'not latest' - 开通会员页改用 getMembershipPlans 获取实际配置价格 - 未登录时跳过邀请码请求与维度商品展示守卫 - GlobalExceptionHandler, ErrorLoggingFilter, migration102 call, article_admin_status, ContentRecommendService - wangEditor v5 上传图片改用customInsert+限制5M+错误提示 - 图片上传multipart大小限制+微信安全检测超过1M跳过 - 文章详情页封面图和正文图片拼接 API_BASE_URL,修复未登录时相对路径图片加载失败 - 新建商品时显示SKU维护入口 - wangEditor 初始化配置提前到 created 生命周期 - 更新VirtualPayServiceTest发货推送断言为handleVirtualPaySuccess路由 - 修复外部提交引入的语法错误,恢复小程序构建 - 虚拟支付Task4评审修复 sessionKey防序列化泄露/发货推送幂等/缺参ack/签名断言 - AI/promotion/vendor/parent pages use API_BASE_URL for uploaded images - upload/meal/points pages use API_BASE_URL for uploaded images - index/product/detail pages use API_BASE_URL for uploaded images - activity/guide pages use API_BASE_URL for uploaded cover images - order pages use API_BASE_URL for uploaded order cover images - shop core pages use API_BASE_URL for uploaded product images - product/discover pages use API_BASE_URL for uploaded cover images - article pages use API_BASE_URL for uploaded cover images - base config/components use API_BASE_URL for uploaded image URLs - WechatService 用 StreamUtils.copyToByteArray 替代 readAllBytes,兼容 Java 8 编译 - 富文本编辑器图片上传路径和网络图片弹窗被遮挡 - ErrorLoggingFilter 捕获链式异常并记录500日志; DimensionWeightController 参数校验; GlobalExceptionHandler 兜底异常处理 - 五维首页为你推荐商品区改为使用公开接口数据, 未选孩子也能显示 - simplify payment QR instruction text - set gut testing price to ¥1,314 - update payment QR instructions for WeChat browser users - DatabaseInitializer 清理 — 修正 modifyColumnToText 表名、移除已删表的残留迁移 - skip OAuth2 JSAPI flow, use Native QR code directly for WeChat browser - show contact info in QR payment popup - sync ProductOrder for admin order management - ArticleBookshelf 书籍横向排列 — scroll-view 内包 inline-flex 容器 - show product info in payment popup, auto-close on success - missing braces in JS, add backend QR code endpoint, use backend QR code instead of external API - add CORS origin for www.cf-club.com, fix QR code display, add diagnostic filter - 文章列表点击直接进入详情页,未登录也可阅读公开文章 - 统一移除RecommendedSection的v-if条件 - 统一五维首页推荐组件 — 顺序为活动→商品→阅读→推荐 - getOAuth2Url 用 String 重载的 URLEncoder.encode,兼容 Java 8 编译 - add payment endpoints to JWT exclude list - fix fallbackNativePay syntax error, center order form modal - 重绘底部tab身图标,更简洁的弯曲胳膊造型 - ContentRecommendService 商品/活动推荐改用 dimension_weights JSON 列查询 - add /upgrade-records route alias to MembershipController - promotion模板缺少闭合标签 - promotion模板多根元素 + 内联赋值 - RecommendedSection无数据时显示空状态而非隐藏整个组件 - 重新绘制底部tab身图标,更清晰的弯曲胳膊造型 - DimensionProductList使用attached生命周期在uni-app中不触发 - recommend-mixin传参字段名与后端DTO不匹配 - family-members弹窗关闭内联表达式 - 健康报告上传失败时 console 输出错误详情 - 后台活动权重维度code与标准五维体系不一致导致新活动小程序端不显示 - add missing List import in ActivityController and DB migrations for dimension_code/family_scope columns - circle接口空字符串解析Long报NumberFormatException - 富页登录按钮因重复CSS规则min-height:80vh位置偏高 - article-detail auto-merge遗留重复方法 - article-detail内联表达式导致data-event-opts编译错误 - 未登录可浏览商品/活动/文章详情 + 富页面预登录内容 - 统一活动详情页,删除 discover-detail 重复文件 - 补充ActivityDTO缺失字段 requireRegistration/requireCheckinReview/memberPrice/feedbackDimensions - resolve 6 backend compilation errors - article-detail模板结构错误 — template作容器/多余闭合标签/tag无匹配end - override ejs to 3.1.10 to fix critical CVE in webpack-bundle-analyzer - ContentRecommendService NPE when type is null - replace Map.of() with HashMap for Java 8 compatibility - recommend-mixin.js 导入路径多一层目录 - ContentRecommendService select() incompatibility, ProductRecommendationService bean injection conflict - 登录合规整改 - 跳过登录入口、静默授权、协议措辞 - remove WeChat branding from login page per review guideline - promotion try无catch语法错误 + 创建缺失的member-detail分包页面 - parameterize JSON_EXTRACT dimension_weights queries to prevent SQL injection - OCR finding - DimensionActivities CSS flex overflow - resolve OCR findings - AIService workflowId URL + EnergyService parent role filter - 财商打卡页内联表达式导致data-event-opts编译错误 + 修复模板编译器recyclableRender未定义 - add sendWorkflow and getTodayTasks(Long) overload, pull remote changes - 推荐商品和活动价格显示到分 - allow tracking screenshots in web/articles/ via .gitignore - 智首页六维认知雷达图无数据时也显示人群平均值 - 身首页七维雷达图无数据时也显示人群平均值 - 关系图连线映射交换 — 信任度→颜色(低红高绿),沟通度→线形 - 关系图连线视觉映射调整 — 粗细/颜色/虚线 + 无数据默认黑色 - payment.wxss 多余逗号导致编译错误 - EnergyService 修复 JSONObject.getInt -> getIntValue 和 executeAward 缺少 totalAmount 参数 - ActivityEdit/ArticleEdit full scroll, action tab no auto-select, timeout 800ms - edit page scrolling, action tab blank screen, SKU specs save - 推荐活动和推荐商品显示实际价格而非'登录查看价格' - ProductEdit card layout, sales page add leaky-gut/pancreatitis articles - remove required:true from dimensionCode prop in DimensionActivities/Products - el-main添加overflow-y:auto使内容区可滚动,解决长表单被截断问题 - replace template literal fallback with computed props for WXML compat - add null defaults for dailyFortune and dominantElement props - add currentChildId guard and fix getMyCircles params - add iOS date parsing fallback for Java format - 商品编辑页el-card__body增加overflow-y:auto使表单可滚动,保存按钮可见 - member pricing display, wisdom/body page layout, :key expr in FamilyTianpanCard, remove FamilyRelationGraph - add membership_levels seed data and period-specific pricing keys - add mind/alert/active and mind/traditional/mirror to public paths - verify-password 400 error — replace broad /api/auth/ public path with explicit list - empty purchasedIds causing NOT IN () SQL syntax error - 8 test failures — entity fixes + test param alignment - Product entity column mapping + test param fixes - add migrations 126-132 with ensureColumn for column alignment - add 9 missing tables (migrations 117-125) + fix JwtInterceptor familyId + fix test emotion childId - 商城升级提示文案通用化 - '开通家庭会员'改为'开通付费会员' - move migrations 105/106 into runMigrations() — they were in dead code migration102() - resolve P0-1/2/2b/3/5/6 test bugs + P0-4 DB migration for growth_records - migration 106 add growth_records missing columns (family_member_id/school info) - restore tab-wisdom icons from earliest valid version (faedcc33) - year_month reserved word quoting + products.min_quantity migration - 修复 stats-report-flow.md Mermaid 虚线连接语法错误(-:- → -.-) - 修复 promotion_tier 表列名映射——teamSize1st→team_size_1st - decode tab-wisdom PNG icons from base64 to binary - 梳理慢性病文章因果措辞——炎症不再作为唯一病因 - schema.sql 补充 4 个 butler 表定义 - key 表达式改为方法调用,修复小程序非 H5 平台编译警告 - 修复growth-record-flow.md Mermaid语法错误 - remove broken image refs in gut-microbiota-testing.html - replace {param} with :param in mermaid node text to fix syntax error in v11.12.1 - replace bare
with
in mermaid flow diagrams to fix syntax error in v11.12.1 - goDiscoverCircles 跳转到 discover 首页(原路径 /pages/discover/circles 不存在) - add products.min_quantity migration to runMigrations() - remove invalid shape:box from all mermaid classDef - update article count from 2→1 after turmeric article removal - 报告日期/综合评分仅文件上传后显示,ping文件Ping重置日期评分 - 改进ensureColumn错误处理+添加迁移104/103验证日志 - correct activity flow diagram with proper business rules - 补充缺失的default-avatar.png,统一路径 - tianpan_daily_fortune表添加8个缺失字段修复Unknown column错误 - prioritize K8 (8-plate, 37900元), fix 20-year cost analysis, update certifications placeholder - DimensionProductList activeChildId为空时跳过渲染 - 推荐阅读数据补充dimensionWeights和likes字段 - P2/P3 article fixes - 快捷入口对齐action页原版样式和funcList - 行TabBar章鱼图+联系人导入,顺序对齐原计划 - unify 活性氢→分子氢 terminology across sales pages and infographic - unify terminology - 活性氢→分子氢, 磷脂配比→天然基底油, refine descriptions - remove dead link to deleted turmeric_rewritten.html - 行TabBar登录态数据加载对齐action页(孩子/能量/任务/活动/商品/文章) - products表添加min_quantity列(迁移103)+ schema.sql同步 - restore article reading timer + recordRead积分发放 + fix response code - recapture UKPDS 16 and DPP study reference screenshots - update microplastic and tap-water sales pages - update article content - update WHO PDF link to IRIS archive, restore ref-18 CAS card - 去掉行TabBar页的redirectTo,登录态内容内联渲染,保持底签可见 - 文章编辑页内容过长时无法滚动到底部 - 闭合rating.vue模板中缺失的view标签,修复编译报错 - add 300+ missing CSS rules to diabetes.html - correct gut-microbiome-damage.jpg path in cancer.html and diabetes.html feat: add missing reference screenshots (turmeric marketplace, nature figures) - 修复 createMultiItem 中 minQuantity 产品级校验注入位置错误 - move Hallmarks screenshot to content area, fix container nesting - 修复cardio-cerebro.html中ref-screenshot图片路径(/img→../img) - 替换cancer_ref3截图源,补全三篇文章ref-shot img标签 - 恢复行首页redirectTo;修复CircleRanking WXML编译错误;新增plans占位页 - 行首页登录后保持TabBar;家庭挑战任务移至身页面 - 用evidence-inline替换cancer/diabetes/osteoporosis断链截图 - 添加真实DOI参考文献到3篇geo-faq文章,修复导航链接路径 - 为8篇独立文章补充footer CSS样式 - resolve subpackage path conflict in pages.json - 修复肠脑轴图/页脚/参考文献/证据截图 - fix encoding corruption from directory rename and restore UTF-8 - Fix: - 修正图片引用路径并替换缺失的参考截图 - rename pages/index to pages/home and update all references - 修正 cancer/cardio-cerebro 路径引用 - 修正子目录路径引用,添加 turmeric 文章 - remove stale RelationshipTypes route referencing deleted component - add throws Exception to test methods calling preHandle - add missing MockHttpServletRequest import - resolve compilation errors - Java 8 var removal + type casts - fix 405 POST→GET redirect, RecommendedFeed items ref, and unhandled rejections - PROJECT-OVERVIEW §2.3 家庭成员体系状态 🚧→✅(4/4 全部完成) - remove dead getRelationshipTypes API after P0-001 backend removal - extend postinstall-fix.js to also patch HBuilderX bundled remove-scoped.js - revert to @vue/cli-service v4 + patch remove-scoped.js via postinstall - Fix: - fix syntax error in parent-index.vue - loadAlerts + handleDismissAlert - restore @vue/cli-service v5, remove PostCSS config files - Fix: - restore @vue/cli-service to v5 to fix WeChat DevTools compile error - use ES module default-export for generationLevel constants - @keyframes 从 scoped 移到非 scoped 样式块,修复 vue-cli-plugin-uni 编译错误 - point develop env to cfc.etotem.com.cn; extract deep selector to non-scoped style for HBuilderX compat - replace >>> deep selector with ::v-deep for postcss compat - fix hash operator precedence, use floorMod for negative-safe index - use setFontSize in renderLegacy for WeChat compat, add _destroyed lifecycle guard - 联系电话 010-86461234 → 010-58733188 - ensure .vue resolution in webpack - 修复 uni-app 小程序编译兼容性问题及运行优化 - align MemorySaver import path and pin dependency upper bounds - restore file encoding to UTF-8 (was corrupted by PowerShell ANSI default) - 添加 tab-wisdom 图标文件,修复 gitignore 顺序 - add tab-wisdom icons (temporary - copied from tab-mind) - add wx:key to v-for loops in RecommendedFeed and parent-index to suppress WXML warnings - pages.json tabBar icons corrected - wisdom uses tab-wisdom, wealth uses tab-wealth - FamilyMemberCard roleBadgeColor use this.member instead of bare member - 运势接口Mybatis错误 - 添加@Select注解修复Invalid bound statement + 表结构对齐 - add fallback when navigateBack has no pages in stack - parent-index wx:for 添加 wx:key 消除 WXML 运行时警告 - extract_full_report_v5.py - report interpretation content no longer truncated - FamilyFortuneMapper.selectByFamilyAndDate 添加 @Select SQL 注解 - 智首页渲染层FLOW_DEPTH错误 + web baseURL/401提示修复 + 页面and组件完善 - 每日运势接口(/api/mind/fortune) 400 错误修复 - 移除无效 request body - isLoggedIn computed → data property to fix login state reactivity - FamilyRelationGraph 组件兼容性修复 - 修正小程序requestAnimationFrame错误 - normalize Kangxi radicals in Java service - add CAG candidate genera for full coverage - move floating migrations into runMigrations(), fix brace balance - add 4 missing genera + fix Kangxi radical chars - 开发环境跳过 auto-login 避免启动时 10s 超时错误 - 修复支付页订单金额显示为0元 - 修复体检报告详情页小程序编译失败 - add wx:key to v-for placeholder loop in DimensionArticles - SKU编辑器适配Map类型specs + enabled Boolean转1/0 - 新增findByProductIdAll供管理端SKU列表(无enabled过滤) - ProductSkuDTO specs类型从List改为Map - resolve login API 405 and logo 404 on /admin/ deployment - clean bacteria names (remove Chinese prefix) + add 3 missing genera - product-detail 移除 memberPrice 价格回退 - update test to match new BindController signatures - resolve @RequestAttribute familyId 400 error by resolving via MembershipService - replace @RequestAttribute("familyId") with - 商品图片上传两项关键修复 - 商品图片上传两项关键修复 - probiotic species-level extraction (22 items), inline format timeout - inline format bacteria table timeout - skip truly compressed format, 朱评估报告 now completes - bacteria table inline parsing, pathogen tables, antibiotic dedup, harmful/other bacteria expansion - FamilyRelationGraph 齿轮/+号/高度自适应被误回退,重新实现 - comprehensive extraction fixes - Kangxi radicals, inline fallback, amino acid boundary, taxonomy levels - 移除活动菜单项 + MembershipCenter 改用本地axios - 管理端API请求方法修复 — PUT/DELETE统一改用POST - 文件存储调用方适配 — upload→store、移除原始文件IO逻辑 - 文件存储重构 — 可配置上传目录、MIME类型校验、delete方法 - comprehensive bacteria table & indicator extraction fixes - 非管理员登录避免死循环 — teacher 直接进 /teacher-dashboard - AdminArticleController.create 修复ArrayList强转String — visibility/visibleTo/articleType字段可能为JSON数组 - 修复循环依赖 + ProductOrder重复字段 + QrCodeService静态调用 - navigateBack instead of deleted plans page - add ProductService.getById() to resolve pre-existing compile error - break circular dependency between HealthReportService and DimensionScoreServiceImpl - remove duplicate closing brace in CSS - 解决 git stash 合并冲突残留标记(body/index, gut-index, report-list) - user delete soft-delete + ActivityProvision entity + DAN execution service - class 绑定改用预计算/内联表达式,避免方法调用 - 修复管理端多处模板标签闭合并将本地开发接口指向 127.0.0.1:9082 代理 - 完善Canvas渲染逻辑 - 修复小程序编译错误和完善商品下单流程 - 添加 getWealthDetail 到 api.js(富维度详情 API) - 迁移40 ALTER ENUM前先UPDATE非法role值,避免Data truncated错误 - FamilyTianpanCard 修复多余闭合括号导致编译失败 + Canvas动画改用setTimeout兼容小程序 - SKU specs Map正确序列化为JSON + 审核中心滚动容器统一 - 修复拖动时按比例分配算法,首维度多分配问题 - ArticleManage分页onPageChange未接收页码参数; 增加每页条数选择器 - 活动列表滚动容器统一用overflow:auto消除分页导致的宽度抖动 - 修复身页面编译错误 - 商品组件导入路径和天盘卡片语法 - 活动管理列表横向滚动 + 查询条件间距调大 - PackageAudit getPackageList/reviewPackage函数缺失修复; 修复后端reject用params传递reason - ActivityReview overflow-x:auto 修复横向滚动 - showDialog处理object规格+update移除productId避免400 - approveGuide 中 username 字段为 null 时使用 teacher_{userId} 兜底; fix(web): ArticleAudit 接口名/参数修正 + GuideAudit 分页 - 创建规划师admin时phone为null导致username为空 - ProductSkuDTO 适配 specs 字段 String→Object 变更 - sku.getSpecs() 返回非String类型时类型转换保护 - normalizeSpecsToJson 参数类型改为 Object 适配 specs 字段变更 - 审核中心10个页面添加横向滚动+filter-bar美化 - 修复规划师审核列表数据显示问题 - ProductSku create() sku_code NOT NULL 缺失自动生成默认值 - SupplyHierarchy change-requests systemId 改为可选 + ((Number)→Long.valueOf) 解析修复 - 修正管理端4个API路径+2个分页兼容 - ProductAudit 兼容 records 分页格式 - 修正7个小程序API路径错误(article/supplier/messages/upload/families) - 移除无对应路由的文章审核侧边栏项 - 退出切换改用 switchBackVerify 原子接口,修正密码校验逻辑 - 迁移guides表添加university和education_system列(修复GuideService查询报错) - 创建 GuideFamilyListController - /api/guide/family/list 端点 - 修复 createFamily API 路径错误 - body page radar chart display issue - entire chain: dimension data -> score validation -> canvas render -> visual display - SupplySettlementService/Controller ((Number)→.toString()) 修复ClassCastException - ProductService 添加 getById 方法,SupplierProductController 编译错误 - SupplySystemController @RequestParam→@RequestBody 修复400错误 - schema.sql 同步补充 79 张缺失表的 CREATE TABLE 定义 - add dimension_weights column to products table (migration 89) - DatabaseInitializer 显式声明 Logger 替代 @Slf4j 注解,避免 Lombok 处理异常 - add dimension_weights column to activities table (migration 88) - CommissionRecord 添加 family_id 字段 + CommissionService createCommissionRecord 集成 familyId - CommissionService 编译错误 - 补充 familyId 字段和 L2 调用参数 - move familyId declaration before use - resolve Spring MVC ambiguous mapping conflicts from PostMapping unification - 代码规范修复 — @Autowired→@Resource + Result泛型补全 - 后端稳定性 — catch块日志/空值处理/PostMapping统一/管家stub - 金融安全修复 — payment绕过/验证码stub/积分兑换/教师端点/类型转换 - 迁移87: articles表添加content_type/difficulty_level/dimension_ids/dimension_weights字段 - 迁移86: product_orders表添加purchase_info字段(OrderTimeoutCancelTask) - 调整 pages/profile/index 在 tabBar 中的位置并移除 customTabBar 配置 - 同步 pages/wealth/index 路径与远程一致 - 修复 Recipes.vue el-dialog 开始标签丢失 - missing SubscriptionBenefitLog import + column comparison in ButlerService - remove extra closing braces at end of DatabaseInitializer - 修复 pages.json tabBar 富页面注册缺失 + 维度权重前端修改 - resolve merge conflicts in package.json, CHANGELOG.md, .last_build_commit - add missing closing brace for export default in Detail.vue — fixes build error - resolve merge conflicts in cfc-web build files - 二维码分享功能统一收敛 — 新增通用 QR 后端接口 + 修复三处前端 QR 生成 - PpointService null date handling + adminList keyword filter; ProductPpointManage effectiveDate→startDate field name fix - resolve ambiguous mapping /api/recommend/dimension-products - remove duplicate from RecommendationController - SupplyManageController detail/update/delete robust id parsing - api.js repurchase-reminders GET→POST + click tracking - 添加 dify.callback-secret 配置 + 管理端多页面优化 - break circular dependency CircleService↔CircleMatchService with @Lazy - 修复DatabaseInitializer编译错误 - ProductController spec map JSON.parseArray type inference for Java 8 - CartService 回填 skuId + wisdom 阅读统计条件优化 - restore family member menu + auto-derive generationLevel + add birth/preference form fields - 退款流程5项修复 (ISSUE-007~011) - 拆分 v-if 条件提高可读性 - ArticleManage table 添加 max-height 防止溢出 - 修复前后端数据流5个关键bug - 待退款队列可见性 + 退款到帐中状态 + 防重复审核 - body index simplify childId checks use || '' fallback - FamilyRelationGraph 修复单成员家庭显示重复的问题 - 补充迁移79(pending_refund.order_type/order_no) + 修复TianpanDailyFortune import - add missing FamilyRelationGraph to mind page - 删除body页face多余的修复模板多根元素错误 - 修复E2E-TEST-SCENARIOS.md section12编码乱码 - 鏇存柊 playwright 閰嶇疆 + 鏂板娴嬭瘯鏂囦欢 (consignee/health-report/teacher-dashboard/publish-dimension-articles) - add updateTier(Long, String, String) overload to match call in PromotionTierEvalService - 七维健康图无个人数据时返回默认值 65 - 身/心维度页推荐文章添加dimensionCode过滤 - 修复退款失败 - package_orders表缺少user_coupon_id列 - add missing PpointService for CommissionService compilation - specs字段规范化为合法JSON避免MySQL JSON列报错 - resolve getPlanDetail duplicate declaration and clean up assessment controllers - getTrendStats send {} to avoid axios stringify undefined - 用原生 button @click 替换 el-button 绕过组件事件问题 - knowledge layout — wrap body, add status filter dropdown - el-link 点击事件改用 .native 修饰符 - 注册 Element UI Link 组件使变更日志可点击 - AdminArticleController 空字串转Long抛NumberFormatException - 系统状态卡片增加变更日志入口与服务器运行监控 - convert content-bearing VARCHAR columns to TEXT to prevent Data too long errors - show family relation graph card even with single member - connect after-sales request and product order refund flows - restore DatabaseInitializer encoding and fix ActivityController tests - 修复 numsoul_config 种子数据语法错误(缺失引号和逗号) - improve health report scoring and add admin report list - add role-based permission checks to activity endpoints - 补齐个人信息保存缺失的 idCard/mascot 映射 - repair playwright baseURL, add test scripts and lockfile - resolve merge conflict in DatabaseInitializer, add mascot to UpdateUserDTO - normalize time format to YYYY-MM-DD HH:mm:ss across admin pages - complete scroll wrapper for all 59 pages with fixed=right columns - revert error-throwing, keep auto-create for unidentified users - prevent auto-create user when openid not found and no phoneCode - wechatLogin use real code2Session API instead of mock openid - validate openid before WeChat prepay - reject phone-prefixed/mock openid (resolves PARAM_ERROR 无效的openid) - add missing wangEditor Toolbar component to enable rich text editing - add overflow:auto scroll wrapper to all 58 pages with fixed=right columns - admin UI improvements - action dropdown, scroll, labels, confirm dialogs - guard loadHealthDimensions on activeChildId + debug logs - add table overflow scroll to admin pages - CSS grid violations, teacher API null guards, progress fallback, improved changelog parser - add null/undefined guards in TeacherDashboard loadStats - replace grid with flexbox in Dashboard quick actions + today stats - guard null userId in ArticleService.recordRead to prevent creator_id NOT NULL error - redesign ContactImport - support WeChat contacts import & fix picker modal issue - ISSUE-007 SupplySystemService.create() validate adminId - fix FamilyMemberService.addMember DTO compatibility for generationLevel/peerType - map generationLevel/peerType to relationshipTypeKey for RelationshipType lookup, set generation/isSpouse on FamilyMember entity. - resolve ProductEdit.vue rebase conflict + cleanup supply entities - migration 36-37 — family_members generation/is_spouse columns - admin edit pages and CHANGELOG updates - add GenerationLevel enum and family member entity updates - PaymentService testMode mock + WeChat JSAPI payer.openid - resolve 5 UI bugs across CFC mini-program - CORS - add PrivateNetwork header + explicit allowedOrigins - points_log表添加family_member_id列(迁移35,修复家庭能量计算报错) - align supply distribution system with spec — member management, period-based settlement, 3-page frontend - FamilyRelationGraph 完善 + login/family-dashboard 页面更新 - add dan_assessment_results missing columns - familyMember/EMI/Big Five/snapshot fields - relationship_types.capability_role 添加默认值 - 迁移33 供应商分销体系(4新表+product_orders 3列) - health_reports补subject_id列 + 迁移32供商体系表(4张新表+product_orders 3列) - HealthEnergyConfig.vue 全角括号导致前端构建失败 - add deliveryMethod/rejectReason/categoryId/distributionSystemId mappings - ProductEdit field alignment - 多页面综合修复 + 后端关系质量/能量同步 + 前端组件完善 - 后端: DatabaseInitializer/RelationshipQualityController/DimensionEnergySyncService - 前端组件: ContactImport/DimensionActivities 完善 - 页面: action/body/mind/wisdom/discover/health 各维度更新 - splash.vue 删除 - 新增 HealthEnergyConfig.vue 管理端页面 - router/Layout 同步更新 - resolve rebase conflicts + update tests/docs - resolve .last_build_commit conflict - ProductEdit wangeditor 生产构建错误 — 改用 @wangeditor/editor-for-vue Vue组件替换programmatic API - product order stock check by product type (physical only) - resolve merge conflicts and sync build artifacts - create cart table migration and sync to schema.sql - add relationship score column migrations for family_members table - add require_registration, require_checkin_review, energy_penalty_unregistered migrations for activities table - add role_override column migration for family_members table - add default_role column migration for relationship_types table - add remaining child-specific column migrations for family_members table - activities表添加审核相关字段迁移(迁移25) - package.json 版本更新 - add id_card column migration for family_members table - resolve ArticleService.java merge conflict (autoGenerateTags + submitForReview/withdraw/reDraft) - 活动创建后弹窗提供继续添加/返回列表/直接发布选项 + 表单必填校验 - TabTransition 默认 true 确保首次渲染即出现,消除页面框架闪现 - 首次进入首页时 TabTransition 不应展示(由 splash overlay 覆盖) - DimensionWeightPicker 拖动时按比例重新分配维持100% - 环境配置更新 - action/index.vue 集成 WuxingSandbox 能量沙盘 - index.vue 闪屏逻辑优化 + api.js 中文注释编码修复 - DatabaseInitializer 添加 family_member_id 和 role_override 列迁移 - E2E tests for deployed admin at cfc.iwintrue.com/admin - relationship_types 迁移 default_role → capability_role - 后端+前端全面修复 - ArticleService/EnergyService/DimensionArticles/FamilyRelationshipSection及多页面完善 - ArticleService: getAdminList 返回值修复 - EnergyService: getEnergyOverview 能量概览补全 - DimensionArticles: 修复文章组件 - FamilyRelationshipSection: 完善关系管理组件 - 多页面: action/mind/wisdom-detail/promotion 等页面更新 - FamilyMemberVO/Service + family-members.vue 完善 - 后端全面修复 - 实体字段、Controller参数、Service方法补齐 + DTO新增 \n- 修复字段类型不匹配(Long/Integer/String)\n- 补齐缺失的 import/方法/参数\n- 修改 @PostMapping 路由统一\n- 新增 Cart/CartItemDTO/SystemConfig 相关实体和Service\n- 重命名 ChildNutritionProfileService -> FamilyMemberNutritionProfileService\n- 修复测试用例 - createUser — unique openid + try-catch exception handling - 测试编译错误修复 - ArticleService.getAdminList 参数补齐 + update 方法参数类型修正 - 修复编译错误(重复字段 + 缺失import + 参数不匹配) - update deployment script and admin router/activity api - add auto-migration for articles audit fields in DatabaseInitializer - create missing HealthDimensionsSection component - DimensionArticles & FamilyRelationGraph show empty state - uncomment ALTER TABLE for article audit fields in schema.sql - DimensionProducts always shows section with empty state - resolve Bean name collision between GuideActivityService and ActivityService - wisdom index radar chart - loadCognitiveReport race condition - call loadCognitiveReport() inside loadChildren's .then callback, - resolve API naming conflict for activity guide endpoints and WXML :class compatibility - connect article-center entry from discover page + profile menu - 修复退出登录遮罩冲突, 添加beforeunload防护 - correct article publish path in v8 final test - add article publish path endpoint + product_skus table auto-init - 修复退出登录确认框不显示、文章编辑页刷新弹出浏览器提示 - fix body goMoreProducts URL - was wrongly set to type=activity instead of type=product by rebase auto-merge - always show more button in DimensionActivities, fix goMoreActivities URLs with type param - 修复Controller单元测试编译错误 - 修复集成测试编译错误(适配生产API签名变更) - DailyCheckinService.updateCheckin改为Map参数,deleteCheckin增加userId参数 - 修复NEW-01/02/03运行时API错误 - login redirectTo + goMoreActivities/Products URLs with type filters - fix all tab pages - empty navigation methods, wrong paths, bad query params for goMoreActivities/goMoreProducts - remove DimensionProducts section from body page, fix goMoreProducts navigation - goShop navigates to correct product pages instead of broken action/index - relationship_types enabled 修复 + 清理 body/index.vue 冗余产品链接 - DatabaseInitializer: 启动时修复 enabled=NULL 的种子数据 - schema.sql: relationship_types INSERT 补上 enabled 列 - body/index.vue: 删除菌群检测产品链接区块, showTabTransition=true, 移除废弃方法 - RelationshipPicker.vue: 组件增强 - DimensionActivities.vue: 组件增强 - small adjustment in ArticleManage.vue - repair broken tag in mall.vue, CSS rename and normLevel fix in cognitive-report, small adjustments to add-member and ProfileMenu - testMode flag skips private key loading - Login.vue success路径补上this.守卫 - 修复后台登录成功后的崩溃bug (防止重复提交 + catch块防御) - 移除所有UTF-8 BOM - api.js + 3个shop页面 - PaymentService添加@Lazy解决循环依赖 - 心页快捷入口从一行改为两行布局 - GrowthTaskManagement import path and function names - add resolvedAt to EmotionAlertVO in toVO() mapping in both services - add resolvedAt field to EmotionAlertVO - make crisis hotline clickable in PsychCrisisBanner via uni.makePhoneCall - add emotion_checkin missing columns (moodScore, stressLevel, arousalLevel, sleepHours, sleepQuality, energyLevel) - resolve schema migration gate, controller NPE, auth check, WeChat template message support - 修复编译错误 - ActivityRegistrationService toList(), ProductOrder/TrialMembership缺失字段, DanshopSyncService BOM - ISSUE-001 ProductService.shelve() 状态检查 & ISSUE-003 AdminController.createUser() 缺省值 - 修复管理端侧边栏菜单滚动问题 - 修复report-survey微信小程序finally不兼容问题 - 修复文章发布500错误,补充detail接口及relatedDimensions类型转换 - List.of()→Collections.emptyList() (JDK8兼容) - 解决ambiguous mapping冲突(List.of改Collections+删除productList/productReview重复端点) - 调整tabBar顺序为行心身智富(五行相生) - 移除 date-picker value-format 避免 400 - Danshop迁移到cfc-backend + coupons/upgrade模板修复 - 修复energyMapForGraph缺wisdomScore + 添加返回首页快捷按钮 - resolve merge conflict + upgrade.vue template root element - add .pillar-card to scroll-reveal observer selector - restore and fix pre-existing test files for Java 8 compatibility - improve FIRST_TASK onboarding trigger to use task child ID - HealthDimensionScore/HealthDataSourceRecord 新表字段匹配 - use PDDocument.load() instead of deprecated Loader class - 修复小程序登录后首页状态不更新 + TabBar图标缺失 - FAQ精简为11个核心问题,修正文不对题;新增销售文案页 sales.html - 全站理念统一——精准健康方案→精准健康,SEM/FAQ/百科/策略同步 - 精准健康方案→精准健康 - 修正产品理念——健康档案/成长档案为容器,菌群/DAN测评为实际内容 - remove danLevel field call causing compilation error and add PdfParseServiceTest (10 tests) - add missing memberType and danLevel fields to FamilyMemberVO - 修复 Profile 子组件 import 路径 - Core function 识别诊断→科学识别 desc -3chars, 跟踪执行+5chars, 成果检验+5chars; enhance 菌群检测+精准健康; stats in about section - Move stats into about section; enhance 成长规划/菌群检测/精准健康 descriptions - Revamp about section into 企业使命/愿景/价值观; remove 40,000+ stats - Center QR code image - QR code 200px desktop, 160px mobile - correct media query placement - QR code to 200px; tighten role descriptions - Reduce QR code size to 100px (from 180px) - hero按钮统一蓝底黑字,消除点击困惑 - 营养健康模块5项缺陷修复 - 统一平台运营图标尺寸与对齐方式 - refactor profile.vue into 6 components + remove duplicate loadRewards - resolve git conflict markers in router/index.js and fix Layout.vue computed syntax - add monthActiveDays to /api/stats/child/overview - unify all order ops to DanShop API - convert totalAmount fen→yuan before passing to payment page - unify DanShop order operations — cancel/confirm/pay now route to DanShop API not CFC - 修复首页10个实现问题(主页风险修复计划) - pre-login entry flow - fix page order, remove stale resetTabBar, fix goShop nav, add auto-login refresh - 根据登录状态显示/隐藏TabBar(未登录跳转发现页) - ProductOrderController 使用 @RequestAttribute 读取用户ID - ProductService.decreaseStock 改用原子 UPDATE 防止超卖 - 数据库 schema 加 UNIQUE 约束 + 时间戳默认值 + 平台商品 vendor_id 置空 - 修复登录限制和密码重置逻辑 - 修复Task.java缩进和duration字段一致性 - 批量操作添加用户认证和所有权检查 - 修复SfmsDataSourceConfig配置前缀不匹配,去掉hikari层级 - 批量修复API路由冲突和权限控制 - 修复数据库迁移SQL语法错误和测试用例 - 修复预存的编译错误(DTO类型不匹配,status值) - 修复预存的编译错误并添加Service接口规范 - 注册teacher目录页面到pages.json - 修复tasks.vue和添加SchemaSyncHandler - 优化RewardService和pages.json路由配置 - 修复跨Controller路由冲突(RewardWishlistController+TaskReminderController) - 批量修复GET→POST迁移导致的路由冲突(TeacherController+UserController) - 修复ParentController路由冲突(getParentWishlist路径改为wishlist/list) - 修复TaskTemplatePackageController路由冲突(getPackageItems路径改为item-list) - 统一处理参数校验异常返回 - 补充createChild必填字段校验 - 修正测试基类元素解析契约 - 修复UserService.createChild空指针异常 - 统一前后端API为POST请求(安全迁移) - 修复AdminController类型转换异常和数据库迁移缺失 - tasks表child_id字段改为可空,支持parent任务 - rewards表child_id字段允许NULL,修复模板奖励插入失败问题 - 修复profile.vue模板格式 - 切换孩子模式时检查孩子数量并引导添加 - 优化手机号输入体验,11位自动触发检查 - 修复孩子端导航返回逻辑及移除TabBar游戏入口 - 修复RewardWishlistController API映射冲突 - 添加admin_task_templates表teacher_id字段迁移 - 修复TaskTemplatePackageController API映射冲突 - 修复GuideController与GuideFamilyTaskController API路径冲突 - 修复GuideController与BindInviteController API路径冲突 - 修复schema.sql中ALTER TABLE重复执行错误 - 修复数据库迁移重复执行错误 - 修复Java 8编译兼容性问题 - 修复小程序登录流程和用户编辑页跳转 - 修复Controller层userId获取方式及多个API端点 ### 其他 - - 生产库 id/product_id 为 INT,实体为 Long,插入超出 INT 范围的 id 报错 - - 生产 DB 已直连 ALTER(即时生效) - - - Product 实体已含字段,生产库缺列,商品列表分页查询报错 - - 生产 DB 已直连 ALTER(即时生效) - - schema.sql 同步补列 - - - Article 实体已含字段,生产库缺列,getFeatured 精选查询报错 - - 生产 DB 已直连 ALTER(即时生效) - - schema.sql 同步补列 + 解决 unlock_gates/microbiome_article 冲突 - - - 后端: AI自动分类接口 /api/growth/articles/products/ai-classify - - 前端: growth-main 新增推荐文章和推荐商品卡片 - - 前端: api.js 新增 getGrowthRecommendations() - - - 后端: GrowthRecommendationService 推荐查询 + AI分类 - - 后端: GrowthController /api/growth/recommendations + /ai-classify - - 前端: growth-main 新增推荐文章+推荐商品板块 - - - gut-flora-caution-detail → pages/growth/caution-detail - - gut-flora-foods-detail → pages/growth/foods-detail - - growth-main 新增戒备/饮食推荐行动卡片(戒备有数据时显示) - - 更新 gut-flora-detail.vue 跳转链接 - - - profile-main: 新增购物车(角标99+封顶)与收货地址入口 - - profile-main: 移除功能入口网格, 设置改为菜单项放退出登录上方 - - profile-main: loadOrderCounts 修正字段映射(pending/paid/shipped/refunding) - - profile-main: 补充 loadCartCount 方法定义 - - order-list: onLoad 支持 status 参数, 我的订单五宫格点击直达对应状态列表 - Ultraworked with [Sisyphus](https://github.com/oh-my-open-code/oh-my-open-code) - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - /data/cfc-uploads/ 文件,导致解析时报「文件不存在」。 - 修复:将 langgraph-data:/data 拆分为两层挂载: - - /data/cfc-uploads → bind mount 宿主机路径(共享上传文件) - - langgraph-data:/data/chroma_db → 独立命名卷(chroma 向量数据持久化) - - - report-confirm.vue 去除 onLoad 重复的 draftId/memberId 赋值,draftId 模式自动跳转详情页 - - report-upload.vue 上传草稿后跳转详情页 - - 新增健康报告编辑日志(HealthReportEditLog + Mapper + 建表迁移) - - 报告服务/区块组装/排序工具相关后端增强 - - - 前端: 新建 gut-flora-caution-detail.vue 页面,倒序展示 indexScore < 0 的食材 - - 前端: gut-flora-detail.vue 新增'食材戒备'入口卡片(有戒备食材时显示) - - 前端: api.js 新增 getFoodCautionList() - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - BeijingNutritionService.analyzeGutFlora: 按功能分类聚合菌属 - (丁酸盐生产者/黏液屏障/蛋白质发酵者/SCFA/产气菌/益生菌等) - - 计算 Prevotella/Bacteroides 比值推断饮食模式 - - 组合风险模型(IBD/代谢/肠易激/神经-肠轴) - - 益生菌补充指导 - - POST /api/nutrition/beijing/analysis - 前端: - - gut-flora-detail.vue 新增分析卡片(功能维度评估/PB比值/饮食模式/风险/益生菌) - - api.js 添加 getGutFloraAnalysis - - Ultrawwork with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - 后端: SortInterceptor + SortUtil 全量支持 - - 支持单击设主排序、Shift+Click追加、双击切换方向,最多3列组合 - - - 新增 SortUtil.applySort(wrapper) 自动注入 ORDER BY - - 批量 patch 110+ 个 controller/service 文件 - - 解决方案,平台承诺未经授权不向第三方提供报告内容。未勾选时点击上传 - 卡片会弹出确认弹窗,用户同意后自动勾选并继续选文件流程。 - Closes: 报告上传用户隐私声明需求 - - Co-authored-by: Sisyphus - - - 后端: AdminFoodController 解析前端 sort 数组传入 Service - - 前端: 列头点击排序(单击设主排序,Shift+Click追加,Ctrl+Click切换方向) - - 前端: 排序徽章显示当前排序链,最多支持3列组合排序 - - 前端: 排序列高亮 + 方向图标 - - - DietRecordService: getDailySummary/getWeeklyTrend 增加 userId 参数 + resolveMemberId 反查当前用户自己的 family_members 记录 - - SurveyController: 移除 status/history/submit 的缺少成员ID 报错 - - SurveyServiceImpl: resolveMemberId 兜底,submit 时仍无法确定则抛业务异常返回 400 - - - 11个分类: 蔬菜58、水果42、水产品35、肉类27、干果15、豆类14、主食14、蛋类7、乳制品6、汤3、快餐3 - - 字段: name, category, energy_kj, protein, fat, carbs, fiber, starch, cholesterol - - SQL: docs/superpowers/specs/food_seed_data.sql (可直接执行) - - 数据库已有 UNIQUE INDEX idx_name(name) 防重复 - - Co-authored-by: Sisyphus - - - 新增月度引导语(12个月差异化文案) - - 💧金色主题样式 - 健康页(health-main)登录前: - - 新增五维闭环体系可视化(身/心/智/行/富环形图) - - 相生关系: 身→智→富→行→心→身 - - 相克关系: 身克富·智克行·富克心·行克身·心克智 - - 五维介绍卡片(点击跳转对应维度页) - 成长页(growth-main)登录前: - - 同构五维闭环体系(绿色主题区分) - - 替换原理念卡位置,内容更丰富 - - 保留原登录后逻辑不变 - - - 品牌定位语'科学管理全家健康数据' - - 痛点卡: 指标正常≠健康 + 孩子反复生病文案 - - 4宫格功能预览(报告/认知测评/心理测评/智能方案) - - 15题五维健康自检入口 - - LoginGuideCard 升级版 - 成长页(growth-main)登录前: - - 品牌定位语'看见改变正在发生' - - 理念卡: 记录不是目的,看见改变才是 - - 脱敏案例展示(小明3个月前后对比) - - 4宫格功能预览(打卡/调研/里程碑/家庭挑战) - - LoginGuideCard 升级版 - - 原登录后逻辑不变 - - - pages.json 注册 pages/action-detail/index 页面 - - custom-tab-bar dimMap.action 从首页改为 /pages/action-detail/index - - - monitoring.py: Java后端检查由GET /api/改为POST /api/admin-auth/login-by-password - - monitoring.py: LLM检查由ainvoke改为abatch(max_tokens=1)加速 - - .env.production: JAVA_BASE_URL改为172.17.0.1(Docker桥接网关) - - (Java后端所有接口均为POST,GET返回404) - - .env.production: JAVA_BASE_URL由远程IP改为172.17.0.1(Docker桥接网关) - (Java后端运行在同服务器宿主机,Docker容器通过桥接网络访问) - - - parent-index.vue: 去掉自动选中children[0],默认显示自己,用户从FamilyMemberStrip选择后设置selectedChild - - 后端: HealthSleep/Water/Exercise/DailyCheckin/HealthDimension 五个Controller添加@RequestAttribute('currentMemberId')回退 - - 前端: sleep/water/exercise/daily-checkin/diet 五个健康页,child角色不从storage取currentChildId - - - 理念依据:《家的算法》书稿(测量先行→最小输入→循环→反馈→系统升级) - - 主线硬门禁:家庭级判据,任一成员完成五维自检解锁全家沙盘 - - 增值关卡:下单菌群检测/DAN测评(无前置依赖,可先于主线完成) - - 软引导:微行动/打卡里程碑/复测趋势,推荐不锁死 - - 管理端完整配置页:开关/顺序/奖励/条件,数据驱动 - - 同步更新 PROJECT-OVERVIEW.md 功能表与文档索引 - - - 表格高度自适应,无固定 max-height - - Java后端健康检查由 /health 改为 /api/(返回401=正常需认证) - - 组件详情展示 detail 字段而非 code - - - 健康页登录前新增痛点卡、功能预览、五维自测入口 - - 成长页新增登录前内容(理念卡+示例展示+功能预览+LoginGuideCard) - - 所有内容来自《家的算法》书稿(book/目录) - - 登录后内容保持不变 - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - - LoginResultDTO.roles: String → List - - UpdateUserDTO.roles: String → List - - UserService: 移除 parseRoles/joinRoles,直接使用 List - - EnergyService: 简化 parent 角色检查 - - SupplyManageController: 直接使用 List.contains() - - DataMigrationService: 使用 Arrays.asList() - - ServiceRoleApplicationServiceImpl: 保留 JSON 序列化(独立表字段) - - 形成 '/dashboard → / → /dashboard → …' 无限循环。 - 改为 next('/403') 直接跳 403 页面,终止循环。 - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - 低于 JWT HMAC-SHA 要求的 256 位。新增自动扩展逻辑: - - SHA-256 哈希扩展(密钥>=256位时直接使用原密钥) - - 字节填充回退 - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - - 移除功能测试面板(quickTests) - - API端点列表高度 500→700px - - 日志面板高度 250→600px - - 状态判定改为只看LLM/ChromaDB,Java后端因内外网隔离不作为降级依据 - - 刷新间隔从30s改为60s - 后端: - - adapter.py 新增 POST /api/v1/health/coach/generate 端点 - - 接收 {familyId, memberIds, dimensions, goal},调用 health_coach_graph - - 修复 Java 后端 HealthPlanServiceImpl 调用端点 404 问题 - 部署: - - 新增 deploy.sh 脚本(rsync同步 + docker-compose重启 + 健康检查) - - - 前端 profile.vue: loadUserInfo 按14个字段计算个人信息完整度 profileProgress, 修复一直显示0/14的问题 - - 后端: users/consignees 表新增 province/city/district/street 字段(迁移211 + schema.sql同步) - - UserService.updateUserInfo: 保存地区后自动创建/更新同名同手机号联系人, 共享地区数据 - - ConsigneeService.save: 联系人姓名手机号与当前用户一致时, 反向同步地区回用户 - - - 步骤指示器 + 卡片式报告选择 - - 需求输入区改为标准表单,非对话样式 - - LangGraph 调用逻辑不变(aiSendMessage),仅前端 UI 改造 - - 方案结果以普通卡片展示,任务列表支持执行人修改 - - - 后端 HealthReportService 新增 getFamilyReports(familyId) 方法 - - report-confirm.vue 确认后跳转 health-plan-summary - - 重写 health-plan-summary.vue: - - 选择全家已有报告(含其他家人) - - AI 对话式输入需求,返回方案内容 - - 自动解析任务列表,支持修改执行人 - - 确认后批量创建任务单 - - - 后端 HealthReportService 新增 getFamilyReports(familyId) 方法 - - report-confirm.vue 确认后跳转 health-plan-summary - - 重写 health-plan-summary.vue: - - 选择全家已有报告(含其他家人) - - AI 对话式输入需求,返回方案内容 - - 自动解析任务列表,支持修改执行人 - - 确认后批量创建任务单 - - (未知文本一律算异常),而 _cssClass/statusText 用白名单映射(未知显示正常), - 导致分组标题'X 项异常'把样式正常的指标计入异常数。 - 改为与 _cssClass 一致的白名单判定(仅 high/low/abnormal/偏高/偏低/异常/ - 缺乏/不足/注意/高风险 计异常),并补齐 _cssClass/statusText 的'异常'中文键。 - - parse/parse-preview 读取时又拼一次 uploadBaseDir,形成 - /data/cfc-uploads/data/cfc-uploads/uploads/... 的重复路径导致文件找不到。 - 新增 resolveUploadFilePath 兼容绝对/相对两种历史格式,两处读取统一走该方法。 - - 前端 uploadReportOnly 仍调旧路由命中一体化 uploadReport(返回详情无 draftId), - 导致上传成功但 res.data.draftId 为空、不跳转确认页且 toast 显示 message=success。 - 修正 URL 为 /api/health/report/upload-only。 - - - 新增SurveyTemplate/SurveyRecord实体 + Mapper + SurveyService - - 新增SurveyController(小程序端status/active/submit/history) - - 新增AdminSurveyController(管理端save/list/delete/ai-generate) - - AI生成调研题目调用LangGraph,失败回退本地fallback - - 前端小程序:新增survey-questionnaire/survey-history页面 - - 重构growth-main为干预中心(今日干预进度卡+持续追踪Tab+里程碑+定期调研) - - 前端api.js新增调研API,pages.json注册新页面 - - Web管理端:新增SurveyTemplates.vue(CRUD+AI生成)+ survey.js API - - 修复getSurveyStatus命名冲突(旧report-survey重命名为getReportSurveyStatus) - - 同步更新schema.sql + PROJECT-OVERVIEW.md - - - VARCHAR(50)→VARCHAR(255),源数据(菌种检出率描述)可能超过50字符 - - 生产 DB 已直连 ALTER(即时生效) - - schema.sql 新增 health_gut_flora 表 DDL - - - CouponGrantLog/DanExecution/CfValueManage/MembershipCenter/PendingRefund/ButlerAudit/ServiceRoleApplications/supply-system/Detail/HealthReportAudit: 新增resolveUserNames方法,通过searchUsers API将userId解析为用户名显示 - - - 在线测评(dimension-questionnaire.vue)扩展:cognitive/mental/relationship三套题库(各8题)+dim参数路由 - - 方案汇总页(health-plan-summary.vue)新建:生成表单+结果展示+历史列表 - - 后端:health_plans表+HealthPlan实体/Mapper/Service/Controller(4端点) - - 数据库迁移207:health_plans表 - - 前端API:generateHealthPlan/saveHealthPlan/getHealthPlanList/getHealthPlanDetail - - pages.json注册health-plan-summary页面 - - PROJECT-OVERVIEW更新 - - Co-authored-by: Sisyphus - - - 成长Tab: 移除重复体征记录入口,保留每日打卡等8项执行层入口 - - 全局改名: 成长档案 → 成长记录 (15个文件: 页面文本/导航标题/注释) - - 导航修复: mind-detail和wealth的TabBar页跳转改用nav.goPage; child-index/child-detail goToGrowth改用switchTab - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - Co-authored-by: Sisyphus - - - ArticleBookshelf 组件: 书册横滑改四列网格, 显示4篇文章 - - index-home: 推荐阅读移到推荐商品下方, 推荐商品请求数量 2->4 - - FamilyMemberStrip: 无 props 用法时自我加载可见家庭成员 - - UserService: 家庭成员列表按 userId 去重(创建者双表记录) - - - 8 个不存在的表(user_operation_log/daily_health_checkin等)不再产生噪声 - - → 改用 tableExists() 前置检查 + RENAME TABLE(无 IF EXISTS) - - 修复 1 处 CHANGE COLUMN min_quantity(列已不存在时报错) - → 改用 columnExists() 前置检查,不存在则跳过 - - 新增 tableExists() + columnExists() 辅助方法 - - 不影响业务,仅消除启动日志噪声 - - - 移除 dead code: 无意义的 empty-tip 视图 - - 移除无用 import: generateFamilyInviteQrCode - - onInvite 使用 uni.share type=5(小程序原生卡片分享),不再依赖 QR 图片 - - 分享卡片带标题+家庭名,被邀请人直接打开 invite/join 页面 - - 🛒 购物车 (pages/shop/cart/cart) 快捷入口。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - 当 store familyId 为空时显示 FamilyEmptyState(暂无数据)。 - 编辑个人资料不应依赖是否有家庭,改为老用户 (isNewUserFlow=false) 始终显示表单。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - - 移除 FamilyEnergyBar(沙盘已含能量信息) - - 移除 DimensionTasks/圈子模块,移入功能入口 - - 新增 3列功能入口网格(对齐健康/成长页 grid-3col) - - 移除未登录态五维全景幸福矩阵 - - 重构结构:Banner → FamilyMemberStrip → 沙盘 → 网格 → 挑战 → 推荐 - - 清理冗余 JS 数据/方法/API调用和 CSS 样式 - - 导致 ProfileHeader/Badges/Growth/Menu 加载失败,页面仅显示内联个人信息卡片。 - 将 4 个 Profile 组件复制到全局 components/ 目录,并更新两处 import 路径。 - Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) - Co-authored-by: Sisyphus - - pages/health/index → pages/health-main/index - pages/growth/index → pages/growth-main/index - pages/profile/profile → pages/profile-main/profile - - 更新 nav.js, custom-tab-bar, pages.json 等 10 处引用 - - main.js 添加 custom-tab-bar 显式注册(强制构建编译) - - pages.json 4个Tab页添加 usingComponents 引用 custom-tab-bar - - 修复 checkout.vue ES6 简写方法语法错误 - - - 五维 index 页移入分包: mind→mind-detail, body→body-detail, wisdom→wisdom-detail, wealth分包 - - 新建 custom-tab-bar: 4Tab + 中间⭐按钮 + 五维半屏浮层, 规划师5Tab不变 - - 新建 pages/health/index.vue 健康Tab页(报告/测评/打卡概览) - - 增强 pages/growth/index.vue 为方案执行中心(待办/功能入口) - - 新建 utils/nav.js 统一导航工具 - - 替换 switchTab 引用为 nav.goPage/navigateTo - - 活动推荐移至成长页, 健康页新增科普文章推荐 - - profile 显示完整菜单(showServices=true) - - - 旧版 INSERT 未携带 type 字段,DB 列 NOT NULL 无默认值导致插入失败 - - 使用 MODIFY COLUMN 添加 DEFAULT 'login'(向后兼容,无需改代码) - - 直连生产 DB ALTER 已执行(下次服务重启 DBI 迁移幂等跳过) - - - 迁移191: foods 添加 report_id/score 列 - - 直连生产 DB ALTER 已执行 - - 修复 菌属-食材映射 JSON 解析失败: - - DB 顶层为 JSON Array 但代码期望 Map,加载时包装为 {_list: [...]} - - 消费端兼容两种形态 - - 修复 迁移112 日志等级: - - Duplicate column 已存在是幂等预期,log.error → log.warn - - 避免误报 - - - report_parse API 对接报告类型注册表 - - 新增 test_auto_tag 自动标注测试 - - report_unknown_cluster/report_unknown_upload/report_parser_import 五表 - - 新增 ReportParserController + ReportParserAdminController - - 新增 5 entity + 5 mapper + 3 service(ReportFingerprintService/ - ReportImportService/ReportParserDispatchService) - - schema.sql 同步 5 张新表定义 - - - addIngredient/removeIngredient/addFood 方法缺少 var self = this - - 2. 前端:无菌群报告/无推荐食材时弹窗引导上传报告 - 3. 后端:generateIngredientList 未配置共餐时降级为查询 - 家庭全部成员,而非返回空列表 - - 导致 ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7 - - 改为指向正确的饮食模块首页 /pages/diet/index - - - 修复 Unknown column 'is_living_together'(family_members, 迁移174已生效但DBI嵌套错误未触发) - - 修复嵌套 try/catch 结构(迁移178/180 误嵌在迁移179 catch 内) - - 迁移号校正:178→180, 180→181(diet 模块占用了原 178-181 编号) - - health_reports 新增 proxy_uploader_id / proxy_upload_note / ai_analysis - - health_report_drafts 新增 remark - 生产 DB 已直连 ALTER(无需等下次重启) - - - - - product-detail.vue: 详情页按会员身份展示 - 非会员显示普通价+加入会员享会员价链接,会员显示会员价+原价划线;去掉底部栏价格 - - 修复远端合并引入的编译错误: HealthReportController缺import、HealthReportService的reportMapper笔误、HealthReportDraft实体补remark字段 - - revert(frontend): 撤销 tabbar 4Tab 重构, 恢复 5维TabBar(行心身智富) - revert(frontend): 撤销分包重命名 -pkg, 恢复为 health/growth/profile - revert(frontend): 撤销 tabbar 入口页移至 pages/tabs/ 的改动 - 改为 v-if="!fanOpen"(默认常驻),且背景由透明边框改为实心半透明 - rgba(249,115,22,0.25)。该层绝对定位 72rpx 与 .fab-avatar 完全重合、 - DOM 顺序在后且未设 pointer-events: none,常驻覆盖在 FAB 按钮上层, - 拦截所有点击,导致家庭成员扇形无法展开。 - - .fab-pulse 增加 pointer-events: none,点击穿透到按钮本体 - - FAB 位置从 bottom: 33.33% 上移至 bottom: 45%(黄金分割位下移后过于靠下) - Reviewed-by: Sisyphus - - (