This website works better with JavaScript
更新日志
当前版本: v1.0.2441
历史版本
v1.0.2441 (2026-11-13)
测试
补充 S-cfc-202 定向取证 24例5红(窗口尾部合入)全站终值 5254/4264
补充 S-cfc-203 定向取证 5红(窗口尾部合入)全站终值 5230/4245
S-cfc-202 admin.order.manual 契约级单测——权限流 RED(B-142-1/TR-13)
契约级单测 admin.activity.config 配置校验 5红 TDD-RED
测试负责人闭环 — API 全量首测 990 例(B-192-2)+ S-cfc-201 定向 6红18绿 + 全量承袭 4245 过
文档
测试负责人第192轮汇报(API 全量首测 990 例 + S-cfc-201 定向 + B-192-1/2)
其他
- 13 正常流 + 5 边界流绿锚点:端点映射齐全、委托 service、售后状态守卫已实现
- 5 权限流预期红:订单 6 端点 + 售后 4 端点缺 admin 角色守卫(@RequestAttribute ("role")),
非 admin(parent/child/teacher)可越权发货/关单/审批退款/处理售后;list 非 admin 被放行返回 200
- 框架层锚点:JwtInterceptor.LOGIN_REQUIRED_PATHS 已收口 /api/admin/(匿名→401)
RED 验证:24 tests,5 failures(全部为预期权限流缺口),19 green,0 errors。
纯 Mockito+反射契约单测,无 Spring 上下文/DB/外部服务。GREEN 指引见测试类 Javadoc。
v1.0.2440 (2026-11-13)
文档
研发负责人第155轮闭环汇报(错峰03 恢复S-cfc-198/派发S-cfc-202-203 + O-19裁决)
v1.0.2439 (2026-11-13)
测试
契约级单测 admin.article.manage 文章发布-审核(TDD-RED,6红18绿)
s run: 24, Failures: 6, Errors: 0(红 6 = 契约缺口,绿 18 全过)
测试负责人闭环 — 后端全量实跑 386 类/3315 例 + 5 契约类补验 + B-95 销号
其他
仅新增 cfc-backend/src/test,不改 src/main。
新增 AdminArticleManageContractTest(24 例):
- 正常流 8(绿锁):toggleStatus 发布、submitForReview、withdraw、reDraft、
delete、controller list 透传 auditStatus / publish 委托 / toggleFeatured 委托
- 边界流 8(绿锁):缺 id 参数门禁 ×4、非草稿提交审核、非发布中撤回、
非驳回/撤回转草稿、非法 direction
- 红测 6(预期红,锁契约缺口):
R1-R3 C 端未审不可见:getPublicList/getFeatured/getDetail 仅过滤 status=published,
未排除 auditStatus!=approved,status=published+pending/rejected/null 泄漏到
/api/articles/*(PUBLIC_PATHS 匿名可读)
R4 直接发布未落审核默认值:toggleStatus(id,'published') 无审核门禁、不置
auditStatus=approved/auditedAt,绕过 submit-review→audit 审核流直接上架
R5-R6 权限流 controller 侧未收口:admin role 守卫仅 create/audit/move,
update/delete/toggleFeatured/submitReview/withdraw/reDraft/publish 无守卫(B-142-1)
- 权限流绿锁 2(B-142-1 拦截器侧已修):LOGIN_REQUIRED_PATHS 已覆盖 /api/admin/、
匿名 POST /api/admin/articles/publish → 401
RED 验证:mvn -o -Dtest=AdminArticleManageContractTest test
关联:docs/tdd/orchestration/sc-key-map.md S-cfc-201;B-142-1
386/386 XML 无沉默、2121 main + 392 test 源 0 编译错、dump 0
- 收尾增量(远端 5ad781a00 ):S-cfc-199/200 三类 52 例 → 39 红(TDD 前瞻)
- 窗口本地:S-cfc-197 AdminReportParserManage 37/37 GREEN;S-cfc-198 13 例 6 红(重试/分批/角色门禁未实现)
- 浏览器 39 过 + 2 跳:本机 28、189 admin 5/5(blob 4703d73fb 同源)、204 fe 6/6(连续 2 轮 → B-95 销号)
- langgraph@251 47/51:4 红全 429 AgnesAI + 401 api key ****ab12 invalid(环境)
- 线上 API 32 例 25/0/7;anon 6 端点 6/6=401;web 116/116;fe 609/3/12;根级 7/16
- 全站 4254 例 / 4088 过 = 96.10%(剔 skip 96.67%;剔预期 RED 98.34%),红 141 零缺陷回归
- 新增 B-191-1(窗口多次推入契约类→双 fetch+增量 SOP)、B-191-2(全量 1:01h,慢类 493.97s)、B-191-3(API 例数不可复现)
- 门禁:不通过(有条件)— G1/G2/G7/G9/G11 ❌;G4/G5/G6/G8/G10/G12/G13 ✅(存量零漂移第 26 次)
v1.0.2438 (2026-11-13)
测试
S-cfc-200 admin.supplier.manage RED 契约测试(410 壳/边界门禁/role 守卫,19 用例 16 红/3 绿)
文档
研发负责人第164轮闭环汇报 2026-11-13 1406(派发S-cfc-200/201 + O-19收敛核验)
v1.0.2437 (2026-11-13)
文档
修正 P-94~96 错位映射与 SC-T-01 污染(恢复 task.history.view/growth.history.view/achievement.grid.fiveCol/teacher.login.switch,删孤儿键 307)
SC 台账 241/241 全映射达成(G-L 域 26 行+五维专项 10 行+A-04 真缺口立项,S-cfc-283~308 共 26 键)
测试
S-cfc-200 admin.supplier.manage 契约级单测(TDD-RED:AdminSupplier/EcomSupplier 410废弃桩 + SC-A-06停用在售商品守卫未落地,预期10红6绿)
S-cfc-199 admin.dimension.config RED 契约测试(维度/权重/上限 CRUD + 来源比例/归因权重治理)
其他
设计载体三 Controller:AdminSupplier/EcomSupplier/SupplyManageController。
- 10 红:AdminSupplierController + EcomSupplierController 为 410 废弃桩(list/save/update/delete + all),
SC-A-06 边界「有在售商品的供应商停用需先下架」全库无在售商品守卫。
- 6 绿证:SupplyManageController 已落地(入驻手机号校验/默认 approved+supplier_admin/detail 不存在)。
纯反射+Mockito,无 Spring/DB/外部服务;不改动 src/main。GREEN 阶段据契约签名落地或重映射活跃载体。
溯源: 应用场景总览 SC-A-09/SC-A-25/SC-A-26; API_REFERENCE §4.13/§4.60.9/§4.60.16; TC-A-25/26-E/P
新增: DimensionConfigAdminContractTest (17 用例, 13 红 / 4 绿基线)
RED 覆盖:
- 权重/上限/来源比例非法(负/超界/和≠100) → 400 拦截 (未实现, 现返回 200)
- 删除被引用维度拒绝 + 不级联删除 (deleteConfig 无引用检查, 现静默 removeById)
- 乐观锁 version 字段 (ProductDimensionConfig 无 version)
- @RequestAttribute ('role') admin 403 守卫 (4 个控制器均无 role 参数)
GREEN 基线: 4 个控制器 (DimensionAdminController/DimensionConfigController/
DimensionWeightController/AdminEnergyConfigController) CRUD 端点存在。
纯 Mockito+反射, 无 Spring/DB/外部服务。禁改 src/main。
v1.0.2436 (2026-11-13)
文档
SC 台账 P 域 C/D 域 32 行回填(report/diet/growth/assessment/plan 16 键入池 S-cfc-267~282)
测试
能力键 admin.reportParser.manage 契约级单测(S-cfc-197)
RED contract test for SC-A-08/SC-A-22 knowledge base management
其他
ReportParseAdminController(/api/admin/report-parse) 完整契约面:
types/save/toggle/delete、fingerprints/list/save/delete、imports、
unknown-clusters/unknown-uploads、dan/reparse、list/retry/backfill-food。
纯 Mockito/反射(无 Spring/DB/外部服务),对齐 TeamProfitHook/StarMultiplier/
Pipeline/FamilyJoinValidation 同批 RED 契约测试风格。
实测实现已落地(origin/cfclub 两个 Controller 已存在),测试 37/37 绿,
按 TR-7alescarpenter 契约核对转测试侧三类流证据登记,不私改 src/main。
- Sync failure retry (SC-A-08/A-22 boundary) - no maxRetries/syncWithRetry in sync path
- Large batch batching (SC-A-08 boundary) - no BATCH_SIZE/syncBatch in DanKnowledgeBaseService
- KB write endpoint role gate (AdminUnifiedKnowledgeController already has allowed; KnowledgeBaseController/KnowledgeBaseVectorController lack it per 2026-11-07-admin-ops-contract section 3#5)
Green tests confirm landed surface: 4 controllers, services, schema tables.
v1.0.2435 (2026-11-13)
文档
SC 台账 P 域 B/C 域 8 行回填(task/wish/points/energy 6 键入池 S-cfc-261~266)
研发负责人巡检汇报 2026-11-13-1234(第138轮)+ O-19 状态机口径异常裁决
SC 台账 P 域 A 域 9 行回填(family.* 5 键入池 S-cfc-256~260)
测试
补录 9 项套件执行日志(.tdd/r190 *.log)
测试侧产物闭环
其他
- docs/tdd/test/automation-run-2026-11-13-R190.md: 14项套件实测明细
- docs/tdd/notice-2026-11-13-R190-研发通知.md: langgraph 401环境红+S-cfc-186 RED通知
- docs/tdd/test/blockers.md: B-190-1(B-142-2复发)/B-190-2(窗口2契约类补验)/B-95观察改善/B-189-1延续
- docs/tdd/test/inventory.md + automation-status.md: 台账重扫(跨源4588, Java@Test 3250)
- r190 *.cjs: 189/204/251 节点派发器脚本
★ 关键事实:窗口2契约类补验(S-cfc-186 6过/1预期RED + S-cfc-182 14/14 GREEN);
langgraph 50/51(上游401环境红,B-142-2复发);204节点fe 6/6恢复(B-95观察改善);
浏览器任务级全绿;全站红94零缺陷回归
v1.0.2434 (2026-11-13)
测试
RED contract test for teacher.family.overview
能力键 teacher.report.proxy 契约级单测(S-cfc-182)
能力键 teacher.report.proxy 契约级单测(S-cfc-182)
其他
key teacher.family.overview (SC-T-16/17/21/27).
Covers endpoint anchors (GuideFamilyTaskController /{familyId}/overview,
/dashboard-stats, /{familyId}/children/{memberId}/tasks; GrowthPlanController
/child/{memberId}/active; AssessmentComparisonController /api/assessment/compare/*;
TianpanController /api/tianpan/*) plus role/binding guard controls.
RED gap asserted: GuideFamilyTaskController.getFamilyMemberTasks validates only
requireBound(guideId, familyId) but NOT memberId in familyId, allowing a teacher
bound to family A to read family B member tasks (IDOR). Cross-family memberId
should be rejected and never reach taskService.getTaskHistoryByFamilyMember.
Expected RED: 1 failure (cross-family IDOR), 6 pass (controls).
- H 域 7 行→butler.* 5 键(S-cfc-251~255):escalation/oneOnOne/resource/quality/ai.collaborate
- B 10/10、H 7/7 全映射;未映射降至 81(P=80 + A-04 真缺口)
- 正常流:端点契约(/report/proxy-parse、/proxy-confirm、/reassign、/transfer/* 7端点 @PostMapping )、
isProxyUploader 角色闸门(teacher/admin/approved 营养师/approved 规划师)、canProxyForFamily 绑定家庭放行、
auditConfirm 确认入库后报告 family_id/subjectId 归属落库(TR-13 §5 第4条)
- 异常流:非绑定家庭拒(SC-T-23 边界)、缺 draftId 拒绝不入库、discarded 草稿不可确认(SC-T-03 边界识别失败进草稿)
- 权限流:非授权角色拒绝、非创建者非 admin 确认他人草稿拒绝、subjectId 跨家庭拒绝(无跨家庭越权)、admin 豁免
实测:origin/cfclub 该能力链已完整落地,14 用例全绿(意外全绿,依任务注明交编排侧转测试登记)。
纯 Mockito+反射,无 Spring/DB/外部服务。未改动 src/main。
- 正常流:端点契约(/report/proxy-parse、/proxy-confirm、/reassign、/transfer/* 7端点 @PostMapping )、
isProxyUploader 角色闸门(teacher/admin/approved 营养师/approved 规划师)、canProxyForFamily 绑定家庭放行、
auditConfirm 确认入库后报告 family_id/subjectId 归属落库(TR-13 §5 第4条)
- 异常流:非绑定家庭拒(SC-T-23 边界)、缺 draftId 拒绝不入库、discarded 草稿不可确认(SC-T-03 边界识别失败进草稿)
- 权限流:非授权角色拒绝、非创建者非 admin 确认他人草稿拒绝、subjectId 跨家庭拒绝(无跨家庭越权)、admin 豁免
实测:origin/cfclub 该能力链已完整落地,14 用例全绿(意外全绿,依任务注明交编排侧转测试登记)。
纯 Mockito+反射,无 Spring/DB/外部服务。未改动 src/main。
- S-05→inventory、S-06→afterSales、S-07→activity、S-09/10→nutrition.supply(1:N)、S-11→exportCompliance
- S 域 11/11 全映射;未映射降至 98(P=80/B=10/H=7/A=1 真缺口)
- X-01~18 按 O-2 方案 A 用链路键集合映射(1:N 逗号分隔,如 X-01 测全链路=购套餐→预约→录入→激活→打卡)
- X-22 → reward.cfEstimate.expectedCf(DONE,上轮已回填)
- X 域 22/22 全映射;未映射降至 104(B=10/H=7/P=80/S=6/A=1 真缺口)
文档
sc-key-map 台账回填 17 行(143→160 已映射,B/H 域全覆盖)
研发负责人第153轮闭环汇报 2026-11-13 1210(错峰03:backfill回收16条dispatched死锁;13键RED→YELLOW推进+auto续建13 GREEN任务S-cfc-226~238;S-cfc-182/186 T8 requeue重派;--changes 0新键不add-task;--resume 0候选;731处他人WIP零接触单文件入库;deploy pending19/confirmed77;SC 15/241无漂移;O-1~O-25全已裁决+P域80无键SC待主理人确认契约锚点)
sc-key-map 台账回填 6 行 SC-S(137→143 已映射,S 域 11/11 全映射)
sc-key-map 台账回填 21 行 SC-X(116→137 已映射,X 域 22/22 全映射)
v1.0.2433 (2026-11-13)
测试
修正 typo SSh → SSH
补录推送兜底证据 + B-189-1 状态升级
测试侧产物闭环
其他
- blockers: B-189-1 状态由「P0 阻塞」降级为「HTTP 兜底已推送,SSH 待修」
- 附:fetch 仍须临时指定 http://git.iwintrue.com/liaoxg/cfc.git,SSH 恢复前仍为隐忧
- S 域 2 行(S-01/02)→ admin.supplier.manage(S-cfc-200)
- C 域 26/26 全映射(C-26 已上轮);未映射降至 125(B=10/H=7/P=80/S=6/X=21/A=1缺口)
- docs/tdd/test/automation-run-2026-11-13-R189.md: 12项套件实测明细
- docs/tdd/notice-2026-11-13-R189-研发通知.md: P1契约RED 48+存量25通知
- docs/tdd/test/blockers.md: B-189-1(SSH故障)/B-189-2(窗口13类验)/B-142-2销号
- docs/tdd/test/inventory.md + automation-status.md: 台账重扫(跨源4567)
- .tdd/r189 *.log: 8项套件原始日志
- r189 *.cjs: 节点派发器脚本
★ 关键事实:langgraph@251 连续第2轮51/51全绿 → B-142-2销号;
窗口13契约类48预期RED取证;全站红92零缺陷回归
文档
sc-key-map 台账回填 27 行(89→116 已映射,C/S 域覆盖)
v1.0.2432 (2026-11-13)
文档
sc-key-map 台账回填 23 行 SC-A(66→89 已映射,SC-A 域 24/25 映射)
其他
- SC-A-01→admin.auth.login(GREEN);SC-A-02~22/25/26→新建 admin.* / mind.* 键(RED)
- SC-A-04 记为真缺口(无 admin 关系类型 CRUD 载体)
- 依据 API_REFERENCE §4.13/§4.14 契约 + Controller 实存核验;未映射降至 152
契约来源: API_REFERENCE §4.57 + EVD-10 planner-zone-contract (77026df42 ) §3.
- 端点契约: TrainingPlanController /api/guide/training-plans/* (create/update/list/detail/delete),
GrowthPlanController /api/growth/plan/create|update, HealthPlanController /api/health/plan/save|generate
- 正常流: teacher 创建套餐/成长计划 -> 200 + 落库
- 异常流: 缺 memberId/planId -> 拒绝且不落库
- 权限流 (RED): create/update 端点未暴露 role/roles 输入(角色门禁缺失),
非 teacher 角色亦可创建/修改方案 -> 契约行为缺失,GREEN 阶段补齐后转绿
TDD-RED 预期: 13 run / 4 fail / 0 error / 9 pass
测试
teacher.plan.create RED contract - 权限流角色门禁未落地 (4 RED/9 green)
S-cfc-188 family.family.autoCreateForPurchase 契约测试(RED 4/5)
S-cfc-184 teacher.assessment.record 契约级单测(TDD-RED:SC-T-07 必填缺失拦截/重复录入覆盖非新增两边界未落地,预期3红1绿)
v1.0.2431 (2026-11-13)
文档
研发负责人第152轮闭环汇报 2026-11-13 1051(巡检核验轮:状态机112键 RED17/YELLOW72/GREEN8/DONE15 零漂移;任务池197=done179+dispatched17+pending0 池满;上轮派发 S-cfc-176/177/179 GREEN 实现回执已回填 yellow_sha 三sha IN CHAIN ✓、175/178 属 O-22 豁免;17 RED T域契约在途5节点session全挂;--changes 0新键不add-task;--resume 0候选;deploy pending63(open19)/confirmed77;SC主表241=241唯一跑通15/241无漂移;O-1~O-25全已裁决无新增;730处他人WIP零接触单文件入库)
ca56f8699 部署回执 testing(S-cfc-176 membership.plan.purchase 已含于 dae706c7d ,JAR/进程/健康核实通过)
sc-key-map 台账回填 12 行 SC-T(54→66 已映射,SC-T 域 32/32 全映射)
sc-key-map 台账回填 21 行 SC-T 与 SC-X-22 映射(52→54 已映射)
研发负责人第151轮闭环汇报(T域closure续派+17 RED全派发)
测试
S-cfc-183 teacher.plan.review 契约 RED — SC-T-28 AI 方案内容安全复核缺失
s run: 9, Failures: 4(SC-T-28 探针全红,SC-T-04 锚点全绿),BUILD FAILURE。
GREEN 契约测试 teacher.login.switch(SC-T-01/T-20)— 实现已由 SEC-20261031-01 + 既有代码落地,16/16 全绿;作为契约证据留存,交编排侧转测试登记。
S-cfc-194 teacher.dimension.score 契约级 RED 单测
teacher.mind.record 规划师舌诊/情绪测评录入 契约级 RED 单测
RED 契约测试 teacher.data.isolation(SC-T-13 family-list 数据隔离缺口)
S-cfc-181 teacher.appointment.guard contract RED
其他
新增契约级单测 PlanContentSafetyReviewContractTest:
- 已绿锚点(5):GuidePlanReviewController /pending|/{planId}/approve|/{planId}/reject、
PlanReviewController /review、ReviewCenterController /summary 端点映射;
HealthPlan.planContent/planJson 复核载体;WechatServiceInterface.checkText 原语。
- RED 探针(4):审核链路(HealthPlanServiceImpl/GuidePlanReviewController/
HealthPlanController)未接入内容安全依赖;ContentFilterController 仅有 /by-tags
无方案复核端点;approveAndPublish 命中敏感词仍置 published 且落库。
实测 mvn -Dtest=PlanContentSafetyReviewContractTest test:
SC-T-04 生命周期由 PlanReviewTeacherContractTest 覆盖且实现已存在,本类不重复。
仅新增 src/test,未改 src/main。
S-cfc-191: Add contract test for teacher.message.push (SC-T-19) [teacher.message.push]
- T-11/12→teacher.assessment.record(DAN 上传解析/八类报告)
- T-14/15→teacher.plan.create(方案编辑/套餐任务项)
- T-17/21/27→teacher.family.overview;T-18→teacher.task.review
- T-22→teacher.plan.create(⚠ G-2 归档缺口)
- T-23→teacher.report.proxy;T-28→teacher.plan.review
- 依据 EVD-10 契约 §3 定稿表;未映射降至 175
S-cfc-187: teacher.task.review - Implement contract tests for cross-family task audit guard (TC-T-09-P, TC-T-18-E)
- SC-T-30 测评录入触发五维变化:锚定 AssessmentService → DimensionScoreService.refreshFromDanAssessment 桥接(绿)
- SC-T-31 手动维度打分:ManualDimensionScoreController submit/latest/history + submit 落 five_dimension_scores(source_type=manual)(绿)
- SC-T-32 五维自评录入与变化:自评 submit 应桥接五维分数/能量落点(DimensionScoreService/EnergyService/FiveDimensionScoreMapper)+ five_dimension_scores.source_type 应含 selfcheck 来源(红:当前 submitSelfCheck 仅写 five_dimension_self_checks,契约"自评→变化落 EnergyController"未落地)
RED 结果:Tests run: 6, Failures: 2, Errors: 0(2 红=SC-T-32 桥接缺口,GREEN 阶段实现后转绿)
- SC-T-30/31/32 回填 teacher.dimension.score
- SC-X-22 回填 reward.cfEstimate.expectedCf(键 DONE,三类流证据待补)
- 未映射降至 187
[S-cfc-192] [teacher.nutrition.plan] TDD-RED 契约测试:精准营养方案制定
纯 Mockito 行为级单测,预期红:
正常流-1:generateRecommendation 的 nutritionSummary 应聚合宏量营养素
(protein/carbs/fat),当前 aggregateNutrition 恒置 0(源码注释:
protein/carbs/fat 恒 0 不在本轮范围)— 断言失败。
边界流-1/2:负热量目标(calories=-500)与超上限热量目标(999999)
应被拦截返回非 200;当前实现静默忽略并照常返回 success(200) — 断言失败。
权限流:家庭隔离由 JwtInterceptor + familyId 承载,本控制器粒度不适用。
- controller: create 代录入口 + list 客户测评记录查看
- service: createAssessment 入库 + getAssessments(assessmentDate 倒序)
- entity: memberId/guideId/assessmentType/status(默认 draft)/assessmentDate 字段契约
RED: 13 用例 12 失败(0 错误),断言契约所需统一录入链路缺失(实现未落地)
溯源: sc-key-map SC-T-25 + planner-zone-contract(EVD-10) §2/§5 + API_REFERENCE §4.57
能力键: teacher.mind.record | 任务号: S-cfc-195 | 分支: task/S-cfc-195
- 定位:PlanReviewController /api/guide/plans/family-list teacher 越权缺口——
当前 body.familyId 直接透传、无 guide_families(status=binding) isBound 校验,
控制器未注入全项目唯一授权判定点 GuideFamilyAccessGuard。
- 新增 cfc-backend/src/test 单测(纯 Mockito/反射,无 Spring/DB):
权限流 3 条(teacher 越权非绑定家庭 403 / body.familyId 不泄漏跨家庭方案 /
越权不查询 planMapper)+ 结构流 1 条(注入统一授权守卫),预期红。
正常流/异常流/授权源基线/观察钉住 5 条(绿)。
- 验证:9 通过 5、失败 4(红)——RED 阶段完成,GREEN 阶段实现 isBound 校验使绿。
v1.0.2430 (2026-11-13)
文档
sc-key-map SC-P-58 补记 1:N 键 family.family.autoCreateForPurchase(问题1修复)
测试负责人第188轮闭环汇报 2026-11-13 0848(★后端首次恢复全量:43:15 跑完 369 类/3111 例/3082 过/25 红/4 跳=99.07%,证伪 B-184-1「>2h」判据并新增 B-188-1 判据修正;★langgraph@251 实派 51/51 全绿(R187 承袭 45/51,B-142-2 观察 1/2);★frontend-mobile 6/6×2(B-185 消除);S-cfc-178 契约 4F→0 转绿;浏览器 28 过+2 跳(admin 双节点 5/5)、两套 Jest 零漂移、线上 API 25过/7跳/0红、根级 7/16(B-36第72轮);全站 3987 例/3918 过=98.27%(剔 skip 98.89%),红 56→44,G1 转 ✅ 并升 0.27pct;CI 漏拦 6 陈旧 26 第 19 轮;B-177-1 第 10 轮复现并清理 4 残留进程;SRS 零变更用例零新增;已推送并通知研发)
研发负责人巡检汇报 2026-11-13-0930(第150轮·错峰ce26ad68 )
其他
POST /api/guide/plans/activate + PlanActivationService.activate + PlannerCertificationGuard),
按执行要求「实测实现已存在(测试意外全绿)」交编排侧转测试登记,不私改 src/main。
新增 TeacherPlanActivateContractTest(纯 Mockito/反射,无 Spring/DB/外部服务):
- 端点契约:POST /api/guide/plans/activate 映射存在
- 正常流:认证通过 teacher 激活 -> 200 方案已激活 + 拆任务
- 权限流:非 teacher 角色 403/无权限、未认证 teacher 403、admin 跳过认证闸门放行
- 异常流:缺 planId、IllegalStateException 状态守卫 -> 业务提示
- 幂等:已 active/generated 重复激活被状态守卫拒绝不重复拆任务;已有未取消任务返回 0
- 兼容:memberId 可登录 user 域正常激活
验证:mvn -Dtest=TeacherPlanActivateContractTest test -> 15/15 全绿(0 失败)
测试
S-cfc-180 teacher.plan.activate 契约证据(端点映射/认证闸门/状态守卫/拆任务幂等 15 JUnit 全绿)
v1.0.2429 (2026-11-13)
测试
S-cfc-175 shop.coupon.apply 会话实跑复核——origin/cfclub@3fbe609eb 上 ShopCouponApplyContractTest 20/20 全绿(实现已由 S-cfc-167 落地,无需改动),闭环验证提交
文档
5c3cff249 部署回执 testing(08:37:52 直部署成功 + 08:46:47 滚动至 006aa31d4 ,JAR/进程/健康核实通过)
研发负责人巡检汇报 2026-11-13-0839(第137轮·错峰298dcf47 )
测试负责人第187轮闭环汇报 2026-11-13 0830(frontend-mobile 6/6→4/6 偏差 B-185 待研发确认;admin 5/5 + 两套 Jest 零漂移;langgraph/后端/API/根级承袭零源码变更;SRS 零变更用例零新增;已提交推送并通知研发)
研发负责人第151轮(错峰03 08:25)闭环汇报——backfill 清 7 条 dispatched 死锁并甄别修正 6 条误录 sha + 纠正 S-cfc-179 backfill 误判(cherry-pick 5c3cff249 已推 origin/cfclub) + auto 重派 172/173
9afaa6e46 团队邀请改造部署回执 testing(已含于 e03ec423a ,JAR/进程/健康核实通过)
其他
S-cfc-179: Implement family.familyMembers.removeMember to reset stale family-derived membership cache
v1.0.2428 (2026-11-13)
文档
测试负责人第186轮闭环汇报 2026-11-13 0808(同基线独立复核轮:六套件全部独立实跑:浏览器189+本机28过/2跳、fe jest 609/3/12、web 116/116、根级7/16(B-36第71轮)、线上API 25过/7跳/0红、langgraph@251 45/51红7→6改善(auto_tag用完配额自我恢复1例,intent 4例仍429/401环境红)、B-177-1本轮未复现观察+1;后端B-184-1结构性第3轮沿用R185同源码全量3111/3079/28+定向103例承袭零漂移第22次;全站3987例/3908过=98.02%环比+1过、G1由❌转✅;CI清单漏拦7陈旧26第18轮;SRS零变更用例零新增;台账刷新365控制器/1976handler/覆盖456、inventory 4434;已提交推送并通知研发)
v1.0.2427 (2026-11-12)
文档
测试负责人第185轮闭环汇报 2026-11-13 0745(B-184-1 第2轮持续且更慢:全量8min仅13/368类≈1.6类/min,CPU40%仍慢证结构性根因,主动截断改同源码沿用+14红类定向复验双证;14红类103例23F+6E逐例复现零漂移第21次,MembershipPlanPurchase维持1F幂等分支未修;langgraph@251 44/51红2→7恶化(401 key ****ab12 invalid + 429 AgnesAI免费配额耗尽双因齐发,intent 4例复红全环境红)、B-177-1第8轮复现pid挂死;浏览器28/28+2跳、web116/116、fe609/3/12、根级7/16、API25过7跳0红、匿名6端点全401;全站3987例/3907过=97.99%环比-6过、G1由✅回落❌;CI清单漏拦7陈旧26第17轮;SRS零变更用例零新增;已通知研发)
v1.0.2426 (2026-11-12)
文档
R184 增量复验修正(S-cfc-176 合入后会员购买契约 7F→1F,全站 98.14%,G1 转 ✅)
测试负责人第184轮闭环汇报 2026-11-13 0702(B-184-1 新登记:后端全量耗时 33:49→>2h 劣化 5.4×,39min 仅 76/368 类,本轮主动截断改「同源码沿用 R183 全量 + 14 红类定向复验」双证;14 红类 103 例 29F+6E 逐例复现,TaskReview 1F→2F 装置浮动;langgraph@251 49/51 红 3→2(ConnectError 环境红)、B-177-1 第7轮复现 pid 存活7m38s;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16、匿名6端点全401;全站 3987例/3907过=97.99% 环比+1过;CI清单漏拦7陈旧26第16轮;门禁不通过承袭;SRS零变更用例零新增;已通知研发)
其他
- 定向复跑 MembershipPlanPurchaseContractTest 7F→1F(6 例转绿);FamilyRemoveMemberContractTest 维持 4F
- 剩余 1 红 repeatPurchase_pendingOrderSamePlan_reuseNoDuplicate:201(NeverWantedButInvoked: paymentOrderMapper.insert)→ 幂等复用分支未生效(新增问题 7)
- 结论上调:后端红 34→28、全站 3987例/3913过=98.14%(剔 skip 98.76%)、G1 由 ❌ 转 ✅、G2 55→49
- SRS:API_REFERENCE §4.50.1 随实现变更,契约用例先于实现落地 → 用例零新增(G12 ✅)
- blockers:S-cfc-168 → S-cfc-168/176 部分闭环;R184 门禁行按增量后口径重写
v1.0.2425 (2026-11-12)
新功能
implement membership.plan.purchase (S-cfc-176)
其他
- MembershipService: add findReusablePendingOrder + toOrderDTO idempotency helpers in createOrder
- MembershipService: add markMembershipOrderFailed (idempotent) + rollbackOrderToPending in processPaymentCallback
- MembershipController: expose POST /api/membership/plan/purchase
- docs: API_REFERENCE section 4.50.1 + PROJECT-OVERVIEW note
Contract test MembershipPlanPurchaseContractTest: 6/7 green; boundary-2 (repeatPurchase_pendingOrderSamePlan_reuseNoDuplicate) is a test-side defect (stubs selectOne never but asserts insert never; conflicts with green MembershipRenewScP60ScP80ContractTest which requires insert on identical inputs).
v1.0.2424 (2026-11-12)
文档
研发负责人巡检汇报 2026-11-13 0630(错峰轮次·第163轮·单文件入库)
研发负责人巡检汇报 2026-11-13 0630(错峰轮次·第163轮·单文件入库)
v1.0.2423 (2026-11-12)
文档
研发负责人巡检汇报 2026-11-13 0602(错峰轮次·含正文·单文件入库)
研发负责人巡检汇报 2026-11-13 0602(错峰轮次·单文件入库)
v1.0.2422 (2026-11-12)
文档
研发负责人闭环巡检汇报 2026-11-13 0556(选路器修复+派发176/179清零pending)
v1.0.2421 (2026-11-12)
文档
测试负责人第183轮闭环汇报 2026-11-13 0545(R183 全量实跑轮第2次:窗口零源码变更但后端连续第2轮全量实测 3111例/3073过/34红/33:49,B-173-3 观察2/2达成 38:40→33:49;langgraph@251 48/51 红7→3 intent4转绿 B-142-2 观察6/13正向;TaskReview 2F→1F B-178-1 装置回落;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;全站通过率97.84%→97.97%环比提升;门禁不通过承袭结构性预期RED+环境红收窄;SRS零变更用例零新增;已通知研发)
v1.0.2420 (2026-11-12)
文档
研发负责人巡检汇报 2026-11-13-0437(接续 04:33 e80065c6d ;派发 172/173 至 lan-189/204,3 任务因 local-lan-4090 429 黑窗+选路器缺陷受阻待 08:00)
研发负责人第150轮(错峰03 04:33)闭环汇报——backfill 解除 15 条 dispatched 死锁(S-cfc-164~178)+ 修正 5 处误录 sha + auto 自动创建 S-cfc-179(removeMember GREEN),5 GREEN 因 429 黑窗留 pending 待 08:00;state RED0/YELLOW72/GREEN8/DONE15(95键);0 新增待裁决;主工作树 722 WIP 零触碰
v1.0.2419 (2026-11-12)
文档
测试负责人第182轮闭环汇报 2026-11-13 0420(R182 全量实跑轮:窗口零变更但后端转全量实测 3111例/3072过/35红/38:40,B-173-3 耗时 01:07h→38:40 观察改善1/2;S-cfc-166/169 全量口径首证闭环 + S-cfc-178 FamilyRemoveMemberContractTest 首次入全量 4F 新 RED 入册(契约278ec2e91 在链待实现);langgraph@251 44/51 红7持平 B-142-2 观察5/12 + 251无残留进程 B-177-1 观察5/2正向;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭结构性进账/新RED入册/环境持平;SRS零变更用例零新增;TaskReviewScP11 2F判B-178-1装置浮动非回归)
v1.0.2418 (2026-11-12)
文档
discovery 台账 evd——ProductOrderController 8/19->7/20
R181 闭环报告 + blockers 追加
其他
- 正向: S-cfc-166(4/4)/S-cfc-169(5/5) RED->GREEN 闭环
- 环境回摆: langgraph@251 红 2->7 (429/401, B-142-2 第 11 轮)
- 门禁: 不通过(承袭, 结构性进账/环境回摆)
v1.0.2417 (2026-11-12)
文档
v1.0.2416 (2026-11-12)
其他
S-cfc-174: 实现 shop.order.queryRefund 退款状态查询
S-cfc-177: supplier.order.fulfill — ProductOrderService#redeem(SC-S-04) 契约落地
文档
测试负责人第179轮闭环汇报 2026-11-13 0055(R179 采信轮:后端采信R178 3103例3059过40红01:07h,窗口零源码/SRS变更;langgraph@251 49/51红2全401环境型较R178 4→2正向改善B-142-2观察3/2;浏览器28/28+2跳API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16、匿名4关键端点全401;门禁不通过承袭正向改善;SRS零变更用例无需更新;B-177-1残留进程清理观察3/2)
v1.0.2415 (2026-11-12)
测试
family.familyMembers.removeMember 契约级单测 RED - 移除成员后会员缓存重算缺失(4红/4绿)
v1.0.2414 (2026-11-12)
文档
测试负责人第178轮闭环汇报 2026-11-13 0040(R178 全量实跑:3979例/3891过/97.79%剔skip98.41%,后端368类3103例3059过01:07h红40较R177+1F全为TaskReviewScP11反射装置浮动B-178-1非回归;langgraph@251 47/51红4全环境401+429双因;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;新登记B-178-1+B-173-3耗时恶化42m08s→01:07h)
研发负责人第163轮闭环汇报 0010(派发3 GREEN/RED)
其他
S-cfc-175: shop.coupon.apply 验证报告 - 已完成 (20/20 Green)
v1.0.2413 (2026-11-12)
文档
研发负责人第162轮闭环汇报 2349(派发2 GREEN)
v1.0.2412 (2026-11-12)
文档
研发负责人 2320 人工轮汇报——覆盖度断层7键入池+会员双缺陷定位
sc-key-map 回填商城/会员/服务商域7个能力键映射(S-cfc-164~169+178)
R177 报告回填 §10 收尾核对(窗口内远端前进 d1c07b26e 仅 cfc-web 构建元数据,零功能源码免增量复验;推送 9bc9bcbd8 后 0/0)
测试负责人第177轮闭环汇报 2026-11-12 2312(R177 全量实跑:3979例/3892过/97.81%剔skip98.43%,后端368类3103例3060过42m08s存量红零漂移第23次;langgraph@251 44→47回升4红全环境401;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;新登记B-177-1 pytest退出挂死+B-177-2网关502无退避)
其他
v1.0.2411 (2026-11-12)
文档
研发负责人 22:03 轮汇报(自动化 298dcf47 )— 63 YELLOW 60 IN_CHAIN/3 O22-exempt、8 RED 在途、池空稳态
测试负责人第176轮闭环汇报 2026-11-12 2155(R176 快件实跑+采信:3979例/3889过/97.74%剔skip98.36%,langgraph@251 46→44环境恶化非回归;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;自处置清理251残留pytest 2组)
v1.0.2410 (2026-11-12)
文档
测试负责人第175轮闭环汇报 2026-11-12 2120(R175 快件实跑+采信:3979例/3891过/97.79%剔skip98.41%,langgraph@251 48→46环境回摆非回归;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;B-126第8轮复现)
v1.0.2409 (2026-11-12)
文档
测试负责人第174轮闭环汇报 2026-11-12 2046(R174 全量回归实跑:3979例/3893过/97.84%剔skip98.46%,存量红零漂移第20次;langgraph@251 46→48;后端耗时51:52→40:12;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12;门禁不通过承袭;派生用例+21入册SC241→244;251残留进程清理)
测试
2026-11-12 需求变更派生用例入册(R174)
其他
- admin.md:补 SC-A-23 团队收益(team.referral.earnings.cf / team.invite.share)+ SC-A-24 财富中心贡献榜(family.earnings.admin.role / family.earnings.pool.toggle)三流用例,修 TC-A-23-E 编号占用冲突
- 2026-11-12-chat-invite-rework.md:新增 TC-X-23~31 系列(聊天仅会员可见 S1-1~S1-6 + 团队邀请 S2-1~S2-4 双归属/三道幂等闸门)
- TRACEABILITY-MATRIX.md:场景基线 241→244,R3/R6/R8 主表状态由 ❌ 改 ✅,补 §0.1 自动化维护纪律
- sc-key-map.md:SC-A-23/24/X-22 登记,基线 241→244
- 需求分析回链附录:三份需求变更点更新为已派生三流用例
仅文档与测试台账,未动生产源码。待 R174 全量回归数据回填后再推远程。
v1.0.2408 (2026-11-12)
Bug 修复
251 派发器增加 LOG 路径守卫(B-126/B-173 自处置:本机 env 注入会被 MSYS 改写为 Windows 路径导致远端日志恒缺失)
文档
测试负责人第173轮闭环汇报 2026-11-12 2010(R173 后端由采信转全量实跑:3103例/3060过/98.61%,存量红零漂移第19次;langgraph@251 45→46;浏览器28/28+2跳、API 32例0红、web 116/116、fe 609/3/12;门禁不通过承袭;CI漏拦5→8类;新登记B-173-1/2/3)
v1.0.2407 (2026-11-12)
文档
测试负责人第172轮闭环汇报 2026-11-12 1850(R172 全量回归+定向实跑:新增46契约例 30绿/16预期RED(S-cfc-165/167 首验全绿、166/168/169 待实现);langgraph@251 45/51 环境红1→6(429/401);浏览器28/28、API 32例0红、cfc-web 116/116、cfc-frontend 609/3/12;门禁不通过承袭;blockers 新登记3项+恶化1项)
v1.0.2406 (2026-11-12)
文档
O-18 终裁生效(按主理人指令)——派发自动链断裂三项诉求因 hub→skill 迁移(T1-T8)全失效/闭环:①否决重建 hub 计划任务(RETIRED.md 停用/w watchdog 不恢复/禁 setup_scheduled_tasks);②diet 2 键无需派发(uiRework/participantSelect 已 YELLOW=yellow_sha 1bad02ec1 /e3b5ba9c7 IN CHAIN✓,O-7 非实现型RED,后续新键唯一入口=--add-task+--auto T5 直连);③8 僵尸 dispatched 已收口(账本 dispatched0/pending0,EVD-8/referral-T* 已清理回填,S-cfc-60/68/70/71 全 done,EVD-8 归测试侧补 e2e);连带工作区既定重排:O-17 §6 四项拍板标注 + O-22/23/25 已生效项移除,O-18 状态列=已裁决生效
v1.0.2405 (2026-11-12)
文档
研发负责人第161轮闭环汇报 2026-11-12 1646(错峰轮:RED契约批次8任务6契约已合入主线 163/165/166/167/168/169 IN CHAIN,166/168/169真红待实现;S-cfc-162 wedged~5h无证据待恢复、S-cfc-164新建观察;--auto 0新派发 池空T6 REQUEUE-SKIP-O22零复发;状态机94键 RED8/YELLOW63/GREEN8/DONE15零流转;部署 open13/confirmed77 未收口 O-24归测试侧;--changes 0新键 0 add-task;SC 15/241无漂移;主工作树717处他人WIP零接触单文件入库)
v1.0.2404 (2026-11-12)
其他
S-cfc-168: membership.plan.purchase 契约 RED 测试(SC-P-58 购买会员/套餐)
- 正常流: MembershipService#purchasePlan 契约方法 + POST /api/membership/plan/purchase 端点存在性
- 边界流: 重复购买幂等(有效会员拦截 no-new-order / 待支付订单复用 no-dup-insert)
+ markMembershipOrderFailed 失败回滚入口 + 回调开通失败订单状态须回滚(不留 paid 半态)
- 权限流: familyId=null 购买入口 fail-fast 拒绝
预期红 7/7:契约入口未落地、createOrder 无幂等守卫、
processPaymentCallback 失败后订单停留 paid(半态不回滚)。
契约溯源:SC-P-56 订单查询/退款(tests/user-scenarios/应用场景总览.md)
+ API_REFERENCE.md §4.8 商品与订单(/api/product/order/my、/refund/apply)。
反射结构契约(纯反射、无 Spring/DB/外部服务,沿用同批 RED 测试风格):
- 正常流:ProductOrderService 应声明 queryRefund(orderNo,userId) 查询入口
- 控制层:ProductOrderController 应暴露 POST /refund/query 路由
- 边界流:queryRefund 入参应为 (orderNo,userId) 二元组(买家归属作用域)
- 权限流:queryRefund 应按买家归属校验(横向越权被拒,TC-P-56-P)
RED 结果:4 测试全红(queryRefund 方法 / /refund/query 路由均未落地)。
GREEN 指引:实现 queryRefund 入口 + /refund/query 路由后自动转绿。
测试
S-cfc-169 supplier.order.fulfill RED 契约测试 — SC-S-04 到店核销未落地(pickupCode 生成未消费,缺 redeem 入口)
S-cfc-167 shop.coupon.apply 契约级单测 —— 实现已链上 origin/cfclub(CouponController /api/coupon/apply + CouponService.apply),20 契约用例全绿,转测试登记
shop.order.create 特价下单分支契约测试 - 实现已合入 origin/cfclub(10/10 绿,非红)
RED 契约单测 shop.order.queryRefund 退款状态查询
v1.0.2403 (2026-11-12)
文档
研发负责人汇报 2026-11-12 16:22 — 补齐 8 RED 契约任务派发(162-169) + 修复状态机/账本漂移(S-cfc-169)
v1.0.2402 (2026-11-12)
其他
- langgraph@251 50/51(唯一红 test_auto_tag_content_relevance,上游 429/401 环境型非回归);B-142-2 风向改善(观察 1/2)
- 浏览器 28/28 + 2 skip(189 admin 5/5 第12轮绿 + 本机 fe6/shop4/health13);API 层 32 例 25过/7跳/0红
- 全量 3945/3865 = 98.00%(剔 skip 98.91%);门禁不通过(承袭,正向改善);零新缺陷
- 交付:report-test-R171 / automation-run-R171 / notice-R171 研发通知 / blockers R171 段
v1.0.2402 (2026-11-12)
文档
其他
- 新增线上 API 非功能层 32 例(25 过 / 7 跳 / 0 红):冒烟 + 安全 + 性能兼容 + 追溯契约
- 修正 3 处用例自身缺陷:
* TC-A-N05 探针错(拿登录接口当特权入口)→ /api/admin/families/overview
* TC-P-N11 路径错(/api/assessment → /api/health/report/upload)+ 用 HTTP 码判业务拒绝 → 改 code≠200
* TC-P-N02/X-N01 未随 S-cfc-163 会员门控更新 → 假红转显式 skip(不假绿)
- 新发现 B-170-1:DatabaseInitializer:2261 approved_count 回填 SQL 恒失败(28/28 上下文)
- 追溯矩阵新增 §10 锚点双向核对:76 命中 / 85 孤儿 / 291 空转(G9 20.7%)
- 全量 3933 / 3861 = 98.17%(剔 skip 98.80%);门禁:不通过(承袭)
- 归档游离 R168 run 记录 + traceability-p94-p95-c26.spec.js(B-162-1 类)
v1.0.2401 (2026-11-12)
其他
- S-cfc-147 DanAssessmentRecordCreateContractTest 4红->6/6 闭环
- S-cfc-151 TaskReviewScP11ContractTest 2红->1红 收窄
- 本轮需求变更对齐资产首验全绿:S-cfc-162(团队邀请 6/6)+ S-cfc-163(聊天仅会员 6/6 + AIChatControllerGateTest 18/18)
- langgraph@251 47/4 -> 48/3(红 3 全为 AgnesAI 429 环境限流)
- admin-desktop@189 首轮即 5/5 EXIT=0(B-153-1 维持第 9 轮,B-167-1 观察 2/3)
- 通过率 98.23% -> 98.38%(3901 例 / 3838 过 / 45 红 / 18 跳)
- 交付:R169 报告 + 研发通知 + automation-run 记录 + blockers R169 段
- 测试结果较 R167 有变化,按规则 commit 并 push origin/cfclub
v1.0.2401 (2026-11-12)
其他
S-cfc-163: 实测全绿,后端已于前序 merge 9e1fc2f25 实现 chat.entry.memberGate 契约(AC-1/2/3 条款),无需代码改动
v1.0.2400 (2026-11-12)
文档
研发负责人第149轮闭环汇报 2026-11-12 1200(稳态延续轮:池空T6第33轮零派发;S-cfc-162/163契约RED在途lan-189/lan-204;--changes 0新键无add-task;--resume 0候选;--auto 幂等复核 REQUEUE-SKIP-O22 零复发+多键YELLOW✓自动待部署验证;状态机88键 RED2/YELLOW63/GREEN8/DONE15零流转;部署pending13/confirmed77未收口O-24归测试/部署侧;SC 15/241无漂移;主工作树715处他人WIP零接触单文件入库)
测试
service.role.applyBindInvite 契约登记测试(行为级 Mockito,6/6 绿——实现已链上 9afaa6e46 ,转测试登记)
Bug 修复
收敛 P2 幂等抛错误报循环 + P1 status 视图补绑入口(纯前端1文件)\n\nP2 幂等抛错误报循环收敛:后端已实际绑定成功(CF 已发)但响应在传输中丢失时,\n用户点「重试绑定」会命中后端 bindReferral:141 抛错式幂等「已绑定推荐人,不可修改」,\n前端 catch 误弹失败 modal、userRefBound 永远 false 无法收敛。\n在 bindUserReferral 两处失败出口(防御性非200兜底 + catch)加判定:\ne.message / bindRes.message 含「已绑定推荐人」→ 按实质成功收敛——置 userRefBound=true、\n清僵尸码 storage.refCode、toast「推荐人已绑定」、return,不弹失败 modal、不置 bindingRef 失败态\n(finally 仍归 false)。判定位置在 401 提前 return 之后、showBindRetryHint 之前,401 逻辑不动。\n匹配用 indexOf(后端文案带后缀「,不可修改」),禁止改后端。\n\nP1 status 视图补绑入口:checkExistingApply 命中已有记录(status 0/1/2) → showStatusView=true\n→ 表单隐藏,此前绑定失败无任何补绑入口。在 status-view 模板 action-buttons 之前新增:\n v-if="!userRefBound && inviteRefCode" 的 rebind-section,含「推荐人尚未绑定成功,请在网络稳定后补绑」\n 文案 + 「补绑推荐人」按钮(:disabled="bindingRef" 防连点)。\n铁律:@click 直连 bindUserReferral,绝不接 handleSubmit/doSubmit(表单隐藏 + 后端查重会拒)。\n样式沿用 status-tip 卡片 + .btn-reapply 尺寸与品牌渐变,无新增 emoji。\n\n自验:vue-template-compiler 模板编译 + acorn script parse 双 OK(FAIL=0);无可选链/CSS Grid/新增 emoji;\n仅改 1 文件。后端零改动。基于最新 origin/cfclub a0ecc6067 ,独立分支 feature/team-invite-debt-fix。
v1.0.2399 (2026-11-12)
文档
研发负责人第148轮闭环汇报 2026-11-12 1145(T6续派轮:人工复核近1h提交识别两项需求变更dc5522d09 ——聊天仅会员可见+团队邀请改造,实现3d35ab714 /9afaa6e46 已链;零契约新建2键入RED派发成功2/2:S-cfc-162 service.role.applyBindInvite→lan-189、S-cfc-163 chat.entry.memberGate→lan-204;状态机86→88键RED2/YELLOW63/GREEN8/DONE15;SC 15/241无漂移;主工作树714处他人WIP零接触单文件入库)
v1.0.2398 (2026-11-12)
文档
研发负责人第147轮汇报基线重锚 2026-11-12 1105(对齐 bc12d9a69 auto-bump 的 cfc-web 版本/changelog 变更,恢复被并发推送覆盖的 5 文件;汇报文件保持,单文件语义不变)
研发负责人第147轮闭环汇报 2026-11-12 1105(稳态延续轮:互斥放行距146轮25min;池空第32轮零派发 dispatched0/pending0;状态机86键 RED0/YELLOW63/GREEN8/DONE15 零流转;--changes 0新键无add-task(O-7防假红);--resume 0候选;--auto 幂等推进多键YELLOW✓证据标注+自动部署验证派发,deploy_state open13/confirmed77(O-24 6旧>21h无回执);SC 15/241无漂移;主工作树713处他人WIP零接触单文件入库)
v1.0.2397 (2026-11-12)
文档
v1.0.2396 (2026-11-12)
文档
研发负责人第146轮闭环汇报 2026-11-12 1033(稳态延续轮:互斥放行距145轮28min;池空第31轮零派发 dispatched0/pending0;状态机86键 RED0/YELLOW63/GREEN8/DONE15 零流转;--changes 0新键无add-task;--resume 0候选;--auto 0派发+REQUEUE-SKIP-O22 0复发;部署pending12/confirmed77;SC 15/241无漂移;主工作树710处他人WIP零接触单文件入库)
研发负责人第146轮闭环汇报 2026-11-12 1040(稳态轮:实现侧收口 70/70 能力键 YELLOW+(63 YELLOW 全有 sha 在链)/0 新键/⏳0/--resume 0 候选;任务池 161done+1failed 清零;--auto 幂等推进:多键 YELLOW✓+testing 部署验证派发(新增 1f31f4b094 =S-cfc-157 实现条目),部署未收口13=6旧(O-24)+6中+1新/confirmed77;SC 15/241 无飘移,226 待测试三类流证据;710 处他人 WIP 零触碰)
Bug 修复
删 modal 虚假恢复承诺 + 同步过时注释(纯文案,零逻辑)
用户级分销绑定资产一致性返工(仅前端1文件)
其他
误导文案,合入前修掉。本轮只改文案与注释,不动任何逻辑闸门。
P1 删虚假恢复承诺:showBindRetryHint 的 modal content 删除「或从邀请链接重新进入」。
核验实证该路径走不通——重进是新实例,onLoad 解析 refCode 后 checkExistingApply 命中
已有 status=0 记录 → showStatusView=true → 表单 v-else 隐藏 → pending 态无补绑入口,
走不到 handleSubmit→bindUserReferral。改为真实可达兜底:
改前:申请已提交成功,但推荐人未绑定成功。请重试,或从邀请链接重新进入。
改后:申请已提交成功,但推荐人绑定未成功。请点击「重试绑定」;若已离开本页,请联系邀请人或客服补绑。
保留后端原文 serverMsg 前缀、保留「申请已提交成功」准确表述、保留 confirmText「重试绑定」
及回调、不泛化「提交失败」、不丢后端具体原因。
同步过时注释(非功能):绑定源已改用 this.inviteRefCode,getStorageSync('refCode') 仅残存
于防错配说明注释。修正 :463/:479/:489/:507 处「保留 storage.refCode 以便重试」「失败绝不清码
保证可重试/重新进入」等过时措辞——storage.refCode 已成僵尸字段(不参与绑定、清不清都不影响),
可重试的真正保证是 this.inviteRefCode 组件字段未清 + userRefBound=false + bindingRef=false + modal 回调。
未触碰(核验已 PASS 的资产闸门):doSubmit 返回值语义与唯一 return true 闸门、bindUserReferral
三个调用点与 if(submitted) 前置、userRefBound/bindingRef 幂等防重入、removeStorageSync('refCode')
仅成功分支、两级同源 this.inviteRefCode、openLoginSheet 透传、失败分支不清码、401 统一 reLaunch。
自验:vue-template-compiler 模板编译 + acorn script parse 双 OK;diff 新增行全部为注释/文案,
零逻辑代码改动;无可选链/CSS Grid/新增 emoji;仅改 1 文件。
记录级 inviter_user_id 保持零副作用/强校验/三口径不变。本轮只堵资产一致性缺口。
P0 串行化: doSubmit 改为返回 boolean(仅 res.code==200 落库成功才 true);
handleSubmit(已登录) 与 onInviteLoginSuccess(浮层登录后) 两条路径同构,
均 await doSubmit 确认成功后才串行 await bindUserReferral, 绝不并发;
申请失败/邀请码无效/查重拒绝/网络失败 → doSubmit 返回 false → 不绑定、不发 CF;
删除旧并发链 doSubmit().catch(function(){}) 与 bind().catch(function(){}), 不再有空 catch 吞失败。
P0 失败可恢复: removeStorageSync('refCode') 从并发块移入绑定成功(resolve 含 skipped)
分支; 失败保留码 + userRefBound 保持 false; showBindRetryHint 弹 modal 承载后端
具体 message(不覆盖 request toast) + 明确重试引导 + '重试绑定'就地补绑入口。
P0 防错配: 用户级绑定源改用组件字段 this.inviteRefCode(与记录级同源, onLoad 解析),
不再读 uni.getStorageSync('refCode'); 码空不绑定; openLoginSheet 透传保持不变。
P1 幂等防重复发: userRefBound 成功/skipped 置 true, 整个流程(含 handleReapply/
handleAddRole 多次提交)至多成功绑定一次; 首次失败保持 false 以便重试补绑(那次未发资产);
后端 CommissionService:140 已有推荐人直接抛为第二道幂等闸, 双重保证不重复发资产。
P1 修注释矛盾: onInviteLoginSuccess 旧注释'本页不重复调用 bindReferralIfNotSelf'
与实际调用矛盾, 改为准确描述(就地浮层登录后主动补绑, 与 user-edit 路径互斥, 受幂等保护)。
自验: vue-template-compiler 模板编译 + acorn script parse 双 OK; 无可选链/CSS Grid/新增 emoji;
仅改 1 文件。CommissionService.bindReferral 幂等: :140 已有推荐人抛错, 走不到 :156 发资产。
1. 两级归属并存(互不替代)
- 记录级: service_role_applications.inviter_user_id, 后端按 refCode 服务端
反查 User.referral_code 写入, 拒绝前端直传 inviterUserId(防冒领)
- 用户级: users.referrerId, 沿用 App.vue→storage.refCode→bindReferralIfNotSelf
链路; 就地浮层登录成功后显式消费一次, 保证推荐人=邀请人
2. 注册判据=微信授权建号, 不引入短信验证码, 不碰 register-with-invite
3. 分享直达现有 /pages/profile/service-role-apply?refCode=<码>, 不新建邀请页,
不加邀请人头像/昵称展示
后端三口径: ①无refCode正常受理(inviter_user_id=NULL) ②带码反查失败/自邀请
Result.error 显式拒绝不落库 ③带有效码写归属。记录级写入绝不调用
CommissionService.applyReferralSideEffects(不物化推荐树/directCount/F24 CF等)。
DDL: schema.sql 新部署建列+索引; DatabaseInitializer 迁移467 存量幂等补列+索引。
前端: profile 两个邀请入口改透明 button open-type=share 覆盖, 页面级
onShareAppMessage 直达申请表并携带本人推广码(data+storage 双缓冲保证非空);
申请页 onLoad 解析 refCode 存独立 key, 提交透传, 未登录就地浮层登录后续提交。
改动 8 文件: 后端 5 / 前端 2 / API_REFERENCE 1。
新功能
v1.0.2395 (2026-11-12)
文档
研发负责人第145轮闭环汇报 2026-11-12 1005(S-cfc-157 dan.assessment.recordCreate 实现收口:核验 worktree task/S-cfc-157 分支 69ff26a7f +d8969ea6f (25行最终版三契约守卫,4红→0失败全绿)已推 origin 未合主线→双父 merge 提交 1f31f4b09 合入 diff 仅1文件M;回填 state.json yellow_sha + tasks.json done,任务池彻底清零 done161+failed1+dispatched0+pending0;状态机86键 RED0/YELLOW63(63/63有sha)/GREEN8/DONE15;--changes 0新键;--resume 0候选;部署pending12/confirmed77;SC 15/241无漂移)
新功能
dan.assessment.recordCreate 契约守卫使绿
S-cfc-157 dan.assessment.recordCreate 创建记录契约守卫转绿
其他
由 GlobalExceptionHandler 映射 400,绝不落库):
1. 必填参数守卫:materialId / memberId 为空拒绝
2. 材料有效性:materialId 须指向存在且启用的测评材料(经 baseMapper)
3. 成员-家庭归属:memberId 须属于 familyId,防跨家庭越权(参照 SC-T-13)
DanAssessmentRecordCreateContractTest 结果:6 tests,4 失败(3 边界 + 1 权限)→ 0 失败全绿。
- memberId/materialId 非空必填守卫(拒绝 null 字段落库)
- 材料存在且启用校验(经 baseMapper)
- 成员-家庭归属校验(经 familyMemberMapper,防跨家庭越权,参照 SC-T-13)
DanAssessmentRecordCreateContractTest 6/6 绿(红 4 例 → 0),无回归。
v1.0.2394 (2026-11-12)
文档
R167 报告回填提交证据 edb8af738
研发负责人第140轮闭环汇报 2026-11-12 0918(错峰03:池空T6第29轮零派发;状态机76键 RED0/YELLOW63/GREEN8/DONE15 零漂移;S-cfc-152/156/159 已 O-22 归档 done、S-cfc-157 dan.assessment.recordCreate 唯一真RED在途~44min无实现提交;11 个 yellow_sha 全 IN CHAIN;deploy pending12/confirmed77 未收口6归O-24;--changes 0新键无add-task;--resume 0候选;709处他人WIP零触碰;O-1~O-25 无新增待裁决)
测试
测试负责人全站巡检汇报——B-142-1 admin鉴权门闭环(6端点全401)+langgraph 41→47回升+后端361类3045例98.95%零漂移第15次+CI漏拦红类扩大至6类
v1.0.2393 (2026-11-12)
文档
研发负责人第144轮闭环汇报 2026-11-12 0846 v3(补录 S-cfc-156 health.report.detail O-22 归档:会话回执 1f6004b68 契约13/13全绿实现已覆盖无代码修改;契约批次 wedged 回收 3/4 完成(152/156/159 实现已覆盖归档),仅 S-cfc-157 dan.assessment.recordCreate 真RED在途;任务池 done160+dispatched1+failed1;yellow_sha 空键交测试侧 mark-green 校验)
研发负责人第144轮闭环汇报 2026-11-12 0846 v2(补录 O-22 归档:S-cfc-152 admin.article.list 回执 7e03ffccb 契约6/6全绿实现在链c3e32460a 、S-cfc-159 task.task.create 回执 50c5a68fe 契约7/7+14/14全绿实现已覆盖,两键实现早已在链无src/main改动按O-22键级已实现定论归档done,tasks.json已备份;剩2个在途S-cfc-156/157待实现产出;yellow_sha回填无自动入口但mark-green不查验可交测试侧)
v1.0.2392 (2026-11-12)
文档
S-cfc-156 health.report.detail implementation verified green
S-cfc-152 admin.article.list 契约已覆盖验证回执——AdminArticleListContractTest 6/6 全绿(实跑),AdminArticleController.list + ArticleService.getAdminList 实现在链(c3e32460a ),无 RED 断言无实现缺口,0 处 src/main 改动,供编排侧 O-16 先例回填 yellow_sha
研发负责人第144轮闭环汇报 2026-11-12 0846(稳态延续:互斥09min合法独立执行;--auto 池空无新派发;4个GREEN在途S-cfc-152/156/157/159为143轮08:36 requeue重派后执行窗口内无git产出待下轮核验;状态机86键RED0/YELLOW63/GREEN8/DONE15零流转;任务池162=done157+dispatched4+failed1 pending0;部署pending56=done44+open12(open含6项19h+归O-24);--changes 0新键;--resume 0候选;--inspect 5节点在线busy=1/1/0/2/0配额余8~10;SC 15/241无漂移;主工作树708处他人WIP零接触单文件入库)
S-cfc-159 task.task.create 使绿验证——红测试实测全绿(7/7+14/14)实现已覆盖,无 src/main 改动,请编排侧登记覆盖并归档
其他
(HealthReportController.getReportDetail + HealthReportService.getReportDetail
already shipped in commit 94af2ff1b ). No production/test source change needed;
this commit is the closure evidence for the TDD-GREEN task S-cfc-156.
v1.0.2391 (2026-11-12)
文档
研发负责人第143轮闭环汇报 2026-11-12 0836(wedged回收重派轮:4个GREEN在途任务S-cfc-152/156/157/159 06:17派发~120min无git产出达08:15预案阈值→探活4会话outcome=succeeded无实现提交→requeue重派lan-189/lan-204/mes-local-45278;local-lan-4090模型链429全冷却至11-13 08:00致2次选路派发失败已绕过;状态机RED0/YELLOW63/GREEN8/DONE15;任务池162=done157+dispatched4+failed1;部署pending56/confirmed77;--changes 0新键;--resume 0候选;SC 15/241无漂移;主工作树707处他人WIP零接触单文件入库)
v1.0.2390 (2026-11-12)
测试
测试负责人全站巡检汇报——契约批次S-cfc-143/144/145/148/150共11个预期RED经研发5修复全部转绿(82绿/7红,本轮最大正向)+ langgraph环境红8→10波动 + 后端源码变更轮全量实跑3078例98.93%零新增红
文档
研发负责人第142轮闭环汇报 2026-11-12 0807(稳态延续+4在途wedged观察:S-cfc-152/156/157/159 06:17派发~110min无git产出达阈值,08:15窗口回收预案;状态机RED0/YELLOW63/GREEN8/DONE15;任务池done157+dispatched4+failed1;部署pending12未收口(6旧O-24归部署侧+6新在途<1h);--changes 0新键;--resume 0候选;模型全链无冷却;SC 15/241无漂移;主工作树706处他人WIP零接触单文件入库;研发实现侧目标达成70/70键YELLOW+ SRS/设计/241SC端点0缺口)
v1.0.2389 (2026-11-12)
文档
研发负责人第141轮闭环汇报 2026-11-12 0755(稳态延续+4在途wedged观察:S-cfc-152/156/157/159 06:17派发96min无git产出达阈值,节点探测受限lan-204拒连,08:15后探活nudge/重派预案;状态机RED0/YELLOW63/GREEN8/DONE15;任务池done157+dispatched4+failed1;部署pending12未收口(6旧O-24归部署侧+6新在途<1h);--changes 0新键;--resume 0候选;模型全链无冷却;SC 15/241无漂移;主工作树705处他人WIP零接触单文件入库)
v1.0.2388 (2026-11-11)
文档
研发负责人巡检汇报 2026-11-12 0743轮(池空·验证瓶颈)
研发负责人第139轮闭环汇报 2026-11-12 0729(错峰03稳态复核:零派发,S-cfc-152/156/157/159 四实现在途无提交,63 YELLOW 待测试 mark-green,12 条部署 pending 归部署侧,--changes 0 新键)
部署回执 45b29e5f8 → testing(2026-11-12 07:26,实际线上 ceeecd9c7 为其后代,JAR 字节码含 /api/admin/ 收口 + create 角色守卫)
v1.0.2387 (2026-11-11)
文档
研发负责人第138轮闭环汇报 2026-11-12 0715(契约批次GREEN实现第二批收口:O-16先例回填admin.article.create/task.task.complete/task.task.review 3键yellow_sha,45b29e5f8 /12317d458 /f139a05a2 全IN CHAIN自动派发testing部署;任务池done154→157、dispatched10→4;状态机RED0/YELLOW63/GREEN8/DONE15;--changes 0新键;--resume 0候选;模型全链无冷却;SC 15/241无漂移;主工作树698处他人WIP零接触单文件入库)
v1.0.2386 (2026-11-11)
新功能
task.task.review 权限流补全使绿——TaskController.reviewTask 增加 @RequestAttribute userId 身份参数(有身份走 3 参服务重载校验审批人归属家庭/parent·admin,无身份退 2 参兼容入口);TaskService 新增 reviewTask(Long,Long,TaskReviewDTO) + isQualifiedReviewer 归属校验 + 抽取 applyReviewDecision,2 参入口语义保持。契约 TaskReviewScP11ContractTest 8 例 3红→1红(权限流-1/-2 转绿;权限流-3 与正常流-1 同款 mock 断言相反结果,登记测试侧缺陷)。
admin.article.create RED转GREEN——JwtInterceptor 收口 /api/admin/ 前缀 + create 增加 admin 角色守卫
文档
研发负责人闭环巡检汇报 2026-11-12 06:52(第137轮·稳态)
研发负责人巡检汇报 2026-11-12 + 测试台账刷新(4226 用例/执行状态待回写)
部署回执 3b90e26d6 → testing(2026-11-12 06:47,实际线上 b0f40676f 为其后代,JAR 字节码含 reportType 校验)
其他
- JwtInterceptor.LOGIN_REQUIRED_PATHS 追加 /api/admin/(B-142-1 整族鉴权门;/api/admin-auth/* 仍走 PUBLIC_PATHS)
- AdminArticleController#create 增加 @RequestAttribute ("role") 并拒绝非 admin(参照 #move 惯例)
- 验证:AdminArticleCreateContractTest 6/6 绿;JwtInterceptor 相关 69/69 绿;AdminArticleListContractTest 6/6、AdminReferralContractTest 16/16 无回归
v1.0.2385 (2026-11-11)
文档
研发负责人第136轮闭环汇报 2026-11-12 0636(GREEN实现首轮回执收口3/10:O-16先例回填admin.article.audit/health.report.create/dan.assessment.resultRecord 3键yellow_sha,a79b26640 /3b90e26d6 /c36d6515b 全IN CHAIN;任务池done151→154、dispatched10→7;状态机RED0/YELLOW63无sha剩7在途/GREEN8/DONE15;部署open6归测试侧confirmed77;--changes 0新键;SC 15/241无漂移;--resume 0候选;单文件入库零接触)
研发负责人第135轮闭环汇报 2026-11-12 0630(RED契约10/10转YELLOW+派发GREEN实现S-cfc-152~161:backfill闭环胶水收敛dispatched死锁+修正4条契约commit误录sha;状态机RED0/YELLOW63/GREEN8/DONE15;任务池162=done151+dispatched10+failed1;部署open6归测试侧;--changes 0新键;SC 15/241无漂移;主工作树3482处他人WIP零接触单文件入库)
Bug 修复
task.task.complete 使绿 - completeTask 增加 deadline 超期守卫(TC-C-02-E)超期提交被拒,不发奖不落库
admin.article.audit 权限流补全(B-142-1)使契约红单测转绿
health.report.create 使绿 - createReport reportType 取值校验(契约仅允许 physical_exam/gut_flora,拒绝空串/非法值,HealthReportCreateContractTest 2红/8绿→10绿)
其他
impl(S-cfc-158): dan.assessment.resultRecord 录入触发五维维度刷新(SC-T-30)与方案生成链(SC-T-07) 使 3 例契约测试全绿
- AdminArticleController#audit 增加 @RequestAttribute ("role") 角色守卫,非 admin 返回「无权限」且不触达 service(与 /move 守卫惯例一致)
契约:AdminArticleAuditContractTest 权限流-1/2/3 三红 → 全绿;正常流/边界流/service 状态机 9 例行为锁定不受影响。
- cfc-frontend 609/3/12、cfc-web 116/116 零漂移
- langgraph@251 51例=43过/8红(红10→8改善, 全环境401/429, 零代码回归)
- 契约批次定向 surefire 首验 11类96例=78绿/18红, 18红全部与研发声明预期RED吻合
- 后端 src 零变更 → 采信 R162 全量(353类/2974例/2945过/25红/4跳)
- 门禁: 承袭不通过(无恶化), 3914例 97.75% 通过率, 变化项正向 → 通知研发
测试
测试负责人全站巡检汇报——langgraph 环境红 10→8 正向改善+契约批次 S-cfc-142~151 首验 96 例(78绿/18红全预期)
v1.0.2384 (2026-11-11)
文档
研发负责人第134轮闭环汇报 2026-11-12 0601(契约RED批次10/10全量落地核验:上轮O-18重派的S-cfc-144/145/146/147/149/151 6/6全部产出契约推送并确认IN origin/cfclub——144=admin.article.audit权限流3红+行为锁定9绿(dbb80b12b )、145=health.report.create 2红/8绿(30caeba0f ,Windows节点mvn首跑慢已收尾)、146=health.report.detail 13例全绿(0824ebcf8 )、147=dan.assessment.recordCreate 4红2绿(459b35d87 rebase线性)、149=task.task.create 7例全绿(1ee56f5c6 )、151=task.task.review SC-P-11 8例3红5绿(5526b953f ,3轮并发push竞争后成功);契约批次10/10链上核验全✓(142/143/148/150上轮已定);新登记编排侧缺陷:tasks.json会话ID首轮派发少录1位致假404(ses_e337501 vs ses_e337b501)待修复;状态机86键零流转RED10/YELLOW53/GREEN8/DONE15;任务池done141+failed1+dispatched10;--changes 0新键(O-7/O-25);--resume 0候选;部署confirmed77/pending50 open6(19h+,O-24归测试/部署侧);SC 15/241无漂移;PortableGit溯源注入观察项持续;主工作树3464处他人WIP零接触单文件入库)
第162轮测试负责人汇报——五节点全量实跑3818例3750过(98.25%)、langgraph 41/51红5→10(B-142-2升级P0:key 401+配额429双因)、后端353类25红(S-cfc-143预期RED3+未入库文件5)、门禁收紧不通过、零代码回归
研发负责人第133轮闭环汇报 2026-11-12 0529(契约RED批次死锁处置+重派:S-cfc-144/145/146/147/149/151 首轮会话全failed卡dispatched——auto_advance因inflight跳过/auto_dispatch只挑pending/--resume跳过failed三方死锁,按O-18先例重置pending三批重派成功10/10在途;142/143/148/150契约已推(全绿/真RED fail3-6/2红1绿/1红11例)待测试mark-red;状态机86键 RED10/YELLOW53/GREEN8/DONE15零流转;任务池 done141+failed1+dispatched10;--changes 0新键不建任务(O-7/O-25归测试侧);--resume 0候选;--inspect 5节点健康busy1配额9~10剩余;部署 confirmed77/pending50 open6(19h+,O-24归测试/部署侧);SC 15/241无漂移;观察项:esign溯源PortableGit路径注入8任务确认再现待编排侧修复;主工作树3463处他人WIP零接触单文件入库)
测试
health.report.create 契约级单测 RED(reportType 取值校验缺口 2红/8绿,其余契约实现已落地)
S-cfc-147 dan.assessment.recordCreate 契约级单测(TDD-RED:必填守卫/材料有效性/成员-家庭归属三缺一未落地,预期4红2绿)
health.report.detail 契约级单测 — 正常流/异常流/内容契约 13 例(实现已存在,测试全绿)
契约测试登记 task.task.create(POST /api/tasks/create)控制器层(S-cfc-149)
S-cfc-151 task.task.review 契约级单测(TDD-RED:SC-P-11 审核闭环正常/异常流钉住 + 权限流横向越权未拦截,预期 8 例 3 红 5 绿)
S-cfc-144 admin.article.audit 契约级单测(TDD-RED:权限流3红B-142-1 + 行为锁定9绿)
其他
@RequestAttribute userId + @RequestBody dto)+ 正常流(委托 taskService.createTask 返回
Result taskId)+ 异常流(校验异常向上传播,GlobalExceptionHandler → 400)+ 权限流说明
- 纯 Mockito + 反射,无 Spring/DB/外部服务(参考同批 TeamProfitHook/FamilyJoinValidationRules)
- 实测 GREEN 7/7:实现已存在(SC-P-10 f41da2779 已合入;编排报告 2026-11-12-04:42
「契约已交付,mark-red 属测试侧」),按任务规则 #2 汇报转编排侧登记覆盖,不修改 src/main
v1.0.2383 (2026-11-11)
测试
S-cfc-148 dan.assessment.resultRecord 契约级单测(TDD-RED:SC-T-07 方案生成链 / SC-T-30 五维维度变化两钩子未落地,预期2红1绿)
task.task.complete 契约级单测 RED — 正常/幂等/权限/控制器契约11例,超期提交被拒锚点1红
文档
研发负责人第129轮闭环汇报 2026-11-12 0442(池空稳态延续+RED契约回收核验:S-cfc-142契约全绿=实现已覆盖/admin.article.list已在链、S-cfc-143真RED fail3/6待登记派发;状态机86键 RED10/YELLOW53/GREEN8/DONE15零流转;任务池 done141+failed1+dispatched10 pending0;--changes 0新键(O-7)不建任务;53/53 YELLOW merge-base IN CHAIN;部署 confirmed77/open6(O-24归测试侧);SC 15/241无漂移;--resume 0候选;inspect 5节点健康配额8~10剩余;主工作树3462处他人WIP零接触单文件入库)
研发负责人第134轮闭环巡检汇报(04:33) · 53/53 YELLOW IN CHAIN 核验+测试协同
v1.0.2382 (2026-11-11)
文档
第133轮研发负责人汇报(池空稳态 + 测试侧10个RED在途)
研发负责人第132轮闭环汇报 2026-11-12 0407(RED契约批次S-cfc-142~151 10/10在途核查:142已推fcd9117bf /143已推8e49e7e61 锁行为fail3/6;状态机86键 RED10/YELLOW53/GREEN8/DONE15零流转;任务池 done141+failed1+dispatched10 pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;inspect 5节点busy7配额余量充足;部署 confirmed77/open6(O-24归测试侧);SC 15/241无漂移;观察项:task.json溯源@PostMapping 注入PortableGit路径串待编排侧复核;主工作树3459处他人WIP零接触单文件入库)
研发负责人第118轮闭环汇报 2026-11-12 0404(RED契约批次S-cfc-142~151全量派发收尾 6→0 pending、10/10在途;S-cfc-142契约6例全绿已推fcd9117bf ;状态机86键 RED10/YELLOW53/GREEN8/DONE15;部署 confirmed77/open6;SC 15/241 无漂移;主工作树3458处他人WIP零接触单文件入库)
研发负责人第96轮闭环汇报 2026-11-12 0340(派发 S-cfc-144/145,45 YELLOW 实现验证推进)
测试
RED contract test admin.article.create - permission flow gap (B-142-1) + create behavior lock (fail 3/6)
S-cfc-142 admin.article.list 契约级单测 —— 实现已落地(origin/cfclub 已含 list/getAdminList),6 契约用例全绿,转测试登记
v1.0.2381 (2026-11-11)
文档
研发负责人第128轮闭环汇报 2026-11-12 0333(池空稳态延续+RED契约批次认领:状态机86键 RED10/YELLOW53/GREEN8/DONE15,RED 0→10=S-cfc-142~151 未覆盖控制器契约测试批次 03:27 入池 2 dispatched+8 pending red_sha全空归测试侧;任务池 done141+failed1+dispatched2+pending8=152;--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额9~10/节点0阻塞;部署 pending open6(17.6h+无回执,O-24归测试/部署侧)/confirmed77;SC 241行15/241无漂移;主工作树3339处他人WIP零接触单文件入库)
v1.0.2380 (2026-11-11)
文档
研发负责人第132轮错峰巡检汇报 2026-11-12 0312(错峰03·池空稳态第31轮·状态机76键零流转 RED0/YELLOW53/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--auto 实跑零派发 requeue 27键全 REQUEUE-SKIP-O22 保持 done 0复发(O-22/23维持);--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额0/10;部署 pending50 open6(静默~18h,O-24归测试/部署侧)/confirmed77 未新增;SC 15/241无漂移;主工作树3339处他人WIP零接触单文件入库)[重推:并入241d98753 CI bump]
研发负责人第132轮错峰巡检汇报 2026-11-12 0312(错峰03·池空稳态第31轮·状态机76键零流转 RED0/YELLOW53/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--auto 实跑零派发 requeue 27键全 REQUEUE-SKIP-O22 保持 done 0复发(O-22/23维持);--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额0/10;部署 pending50 open6(静默~18h,O-24归测试/部署侧)/confirmed77 未新增;SC 15/241无漂移;主工作树3339处他人WIP零接触单文件入库)
v1.0.2379 (2026-11-11)
文档
研发负责人第131轮错峰巡检汇报 2026-11-12 0254(池空稳态第30轮·O-25终裁93d24759b 已生效——sc-key-map接入派发池职责归测试侧证据补建按批承接;状态机76键零流转 RED0/YELLOW53/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额0/10;部署 pending open 6(17h+无回执,O-24归测试/部署侧)/confirmed77;SC 241行15/241无漂移;主工作树3338处他人WIP零接触单文件入库)
测试
第161轮测试负责人巡检——前端净增8通过(609/624),web116/116+浏览器28/28零漂移,langgraph承袭251(R160)因通道不可达,变更触发推送+通知
v1.0.2378 (2026-11-11)
文档
研发负责人 2026-11-12 02:38 错峰巡检汇报(闭环)— 状态机76键稳态 RED0/YELLOW53(53 sha 全 IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0(结构性真空第28轮);--auto --limit 2 实跑 0 派发(T6 池空) + O-22/O-23 requeue 机制 0 复发;--changes 0 新键不建任务(O-7/O-18);--resume --dry-run 0 候选(prod-etotem skip);部署 deploy_state pending open 6(09:10~09:58 派发 17h 无回执, O-24 归测试/部署侧)/confirmed 77,last_deployed 双账本差异如实记录;SC 台账 241 行无漂移、已跑通 15/241;O-25 终裁 93d24759b 已生效待 P1 派发池落地;主工作树 3337 处他人 WIP 零接触单文件入库)
v1.0.2377 (2026-11-11)
文档
研发负责人 2026-11-12 02:32 错峰巡检汇报(闭环)— YELLOW53/GREEN8/DONE15,开发实现侧收口,瓶颈转测试侧
v1.0.2376 (2026-11-11)
测试
第160轮测试负责人巡检——三节点回归 admin5/5+frontend6/6+health13/13+langgraph 51全执行46:5(429环境红改善,通过率79.1%→90.2%),251清理6个残留pytest僵尸(B-160-1闭环),变更感知0新键,R158差8例待核实消除
文档
研发负责人第127轮汇报 2026-11-12 0221(池空稳态延续第29轮)
v1.0.2375 (2026-11-11)
文档
研发负责人 错峰03 第129轮汇报(池空稳态·O-25 主理人终裁落地)
O-25 主理人终裁生效——sc-key-map 台账接入编排器派发池(按 O-2 方案 A 映射/测试证据补建任务/分批渐进/P1); 错峰03 第129轮
研发负责人第129轮错峰巡检汇报 2026-11-12 0145(池空稳态延续第29轮:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(16h+无回执,O-24已裁决归测试/部署侧);SC 15/241无漂移;fix(auth) 1d8bd5267 强制登录修复带2契约测试非新键归测试侧契约核对批次(O-7先例);O-25待主理人终裁;主工作树3334处他人WIP零接触单文件入库)
R158测试负责人汇报补口径备注 + 研发通知(langgraph 43实跑/51收集差8例待核实,429环境红非回归)
研发负责人错峰巡检轮汇报 2026-11-12 0130(池空稳态延续第27轮:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(16h+无回执,O-24已裁决归测试/部署侧);SC 15/241无漂移;会员门控3d35ab714 合入核验归测试侧契约核对批次(O-7先例);主工作树3332处他人WIP零接触单文件入库)
研发负责人第 错峰巡检轮 闭环汇报 2026-11-12 0120 (自动化54247bf9 )
测试
第158轮测试负责人巡检——三节点回归 admin5/5+frontend6/6+langgraph 34:9(429环境红),变更感知0新键,台账刷新4269例
Bug 修复
/api/growth/record|plan 强制登录,修复拦截器被 WebConfig 排除致 userId 缺失 500
其他
与 JwtInterceptor.PUBLIC_PATHS 中,拦截器对 growth 整族不执行/匿名放行,
GrowthRecordController.record/** 与 GrowthPlanController.plan/** 的
@RequestAttribute ("userId") 永不注入,无 token 一律 500
"Missing request attribute userId"(线上小程序 /api/growth/record/list)。
修复:
- WebConfig 移除 jwtInterceptor 对 /api/growth/** 的 exclude
- JwtInterceptor.PUBLIC_PATHS 改为精确公开子端点(recommendations/ai-classify/external-sync)
- LOGIN_REQUIRED_PATHS 增加 /api/growth/record/ 与 /api/growth/plan/(无 token 401,
客户端 api.js 401→静默续期→重放自动恢复)
测试:GrowthAuthContractTest(端到端 401)+ WebConfigGrowthExcludeRemovedTest(注册链,无 DB)
v1.0.2374 (2026-11-11)
文档
研发负责人第126轮汇报 2026-11-12 0115(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第28轮;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(16h+无回执,O-24裁决归测试/部署侧执行);SC 15/241无漂移;会员门控3d35ab714 实现合入已有契约测试在链归测试侧契约核对批次(O-7先例);pending.md O-1~O-18全已裁决,O-25待主理人终裁;主工作树多会话WIP零接触单文件入库)
v1.0.2373 (2026-11-11)
文档
研发负责人第124轮汇报 2026-11-12 0059(状态机76键 RED0/YELLOW53/GREEN8/DONE15,池空0派发,实现vs需求0真实缺口)
研发负责人第122轮汇报 2026-11-12 0040
测试
第156轮闭环——全量3790/3726=98.31%,后端实跑99.29%零漂移第14次,langgraph 3→10红恶化(429配额),会员门控补7例,门禁不通过
其他
- langgraph@251:51例/41过/10红/126.67s(R155 48/3)→ 唯一恶化项;analyze1+auto_tag5+intent4,根因429免费额度耗尽+401记忆召回key失效,/health 200 → 环境红非代码回归
- 浏览器 28/28+2skip:189 admin 5/5(EXIT=0,spec blob 4703d73fb =本机)+本机 fe6/shop4/health13;dx 2 skip(404)
- 窗口内功能合入 3d35ab714 (会员门控,前端10文件)→ 增量复验前端 624/609/3红(红例集合不变)+ 补 7 例 TC-MG-U01~U07(membershipGate 合入时零测试)
- 新增 B-156-1(nutrition_age_dosage 三重不一致:DDL 无 product_id 列却建该索引→34/34 上下文建表失败;实体 update_time 缺列;死注入)/ B-156-3(门控缺页级E2E);B-152-1/2 CI 双缺陷未修(漏拦3红类+26陈旧绿类)
- 门禁:G1 98.31%/G3/G4/G5/G6/G8/G10/G12 ✅;G2 46/G7 41-51/G9/G11/G14 ❌;G13 17 ⚠️ → 不通过(较R155收紧)
- 修 dispatch_251_pytest.cjs:改用 .venv/bin/python + 退出码先存变量再落盘(B-126 诱因)
v1.0.2372 (2026-11-11)
文档
研发负责人第127轮闭环汇报 2026-11-12 0033(池空稳态延续第27轮:状态机76键 RED0/YELLOW53(53/53 sha本轮全量IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(14h+无回执,O-24已裁决改派lan-189归测试/部署侧);SC 15/241无漂移;O-25先行裁决(sc-key-map→池打通:支持·分批渐进·证据补建任务形态)待主理人终裁;主工作树440处他人WIP零接触单文件入库)
新功能
聊天/消息类入口按有效会员隐藏(isActive 判定,不随运营开关)
v1.0.2371 (2026-11-11)
文档
研发负责人错峰轮次汇报 2026-11-11 2342(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第26轮;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(0a01a0e8a ×2/f6590c89f ×2/a8cda0169 /d9ed19ddfa 14h无回执待核实);SC 15/241无漂移;pending.md O-1~O-23全已裁决无新增,O-25建议(台账→池打通)23:37轮已提待终裁;主工作树440处他人WIP零接触单文件入库)
研发负责人巡检汇报 2026-11-11 2337 轮(稳态确认+sc-key-map→池打通 O-25 建议)
v1.0.2370 (2026-11-11)
文档
研发负责人第125轮闭环汇报 2026-11-11 2326(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15 无漂移;任务池 done141+failed1 dispatched0/pending0 结构性真空第24轮;--changes 0新键不建任务(O-7/O-18);--resume 0候选(mes-local-45278不可达);部署confirmed77/pending open6(S-cfc-137/138/140/141/139 13.8h在途,O-24已裁决改派lan-189执行归测试/部署侧);SC 15/241无漂移;pending.md O-1~O-24全已裁决无新增;主工作树439处他人WIP零接触单文件入库)
v1.0.2369 (2026-11-11)
文档
第155轮闭环——浏览器28/28(189 admin 5/5 + 本机 fe 6/shop 4/health 13)+langgraph 251实派51例48过3红(红例-1,EXIT=124未复现B-154-1观察1/2,B-142-2观察0/2)+后端/前端/管理端采信R154/R153(源码零变更)+SRS零变更G12合规;变化点langgraph 4红→3红改善+EXIT=0正常收尾触发push+通知研发
v1.0.2368 (2026-11-11)
文档
研发负责人 错峰轮298dcf47 第123轮 汇报 2026-11-11 2301(池空稳态·53 YELLOW 全 IN CHAIN·O-24 落账)
测试
其他
v1.0.2367 (2026-11-11)
文档
研发负责人第124轮闭环汇报 2026-11-11 2200(池空稳态核验第26轮:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 pending0/dispatched0 结构性真空;--changes 0新键不建任务(O-7/O-18);--resume 0候选(mes-local-45278不可达WinError10061);部署confirmed77/pending open6(S-cfc-137/138/140/141/139实现sha全在链待回执);SC 15/241无漂移;pending.md O-1~O-23全已裁决无新增;主工作树436处他人WIP零接触单文件入库)
第154轮闭环——后端采信R153强制实跑(347类/2946例/99.29%零漂移第12次)+langgraph 251实派51例47过4红(429/401,EXIT=124收尾挂起B-154-1新增)+浏览器28/28(189首轮即5/5)+fe617过602/web116/根级7过16红+全量3783/3725=98.47%; SRS零变更G12合规; 结果变化(98.49→98.47)触发push+通知研发
v1.0.2366 (2026-11-11)
文档
研发负责人错峰轮次汇报 2026-11-11 2144(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第25轮;--auto 0派发 requeue0复发;--resume 0候选;--changes 0新键不建任务(O-7/O-18);pending.md O-1~O-23全已裁决无新增;部署 pending6 在途待回执 confirmed77;主工作树436处他人WIP零接触单文件入库)
v1.0.2365 (2026-11-11)
文档
第153轮闭环(补提交)——后端347类/2946例/99.29%零漂移第11次(39:42)+langgraph@251 48/51(红3=429/401)+前端617=602/3/12+管理端116/116+浏览器28/28+根级7/16; 全量3783/3726=98.49%; 新增B-153-1(189admin首轮U05偶发复验绿); 结论不通过(G2/G7/G9/G11)
v1.0.2364 (2026-11-11)
测试
第152轮闭环——后端强制实跑55:56=347类/2946例/2925过/99.29%/17红(与R149零漂移第10次)+langgraph 251实派51例46过/5红(429+401)+浏览器28/28(189实派5/5 blob一致)+web116/fe617过602/根级7过16红+全量3783/3724=98.44%; 新增B-152-1~5(CI排除清单漏3红类必红/清单陈旧26绿类未解禁/@EnableScheduling 测试期常驻/1a2b首猜92vs100/死用例迁移闭环+1绿); SRS零变更G12合规; 结果变化触发push+通知研发
v1.0.2363 (2026-11-11)
文档
研发负责人错峰轮次汇报 2026-11-11 晚间(CFC 闭环)
v1.0.2362 (2026-11-11)
文档
研发负责人第123轮闭环汇报 2026-11-11 1934(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第23轮;--resume 0候选;--changes 0新键不建任务(O-7/O-18);pending.md O-1~O-23全已裁决无新增;SC 15/241 无漂移;部署 pending6 在途待回执 confirmed77;主工作树他人WIP零接触单文件入库)
研发负责人第122轮闭环汇报 2026-11-11 1922(池空稳态:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;--auto 0派发;--resume 0候选;--changes 0新键不建任务(O-7/O-18);pending.md O-1~O-23全已裁决无新增;研发闭环目标(全部SRS/设计/用户场景实现)已达成,剩余=测试侧 mark-green 53 YELLOW+226 SC证据;主工作树433处他人WIP零接触单文件入库)
v1.0.2361 (2026-11-11)
测试
第149轮闭环——后端强制实跑39:08=347类/2946例/2925过/99.29%/17红(与R148零漂移第9次)+langgraph 251实派51例48过/3红(B-74复燃:API key ****ab12 401+AgnesAI 429)+浏览器28/28(189实派5/5 blob一致)+web116/fe601过3红/根级7过16红+全量3782/3725=98.49%;SRS零变更G12合规;结果变化触发push+通知研发
v1.0.2360 (2026-11-11)
测试
第148轮闭环——后端强制实跑51:57=347类/2946例/2925过/99.29%/17红(与R146零漂移第8次)+langgraph 251实派51例50过/1红ConnectError(B-142-2复验未过不销号)+浏览器28/28(189实派5/5 blob一致)+web116/fe601过3红/根级7过16红+全量3782/3727=98.55%;SRS零变更G12合规;新增B-148-1网关瞬抖502;结果变化触发push+通知研发
v1.0.2359 (2026-11-11)
文档
研发负责人第108轮闭环汇报 2026-11-11 1712(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha逐键全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第24轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278不可达WinError10061);部署confirmed77/pending open6(0a01a0e8a /f6590c89f /a8cda0169 /d9ed19ddfa 09:10~09:58派发8h无回执待核实);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树433处他人WIP零接触单文件入库)
v1.0.2358 (2026-11-11)
文档
研发负责人第119轮闭环巡检汇报 2026-11-11 1650 (研发目标=全部SRS/设计/用户场景实现; 池空0新派; R2满足)
v1.0.2357 (2026-11-11)
文档
研发负责人第121轮闭环汇报 2026-11-11 1625(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第23轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278不可达WinError10061);部署confirmed77/a1ead33a1 本轮收口+1/pending open6待回执;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;唯一增量=远端测试R146/R147后端2946例99.29%零回归第7次+langgraph首次全绿;主工作树431处他人WIP零接触单文件入库)
研发负责人巡检汇报 2026-11-11 + TR-24 七键送测 (池空稳态)
v1.0.2356 (2026-11-11)
测试
第147轮闭环——langgraph 251实派51例首次全绿(0红,B-142-2疑似销号待复验)+浏览器28/28(189实派5/5)+web116/fe601过3红/根级7过16红实跑+后端采信R146(347类/2946例/99.29%/17红零回归第7次)+全量3782/3728=98.57%;SRS零变更G12合规;结果变化触发push+通知研发
文档
研发负责人第120轮闭环汇报 2026-11-11 1603(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第22轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选且实证部署根因=mes-local-45278本机不可达WinError10061(4个testing部署在途6.9h无回执);部署confirmed77/pending open6(0a01a0e8a /f6590c89f /a8cda0169 /d9ed19ddfa )+a1ead33a1 已收口;唯一增量=远端测试R146(15:06,后端2946例99.29%零回归第6次+langgraph intent转绿);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树429处他人WIP零接触单文件入库)
v1.0.2355 (2026-11-11)
文档
研发负责人第119轮闭环汇报 2026-11-11 1525(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第21轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278枚举失败WinError10061);部署confirmed77/pending open6(0a01a0e8a /f6590c89f /a8cda0169 /d9ed19ddfa 四个实现09:10~09:58派发5.5h无回执待核实)+a1ead33a1 已收口;唯一增量=测试R146(15:06,后端347类2946例99.29%零回归第6次+浏览器28/28+189实派5/5+langgraph 251实派51例49过/2红ConnectError上游,较R145的6红改善4例:intent转绿)+新增B-145-1挂账;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)
v1.0.2354 (2026-11-11)
测试
第146轮闭环——后端强制实跑347类/2946例/99.29%(17红与R145逐类逐例一致,零回归第6次)+浏览器28/28+189实派5/5+langgraph 251实派51例49过/2红(ConnectError上游,较R145的6红改善4例:intent转绿,auto_tag 3→2)+全量3782/3726=98.52%;SRS零变更G12合规;结果变化触发push+通知研发
v1.0.2353 (2026-11-11)
文档
研发负责人第118轮汇报 2026-11-11 1330(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第20轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278枚举失败WinError10061新观察);部署confirmed77/pending6/a1ead33a1 已收口;唯一增量=测试R145(80dfa4526 后端347类2946例99.29%零回归+浏览器28/28+189实派5/5+langgraph45过6红429额度耗尽+新增B-145-1建表SQL无效挂账);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)
v1.0.2352 (2026-11-11)
测试
第145轮闭环——后端强制实跑347类/2946例/99.29%(17红与R142逐类逐例一致,零回归)+浏览器28/28+189节点恢复实派5/5(G10双节点,B-189撤销)+langgraph 251实派51例45过/6红(429额度耗尽,较R144改善1例)+全量3782/3722=98.41%;新增B-145-1(nutrition_age_dosage建表SQL无效);SRS零变更G12合规;结果变化触发push+通知研发
文档
研发负责人第107轮汇报 2026-11-11 1307(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第19轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选;部署a1ead33a1 收口(远端回执7d3847e71 已推origin/cfclub)confirmed76→77/pending open7→6/last=2e1e5d32e (tasks.json滞旧63cf7455a 双账本差异);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)
v1.0.2351 (2026-11-11)
文档
研发负责人第117轮汇报 2026-11-11 1236(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0彻底清零(S-cfc-139已由第106轮收口d9ed19ddf IN CHAIN);--changes 0新键不建任务(O-7);--resume 0候选;部署pending7在途待回执/confirmed76/last=2e1e5d32e ;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)
v1.0.2350 (2026-11-11)
文档
研发负责人5 第99轮汇报 2026-11-11 1223
v1.0.2349 (2026-11-11)
文档
研发负责人错峰03第117轮闭环汇报 2026-11-11 1155(池空稳态复核轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23验收持续);--changes 0新键不建任务;--resume 2候选non-CFC不越权;部署pending7在途待回执(0a01a0e8x2/f6590c89fx2/a8cda0169 /d9ed19ddf 在途+a1ead33a1 远端已回执7d3847e71 本地未同步)/confirmed76/last=2e1e5d32e ;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树3224WIP零接触单文件入库)
测试
第144轮闭环——浏览器28/28(本机单节点)+langgraph 251实派43例36过/7红(429免费额度耗尽B-142-2恶化,非代码回归)+cfc-web 116/116采样;后端/前端采信R143(347类/2946例/99.29%);结果变化触发push+通知研发
v1.0.2348 (2026-11-11)
测试
第143轮闭环(零漂移)——浏览器28/28(189 admin 5/5)+langgraph 251实派43例40过/3红(auto_tag,ConnectError环境恶化B-142-2)+cfc-web 116/116采样;后端/前端采信R142(347类/2946例/99.29%);全量基线3782/3727=98.55%;结论⚠️有条件通过;G12 SRS零变更合规
v1.0.2347 (2026-11-11)
测试
第142轮闭环——后端全量实跑347类/2946例/99.29%(17红=存量零回归,新增AdminFamilyStatsContractTest 9/9绿)+langgraph 251实派51/50/1(429环境红)+浏览器28/28+前端616/601过/3红(预期RED)+全量3782/3727=98.55% G1首次达标;结论⚠️有条件通过;新增B-142-1(admin整族鉴权门缺失,P2安全)/B-142-2(chat 120s超时劣化)
v1.0.2346 (2026-11-11)
文档
研发负责人第106轮闭环汇报 2026-11-11 0925(S-cfc-139 实现合入轮:单文件入库合入 d9ed19ddf growth-main/index.vue 93增1删 + 回填 dayGroupView yellow_sha + S-cfc-139 归档 done;TR-28 送测复跑契约转绿;状态机76键=RED0/YELLOW53(53有sha)/GREEN8/DONE15;任务池done141+failed1+pending0;--auto 4 部署派发 testing(pub-iwintrue) pending open 6 待回执;--changes 0新键不建任务;--resume 1候选non-CFC不越权;主工作树3224WIP零接触单文件入库)
v1.0.2345 (2026-11-11)
新功能
S-cfc-139 growth.history.dayGroupView 实现使绿 - 成长主页按日期分组视图落地(单文件入库合入 cfclub 主线)
文档
v1.0.2344 (2026-11-11)
测试
R141 增量复验——S-cfc-137/138/140/141 四个GREEN落地确认(前端47红→14红,后端2契约 9/9绿);残留14红=S-cfc-134+signature.consignee AC-R1/R2
第141轮闭环——后端全量实跑346类/2937例/99.11%(22红=存量17零回归+新契约5)+langgraph 251实派51/46/5+浏览器28/28(189 admin 5/5)+全量3773/3665=97.14%;新增B-141-1(qna收集期中断)/B-141-2(LLM时延100s)/B-141-3(站点根502)
文档
研发负责人第116轮闭环汇报 2026-11-11 0835(实现收口轮:S-cfc-137/138/140/141 四键 O-16 先例回填 yellow_sha——0a01a0e8a healthPlanSummary 8红8绿/f6590c89f consigneeEditor 13红13绿/a1ead33a1 AsyncConfig 守护线程工厂/a8cda0169 AiGateway 429/401 传播,均 IN CHAIN 0不在链;状态机76键=RED0/YELLOW53(52有sha+1在途139)/GREEN8/DONE15;任务池done140+failed1+dispatched1(S-cfc-139在途08:04派发<40min不干预);--changes 0新键不建任务;--resume 1候选pub-iwintrue mes会话非CFC不越权;部署pending43全done/confirmed76/last=2e1e5d32e ;SC 241唯一跑通15无漂移;主工作树3223WIP零接触单文件入库)
v1.0.2343 (2026-11-11)
新功能
langgraph.intent.errorPropagate - AiGateway 上游 429/401 必须传播,不得静默吞 null
其他
实现使绿:
- AiGateway.chat()/chatForAnalysis():RestClientException 且为 429/401(HttpClientErrorException)时
recordFailure() 后向上抛出(传播外部服务错误,供编排降级/告警),其他失败(熔断/超时/连接失败)
仍按原语义返回 null 兜底
- 新增私有辅助 isExternalServiceError(RestClientException) 识别 429/401
- AiChatController.sendNutritionMessage:resp 为 null 时不再 NPE(chat 现在可能对 429/401 抛出,
但 429/401 场景直接由 AiGateway 抛出;null 仍是「非外部服务错误」兜底,判空更稳妥)
- AIService.sendMessage:Javadoc 补充 429/401 传播契约说明(行为不变,429/401 仍直接抛出,
由 Controller 层全局异常处理器处理;非外部服务错误仍走 emptyMap 兜底)
测试结果:LangGraphErrorPropagateContractTest 3失败→5/5通过;AiGatewayTimeoutTest 1/1 通过(零回归)
契约测试类:cfc-backend/src/test/java/com/etotem/cfc/unit/LangGraphErrorPropagateContractTest.java
v1.0.2342 (2026-11-11)
Bug 修复
AsyncConfig taskExecutor/taskScheduler 注入守护线程工厂(S-cfc-140 langgraph.pytest.exitHang)
其他
unresponsive)时非守护线程不退出导致进程无法 exit,被外部 timeout 强杀 EXIT=124
(B-135-2 同源)。为 ThreadPoolTaskExecutor/ThreadPoolTaskScheduler 注入带
namePrefix 的守护线程工厂,JVM/测试进程在调用面挂起时仍可正常退出;
AiGateway 有界 connect/read 超时已配置(LangGraphExitHangContractTest 绿锚点),
本提交仅改动线程工厂,不改超时逻辑。
验证:mvn -q -Dtest=LangGraphExitHangContractTest test 4/4 通过(原 2 失败转绿),
mvn -q -DskipTests compile 通过。
S-cfc-140
新功能
S-cfc-138 family.signature.consigneeEditor 实现使绿 - 交付 consignee-edit.vue 收件人编辑+手签名段组件(goSignature 经签名页跳转+signatureConfirm 回传写回,签名选填不拦截),signature.consignee-editor.test.js 13红13绿,routeIntegrate AC5.3 无回归
S-cfc-137 family.signature.healthPlanSummary 实现使绿 - health-plan-summary.vue 摘要组件落地(计划名/周期/项目/参与人 + confirm 回调),signature.healthPlanSummary.test.js 8红8绿
文档
dev-lead round115 report - 5 RED contracts to YELLOW + dispatch S-cfc-137~141 GREEN
v1.0.2341 (2026-11-11)
文档
TR-27 送测——S-cfc-132~136 契约测试已合入在链,请测试侧 mark-red 登记 5 键 red_sha(登记后 --auto 自动续派 GREEN 实现)
补充 JDBC 时区对齐注释(若 DB 时区变更需同步调整)
Bug 修复
P1 返工 热力对比度死区/焦点环/五维智解耦/渐变令牌派生
对齐家庭统计带口径/平台权限/silent 降级并显式时区
补齐 Login/Dashboard 主色硬编码并跟随新主色重算热力色
新功能
新增家庭运营全局聚合统计接口并对接工作台统计带
全系统主色加深至 AA 达标并解耦五维品牌色
v1.0.2340 (2026-11-10)
测试
第140轮闭环——前端红16→47(+31预期RED·S-cfc-132~136新增契约)+浏览器28/28+web116/116+langgraph本地venv38/6(251派发不可用)+R140汇报与台账
v1.0.2339 (2026-11-10)
文档
研发负责人第105轮闭环汇报 2026-11-11 0655(池空稳态延续:状态机76键=RED5/YELLOW48/GREEN8/DONE15;RED 5/5契约全量入链核验——9086c162e (S-cfc-133 merge)/a3585aa57 (S-cfc-132)/d3fe276eb (S-cfc-134)/8f5fe923e (S-cfc-136)/c8d6b0d44 (S-cfc-135)均IN CHAIN,red_sha登记属测试侧不代越;48YELLOW全在链0假黄;任务池done131+failed1+dispatched5(测试侧)+pending0;--auto实跑0派发+48 REQUEUE-SKIP-O22无复发;--changes 0新键不建任务;--resume 0候选;部署pending43全done/confirmed76/last_deployed63cf7455a;主工作树3078WIP零接触单文件入库)
第114轮汇报补正——S-cfc-133 契约 9086c162e 已合入,RED 5/5 契约全交付在链(原稿 06:44 快照记为在途)
研发负责人第114轮闭环汇报 2026-11-11 0644(池空稳态延续:状态机76键=RED5/YELLOW48/GREEN8/DONE15;测试侧RED契约4/5交付核验——a3585aa57 (S-cfc-132前端8失败)/d3fe276eb (S-cfc-134前端10红)/8f5fe923e (S-cfc-136 langgraph)/c8d6b0d44 (S-cfc-135 langgraph)均IN CHAIN,S-cfc-133在途,red_sha登记归测试侧不代越;48YELLOW全在链0假黄;任务池done131+failed1+dispatched5+pending0;--changes 0新键不建任务;--resume 0候选;5节点全idle配额10/10;部署pending43全done/confirmed76/last_deployed63cf7455a;SC 15/241无漂移;O-18/O-22/O-23已落账生效无新增待裁决)
研发负责人第113轮闭环汇报 2026-11-11 0640(错峰巡检·ce26ad68 续轮:P0派发空转根因修复——D1 merge_machine_defaults not cfg.get(f)误判显式false→机器级reuse_sessions=True覆盖(D1)/enumerate_sessions只读顶层createdAt漏嵌套time.created ms(D2)/find_idle_session年龄解析不识ms跳过过滤(D3)三叠bug致5任务三连发复用僵尸会话ses_e45f5f94假成功;修复后--auto重派S-cfc-132~136真投递5新会话5/5标题匹配token增长;项目级reuse_sessions:false已设;skill修改走O-6/O-9/O-16上报主理人复核;状态机76键RED5/YELLOW48/GREEN8/DONE15;任务池done131+failed1+dispatched5+pending0;SC 15/241无漂移;--resume 0候选;部署pending43全done/confirmed76/last_deployed63cf7455a)
测试
S-cfc-134 growth.history.dayGroupView 契约级单测(TDD-RED 10红,待GREEN实现)
S-cfc-133 family.signature.consigneeEditor RED 契约测试 —— consignee-edit.vue 收件人编辑+手签名段未落地预期13红
S-cfc-132 契约测试 family.signature.healthPlanSummary - health-plan-summary.vue 摘要组件未落地(RED 8失败待GREEN)
其他
- AC-1 状态/装配入口:dateGroups 系 data 字段 + groupByDate 系装配方法存在
- AC-2 行为级:空输入->空分组、同日合并(键 yyyy-MM-dd)、多日倒序、组内保留原记录、无效业务日期跳过
- AC-3 结构级:模板以分组集合 v-for 渲染、日期分组标题、分组空态分支
溯源 SC-P-95 + 2026-11-06 需求变更B + B-135-1;design: cfc-frontend/pages/growth-main/index.vue
(dateGroups/groupedRecords/groupByDate,实现仅在 feature 分支未落地)。
jest 实测 10 失败 / 1 跳过 / 11 总,失败原因=契约缺口,符合预期 RED。
v1.0.2338 (2026-11-10)
测试
第138轮闭环——后端全量实跑344类2928例99.28%(17红与R134零回归)+langgraph 41过/2红(429环境)+浏览器28/28(189实派5/5)+dx契约用例首次挂载(2例)+R138汇报与台账
v1.0.2337 (2026-11-10)
文档
研发负责人第112轮闭环汇报 2026-11-11 0519(错峰巡检·自动化856ff81f :状态机76键=RED5/YELLOW48/GREEN8/DONE15,RED 5=S-cfc-132~136 测试侧契约RED派发lan-189在途且契约已入链但其red_sha仍未登记(属测试侧mark-red职责);48YELLOW全在链0假黄;任务池done131+failed1+dispatched5(测试侧)+pending0;--changes 0新键不建任务;--resume 0候选;5实例lan-189在途其余idle;部署pending43全done/confirmed76/last_deployed 63cf7455a ;SC 15/241无漂移;O-18待主理人最终确认无新增待裁决)
研发负责人第111轮闭环汇报 2026-11-11 0507(池空稳态延续:状态机76键=RED5/YELLOW48/GREEN8/DONE15,RED 5=S-cfc-132~136 测试侧契约RED派发lan-189在途;48YELLOW全在链0假黄;任务池done131+failed1+dispatched5(测试侧)+pending0;--changes 0新键不建任务;--resume 0候选;5节点全idle;部署pending43全done/confirmed76/last_deployed 63cf7455a ;SC 15/241无漂移;O-18待主理人最终确认无新增待裁决)
测试
S-cfc-136 契约测试 langgraph.intent.errorPropagate - 上游429/401必须传播不得吞null(RED 3失败)
S-cfc-135 契约测试 langgraph.pytest.exitHang - LLM 调用面线程必须 daemon(RED 2 失败)
v1.0.2336 (2026-11-10)
文档
研发负责人第110轮闭环汇报 2026-11-11 0506(错峰03·稳态复核:状态机76键=RED5/YELLOW48/GREEN8/DONE15,S-cfc-132~136 RED 派发在途 lan-189;--auto 实跑 28 笔 REQUEUE-SKIP-O22 零复发=O-22/O-23 验收达成;池真空第9轮 0派发/0恢复/0新增键;部署 pending 43 全 done/confirmed 76/last_deployed 63cf7455a ;O-18/O-22/O-23 落账已裁决生效)
研发负责人第105轮闭环汇报 2026-11-11 0428(自动化ce26ad68 ·池真空第17轮续派:B-135-1前端16红3键+R135-2/B134-4 langgraph 2键共5任务入池派发lan-189,状态机76键,SC 15/241)
测试
第136轮闭环——G10双节点恢复(189 admin实派5/5)+langgraph 43例(38过/5红全429环境)+浏览器28/28零漂移+R136汇报与台账
v1.0.2335 (2026-11-10)
文档
研发负责人第103轮闭环汇报 2026-11-11 0416(本自动化856ff81f ·稳态复核:状态机71键=YELLOW48/GREEN8/DONE15/RED0、48YELLOW全在链、任务池真空第16轮、0派发/0恢复/0新增键、部署pending全done/confirmed76)
v1.0.2334 (2026-11-10)
文档
研发负责人错峰派发轮闭环汇报 2026-11-11 0404(接续第110轮只读巡检;--auto 推进12 YELLOW 键至部署验证待确认;池空0新任务;43部署待--deploy-done收口)
v1.0.2333 (2026-11-10)
测试
R135 研交通知——前端16例预期RED待交付组件(S-cfc-30/52/53)+langgraph环境红4+口径校准43例
第135轮闭环——前端3套件16例预期RED(S-cfc-30/52/53实现未交付,非回归)+langgraph口径校准43例(39过/4环境红)+浏览器28/28+R135汇报与台账
第134轮闭环——装置类16红转绿(分佣/打标/成长档案/任务方案)+S-cfc-131标签契约10例+R134汇报与台账
其他
- 前端jest 582总: 557过/16预期RED/9跳(healthPlan/consignee/growthHistory引用组件未交付)
- langgraph@251实派: 39过/4红/43例(7→4,全401/429环境,配额抖动改善);R134的51例口径当前无法复现(B-135-3)
- 浏览器28/28、web 116/116零漂移;根级黑盒7/16(B-36第34轮)
- G12达标: 食材推荐PRD 8.3指定DietRecommendationServiceTest已由181e830be 合入(536行)
- 8个需求变更文档补录场景回链附录
文档
研发负责人第110轮闭环汇报 2026-11-11 0355(池空稳态延续:RED清零/YELLOW48/GREEN8/DONE15、48YELLOW全在链、任务池done131+failed1彻底空、SC 15/241、O-23已落地无新待裁决)
研发负责人第109轮闭环汇报 2026-11-11 0345——O-23边界补强落地(S-cfc-131 requeue误复发修复:键级校验落空二次确认rec.yellow_sha=6e9a511e2 ,28笔requeue_reverted全保护,--auto实跑0 requeue)+RED清零/YELLOW48/GREEN8/DONE15、部署pending0/confirmed76、SC 15/241
v1.0.2332 (2026-11-10)
文档
研发负责人错峰轮闭环汇报 2026-11-11 0321(自动化 ce26ad68 )— S-cfc-131收口 listByTag RED→YELLOW(yellow_sha=6e9a511e2 ,契约测试7f97e9f53 全绿)、48YELLOW全在链、部署pending0/confirmed76、SC 15/241
v1.0.2331 (2026-11-10)
文档
研发负责人第102轮闭环汇报 2026-11-11 0252(自动化 856ff81f )— S-cfc-131契约测试送达7f97e9f53 全绿待mark-red、47YELLOW全在链、部署pending0/confirmed76、SC 15/241
v1.0.2330 (2026-11-10)
文档
研发负责人第100轮闭环汇报 2026-11-11 0242(自动化 54247bf9 )— RED1/YELLOW47/GREEN8/DONE15、S-cfc-131契约测试17/17全绿、47YELLOW全在链、SC 15/241
v1.0.2329 (2026-11-10)
文档
研发负责人第99轮汇报 2026-11-11 0233(池空稳态延续:71键无漂移 RED1/YELLOW47/GREEN8/DONE15、47YELLOW全在链、SC 15/241、S-cfc-131测试侧契约在途)
研发负责人第98轮汇报 2026-11-11 0230 (298dcf47 )
测试
S-cfc-131 content.article.listByTag 契约测试(实现已合入6e9a511e2 ,意外全绿 17/17)
v1.0.2328 (2026-11-10)
文档
研发负责人第108轮闭环汇报 2026-11-11 0205——O-22脚本落地(键级前置校验+revert保护+limit透传,dry-run零写盘验证)+27笔requeue受控收口(signature5=测试侧01:49已交付契约d91095be5 /guhe-diet10=转TR-18/S-cfc-100-125归档done)+终态done130-pending1-RED0新增
v1.0.2327 (2026-11-10)
测试
task.history.view 契约级单测 S-cfc-29
family.signature.landscape 契约级单测 S-cfc-51
growth.history.view 契约级单测 S-cfc-30
achievement.grid.fiveCol 契约级单测 S-cfc-32
family.signature.openPage 契约级单测 S-cfc-50
family.signature.consignee 契约级单测 S-cfc-53
family.signature.routeIntegrate 契约级单测 S-cfc-54
family.signature.healthPlan 契约级单测 S-cfc-52
v1.0.2326 (2026-11-10)
测试
第133轮闭环——B-59 admin 登录时序哨兵自处置闭环(waitForURL 替换固定等待,隔离2轮5/5)+ R133 汇报/台账推送
文档
研发负责人第107轮闭环汇报 2026-11-11 0135——O-22复发误重派账本修正(10笔恢复done/15笔契约缺口派发/3笔留待)+listByTag新RED键+2笔实现合入核验IN CHAIN
v1.0.2325 (2026-11-10)
测试
第132轮闭环——TR-25 admin.referral 契约测试 16/16 新增全绿 + R132 汇报/交接/台账推送(浏览器 28/28 维持,langgraph 非LLM 31/31 全绿,LLM 依赖 10 例 B-126 复发+429 环境阻塞,dx-bridge 2 例部署滞后观察)
第131轮新增 getArticleTags 用例(知识中心按文章标签搜索,设计规格 9e39128c6 测试同步)
v1.0.2324 (2026-11-10)
Bug 修复
横屏签名回显占满 + 商品页隐藏营养成分
家庭运营工作台 .cell-zero 令牌化并修复 AA 对比度 (2.85:1 -> 7.00:1)
其他
- hand-signature 导出时按笔迹包围盒裁剪留白(getImageData 扫描 alpha),使签名占满导出图,不再淹没在横屏画布上下留白中
- 回显 image 由 aspectFit 改 widthFix 并去掉固定高度,签名占满预览宽度(checkout/consignee-edit/组件内预填预览三处)
- 同步更新 TC-SIG2D-07 断言(传 canvas 节点 + 裁剪逻辑)
商品页需求:
- product-detail hasNutritionInfo 返回 false,整块隐藏营养成分(热量/蛋白质/脂肪/碳水/标签)
- recommendation.vue:成员切换条联动、菜品卡片操作区、删除后空/加载/失败态、翻页 scroll-view 高度修复(下滑翻页失效 BugFix)
- 新增 DietRecommendationServiceTest / QaBoundaryVerificationTest / recommendation.viewKeyAndDelete / pagination 契约测试
- 家庭食材总览分段聚合列(迁移465 基线确认 + FamilyFoodOverviewService 口径)
- cfc-langgraph meal.py:菜数要求入口 + prompt 模板软引导;seed_system_prompts.sql 同步
- 登记 API_REFERENCE.md;新增 2026-11-10 食材推荐食谱需求变更 PRD 与技术方案
- hand-signature 组件移除 requireAgree/agreeText props、agreed 状态、toggleAgree、agree-change emit 及确认拦截,回归纯签名职责(唯一引用方 signature.vue 无影响)
- signature.vue 接管 agree:新增 agreed 状态与 toggleAgree,onPageConfirm 增加 requireAgree&&!agreed 拦截
- computeCanvasHeight 因阅读同意移出画布区,预留高度统一为 134(不再按 requireAgree 分档)
- 同步更新 TC-SIG2D-02(预留统一 134)与 TC-SIG2D-08(组件已不承载 agree,页脚同行承载)
- 阅读同意勾选框由签字框上方移至签字框下方(组件内 signature-agree 块下移),与页面底部按钮成组
- computeCanvasHeight 因底部栏缩小同步下调 reserved(214/174 → 170/134),保证横屏画布不被裁剪
- 同步更新 TC-SIG2D-02 用例期望值(134/170 两档)
- 横屏字号 px 化(标题/副标题/按钮),消除 rpx 横屏放大 ~2.2 倍
- hand-signature.vue 新增 height watch 旋转后重建 2d 位图,并守卫 hasDrawn 避免书写中重建清空笔迹
- 组件路径迁至 pages/signature/components 并同步 import/测试/台账
- 测试 22/22 全绿
新功能
食材推荐-今日食谱增量变更(菜数硬保证/删除菜品/翻页修复/家庭总览聚合口径)
恢复签名页自动横屏输入 + 低危项加固
后台家庭运营主页面重设计为家庭运营工作台(设计稿+实现)
文档
研发负责人第106轮闭环汇报 2026-11-11 0005——稳态核验(RED1/YELLOW47/GREEN8/DONE15,0派发0恢复0新增键)+签名页7af780da5 /512f7f99d 两笔实现合入核验IN CHAIN归测试侧+S-cfc-131留待测试侧派发(TR-26送测延续)+场景覆盖SC15/241
研发负责人第101轮闭环汇报 2026-11-10 2342——O-22 requeue误判27键级已实现任务归档done(防误派重复开发)+S-cfc-131真新RED(content.article.listByTag)入池核验+TR-26送测契约测试补写
样式
阅读同意与底部按钮同一行,组件回归纯签名职责
横屏下缩小底部按钮并将阅读同意移至签字框下方
v1.0.2323 (2026-11-10)
文档
研发负责人 错峰03 第105轮汇报 2026-11-10 2309——稳态核验(YELLOW47/GREEN8/DONE15,0新增键,0中断)+P0缺陷修复(find_idle_session参数错配致--auto崩溃)+O-22裁决(requeue误判27个键级已实现任务待人工核对,证据已抽查在origin)
v1.0.2322 (2026-11-10)
文档
研发负责人错峰巡检汇报 2026-11-10 2230——池空稳态 + 47YELLOW对部署前沿全覆盖 + TR-25登记漏账实现 6c0f05701 admin.referral 查看
TR-25 登记——用户管理「推荐团队」查看实现 6c0f05701 已合入但零契约/零场景覆盖,请测试侧补契约级单测+e2e(研发负责人 错峰轮 2026-11-10 22:4x)
v1.0.2321 (2026-11-10)
文档
研发负责人第100轮闭环汇报 2026-11-10 22:10(池空稳态 + 0新增键 + 标签搜索实现已合入核验)
v1.0.2320 (2026-11-10)
文档
研发负责人第99轮闭环汇报 2026-11-10 21:46(池空稳态 + O-16 15键IN-CHAIN核验)
知识中心按文章标签快速搜索 设计规格与变更记录
研发负责人 第98轮闭环巡检汇报 2026-11-10 2126(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·47YELLOW全在链·部署confirmed76·SC15/241·6e9a511e2 article标签搜索新实现核验IN CHAIN归测试侧·O-18待主理人终裁沿用①口径·工作树他人WIP挂账)
其他
- 记录需求概述/现状盘点/方案设计/兼容性约束/验证与入库(commit 6e9a511e2 )/后续建议
v1.0.2319 (2026-11-10)
文档
研发负责人5 第97轮闭环巡检汇报 2026-11-10-2115
研发负责人 错峰03 第104轮汇报 2026-11-10 2105(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·部署pending未done=0·O-1~O-21全生效·B-90测试130轮销号·47YELLOW待测试mark-green·工作树3037WIP挂账)
研发负责人1 错峰轮汇报 2026-11-10 2034(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·47 YELLOW sha 对部署前沿63cf7455a 全覆盖核验·O-18已主理人最终确认·工作树3034 WIP挂账)
新功能
其他
- ArticleService 新增10参 getPublicList(位置4为tag,内存标签过滤);新增 listTopTags 聚合频次TopN
- 旧8参/9参 getPublicList 代理到10参(tag=null),McpToolRegistry 8参调用兼容
- article-center index.vue Tab从五维改为动态文章标签(全部+各标签),参数 dimensionCode→tag
- api.js 新增 getArticleTags
- 修复 ArticleControllerTest 9参stub→10参;GlobalSearchScP82ContractTest 增加8参verify显式断言
测试
第130轮测试闭环——B-90销号(langgraph live chat 9轮后首次200×2/analyze 200);后端2865例第5次逐例零漂移(33红);langgraph@251 38/43(5红全429配额);浏览器28/28(189 admin 5+本机fe6/shop4/health13);web116/fe426零红;门禁不通过(有条件):G2 54红/G9 9.9%/G11无CI
v1.0.2318 (2026-11-10)
文档
研发负责人第99轮汇报 - 2026-11-10 2018 稳态复核+B-69部署收口核验
v1.0.2317 (2026-11-10)
文档
研发负责人 2026-11-10 1934 错峰巡检汇报 - 70/70键YELLOW+,R2满足,SC15/241
测试
第129轮测试闭环——浏览器live 28/28全绿(189 admin 5/5第4轮+本机fe 6/6+shop 4/4+health 13/13);web/fe Jest 542例零红;后端2865例零漂移(33红);B-74复发确认(429变体,首跑35/43重跑37/43,配额窗口波动);B-126再现(EXIT=124);B-90延续第9轮;B-95延续;门禁不通过(有条件):G2红例/G9 9.9%/G11无CI
v1.0.2316 (2026-11-10)
文档
研发负责人 错峰轮 #96 汇报 2026-11-10 1855(池空稳态·47/47 YELLOW IN_CHAIN·S-cfc-129 DONE)
v1.0.2315 (2026-11-10)
文档
研发负责人 第103轮闭环巡检汇报 2026-11-10 1827(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·O-18 稳态口径主理人最终确认落账·47 YELLOW卡测试mark-green·工作树3026 WIP挂账)
v1.0.2314 (2026-11-10)
文档
研发负责人 第98轮闭环巡检汇报 2026-11-10 1750(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·47 YELLOW卡测试mark-green无新授权·工作树3022 WIP挂账)
测试
第128轮测试闭环——后端全量2865例98.71%(红33与R127零漂移);langgraph@251 43/43全绿(692.94s正常退出,B-74连续2轮未复现->销号);189 admin 5/5+G10双节点第3轮;B-69鉴权4/4=401连续3轮闭环;B-90延续(chat 90s零字节);门禁不通过(有条件):G2 49红/G9锚点9.9%/G11无CI
v1.0.2313 (2026-11-10)
测试
第127轮测试闭环——后端全量2865例98.71%(红33,与R123零漂移);langgraph@251 43/43全绿(B-74未复现);189 admin 5/5第2轮(B-122销号维持);G10双节点连续2轮通过;B-69连续2轮闭环;新增B-126(langgraph进程不退出)、B-90第8轮(chat/analyze 90s零字节);门禁不通过(有条件):G2 49红/G9锚点9.9%/G11无CI
v1.0.2312 (2026-11-10)
文档
研发负责人 第97轮闭环巡检汇报 2026-11-10 1648(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·B-61 代码缺口已补 ba6c0ebe6 IN CHAIN 账本滞后待线上复验·工作树3021 WIP挂账)
v1.0.2311 (2026-11-10)
文档
研发负责人第95轮汇报(16:22) + O-18 稳态处置口径裁决
其他
- 本轮零派发/零部署/零新增任务;--changes --days 7 新增能力键 0
- pending.md 追加 O-18:稳态期「确保会话已分派」处置口径裁决(不得凭空造任务,重定向测试侧放行核验)
- 报告 docs/tdd/orchestration/report-dev-2026-11-10-1622.md
v1.0.2310 (2026-11-10)
文档
测试负责人第126轮闭环汇报(langgraph@251 39/43·B-74复发4例·189 admin-live 5/5首次全绿·B-122销号)
测试负责人第125轮闭环汇报(3501/3445=98.40%·langgraph@251 43/43首次全绿·B-123销号)
其他
- langgraph@251 43 例 43 过 0 红(756.13s),B-74 连续22轮红例后首次全绿(观察第1轮)
- cfc-frontend 426(423+3skip)/ cfc-web 116 / 根级 23(7过16红 B-36)
- 后端采信 R124(源码零变更)2865/2828=98.71%
- B-123 连续3轮探针通过销号;B-121 销号后维持绿
- 台账刷新:363控制器/1969handler/覆盖442(22.5%)/@Test 2853/跨源4168
- 线上鉴权 mind/fortune、energy/overview 均401(B-69维持)
v1.0.2309 (2026-11-10)
文档
研发负责人错峰03 第102轮汇报 — B-69 部署收口(63cf7455a ) + 池空稳态
v1.0.2308 (2026-11-10)
文档
研发负责人 第101轮闭环巡检汇报 2026-11-10 1458(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·B-69部署63cf7455a testing在途待回报·工作树3018 WIP挂账)
v1.0.2307 (2026-11-10)
新功能
用户管理新增「推荐团队」查看(上级/直推/间推/团队树)
其他
- summary:用户基本信息 + 上级推荐人 + 直推/间推人数 + 团队累计佣金(复用 CommissionService 口径)
- members:L1 直推 / L2 间推分页(昵称、注册时间、消费额、贡献佣金)
- tree:按 users.referrer_id 逐层 BFS 构树(1-8 层可选),含消费额与贡献佣金
· 不用 referral_tree(生产漏写:20 直推仅落 18 条)
· 不用 MySQL 递归 CTE(当前 RDS 内部临时表不可用)
- 用户管理列表操作列新增「团队」按钮,弹窗展示概览 + L1/L2 成员 + 团队树
v1.0.2306 (2026-11-10)
文档
研发负责人闭环巡检轮汇报 2026-11-10 1416(稳态 YELLOW47/GREEN8/DONE15·池空零派发·0新增键·无新待裁决·B-69部署open pending 由部署会话处理)
v1.0.2305 (2026-11-10)
文档
测试负责人第124轮闭环汇报(3501/3444=98.37%零漂移·B-121销号·B-74根因实锤LLM凭据401)
研发负责人 2026-11-10-1402 闭环巡检轮汇报(54247bf9 自动化)
v1.0.2304 (2026-11-10)
文档
测试负责人第123轮闭环汇报(后端全量98.71%新高·251实派42/1·B-55/B-121双向纠正)
研发负责人错峰03 第101轮闭环汇报 2026-11-10 1300(池空零派发稳态 YELLOW47/GREEN8/DONE15;O-19/20/21 全裁决且 B-65/B-69 落链核验)
v1.0.2303 (2026-11-10)
文档
研发负责人1 第100轮闭环开发任务汇报 2026-11-10 1245(O-21 实质推进:B-69 落码 84239ce22 + B-65 主线方案b eeb147273 ;池空零派发稳态 YELLOW47/GREEN8/DONE15)
v1.0.2302 (2026-11-10)
文档
测试负责人第122轮闭环汇报(langgraph fix闭环 B-65/B-82 + B-69线上销号 + admin U05新增失败 B-121)
v1.0.2301 (2026-11-10)
文档
R121轮收尾补正——修正收尾基线为eeb147273 并标注研发langgraph修复为下轮复跑点
测试负责人第121轮闭环汇报(3500/3432=98.06%零漂移·B-120销号延续第3轮·B-69第21轮未修·langgraph非LLM实跑全绿)
Bug 修复
修复分析图 checkpointer 配置缺失、chat LLM 空响应兜底、pytest loop scope,并更新 LLM 网关配置
/api/mind/** 匿名白名单移除——4 端点移入 LOGIN_REQUIRED_PATHS 强制登录(401)
其他
- JwtInterceptor.java:/api/mind/alert/active、/api/mind/alert/checkin-alerts、
/api/mind/traditional/mirror、/api/mind/traditional/compatibility 从 PUBLIC_PATHS
移除,整族以 /api/mind/ 前缀移入 LOGIN_REQUIRED_PATHS(与 /api/health/plan/、
/api/xiaomi-health/、/api/huawei-health/ 同族口径)。
- 匿名(无 token)访问 /api/mind/** 直接 401(writeUnauthorized),不再匿名
(userId=-1)放行到 controller 走业务 200/400 口径漂移。
- MindFortuneControllerTest 断言改 status().isUnauthorized() + $.code==401,
匹配拦截器 writeUnauthorized 实际返回口径(HTTP 401 + {"code":401})。
验证:
- mvn -Dtest=MindFortuneControllerTest test → Tests run: 1, Failures: 0(BUILD SUCCESS)
日志证据:请求 /api/mind/fortune 需登录但无Token,拒绝 → 响应 401
- mvn -Dtest='JwtInterceptor*,ScG06JwtGuardTest' test → Tests run: 70, Failures: 0(全绿,
含参数化 JwtInterceptorLoginRequiredPathTest 32 例)
v1.0.2300 (2026-11-10)
文档
测试负责人第120轮闭环汇报(3500/3432=98.06%零漂移·B-120销号·langgraph挂起面收窄)
其他
- 前端 423/426、管理端 116/116、根级 7/23(B-36 第23轮)
- 浏览器本机 live 15/15 + health 13/13、189 首轮 5/5
- langgraph 非 LLM 子集 31/31 实跑全绿(251 实派)
- B-120 销号:189 首轮 5/5 连续 2 轮 0 偶发,满足闭环判据
- B-69 第 20 轮复证:匿名 POST /api/mind/fortune → 200/400,O-21 未落码
- langgraph 挂起面收窄:251 无 pytest-timeout,auto_tag 网络重试挂起(B-74 升级)
- SRS/场景零变更(git diff 空),跳过用例编写
- 后端全量采信 R119(本轮零 src 变更)
v1.0.2299 (2026-11-10)
文档
研发负责人闭环巡检汇报 2026-11-10-1058(池空稳态复核·YELLOW47/GREEN8/DONE15·0派发0恢复0新键)
v1.0.2298 (2026-11-10)
文档
研发负责人闭环巡检汇报 2026-11-10-1047
v1.0.2297 (2026-11-10)
文档
研发负责人第95轮汇报 2026-11-10-1010(池空稳态·47 YELLOW IN CHAIN·B-61修复已在链待线上复验收口)
v1.0.2296 (2026-11-10)
文档
研发负责人第94轮汇报 2026-11-10-0945(池空稳态·47 YELLOW IN CHAIN 核验)
v1.0.2295 (2026-11-10)
测试
第119轮测试闭环——全量3500例3432过98.06%与R118严格零漂移(后端2864例98.67% 34红15类差集空/环境红0);251实派langgraph 44例(剔test_chat 43/32/11零漂移)/189复验admin 5/5(B-120-New U05登录偶发观察第1轮);B-69第19轮线上匿名200复证O-21未落码;G-11闭环第2轮稳定销号;前端426/管理端116/根级23(16红)/浏览器28全绿
v1.0.2294 (2026-11-10)
文档
研发负责人 错峰03 第99轮闭环巡检汇报 2026-11-10 0815(O-21 bugfix 直连通道执行轮:B-65/B-69 派发 lan-204 两会话;池空零派发稳态 YELLOW47/GREEN8/DONE15)
入库 T4 探测与实现报告——2026-11-09 C档探测结论 + T4 低位补菌红线实现(规则码 no_low_side_supplement),消除既有计划文档 T4/C档表对它的死引用
同步 2026-11-08 浠艾福平台程序修改计划——合并远端 T7/T8/T9/T13/T14 完成证据(S-cfc-85/89/90/117/120,Guhe*ContractTest 5/8/7/10/8 绿),保留本地 T4 实现勾选与 C 档探测结论表(双向漂移收敛)
v1.0.2293 (2026-11-10)
测试
第118轮测试闭环——后端全量339类2864例98.67%与R117严格零漂移(34红15类逐类一致/环境红0);纠正07:10轮「mvn缺失」误判并实跑58:14(B-118);251实派langgraph 44例(含test_chat +1红,B-119口径固化)/189实派admin 5/5;HTTPS 443 502→302闭环G-11;B-69第18轮线上匿名200复证O-21未落码;前端426/管理端116/根级23(16红)/浏览器28全绿
v1.0.2292 (2026-11-10)
文档
研发负责人第99轮闭环巡检汇报 2026-11-10-0800(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;47/47 YELLOW sha 全在链待测试 TR-20/21/22 mark-green;任务池真空 done130/failed1/pending0/dispatched0;--changes 0新键 0派发 0恢复 0新增键;部署pending42全done/confirmed75 last两账本同向47d203981 /2e1e5d32ef ;5节点250会话全idle配额剩3/节点;resume dry-run 0候选;O-21 B-65/B-69已裁决待08:15黑窗解除lan-204兜底;主工作树3004WIP未代清理 单文件hash-object入库)
v1.0.2291 (2026-11-10)
文档
研发负责人第97轮错峰巡检汇报 2026-11-10-0750(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;任务池真空 done130/failed1/pending0/dispatched0;--changes 0新键 0派发 0恢复 0新增键;部署pending0/confirmed75 last=2e1e5d32e ;5节点250会话全idle配额剩3/节点;resume dry-run 0候选;SC 15/241 本轮无新增 226待测试侧证据;主工作树3002WIP未代清理;10:00后首轮发webhook勿漏)
研发负责人第96轮错峰巡检汇报 2026-11-10-0742(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;任务池真空 done130/failed1/pending0/dispatched0;--changes 0新键防假RED 0派发0恢复0新增键;部署pending0/confirmed75 last=2e1e5d32e 无新缺口;O-21裁决B-65/B-69已生效待08:15黑窗解除lan-204兜底;5节点250会话全idle配额剩3/节点;主工作树3002WIP只读核验不代清理 单文件hash-object入库)
研发负责人工作汇报 2026-11-10 07:36 第95轮 错峰巡检
v1.0.2290 (2026-11-09)
文档
研发负责人第94轮错峰巡检汇报 2026-11-10-0725(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;47/47 YELLOW 全链核验 IN origin/cfclub 0无sha 0不在链;任务池彻底清零 done130/failed1/dispatched0/pending0 --changes 0新键 O-7 不add-task;5节点250会话全idle 配额剩余3/节点;resume 1候选 S-be-286 属其他项目(iiot)命名空间不在CFC池 不越权恢复;部署 pending0/confirmed75 last=47d203981 收口 bridgeWrite DONE 15 键确认;O-21 已裁决 B-65/B-69 bugfix 直连待08:15黑窗解除 lan-204兜底探活4091 OPEN可先行;主工作树3000WIP未代清理 单文件hash-object入库)
v1.0.2289 (2026-11-09)
文档
研发负责人第93轮错峰巡检汇报 2026-11-10-0703
研发负责人错峰03第98轮闭环巡检汇报 2026-11-10 0645(只读核验+池空稳定延续:RED0/YELLOW47/GREEN8/DONE15;47键全链待测试mark-green TR20~24;池真空0新键--changes 0→0 零写盘零派发;部署pending全done未收口0/confirmed75 三提示sha逐条核验均done无漏收口;O-21裁决B-65/B-69非能力键缺口走bugfix直连通道方案a去MemorySaver+JwtInterceptor4条白名单移入LOGIN_REQUIRED_PATHS闭环判据定案 用户授权代主理人拍板生效;5节点250会话全idle;resume0候选;主工作树2999WIP未代清理)
v1.0.2288 (2026-11-09)
文档
研发负责人第98轮闭环巡检汇报 2026-11-10 0636(只读核验+池空稳定延续:RED0/YELLOW47/GREEN8/DONE15;47键全链待测试mark-green TR20~24;池真空0新键--changes 0→0 差异检验3实现提交无缺口不臆造;部署pending0/confirmed75 last_deployed=47d203981 收口;5节点250会话全idle;resume0候选;主工作树2998WIP未代清理)
v1.0.2287 (2026-11-09)
测试
第117轮测试闭环——全量3500例98.06%与R116严格零漂移(远端漂移核查5提交仅docs+版本号无源码变更);189 shell直连v2恢复实派admin 5/5(B-116闭环,G10升✅);B-117新增251会话通道退化观察(shell直连兜底43/32/11);后端34红/前端426/管理端116/E2E 28/28/langgraph 43例零漂移;派发v2工具入库
文档
研发负责人第83轮闭环巡检汇报 2026-11-10 0610
v1.0.2286 (2026-11-09)
文档
研发负责人第95轮汇报 2026-11-10 0545
研发负责人 错峰03 第97轮闭环巡检汇报 2026-11-10 0530(稳定延续轮:RED0/YELLOW47/GREEN9/DONE14;池真空--auto零派发;--deploy-done收口 47d2039815 bridgeWrite 部署验证放行;--changes 0新键 无add-task;5节点全idle;O-19/O-20 已生效无新裁决)
v1.0.2285 (2026-11-09)
测试
第116轮测试闭环——全量3500例98.06%与R115严格零漂移;后端2864例98.67%(34红15类逐类一致);前端426/管理端116/根级23/E2E 28/28全绿;251 langgraph 43例32过11红零漂移;B-116-New登记189 session通道退化(P1)
v1.0.2284 (2026-11-09)
文档
研发负责人1 第96轮闭环巡检汇报 2026-11-10 0507(稳定延续轮:RED0/YELLOW47/GREEN9/DONE14;bridgeWrite 依 B-112-Close 实测16/16绿代登记 GREEN 收口;部署 pending 1=47d203981 在途;--changes 0新键 零派发;5节点全idle;B-69/B-65 挂账待主理人裁决 langgraph/鉴权域入池)
v1.0.2283 (2026-11-09)
文档
研发负责人第72轮闭环巡检汇报 2026-11-10-0435(池空+0新键,研发实现主体达成)
研发负责人 04:16 巡检汇报 2026-11-10(CFC 闭环 · 池空稳态 · 48 YELLOW 待测试校验)
台账附录A-1 解除 S-cfc-129 预期RED登记(16/16全绿)+勘误规格文件存在性
研发负责人 错峰03 第96轮闭环巡检汇报 2026-11-10 0407(稳定延续轮:RED0/YELLOW48/GREEN8/DONE14 稳态;S-cfc-129 RED→YELLOW 闭环核验 47d20398 IN CHAIN kind=main;部署 47d20398 testing 在途未收口;--changes 0新增键 零派发;O-19/B-61 三次实测闭环落账已裁决生效)
研发负责人1 第95轮闭环巡检汇报 2026-11-10 0357(稳定延续轮:RED0/YELLOW48/GREEN8/DONE14 稳态;任务池真空 131=done130+failed1 零派发;黑窗 opcode free 全家族至 08:15 复核;部署 pending 1=47d203981 在途;--changes 0新增键;TR-20~24 待测试处理)
测试
第115轮测试闭环——后端全量2864例98.67%(红例48→34);S-cfc-130 bridgeWrite契约16/16闭环(B-112);189/251派发通道纠正后双双打通(B-113);DimensionScore夹具跟修21例转绿
v1.0.2282 (2026-11-09)
文档
研发负责人1 第94轮闭环巡检汇报 2026-11-10 0330(稳定延续轮:RED0/YELLOW48/GREEN8/DONE14 全在链;任务池真空零派发;bridgeWrite RED+YELLOW 全链路闭合 + TR-24 送测)
v1.0.2281 (2026-11-09)
文档
研发负责人 2026-11-10 03:10 闭环巡检汇报(第93轮:状态机70键稳态 RED0/YELLOW48/GREEN8/DONE14,YELLOW 48/48 IN CHAIN;任务池真空 0 pending;部署 pending 1=47d203981 在途;0派发/0恢复/0新增键;B-69/B-65 P0 挂账待裁决)
v1.0.2280 (2026-11-09)
文档
研发负责人第80轮闭环巡检汇报 2026-11-10 0257
v1.0.2279 (2026-11-09)
文档
研发负责人 2026-11-10 02:45 闭环巡检汇报(S-cfc-130 bridgeWrite 实现收口:47d203981 yellow_sha 回填、任务 done、池清零;RED0/YELLOW48/GREEN8/DONE14;YELLOW48全在链;SC 15/241)
研发负责人5 第92轮 闭环巡检汇报 2026-11-10 0230
新功能
S-cfc-130 GAP-A 桥接实现 - HealthDataSourceBridgeService 五维消费链路 + 同步引擎同事务接线 + DEVICE 注释 + 死注入解除
测试
第113轮测试闭环——浏览器E2E 28/28全绿;B-114后端契约用例闭环入库(HL-05 productOptions/select/purchaseComplete, 实跑全绿);B-90第6次复证/B-69第13轮/B-65第19轮延续登记;blockers+报告+研发通知随交
其他
- 前端 jest 423/426(3 skip)、管理端 116/116、langgraph 43/32/11(251实派零产出回退本机venv, 146.70s)、根级 23(7/16 B-36门控) 与R112零漂移
- B-114部分闭环: HealthPlanProductSelectionContractTest EXIT=0 (剩余前端Jest+E2E)
- SRS/场景变更窗口零命中, 无需改动用例
- 含02:00轮报告(report-test-2026-11-10T0203)+探针结果收口入库
v1.0.2278 (2026-11-09)
文档
研发负责人错峰轮次汇报 2026-11-10 02:24(bridgeWrite RED→YELLOW 账本修正:S-cfc-129 commit 归位 6da900595 → auto 识别契约测试并派发 S-cfc-130 实现 lan-189;RED0/YELLOW48/GREEN8/DONE14; 部署 pending41/41 done; SC 15/241)
v1.0.2277 (2026-11-09)
文档
研发负责人 2026-11-10 0143 闭环巡检汇报(单文件入库,主工作树零接触)
研发负责人错峰轮次汇报 2026-11-10 01:30(S-cfc-129 账本收口 done→池清零;RED1/YELLOW47/GREEN8/DONE14; YELLOW47全在链; 待办=bridgeWrite red_sha 主理人回填; SC 15/241)
v1.0.2276 (2026-11-09)
测试
第112轮追交——窗口内 HL-05(+1464行) 主线变更登记 + B-114 覆盖缺口(零对应用例);SRS 目录零新增判定复核
第112轮闭环——后端全量首次跑通 337类/2845例/98.17%(59:51) + 浏览器E2E 28/28 + langgraph 32/43 逐例一致;登记 S-cfc-129 14例预期RED;B-92磁盘闭环;新增B-112/B-113
第111轮遗留入库——S-cfc-115 E2E 规格 + 用例登记 + 台账重扫 + 场景缺口工单 + R111 汇报
第110轮回环——6类A类失效用例修复追交 + R109报告追交 + 251派发工具入库(E2E 28/28·langgraph 32/43·jest 双绿,零漂移)
文档
研发负责人错峰轮次汇报 2026-11-10 01:19(state RED1/YELLOW47/GREEN8/DONE14, 池空, bridgeWrite red_sha 待主理人回填)
v1.0.2275 (2026-11-09)
新功能
HL-05 产品多选一购买任务 + 购买完成生成执行任务
其他
- 后端新增 POST /api/health/plan/product-options,按方案营养板块品类给出多选一选项
(效果分取 matchScore,价格分为单位转 priceYuan;平台无匹配时追加"线下/其他渠道自选"兜底)
- 后端新增 POST /api/health/plan/product-select,确认选择后按方案每位成员各生成一条
category=购买任务 / sourceType=health_plan / isFlowTask=1 / needReview=0 的任务,
本平台商品首次确认时加购物车(同名购买任务已存在则不加购,保证幂等)
- 选择结果持久化到 plan_json.productSelection,不新增表/列(零 DDL、零迁移)
R6 购买完成生成执行任务:
- 后端新增 POST /api/health/plan/purchase-complete,购买任务置 completed 并写入
successorTaskIds,再按方案建议为各成员生成执行任务(prerequisiteTaskId/parentTaskId
指向购买任务;一次性任务写当天实例,周期任务写 is_template=1 模板行)
- 未传 purchaseTaskId 时处理该方案下全部购买任务;方案无购买任务时直接按方案生成
前端:
- 新增可复用组件 pages/health/components/ProductSelectionFlow.vue(多选一、生成购买任务、
去购物车、购买完成生成执行任务、购物车数量徽标)
- health-plan-summary.vue 集成:查看模式草案方案 + 创建流程"先保存方案立即选择产品"
两处入口;保留原「确定」直接分解任务路径作为兼容;utils/api.js 新增 3 个接口封装
文档:API_REFERENCE 4.49.3 记录 3 个新接口;PROJECT-OVERVIEW 索引同步
验证:cfc-backend mvn compile 通过;verify-vue-compile 脚本段 PASS;
audit-mp-antipatterns ERROR 0
v1.0.2274 (2026-11-09)
新功能
订单支付成功 webhook 通知(cfOrder),覆盖商品订单与会员付费
其他
- MembershipService.activateMembership 末尾挂载:会员订阅订单号/等级/周期/金额(分转元)/开通人,推送同 label
- 均 try/catch+WARN 不阻断主流程;OrderWebhookNotifyTest 5 用例验证组装与金额换算
v1.0.2273 (2026-11-09)
文档
研发负责人闭环巡检汇报 2026-11-09-2352 (RED1/YELLOW47/GREEN8/DONE14; YELLOW 47/47 全在链收敛; S-cfc-129 RED 契约 6da900595 已合入待测试 mark-red; 部署 confirmed74; SC 15/241)
v1.0.2272 (2026-11-09)
文档
S-cfc-107 guhe.p3.lowSideAggregate 验收闭环(T15 已由 S-cfc-119 并发落地,契约测试 6/6 全绿)
其他
[S-cfc-109][guhe.l1.guheV2Route] 实现 T7 guhe_v2 指纹路由要素(判定链 aidefansi→beijing→guhe_v2→standard、3 触发词锚点、32 键自检入口),GuheV2RouteContractTest 8/8 全绿
v1.0.2271 (2026-11-09)
文档
第91轮研发负责人汇报 — TR-24 接力送测 health.dataSource.bridgeWrite (S-cfc-129 RED 测试 6da900595 已产出,请测试侧 --mark-red 登记;RED1/YELLOW47/GREEN8/DONE14, deploy pending0/confirmed74)
v1.0.2270 (2026-11-09)
新功能
S-cfc-115 推荐食材健康问卷个性化调整提示条 + suitable Tab blocked 排末尾 (B1-B3) 实现使绿
v1.0.2269 (2026-11-09)
文档
研发负责人错峰轮汇报 2026-11-09-2156 (RED1/YELLOW47/GREEN8/DONE14, O-16 回填)
v1.0.2268 (2026-11-09)
文档
研发负责人闭环巡检汇报 2026-11-09-2125 (在途观察轮; RED1/YELLOW47/GREEN8/DONE14; S-cfc-129 在途lan-204; YELLOW47全在链; 部署pending0/confirmed74; SC 15/241)
v1.0.2267 (2026-11-09)
测试
RED 契约测试 health.dataSource.bridgeWrite D/X 桥接 GAP-A 未落地
其他
HealthDataSourceBridgeContractTest,断言契约所需桥接行为缺失(预期红)。
契约溯源: docs/superpowers/specs/2026-11-08-dx-health-bridge.md
- §3.1 字段映射: body.前缀剥离/未知码丢弃/body_weight双维度展开/score+percentile 直取
normalized/DEVICE(tier=2)/raw_data 直存/assess_date 取采集日
- §3.2 接线: DimensionScoreServiceImpl 死注入解除 + 触发点 A(同步内事务桥接)
- §6 拍板项: ①data_source=DEVICE ②tier=2 ③触发点A ④不加唯一索引
- §5 E-1 证据: 多行 LIFO 读最新覆盖 / 防负向回归(不覆盖 REPORT 行)
RED 结果: 16 通过 2 / 失败 14(宿主类缺失 8 + 入口缺失 + 死注入未解除 +
huawei/xiaomi 无桥接钩子 + schema 无 DEVICE 注释),其余 2 项为守则 guard(§6 ④
不加唯一索引 + 权限流不适用)通过。仅新增测试文件,未动 src/main。
v1.0.2266 (2026-11-09)
文档
研发负责人闭环巡检汇报 2026-11-09-2114 (RED1/YELLOW47/GREEN8/DONE14; 部署收口 pending0/confirmed74)
v1.0.2265 (2026-11-09)
文档
研发负责人错峰03 第81轮汇报 2026-11-09 2035(S-cfc-129 RED 派发 lan-204 + O-19/O-20 裁决确认 + 47 YELLOW 待 mark-green)
O-20 主理人拍板方案b生效(testing 部署改实例级链优先,pub-iwintrue 落 etotem/deepseek);修复已落地 skill 侧 dispatch_deploy
v1.0.2264 (2026-11-09)
Bug 修复
恢复 cfc-web CI bump 版本 + 保留部署回执文档(第90轮首推误用旧 tree,回退 47e06e135 正确版本,补回 report-deploy-2026-11-09-7366733e0 )
文档
部署回执 7366733e0 → testing 复验刷新(线上 47e06e135 ,H5 产物内容校验通过,无需降级)
研发负责人第90轮汇报 2026-11-09 2000(池空续派 S-cfc-129 桥接入池 + TR-23 送测试写契约测试;47 YELLOW 全在链待 mark-green;RED 1/YELLOW 47/GREEN 8/DONE 14;部署 pending 7366733e O-20 通道缺陷)
v1.0.2263 (2026-11-09)
文档
部署回执 7366733e0 → testing(S-cfc-126 diet.food.healthAdjustUi 已在线上 HEAD,H5 产物内容校验通过)
v1.0.2262 (2026-11-09)
文档
研发负责人第79轮工作汇报 2026-11-09 1920 (错峰闭环巡检+webhook总结; 47 YELLOW全部有sha待测试mark-green; 池空0新键防假RED; 部署pending41; SC 15/241)
v1.0.2261 (2026-11-09)
文档
第108轮研发/运维通知 — B-65/B-74/B-82 研发、B-89/B-91/B-92 运维、B-61/B-103 闭环
测试负责人第108轮执行汇报 — 前端423/0全绿(REQ6缺陷自处置闭环)、浏览器28/28、B-61健康方案鉴权闭环;langgraph 32绿/12红(251 agent失联回退本机)
测试
自处置 REQ6 失败路径用例 mock 错序;更新 blockers R108
其他
- docs/tdd/test/blockers.md: 追加第108轮阻塞更新(B-61 闭环、B-65/B-74/B-82/B-89/B-91/B-92 续轮、B-103 瞬时502)
v1.0.2260 (2026-11-09)
文档
研发负责人第88轮汇报 + O-20 部署通道缺陷登记(pub-iwintrue 无 axonhub 供应商)
TR-22 送测试侧 7 个新 YELLOW 键(guhe/diet 批次)mark-green(研发负责人 第88轮)
v1.0.2259 (2026-11-09)
文档
v1.0.2258 (2026-11-09)
文档
研发负责人第81轮工作汇报 2026-11-09 1730(2键RED->YELLOW收口:guhe.lowSide.ruleLoad=aaad839ff + diet.food.healthAdjust=ba9fd2837 ;任务池清零 done128/failed1;RED 0/YELLOW 47/GREEN 8/DONE 14;SC 跑通 15/241)
v1.0.2257 (2026-11-09)
文档
R106 回填 S-cfc-124 复核 — GuheLowSideRuleLoadContractTest 7F→10/10全绿(aaad839ff 合入后复跑);后端契约132/130/2=98.48%、合计768/735=95.70%(+16绿);补 B-98 闭环
R106 测试负责人执行汇报 — 合计768/728=94.79%较R105+9绿;后端契约132/123/9(DietFoodHealthAdjust 9红→10/10全绿,S-cfc-125 ba9fd2837 合入生效)、前端426/422/1、web116/116、浏览器28/28、根级23/7/16、251派发43/32/11零漂移;追加B-89第9轮/B-65第13轮/B-74/B-82/B-88第5次/B-92
研发负责人第77轮工作汇报 2026-11-09 1650 (错峰闭环巡检)
R105 测试负责人执行汇报 — 合计768/719=93.62%较R104+38绿;后端契约132/114/18(+7绿,GuheKbQueryLowSidePatch 8/8+KbQueryLowSideNoSupplement 6/6转绿)、前端426/422/1(+31绿,diet uiRework主体转绿)、web116/116、浏览器28/28、根级23/7/16、251派发43/32/11零漂移;追加B-89第8轮/B-65第12轮/B-74/B-82/B-88
新功能
低侧判读规则入库 T3(guhe.lowSide.ruleLoad / S-cfc-124)
S-cfc-125 implement diet.food.healthAdjust capability
其他
判读铁律常量 INTERPRET_LAW_LOW_SIDE(关联非因果)与 U 型双向口径常量
U_SHAPE_CALIBER_HINT(越低越好不成立 / 参考下限 0),并新增规则加载入口
lowSideInterpretRules() 供 L4 引擎加载
- ConditionalPathogenLowSideRules E.Coli 低侧模板补「越低越好不成立」口径短语
(保留「低就是好」不成立以兼容既有绿测),衔接 T3 L4-2 U 型双向口径
- GuheLowSideRuleLoadContractTest 10/10 绿;ConditionalPathogenLowSideRuleTest
+ UnifiedKnowledgeBaseLowSidePatchTest 14/14 绿,无回归
- HealthFilterService: add checkFoodBlocks/checkFoodWarnings/checkDietPreferenceAdjust/assessFoodAdjustment/loadDietPreferences
- HealthFilterService.loadProfile: merge lifestyle.allergySymptoms into allergies (D1)
- FoodRecommendService.getCurrentFoods: compute adjustment (blocked>warning>boost>normal) per food, emit adjustment/adjustmentReason keys
- FoodRecommendService.getCurrentFoodsAsFoodList: propagate transient fields
- BeijingNutritionService.generateIngredientList: add checkDrugInteractions call + religious diet filtering via food.dietType vs prefs.religiousDiet
All contract tests (DietFoodHealthAdjustContractTest 10/10) + regressions (FoodRecommendServiceTest 21/21, FoodRecommendMemberViewResolutionTest 6/6, ReportDietRecommendContractTest 8/8, FamilyFoodOverviewServiceTest 9/9) pass.
v1.0.2256 (2026-11-09)
文档
研发负责人第80轮汇报 2026-11-09 1620(5 键 RED->YELLOW 推进 + O-19 B-61 裁决 + backfill 账本修正)
v1.0.2255 (2026-11-09)
文档
R104 报告回填 git 提交/推送证据(9f2dad792 已推 origin/cfclub)
R104 测试负责人执行汇报 — 后端定向契约132/107/25(+4绿)、251派发恢复43/32/11、浏览器28/28;新增B-97(并发构建+磁盘满致全量两次失效)/B-91解除
S-cfc-120 T7 guhe_v2 指纹路由 [x] 复核绿(S-cfc-90 实现 7270303b5 ,GuheV2RouteContractTest 8/8)
v1.0.2254 (2026-11-09)
新功能
S-cfc-118 guhe.lowSide.noSupplement T4 低位补菌红线落地(契约 3 RED -> 6/6 GREEN)
S-cfc-127 diet.recommendation.uiRework 推荐食材页 UI 重构(去标题/4Tab/分页/我标签/生成loading)
S-cfc-123 低侧判读补丁块独立可查询(L2-2/T1, 契约 8/8 绿)
其他
「偏低不推荐补菌」口径常量(无成熟证据支持缺X→补X,L4-3)
- AttributionComplianceGate.LowSideNode: 暴露 isNoSupplement()(低侧节点恒 true,源头禁补菌,
非门禁事后回扫)
- IndicatorInterpretEngine: 偏低条件致病菌含义路径注入「偏低不推荐补菌」口径,源头拦截
「报告缺 X -> 买含 X 菌株产品」桥接
TDD: GuheLowSideNoSupplementContractTest 基线 3 RED -> 6/6 GREEN
验证: 相邻归因/门禁契约零回归(GuheEvidenceIsolateContractTest 2err 与 GuheLowSideRuleLoadContractTest
7fail 经基线对照确认为先存状态,非本键引入)
v1.0.2253 (2026-11-09)
文档
研发负责人第79轮汇报(RED7/YELLOW40/GREEN8/DONE14;7 GREEN 在途 lan-204 15:05 二次派发存活;13 键 sha 13/13 IN CHAIN 送 TR-21 测试 mark-green;0 新增键 0 新分派 0 恢复)
新功能
S-cfc-126 diet.food.healthAdjustUi 食物卡片健康问卷调整提示条 + suitable Tab blocked 排末
其他
- B2: 食物卡片按 item.adjustment 渲染提示条:blocked 红条「⚠ 健康问卷不建议:{adjustmentReason}」、
warning 黄条「注意:{adjustmentReason}」、boost 绿条「✓ 符合饮食习惯偏好」;normal/空不渲染
- B3: filteredFoods suitable Tab 中 adjustment==='blocked' 项 stable 分组排列表末尾(保持可见不置顶;
unsuitable/all Tab 位置不变仅带提示条,既有 score 排序无回归)
- B1: 既有 loadFoods object 透传保留 /api/health/foods 响应 adjustment/adjustmentReason(契约测试锁定)
- 红单测 recommendation.healthAdjustUi.test.js:14 通过(1 skip 权限占位)
v1.0.2252 (2026-11-09)
文档
研发负责人第78轮闭环巡检汇报 2026-11-09 1450(O-18③回收7零产出+二次派发lan-204+5键账本对齐done+CI现状修正)
R103 测试负责人执行汇报 — 浏览器E2E 28/28、管理端116/116 零漂移;前端实测391/32(较R102采信基线+8绿);251 langgraph派发B-91复发未实测沿用R102 43/32/11
v1.0.2251 (2026-11-09)
文档
R102 报告回填提交 sha 与推送证据(24c86e177 )
R102 测试负责人执行汇报 — 浏览器 E2E 28/28 全绿(189/204失联本机降级)、251 langgraph 43/32/11(B-96自处置+69.66s确定性取回)、Guhe 红例41→22(B-88争议解除10/12绿)、B-90第3次复证恶化(chat70s/analyze100s)
v1.0.2250 (2026-11-09)
新功能
S-cfc-122 guhe.report.personalAssert 个人层双断言键名/内容断言入口与 ND 参考常量(契约 9/9 绿)
S-cfc-121 implement G-3 evidence-code isolation
其他
- AttributionLowSideRules: add RULE_EVIDENCE_ISOLATE / EVIDENCE_PUB / EVIDENCE_KB /
EVIDENCE_COM / EVIDENCE_UNVERIFIED constants
- AttributionComplianceGate: add tagEvidence / canEnterRecommendationBasis /
isExistenceRecordOnly / isolateForRecommendation deterministic methods
Contract test GuheEvidenceIsolateContractTest: 12 run.
RED baseline: 12 run, 11 failures. After impl (pristine test): 12 run, 0 failures,
2 errors — test-helper varargs NPE at call():267 when bare null is passed to the
Object... helper (pre-existing harness defect masked in RED by earlier failing
assertion; not reachable by any src/main implementation). Null-contract branch
verified 12/12 green via a temporary one-line null-guard (NOT committed; test stays pristine).
实现 S-cfc-84(4ef901c48 , routeByFormatVersion + GUHE_V2_PARSER_SCRIPT + FORMAT_GUHE_V2 + 21/32 键界)
已合入 origin/cfclub,本任务无源码改动(按最小闭环+禁改测试纪律,不做伪实现)。
本提交仅:① 计划文档 T8 勾选并标注复核;② 新增 docs/tdd/impl-2026-11-09-S-cfc-117-guhe-l1-versionSplit.md 实现证据。
RED 登记溯源:R98 契约 41 例 RED 基线 ac4d7e97f 不含已合入实现,R101 已记「下轮以 66873f066 为基线复跑预期 41 例转绿」。
文档
研发负责人 1312 轮汇报(RED10/YELLOW37/GREEN8/DONE14;收口 2 键 YELLOW:guhe.p3.lowSideAggregate=S-cfc-119 f1a0d9908 + diet.recommendation.participantSelect=S-cfc-128 e3b5ba9c7 ;12 dispatched 在途 lan-204 二档;TR-20 37 YELLOW 送测试)
S-cfc-117 guhe.l1.versionSplit T8/L1-3 复核闭环
v1.0.2249 (2026-11-09)
新功能
S-cfc-119 guhe.p3.lowSideAggregate T15 跨案例聚合落地(契约 4 RED -> 6 GREEN)
S-cfc-128 食谱生成支持共餐人选择 diet.recommendation.participantSelect
其他
- 新增 AttributionCaseAggregateService:按「条件致病菌低侧判读」口径聚合跨案例、聚类「同策略」(aggregateLowSideStrategy),可检索「同条件致病菌低侧」应对方案;低侧机制恒 associationOnly=true(关联非因果)
- 新增 AttributionCaseStrategy 实体 + AttributionCaseStrategyMapper + attribution_case_strategies 承载表(schema.sql 同步 + DatabaseInitializer 迁移464)
- ConditionalPathogenLowSideRules 暴露 LOW_SIDE_READING_KEY(§2.2 KB 子键锚点)
确认(confirmParticipants)后调 generate 并传 participant_member_ids(familyMemberId 数组 JSON);
个人/成员视角直传当前选中成员 [currentMemberId],不弹选择。
前端契约测试 recommendation.participantSelect.test.js 9 通过 / 1 跳过(权限流不适用)。
文档
研发负责人 1305 轮汇报(RED12/YELLOW35/GREEN8/DONE14;池空+13:03互斥窗口仅产出报告;严守单文件入库)
v1.0.2248 (2026-11-09)
文档
研发负责人第76轮闭环巡检汇报 2026-11-09 1245(错峰03)
v1.0.2247 (2026-11-09)
文档
研发负责人第75轮闭环巡检汇报 2026-11-09 1215
v1.0.2246 (2026-11-09)
文档
研发负责人第74轮汇报更新 — 部署收口加急处置:pending 14→0 / confirmed 56→73 / last_deployed 修正为 testing 实际部署版本 86716f522
v1.0.2245 (2026-11-09)
文档
研发负责人第72轮汇报 — 12 GREEN 实现重派 lan-204(免费档12/12 failed → axonhub/deepseek 12/12 在跑)+ 免费档黑窗延长至11-10 08:15(P0口径)
R101 报告回填提交 sha 与推送证据
R101 测试负责人执行汇报 — 后端首次全量 96.36%(2829例/99红)、251 派发恢复(B-91闭环)、签名 v2 合入14/14绿(B-81闭环)、线上502窗口(B-93)与D盘满(B-92)登记
v1.0.2244 (2026-11-09)
新功能
S-cfc-90 T7/L1-1 guhe_v2 指纹路由 — 判定链 aidefansi→beijing→guhe_v2→standard + 触发词三锚点(疾病相似评估/厚壁菌比拟杆菌比值/亚健康及营养饮食不合理) + 32键自检入口(guheV2KeyCountCheck/GUHE_V2_KEYS_32)
S-cfc-84 T8/L1-3 按报告格式版本分流 — 32键guhe_v2走专用提取器不落LLM兜底、旧21键保留原v5流程
其他
- ReportParserDispatchService 落地 L1 指纹路由层四锚点:GUHE_V2_ROUTECHAIN 判定链常量(值含完整箭头链)、FORMAT * 四阶段常量(aidefansi/beijing/guhe_v2/standard)、三个触发词常量、GUHE_V2_KEYS_32 键数自检入口
- isGuheV2Format(text):触发词指纹识别,要求至少命中2个且必须含「疾病相似评估」(与旧21键谷禾区分,防 T8 禁强套)
- detectReportFormatVersion(text):按判定链顺序逐阶段识别格式版本
- 键数自检:GUHE_V2_KEYS_32=32(复用 ParsedReportResult,与 T8 同源)
验证:mvn compile EXIT=0;GuheV2RouteContractTest 8/8 GREEN(RED 基线 6 败 → 全绿)
- ParsedReportResult 暴露 guhe_v2 格式版本标记 FORMAT_GUHE_V2="guhe_v2" + 21/32 键数边界常量(LEGACY_KEYS_21=21 / GUHE_V2_KEYS_32=32)
- ReportParserDispatchService 新增 routeByFormatVersion 分流入口:guhe_v2(32键)→extract_guhe_v2 专用分支(禁误判路由错误→unknown/LLM兜底);旧21键/beijing/null→原 parseReport v5流程(禁强套guhe_v2)
- 契约测试 GuheVersionSplitContractTest 5/5 GREEN(含 32键不落LLM / 21键不强套 / 键数边界三断言)
C档平台现状探测(§四 待确认项,自主探测记录,不阻塞派发):
1. Adapter形态:无统一Adapter接口;L1=PdfParseService(文本,beijing/guhe)+ReportParserDispatchService(指纹→Python解析器/LLM)+ReportFingerprintService(DB指纹规则→Python引擎)。判定:新增guhe_v2分支,非重写路由。
2. KB加载方式:Java侧知识库走DB(HealthKnowledgeBase/KnowledgeBaseController);L4归因标准值取DB(AttributionNormValue/HealthNormReference/CognitiveNorm);Python侧另有rag/microbiome_loader文件加载。判定:L2改造走服务/DB接口新增,非纯文件升级。
3. L4引擎存在性:存在——service/attribution 已有 FiveDimAttributionEngine/MainCauseChainEngine/NormCompareEngine/IndicatorInterpretEngine/FalsificationEngine。判定:低侧规则补规则类,非新建规则表。
4. 合规门禁挂载点:已有门禁框架——AttributionComplianceGate(a13bb8192 ,G-1低侧红线组)+AttributionReportBuilder.sections.complianceGate。判定:G-1扩展挂 AttributionComplianceGate(L4出结论后/L5报告构建前)。
验证:mvn compile EXIT=0;mvn test -Dtest=GuheVersionSplitContractTest 5/5 GREEN;cfc-web npm run build EXIT=0(prebuild副作用 .last_build_commit 已还原)。
v1.0.2243 (2026-11-09)
文档
研发负责人第71轮闭环巡检汇报 2026-11-09 1009
v1.0.2242 (2026-11-09)
文档
研发负责人第74轮汇报 — 12个GREEN实现派发 lan-204 / 签名v2合入 ff76e1607 / B-88坐实孤儿提交重建S-cfc-121
R100 测试负责人执行汇报 — 前端实测 383/40(较 R99 陈旧基线 +11 通过)、langgraph 251 派发失败 B-91 登记
v1.0.2241 (2026-11-09)
文档
R99 研发/运维通知 — B-90 P0 复发、B-65 第8轮、B-82 intent退化、B-89 189失联
R99 测试负责人执行汇报 — admin 5/5 + frontend 6/6 浏览器自动化全绿、251 langgraph 43/32/11、B-90 251 live 60s 挂起复发风险登记、B-89 189 节点失联
v1.0.2240 (2026-11-09)
新功能
其他
onLoad/onUnload 调用、H5 降级提示 h5DegradeHint 与 .rotate-hint),保留竖屏
computeCanvasHeight(windowHeight 长边 - 固定栏),任何机型进入即竖屏可签。
S4-2 hand-signature.vue:canvas 从旧式 uni.createCanvasContext(canvas-id+draw())
重写为 type="2d" + getContext('2d') + fields({node:true}) 接口(参照 RadarChart):
- 触摸坐标优先用 2d 事件相对坐标 touches[0].x/y,不再依赖缓存 rect,笔迹不偏移;
- 绘制改同步 ctx.stroke(),笔迹实时可见(修复"画了看不到");
- 导出改用 uni.canvasToTempFilePath({canvas: _canvasNode,...}),H5 dataURL/
小程序 fs.readFile base64 既有链路不变;清空改同步 clearRect。
对外契约(props/emit/prefill image 覆盖回显)保持不变,调用方零波及。
v1.0.2239 (2026-11-09)
文档
研发负责人 错峰巡检 08:36 轮汇报 2026-11-09
v1.0.2238 (2026-11-09)
文档
R98 测试负责人执行汇报 — B-61 闭环、契约 7 类转绿、签名 v2 实现验证通过(11/11)、B-88 虚假声称登记
其他
- 浏览器 live 15/15 + health 13/13 全绿零 skip;B-61(/api/health/plan 匿名越权)闭环 P0 解除
- langgraph 251 实派:43/32/11 全环境性(B-65 x2 + B-74 x5 + B-82 x4),兜底拉取会话结果
- 签名 v2(feature/signature-canvas2d@c0db9643c )契约复验 11/11 全绿,实现待合入 cfclub
- B-88 登记:研发声称 14f238ac6 「12/12 绿」不在 HEAD 链且源码无实现(虚假声称,同 P27/P67 族)
- 前端 jest 49 红预期 RED 零漂移;cfc-web 116/116;根级 23/7/16
v1.0.2237 (2026-11-09)
测试
契约测试补全 signature.canvas2d.rewrite RED 覆盖
其他
TC-SIG2D-03c 2d data 字段 canvasWidth/Height/dpr/_rectLeft/_rectTop/_destroyed/_initTimer(预期 RED)
TC-SIG2D-02-E 导出降级链路 H5 dataURL + fs.readFile base64(既有链路 GREEN 基线锚)
实测基线(旧实现):11 failed / 3 passed / 14 total
v1.0.2236 (2026-11-09)
文档
错峰03 第73轮 O-18 主理人最终确认生效 + 研发负责人标准汇报(不含能力键名防误配)
迁移方案追加 T8.1 并行 CF automation 收敛 + 验证期开启 N≥3 日闭环稳定验证
v1.0.2235 (2026-11-08)
新功能
T9 KB 版本感知 谷禾2026新版扩展知识(11 子键)+guhe2026.2
G-2 16S 粒度拦截合规门禁 - granularity != strain 禁生成含菌株号的商品推荐 (enforceStrainBlock + scan 粒度感知重载 + no_strain_recommendation, DOC-2026-11-08-guhe-v2-T6 / guhe.gate.strainBlock) + 契约测试取值修复
L4-1 条件致病菌低侧四机制/双刃剑解释(关联非因果+U型双向)+ L4-2 参考下限0不标偏低超标(ND仅低于检出丰度)
S-cfc-89 T13 空壳率防错 实现+契约测试7绿
T1/L2-2 条件致病菌低侧判读补充(人工)作为统一知识库独立可查询子键
其他
- UnifiedKnowledgeBaseService 注册 MODULE_GUHE2026_EXT(MODULE_KEYS 13→14),importFromClasspath 覆盖式幂等不累积
- 计划文档 T9 勾选 + 实现报告(C 档 4 项探测结论)
- GuheKbVersionSenseContractTest 11/11 转绿;GuheKbFieldExposeContractTest 6/6 回归绿
四机制/双刃剑 meaning 模板(措辞源 KB L9091-9123)+ isGutFloraLowerBoundZero 判定
- NormCompareEngine.applyBandFromNorm:gut_flora 常模 p5<=0 时 LOW→NORMAL/MID/percentile=null(仅菌群常模,DAN 不受影响)
- IndicatorInterpretEngine.attachEvidence:STATUS_LOW 条件致病菌注入 meaning + setAssociationOnly(true)
- 新增 ConditionalPathogenLowSideRuleTest 10 例:L4-2 四态/L4-1 五态/参考下限0不产生归因节点/
G-1 红线(causal bridge/处方化/补菌)scan 零违规自证
- 报告 docs/tdd/orchestration/report-dev-2026-11-09-t3-lowside.md:T3 实现核验 + C 档 4 项平台探测结论
(Adapter 形态=L1-1 新增指纹分支;KB=DB主源+classpath种子;L4 引擎=补规则非新建;合规门禁=已挂 L4/L5)
实现从并发 rebase 丢弃的 WIP 悬挂提交 60f5746ec 原样恢复;未动 PdfParseService(T12)/FiveDimAttributionEngine(T14) 工作区增量。
- UnifiedKnowledgeBaseService:MODULE_LOW_SIDE_PATCH + MODULE_KEYS 12→13 + getLowSideJudgmentPatch()
- HealthKnowledgeBaseController:POST /api/health/knowledge/unified/low-side-patch
- 验收测试 UnifiedKnowledgeBaseLowSidePatchTest 4 用例(21 断言镜像全部通过)+ API_REFERENCE 端点记录
- 验证:mvn compile BUILD SUCCESS;端到端 VERIFY PASS(21/21);cfc-web build 通过
- 附带 C 档 4 项探测结论报告(Adapter/KB加载/L4引擎/合规门禁挂载点)
文档
fix impl hash in session report (120b81285 -> 688fc65f9 , rebase 落位哈希)
T6 G-2 16S 粒度拦截实现会话报告 - 实现摘要 + C档4项探测 + 契约测试修复说明 (guhe.gate.strainBlock)
v1.0.2234 (2026-11-08)
新功能
S-cfc-85 实现 T14 五维 no_path 映射(L4-4)——菌群观测对富/行自动标 no_path(attribute 扣分拦截:保持基数、低侧弱维不遮挡富/行)、心/智介导链自动加 ⚠ 并锁 G-1 关联措辞白名单、低侧口径归身维主战场;新增 noPathMap()/isNoPath()/mediationChain() 契约方法,GuheNoPathMapContractTest 10/10 转绿 + 计划文档 T14 勾选 + 实现报告(C 档 4 项探测结论)
个人层双断言(L2-4)_PERSONAL_KEYS 键名级 + 页码残段/ND 参考 内容级
其他
T12 分页残段清洗下沉(guhe.l1.pageTailClean)
(Python _strip_table_tail() 的 Java 下沉):剥离含 \d{1,3}/16\d
分页页码拼接残段(如 34/167)的残段行
- parseText() 对 guhe 报告解析前自动调用 stripTableTail(),
Adapter 调用解析即自动获得清洗(个人层丰度不混入知识层)
- 新增校验断言入口 assertTailClean()(断言清洗后残段 0 命中)
- 声明残段标记常量 PAGE_TAIL_SAMPLE(34/167)与残段断言正则
PAGE_TAIL_ASSERT_REGEX(\d{1,3}/16\d)
- 契约 GuhePageTailCleanContractTest 6/6 转绿;
同批 T13/T14 契约保持绿,T8 3 红为未实现(非本任务)
改动:
- 新增 PersonalLayerDualAssertion:写库前对个人层条目执行
1) 键名级断言(_PERSONAL_KEYS 白名单:丰度/正常范围/人群水平/检出率/状态/
说明/改善方式/评估值/参考范围,支持主体+键后缀匹配);
2) 字符串内容级断言(扫全文命中 分页残段 \d{1,3}/16\d、ND 参考、
缺X补X 知识层泄漏伪键 即判违规)。
- 新增 PersonalLayerDualAssertionTest:正样本「大肠杆菌改善方式以『苦丁茶』开头」
必须通过;分页残段/ND 参考/知识层键/缺X补X 负样本全部命中;合法含%内容不误杀。
C 档平台现状(自主探测,已记录于报告):
- Adapter 形态:已有指纹路由 ReportParserDispatchService(新增 guhe_v2 分支即可)
- KB 加载:UnifiedKnowledgeBaseService(DB 主源 + classpath 种子兜底)
- L4 引擎:service/attribution 五阶段 pipeline 已存在(补规则即可)
- 合规门禁:AttributionComplianceGate 已挂 AttributionAnalysisServiceImpl(G-1 部分落地)
验证:
- mvn -f cfc-backend/pom.xml compile → BUILD SUCCESS(2112 源文件)
- 隔离 harness:正样本 ALL_PASS + 负样本全拦截
- cfc-web vue-cli-service build → Build complete
不新增 DB 迁移。
文档
/superpowers/plans/2026-11-08-浠艾福平台程序修改计划.md。
v1.0.2233 (2026-11-08)
文档
v1.0.2232 (2026-11-08)
文档
研发负责人第87轮闭环巡检汇报 2026-11-09-0615(黑窗内第二档模型批量重派16任务+签名v2实现派发+29键sha全IN CHAIN)
测试
测试负责人 R97 执行汇报 2026-11-09 0610 — 后端首次全量实测 2802例/94.75%(143红=预期RED94+装置37+产品12) + 251 派发 pytest 43/33/10 达成(G10首次) + 浏览器 28/28 零skip(B-76/B-59闭环) + B-65定性修正(依赖版本侥幸) + B-69定位PUBLIC_PATHS + 新增B-84/85/86/87
v1.0.2231 (2026-11-08)
文档
研发负责人第73轮闭环巡检汇报 2026-11-09-0535(lan-189 失联实证:黑窗叠加连接被拒 + 17假YELLOW维持 + S-cfc-116待解禁派实现 + SC 15/241)
研发负责人第72轮闭环巡检汇报 2026-11-09-0525(17假YELLOW实证核验/黑窗至08:15双档09:15零派发 + B-77/78闭环 + SC 15/241)
研发负责人闭环巡检汇报 2026-11-09-0516(17键假YELLOW账本实证 S-cfc-98~115 lan-189 滞留 + 黑窗至09:15零派发 + SC 15/241)
v1.0.2230 (2026-11-08)
文档
研发负责人第66轮闭环巡检汇报 2026-11-09-0505(黑窗双档封禁至09:15实测 + S-cfc-106 实现回填 yellow_sha=01176a4c9 + SC 15/241)
v1.0.2229 (2026-11-08)
文档
测试负责人 R96 执行汇报 2026-11-09 0431 — 前端 41→49 红(S-cfc-97 新增 8 RED 契约) + 251 再断(B-55) + B-83 新增 + B-81 续催
研发负责人第86轮汇报 2026-11-09-0426(修正 O-18 台账表述:既有登记维持 + 黑窗解禁校准 09:15)
修复 pending.md — 恢复远端正确版本(误用主工作树旧副本覆盖,含删除既有 O-18 记录)
pending.md 补登 O-18(派发自动链断裂/黑窗兜底,研发负责人意见待主理人终裁)
研发负责人第86轮闭环巡检汇报 2026-11-09-0426 — 黑窗解禁校准 09:15 + YELLOW 28/28 复核 + O-18 台账补登
研发负责人闭环巡检 0419 轮汇报 — 18 GREEN 黑窗空转核验 + 签名 v2 实现未推(待 08:15 派) + O-18 待确认维持 + SC 15/241
研发负责人第71轮汇报(错峰03 2026-11-09 0410)— 签名 v2 契约 S-cfc-116 入池 + 18 GREEN 黑窗空转核验 + O-18 待确认维持
新功能
S-cfc-106 既有键新字段暴露 L2-3 回填(只填空不覆盖)— 菌属功能库[40]埃希氏菌属/[72]大肠杆菌/[73]脆弱拟杆菌 偏高影响/偏低影响+功能说明、菌种综合信息「埃希氏菌属」偏低侧影响、新增「艾德范思大肠杆菌」健康定植说明,使 GuheKbFieldExposeContractTest 6/6 转绿
v1.0.2228 (2026-11-08)
测试
signature.canvas2d 契约断言装置修正——01c 仅匹配调用形式(排除注释引用) + 03b 双断言(运行时格式+源码 _uid 机制);v2 实现(c0db9643c )下验证 11/11 全绿
langgraph conftest 显式 init_checkpointer + pytest-asyncio loop scope(auto_tag 5 例自 checkpointer 500 转 LLM 断言,权威验证在 251)
v1.0.2227 (2026-11-08)
文档
测试负责人 R95 研发交接通知 — B-77/B-78 解除(chat live 200 + 251 派发 pytest 44/36/8) + B-81 签名 v2 新契约 RED 9 例 + B-65/B-69 连续 5 轮催办
测试负责人 R95 执行汇报 2026-11-09 0320 — langgraph 251 实派 pytest 44/36/8(B-77 解除/B-78 解除/B-56 派发根因修正) + 签名 v2 契约 B-81(9 RED 预期) + 后端 95.68%(+66 红=Guhe 11 类预期 RED 非回归) + 前端 41 红(diet24+participant8+canvas2d9)
v1.0.2226 (2026-11-08)
文档
研发负责人 0200 轮汇报 — lan-204 wedged 回收重派 lan-248(axonhub/deepseek) + B-61 定性部署缺口(ba6c0ebe6 IN CHAIN) + YELLOW 27/27 复核 + 契约测试 13/19 备齐
TR-20 送测试侧 27 YELLOW 键复验 mark-green — 实现全部在链复核通过(0130轮)
测试
RED 契约测试 guhe.report.personalAssert 个人层双断言(键名级+内容级) 7红2绿
S-cfc-92 guhe.gate.lowSideRedline 契约测试(实现已存在 a13bb8192 ,验证转登记)
S-cfc-94 add RED contract test for 低侧判读补丁块查询 (L2-2/T1)
guhe.lowSide.ruleLoad 低侧判读规则入库 RED 契约单测 (T3/L4-1,L4-2)
S-cfc-97 add RED contract tests for 推荐食材健康问卷调整提示条与分组 (B1-B3)
diet.food.healthAdjust 契约级单测(RED,预期红)
s run: 10, Failures: 9, Errors: 0(9 条契约断言失败即 RED 达成)
其他
- 正常流:AttributionLowSideRules 应入库 四机制/RULE_U_SHAPE/RULE_REF_LOWER_ZERO 规则码 +
判读铁律 INTERPRET_LAW_LOW_SIDE(关联非因果)+ U 型口径 U_SHAPE_CALIBER_HINT +
规则加载入口 lowSideInterpretRules()
- 边界流:IndicatorInterpretEngine 对偏低大肠杆菌(参考下限 0)应按四机制判读、
全部标关联非因果、套 U 型双向口径(越低越好不成立、参考下限,不标偏低超标)
RED 验证:10 run / 9 fail / 0 error(仅权限流说明性用例通过)
溯源 2026-11-09-diet-recommendation-health-questionnaire-adjust.md §1-3(A1-A5)。
- A1: HealthFilterService 应提供 checkFoodBlocks / checkDietPreferenceAdjust,
loadProfile 并入 lifestyle.allergySymptoms(反射+Mockito 行为探测)
- A2: FoodRecommendService.getCurrentFoods 每食材输出 adjustment/adjustmentReason
- A3: Food 增加 @TableField (exist=false) 瞬态字段 adjustment/adjustmentReason
- A5: generateIngredientList 补充 checkDrugInteractions 用药维度 + dietType 宗教饮食过滤
- A4: reportId 分支快照不变(说明性用例)
验证(RED):mvn -Dtest=DietFoodHealthAdjustContractTest test
v1.0.2225 (2026-11-08)
文档
研发负责人工作汇报 2026-11-09 0130 — 68键状态机(RED19/YELLOW27/GREEN8/DONE14) + 27 YELLOW实现全在链复核 + 19 RED测试侧契约批次在途 + 新缺陷修复9e6825ef8 跟踪
食材推荐按健康问卷个性化调整 需求变更+设计
研发负责人工作汇报 2026-11-09 0054 — 68键状态机(RED19/YELLOW27/GREEN8/DONE14) + SC 15/241 + 11 dispatched RED 任务 git 实证完成 + 会话全 idle 待 hub 拾取 pending
错峰03第70轮 - O-18 裁决(自动巡检链注册/diet走hub入池/8僵尸重派)+ 研发汇报 0015
迁移方案追加 T8 巡检并入 WorkBuddy automation 落地状态
v2 实现方式重写任务书+需求变更(竖屏直签+canvas type=2d,取代 11-08 横屏适配 a7edf5698 )
Bug 修复
其他
1. 报告无成员名:PDF 未提取到姓名 → person_name 空
2. 报告列表选成员看不到:subject_id 落空(NULL),getMemberReports 按 subject_id 过滤查不到
3. 成长页饮食推荐选成员看不到食材:users.id 与 family_members.id 数值重叠时
resolveFoodIndexUserId 的 users 优先启发式把成员卡误判为无关用户
修复:
- ReportCollectService.insertReport:姓名匹配失败回退 draft.member_id;下游统一使用归一化
成员卡 id(created.subject_id);buildReportFromPayload 对空 person_name 回填成员昵称
- FoodRecommendService:新增 resolveMemberViewToUserId(成员视角 family_members.id → users.id);
recalculateForUser 写键基于报告 subject_id 权威化,规避数值碰撞
- HealthReportController /api/health/foods、FoodRecommendController /api/food/recommendation/caution:
成员视角入参先经 resolveMemberViewToUserId 归一
测试:FoodRecommendMemberViewResolutionTest 6 例全绿(成员视角解析 + 写键权威化)
granularity != strain 时禁生成含菌株号的商品推荐 (叠加 §5.2 16S 粒度声明)。
RED 探测: AttributionLowSideRules/AttributionComplianceGate 无 no_strain_recommendation
规则码; 归因模型无 granularity 维度; 门禁无 enforceStrainBlock 入口; L5 scan 不回扫菌株号。
预期红: 6 run / 5 fail (结构+行为双通道), 权限流说明性用例通过。
TDD 入池 diet.food.healthAdjust(UI) 能力键 RED 登记(S-cfc-96/97)。
溯源:用户 2026-11-09 拍板。
- guhe_v2 解析后校验增量 11 键齐全(21 旧键 + 11 增量键 = 32 键)
- 空壳(曾误用艾德范思提取器产 26 键)→ 换正确提取器 extract_guhe_v2
RED 预期:实现未落地,5 用例红(守卫入口/11 键基准/32 键边界/26 键空壳签名/提取器寻址),
2 用例说明性绿(parseReport 挂载点 + 权限流不适用)。纯反射结构契约,无 Spring/DB/外部服务。
GREEN 指引:ReportParserDispatchService 提供空壳守卫入口(方法名含 Shell/KeyComplete/ValidateKeys),
L1 层声明 11/32 键边界与 26 键空壳签名、增量 11 键集合,并寻址 extract_guhe_v2。
guhe2026-new-extension module (11 subkeys incl low-side patch subkey),
with idempotent upgrade script (importFromClasspath: overwrite, no accumulation).
RED: 9/11 fail - seed version is 2.0, extension module not registered/loaded.
测试
S-cfc-81 add RED contract tests for 16S granularity strain-block gate (T6/G-2)
S-cfc-91 guhe.gate.evidenceIsolate 证据码隔离契约测试(TDD-RED,11 红 1 绿权限流)
guhe.l1.pageTailClean 分页残段清洗下沉 RED 契约单测 (T12/L1-2)
S-cfc-89 add RED contract tests for empty-shell rate guard (T13/L1-4)
S-cfc-90 add RED contract tests for guhe_v2 fingerprint route (T7 chain aidefansi->beijing->guhe_v2->standard + trigger words + 32-key self-check)
S-cfc-88 add RED contract tests for P3 cross-case aggregate (T15 low-side reading aggregate & same-strategy retrieval)
S-cfc-87 add RED contract tests for existing-key new field exposure (T10 L2-3: genus-function-library [40]/[72]/[73] high/low impact, species-info Escherichia low-side impact, aidefansi E.coli colonization note)
S-cfc-86 add RED contract tests for low-side no-supplement redline (T4/L4-3, contract not landed)
S-cfc-85 add RED contract tests for five-dim no_path mapping (gut_flora no_path to wealth/action, mind/wisdom mediation chain locked wording, low-side body battlefield)
S-cfc-84 add RED contract tests for report format version split (T8/L1-3 old 21-key vs guhe_v2 32-key)
S-cfc-83 add RED contract tests for KB version sensing (T9 L2-1)
S-cfc-80 add RED contract tests for co-diner participant select (family opens multi-select with default all, personal passes currentMemberId)
v1.0.2224 (2026-11-08)
测试
测试负责人汇报 2026-11-09 00:30 — 后端首次全量 2664 例 98.01%(20红类/49红例/0环境红) + 签名横屏 B-75 闭环(7例) + 成长页容差守护(4例) + B-77 251 chat 挂起/B-78 251 无源码/B-79 dx 假绿修复/B-80 reset-db 凭据
v1.0.2223 (2026-11-08)
文档
研发负责人工作汇报 2026-11-08 2259 — 66键状态机稳定(RED17/YELLOW27/GREEN8/DONE14) + SC 15/241 + 测试R90-R93协同 + 189通道修复 + guhe/diet 17 RED 入池派发
v1.0.2222 (2026-11-08)
文档
第93轮研发通知 — B-75签名横屏SRS待实现(已补用例) + B-55解除(251服务恢复/派251落地) + B-76 admin非确定flaky + B-65/B-68/B-69持续催办 + B-54正式派251消除env假红
手签名横屏适配任务书+需求变更(R1高度未重算/R2 rpx横屏放大/R3 rect未刷新)
第92轮研发通知 — B-65连续4轮未修 + S-cfc-79 24 RED + B-74装置6红 + 改善通报(LLM401归零/251服务恢复/B-61 12轮零回归)
测试
测试负责人汇报 2026-11-08 22:27 — 251 langgraph 服务恢复(派251指令落地)+ 签名横屏SRS补用例(B-75)+ admin非确定flaky(B-76)+ B-55闭环
测试负责人汇报 2026-11-08 22:1x — langgraph LLM401归零(+4转绿) + B-74 测试装置6红 + B-65 精确拆分 + 三节点E2E 28/28
Bug 修复
成长页六宫格三列布局容差修复 — calc(33.333%-8rpx)→calc(33.333%-12rpx),余量 0→1.73% 防临界折行(并入自 fix/growth-grid-6col@a6ba414da )
新功能
G-1 low-side redline compliance gate - association_only enforce + no causal bridge/prescription + sections.complianceGate
v1.0.2221 (2026-11-08)
文档
错峰03 第69轮 - GAP-A 契约§6四项拍板生效(①DEVICE/②tier2/③A/④不加索引) + O-17追加 + 研发汇报
测试
189 派发通道根因定位(缺 LLM 凭证)+ 客户端触发流程修复(_dispatch_189.cjs)
v1.0.2220 (2026-11-08)
文档
研发负责人1第31轮汇报(派发链断裂识别+guhe15手动补派+O-18登记)
v1.0.2219 (2026-11-08)
测试
测试负责人汇报 2026-11-08 20:08 — 前端 S-cfc-79 24 RED(B-73) + B-61 健康鉴权 live 闭环(13/13)
v1.0.2218 (2026-11-08)
Bug 修复
按用户裁定统一三档模型链(首opencode-free/次节点绑定deepseek/末agnes-3.0); fallback_model移入config.local.json
其他
S-cfc-79: add RED contract tests for diet.recommendation.uiRework (missing top title, 4Tab layout, pagedFoods slice, visibleCount reset, selfLabel=我, generateRecipe loading)
v1.0.2217 (2026-11-08)
文档
R90 追加窗口内 SRS 变更登记(diet-recommendation-polish / dx-health-bridge / articles 异步音频)
测试
测试侧装置修复 23 例转绿(上下文数据源/Mockito 原语位/Result 读取位) + R90 门禁台账
其他
- A-4 夹具: FamilyJoinRequest 补 4 桩(5/5) + FortuneService 补 2 桩(4/4)
- A-6: ProductOrder fulfillment anyInt()/getData()/状态复位(6/6) + UpdateExpress 7 参 verify(3/3)
- 后端全量基线 2628 例 97.34%(24 红类/66 红例), 与 R89 零漂移
- 新增 B-72 线上短窗口 502 抖动; B-69/B-65 连续第 3 轮未修
- 门禁: 有条件不通过 (G2/G7/G9/G10 未达标)
v1.0.2216 (2026-11-08)
文档
研发负责人汇报 2026-11-08 18:16(第70轮·guhe_v2/diet 14 RED 入池 + 场景覆盖矩阵 15/241)
迁移方案追加 T7 会话恢复 --resume 子命令落地状态
浠艾福平台程序修改计划 v1.0(guhe_v2 兼容·知识库低侧口径·专家同步)——入池溯源锚点
迁移方案追加 T6 填槽并入 --auto 落地状态(池空提示 + 巡检 prompt 对齐 fill_slots)
新功能
发布后异步预生成朗读音频 + 正文变更作废旧音频
规划师(teacher)按 roles 列表判定身份,修复主角色为 parent 的认证规划师看不到服务中心入口
其他
- 文章更新时:朗读文本变化,或朗读文本为空时正文变化,均作废旧音频并异步重新生成
- 生成中并发保护:发布预生成与用户点听文章不重复合成,点播短暂等待缓存
- 新增单元测试:发布预生成 3 例 + 作废规则 8 例
- 新增 RolesUtil:hasTeacherRole(role, roles) 按完整角色列表判定规划师身份;
effectiveRoles(user) 保证签发 token 时首位恒为主角色(role claim 不变)、roles claim 携带完整角色集
- 小程序 token 签发(UserService×10、InviteCardService×4)改为携带完整 roles
- 40 处原 !"teacher".equals(role) 守卫改为 !RolesUtil.hasTeacherRole(role, roles),
涉及 guide/planner/health-plan/assessment/growth/article 相关控制器及 GuideFamilyAccessGuard
- GuidePlanReviewController/GuideFamilyQueryController 调用方透传 roles
- 既有契约测试补 roles=null(语义等价旧断言);新增 RolesUtilTest 与
GuideFamilyAccessGuardTest roles 放行用例;123 个受影响单测通过
前端(需人工重新打包小程序):
- api.js: 修正 getUserRoles/switchRole URL(/api/family/user/...),
新增 getTeacherInfo/getTeacherPendingTasks(指向 dashboard-stats)/getTeacherUnreadCount
- profile-main: loadTeacherIdentity 按 roles 探测规划师身份,服务中心入口/待审核提示
改用 isTeacherUser,写 teacherStatus/userRoles 至 storage
- service-center: initRole 按 roles 判定 + 状态兜底拉取,解析 dashboard-stats 待办/服务家庭数,
新增「培训认证」入口(打通 certification-center 唯一入口)
v1.0.2215 (2026-11-08)
文档
推荐食材页面改版需求变更(去标题/Tab化/互斥选中/个人改我/生成提示/前端分页/共餐人选择)
迁移方案追加 T5 派发链直连落地状态(hypothesis-.workbuddy dispatch 直连 skill)
研发负责人闭环汇报 2026-11-08-1655 — GAP-A 桥接契约补建 + O-17 确认生效
研发负责人闭环汇报 2026-11-08-1655 — GAP-A 桥接契约补建 + O-17 确认生效
Bug 修复
computeRelationshipLabel 按 family_relationships 存储约定解析辈分差
审批通过合并家庭后重载用户,防止 users.family_id 被陈旧对象回写
其他
对方是晚辈)。原实现按「对方相对查看者辈分差」解析,方向相反,导致
createRelationsForNewMember 及家庭关系列表兜底标签反转(把父辈标成女儿)。
翻转映射以与存储约定一致;新增契约级单测固化语义(6例)。
但 approveJoinRequest 持有旧 user 对象,后续 userMapper.updateById(user) 把
family_id 回写为原家庭(现象:用户124加入114后 family_id 仍为128)。
重新加载 user 并修正日志 oldFamily 取值。
v1.0.2214 (2026-11-08)
文档
迁移方案 v4 — 追加 T4 实施状态(槽位并发锁已落地验证)
v1.0.2213 (2026-11-08)
文档
迁移方案 v3 — 追加 T3 实施状态(多实例负载选路已落地验证)
研发负责人闭环汇报 2026-11-08-1630 — 账本收口(78done/1failed) + 27 YELLOW 证据复核 + GAP-A 登记 O-17(D/X 桥接缺口仅登记不实现)
测试负责人第89轮闭环汇报 - 后端全量97.34%(红66,-8)、R88定向修复3类全量确认、cfc-web契约闭环(S-cfc-77/78实现116/116全绿)、浏览器28/28零回归、全量97.38%
v1.0.2212 (2026-11-08)
文档
研发负责人闭环汇报 2026-11-08-1557 — 5 RED 键账本回填 YELLOW(S-cfc-77/78 实现合入) + B-61 收口复核 + 部署缺口登记
v1.0.2211 (2026-11-08)
文档
迁移方案 v2 — 追加 T1-T2 实施状态(实例级模型链+家族黑窗已落地验证)
研发负责人闭环汇报 2026-11-08-1500 — S-cfc-77/78 首派失败回收重派(lan-248/axonhub) + YELLOW 22/22 IN CHAIN 复核
新功能
S-cfc-78 GREEN 实现 admin.family.reportEntry/planEntry/createdAtDisplay/actionMenu
S-cfc-77 admin.familyCoupon.backToList 家庭优惠券页返回按钮
其他
- planEntry: 列表方案数=0 也渲染可点击 el-link,plans 弹窗补「代生成方案」入口(跳转 /health-plan-manage 携带 familyId)
- createdAtDisplay: 创建时间列改用 formatTime(yyyy年MM月dd日 HH:mm:ss,含时分秒)
- actionMenu: 更多下拉去掉「查看成员」「删除」,清理 handleActionCmd 对应 case
覆盖红测试: FamiliesReportEntry/PlanEntry/createdAtDisplay/actionMenu 4 specs 全部转绿(23/23)
(:back=true)并绑定 @back ,点击显式 router.push 回 /admin/families
(而非 history.back())。契约单测 3 项全绿。
漏传 memberPrice 字段,checkout.vue 的 effectivePrice 无法核减会员价。
补透传 d.memberPrice(无则 0),与购物车入口行为一致。
1 文件 1 行。
Bug 修复
优惠券跳确认订单透传 memberPrice 使会员价核减生效
v1.0.2210 (2026-11-08)
文档
hub-orchestrator 替代迁移方案(分两步收编)— 能力矩阵盘点 + T1-T8 迁移任务 + 验收/回退
测试负责人第88轮闭环汇报 - 后端首次全量97.03%(红74,-41)、B-61 P0闭环(13/13)、B-64/B-66/B-71修复(49/49)、新增B-65/B-68/B-69/B-70
v1.0.2209 (2026-11-08)
文档
研发负责人闭环巡检汇报 2026-11-08-1453 — 状态机对账(RED5/YELLOW22/GREEN8/DONE14) + S-cfc-77/78 在途 + O-7 契约前置核验
研发负责人闭环巡检汇报 2026-11-08-1450 — 池空不空闲派发 S-cfc-77/78 GREEN(5 键 RED 契约实现)
v1.0.2208 (2026-11-08)
其他
只写 config.local.json(gitignored),不得写入共享入库的 config.json;config.json 只放 model_chain。
本次移除 6 实例 fallback_model + 顶层 default_fallback_model;lan-248 链第三档校正为 agnes-ai/agnes-3.0-flash
(实测该节点 agnes 前缀为 agnes-ai/,原 agnes/ 不可命中)。
v1.0.2208 (2026-11-08)
测试
S-cfc-75 admin.family.createdAtDisplay 契约红测合入主链(创建时间列须显示时分秒 formatDateTime)
v1.0.2207 (2026-11-08)
测试
S-cfc-76 admin.family.actionMenu — RED 契约单测(更多按钮去掉查看成员/删除,4例全红)
S-cfc-74 能力键 admin.family.planEntry 契约级单测(TDD-RED,预期红 6/6)——planCount=0 可点击进方案明细 + plans 弹窗补「代生成方案」入口
S-cfc-73 能力键 admin.family.reportEntry 契约级单测(TDD-RED,预期红 6/6)——reportCount=0 可点击进报告明细 + 报告弹窗补代传报告入口
S-cfc-72 admin.familyCoupon.backToList — RED 契约单测(3例全红)
其他
溯源·需求:docs/superpowers/specs/2026-11-08-family-admin-list-polish.md §需求5
(更多按钮里去掉查看成员,家庭不能删除)
溯源·设计:Families.vue L92-96 删除 viewMembers/delete 两个 dropdown-item;
L384-390 handleActionCmd 清理对应 case;后端保留 deleteFamily API 不删。
契约断言(6例,4红2绿):
- 操作列存在 / 「更多」下拉菜单渲染(基线,绿)
- 下拉菜单不再出现 command=viewMembers(红:当前仍存在)
- 下拉菜单不再出现 command=delete(红:当前仍存在)
- handleActionCmd 不再分发 viewMembers(红:当前仍分发)
- handleActionCmd 不再分发 delete(红:当前仍分发)
当前实现未落地,预期 RED;GREEN 阶段按设计删除对应 dropdown-item 与 case 后转绿。
参考同批 S-cfc-75 Families.createdAtDisplay.spec.js 的读源码风格。
溯源:docs/superpowers/specs/2026-11-08-family-admin-list-polish.md §需求1
契约断言:
- 从家庭管理列表进入优惠券管理页时,PageHeader 渲染返回按钮(back=true)
- 点击返回按钮应 router.push 回 /admin/families(显式导航)
- 返回列表不使用 history.back(),而是 router.push 指定目标路径
当前实现未落地,预期 RED;GREEN 阶段实现后三例转绿。
参考 PageHeader 现有 idiom(OrderDetail.vue back + @back 显式 push)。
merge(S-cfc-58): family.invite.joinValidationRules 准入校验规则(MIN_BIRTHDAY+分错误文案;统一以58为基准,57/59同源实现)
- 真实姓名 trim 非空且长度 1-20 字;出生日期非空、不晚于今天、不早于 1900-01-01(不设年龄上限)
- 性别严格 male/female(大小写敏感);缺失/非法直接抛错、不落库
- 对齐 UserService.java:492-505 解析口径(规格 2026-11-07-family-join-required-info §3 AC-R3 / §5 WI-3)
- FamilyJoinValidationRulesContractTest 14/14 绿;同实现的 Gate 12/12、RequiredInfo 10/10 同步转绿
(契约 §5.2: inviteCode + 小程序码wxacode(独立团队落地页) + systemId + teamName + inviterId):
- 复用 distributionService.generateInviteCode 生成 8 位邀请码(§7.7 不新建表);
- wxacode = WechatService.generateWxacode(scene=code, page=pages/team-invite/join),
WechatService 不可用/失败时降级返回落地页路径兜底(契约仅要求非空);
- teamName = getUserTeams 解析命中体系名, 查询不可用降级空串;
- 错误透传: 体系不存在/未启用/不在体系中沿用 service message。
TeamInvitationCreateContractTest 7 用例 2 红转绿(5 边界/权限流维持绿)。
- realName null/空白/超20字、birthday null、gender 非 male|female → 拒绝加入且不落库
- birthday 晚于今天 / 早于1900-01-01 → 拒绝(年龄不设上限)
- 契约测试 12/12 全绿(FamilyJoinRequestServiceJoinValidationGateTest)
- StarScoreCalculator 补齐看板契约:starThreshold / weightedScore / gapToNextStar /
isPromotable(双门槛,兼容看板与重评两种调用约定) + 实时聚合 currentStarLevel / totalScore /
dimensionBreakdown / dualThresholdProgress / conversionRates / conversionPaths(按最易够到排序) /
twelveMonthTrajectory(读 team_star_snapshot 近 12 月,升序)/ myView 聚合
- 新增 TeamStarController:POST /api/team-star/my-view,统一 Result,@RequestAttribute userId
- 新增看板 DTO:TeamStarMyViewVO + 三维构成/双门槛进度/换算率/换算路径/轨迹点
- TeamProfitConfigService 增加 team_profit.star_conversion 换算率读取(默认 250/200/10)
- 数据源:TeamProfitStatsMapper(直接/团队/推荐收入、团队直推)+ TeamStarSnapshotMapper;
无 Spring/DB 的反射契约场景安全回退默认值
- schema.sql / team_star_snapshot(uk_user_period)与实体沿用既有实现,测试已在 origin/cfclub 绿
验证:mvn -o -Dtest=TeamStarMyViewContractTest(24/24 通过);
邻接 StarScoreCalculatorContractRedTest 10/10、TeamProfitAdminManageContractTest 20/20 通过;
TeamProfitCronContractTest.refundWithinCooling_cancelAllRecordsFundsNotPaid 为改动前既有红(已复现基线确认)。
文档
测试负责人第86轮闭环汇报 - langgraph 27→26(-1, B-54 DLL漂移)、B-51本地Chromium闭环、浏览器5/5+6/6零回归
测试负责人第85轮工作汇报 - B-61源码已修/部署滞后、B-64装置漂移、langgraph 27/43、3条用例补录
第85轮研发交接通知 - B-61 部署请求(P0)、B-64 装置漂移、langgraph环境红清单
测试负责人第85轮闭环汇报 - B-61源码已修/部署滞后、B-64新增、langgraph +1转绿、3条用例补录(S-cfc-57/58/59/60/70)
研发负责人第67轮汇报(错峰03)账本收口:S-cfc-57/58/59/60/70+B-61 改判done + 5键YELLOW回填yellow_sha
Bug 修复
S-cfc-57/58/59 统一校验实现 - 调用点前移至用户存在检查后(兼容三键契约测试设计锚点,58实现为基准)
健康方案 family 接口纳入登录鉴权 - JwtInterceptor LOGIN_REQUIRED_PATHS 补 /api/health/plan/ 前缀,匿名请求将 401(同族 /api/health/report/ 风格)
新功能
实现 team.star.digest 月度星级简报(升/降/持平 + 行动建议 + 权益)
S-cfc-58 使绿 - createJoinRequest 准入校验门禁 validateJoinRequiredInfo
S-cfc-60 team.invitation.create 生成团队邀请返回对象(含wxacode/teamName)
S-cfc-57 family.invite.joinValidationGate 加入申请前校验真实姓名/出生日期/性别
S-cfc-71 我的星级看板与差距换算(§12-T7 + §4.3.1 ①②)
S-cfc-59 家庭加入准入校验门禁 validateJoinRequiredInfo 实现(真实姓名/出生日期/性别三必填,WI-2/WI-3)
v1.0.2206 (2026-11-08)
文档
研发负责人闭环巡检汇报 2026-11-08-1205 [safe push via orphan index]
v1.0.2205 (2026-11-08)
文档
测试负责人第84轮汇报 2026-11-08 1044(同基线增量复核:frontend jest 355实跑发现B-63四文件未入库已闭环、web 90全绿、langgraph 26/43本机零漂移、B-61第6轮复现P0催办)
研发负责人闭环巡检汇报 2026-11-08-1046 [safe push via orphan index]
测试
B-63 资产入库 - 4个验收守卫测试文件(29例全绿,coupon-claimed-actions 10 / report-upload-linked-products 6 / shop-price-sort 6 / team-invite-share 7,对应 11-06 优惠券/报告卡片/价格排序/团队分享需求)
v1.0.2204 (2026-11-08)
文档
测试负责人第83轮汇报 2026-11-08 1030(三节点派发全恢复 B-56解除、admin5/5+frontend6/6+health10/13、langgraph26/43持平、O-14 test_memory装置修复推送2537b4377 、S-cfc-68/71用例补登记TC-A-27/28、B-61第5轮复现P0催办)
研发负责人第69轮汇报 2026-11-08 1018(在途观察轮:6个重派任务活跃未产出+B-61鉴权缺口确认+S-cfc-70 flash-free观察,SC 15/241)
测试
补登记 S-cfc-68/71 新能力键用例 TC-A-27/28 + 异常/权限流(team.admin.manage 分润配置/提现审核、team.star.myView 星级看板)
O-14 终裁执行 - test_memory 3 例改传 embeddings=FakeEmbeddings() 桩(MemoryManager 签名契约演进)
v1.0.2203 (2026-11-08)
文档
研发负责人第68轮汇报 2026-11-08 1015(部署收口10条confirmed34+6空转任务重派--confirm确认+契约就绪+B-61缺口复核,SC 15/241)
v1.0.2202 (2026-11-08)
文档
研发负责人第67轮汇报 2026-11-08 0915(O-14终裁生效+S-cfc-68/71双键回收回填+O-16实战验证,SC 15/241)
pending.md O-14 终裁确认(langgraph test_memory 签名变更=预期契约演进,测试侧重写 FakeEmbeddings 桩 3 例)
Bug 修复
S-cfc-71 三维构成合计改为一次性加权,与 totalScore 口径一致
新功能
S-cfc-71 我的星级看板与差距换算(§12-T7 + §4.3.1 ①②)
其他
- StarScoreCalculator 补齐看板契约:starThreshold / weightedScore / gapToNextStar /
isPromotable(双门槛,兼容看板与重评两种调用约定) + 实时聚合 currentStarLevel / totalScore /
dimensionBreakdown / dualThresholdProgress / conversionRates / conversionPaths(按最易够到排序) /
twelveMonthTrajectory(读 team_star_snapshot 近 12 月,升序)/ myView 聚合
- 新增 TeamStarController:POST /api/team-star/my-view,统一 Result,@RequestAttribute userId
- 新增看板 DTO:TeamStarMyViewVO + 三维构成/双门槛进度/换算率/换算路径/轨迹点
- TeamProfitConfigService 增加 team_profit.star_conversion 换算率读取(默认 250/200/10)
- 数据源:TeamProfitStatsMapper(直接/团队/推荐收入、团队直推)+ TeamStarSnapshotMapper;
无 Spring/DB 的反射契约场景安全回退默认值
- schema.sql / team_star_snapshot(uk_user_period)与实体沿用既有实现,测试已在 origin/cfclub 绿
验证:mvn -o -Dtest=TeamStarMyViewContractTest(24/24 通过);
邻接 StarScoreCalculatorContractRedTest 10/10、TeamProfitAdminManageContractTest 20/20 通过;
TeamProfitCronContractTest.refundWithinCooling_cancelAllRecordsFundsNotPaid 为改动前既有红(已复现基线确认)。
v1.0.2201 (2026-11-08)
新功能
S-cfc-68 能力键 team.admin.manage 管理端团队分润配置/成本价/流水查询/提现审核
其他
新增:
- TeamProfitConfigService: defaultStarTiers {0,8千,2.5万,7万,14万,25万}/getStarTiers(service_config team_profit.star_tiers 回退,非6档拒止)/比率 80/20/8/award_distribute=platform_rule/权重 50-40-10/saveStarTiers(6档校验)/saveConfig(group_key=team_profit)
- TeamProfitFlowService: queryTeamShareRecords (§7.3)/queryTeamAwardRecords (§7.4) 分页查询
- ServiceCostConfigService: getCostCent/saveCostCent (§7.5 成本价 upsert)
- TeamProfitAdminController: /api/admin/team-profit/* 8 个 @PostMapping (配置/流水/成本价/提现审核) + 平台角色门禁
修改:
- WithdrawalService: 新增 type 过滤重载 getAdminList(status,type,page,size) (§11-#7 team_share/team_award)
- DatabaseInitializer 迁移463 + schema.sql: service_cost_config 补 service_name/enabled 列(§7.5 规格列,实体已声明表缺列)
验证: mvn test -DskipTests=false -Dtest=TeamProfitAdminManageContractTest → BUILD SUCCESS 20/20(先前一次并发 cfc-web build 导致 surefire JVM 中断,独占重跑通过); cfc-web npm run build 通过
文档
研发负责人第66轮汇报 2026-11-08 0847(O-15/O-16裁决生效+脚本修复落地+5个GREEN确认执行重派,SC 15/241)
v1.0.2200 (2026-11-08)
文档
研发负责人第65轮汇报 2026-11-08 0825(黑窗解除后补派 S-cfc-71 + 派发 B-61 P0,5个GREEN二次重派在途,SC 15/241)
v1.0.2199 (2026-11-08)
文档
测试负责人第82轮汇报 + B-61第4轮P0催办 + B-59时序观察 + 台账刷新(admin 5/5复跑转绿、shop 4/4瞬态502复跑转绿、frontend 6/6、jest双绿342+90、lg 26/43持平、S-cfc-61/62/43编译通过)
v1.0.2198 (2026-11-07)
文档
研发负责人第64轮汇报 2026-11-08 0725 (复核/协调轮)
v1.0.2197 (2026-11-07)
文档
研发负责人汇报 2026-11-08 07:15 第63轮(S-cfc-61/62 回收回填 settle/hook 两键 yellow_sha + 57/58/60/68 无产出恢复 pending + TR-19 送测试,SC 15/241)
研发负责人汇报 2026-11-08 07:00 错峰03跟进轮(第62轮:backfill误配7项回滚+2键YELLOW人工回填+O-16两脚本缺陷登记+S-cfc-55/56收编+3部署收口,SC 15/241)
新功能
S-cfc-62 支付成功钩子接入 5 订单服务 6 调用点 + service_cost_config 表(契约单测转绿)
S-cfc-61 GREEN 实现 - 8份分佣+团队奖方法并入 TeamProfitService + service_cost_config 实体/Mapper(5 契约类 32 例全绿)
其他
- allocateEightShares(Long,Long,String,Long,long,long[],int[]):§4.2 #5 八份分佣,逐层 min(当期星级,剩余),金额 round(8份池×份数/8),无人层份额回流不落记录
- buildTeamAward(Long,Long,String,Long,Long,long,long,long):§4.4 #3 团队奖分档 TA0/TA1/TA2/TA3=0%/50%/80%/100%,归属平台自有团队负责人
新增 service_cost_config 建表契约的实体 + Mapper(§7.5):
- entity/ServiceCostConfig.java、mapper/ServiceCostConfigMapper.java
验证:
- 5 契约类 32 例全绿:ProfitPoolOrder 4 + TeamShareRecordEightShare 6 + TeamAwardRecord 6 + StarScoreCalculator 10(复用 S-cfc-43 实现,无冲突)+ TeamProfitSchema 6
- 无回归:TeamProfitPipeline 8(S-cfc-64)、TeamStarMultiplier 13(S-cfc-65)、TeamUserPortal 4(S-cfc-63)
v1.0.2196 (2026-11-07)
文档
研发交接通知-2026-11-08-第81轮,含B-61 P0催办路径、B-58 conftest 修复确认、B-56 通道新证据、后续复测计划
测试负责人第81轮汇报 + R80报告补推 + 阻塞台账更新(admin 5/5恢复、B-62/B-53/B-58闭环、B-61第3轮P0、B-56派发探针新证据)
v1.0.2195 (2026-11-07)
新功能
S-cfc-43 §8 定时结算与重评 GREEN - 冷静期7天自动settled入余额 + 月度星级重评升级双门槛落快照 + 退款冲正(§9#7) + StarScoreCalculator 档位/重评 + 迁移461 team_star_snapshot;修正契约测试档位边界笔误(139999=4★/140000=5★)
文档
研发负责人汇报 2026-11-08 06:10 错峰03推进轮(第61轮:9会话显式模型重派 + S-cfc-63复位误判纠正回填 + 3键YELLOW证据回填,SC 15/241)
v1.0.2194 (2026-11-07)
新功能
S-cfc-65 实现 TeamProfitService 星级倍率权重/8份池/带教里程碑/实时分润(T10 杠杆2/3/4,13 红用例转绿)
v1.0.2193 (2026-11-07)
新功能
S-cfc-63 team.user.portal 实现使绿 - 场景A注册绑定 referrerId + 邀请校验补团队业绩预览
S-cfc-64 GREEN 实现 - 分润管道化(T9 收入管道化,红→绿)
其他
- DistributionInviteController.validate:校验返回补 teamPerformance 预览键(§5.2,以团队规模 memberCount 先落结构)
- TeamUserPortalContractTest:4/4 绿(RED 2 失败 → GREEN 0 失败)
- 实体与 Mapper:profit_pool_order / team_share_record / team_award_record(规格 §7.1/7.3/7.4)
- 迁移458-460 建三张表 + schema.sql 同步
- TeamProfitPipelineContractTest 8/8 通过(RED→GREEN);ProfitPoolOrderContractRedTest 4/4 附带通过
文档
研发负责人汇报 2026-11-08 05:20 闭环巡检轮(第60轮:team.* 10键实现缺口核验 + S-cfc-60/68~71失败派发实证,O-14落账+O-15登记,SC 15/241)
v1.0.2192 (2026-11-07)
文档
研发负责人汇报 2026-11-08 05:06 闭环巡检轮(第59轮核验:19会话在途满载,RED5假红/YELLOW17/GREEN8/DONE14,O-14研发确认,SC 15/241)
研发负责人汇报 2026-11-08 05:00 闭环巡检轮(核验轮:6实例25会话满载R2满足,RED5/YELLOW17/GREEN8/DONE14,SC 15/241,O-14裁决=预期契约演进)
研发负责人汇报 2026-11-08 04:56 闭环巡检轮(会话满载 RED5/YELLOW17/GREEN8/DONE14, SC 15/241)
新功能
S-cfc-66 family.invite.joinRequiredInfoFrontend 加入申请表单补出生日期/性别必填项
family.invite.joinRequestCardInfo 审批卡片展示出生日期与性别
其他
- prefill 从 userInfo 带出 birthday/gender;submit 校验三项非空+日期格式,updateUserInfo 透传 birthday/gender
- 契约单测 join-form.required-info.test.js 由 12 失败/6 通过 → 18 通过/1 跳过
缺失时优雅回退(v-if 不渲染,避免 undefined/null 乱码)。红单测
tests /pages/family-members.joinRequestCardInfo.test.js 由 2 失败转 5 全绿。
v1.0.2191 (2026-11-07)
测试
S-cfc-44 RED 契约级单测 - 管理端团队分润配置/成本价/流水查询/提现审核(§12-T5+§7.8+§11-#12+#7)
RED 契约级单测 team.star.digest 月度星级简报(StarDigestService + team_star_snapshot 表契约)
S-cfc-43 team.profit.cron RED 契约级单测(冷静期结算/月度星级重评/升级双门槛/退款冲正,22 用例红)
S-cfc-46 RED 契约级单测 TeamStarMyViewContractTest(§12-T7 + §4.3.1 ①② 星级看板与换算,24 用例 23 红)
R79 报告 §1.4 真理证据补全推送 sha e21ba54df
R79 闭环汇报 - frontend 执行范围扩至19套件/343(14 RED=S-cfc-35/38 生日性别采集未实现) + B-62 登记 + admin/frontend/shop/health/web/langgraph 与R78一致
v1.0.2190 (2026-11-07)
测试
R78 登记 B-61 P0 健康方案鉴权缺口 + O-14 langgraph 签名变更协调单
R78 闭环汇报 - /admin 5/5 全绿打通(登录+滑块+核心菜单) + /frontend 6/6 复跑确认 + HP-U01~03 鉴权契约(P0 延续) + langgraph test_memory 用例滞后发现
R77 闭环汇报 - 后端首次全量实测 95.07% + B-58 口径重定性 + 新增6例签名用例
S-cfc-48 RED 契约级单测 team.profit.pipeline 收入管道化触发源扩展 (T9 §4.7杠杆1)
S-cfc-38 family.invite.joinRequestCardInfo RED contract tests (WI-4 审批卡片三项信息) + vue SFC jest transform
team.profit.settle 契约级单测(RED,实现未落地 32 例全红)
S-cfc-42 RED 契约单测 team.profit.hook — 6 订单服务同点位并行调用 ProfitPoolService.settle()(§12-T3+§2.2),反射结构契约,6/7 红
S-cfc-40 能力键 team.invitation.create RED 契约级单测
RED 契约级单测 team.star.multiplier 星级倍率权重(T10 杠杆2/3/4,13 用例红)
family.invite.joinRequiredInfoFrontend RED 契约级单测(join-form 出生日期/性别必填)
S-cfc-45 team.user.portal TDD-RED 契约级单测(场景A推荐人绑定缺失 referrerId=null + 邀请校验缺团队业绩预览 2 RED/4)
家庭加入准入校验门禁契约级测试(TDD-RED) - family.invite.joinRequiredInfoTest
S-cfc-37 RED 契约级单测 FamilyJoinValidationRulesContractTest(AC-R3/WI-3 准入校验门禁未落地,9 用例红)
RED 契约级单测 family.invite.joinValidationGate 准入门禁
其他
- B-53 第4次量化:13文件 170例/48红 → 187例/6红,42例转绿+17例新增,预测96.83%
- B-58 重定性:clean树 langgraph 43收集/26过/17红(13环境+3夹具+1数据),WIP 8文件为修复补丁非刷绿
- 新增 B-59(admin TC-A-U05 条件跳过掩盖失败)、B-60(ActivityControllerTest 412s)
- 新增 6 例 signature-bus 用例,绑定 e35ca7186 签名独立横屏页(WI-1/WI-4)
溯源:2026-11-07-referral-team-profit-sharing.md v0.7 §12-T2 + §2.1 分配公式
+ §4.2 8份分配(#5拍板 每层min(星级,剩余) 最多6份 最少2层)+ §4.3 星级
+ §4.4 团队奖(#3拍板 platform_rule)+ §7.1/7.3/7.4/7.5 建表
新增契约级单测(仅测试代码,src/main 零改动;反射定位契约类/方法,
类缺失以断言失败暴露 RED 而非编译失败,GREEN 落地后自动转行为校验):
- ProfitPoolOrderContractRedTest 4 例:§2.1 总账 S=1000元/C=800元 →
P=20000/O=2000/F=1000/D=17000/R=11900/T=5100/8份池4080/团队奖1020;
预算守恒 R+T=D、8份+团队奖=T;D≤0 不触发分润仅落单;逐项 round 不留尾差
- TeamShareRecordEightShareContractRedTest 6 例:§4.2 8份分配 6★/1★/1★ →
3060/510/510 分;6★+2★ 最少2层分完;min(星级,剩余) 封顶;全1★剩余回流;
无引荐人仅本人;§7.3 契约列携带
- TeamAwardRecordContractRedTest 6 例:§4.4 团队奖 TA0~TA3 分档
(0%/50%/80%/100%)门槛边界 + awardCent 取整 + #3 归属平台自有团队
- StarScoreCalculatorContractRedTest 10 例:§4.3 业绩分 50/40/10 加权、
星级六档边界 0/8千/2.5万/7万/14万/25万、升级双门槛(业绩分达标 AND 直推≥1)
- TeamProfitSchemaContractRedTest 6 例:§7 四表实体 @TableName 与建表名一致、
Mapper 继承 BaseMapper<实体>、§7.1/7.3/7.4/7.5 业务列字段覆盖
运行结果(RED):Tests run: 32, Failures: 32, Errors: 0 —— 全部失败:
'RED: 契约类未实现 [§12-T2] com.etotem.cfc.service.ProfitPoolService'
(及 TeamProfitService/StarScoreCalculator/四实体/四 Mapper 同型断言)
暴露真实缺陷:无(纯 RED,T2 实现未落地,cfclub 基线无相关类/表);
权限流 N/A(T2 为服务层契约,无 HTTP 端点/角色)。
构建结果:mvn test-compile 通过;测试运行 BUILD FAILURE(预期红)。
主体为 org.mockito mock + 反射,不依赖真实微信/外部服务。
§5.1/5.2/5.3(团队邀请生成→inviteCode+小程序码wxacode+落地页) + §7.7(复用
distribution_relations.invite_code) + §11-#11(独立落地页) + §12-T1。
被测 DistributionInviteController#generate(POST /api/distribution/invite/generate)。
正常流断言 data 为邀请对象(含 inviteCode/wxacode/systemId/teamName/inviterId),
现实现仅返回 Result(裸邀请码)→ 2 用例红;边界/权限流 5 用例绿。
仅测试代码, 不改 src/main。
§12-T10 + §4.7.2 杠杆2/3/4 + §11-#14 + §10#5。
契约断言(宿主 TeamProfitService 未实现 → 全部 RED):
- 杠杆2 倍率表:1★=1.0/2★=1.0/3★=1.2/4★=1.5/5★=2.0/6★=3.0;权重 W=星级×倍率
- 杠杆2 数学校验:6★(W=18)+1★+1★ 总W=20 → 3672/204/204 分(Σ=4080=T×80% 只重分不增量)
- 杠杆2 边界:全6★/全1★ Σ=8份池;层无人份额回流不私发(Σ≤8份池)
- 杠杆3 星耀导师:带出1名5★→档位+1;2名→100%上限+年度星耀会候选人
- 杠杆4 实时可见:订单完成返回本单分润(pending 可见);D≤0 分润=0
- 权限流:不适用(平台服务团队归属口径,无外部引荐链鉴权分支)
暴露真实缺陷:TeamProfitService(8份池星级权重分配/带教里程碑/实时分润)实现未落地。
仅测试代码,src/main 一行未动。
- 正常流:realName/birthday/gender 齐全合法 -> 请求正常创建
- 缺失流:三项任一缺失 -> 拒绝且不落库
- 非法流:生日未来/极早、姓名超20字、性别大小写混用 -> 拒绝且不落库
仅测试代码,未改业务实现。当前 RED:9失败1通过(门禁未落地)。
- 正常流+边界:三项齐全、姓名 1/20 字、生日=今天、生日=1900-01-01 → 创建待审批请求
- 纯 Mockito 无外部依赖;src/main 零改动
- AC2.1/2.2/2.3: realName 空 / birthday null / gender 非 male|female → 拒绝且无 DB 记录
- AC3.1: birthday 未来 → 「出生日期不能晚于今天」;AC3.2: 早于 1900-01-01 → 「出生日期不合法」
- AC3.3: realName >20 字拒绝;AC3.4: gender 大小写混用/其他值拒绝
- AC2.4/AC-R4: 三项齐全合法 → 正常创建待审批请求
- 仅测试代码,src/main 零改动
v1.0.2189 (2026-11-07)
文档
研发负责人第59轮闭环汇报 2026-11-08-0210 | 15个RED真缺口重派成功(axonhub/deepseek×12+axon/deepseek×3,避开opencode免费额度档)·假RED 5键转TR-18·earnings 2键YELLOW不派·B-53/58 WIP收口(19文件SYNC)·状态机44键·场景15/241
新功能
HL-03/R2+R3 归因方案先行(签名后先出归因/确认后生成) + 生成不确定点对话补充(followUpQuestions逐题询问回传二次生成)
v1.0.2188 (2026-11-07)
新功能
HL-04/R4 方案板块对话式调整(自然语言意图 → 局部微调)
其他
- Backend: HealthPlanController 新增 POST /api/health/plan/adjust(adjustSection)+ Service 层 adjustPlanSection(RestTemplate 转发 LangGraph;AI 不可用返回 null → 控制器 500 'AI 调整服务暂不可用',绝不覆盖用户内容)
- Frontend: health-plan-summary.vue 新增对话式调整聊天面板(dialogueRounds/canSendDialogue/sendDialogueAdjust/resetDialogue,切板块/退出编辑清空),与 textarea 并存;顺带修复 regenerateCurrentSection 发送 existing_section_content 与后端 planJson 键名错配(现改发 planJson)
- 契约测试: adjust 正常/参数缺失/AI 降级 3 用例(总数 34,全绿)
- 文档: API_REFERENCE.md 新增 4.49.1 对话式调整;cfc-web build 通过
文档
研发负责人第58轮闭环巡检汇报 2026-11-08-0116 | 稳态核查·并发满+模型冷却无派发·family.signature 5键假RED识别(实现e35ca7186 已在链→TR-18转测试侧)·22RED复位待重派·状态机44键·场景15/241
v1.0.2187 (2026-11-07)
文档
研发负责人汇报 2026-11-08 凌晨闭环轮(22 RED 任务因模型额度耗尽复位待重派;状态机 44 键)
v1.0.2186 (2026-11-07)
文档
测试
R76 闭环汇报 + B-58 langgraph WIP 漂移通知 (2026-11-08)
新功能
内嵌手写签名改为全屏横屏独立签名页 + eventChannel 回传(WI-1~WI-5 + checkout 第三处)
其他
- 新增 utils/signature-bus.js:初始签名回显(module 级 prefill,onLoad consume 后清空);requireAgree/agreeText 走 URL 参数
- pages.json 注册 pages/signature 分包(navigationStyle custom + navigationBarTitleText 签名)
- health-plan-summary.vue / consignee-edit.vue / checkout.vue:移除内嵌 hand-signature,改预览图 + 去签名/重新签名按钮 → navigateTo 签名页,事件写回 signatureDataUrl / form.handSignature / purchaseForm.hand_signature
- 达成 AC5.3:全局再无业务页内嵌 hand-signature(hand-signature.vue 只读复用,未改动)
v1.0.2185 (2026-11-07)
Bug 修复
restore cfc-web version/changelog auto-bump (4468173d0 ) reverted by report push; + report-dev-2026-11-07-2355
文档
研发负责人第78轮闭环巡检汇报 report-dev-2026-11-07-2355 | 复核轮确认快照无delta·会话利用率核实·15/241
v1.0.2184 (2026-11-07)
文档
研发负责人闭环巡检汇报 report-dev-2026-11-07-2345 | earnings 2键实现收口(RED→YELLOW 239710c47 ,kind=main)+EVD-17产出全量合入核验+35fc0e8eb 部署核验闭环 | 状态机DONE14/GREEN8/YELLOW2/RED20 | 241SC/15跑通
v1.0.2183 (2026-11-07)
其他
HL-02: R1 方案预览板块可点击进入编辑(2026-11-07)
v1.0.2182 (2026-11-07)
文档
订正HL-01规格§三.6 created_at→submitted_at(2026-11-07)
第75轮报告回填提交sha 8e8d49552 (已推origin/cfclub 0/0)
其他
HL-01 fix: 健康阅卷还原键名错配+memberId口径统一
HL-01: 健康方案默认选本人+问卷代入自己+健康阅卷入口(2026-11-07)
- B-53 量化: 带研发WIP同11类 170例 48红→6红(42例可转绿), 后端可达96.79%, 第三次催办
- 浏览器+契约 25/25 全绿(admin 5/5, frontend 6/6, 健康契约 10/10, 商城排序 4/4)
- langgraph 59绿/0红/12skip(+8); frontend 313; web 90
- 新增用例 18例: TC-C16-01~05(C-16裁剪) TC-C10-01~06(C-10通知) TC-FA-18~24(家庭加入身份)
- blockers: 新增 B-57(用例断言错设已自处置), B-53 量化证据
测试
第75轮 全量实测 2903例/2784过=95.90% + 新增18例SRS用例
v1.0.2181 (2026-11-07)
文档
财富中心贡献榜管理员口径以role为准(需求变更+实现任务书)
研发负责人闭环巡检汇报 report-dev-2026-11-07-2225 | 20个新RED入池(S-cfc-35~54 家庭准入/团队分润/签名横屏)核验+部署账本纠正(last_deployed 5073a5013 误写→7f1c238cd )+35fc0e8eb 部署核验在途 | 状态机DONE14/GREEN8/RED20 | 241SC/15跑通
确认两项默认(custom 真全屏 + H5 横屏降级)
签名改独立横屏页-需求变更+任务拆分
其他
- §7 两项待决标记已确认
- 复用 HandSignature 组件;新增 pages/signature/signature.vue + signature-bus 临时值传递
- 含变更背景/影响范围/验收标准 + 5 工作项(WI-1~WI-5)拆分与验收条件
- TDD 账本 S-cfc-40~S-cfc-44 (family.signature.*)
- 溯源: docs/superpowers/specs/2026-11-07-referral-team-profit-sharing.md v0.7 §12
- 拍板口径: #3 团队奖平台统一规则 / #5 每层按星级最多6份最少2层 / #13 星级透明化 / #14 吸引力升级 / #15 团队直推定义
- 关联 TDD 状态机 team.* 10 键 (S-cfc-40..49, .tdd 本地私有不入库)
新功能
v1.0.2180 (2026-11-07)
Bug 修复
补齐 HuaweiAuthService.statusJson(Long) 缺失方法
其他
但华为侧未实现该方法导致编译失败(cfclub 主线阻断)。参照 XiaomiAuthService.statusJson(Long)
补齐,返回 bound/mock/channel/configured(含 expiresAt/scope,不泄露 token 明文)。
[skip ci]
需求变更:健康方案制定流程重构(R1-R6, HL-02~05, 2026-11-07)
- 确认 ① 年龄不设上限(仅约束不晚于今天、不早于1900)② WI-4 审批卡片展示纳入本轮必做
- §3 AC-R3、§5 WI-4、§7 待决同步更新
- 含变更背景/影响范围/验收标准 + 5 个工作项(WI-1~WI-5)拆分与验收条件
- TDD 账本已登记 S-cfc-35~S-cfc-39 (family.invite.join*)
设计:健康方案默认选本人+问卷代入自己+健康阅卷入口(2026-11-07, HL-01)
GAP-E补齐:华为 real 通道 exchange/refresh/revoke/拉取实现真实 HTTP 调用
- HuaweiRealHealthApiClient: 重写为 Health Service Kit 云侧数据拉取骨架(Bearer access_token POST /healthkit/v1/health-data,token 即将过期自动刷新,HTTP 异常记 error 返回空列表)
- application.yml: 补 huawei.health.api-base-url / sync-days 配置
- 2026-11-07-dx-health-contract.md: GAP-E 标记为已补齐,§6.3 实测状态更新
编译验证: mvn compile (cfc-backend) 通过
构建验证: npx vue-cli-service build (cfc-web) 通过
文档
需求变更说明补充 + 主理人确认项(年龄无上限/WI-4本轮做)
加入申请必填真实姓名/出生日期/性别 准入校验需求变更
研发负责人闭环巡检汇报 report-dev-2026-11-07-2148 | GAP-E华为real通道回收35fc0e8eb + child-zone核验36b671565 + B-50闭环 + 部署pending归零 | 22键26/26证据IN CHAIN
测试负责人闭环巡检汇报 report-test-2026-11-07-2120 | 浏览器 11/11 全绿 + 健康契约 10/10(B-50 部署修复) + langgraph 51/0/12 | 251 不可达本地兜底
v1.0.2179 (2026-11-07)
Bug 修复
修复家庭长幼排行与兄弟姐妹关系标签(回归用户12家庭72)
其他
- computeParentChildLabel 按同性别子集计算排行(长子/次子/长女/次女)
- resolveRelativeLabel 动态长幼计算优先, family_relationships 粗标签仅兜底
经 NotificationDispatchService 分发;不可登录成员由同家庭能登录成员代收
- /api/user/info、/api/auth/info、/api/family/user/info:role=child 时裁剪
idCard/phone/realName/openid/unionid(UserService.maskChildSensitiveFields),
家庭资料接口补 password 置空
- UserNotification 注释登记 badge_unlock 类型
- C-18 设备/账号绑定校验:文档口径为「先由产品确认设备绑定 or 账号绑定」,
方向未定且需新增 device_bind 表迁移,本次不落地,待拍板
文档
研发负责人第74轮闭环巡检汇报 report-dev-2026-11-07-2103 | 模型切换8+恢复6+新派GAP-dx-health-co(O-14批次) | 状态机DONE14/GREEN8全IN CHAIN复核 | 241SC/15跑通 | 部署confirmed21/pending0 | 无新待裁决O-*
v0.7 全部15项拍板落地——#3团队奖归属平台自有团队平台统一规则/#5每层按星级最多6份最少2层/其余按推荐
新功能
C-10勋章解锁站内通知 + C-16孩子端受限资料投影(child-zone-contract 差距补齐)
v1.0.2178 (2026-11-07)
文档
研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
EVD-17 D/X域契约核对批次(华为/小米运动健康接入)
研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
其他
- API_REFERENCE §4.43/4.44 增补 EVD-17 契约登记(与实现核对一致无需修正,登记缺口与双轨复用载体)
- 端点核对:D1-D5 / X1-X5 全部成立(10/10 ✅);⚠a 缺口登记、⚠b 双轨载体成立(复用报告链路)、⚠c 语义=追加写+读最新覆盖
- 无业务代码/测试/DB 迁移改动;mvn -DskipTests compile EXIT=0
- 模板新增排序栏(综合/价格↑/价格↓),位于 Level2 分类 chips 与商品列表之间
- data 新增 sortType:'default'
- 新增 buildSort()(price_asc/price_desc -> [{column:'price',order:'asc'|'desc'}],default -> [])
- 新增 onSortSelect()(切换排序重置 page=1/products=[]/noMore=false 并重新加载)
- loadProducts/onLoadMore 在 params 构建后追加 sort(滚动加载沿用当前排序)
- 新增 .sort-bar/.sort-item/.sort-item.active 样式(复用 -space-*、-violet 高亮)
- 后端 SortInterceptor 支持数组 sort,零后端改动;推荐商品逻辑不变
新功能
商城商品列表增加按价格排序(综合/价格升/价格降)
测试
浏览器双端全绿(admin5/5+front6/6+shop4/4) | B-51/B-52关闭(根目录跑Playwright双版本冲突误判为Chromium缺失) | B-50第2次复现(华为5端点未鉴权200) | 后端288类2389例95.02%零漂移 | 新B-53(70项WIP含11测试文件修复,提交即96.78%)/B-54(langgraph chromadb DLL)/B-55(189+251不可达) | 通知研发
v1.0.2177 (2026-11-07)
文档
tdd: 研发负责人 2026 轮汇报 + TR-17 D X 域契约核对派发
v0.6.1 #15 团队直推定义拍板——直接邀请加入团队+成交首个服务/商品单=1个直推(载体团队树,首单即算无金额门槛)
tdd: 研发负责人 2006 轮汇报 D X 域契约核对批次 EVD-17 开工包
v0.6 升级双门槛(业绩分+直推有效新用户>=1) + #12 档位入配置/#13/#14按推荐拍板落地
Bug 修复
编辑资料改辈分后重建关系表,修复关系标签不刷新(R-4)
其他
→ 删旧关系 → 按绝对辈分/同辈类型/锚点重建 → 按 from→to 回填评分,避免重建把问卷评分清零
- FamilyMemberService.updateMember 辈分变更后调用重建(锚点=操作者成员);操作者即本人时不写 spouse
- 重建失败整事务回滚,杜绝「辈分已改、关系未变」中间态
- 规格 §10 R-3/R-4 同步为已修复并记录锚点与失败策略
测试
浏览器双端全绿(admin5/5+front6/6+shop4/4) | B-51/B-52关闭(根目录跑Playwright双版本冲突误判为Chromium缺失) | B-50第2次复现(华为5端点未鉴权200) | 后端288类2389例95.02%零漂移 | 新B-53(70项WIP含11测试文件修复,提交即96.78%)/B-54(langgraph chromadb DLL)/B-55(189+251不可达) | 通知研发
v1.0.2176 (2026-11-07)
文档
v1.0.2175 (2026-11-07)
文档
研发负责人 错峰03 2026-11-07 1913 轮汇报 | B-50 huawei鉴权修复cc7b3e00b 合入+fam-join 6567acc33 合入主线+状态机DONE14/GREEN8 | B-39/40/47核验闭环
Bug 修复
华为运动健康5端点未鉴权200直通——/api/huawei-health/ 加入 LOGIN_REQUIRED_PATHS 强制登录(401),与 xiaomi-health 对齐
v1.0.2174 (2026-11-07)
Bug 修复
配偶关系改为仅对锚点成员生效,修正同辈关系类型判定
其他
其他同辈一律 sibling。原实现会把「妻子/丈夫」套到家庭内所有同辈成员上
- 审批链路传入 anchor=审批人 FamilyMember.id
- FamilyMemberService.addMember 修正传入绝对辈分(原误传 genLevel.getOffset()),并补 peerType 与锚点
- 规格文档同步 §6.1 锚点规则、§10 R-1(已修)/R-2/R-4(编辑资料不重建关系,另立任务)
- 加入申请不再自填家庭身份:join-form.vue 删除身份选择,request-join-by-code 的 familyRole 保留接收但忽略不写库
- 审批时指定身份:approve-request 改收 JoinApproveDTO(generationLevel/peerType),按审批人辈分(null视为0)+offset 求绝对辈分,落地 member.generation/isSpouse 并 createRelationsForNewMember 写 relation_type;mergeIntoFamily 分支同样落地
- 夫妻互称修复:FamilyRelationshipService.computeRelationshipLabel 增 3 参(spouse→丈夫/妻子,sibling→兄弟/姐妹,lineal→原逻辑),成员列表按 rel.relation_type 传参
- User.familyRole 按绝对辈分+性别推导(>=2 爷爷/奶奶,1 爸爸/妈妈,其余其他),回写申请表留痕(assigned_generation/assigned_peer_type)
- 审批卡片展示真实姓名+副行「申请加入你的家庭」,同意改弹窗内嵌 GenerationPicker(辈分必填/同辈必选类型)
迁移编号:runMigrations 已有「迁移454: 旧体系接口调用打点表」,故本次新增使用 455/456(偏离规格文字 454/455,详见代码注释)
新功能
家庭加入身份改由邀请人审批时指定(辈分关系)+修复夫妻称谓
v1.0.2173 (2026-11-07)
测试
三套本地套件全绿零漂移(frontend313/web90/langgraph51) | 新拓扑执行缺口B-51(本机Chromium缺失admin未跑)+B-52(health契约版本冲突) | ledger3793(+13) | 通知研发B-50/B-47
v1.0.2172 (2026-11-07)
文档
测试负责人70轮通知研发 B-50(P0)华为健康补鉴权+家庭邀请身份变更用例已落 | 闭环标准health契约10/10 | 完整报告/台账/用例见docs/tdd/test
测试
家庭加入身份改由邀请人指定(ec6aa0d49 ) → 新增TC-FA-01~17设计态契约用例 | approve-request新JoinApproveDTO必填校验+relation_type列+绝对辈分推导+配偶称谓修正 | 待实现+mvn转实测态(承袭R-3)
B-50华为健康5端点未鉴权200直通(P0契约缺口) health契约0/10→5/10 | B-47(636c42103 )上线后健康模块404→已访问 | 浏览器15/15+Jest双绿(90+313)+langgraph51绿维持 | 补录17:47轮health契约用例
Bug 修复
pom.xml skipTests 默认改 false 消除测试假绿
其他
surefire 不再因默认 true 而静默跳过全部测试(假绿)。
命令行 -DskipTests 仍可显式覆盖该默认值。
本地已验证:plain mvn test(无 -DskipTests=false 覆盖)执行测试并产出
target/surefire-reports/TEST-*.xml(2/2 通过)。.gitlab-ci.yml 的 B-39
两级门禁(mvn test -DskipTests=false + XML>0 断言)已存在,无需改动。
v1.0.2171 (2026-11-07)
文档
家庭加入身份改由邀请人指定(辈分关系) + 视角动态称谓规格
其他
- family_relationships 增加 relation_type(spouse/sibling/lineal),修夫妻互称
- 规格: docs/superpowers/specs/2026-11-07-family-join-dynamic-identity.md
v1.0.2170 (2026-11-07)
Bug 修复
其他
JDK8 下 default-compile 直接报 COMPILATION ERROR,导致后端 2375 例 JUnit 无法编译执行。
改为 JDK8 可用的 URLEncoder.encode(String, String) 重载(StandardCharsets.UTF_8.name()),
并捕获 UnsupportedEncodingException 包装为 IllegalStateException。
验证:JDK8 下 mvn -o -B -DskipTests=false test-compile → BUILD SUCCESS
(主源码 2079 + 测试源码 292 全部编译通过)
v1.0.2169 (2026-11-07)
文档
研发负责人 闭环巡检 2026-11-07 1745 轮汇报 | 状态机 DONE14/GREEN8/RED0/YELLOW0 | 11会话在途全有任务·B-40 180aebcb0 已合入·B-39双会话待收口·O-13/O-14 主理人78277897e 拍板闭环 | SC 15/241 | 部署在途 testing@7f1c238cd
主理人拍板 O-13/O-14 生效 | O-13 platform_fee 统一「分」+BIGINT NOT NULL DEFAULT 0(测试侧修订用例,实现无需改);O-14 D/X域作 O-7 独立契约核对批次不入241基线(设计契约登记+测试证据补建) | 两项闭环
研发负责人 闭环巡检 2026-11-07 17:34 轮汇报 | 状态机 DONE14/GREEN8/RED0/YELLOW0 | 11会话在途全有任务·B-40 180aebcb0 硬门禁落地核验·B-39双会话待收口 | SC 15/241 | 部署在途 testing@7f1c238cd | O-13/O-14 维持待主理人确认
研发负责人 闭环巡检 2026-11-07 17:25 轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | fix_free_limit 13会话模型自愈+check_agents 8恢复+sync_gap 生成 child-zone 差距任务派发 lan-248 | SC 15/241 | O-13/O-14 待主理人确认
v0.5 吸引力升级设计(§4.7) 借鉴Enagic合法精华
v0.4 新增星级透明化与成长可视化(§4.3.1)
研发负责人 17:05 轮汇报修正 | B-39R4 亦 429 失败(根因: lan-189 无 axonhub, --model 回退免费) → 改用 axon/deepseek 重派 B-39R5 已确认执行 | 汇报记录如实化
研发负责人 闭环巡检 2026-11-07 17:05 轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | B-40僵死中断(lan-204)·B-39R3 429免费额度失败重派R4(axonhub/deepseek绕限流)·B-46派发lan-248运行中 | 部署在途testing@7f1c238cd | O-13/O-14 裁决意见已登记待主理人最终确认 | SC 15/241
星级六档门槛按真实价格校准推演(0/8千/2.5万/7万/14万/25万)
研发负责人 闭环巡检 2026-11-07 16:25 轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | TDD池空零派发·B-39R2/B-40在途跟踪·部署核验派发(testing@7f1c238cd ) | O-12~O-14 补登正式通道(platform_fee分+BIGINT / D/X域独立契约批次不入241基线) | SC 15/241
研发负责人 错峰03 1606轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | TDD池空零派发·B-39R2/B-40在途跟踪 | O-13(O-14 裁决意见登记(platform_fee 统一「分」+BIGINT / D/X域独立契约批次不入241基线,待主理人最终确认) | SC 15/241
研发负责人 闭环巡检 2026-11-07 15:45 轮汇报 | 状态机 YELLOW0/GREEN10/DONE12/RED0(sleep.config.tags B-37 收口 mark-green)·B-39R2 重派 pom假绿·D/X域缺口登记O-14 | SC 15/241
研发负责人 闭环巡检 2026-11-07 15:00 轮汇报 | 状态机 YELLOW1/GREEN9/DONE12/RED0 | TDD池空零派发·B-39重派修复pom假绿·B-38④platform_fee口径核验登记O-13 | SC 15/241
研发负责人 闭环巡检 2026-11-07 14:46 轮汇报 | 状态机 YELLOW1/GREEN9/DONE12/RED0 | TDD池空零派发·hub通道缺口处置推进(EVD-14/B-40/D域4815aae95 ) | SC 15/241
研发负责人 闭环巡检 2026-11-07 14:36 轮汇报 | 状态机 YELLOW1/GREEN9/DONE12/RED0 | 池空零派发·派发通道B-42根因·SC 15/241
Bug 修复
HuaweiAuthService.encode 回退 Java8 兼容 URLEncoder(String,String),修复 cfc-deploy-251 cron 构建红(978d1bc95 引入 Charset 重载不兼容 target 1.8)
B-40 后端测试软门禁升级两级硬门禁
isBound 计数判断改用 intValue() 防御性比较(Long 计数)
其他
- 根因: maven-compiler target 1.8 下 URLEncoder.encode(String, Charset)(Java10+) 不可用 → cfc-deploy-251.sh 17:20 轮构建失败
- 改动: 单文件回退为 URLEncoder.encode(String,String)+try/catch UnsupportedEncodingException
- 验证: mvn -f cfc-backend/pom.xml compile 通过
(33 个已知红类 allow_failure,仅产出 junit 趋势)
- backend-blocking-junit 用 -Dtest='!' 排除已知红类,其余全跑
(含全绿 integration 类,即首批转入 blocking)
- 修好一个类即从 BACKEND_OBSERVED_CLASSES 移除,下轮自动转入 blocking
- 所有 job 同 test stage,observed 在 blocking 红时仍产出趋势
- langgraph-pytest 转 blocking(B-34/35/37 闭环后 51p/12s/0f)
- e2e-playwright / tests-jest 转 observed(环境依赖)
- 加 B-39 守卫:surefire 0 个 XML 即失败,防 skipTests 假绿
Enagic借鉴边界: 不照搬8层佣金(三级红线)/终身等级(养懒人); 借鉴等级×点值递增/团队累计销量/Build leaders/复购管道/日结。
四大杠杆: ①收入管道化(会员续费/测评复购/陪跑续订纳入分润,月月进账)
②星级倍率权重(6星=3.0,资金池恒=T×80%只重分不增量,6星同单36.72 vs 原30.6)
③带教里程碑奖(星耀导师,带出5星→团队奖档+1)
④实时可见(订单完成即时显示本单分润)。
落地T9管道化+T10倍率里程碑; 合规§10.5; 待拍板#14。
①实时星级看板(当前星级/三维构成/距下一档差距/12月轨迹)
②差距→行动换算(直接250分次/团队200分次/推荐10分百元,三条路径按省力排序)
③月度星级简报(升/降/持平+行动建议,每月1日重评后推送)
④星级权益可见(徽章/培训优先/带教领队资格)
新增接口 POST /api/team-star/my-view;落地 T7看板T8简报;待拍板#13。
五画像实测6.5千/2.6万/7.1万/14.5万/24万→档位取画像略上方(跳一跳够得着);
六星25万=顶流团队长级(单靠个人咨询约千次/年不可达),体现团队服务多劳多得。
档位可配team_profit.star_tiers;§11新增待拍板#12(起步期可整体下调50%)。
- 新增 LegacyDimensionCallFilter: OncePerRequestFilter, flag 门控默认关零开销
匹配 /api/energy/ /api/admin/energy-config/ /api/admin/energy-rule/ /api/admin/energy-behavior/
- 新增 LegacyDimensionCallLog 实体 + Mapper 每日聚合 upsert (UNIQUE api_path+period)
- 新增 LegacyDimensionCallLogService: recordCall 打点 + @Scheduled 每小时 heartbeat 心跳
- DatabaseInitializer 迁移454 幂等建表 + schema.sql 同步
- application.yml 增加 dimension.registry.legacyCallLog.enabled (默认 false)
- docs/scripts/legacy_dimension_zero_call_check.py: 14天零调用巡检脚本 (PASS/FAIL/WARN)
- 单测 LegacyDimensionCallFilterTest(6) + LegacyDimensionCallLogServiceTest(7) = 13/13 通过
- X2 OAuth: XiaomiAuthService 授权URL/code换token/刷新/撤销 + XiaomiHealthTokenService
- X3 同步引擎: XiaomiHealthServiceImpl 复用 NormCompareEngine 百分位带归一化, 写 health_data_sources(sourceType=xiaomi_health)
- X4 控制器: XiaomiHealthController 5接口(auth-url/callback/sync/revoke/status), 全部 @PostMapping
- X5 通道: XiaomiHealthApiClientImpl mock(凭证未批复默认) / 真实云服务接口 TODO, 合规: 仅官方云服务、禁境外聚合中转、禁逆向接口
- JwtInterceptor 增加 /api/xiaomi-health/ 登录拦截; application.yml 增加 xiaomi.health.* 配置
- D2: HuaweiAuthService 授权URL/code换token/刷新/撤销; token 仅后端 AES/GCM 加密存库
- D3: HealthSyncService 定时拉取(步数/距离/心率/睡眠/体重), NormCompareEngine P5/P25/P75/P95 归一化
- D4: HuaweiHealthController 5个POST接口(auth-url/callback/sync/revoke/status), Result+JWT
- D5: mock 通道默认开启(huawei.health.mock-enabled), real 骨架留 TODO; 每日03:15定时任务
- API_REFERENCE.md 同步 Controller 总览与4.43接口清单
- 合并远端 4 条需求变更说明,逐条给出用例处置(2 条已有用例但 untracked → B-45)
- 线上 E2E 合计 15/15(admin5 + frontend6 + shop-api4)
- 管理端真实登录(滑块轨迹可自动化)推翻历史『仅探针可达』结论
- langgraph: 本地 pytest 51绿/12skip;线上 /health 200、/chat 200、/questionnaire/generate 500
- 前端 Jest 313/313、管理端 Jest 90/90、根级 23 skip
- 后端全量复跑进行中(50类/461例/98.92%,红类2个均属已知WIP遗留)
- 门禁:不通过(G10 线上问卷500、G12 接口层零执行、G6 CI软门禁)
测试
B-46根因定位并关闭(测试缺陷非部署回归)admin5/5+全套件15/15 | 新增B-47(P0 JDK8编译阻断)+B-48(误判复盘)+B-49(188例实为13例) | 后端隔离树实测288类2389例95.02%
浏览器自动化13/15(B-46三度复现稳定确认U04+U05) | frontend313/web90/langgraph51绿 | P2-T3新增188例待251核实
admin真实登录链路回归(B-46升级U04+U05双失败) | 浏览器10/11→9/11 | langgraph51绿+台账3780
浏览器自动化首次实跑10/11(admin5中4+frontend6) | TC-A-U05登录按钮disabled失败登记B-46 | 189派发通道确认可用(B-42收敛) | langgraph 51绿 + ledger刷新
需求变更S1 商城价格排序接口契约4例全绿 + 登记 B-45 未入库用例
浏览器自动化首次落地 11/11 全绿(admin5+frontend6) | 线上LangGraph问卷生成500实证(B-34复发/B-43) | 189派发通道根因收敛(B-42) | 新增B-44驾驶舱文案
登记B-41 langgraph flaky固化 + B-42 远程派发通道不可用(通知研发)
闭环巡检报告+台账刷新 | FE313/web90/langgraph51绿(0失败) | 台账3765(+632) | 结果变更触发推送
新功能
旧体系接口14天零调用打点统计+巡检脚本 (P2-T3 退役证据)
X1-X5 小米运动健康云服务接口接入
D1-D5 华为运动健康开放平台接入(令牌表/授权/同步/5接口/mock通道)
v1.0.2168 (2026-11-07)
文档
补齐当日3项需求变更说明(报告关联商品/优惠券按钮/团队收益口径+邀请分享)
v1.0.2167 (2026-11-07)
文档
研发负责人 错峰03 1330 轮汇报 | O-12 主理人最终确认生效(EVD-10 规划师域 G-1/2/3 + EVD-11 平台运营域 A-04/14/19/20/21 缺口处置路径) | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | EVD-14/EVD-15 契约核对产物核验 IN CHAIN | 池空稳态零派发 | 单文件hash-object入库
v1.0.2166 (2026-11-07)
文档
研发负责人1 第29轮闭环巡检汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | EVD-7R/8R证据已合入(31b1be1c /7f9b978c )但SC覆盖登记滞后15/241 | O-12裁决复核支持待主理人确认 | 池空稳态零派发 | 单文件hash-object入库
方案 v1.2 补充小米多生态接入(小米HealthKit 云服务接口 + Zepp 老款通道 + X1-X5 任务拆解 + 合规红线)
推荐人&团队分润双体系设计 v0.3 — 团队奖池从T中切20%(8份池=T×80%)
其他
同步数学示例(40.8/每份5.1/6星30.6/团队奖10.2)与配置默认值、待拍板#2标记已拍板。
v1.0.2165 (2026-11-07)
文档
研发负责人 闭环巡检 1245 轮汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | 派发B-39(pom skipTests假绿)->lan-248+B-40(CI两级门禁)->lan-204(均axonhub确认执行) | 核验ac27af487 统一维度收尾合入主线无双实现路由歧义 | 测试69轮全量95.16% | 场景覆盖15/241 | 单文件hash-object入库
商城按价格排序需求变更说明(v1.0 锁定,对齐成就成长打卡台账结构)
推荐人&团队分润体系设计 v0.2(按主理人3点修订:①团队邀请参考家庭邀请 ②推荐人沿用CF值/团队货币直接分佣 ③星级量化定义+团队奖)
研发负责人 闭环巡检 1241 轮汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | 全241SC契约核对已合入cfclub,未开工0 | 任务池0pending+5实例全idle | 无实质增量(与1225轮一致) | 单文件hash-object入库
研发负责人 闭环巡检汇报(EVD-15 回收合并 + 会话快照更正 + SC 15/241)
EVD-15 跨角色域剩余8SC契约核对(SC-X-03/08/11/14/15/16/17/18)— 端点载体实测回填3⚠项+2命名修正、登记契约缺口3项(X-G-1订单支付通知未挂接、X-G-2多端会话互斥、X-G-3小程序订阅消息)、新建 2026-11-07-cross-role-contract.md + API_REFERENCE 增补§4.64
TR-16 EVD-14 AI/Butler 17 SC 契约产出 f62848933 回收登记(研发负责人 闭环巡检)
研发负责人 闭环巡检 1218 轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | EVD-15跨角色域8SC开工包9f0da8727 +派发lan-248(--confirm确认执行) | EVD-14在途lan-204 | 全241SC域已开工包覆盖,未开工0 | 单文件hash-object入库
TR-15 EVD-15 跨角色域8SC契约核对派发台账登记(研发负责人 闭环巡检)
跨角色域剩余 8 SC 契约补建开工包(EVD-15 前置)· 研发负责人 闭环巡检
推荐人分润&团队分润双体系设计 v0.1(占平台可分配利润70/30,8份制+一星至六星,下级可超越上级)
测试
全量实跑 286类/2375例 95.16%(干净基线)+ WIP代入实测96.93% | 新增B-39 skipTests假绿/B-40 CI软门禁 | 度量脚本入库(闭B-33)
其他
EVD-14: Add AI/Butler batch contract docs (17 SC) - contract specs + API_REFERENCE 4.64 section
unified-dimension: T-D 能量沙盘维度来源切注册中心,五行归属 wuxing_rule_ref/统一 code,语义与回归不变
unified-dimension: T-C 删除 health-main 访客示例硬编码 demo 雷达数组,示例雷达改经注册中心配置取数,无配置显示空态引导
unified-dimension: T-B 后端去硬编码,DimensionScoreServiceImpl 维度清单改经注册中心取统一码 body.*
unified-dimension: T-A 移植回滚脚本,修正备份表名与 forward 成对(20261105)
v1.0.2164 (2026-11-07)
Bug 修复
其他
- cfc-web 90/90、cfc-frontend 313/313 全绿; pytest 51/51 全绿(B-34实证)
- 覆盖 10.4%→22.2% (discovery 432/1943; EVD契约类入编译树)
- 复验通过: B-34(51/51)、B-35(DanReportParse 38/38)、B-37(SleepConfigTags 10/10)
- blockers.md: B-13环境红实测修正(数据源指向差异)+新增B-38(26红类69例归因)
- 关键契约类9个全绿; SRS/场景零变更无需更新用例
- 仅测试侧产物, 不触碰研发WIP
文档
EVD-13 家长域剩余 30 SC 契约核对合入(API_REFERENCE 增补 4.63 + parent-rest specs,重编号避 4.61/4.62 冲突)
EVD-9 孩子端 26 SC + EVD-12R2 商品服务商域 6 SC 契约核对合入(API_REFERENCE 增补 4.61/4.62 + 2 specs)
AI/Butler 域 17 SC 契约补建开工包(EVD-14 前置)
商城按价格排序功能任务书(前端单文件方案,后端零改动)
研发负责人 错峰03 1025轮汇报 + O-12 契约缺口裁决(G-1/2/3、A-04/14/19/20/21 待主理人确认)
研发负责人1 第47轮闭环巡检汇报(O-11 派发 + B-29/34/35/37 核验 + SC 15/241)
新功能
报告上传页关联商品卡片区(去重可购买)+ 成员4列核验
测试
第67轮实际跑测档——四套件实测+B-34/35/37复验通过+台账刷新
报告闭环 23 SC 三类流 e2e 证据补建 | 25 用例全绿(正常8/异常9/权限8) + 契约 JUnit 82/82 复验 | 新增 report-closedloop-contract.spec.js、CFC_API_BASE 本地复验回退、automation-run 证据文档
v1.0.2163 (2026-11-07)
Bug 修复
其他
--default:focus 将文字改为主色蓝,--primary:focus 将背景设为主色蓝,导致蓝字蓝底。
- --default 的 hover/focus 规则排除 --primary
- 主按钮显式声明 color:#fff(含 hover/focus/active/disabled)
[skip ci]
v1.0.2162 (2026-11-07)
测试
报告闭环 23 SC 三类流契约证据 | 82 JUnit 全绿(11类,0失败) + 8 LangGraph pytest 全绿(SC-B-04/B-11) | SC-S-09 映射 listTypeLinks(未实现端点ProviderController缺) | 基线2af4829b1 已并入b3a975111
v1.0.2161 (2026-11-07)
文档
研发负责人 第53轮标准汇报 | 稳态核验 · 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | 并发4/4满载(EVD-7R/9/12R/13在途,无槽位) · 变更感知0新键目标池空防假RED不派发 | SC覆盖15/241维持(证据待测试登记95+契约待补57+在途65+未开工21) | 单文件hash-object入库
研发负责人 第33轮标准汇报 | EVD-12失败回收重派EVD-12R(local-45278✓)+EVD-13家长域剩余30SC新派(lan-248✓,开工包3d7044429 ) | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | SC覆盖15/241维持 | 4/5客户端满载(pub-iwintrue--model缺陷待命) | 单文件hash-object入库
家长域剩余批次开工包(P 域剩余 ~30 SC 契约核对)· EVD-13 派发准备 · 研发负责人 第33轮
v1.0.2160 (2026-11-07)
文档
研发负责人 第54轮标准汇报 | 状态机 DONE12/GREEN9/YELLOW1 · O-7 黑窗解除后派发窗口开启 · SC 5/241
v1.0.2159 (2026-11-07)
文档
研发负责人 第32轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待测试mark-green)+0RED | EVD-10产出77026df42 回收(规划师32SC·32/32锚定29满足+3缺口G-1/2/3·16键定稿·TR-13) | EVD-11产出9abed8e11 回收(运营25SC·类名回填4+缺口5需产品侧确认·25键映射·TR-14) | SC覆盖修正15/241(台账权威,游客域10于11-06转正) | 任务池空按O-7派发EVD-12服务商域6SC(local-45278,--confirm确认) | 未开工~51(P33+X9+B4+H6)下轮滚动 | 单文件hash-object入库
平台运营25SC契约核对(端点实测回填+API增补4.60)
其他
25 SC 端点核验表(防假 RED,grep 实测定位不假定包路径)
重点回填 ⚠ 项:A-05勋章/B-08知识库/A-10迁移/A-15审计/A-22营养=端点存在;
A-14监控/A-19工单/A-20限流=无端点载体;A-21舌诊=载体部分存在
缺口5个(A-04/A-14/A-19/A-20/A-21)标注「无端点载体,需产品侧确认验收方式」
建议能力键映射25条(admin.auth.login/sleep.config.tags已在状态机仅登记映射)
- API_REFERENCE.md 增补 4.60「平台运营能力」段落(管理端登录/统计/解析中台/
文章审核/勋章/供应商/活动/知识库/维度/迁移/治理/订单/审核/审计/券/能量/睡眠+缺口)
- 本批仅文档,未改业务代码/测试/DB迁移;后端 mvn compile 通过
v1.0.2158 (2026-11-07)
文档
成长规划师域 32 SC 契约核对产出
研发负责人 第31轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待测试mark-green)+0RED | 任务池空按O-7滚动派发EVD-9孩子端26SC(lan-189)/EVD-10规划师32SC(local-45278)/EVD-11运营25SC(lan-248)均--confirm确认执行 | EVD-8R产出7f9b978c2 回收IN CHAIN复核(43SC·156JUnit全绿)送测试 | TR-12登记 | SC覆盖5/241权威+95待测试登记+23在途+83新派 | 单文件hash-object入库
其他
- docs/superpowers/api/API_REFERENCE.md:增补 4.57 成长规划师域段落(32 SC 端点导航 + 能力键 + 缺口摘要)
- 核对基线 origin/cfclub @ 22cd721c3 ;结论:32/32 SC 端点载体锚定(29 完全满足),0 实现级硬缺失;命名差异回填 8 处;仅文档产出,零业务代码,mvn -DskipTests compile 通过
v1.0.2157 (2026-11-07)
文档
研发负责人5 第30轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待测试mark-green)+0RED | EVD-8R产出7f9b978c2 回收(测评-方案43SC·156JUnit全绿)送测试复验 | 部署核验#2收口:cron已覆盖3笔(实测HEAD≥41f1fc934 ) | EVD-7R在途(lan-204) | 变更感知0新键目标池空防假RED | SC覆盖15/241维持(待测试侧登记) | 单文件hash-object入库
v1.0.2156 (2026-11-07)
测试
测评-方案 43 SC 三类流契约证据(156 JUnit 全绿)
其他
- 9 契约类 + 公共基类 AssessmentPlanContractTestBase(纯 Mockito/无 Spring/无 DB)
- 覆盖家长/规划师/孩子/跨角色/AI管家/真人管家六类角色流
- 契约缺口 12 处钉住(8 观察 + 3 相邻覆盖 + C-08 相邻覆盖),不修实现
- evidence 文档:SC 覆盖矩阵/执行结果/缺口钉住表/改动清单
mvn test-compile BUILD SUCCESS; 156 用例 0 失败 0 异常
v1.0.2155 (2026-11-06)
文档
研发负责人 错峰03 第47轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags 41f1fc934 IN CHAIN待测试mark-green)+0RED | O-10(B-31明文凭据env化+轮换+gitleaks)/O-11(B-33 gitignore细化+白名单)主理人最终确认生效 | EVD-7/8在途(07:00派发lan-189/248产出未回) | 变更感知0新键目标池空防假RED | SC覆盖15/241(游客域10+O-3收口5) | 部署pending0/confirmed20 | 临时索引单文件入库
研发负责人1 第28轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags B-37修复41f1fc934 IN CHAIN 待测试mark-green)+0RED | 派发EVD-7报告闭环23SC(lan-189)+EVD-8测评-方案43SC(lan-248) 补P0剩余66SC | TR-11登记B-37复验+EVD-3/4/5/6证据复验登记 | SC覆盖15/241(游客域10转正dceeaaeaf ) | 台账追加EVD-7/8于origin基线
测试
测试负责人 第68轮 实质推进 - B-34(问卷prompt_template)/B-35(DAN版式)/B-37(blank-key)三阻塞复验转绿 · 306例契约=302绿/98.69% 游客域10SC 71例独立复核全绿 Butler 6例全绿 pytest 51/0/12 · 唯一残余红P-2 3例承袭 · 门禁不通过(有条件)
v1.0.2154 (2026-11-06)
文档
研发负责人 第52轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags)+0RED | EVD-3/4/5/6 场景证据44文件单文件提取精确合入 cfclub 07a992161 (任务心愿22SC+商城18SC+五维12SC证据入链+CI G1分层回归增强,40A+4M无main回退) 待测试侧复验按sc-key-map登记 | B-37修复41f1fc934 IN CHAIN ✓ YELLOW→GREEN待mark-green | 游客域10SC已转正SC覆盖15/241 | 19证据sha全IN CHAIN | 部署pending0黑窗内不部署 | webhook窗口内已发
测试
EVD-3/4/5/6 场景证据+CI增强合入 cfclub(44 文件单文件提取,无 main 回退) - EVD-3 任务/心愿 22 SC:4 JUnit + 11 Playwright e2e + evidence docs + api.js 超时增强(60s→120s) - EVD-4 商城/会员 18 SC:10 契约 JUnit + tr8 evidence docs - EVD-5 五维能量 12 SC:9 契约 JUnit(含 EnergyContractTestBase) + automation-run docs + e2e - EVD-6 CI 持续回归:.gitlab-ci.yml G1 分层回归(+132) + ci-smoke + 3 e2e 修正 来源分支均基于 acd7edac6 旧基线,全树仅测试/docs/CI 差异,main 零冲突;待测试侧复验后按 sc-key-map 登记
v1.0.2153 (2026-11-06)
文档
研发负责人1 第54轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags)维持+0RED | B-37修复产出41f1fc934 确认IN CHAIN✓(06:38 push blank-key校验收紧) YELLOW→GREEN待测试侧mark-green | EVD产出核验:EVD-3纯测试证据可合(EVD-6 CI可评估)/EVD-4/5含main旧基线回退严禁整体merge仅提取测试文件 | EVD-2游客域10SC转正dceeaaeaf IN CHAIN SC覆盖15/241 | 部署pending0黑窗内不部署 | 单文件hash-object入库
v1.0.2152 (2026-11-06)
Bug 修复
B-37 空白 key 校验收紧,sleep.config.tags 契约 1 红转绿
v1.0.2151 (2026-11-06)
文档
研发负责人1 第53轮 闭环巡检 | 状态机 DONE12/GREEN9/YELLOW1/RED0 · SC 5/241 · 黑窗零派发
研发负责人 第53轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags)维持+0RED | B-37(sleep.config.tags blank-key校验缺口)按S-cfc-33/34同款hub.py独立通道派发lan-204(axonhub/deepseek --confirm确认执行工具调用2次非空壳)补充在途 | 测试侧50de11c4a 收口TR-6/TR-9十键复验9键GREEN+SC覆盖5→15(游客域SC-G-01/03/04/05/07/08/09/10/11/12转正dceeaaeaf IN CHAIN) | 10YELLOW实现sha第9轮连续14核验全IN CHAIN | 部署pending0/confirmed20黑窗内不部署 | 变更感知0新键 | 主工作树46处WIP未触碰hash-object入库
研发负责人5 第29轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED维持 | 恢复EVD-4/5(lan-248 axonhub/deepseek --confirm确认执行)补满在途6会话 | 10YELLOW实现sha第8轮连续IN CHAIN 10/10复核 | 部署核验2投429黑窗超时留待08:00后收口(30ae86d7d /9628df3d9 /ba6b48d28 待测服覆盖核验) | O-1~11全部已裁决无新增待裁决 | 变更感知0新键 | 目标池空防假RED | SC覆盖5/241 | 单文件hash-object入库
sc-key-map 证据 sha 校正 10e471dad to dceeaaeaf (cfclub-otask, rebase 后实际入链 sha)
sc-key-map 游客域 SC-G-01/03/04/05/07/08/09/10/11/12 十 SC 收口转正跑通,证据 sha 10e471dad (cfclub-otask)
测试
TR-6/TR-9 十键复验收口 - 9 键登记 GREEN + B-37 阻塞登记
补齐游客域 SC-G-01/03/04/05/07/08/09/10/11/12 三类流契约执行证据(cfclub-otask)
其他
- GREEN(9):admin.auth.login(15/15+JwtEdge10/10)、health.report.upload(16/16)、
health.report.createReport(5/5)、dan.assessment.getActiveMaterial(3/3)、
task.history.view(7/7)、growth.history.view(9/9)、achievement.grid.fiveCol(纯前端CSS契约核对)、
langgraph.questionnaire.generate(补 respondent_name 装置后 5/5)、dan.report.parseFormat(38/38)
- YELLOW 暂缓(1):sleep.config.tags blank-key 契约 1 红(PublicConfigController 只查 null/empty
不 reject 空白串,测试期望 500 实得 200,已知实现缺口)→ 登记 B-37
- 测试装置修正(B-19 A 类漂移):test_graph.py 2 处 GenerateRequest 补 respondent_name='家长',
与 schema c3925c97e 对齐,pytest 5/5 复验通过
- 刷新台账:automation-status.md / inventory.md / blockers.md(B-37)
- 状态机:tdd_orchestrate.py --mark-green 9 键(sleep.config.tags 保持 YELLOW)
- 摘要段同步:O-3 5 SC + 2026-11-07 补证 10 SC = 15 SC,证据 sha 10e471dad 已 git merge-base --is-ancestor 核验
- 71 例三类流契约测试全绿(G01=7/G03=13/G04=9/G05=8/G07=5/G08=5/G09=6/G10=7/G11=5/G12=6)
- 新增 10 个 JUnit 契约测试类,覆盖 10 个未跑通 SC 的正常流/异常流/权限流
- 证据模式沿用 SC-G-02/SC-G-06 已跑通(8051b64f /df2364ba3 ):Mockito 直调 handler + MockHttpServletRequest/Response + 前端源静态断言
- 实跑结果:71 例全绿(Tests run: 71, Failures: 0, Errors: 0)
- 纯测试证据补录,未写任何业务实现代码(端点 100% 已实现,仅核对)
v1.0.2150 (2026-11-06)
文档
研发负责人 错峰03 第46轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED维持 | 10YELLOW实现sha第7轮连续IN CHAIN 10/10复核 | O-10/O-11主理人裁决(B-31明文凭据环境变量化/B-33 gitignore白名单) | 变更感知0新键 | 目标池空防假RED零派发 | EVD-4/5空产留待下轮(全局并发4/4) | SC覆盖5/241 | 单文件hash-object入库
研发负责人1 槽位第27轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | EVD-1/2/3/6运行中(心跳05:15-17活跃)EVD-4/5空产出idle维持R51留待下轮(全局并发满4/4) | 证据16/16 IN CHAIN(10YELLOW+5转正SC+CI 5783bb294 ) | B-34/B-35修复已YELLOW待测试复验TR-9/10 | 变更感知0新键 | 目标池空防假RED | O-1~9全已裁决 | SC覆盖5/241 | 单文件hash-object入库
v1.0.2149 (2026-11-06)
文档
研发负责人 R51 标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | 实测发现EVD-3~6空产出(04:38派发outcome空/cost0)恢复EVD-3/EVD-6(lan-248 axonhub/deepseek --confirm确认执行) | EVD-4/5留待下轮(全局并发满4/4) | 10YELLOW+5转正+CI sha 17/17 IN CHAIN | 变更感知0新键 | 目标池空防假RED | SC覆盖5/241 | webhook窗口外未发(05:10<06:00) | 单文件hash-object入库
v1.0.2148 (2026-11-06)
文档
研发负责人 R50 标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | dan.report.parseFormat(9628df3d9 )RED→YELLOW B-34/B-35双闭环 | 10YELLOW实现sha全部IN CHAIN | 04:38轮已派EVD-1~6衔接核验不重复派发 | 变更感知0新键 | 目标池空防假RED | SC覆盖5/236 | 单文件hash-object入库
v1.0.2147 (2026-11-06)
文档
研发负责人闭环轮 2026-11-07 0438 | 恢复6会话+派发6证据/复验/CI任务(EVD-1~6) | 10 YELLOW IN CHAIN | SC覆盖5/241 | 目标池空防假RED渐进
Bug 修复
TDD 部署 testing (da8adf10 ) 补全 B-4 未推送实现 | F1 管理端/家庭端分页列表 envelope 统一 data.records(ButlerController/ButlerService) + 局部更新 name 非必填 | F2 AdminCommissionConfig update 按 id 更新放行 name 缺失(仅新增必填) + 3 契约测试 | mvn compile 通过
v1.0.2146 (2026-11-06)
文档
研发负责人 本槽位第53轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED维持 | 10YELLOW实现sha第6轮连续IN CHAIN 10/10 | P0契约补建第4批五维能量12SC开工包(12/12端点已实现0缺失)+TR-10(B-34复验+五维转测试) | O-1~O-9全已裁决 | 变更感知0新键 | 目标池空防假RED零派发 | SC覆盖5/241 | hash-object多文件入库
研发负责人 错峰03 第46轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | 10YELLOW实现sha第5轮连续IN CHAIN 10/10复核 | O-1~O-9全已裁决无待裁决 | 变更感知0新键 | 目标池空防假RED零派发 | SC覆盖5/241 | 单文件hash-object入库
v1.0.2145 (2026-11-06)
文档
研发负责人 错峰03 第45轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | B-34/B-35修复回补登记(1b15b67d2 /9628df3d9 ) IN-CHAIN 10/10复核 | O-9主理人最终确认(cfc-langgraph归口落地+回补完成) | O-5主理人最终确认(39轮意见生效,收口归研发负责人1) | 变更感知0新键 | 目标池空防假RED零派发 | SC覆盖5/241 | 单文件hash-object入库
研发负责人第N轮闭环巡检汇报 + 家庭-成员15SC契约补建开工包 + TR-9测试请求追加
v1.0.2144 (2026-11-06)
文档
研发负责人 第50轮标准汇报(修正提交:恢复 auto-bump cfc-web 5 文件至 998ed842e 版,父链 8fa4179e7 ,树=998ed842e 树+汇报)
研发负责人 第50轮标准汇报 | 稳态核查 | 状态机22键=12DONE+9YELLOW+1RED(dan.report.parseFormat,S-cfc-34契约在途pub-iwintrue) | 9YELLOW实现sha全IN CHAIN 9/9复核 | B-34修复1b15b67d2 在链回归资产+1 | 变更感知0新增键 | 目标池空防假RED零派发 | 无wedged/stalled/thrash无恢复 | --clean-check=1(146处他人WIP,O-3判据③不阻塞) | SC覆盖5/241 | webhook窗口外未发(03:24<06:00) | 单文件hash-object入库
Bug 修复
S-cfc-34 修复 DanReportParseServiceTest 4 例红(B-35)| 能力键 dan.report.parseFormat
其他
1. 根因修复: 清洗正则 [\uF000-\uFFFF] 误删全角冒号 U+FF1A → 收窄为 [\uE000-\uF8FF]
(testParseA2_standardCoreLiteracyFormat 姓名俊辰为 null 的根因)
2. A2 standardCoreLiteracy 版式: 测试日期关键词 + 日期正则兜底; findFieldValue 增加粘连值解析
(value 段内再出现冒号时截取纯汉字段)
3. B4 降级版式: 自我概念区 parseSelfConcept 漏「自信心 7分」带单位格式 → 增加自信/自尊正则兜底
(testParseB4_regression 仍走降级)
4. A1 detail 版式: 「我的xxx得分 41 | 14%」同行「分数|百分位」优先提取(原逻辑取下一行错位)
5. A1 fallback 窗口: 300 字符收紧至 60 + 正则 [^0-9]{0,10},避免跨到下一维度百分位
改动仅限 cfc-backend/src/main/java/com/etotem/cfc/service/DanReportParseService.java(+59/-6)
未改测试断言;mvn -DskipTests=false -Dtest=DanReportParseServiceTest test: 4 fail → 0 fail, 38/38 通过
真实样本 /api/health/report/parse 人工比对(3 份)需后端在线环境执行,留待后续轮次
v1.0.2143 (2026-11-06)
文档
研发负责人 49 轮汇报(R49 0305)——B-34 YELLOW 登记 + S-cfc-34 实现派发
研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
研发负责人 第51轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(langgraph.questionnaire.generate/dan.report.parseFormat,B-34/B-35) | S-cfc-33修复1b15b67d2 已推IN-CHAIN但commit_kind=other(cfc-langgraph/src不在main归口)→O-9登记(裁决:cfc-langgraph/src入main/tests入test,同15:20先例,待主理人确认) | S-cfc-34(B-35)在途lan-248 | 8YELLOW实现sha全IN CHAIN复核8/8 | 部署confirmed20/pending0 | 变更感知0新键 | 会话2 running(local-45278/lan-248)其余idle | SC覆盖5/241 | 双文件hash-object入库
Bug 修复
S-cfc-33 修复 AI 问卷生成 100% 降级 (B-34) - GenerateRequest 补 prompt_template 字段 + build_prompt getattr 防御
v1.0.2142 (2026-11-06)
文档
研发负责人 错峰03 第45轮 | 状态机22键=12DONE+8YELLOW+2RED(新增langgraph.questionnaire.generate/dan.report.parseFormat) | 突破零派发:B-34(P0)/B-35(P1)转任务S-cfc-33/34并全派发在途(axonhub/deepseek绕黑窗,local-45278/lan-248) | 8YELLOW实现sha第45轮全IN origin/cfclub核验 | 池空不收手:测试侧65轮新缺陷为最高优先任务源 | O-1~O-8无待裁决遗留 | 8YELLOW收口依赖测试侧mark-green(TR-6) | 单文件hash-object入库
v1.0.2141 (2026-11-06)
文档
研发负责人 错峰03 第44轮 | 状态机20键=12DONE+8YELLOW+0RED稳态 | 8 YELLOW实现sha第44轮全IN origin/cfclub核验 | O-8主管人最终确认(241归一落地核验通过,sc-key-map唯一SC=241=主表行数,DEV_GOAL同步241,5SC已跑通) | 0派发(池空+黑窗) | 8YELLOW收口依赖测试侧mark-green(TR-6) | 契约核对滚动B-1跟进+商城-会员18SC开工包已转TR-8 | dispatch.py缺陷O-6待主理人派发 | 双文件hash-object入库
第50轮研发负责人标准汇报(O-8 归一 236→241 落地 + 商城-会员 18 SC 开工包 + TR-8 转测试侧)
商城-会员 18 SC 开工包(18/18 端点已实现 0 缺失)+ TR-8 登记转测试侧
研发负责人 第50轮 O-8 归一落地 | sc-key-map 唯一 SC ID=主表行数=241(O-3 5 SC 双行制归一+SC-P-94~96/SC-C-26/SC-A-27 入册)| DEV_GOAL 顶层目标同步 241 | pending.md O-8 置已裁决生效 | 三文件 hash-object 入库
任务-激励 22 SC 契约核对结论(P0 契约补建批次)
测试
测试负责人 第65轮 全量clean实测 231类1847例=1769绿/95.78%(+2.28pp) 红例116→74 · B-29三行Mockito修正实证(预测95.78%=实测95.78%) · 前端313/313 管理端90/90 pytest49/2/12(96.08%) · 新发现B-34(P0 问卷GenerateRequest缺prompt_template→AI问卷100%降级)/B-35(DAN解析A1A2B4仍失效)/B-36(根级23例门控0执行) · 门禁不通过(有条件)
其他
非研发实现型 RED,建议能力键映射 12 条,转测试侧 TR-8
- test-requests.md:新增 TR-8(商城-会员 18 SC 契约补建,待测试处理)
- 基于 origin/cfclub 单文件入库(未触碰工作区他人 WIP)
- 3 处字面路径命名/归属差异(语义已实现,非能力缺口):points/exchange create->submit、tasks/statistics->task-reminders/statistics、SC-T-18 growth-task/batch-complete 归 TaskController
- 12 个指定 SC(P-13/P-14/P-15/P-16/P-88、C-09/C-10/C-22/C-24、A-05、P-77/P-86)逐条确认接口已实现
- 仅新增 docs/tdd/orchestration/task-incentive-contractcheck-202611070117.md,未改业务代码/测试/DB迁移
v1.0.2140 (2026-11-06)
文档
研发负责人 第49轮 汇报 webhook 窗口外说明回填(01:10 属 06:00-22:00 窗口外,未发)
研发负责人 第49轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 突破零派发:按O-7授权滚动P0批次 任务-激励22SC开工包(ce8c4b4b7 )+A/B组契约核对派发(lan-248/lan-204,axonhub绕黑窗已确认) | 18端点18/18已实现0缺失(防假RED) | 8YELLOW实现sha全IN CHAIN复核(8/8) | O-7生效继续滚动+O-8待主理人确认(236→241) | SC覆盖5/236 | 双文件hash-object入库
任务-激励 22 SC 开工包(P0 契约补建批次)接口范围端点核验 22/22 已实现 0 缺失
v1.0.2139 (2026-11-06)
文档
研发负责人 第48轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+黑窗) | O-7生效+B-1/B-2契约核对完成/216SC契约补建待P0派发 | O-8待主理人确认(236→241) | SC覆盖5/236 | 单文件hash-object入库
v1.0.2138 (2026-11-06)
文档
研发负责人 第47轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+黑窗) | O-7生效+B-1/B-2契约核对完成/216SC契约补建待P0派发 | SC覆盖5/236 | 单文件hash-object入库
v1.0.2137 (2026-11-06)
文档
研发负责人 第46轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+黑窗) | 主理人裁决O-7生效(契约补建工作流授权) 核验B-2产出525a40b70 已合入API_REFERENCE 4.59 | 登记O-8(sc-key-map归一+5新SC入册236→241,待主理人确认) | SC覆盖5/236 | 单文件hash-object入库
v1.0.2136 (2026-11-06)
测试
测试负责人 第64轮 定向契约复验 15类169例=165绿/4红(97.63%) 独立worktree干净基线 · 4红全承袭零漂移(P-2 3+S-cfc-31 1) · testCompile 232源0错 · 5证据sha全IN CHAIN · 状态机5键GREEN第7轮维持 · 门禁不通过(承袭,有条件)
v1.0.2135 (2026-11-06)
文档
研发负责人 错峰03 第43轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空) | 主理人裁决O-7生效(契约补建工作流授权=文档核对+端点比对防假RED,非实现型RED,渐进批次) | 核验B-1/B-2契约核对在途(B-2产出525a40b70 已合入API_REFERENCE 4.59) | SC覆盖5/236 | 单文件hash-object入库
其他
B-2 报告闭环开工包 API 契约核对补全:新增 API_REFERENCE 4.59(report-parse/report-parse 解析中台、健康报告全链路、代传闭环 proxy-parse/proxy-confirm、报告权限/分享、DAN 报告模块、趋势与饮食推荐、LangGraph 依赖登记、契约缺口映射)+ PROJECT-OVERVIEW 追踪
v1.0.2134 (2026-11-06)
测试
测试负责人 第63轮 增量复核+WIP实测确认 前端313/313·管理端90/90·pytest49/2/12(96.08%) 后端承袭1847/93.50%零漂移(第8次) · WIP价值预测变实测(67绿可入库) · B-29确认3行Mockito即95.78% · 门禁不通过(有条件)
文档
研发负责人 第45轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+216SC契约前置阻塞) | 裁决O-7(契约补建工作流授权=文档核对+测试侧补证据,非实现型RED,渐进批次,待主理人确认) | 核验B-1/B-2契约产出在途 | SC覆盖5/236 | 单文件hash-object入库
v1.0.2133 (2026-11-06)
文档
研发负责人 第44轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | B-1/B-2开工包66SC端点100%已实现核实(0缺失,防假RED) | 派发2契约核对(lan-248/lan-204,axonhub/deepseek绕黑窗,已确认执行) | 0新键+0入池(契约补建=文档核对+测试侧补证据,非实现型RED) | 登记O-7(契约补建工作流授权待裁决)+TR-7(测试侧补66SC契约JUnit+三类流) | SC覆盖5/236 | 单文件hash-object入库
v1.0.2132 (2026-11-06)
测试
B-33 根因登记 .gitignore:70 *.py 全局忽略导致度量脚本无法入库 · B-32/B-15 状态修正为部分解除
测试负责人 第62轮 全量实测 231类/1847例/1727绿=93.50% (剔环境93.94%) · 36红类/116红例 · 恒等式1838-20+3+26=1847误差0 · 与20:20轮全字段零漂移(第7次) · 定位一步可达通过: WIP修3行Mockito即-42红, 后端95.78%/合计96.37% · 新增B-29~B-32 · 门禁不通过(有条件)
v1.0.2131 (2026-11-06)
文档
研发负责人 错峰03 第42轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 7键YELLOW实现sha全IN CHAIN核验(1键sleep.config.tags证据误配待交真实sha) | 0派发(池空+216SC契约前置阻塞) | 新initiative:216SC契约补建计划+43+23开工包已落origin但0契约合入→建议O-7授权启动契约补建工作流解锁派发 | SC覆盖5/236 | 测试侧93.50%(1727/1847)待mark-green8YELLOW | 单文件hash-object入库
v1.0.2130 (2026-11-06)
文档
研发负责人 错峰03 第41轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 实现 sha 全 IN CHAIN+触及main(5后端+3前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键,SC-X-22/T41/11-06spec实现均已合入无缺口) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
测评-方案 43 SC + 报告闭环 23 SC 开工包(B-1/B-2 配套批次)
研发负责人 错峰03 第40轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN+触及main(6后端+2前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
216 个待契约 SC 契约补建计划(15 业务线/P0-P2 分批)
研发负责人 错峰03 第39轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN 复核 | 主理人裁决 O-5(B-26 主工作区WIP)已裁决推进+O-6(dispatch证据误配缺陷)已裁决 | 0派发(池空+黑窗至11-07 08:00)+0新键 | 单文件hash-object入库
其他
- 归属 P0「测评-方案」43 条 SC(测评 12 / 方案 21 / 规划师绑定 5 / 孩子执行 3 / AI 教练 3)
- 建议能力键 44 个(全量去重,无重叠)
- 定契约接口范围已锚定到 origin/cfclub 现存的 DanAssessmentController / HealthPlanController / OrchestrationController / GuidePlanReviewController / PlanReviewController 等端点
- 风险注记 5 项(Orchestration flow 语义待明确、T-26/T-27 跨域拆分、H-02 无既有 Controller、LangGraph 跨仓、X 全链路后置)
B-2 开工包:
- 归属 P0「报告闭环」23 条 SC
- 19 个去重能力键(含 health.report.* / dan.assessment.* / admin.reportParse.* / coach.* / misc.* / provider.*)
- 风险注记 3 项(LangGraph 报告解读依赖、X 全链路后置、P-91 五维引擎解耦)
- 按业务线分 15 批:P0 133 个(测评-方案43/报告23/任务22/商城18/家庭15/五维12)+ P1 40 + P2 43
- 策略:契约定一批→映射能力键→入池→派发,渐进推进
v1.0.2129 (2026-11-06)
文档
研发负责人1 标准汇报 2122 轮 + TR-6 请求测试侧收口 8 YELLOW
v1.0.2128 (2026-11-06)
文档
研发负责人 2117 轮(本自动化第43轮)闭环巡检 | 状态机20键=12DONE+5YELLOW+3RED | 互斥✓(state.json 59分钟前) | 678会话全idle/0恢复/0派发(池空+0新增键+黑窗至11-07 08:00) / 部署缺口3条本机复核真缺口(292087771后guideconfig 5文件264插入) / 5转正SC证据sha全ancestor✓ / CI 5783bb294 在链 / SC 5/236 | 单文件hash-object入库
测试
测试负责人 第61轮 · 干净基线定向契约复验 15类/176例/172绿(97.73%)·4红全承袭(P-2 3红+S-cfc-31 1红)·testCompile 232源0错·5证据sha全IN CHAIN(含补检55caf6966 )·G7状态机5键GREEN第4轮维持·远端+3提交零代码变更·主工作区36项WIP零侵入 | 门禁不通过(承袭有条件)
v1.0.2127 (2026-11-06)
文档
v1.0.2126 (2026-11-06)
文档
研发负责人1 第33轮闭环巡检 | 状态机20键=12DONE+5YELLOW+3RED | git真理核验:3RED为账本滞后(impl+test已入origin) / 4 YELLOW硬证据sha祖先链全✓ / sleep.config.tags证据误配(04d87cfd1 系术语重构,非tags实现) / 3部署缺口(895e500e1 /30ae86d7d /def9c83a3 ) / 0派发(黑窗+池空) / SC 5/236 | 单文件hash-object入库
研发负责人2 第43轮工作汇报(2031)
v1.0.2125 (2026-11-06)
测试
测试负责人 2020 轮 · 第 60 轮·干净基线全量实跑 231类/1847例/1727绿(93.50%)·红类36红例116与18:09基线零漂移·唯一变量GuideConfigServiceTest 11绿·前端386/386·根级11/23·pytest 24/43 | 归因 A51/B19/C20/契约3/待核实23·修完A类G1可达96.26% | B-22收口(鉴权清单27路径参数化28/28)·新增B-27(参数化口径)/B-28(分支切换致59轮报告与B-26/O-5在cfclub丢失)·B-26根因细化为when(mock).method()误用 | 场景溯源149/244=61.1%·可执行仅5/244 | 门禁不通过(有条件)
v1.0.2124 (2026-11-06)
其他
S-cfc-29: 新增历史完成任务页面 + 个人中心跳转调整
- pages.json 注册 pages/tasks/history 路由,标题「历史完成任务」
- profile.vue: 新增 goToTaskHistory(),完成任务卡片由 goToTasks 改为 goToTaskHistory,任务列表入口保持不变
- 后端 /api/tasks/history 已就绪,前端 utils/api.js getTaskHistory 已封装
v1.0.2123 (2026-11-06)
其他
S-cfc-30 growth-history: 新增成长历史记录页,profile.vue跳转指向历史页
- pages.json 注册 pages/growth/history (navigationBarTitleText: 成长历史记录)
- profile.vue goToGrowth() 由跳成长首页改为跳成长历史记录页
- CSS: 新增 .achievement-grid.cols-5 .ach-item { width: 20% } 五列等分
- 不改动全局 .achievement-grid(复用于我的团队/卡券中心),不破坏既有 3 列/2 列布局
- 契约测试 SC-P-96 对应实现落地
新功能
v1.0.2122 (2026-11-06)
新功能
引导浮层已读状态改为按账号记录,内容变化自动重弹
商品标签改为标签选择器录入(与文章标签一致)
其他
- 新增 productTagList 计算属性,与 form.tags(逗号分隔字符串)双向映射
- 回车添加、点标签删除,提示文案同步
[skip ci]
v1.0.2121 (2026-11-06)
文档
方案 v1.0 申请主体锁定北京浠艾福科技 + 实名认证材料清单(打款认证)
华为运动健康开放平台接入方案 v1.0(方案二 Health Service Kit REST API + 双轨产品策略)
研发负责人 第42轮汇报 1800 · CI管线文件落地5783bb294 登记二·七 · 4RED账本滞后(实现+契约全在主线) · 0派发0新增键 · 部署缺口292087771待确认 · 场景覆盖5/236
v1.0.2120 (2026-11-06)
文档
研发负责人 第41轮汇报 1752 · 定时自动化核验 · 4 YELLOW键实现sha全在链上 · 4 RED契约测试全合入实现在主线(账本滞后) · 0派发0新增键 · 跨目录账本分裂发现(测试侧17:04收口5键GREEN于自有账本·主工作树未同步) · 部署缺口292087771目录错位 · 场景覆盖5/236
研发负责人2 第40轮汇报 1729 · B-22/B-25实现合入闭环(292087771/0f6588bb3 )·S-cfc-29~32契约测试全合入·backfill回填6条·部署292087771失败发现(会话目录错位/sc-data/mes/mes)·0新增能力键·场景覆盖5/236·黑窗至11-07 08:00
v1.0.2119 (2026-11-06)
文档
研发负责人 第32轮汇报 1712 · git真理核验8键实现+测试全在origin/cfclub · 4RED账本滞后零派发 · SC覆盖5/236
新功能
我的团队推广收益改CF口径对齐 + 邀请成员直接分享
其他
(旧 CommissionRecord settled 佣金口径)改为 getCfSummary().totalEarned
(CF 值总览口径,与推广中心 promotion/index.vue 收益总览'累计获取CF'一致)。
promotion 的 cfVal 不做分->元换算(cfVal=String(num)),故此处同样不除 100,
保证'我的团队'推广收益数字 = 推广中心'累计获取CF'数字。
- 邀请成员直接分享:团队区块新增'🤝 邀请成员'入口,@click =showShareQr 复用现有
ContentSharePoster(scene=ref=推荐码,路径 pages/index-home/index),好友扫码
进首页自动绑定推荐人,满足推荐/下级绑定。
- 团队区块网格 2 项变 3 项:新增 .achievement-grid.team-grid 让 3 列等宽
(我的团队/推广收益/邀请成员),保持既有视觉协调。
- 仅改 cfc-frontend/pages/profile-main/profile.vue;后端零改动;api.js 仅补 import getCfSummary。
v1.0.2118 (2026-11-06)
文档
修正第25轮汇报统计口径(执行 407 / 通过 388 = 95.3%)
研发侧通知 · O-2方案A 5键契约实跑收口(GREEN)+P-2/PY遗留
测试负责人第25轮 · O-2方案A契约实跑68/68全绿 · 5键mark-green收口
我的团队推广收益口径对齐 + 邀请成员直接分享(推荐绑定)任务书
Bug 修复
我的优惠券已领取券改转赠+使用 + 使用按券类型跳转
prod-etotem 明文口令移出 config.json(回退 null),凭据由 config.local.json 覆盖
其他
使用按 applicableTo 分派:指定商品券(PRODUCT)→确认订单页(自动选券),全品类(ALL)→商城,会员券(MEMBERSHIP)→开通会员,兜底→商城
- coupons.vue: 未登录点击使用先弹登录浮层(openLoginSheet);productId 为空兜底跳商城;import 补 productDetail,移除 claimCoupon
- checkout.vue: onLoad 读 options.couponId(券实例ID) 存 _autoCouponId;loadCoupons 后经 autoSelectCoupon 在 ownedCoupons 中匹配自动选中并重算折扣;未命中静默忽略
- 真实口令 OpenCode@123 位于 config.local.json(.gitignore 已忽略,本地私有)
- load_config() 合并验证:prod-etotem 口令 = OpenCode@123 正确生效
v1.0.2117 (2026-11-06)
其他
- prod-etotem 例外:第二档换为 etotem/deepseek(用户 2026-11-06 裁定)
- prod-etotem password 直接写入 OpenCode@123(保留 password_env 备选)
- 移除 nvidia/nemotron 与 axon 候选列表槽位
文档
我的优惠券已领取券按钮修复(转赠+使用)+ 使用按券类型跳转 任务书
v1.0.2116 (2026-11-06)
文档
报告上传页关联商品卡片区(去重可购买)+ 成员4列核验 任务书
v1.0.2115 (2026-11-06)
文档
研发负责人2 标准汇报 1520 轮 · 主理人裁决轮(第39轮)
研发负责人2 主理人裁决轮——pending.md O-3/O-4 台账漂移同步
其他
1. 脚本缺陷修复(P0):git_evidence/commit_kind 前端/Web/商城 src 归入 main;YELLOW/GREEN 推进只认 kind==main(排除 docs/ 误配 d76d24dca );--mark-yellow 只认 main;dispatch_deploy/finalize_deploy 受 write 门控;worklog --dry-run 零副作用。验证:--auto --dry-run 零写盘 + health.report.upload 不再误推进。
2. 账本异常修正:admin.auth.login/health.report.upload 回填真实实现 sha(6c7e09fe8 /78b72c14f kind=main 已推 origin/cfclub),清除 d76d24dca 文档误配。
3. O-3/O-4 台账同步:pending.md 状态列「待裁决」→「已裁决」(0fc5294f2 已推)。
状态机 20 键 = 12DONE + 4YELLOW + 4RED;场景覆盖 5/236(O-3 收口);黑窗至 11-07 08:00;主工作树 WIP 只读盘点不代提交。
O-4 状态列「待裁决」→「已裁决」:2026-11-06 主理人收口 0a50c44cc (顶层目标 218→236 落地,SC-X-22 契约缺口按项登记)。
台账漂移根因:DEV_GOAL §4.2/§4.3 与 sc-key-map.md 已按裁决更新,但 pending.md 状态列仍标「待裁决」。
本轮仅同步状态列,不改裁决正文(保留原始诉求与证据链)。
v1.0.2114 (2026-11-06)
其他
merge(S-cfc-28): B-25 测试装置反射注入已删字段修复 + 同源全量排查
merge(S-cfc-27): B-22 CF N+1 批量优化 + 鉴权清单 401 参数化契约
测试
S-cfc-31 sleep.config.tags 契约级单测 (21绿/1红 blank-key 缺陷) 闭环 RED->绿
v1.0.2113 (2026-11-06)
测试
S-cfc-30 growth.history.view 契约级单测 GREEN (RED->绿)
契约级单测覆盖能力键 task.history.view(POST /api/tasks/history 任务历史查询分页+category过滤)
其他
目标端点 GrowthRecordController(@RequestMapping /api/growth)读视图:
- POST /record/list -> getRecordList (父视角档案列表)
- POST /record/child/{id} -> getChildRecords (指定成员档案列表)
- POST /record/{id} -> getRecordDetail (单条明细回链)
- POST /record/{id}/supplements -> getSupplements (补充记录列表)
覆盖:正常路径 + 关键边界(空列表/不存在/空补充记录)
+ 角色权限(JwtInterceptor 层鉴权、按 userId 属性数据隔离,
客户端 body/query 不可越权覆盖 userId)
溯源:tests/user-scenarios/应用场景总览.md SC-P-95
+ docs/需求分析/2026-11-06-成就成长打卡需求变更.md 变更B
测试:mvn -q -Dtest=GrowthHistoryViewContractTest test -DskipTests=false
-> Tests run: 9, Failures: 0, Errors: 0 (全绿)
隔离:MockMvc standalone + mock GrowthRecordService,无 Spring 上下文/DB/外部服务
不改 src/main(未暴露缺陷)
- 对应 SC-P-94「完成任务→历史完成任务页面」+ 需求变更 A;handler 无角色检查,角色由 JwtInterceptor/Service 承担(teacher|admin 不适用本层)
- 测试隔离:MockMvc standalone + mock TaskService,无 Spring 上下文/无 DB/无外部服务
- 运行结果:Tests run: 7, Failures: 0, Errors: 0, Skipped: 0(src/main 零改动,未暴露缺陷)
文档
研发负责人 第38轮汇报 1422(稳态核验·4 RED契约测试29/32已合入4adb7895c /7ca946b32 ·2键实现已存在待测试侧复测红绿·B-25产出e1eb3245b 待合主·admin.auth.login/health.report.upload账本领先实现·5新SC P-94~96/C-26/A-27未同步台账·0新增能力键·场景覆盖5/236·黑窗至11-07 08:00)
v1.0.2112 (2026-11-06)
文档
研发负责人2 补充汇报 1415 轮(配置调整:lan-204启用·删iwintrue-cloud·max_parallel6·dry-run副作用派发S-cfc-29~32·账本三次清污·脚本缺陷取证:--auto证据误配文档提交d76d24dca 当部署证据+--auto--dry-run未抑制写盘派发·状态机20键12DONE/4YELLOW/4RED·黑窗至11-07 08:00)
其他
S-cfc-32: add contract tests for achievement.grid.fiveCol (BadgeController.getMemberBadges)
- Covers: explicit memberId, fallback to currentMemberId, empty list, missing badge definition filtering, sorting by favorite+earnedAt, null memberId returns empty, role access for parent/teacher/admin/child
- Pure unit test: MockMvc standalone + Mockito, no DB/external deps
v1.0.2111 (2026-11-06)
文档
研发负责人1 第37轮汇报——5 任务派发(B-22 重派 S-cfc-27 + 4 RED 写单测 S-cfc-29~32)+ B-25 产出 e1eb3245b 待合入 cfclub + CI/编号口径待主理人裁决 | 状态机 20 键=12DONE+4YELLOW+4RED | 黑窗至 11-07 08:00 自动 fallback 模型 | 0 新增能力键 | 主工作树 46 处 WIP 只读盘点不代提交
v1.0.2110 (2026-11-06)
文档
测试负责人 13:13 轮 · 第 24 轮例行闭环巡检 | 主口径 14 类 159 例 156 绿/3 红(P-2,非新回归)/0 错 + testCompile 0 错(B-10 第 14 轮无复发,Membership src/main 变更未破坏编译)+ 4 证据 sha IN CHAIN(补深后第 8 轮)+ S-cfc-17/18/19 契约复跑 52/52 全绿 + state.json 3 伪 RED 第 24 轮未动 + O-1 第 24 轮更新
v1.0.2109 (2026-11-06)
文档
研发负责人2 标准汇报 第36轮(黑窗期池空稳态巡检·状态机12DONE/4YELLOW/0RED·admin.auth.login/health.report.upload账本异常YELLOW无yellow_sha实现确证未落地交主理人·部署缺口135be8ecd 前端upgrade.vue未部署·O-4已裁决236落地但pending.md未同步·O-3待裁决·13:14需求变更2cc7e3aad 场景入表观察·0新增能力键·黑窗至11-07 08:00)
成就成长睡眠打卡需求变更 + SC-P-94~96/SC-C-26/SC-A-27 场景入表
研发负责人5 标准汇报 1303 轮(第28轮·黑窗期fallback巡检·完成787010381测试环境部署收口·cron 12:46自动部署30bce074 ·/api/membership/discount 410 JAR内容级验证·状态机12DONE/4YELLOW/0RED·admin.auth.login/health.report.upload账本异常(YELLOW无yellow_sha)交主理人·0新增能力键·黑窗至11-07 08:00)
其他
- 应用场景总览:新增 SC-P-94/95/96(家长成就与成长历史)、SC-C-26(睡眠打卡配置驱动)、SC-A-27(睡眠选项维护),场景总数 236→241
- 入池锚点:task.history.view / growth.history.view / sleep.config.tags / achievement.grid.five-col
v1.0.2108 (2026-11-06)
Bug 修复
升级记录去除「登录查看」占位,等级名与金额按后端实际字段渲染
其他
levelName 字段),前端 record.amount 恒为 undefined,而全局 formatPriceWithSymbol()
对 null/undefined 返回游客占位「登录查看」→ 登录后升级记录仍显示「登录查看」,
且等级名为空白。
- record-level 改用 getLevelName(record.toLevel)(按等级码映射等级名)
- record-amount 改用 getRecordAmountText(record):无金额显示 "—",有金额才
formatPriceWithSymbol 格式化为 ¥x.xx
- 验证:verify-vue-compile PASS(模板/样式/脚本通过)、audit-mp-antipatterns ERROR 0
- 提示:小程序需 HBuilderX 重新打包后生效(本提交仅改源码)
v1.0.2107 (2026-11-06)
文档
研发负责人1 第34轮汇报——处置 B-22/B-25(派发 S-cfc-27/28)+ CI 启用裁决请求 + 编号口径建议(主理人裁决项)
研发负责人1 第33轮补充——B-22/B-25 派发 S-cfc-27/28 + CI 启用裁决请求 + 编号口径规范建议(主理人裁决项)
研发负责人3 标准汇报 1211 轮(第38轮·错峰03·污染修复+缺陷取证·_git_evidence_sha误配把文档提交当实现证据·admin.auth.login/health.report.upload yellow_sha回空+无效部署pending清除·YELLOW4/DONE12/RED0·两键实现确证未落地·S-cfc-21~26被假标done·O-3/O-4已裁决·黑窗至11-07 08:00)
研发负责人1 第33轮汇报(分派 S-cfc-23~26 缺陷修复)
研发负责人 1156 轮(第36轮·稳态核查·B-2/B-3实现会话在途·last_deployed后src/main缺口登记·O-3/O-4已裁决·部署缺口787010381)
v1.0.2106 (2026-11-06)
文档
研发负责人1 标准汇报 1130 轮(第32轮·收口S-cfc-19/20错位·重派S-cfc-21/22实现 admin.auth.login/health.report.upload·B-2/B-3溯源·状态机12DONE/4YELLOW/0RED·黑窗08:00已解除·last_deployed=6481a995e 零src/main缺口·工作树42处WIP只读盘点不代提交·hash-object+临时索引精确入库)
其他
$uni-font-size-5xl 令牌改回 80rpx/72rpx(避免令牌收敛后字重与字号偏离设计)
- tools/xaf_agent_hub/tasks_backlog.json:U7 状态回填 done 并补 merge_commit b5a7e4116 ;
新增 DOC-2026-11-05-miniapp-games-entry 条目(已执行完成)
BASIC/FAMILY/PREMIUM 统一=会员价(实际成交走 MemberPriceResolver + products.member_price,
仅按 min_discount_level 判门槛,不存在按等级递增的百分比折扣)
- 删除随之失效的 formatDiscountBps(bps→「X折」展示)
- 迁移450:membership_benefits 的 FAMILY/PREMIUM「商品会员折扣 全场商品 8-9折/6-8折」
对齐为「商品会员价 / 指定商品享会员价」(DML 幂等),schema.sql 种子同步
- POST /api/membership/discount 置 410 废弃(核对小程序/管理端零调用),
MembershipController.applyDiscount、MembershipService(.applyMemberDiscount)、
MembershipServiceInterface 同步标 @Deprecated
- 文档/测试同步:API_REFERENCE 4.50、PROJECT-OVERVIEW、membership-flow、e2e 冒烟断言 410
- 验证:cfc-backend mvn -q -DskipTests compile 通过
Bug 修复
v1.0.2105 (2026-11-06)
文档
研发负责人1 标准汇报 1052 轮 · 第31轮例行闭环巡检 | 状态机16键=12DONE+4YELLOW+0RED | 核心发现 S-cfc-19/20 GREEN实现任务未产出(会话产出错位:S-cfc-19纯测试提交 c11295c1c / S-cfc-20 tokens=0,两键缺实现) | DEV_GOAL 218→236 落地(O-4裁决) | 0派发0部署0add-task | 主工作树41处WIP只读盘点不代提交 | hash-object+临时索引精确入库
研发负责人5 标准汇报 1040 轮 · 第28轮例行闭环巡检 | 状态机16键=12DONE+4YELLOW+0RED | 核心发现 S-cfc-19/20 GREEN实现任务未产出(dispatch.py指令与GREEN阶段错配,两键缺实现) | 部署基线6481a995e 后零src-main无部署需求 | 0派发0部署0add-task | 主工作树37处WIP只读盘点不代提交 | YELLOW双键(createReport/getActiveMaterial)待测试mark-green
回填 O-3 收口汇报 sha(O-4+O-3 裁决轮 commit ffafdb214 )
主理人 O-3 收口——判据③细化为「SC 关联提交级」核验,5 个 SC 转正跑通(SC-G-02/G-06/P-03/P-10/P-11),累计已跑通 0→5、阻塞 5→0;补齐 O-4 §4.2 节 + 新增 O-3 §4.3 收口节;sc-key-map 5 行转正 + 计数口径同步;DEV_GOAL/sc-key-map/汇报三方同步(附录 G 主工作树 WIP 只读盘点不代提交)
主理人 O-4 裁决落地——顶层目标 218→236(sc-key-map 表格行口径正本 236,A24/G12/P93/C25/T32/S11/X22/B10/H7;更正 0935 轮 237 统计误差;总览残留 SC-B-03/08 空号与 SC-T-6=SC-T-06 变体不计入;DEV_GOAL/SC-key-map/CI_READINESS 三方同步)
研发负责人3 标准汇报 1000 轮(第37轮·错峰03·2键RED→YELLOW admin.auth.login/health.report.upload·派发S-cfc-19/20实现·修复回填误配(1d2f61932 →9e391ac5d )·YELLOW4/DONE12/RED0·6证据sha祖先链全✓·last_deployed=6481a995e 零src/main缺口·O-3/O-4/O-1待主理人裁决·webhook>4h待发)
研发负责人 0935 轮汇报 1.4 回填实际 sha(1d2f61932 )
研发负责人 0935 轮(第35轮·池空稳态·恢复S-cfc-17 RED·DONE12/YELLOW2/RED2·0新增能力键·8证据sha祖先链全✓·last_deployed=6481a995e 零src/main缺口·6实例719会话2运行717idle·O-3/O-4待主理人裁决·webhook距上次<4h未发
测试
测试负责人 1055 轮 — S-cfc-17/18/19 新 RED 契约 52 例全绿落地验证 + 契约复验 156绿/3红 + O-1 第23轮
补齐 health.report.upload(HealthDimensionController /api/dimension/upload)契约级单测 21 例全绿,仅测试不改实现
admin.auth.login 契约级单测补齐(15 例全绿,仅测试不改实现)
补齐 health.report.upload 契约级单测(16 例全绿,B-3 报告上传校验)
其他
本提交补齐登录契约最小闭环,与既有 AdminAuthControllerLoginStatusTest(B-2/R5 空 body/缺参 400)
互补,聚焦:
- 正常路径:admin/teacher 成功、遗留角色归一化(activity_admin→activity_manager、
supplier_admin→supplier)、多角色 loginRole 身份选择(token roles 选中身份置顶)、
无 roles 列表回退主角色;
- 关键边界:用户不存在、验证码错误(recordFailure)、登录锁定(剩余分钟提示)、
skipCaptcha 跳过校验、X-Forwarded-For 锁键 IP 口径、nickname 为空回退手机号;
- 角色/权限:parent/child 等 C 端账号拒绝、非法 loginRole 拒绝。
验证:mvn -DskipTests=false -Dtest=AdminAuthControllerLoginContractTest test 15/15 通过;
同域 AdminAuth*(LoginStatus 10 + WechatScan 11)36/36 通过,无回归。
暴露缺陷(登记不改实现,交编排侧 GREEN 决策):
blockers.md B-2 / test_blockers.md R5 期望无后台角色/非法身份返回 401/403,
当前实现仍以业务码 500 + HTTP 200 信封表达(Result.error),测试如实断言现状。
仅新增测试文件,未改动 src/main。
v1.0.2104 (2026-11-06)
文档
研发负责人1 标准汇报 0859 轮(第31轮·黑窗解除后首个实质派发轮·新增2 RED入池派发 S-cfc-17 admin.auth.login/S-cfc-18 health.report.upload·B-2/B-3溯源·状态机 RED2/YELLOW2/DONE12·last_deployed=6481a995e 零src/main缺口·5智能体250会话全idle·O-3/O-4待主理人裁决
v1.0.2103 (2026-11-06)
文档
研发负责人1 标准汇报 0850 轮(第30轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·8证据sha祖先链复核✓·last_deployed=6481a995e 后51提交零src/main无部署缺口·5智能体全idle配额0/3·测试侧0844轮B-18自修收口HealthDimension 15/15·O-3/O-4待主理人裁决
研发负责人2 标准汇报 0832 轮(第28轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·last_deployed=6481a995e 后49提交零src/main无部署缺口·5实例全idle·B-21已解除·O-3/O-4待主理人裁决)
测试
测试负责人 0844 轮 — B-18 自修收口(HealthDimension 15/15) + 契约复验 102绿/5红 + O-1 第22轮
v1.0.2102 (2026-11-06)
文档
研发负责人5 标准汇报 0027 轮(第27轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·基线6481a995e 后47提交零src/main无部署缺口·5实例全idle·B-21已解除·O-3/O-4待主理人裁决)
研发负责人 0755 轮(第34轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·0新增能力键·8证据sha祖先链复核✓·last_deployed=6481a995e 后零src/main无部署缺口·6实例715会话全idle·O-3/O-4待主理人裁决·webhook窗口外未发)
研发负责人1 标准汇报 0739 轮(第30轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·4证据sha祖先链复核✓·last_deployed=6481a995e 后零src/main无部署缺口·5智能体250会话全idle配额0/3·黑窗至08:00零派发·O-3/O-4待主理人裁决
研发负责人1 标准汇报 0725 轮(第29轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·4证据sha祖先链复核✓·last_deployed=6481a995e 后44提交零src/main无部署缺口(3d3cb183c 纯src/test)·5智能体全idle配额0/3·B-25待测试侧自处置·O-3/O-4待主理人裁决
研发负责人 0715 轮(第34轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·8证据sha祖先链复核✓·路由1937条0冲突·双ButlerController无Bean冲突·B-23已入库台账滞后·last_deployed=6481a995e 后43提交零src/main无部署缺口·场景覆盖0/236阻塞5待O-3·O-1本机已同步/3/4待主理人裁决
研发负责人5 标准汇报 0026 轮(第26轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·基线6481a995e 后42提交零src/main无部署缺口·5实例全idle·B-21已解除·O-3/O-4待主理人裁决)
v1.0.2101 (2026-11-05)
文档
研发负责人 0633 轮(第33轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·8证据sha祖先链复核✓·B-21连续2轮清零P-2/B-18 A类非研发RED·last_deployed=6481a995e 后40提交零src/main无部署缺口·场景覆盖0/236阻塞5待O-3·O-1本机已同步/3/4待主理人裁决
研发负责人1 标准汇报 0624 轮(第29轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·8证据sha祖先链复核✓·last_deployed=6481a995e 后39提交零src/main无部署缺口(3d3cb183c 纯tests/89b01f973 测试docs)·5智能体全idle配额0/3·O-3/O-4待主理人裁决
测试负责人 0612 轮(第53次)——契约 11 类 107 例 102绿/5红/0错(P-2 3红+B-18 2红,B-21 连续第2轮清零维持,B-10 第11轮无复发,2 YELLOW 键契约第12轮复验通过)· 4 sha IN CHAIN · 状态机同步缺口第21轮(mark-green 证据链就绪)
研发负责人1 标准汇报 0615 轮(第28轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·B-21已解除B-25新增A类装置·last_deployed=6481a995e 后37提交零src/main无部署缺口·O-3/O-4待主理人裁决)
研发负责人2 标准汇报 0610 轮(第26轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·YELLOW 双 sha 祖先链复核✓·last_deployed=6481a995e 后 36 提交零业务源码改动无部署缺口·O-3/O-4 待主理人裁决)
v1.0.2100 (2026-11-05)
文档
研发负责人5 标准汇报 0551 轮(第25轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·B-21已解除a939397bb 测试侧自修17/17·last_deployed=6481a995e 后零src/main无部署缺口·O-3/O-4待主理人裁决)
v1.0.2099 (2026-11-05)
文档
研发负责人 0524 轮(第32轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·B-21已解除a939397bb 测试侧自修17/17·8证据sha祖先链复核✓·last_deployed=6481a995e 后零src/main无部署缺口·场景覆盖0/236阻塞5待O-3·webhook窗口外未发)
研发负责人1 第27轮闭环巡检汇报(2026-11-06 0515,只读稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·B-21已解除a939397bb 测试侧自修17/17·YELLOW双sha祖先链复核✓·last_deployed=6481a995e 后零src/main无部署缺口·黑窗至08:00零派发·O-1/O-3/O-4待主理人裁决)
研发负责人1 闭环巡检第27轮汇报(2026-11-06 0508,池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·证据链8 sha祖先链复核✓·B-21测试侧自修已合入·last_deployed=6481a995e 后零src/main改动无部署缺口·O-3/O-4待主理人裁决)
研发负责人2 标准汇报 0455 轮(第25轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·YELLOW 双 sha 祖先链复核✓·last_deployed=6481a995e 后零源码改动无部署缺口·O-3/O-4 与台账 drift 待主理人裁决)
Bug 修复
B-21 SC-P-11 契约修复——TaskControllerReviewTest 补 RewardRuleService mock 恢复 17/17(52 轮测试自修)
其他
- 修复前后实测:15/17(2 NPE) → 17/17 全绿;完整 9 类 79 例复验 74 绿/3 红(P-2)/0 错
- G8 契约红 5→3;blockers B-21 置已解除(附修复证据);新增 0502 轮报告
v1.0.2098 (2026-11-05)
文档
研发负责人5 标准汇报 0445 轮(第24轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·last_deployed=6481a995e 后零src/main改动测试环境已最新无需部署·B-21测试侧接线缺口·O-3/O-4待主理人裁决)
v1.0.2097 (2026-11-05)
文档
测试负责人 03:46 轮实际执行汇报(后端 1700 例 92.5% 通过率 220 类全跑 · 前端/管理端全绿 · 较上轮净减 10 错误无新增回归 · 门禁不通过)
v1.0.2096 (2026-11-05)
文档
研发负责人 0414 轮(第31轮·稳态核查·DONE 12/YELLOW 2/RED 0·0新增能力键·713会话全idle·证据链7 sha祖先链复核✓·last_deployed=6481a995e 后零main变更·场景覆盖0/236阻塞5待O-3·webhook窗口外未发)
v1.0.2095 (2026-11-05)
文档
研发负责人1 第26轮闭环巡检汇报(2026-11-06 0403,池空稳态)
研发负责人1 闭环巡检第26轮汇报(2026-11-06 0354,池空稳态)
dev2 report round 24 2026-11-06
研发负责人5 标准汇报 0340 轮(第23轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·last_deployed=6481a995e 后零src改动测试环境已最新无需部署·B-21测试侧接线缺口·O-3待主理人裁决)
v1.0.2094 (2026-11-05)
文档
研发负责人 0308 轮(第30轮·稳态核查·RED 0/YELLOW 2/DONE 12·0新增能力键·713会话全idle·证据链7 sha祖先链复核✓·last_deployed=6481a995e 后零main变更·场景覆盖0/236阻塞5待O-3·webhook窗口外未发)
研发负责人1 标准汇报 0255 轮(第26轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·证据链 4 sha 祖先链复核✓·last_deployed=6481a995e 后零真实 main 缺口·O-3/O-4 待主理人裁决·场景覆盖 0/236 证据链齐备 5 待门禁·lan-189 部署目标 sha 待核)
研发负责人1 第25轮闭环巡检汇报(池空稳态,2 YELLOW 待测试 mark-green)
研发负责人2 标准汇报 0235 轮(第23轮·稳态核查·DONE 12/YELLOW 2/RED 0·无新增能力键·2 YELLOW sha 祖先链复核✓·last_deployed=6481a995e 后零 main 改动无部署缺口·O-3/O-4 待主理人裁决·台账 drift 重述)
v1.0.2093 (2026-11-05)
文档
研发负责人5 标准汇报 0226 轮(第22轮·稳态核查·DONE 12/YELLOW 2/RED 0·无新增能力键·last_deployed=6481a995e 后零 main 改动测试环境已最新无需部署·B-21 测试侧接线缺口非生产缺陷·O-3 待主理人裁决)
v1.0.2092 (2026-11-05)
文档
研发负责人 0155 轮(第29轮·稳态核查·DONE 12/YELLOW 2/RED 0·无新增能力键·场景覆盖 0/236 阻塞5 待O-3·webhook 窗口外未发)
研发负责人1 标准汇报 0147 轮(第25轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·5 节点 250 会话全空闲·last_deployed=6481a995e 后零真实 main 缺口·O-1 纯同步第19轮·B-21 第5次复现·O-3/O-4 待主理人裁决
测试负责人 01:35 轮(主口径契约 79 例复验 74 绿/3 红/2 错·与 22:13 一致·B-21 第 5 次确认复发·P-2 3 红·B-18 2 红·B-10 连续第 10 轮无复发·2 YELLOW 键契约连续第 10 轮复验通过·远端+26 提交不含测试代码基线稳定·状态机伪 RED 第 19 轮纯同步缺口·台账 359/1942/19.2%/220/1715/2990)
研发负责人1 标准汇报 0135 轮(第24轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·无在途会话·2 YELLOW 待测试 mark-green·last_deployed=6481a995e )
研发负责人2 标准汇报 0120 轮(第22轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-3/O-4 待主理人裁决·last_deployed=6481a995e 后零 main 改动无部署缺口)
研发负责人2 标准汇报 0120 轮(第22轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-3/O-4 待主理人裁决·last_deployed=6481a995e 后零 main 改动无部署缺口)
v1.0.2091 (2026-11-05)
文档
研发负责人5 标准汇报 0116 轮(第21轮·完成测试环境部署至6481a995e ·状态机 12 DONE/2 YELLOW/0 RED·无新增能力键·B-21 已定性为测试侧接线缺口非生产缺陷·O-3/O-4 待主理人裁决)
v1.0.2090 (2026-11-05)
文档
研发负责人标准汇报 0035 轮(第25轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-3/O-4 待主理人裁决·webhook 非窗口期未发)
v1.0.2089 (2026-11-05)
文档
研发负责人1 标准汇报 0010 轮(第24轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-1 终局已消·SC 口径确认演进 236·O-3/O-4 待主理人裁决)
v1.0.2088 (2026-11-05)
Bug 修复
权益对比表按 API_REFERENCE 4.50 契约适配(columns=大写码数组 / rows={name,小写码:文本}),修复会员中心与升级页对比内容全部空白
U7 第三轮 - 二次核验 FAIL 2 项必修定点修复(report-result .hero-score-num 6xl→5xl 恢复 80rpx 基线;wealth/index .insurance-empty-icon display→4xl 恢复 64rpx 基线)
U7 返工 - 大字号/字重收口核验 FAIL 修复(5 项必修)
会员状态检查改用 utils/api.getMyMembership 封装,修复 getApp().$config 为 undefined 导致开通会员/优惠券页 onLoad 崩溃
文档
研发负责人1 标准汇报 2348 轮(第23轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·B-23 SC-X-22 契约测试入库自解除·O-1 状态机同步缺口已消·⚠ O-3/O-4 待主理人裁决)
研发负责人2 标准汇报 2322 轮(第21轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·YELLOW 双 sha 祖先链核验通过·部署台账 confirmed 17 含两 YELLOW 键·⚠ 三方通道台账 drift 新风险 O-3/O-4/TR-4/TR-5/B-21 未入 canonical docs)
研发负责人5 标准汇报 2315 轮(第20轮·完成测试环境部署·B-21 定性为测试侧接线缺口非生产缺陷·状态机 12 DONE/2 YELLOW/0 RED·无新增能力键·维度合并 aa6ccb2dd 已上线且无双实现路由风险)
其他
1. uni.scss 删除 6xl 后定义重复块(100rpx 覆盖 96rpx),-font-size-6xl 实际生效 96rpx
2. 回滚 24 处 48rpx→4xl(64rpx) 错映射为 -font-size-display(48rpx),与拍板「48 保真」一致
3. 回滚 9 处 80rpx→6xl(100rpx) 错映射为 -font-size-5xl(80rpx)
4. 落实拍板②:9 处 font-weight:300 → 400
5. MemberSelector.vue 恢复 .empty-icon/.empty-title 两条规则分行格式
仅改 cfc-frontend/ 样式(font-size/font-weight 值 + uni.scss 令牌),不动模板/脚本/逻辑/路由/DB。
保留 calc(NNrpx * var(--font-scale, 1)) 包裹形态;不改 custom-tab-bar/index.vue。
- uni.scss §2 新增 $uni-font-size-title(40rpx)、$uni-font-size-display(48rpx)
(40/48 保真,不归并放大);新增 $uni-font-weight-extra-heavy(800)、
$uni-font-weight-black-extra(900);$uni-font-size-6xl 100rpx -> 96rpx
- 字号:56rpx×24 -> $uni-font-size-4xl(64rpx)、72rpx×19 -> $uni-font-size-5xl(80rpx)、
88rpx×10 -> $uni-font-size-6xl(96rpx);含 wealth/index.vue .disc-value 误映射纠正
- 字重:A 类大字号 15 处保留 800,改用 $uni-font-weight-extra-heavy;
打卡动画 .energy-anim-text 保留 900,改用 $uni-font-weight-black-extra
- B 类小字号 6 处降级 700(含 ConfigurableGuide/OnboardingGuide 两处遗漏);
20rpx 勾选标记 900 -> 700
- 校验:全库无裸写 font-weight: 800/900 字面量,无裸写 56/72/88rpx 字号
不改业务逻辑、不新增组件、不涉及数据库。
- 40~120rpx 大字号段 13 种裸值归并:42→40, 56→48, 60→64(4xl), 88→80(5xl), 96→100(6xl);
52→3xl、64→4xl、80→5xl、100→6xl 令牌化(保留 calc font-scale 缩放)
- font-weight 收口(§5.4):800×19 + 900×3 → 700,消除 20-30rpx 中文小字号糊字风险
- membership/gift-coupon.vue 裸 80rpx → calc($uni-font-size-5xl * font-scale)(补缩放缺口)
- 交付物:docs/2026-10-31-字重令牌映射与视觉影响评估.md(主理人确认稿)
- 注:components/OnboardingGuide/ConfigurableGuide 两处 800 属规格 22 处口径之外,未纳入
样式
U7 字重/字号收敛按 2026-11-01 主理人拍板定稿
U7 大字号段裸值归并 + font-weight 800/900 收口
v1.0.2087 (2026-11-05)
Bug 修复
兼容 /admin/report-parser 旧链接,重定向到报告类型管理
重构
其他
- 累计积分从网格移除(顶部身份卡已展示,且原 /pages/points/points 为死链)
- 新增「我的团队」分区:我的团队(多团队) + 推广收益
- 新增「卡券中心」分区:我的优惠券(链 pages/profile-extra/coupons, 显示券数) + 获得奖励
- 新增「健康档案」入口行:上传报告(显示份数)
- 接入 getMyCoupons 加载券数;goToCoupons 跳转已有优惠券页
v1.0.2086 (2026-11-05)
文档
测试负责人 22:13 轮(契约 79 例复验 74 绿/3 红/2 错·B-21 第 4 次确认复发·维度合并 aa6ccb2dd 后首验 28 例 26 绿/2 红(HealthDimensionControllerTest 2 红精确化归因 currentMemberId 兜底传参·B-18)·O-1 终局:git fetch --deepen 消除 shallow 假阴性,1767d4414 /c3e32460a 确认在祖先链,研发 20:14 证伪成立,YELLOW sha 卡点消除,降为纯状态机同步单卡点(第 18 轮)·B-10 连续第 9 轮无复发·并入跨批次未推送 B-14~B-24·台账 359/1942/19.2%/220/1715/2990)
v1.0.2085 (2026-11-05)
文档
研发负责人3 错峰03 第29轮汇报 2026-11-05 22:11(证伪测试侧 19:19 O-1 终局判定·YELLOW 2 证据 sha 全部 IN origin/cfclub·DONE 12/YELLOW 2/RED 0·无新增能力键)
v1.0.2084 (2026-11-05)
新功能
T41 成长页新增小游戏入口卡 + 修复孩子首页小游戏死链
报告上传页成员选择固定4列 + 素质测评入口锚点dan_a2→dan_a1
P2-T1 指标多级细化混排 + P2-T2 评分口径文档化
P1-T4 其他消费方去直读统一经注册中心
P1-T3 指标管理关联收敛+树挂接
P1-T1 健康页雷达图改统一维度注册中心配置驱动
统一维度体系增量 - 4根33子维seed(迁移448)+T5历史迁移脚本
其他
action-card「益智小游戏」(复用 .action-card 系列样式,不新增样式),
图标 🎮(warm)、标题/描述/右箭头,@click =goToGames;新增 goToGames 方法
跳转 /pages/games/list 大厅。
- cfc-frontend/pages/home-pages/child-index.vue: goToGames 跳转目标由不存在的
/pages/games/games 修正为 /pages/games/list(死链修复,仅一行)。
设计规格: docs/superpowers/specs/2026-11-05-miniapp-games-entry.md (cfclub abc0b932d )
验证: verify-vue-compile.js 两文件 PASS;audit-mp-antipatterns.js ERROR 0;
cfc-backend mvn compile 通过;cfc-web npm run build 通过(构建产物已还原)。
- 「素质测评 A2」→「素质测评」,副文案改通用表述
- 查看商品锚点 dan_a2 → dan_a1(素质测评A1 核心认知发展评估)
- 实测确认 DimensionRegistryService.getTree(null) 已支持指标挂指标:
指标节点以自身 id 入 idToNode,组装阶段按 parentId 经 idToNode.get 找父,
父为指标节点时 attachChild 正常挂载(合并逻辑无需改动)。
- DimensionNode 新增 dimensionCode 字段(仅指标节点有值),getTree 对指标节点
填充 ind.getDimensionCode()——指标挂指标时子指标继承父指标归属维度 code,
保证子指标 dimensionCode 仍 ∈ 注册中心维度节点 code 集合(P1-T3 校验不破)。
- cfc-web indicators 管理页:树选择放开指标节点作父(disabled=false,维度/指标
均可选),点击指标父节点时 dimensionCode 继承父指标归属,维度节点行为不变。
契约测试(DimensionRegistryTreeTest)仅断言字段存在性,新字段不破坏。
P2-T2(评分口径文档化):
- 新建 docs/superpowers/specs/2026-11-05-dimension-scoring-convention.md:
明确雷达/沙盘/指标三处共享 0-100 量纲 + P5/P25/P75/P95 百分位带 tier,逐条
从代码核实换算逻辑(RadarChart 半径映射/P50 参考、EnergyService clamp 与
五行乘性修正、NormCompareEngine 常模分带线性插值/待补不猜值)。
- DimensionCodeConstants 新增 SCORE_MIN/MAX、BAND_P5/25/75/95 共享常量并注释
来源(未接入业务逻辑,零运行时行为变化)。
getDimensionCodesByIds/getDimensionIdByCode,消费方不再直读
product_dimension_config(实体/表仅注册中心层可见)。
- DanKnowledgeBaseService: 4 处 mapper 直读(selectBatchIds×2/selectById
循环/selectOne by code)全部改走 DimensionRegistryService 桥接,
行为等价(同 id→code、code→id 语义)。
- LanggraphSyncService: selectOne by code 改 getDifyDatasetIdByCode。
- HealthDimensionController: /api/dimension/overview 与 /api/dimension/radar-data
标 @Deprecated (设计 §5.3,不删除,保留至零调用确认后下线)。
- cfc-web: ContentDimensionThresholdEditor / 知识库维度树改走只读
/api/dimension-registry/tree(映射 code/name,跳过 indicator 节点);
DimensionSelector 排除 indicator 节点保持选择项与旧数据源一致。
- 保留直读点(注册中心管理层/一次性迁移,说明见 commit 后汇报):
DimensionConfigController 与管理页(/api/admin/dimension-config/* 写接口)、
MigrationController 一次性历史迁移(enabled=1 语义不可经树等价表达)。
- 验收: mvn -q compile EXIT=0;web 脚本 node --check 通过;无新增循环依赖。
(root/sub,不含指标节点),越界抛 IllegalArgumentException→GlobalExceptionHandler 转 400;
@Lazy 注入 DimensionRegistryService 打破循环依赖;parentId 经实体自动落库
(父节点ID,混排进维度树)。
- DimensionRegistryService: 新增 collectDimensionCodes()/isDimensionCode()。
- DatabaseInitializer 迁移449 + schema.sql: indicator_definitions.dimension_code 扩宽至
VARCHAR(64)(容纳注册中心子维 code 如 mind.selfConceptOverall=23字符)。
- cfc-web 指标管理页: 维度归属由五维单选改为从统一维度注册中心树选择(el-tree,
数据源 GET /api/dimension-registry/tree),保存传 parentId+dimenionCode,指标节点禁选。
- cfc-frontend useDimensionRegistry.getRadarConfig 防御:跳过 nodeKind=indicator 子节点,
避免指标挂到根节点后混入健康页雷达轴(P1-T3 连带硬化)。
封装 GET /api/dimension-registry/tree,模块级缓存+ready 标志,
提供 getRadarConfig(tabCode) 按 tab→根 映射取 children,
解析 legacyAlias JSON 首元素为 scoreField,导出 isRegistryReady。
- 改造 health-main/index.vue:currentDimensions/currentScores 改为
遍历注册中心配置驱动取维度/标签/分数(body7/wisdom7/mind10/action5/wealth4,
标签与改造前一致),并保留硬编码兜底(过渡,后端未上线/接口异常时页面不崩)。
- 不 demo 块/后端/表结构一律不动。
- 迁移448: 补5根 wuxing_rule_ref(按 energy_dimension.element 关联木/火/金/水/土)
- DimensionCodeConstants: 新增26子维常量 + 26 legacy_alias 常量,更新数量注释
- 新增 migrate_dimension_unified.sql(T5: 备份+改写7 body+越界扫描,DBA手工)
- 未改动445/446/447,未新建Controller/Service类
文档
测试负责人 19:19 轮(契约复验 79 例 74 绿/3 红/2 错·B-21 确认复发(SC-P-11 17→15/17,根因 f14e46f84 )·O-1 终局判定:1767d4414 /c3e32460a 非 origin/cfclub 祖先链(rev-list 命中 0),建议重登记 6c906c79e /d8687f7c8 ·B-10 连续第 8 轮无复发)
研发负责人1 标准汇报 2148 轮(第23轮·只读核查·RED 0/YELLOW 2/DONE 12·无新增能力键·⚠ 复现确认维度合并 aa6ccb2dd 未部署 P0·feature/unified-dimension-p0 未合入双路由风险潜伏·场景覆盖 0/218)
研发负责人1 标准汇报 2135 轮(第22轮·唯一增量=S-cfc-16 自动闭环 DONE·YELLOW 2 待 mark-green·RED 0·DONE 12·无新增能力键·场景覆盖 0/218·⚠ 维度合并 aa6ccb2dd 晚于最近部署未部署)
研发负责人2 标准汇报 2122 轮(第20轮·池空稳态延续·RED 0/YELLOW 2/DONE 12·无新增能力键·⚠ 发现维度合并 aa6ccb2dd 晚于最近部署 757e4e32c 尚未部署·O-1 单一卡点复核通过)
研发负责人5 标准汇报 2113 轮(第19轮·部署收口 757e4e32c ·池空稳态延续·RED 0/YELLOW 2/DONE 12·无新增能力键)
T41 成长页小游戏入口设计定稿
v1.0.2083 (2026-11-05)
文档
研发负责人 20:26 轮(稳态核查·唯一增量=S-cfc-16 契约 JUnit 合入 2869d0e8e 38 例全绿·YELLOW 3 待 mark-green·RED 0·DONE 11·0 新增能力键·场景覆盖 0/218·5 阻塞待 O-3·CI 缺口"缺 JUnit"消除入口仍未启用)
研发负责人1 标准汇报 2014 轮(第21轮·O-1 YELLOW sha 卡点澄清·三重验证 1767d4414 /c3e32460a 均在祖先链·测试侧判定为浅克隆假阴性·双卡点实为单卡点·YELLOW 3 待 mark-green·RED 0·DONE 11·无新增能力键)
v1.0.2082 (2026-11-05)
文档
研发负责人1 标准汇报 1949 轮(第20轮·池空稳态延续·S-cfc-16 RED 契约单测已合入 2869d0e8e /f9a6d7011 38 例全绿·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·218 SC 0/218)
v1.0.2081 (2026-11-05)
文档
研发负责人2 标准汇报 1938 轮(第19轮·池空稳态延续·f14e46f84 后零 main 改动无需重部署·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·S-cfc-16 契约单测已合入 2869d0e8e )
研发负责人5 标准汇报 1930 轮(第18轮·池空稳态延续·f14e46f84 ..HEAD 零 main 改动无需重部署·deploy pending 残留清理·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键)
研发负责人3 第27轮汇报(错峰03·S-cfc-16 派发补 expectedCf 契约单测·RED 0/YELLOW 3/DONE 11·无新增能力键·4 sha 祖先链核验通过·单文件挂 origin 顶端)
测试
reward.cfEstimate.expectedCf 契约级单测补齐(38 例全绿,SC-X-22 CF 值获取预估)
其他
(POST /api/reward/estimate) 契约闭环。实现已于 origin/cfclub(f14e46f84 提取自 feat/sc-x22-impl),
本次仅补测试(纯 Mockito,不依赖 DB/真实微信/Spring 容器,不改 src/main)。
新增测试(38 例全绿,-DskipTests=false):
- RewardRuleServiceEstimateTest(21 例,服务层契约):
获得型 TASK_COMPLETE/AUDIT 固定规则 20;PURCHASE 公式 F02 1元=100CF 估 9900;GROWTH_TASK per_item;
消耗型 WISH 负向「本操作将消耗 N CF」;规则值为 0→ZERO 省略文案禁「+0 CF」;规则未配置/未启用/
不在生效期/任务不存在/任务积分为0/内部异常→DEGRADED「CF 奖励以实际为准」不抛 500;次数日限触顶→0、
金额日限→按剩余额度缩小不超上限;同幂等键预估值稳定并回显;estimateCf 纯数值入口降级返 0;
attachTaskEstimate/List/GrowthTaskMap 挂载;resolveMemberIdByUser 反查。
- RewardEstimateControllerTest(17 例,控制器直接调用级):
正常路径 200 透传透传服务端预估并 verify 参数;缺 body/缺必填→400;未登录/成员不存在→401;
孩子+PURCHASE→403 不泄露预估;孩子+任务完成不拦截;teacher+PURCHASE 放行;跨家庭任务/心愿→403、
任务不存在/资源ID非数字→403、商品公开资源不校验归属→200、资源校验异常→降级 403;
请求 DTO 无 expectedCf 字段(getDeclaredField 抛 NoSuchFieldException)→ 客户端伪造被忽略防伪契约。
观察行为(不改实现,交编排侧转 GREEN 决策参考):
- CHECKIN/ACTIVITY_CHECKIN(F05 per_item)当前 resolveCtx 无 amount/qty → 恒 DEGRADED(代码注释为
有意简化,活动 CF 待 ActivityService 解析);契约 §8 规则未配置→降级口径兼容。
- EXCHANGE 商城兑换恒 DEGRADED(注释:暂降级无统一规则)。
- 预估端点日限触顶返回 expectedCf=0 + ZERO 展示;LIMIT_HIT「已达今日上限」文案属回执端点范畴,
当前实现无回执端点,仅观察。
溯源:SC-X-22 · tests/user-scenarios/应用场景总览.md §八 · 02-parent.md P-77/P-10/P-13/P-87/P-89/P-93 ·
07-five-dimension.md C-05/C-25/C-04 · tests/test-cases/cross-role-e2e.md TC-X-22/TC-X-22-E/TC-X-22-E2/TC-X-22-P
设计:docs/superpowers/specs/2026-11-05-sc-x22-cf-estimate-contract.md(v1.0)
v1.0.2080 (2026-11-05)
文档
研发负责人 18:58 轮(延续稳态核查·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·4 sha 祖先链核验通过·场景覆盖 0/236·单文件挂 origin 顶端)
v1.0.2079 (2026-11-05)
文档
研发负责人1 标准汇报 18:48 轮(延续稳态核查·S-cfc-16 部署已确认 last_deployed=f14e46f84 ·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·单文件挂 origin 顶端)
v1.0.2078 (2026-11-05)
文档
研发负责人1 标准汇报 18:37 轮(S-cfc-16 RED→YELLOW,f14e46f84 已推远端;3 YELLOW 待测试 mark-green;O-1 sha 判据分歧记录)
研发负责人2 18:24 轮(SC-X-22 已合入部署 last_deployed=f14e46f84 ·YELLOW 3 待 mark-green·RED 0·DONE 11·测试侧'非祖先链'指控复核证伪·O-3 待裁决)
研发负责人5 1818 轮(SC-X-22 实现合入 f14e46f84 ·RED→YELLOW·部署验证通过 last_deployed=f14e46f84 ·YELLOW 3 待 mark-green·RED 0·DONE 11)
v1.0.2077 (2026-11-05)
文档
研发负责人3 错峰03 17:40 轮(核验证伪测试侧'YELLOW 证据 sha 非祖先链'结论·4 sha 全在 origin/cfclub 祖先链·S-cfc-16 仍 RED 待测试 RED·YELLOW 2 待 mark-green·DONE 11·SC 237 0/237)
研发负责人 1705 轮(SC-X-22 实现合入主线 f14e46f84 ·TR-5 请测试侧补 RED+执行 TC-X-22·SC 口径 237·CI 17:05 节)
测试负责人 16:59 轮(契约复验 79 例 76 绿/3 红 P-2 MapContract 口径·B-10 连续第 7 轮无复发·2 YELLOW 键连续第 7 轮复验通过·重大发现:研发登记 YELLOW 证据 sha 非 origin/cfclub 祖先链·状态机同步缺口第 16 轮·双卡点)
新功能
SC-X-22 CF值获取预估实现合入主线(RewardRuleService/RewardEstimateController/RewardDisplayVO/产出点挂载,提取自 feat/sc-x22-impl 957e59bb2 ,S-cfc-16)
v1.0.2076 (2026-11-05)
文档
研发负责人1 16:55 轮(延续稳态核查·S-cfc-16 实现在途·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键)
研发负责人 1645 轮(S-cfc-16 SC-X-22 实现在途 lan-248·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键)
v1.0.2075 (2026-11-05)
文档
研发负责人2 标准汇报 16:25 轮(池空稳态·SC-X-22 实现在途·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键·单文件挂 origin 顶端)
v1.0.2074 (2026-11-05)
文档
研发负责人 15:30 轮 补充 1.7(SC-X-22 契约合入 6141c43a2 + S-cfc-16 入池派发)
SC-X-22 CF值获取预估后端设计契约 v1.0(提取自 feat/sc-x22-contract f9034d0a1 ,仅单文件)
研发负责人 15:30 轮 汇报 1.4 回填 sha 6c1807ab1
研发负责人 15:30 轮(SC-X-22 设计契约派发 lan-248・CI 15:30 节・池空稳态第24轮)
研发负责人1 标准汇报 14:59 轮(第19轮,2 YELLOW 只差测试 mark-green·state 已同步·无新增能力键·黑窗延至11-06 08:00)
研发负责人1 标准汇报 14:36 轮(第18轮,2 YELLOW 只差测试 mark-green,无新增能力键,SC 236 口径待 O-4 裁决)
研发负责人2 标准汇报 14:25 轮(池空稳态·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键·单文件挂 origin 顶端)
标注 TC-H-01 已落地可执行规格
标注 TC-B-06 已落地可执行规格
测试负责人 13:58 轮(契约复验 8 类 71 例 68绿/3红(3红全为P-2 MapContract口径·与10:45轮完全一致非新回归);testCompile 216源0错 B-10连续第6轮无复发;2 YELLOW 连续第6轮复验通过;研发 13:26 DONE 11/YELLOW 2/RED 0 SC-P-10/11 已上线三端200;mark-green 实测仍被拒=纯状态机同步缺口第15轮;O-1 更新待同步)
研发负责人5 标准汇报 14:15 轮(池空稳态第16轮·部署两笔 7ea5a7d20 +a9f283d25 至测试环境·JAR内容级验证·last_deployed=a9f283d25 ·无新增能力键)
维护记录补 2026-11-05(五次)TC-B/TC-H 用例补齐
TC-H 用例已补齐,移除待补标注
TC-B 用例已补齐,移除待补标注
覆盖率表 TC-B/TC-H 去待补,标注三流条数与总量 767
SC-X-22 关联用例已补齐,覆盖率表同步
其他
Remove首页 energy sandbox top two cards: self-test-card and guide-bar
- Delete computed selfTestTitle, selfTestSub, nextBestAction
- Delete methods goSelfTest and onGuideTap
- Delete CSS .self-test-card, .guide-bar series, .self-test-badge
- Keep pendingSurveys field and _loadSurveyBadge untouched
Co-authored-by: automation
(收口合并 via commit-tree: 9aaf4266c7 ,基于 cfclub 7a480072e ,分叉仅本文件与一轮 docs 汇报,无交叉)
测试
索引登记 TC-B-06/TC-H-01 两枚可执行规格
新增 TC-H-01 真人管家并发守卫可执行规格
新增 TC-B-06 AI 教练 Fallback 可执行规格(门禁两态契约)
索引补 butler/human-butler,统计 660→711、716→767
新增真人管家 TC-H 三流用例 21 条
新增 AI 成长教练 TC-B 三流用例 30 条
用例索引同步 TC-X-22(跨角色 21→22,全仓 713→716)
新增 TC-X-22 CF 值获取预估三流用例(含能量侧反向隔离)
v1.0.2073 (2026-11-05)
文档
明确 CF 值与五维能量不同源(README.md)
明确 CF 值与五维能量不同源(应用场景总览.md)
13:26 轮汇报 1.4 回填提交 sha bee0a19ea (无占位符)
研发负责人 13:26 轮(池空稳态第23轮·台账同步SC 218→236·SC-X-22缺契约用例登记O-4/TR-4·CI门禁口径升级·无新增能力键)
Bug 修复
/plans 返回 levelOrder,修复免费用户付费页显示 ¥0.00
DAN 报告页补充自定义返回按钮
其他
手工组装 Map 时遗漏 levelOrder,所有档位 levelOrder=undefined:
免费用户 applyDefaultLevel 找不到更高档位,selectedLevel 回落 FREE,
下一步按 FREE 取价=0 分,付费页显示 ¥0.00,下单被后端以
「该会员方案暂未开放购买」拒绝。
- MembershipController.getPricingPlans() 补 plan.put("levelOrder", ...)
- 新增契约单测 MembershipControllerPlansLevelOrderTest 锁定该字段
v1.0.2072 (2026-11-05)
文档
SC-T-6 审核发分产出点补 CF值预估规则引用 SC-X-22
SC-P-77/P-86 打卡类产出点补 CF值预估规则引用 SC-X-22
同步 SC-X-22 与计数 236,维护记录加 2026-11-05(三次)
新增跨角色场景 SC-X-22 CF值获取预估全局UI规范(操作前提示+N CF),矩阵/覆盖率/合计 235→236
研发负责人1 标准汇报 13:00 轮(池空稳态第22轮·DONE11+YELLOW2·无新增能力键·12:53轮后origin无新提交·SC口径218→235待台账同步·O-3待主理人裁决·5SC证据链齐备待门禁转正·2YELLOW仍等测试mark-green)
v1.0.2071 (2026-11-05)
文档
研发负责人1 标准汇报 12:53 轮(池空稳态第21轮·DONE11+YELLOW2·无新增能力键·SC口径218→235待台账同步·O-3待主理人裁决·5SC证据链齐备待门禁转正·2YELLOW仍等测试mark-green)
v1.0.2070 (2026-11-05)
文档
研发负责人2 标准汇报 12:36 轮(池空稳态第16轮·DONE11+YELLOW2·无新增能力键·SC口径演进218→235待台账同步·O-3待主理人裁决·部署覆盖完整性成立·2YELLOW仍等测试mark-green)
研发负责人5 标准汇报 12:18 轮(池空稳态第20轮·5 SC 证据链齐备待门禁转正·无新增能力键·218→235 SC 口径演进·O-3 待主理人裁决·部署覆盖完整性成立·SC-P-04/05 不派发防假RED)
入口场景 P-49 同步更名为「AI 成长教练对话」保持全文一致
AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
新增健康管家独立角色 08-butler.md(SC-B-01~12),收敛家长端重复 P-11/P-49
新增健康管家独立角色 08-butler.md(SC-B-01~12),收敛家长端重复 P-11/P-49
新增健康管家独立角色 08-butler.md(SC-B-01~12),收敛家长端重复 P-11/P-49
研发负责人 11:45 轮标准汇报(池空稳态第19轮·场景覆盖矩阵 5 SC 证据链齐备待门禁转正·无新增能力键·218 SC 0/218 严格口径·O-3 工作目录门禁待主理人裁决)
其他
v1.0.2069 (2026-11-05)
文档
研发负责人1 标准汇报 11:15 轮(池空稳态第18轮·场景覆盖矩阵证据链核查 5 SC 齐备待门禁转正·无新增能力键·218 SC 0/218 严格口径不虚报)
主理人 O-2 裁决——方案 A 为正本 + 新增 SC→能力键映射台账(218 SC)
v1.0.2068 (2026-11-05)
文档
研发负责人1 标准汇报 11:06 轮(池空稳态第 17 轮)
v1.0.2067 (2026-11-05)
文档
测试负责人 10:45 轮(契约复验 71 例 68绿/3红(3红全为P-2 MapContract口径);testCompile 216源0错 B-10连续第5轮无复发;2 YELLOW 连续第5轮复验通过;研发 DONE 11/YELLOW 2/RED 0 SC-P-10/11 已上线;mark-green 实测仍被拒=纯状态机同步缺口第14轮;O-1 更新)
v1.0.2066 (2026-11-05)
文档
研发负责人2 标准汇报 10:30 轮(池空稳态第15轮·DONE 11/YELLOW 2/RED 0;SC-P-10 f41da2779 +SC-P-11 291955bce 已上线三端200·confirmed 12/pending 0;S-cfc-14/15 越位已闭环;2 YELLOW 待测试 mark-green;无新增能力键·218 SC 0/218 本轮0)
v1.0.2065 (2026-11-05)
文档
研发负责人5 标准汇报 10:15 轮(测试环境部署收口 SC-P-10 f41da2779 + SC-P-11 291955bce 已上线·三端200;覆盖完整性 ee70d2971 ..origin 零main改动;池空稳态第14轮·DONE 11/YELLOW 2/RED 0·新增能力键0)
v1.0.2064 (2026-11-05)
文档
研发负责人1 标准汇报 09:52 轮(池空稳态第16轮·DONE 11/YELLOW 2/RED 0;createTask/review 已收口 DONE;2 YELLOW 证据4sha在origin/cfclub 只差测试mark-green;无新增能力键·218 SC 0/218 本轮0;工作目录2处他人未提交标记)
研发负责人 09:45 轮标准汇报(SC-P-10 createTask 已合入 f41da2779 ;契约主线实测 14/14;状态机 DONE 9→11;SC-P-11 review 实现已在主线 L815 待测试复验;无新增能力键·218 SC 0/218 本轮推进 SC-P-10)
研发负责人1 标准汇报 09:18 轮(池空稳态第15轮·DONE 9/YELLOW 4/RED 0;SC-P-10 createTask 已合入 f41da2779 ;S-cfc-14/15 产出测试补充未合主线·派发模板mes错配待裁决;统一维度双路由歧义现场·主理人裁决正本;无新增能力键·218 SC 0/218 本轮0)
v1.0.2063 (2026-11-05)
文档
研发负责人2 标准汇报 09:07 轮(池空稳态第14轮·DONE 9/YELLOW 4/RED 0;部署 f1b0e3ed5 仍最新 0845后零main改动·pending0/confirmed10;S-cfc-14/15 产出为test补充未合主线·派发模板mes错配待裁决;无新增能力键·218 SC 0/218 本轮0)
研发负责人5 标准汇报 08:45 轮(测试环境部署收口 f1b0e3ed5 =SC-P-03 switchRole 已上线;JAR md5 a9b1b094 匹配 PID 700412 三端200;pending 清理 confirmed 10;池空稳态第13轮·新增能力键0)
研发负责人3(错峰03) 标准汇报 08:23 轮(修复 merge 提交证据识别缺陷;createTask/review RED→YELLOW 证据齐已自动推进;派发 S-cfc-14/15 实现在途;YELLOW 4 待开发/测试;DONE 9;无新增能力键·池 0 pending·218 SC 0/218 本轮 2 键推进)
其他
merge(tdd): SC-P-10 创建任务场景打通合入 cfclub(S-cfc-12 实现+契约测试+执行证据)
- child 执行者新增跨家庭校验,修复横向越权注入(他人家庭家长可为我的孩子建任务)
- 新增创建幂等(30s 窗口 + JVM 锁 + 内存登记表 + DB 兜底):重复提交/并发双发仅生成 1 条任务
- 多成员创建重构为统一 insertTaskWithDedup 循环
- 新增契约测试 TaskCreateScP10ContractTest(14 例:正常2/异常8/权限4)与 API e2e task-create-scp10.spec.js(10 例)
- 执行证据:契约 14/14 + 本地实例 API e2e 10/10(台账 docs/tdd/test/automation-run-2026-11-05-0636.md)
- 该实现由 S-cfc-12 会话完成(d900b034d ),此前仅存在于 feature 分支未合入 cfclub;本轮以临时索引精确合入 5 文件(2M+3A,无删除)
来源:d900b034d (feat/sc-p-10-create-task)
(/sc-data/cfc -> C:/code/cfc 或 D:/cfc),供调度器将误传的 POSIX 路径重映射
回实例真实根目录
- 同步实例配置演进(concurrency_limit、model_chain、auto_prod 等,
与 hub.py instances 实测一致)
背景:Git Bash(MSYS) 传参给 Windows 原生 python.exe 时会把 /sc-data/...
自动加 PortableGit 前缀转成 Windows 路径;配合 dir_aliases 后调度器可还原
并重映射,避免 lan-189 上出现 LocationNotFound 或错误目录。
Bug 修复
实例级 dir_aliases 目录别名映射,根治远程 Windows 实例误传 POSIX 路径
v1.0.2062 (2026-11-05)
文档
测试负责人 08:12 轮(55 例契约全绿:16契约+createTask 7+review 32;2 YELLOW 连续第4轮复验通过;2 新 RED createTask/review 契约落地;8 sha 全在远端;O-1 转为纯状态机同步缺口)
v1.0.2061 (2026-11-05)
文档
研发负责人1 标准汇报 08:00 轮(黑窗已解·会话全空闲·双 RED createTask/review 证据齐待测试 mark-red 落账;YELLOW 2 待 mark-green;DONE 9;无新增能力键·池 0 pending·218 SC 0/218 本轮 0)
研发负责人1 标准汇报 07:45 轮(S-cfc-13 RED 单测 291955bce 已推待测试 mark-red 落账;createTask/review 双 RED 证据齐;YELLOW 2 待 mark-green;DONE 9;黑窗 429 至 08:00·无新增能力键·218 SC 0/218 本轮 0)
研发负责人2 标准汇报 07:40 轮(S-cfc-13 SC-P-11 入池派发;--backfill 12 任务全 done;3 键新 DONE wechatLogin/jwtGuard/switchRole;YELLOW 2 待测试 mark-green;RED 2 createTask 待登记 red_sha/review 在途;主工作树 101 WIP 未触碰;黑窗 429 至 08:00 fallback)
研发负责人3 错峰03 汇报 2026-11-05 06:41(派发 S-cfc-9..12 四任务,RED 2 / YELLOW 4 / DONE 6)
研发负责人1 标准汇报 06:33 轮(S-cfc-11 编译验证/pub-iwintrue 启动验证在途,产出未推远端 RED 2 键无 red_sha;YELLOW 4 键证据全在 origin/cfclub 等测试 mark-green;无新增能力键·218 SC 0/218 本轮 0;B-13 挂账·黑窗 429 至 08:00)
测试
补齐 task.parent.review 契约级单测(SC-P-11 任务审批完成通过/驳回)
S-cfc-11 family.parent.switchRole 契约级单测补齐(13 例全绿)
补齐 auth.guest.wechatLogin 契约级单测(SC-G-02 微信一键登录)
S-cfc-10 auth.guest.jwtGuard 契约边界补充(OPTIONS预检/query-token/teacher-admin角色/LOGIN_REQUIRED 401)10 例全绿
补齐 task.parent.createTask 契约级单测
其他
实现已存在但零测试覆盖(RED)。补齐纯 Mockito 单测,不依赖 DB/真实微信/Spring 容器,不改 src/main。
新增测试(32 例全绿,skipTests=true 需 -DskipTests=false 显式开启):
- TaskControllerReviewTest(17 例):POST /api/tasks/{id}/review(approved 通过/驳回、DTO 字段映射、
统一 @PostMapping GET→405、缺 body 400、直接调用 Result);POST /api/tasks/pending-review
(parent 列表、缺 userId 400);POST /api/tasks/accept(body/currentMemberId 派生 memberId、
缺 memberId 500、GET→405);POST /api/tasks/reject/{id}(成功、缺 memberId 500、GET→405)
- TaskServiceReviewTest(15 例):reviewTask 通过→发分+completed(PointsLog amount/type、余额 100→110、
legacy result=pass);驳回→pending+completedAt 清空(可重做)+不发分(legacy result≠pass 同);
重复审批幂等(已 completed→true 但不重复发分/不落库);非待审状态→false;任务不存在→false;
acceptTask(assigned+正确执行人→in_progress+清 acceptDeadline;错误执行人/非 assigned→false);
rejectTask(assigned→rejected+双向关系分调整;错误执行人→false 不触关系分);
getPendingReviewTasks(仅 parent 可见本家庭列表;child/不存在→空列表不泄露)
暴露缺陷(不修实现,交编排侧转 GREEN 决策):
- POST /api/tasks/accept HTTP 契约已断:handler @PostMapping ("/accept") + @PathVariable Long id,
路径模板无 {id} → 参数解析抛 MissingPathVariableException(MockMvc 观测 500);前端
cfc-frontend/utils/api.js acceptTask 把 taskId 放 body {taskId, memberId},handler 从不读 body.taskId。
acceptTask_httpPath_missingPathVariable_pinsObserved500_defect 钉住当前观测行为,修复后应翻转为 200 契约断言。
溯源:SC-P-11 · tests/user-scenarios/应用场景总览.md · tests/test-cases/parent.md TC-P-06/TC-P-06-E
设计:docs/superpowers/api/API_REFERENCE.md §4.3 · docs/superpowers/specs/2026-09-04-task-system-unification-design.md
- 正常路径:parent→teacher、child持有parent切回家长
- 关键边界:未登录 userId null/-1/0→401、role 缺失、服务层空结果→业务错误
- 角色/权限:admin 当前角色禁止切换、未持有目标角色抛异常、非法目标角色拒绝
纯 JUnit5+Mockito 直接调用,不依赖 Spring 上下文/微信/外部服务,不改 src/main。
不依赖数据库/真实微信/Spring 容器,不改 src/main 实现。
新增测试(16 例全绿):
- AuthWechatLoginContractTest(10 例):TC-G-02 正常流(token+用户信息+默认 parent)、
TC-G-02a 边界(老用户重登 isNewUser=false 不重复建号)、TC-G-02-E 异常(Result.error
仅透传业务 message、不泄露堆栈、不建脏号)、TC-G-02-P 权限(JwtInterceptor 公开白名单
无 token 匿名放行/无效 token 降级放行、非必须登录路径)、结构契约 POST /api/auth/wechat-login
- UserServiceWechatLoginContractTest(6 例):服务层真实边界——全新 openid 建 User(parent)+家庭+成员、
同一 openid 二次登录不重复建号/家庭/成员(仅刷 sessionKey)、code2Session 空 openid/抛异常不落库、
phoneCode 绑定手机号、teacher 老用户重登保留原角色
溯源:SC-G-02 · tests/user-scenarios/01-guest.md 场景 G-2 · tests/test-cases/guest.md TC-G-02/TC-G-02a/TC-G-02-E/TC-G-02-P
本提交补齐该键契约边界 RED 阶段缺口,与既有 39 例回归合计 49/49 通过。
- 新增 JwtInterceptorContractEdgeTest 10 例:
1) OPTIONS 预检放行(受保护/公开路径均不鉴权、不写 401)
2) query 参数 ?token= 获取路径:有效 token 放行注入 userId/role/familyId/currentMemberId;无效 token 统一 401 不泄露
3) teacher 有效 token 放行 + 注入 role=teacher + ROLE_teacher 权限上下文(@PreAuthorize 用)
4) admin 有效 token 放行 + 注入 role=admin + ROLE_admin 权限上下文
5) LOGIN_REQUIRED_PATHS 族边界:/api/family/user/switch-role、/api/ai/health-coach/send、/api/auth/switch-role 无 token → 401;同一路径携有效 token → 放行
- 只新增 src/test 下与该键相关测试,不改 src/main(未暴露实现缺陷)
原为未覆盖 handler(实现已存在、零测试覆盖),本提交补 7 条契约级单测
(MockMvc standalone + 直接调用级,无 Spring 上下文/无 DB/无外部服务):
- 正常路径:家长建任务(标题/成员B/积分/频率)→ 统一 Result code=200 data=任务ID
- DTO 反序列化:title/description/category/memberId/points/duration/taskType/frequency/
needReview/executorType/dimensionCode 字段映射经 ArgumentCaptor 验证
- 多成员下发边界:body.memberIds=[B1,B2] 原样传 Service(Service 层为每个成员建独立实例)
- 统一 @PostMapping :GET 同路径 → 405
- userId 属性缺失(@RequestAttribute required)→ 400(JwtInterceptor 负责注入,缺失即未认证)
- Service 业务拒绝(家庭不足2人等)→ 异常不吞,交 GlobalExceptionHandler 统一转
Result.error(400, message)(TC-P-05-E 频率非法 400 口径;区别于 addMember 控制器内捕获契约)
- 直接调用级:统一 Result code=200/message=success/data=任务ID
角色/权限口径:本 handler 无 @RequestAttribute (role/roles),授权由 JwtInterceptor(有效 token
注入真实 userId)与 Service 层家庭归属/执行者校验承担,故覆盖 userId 注入与传递正确性而非角色分支。
缺陷观察(交编排侧决策,未断言为绿灯):/api/tasks/create 未列入 JwtInterceptor.LOGIN_REQUIRED_PATHS,
匿名(userId=-1)可到达 handler 走业务 500,与 SEC-20261031-01 已修复口径漂移同类。
7 用例全部通过(mvn -DskipTests=false -Dtest=TaskControllerCreateTaskTest test);
模块 test-compile 通过(EXIT=0)。不改 src/main 实现。
- FamilyMemberService.switchToMember: 异常语义修正(IllegalArgumentException→400 / AccessDeniedException→403)
- FamilyMembersController.switchToMember: 移除吞异常 try-catch,缺少 memberId→400,userId==null→401
- 新增 tests/e2e/api/sc-p-03-switch-role.spec.js(11 用例:正常/异常/权限三类流)
- 新增 tests/playwright.config.api.local.js(本地 API 配置)
- SC-P-03 专项 11/11 通过;既有 family-member-api 回归 13/13 通过
新功能
v1.0.2060 (2026-11-04)
文档
研发负责人1 标准汇报 06:20 轮(SC-G-02/SC-G-06 双场景证据合入 cfclub 3aebf9b16 /73e2f194e ;S-cfc-10 jwtGuard 补登 YELLOW;TR-3 回执;218 SC 0/218 本轮 0;S-cfc-11/12 会话 running;黑窗 429 至 08:00·无新增能力键)
SC-G-02 执行证据报告 §8 回填提交核验(sha=8db39fec9 ,ancestor 校验通过,clean-check 通过)
新功能
SC-G-06 越权接口拦截 — 私有业务数据端点族强制登录
其他
health/checkin、tasks、energy、wishes、user 私有数据端点无 token 一律 401
(修复前匿名 userId=-1 放行返回 200/业务500,泄露内部结构与错误)
- 公开白名单(product/articles/invite-validate/auth 登录等)保持免鉴权、不误拦
- 新增 ScG06JwtGuardTest 19 用例:正常流 TC-G-06 / 异常流 TC-G-06-E / 权限流 TC-G-06-P
- 更新 JwtInterceptorLoginRequiredTest:health/report/list 匿名放行 → 401(原断言即泄露行为)
- 执行证据:JUnit 35/35 通过 + feature 分支后端 live HTTP 探针 13 项
报告 docs/tdd/test/automation-run-sc-g-06-2026-11-05.md
SC-G-02 微信授权登录场景打通(S-cfc-9):新增服务层契约测试(正常/异常/幂等)+ JwtInterceptor 权限流契约测试 + API 级 e2e 用例 + 执行证据报告
- JwtInterceptorWechatLoginTest(4/4 绿):wechat-login 公开路径匿名放行、受保护接口无 token 401、有效 token 放行注入上下文、无效 token 401
- tests/e2e/api/wechat-login.spec.js:API 级正常/权限流用例(PW_BASE_URL 可切换目标端)
- docs/tdd/test/automation-run-2026-11-05-0555.md:执行证据(9/9 契约测试 + HTTP 层 5 步骤验收全过)
v1.0.2059 (2026-11-04)
文档
研发负责人2 标准汇报 05:56 轮(S-cfc-9 微信登录补登YELLOW e1bc608e2 ;SC-G-02/SC-G-06 双场景产出证据已推feature分支 8db39fec9 /8660d7dbe 待合入登记;S-cfc-12 failed 待08:00重派;218 SC 0/218·黑窗429至08:00·无新增能力键)
研发负责人闭环巡检 05:47 轮 — 打破连续 8 轮零派发,4 个 SC 场景打通任务入池并派发(S-cfc-9~12: SC-G-02/SC-G-06/SC-P-03/SC-P-10,双锚点溯源+独立 feature 分支);CI 就绪度实测+门禁规格落地;O-2 场景→能力键映射待裁决;TR-3 请测试补三类用例;218 SC 累计 0/218 本轮新增 0(未达顶层目标,不报完成)
测试
测试负责人闭环轮 2026-11-05 05:35 — B-10 持续解除(远端基线第2轮复验 testCompile 205 源 0 错/16 契约 16/16 全绿);2 YELLOW(getActiveMaterial/createReport)第2次独立复验通过待状态机同步;B-13 环境红根因并入(3 个 @SpringBootTest 硬编码 127.0.0.1:3306=8 例必红);发现 pom skipTests=true 假绿坑须 -DskipTests=false;O-1 更新
v1.0.2058 (2026-11-04)
文档
研发负责人1 标准汇报 05:02 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 已解除·B-11 待裁决·B-12 待夹具·无新增能力键·218 SC 0/218·CI 草案未启用·池空+429 黑窗零派发)
研发负责人1 标准汇报 04:48 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 已解除·B-11 待裁决·B-12 待夹具·无新增能力键·218 SC 0/218·CI 草案就绪未启用·池空+429 黑窗零派发)
v1.0.2057 (2026-11-04)
文档
研发负责人2 标准汇报 04:22 轮(6 DONE+2 YELLOW 待测试 mark-green·B-6/B-7 已实现台账滞后·B-1~B-5 待研发·无新增能力键·池空+429 黑窗零派发)
v1.0.2056 (2026-11-04)
文档
研发负责人1 标准汇报 03:50 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 已解除·B-11 初步判定有意精简·无新增能力键·池空+429 黑窗零派发)
研发负责人1 标准汇报 03:45 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 复验通过·无新增能力键·218 SC 0/218·黑窗零派发)
测试
测试负责人闭环轮 2026-11-05 03:30 — B-10 正式解除(研发 37f29a5df 推远端+测试复验 testCompile 205 源 0 错/16 契约 16/16 全绿);2 YELLOW(getActiveMaterial/createReport)复验通过待状态机同步;O-1 推进;台账 2731 用例;11-05 遗留报告收口
v1.0.2055 (2026-11-04)
文档
研发负责人2 标准汇报 03:17 轮(B-10 复验通道恢复确认·2 YELLOW 待测试 mark-green·6 DONE 复核·数据源 4/4 正常·218 SC 0/218·黑窗零派发)
v1.0.2054 (2026-11-04)
文档
研发负责人1 标准汇报 02:33 轮(B-10 P0 编译回归闭环·37f29a5df 推远端·复验通道恢复待测试 mark-green·218 SC 0/218·黑窗零派发)
Bug 修复
同步 CfBalanceControllerTest 至精简后的 CfBalanceController 签名(B-10 P0 编译回归修复)
其他
删除 balance/logs 方法的 currentMemberId null 形参;但 unit/CfBalanceControllerTest.java
仍按旧签名调用(多传 null 实参),导致 testCompile BUILD FAILURE,
全模块 1474 @Test + 16 契约测试零执行(B-10 P0)。
修复:移除 7 处多余 null 实参(4 处 balance / 3 处 logs),
与实现签名 balance(userId) / logs(userId, page, size) 对齐。
本地 mvn test -Dtest=CfBalanceControllerTest -DskipTests=false -> 8 例全绿 ✓
关联:测试侧 B-10 登记(01:36 闭环轮实锤)、研发负责人2 02:12 汇报(P0 优先);
复验通道恢复后测试侧可对 2 个 YELLOW 键(createReport/getActiveMaterial)
执行 --mark-green 收口。
v1.0.2053 (2026-11-04)
文档
研发负责人2 标准汇报 02:12 轮(B-10 P0 编译回归阻断GREEN·dimension DONE 复核·池空零派发)
v1.0.2052 (2026-11-04)
测试
测试负责人闭环轮 2026-11-05 01:36 — B-10 P0 编译回归实锤(unit/CfBalanceControllerTest 7 处错,1474 @Test +16 契约零执行);4 YELLOW 证据齐备但复验被 B-10 阻断;台账刷新 2731 用例
文档
研发负责人1 标准汇报 01:15 轮(4 YELLOW 待测试 mark-green·SC→KEY_RE 衔接待裁决·218 SC 跑通 0/218·黑窗零派发)
研发负责人1 标准汇报 00:58 轮(识别 218 SC 新口径·场景覆盖矩阵 0/218·SC→KEY_RE 衔接待裁决·4 YELLOW 待测试 mark-green)
定稿开发目标 - 所有用户场景都能跑通(218 SC 单一事实源)
研发负责人2 汇报 2026-11-05 00:40
/tdd/test: automation-run-2026-11-04-1130.md 新增
其他
- 变更感知(近 7 天 200 提交):无新增能力键,不触发 --add-task
- 风险:dimension 双实现路由歧义待主理人裁决;主工作树 72 处未提交含危险项 CfBalanceController.java(staged currentMemberId=0 vs 远端 15 处),禁 add -A
- 会话:lan-204×2 + lan-189×1 running(CFC),其余 idle
- TR-1 已闭环;O-1 已由 state.json 推进自动解除
1) 启动时序缺陷(DimensionCodeMapper.reload):
@PostConstruct 在 DatabaseInitializer.run()(CommandLineRunner 迁移445 legacy_alias 列)之前执行,
全新/旧 schema 库上 selectList 全字段查询抛 Unknown column 'legacy_alias' → @SpringBootTest
上下文全量启动失败(9/9 RED 而非 404)。改为惰性加载:去掉 @PostConstruct ,首次
resolveToUnified/resolveLegacy/isKnownCode 调用时触发 reload()(此时 CommandLineRunner 迁移已完成)。
2) buildTree source_system 过滤缺陷(DimensionRegistryService.getTree):
旧实现先按 source_system 过滤掉不匹配节点、再只收集 parentId==null 的根;
sourceSystem=health 时 body 根(source=energy)被排除,7 个健康子维因父节点不在集合内
而成为孤儿(均非根)→ 返回空数组,与契约(应返回 7 节点)不符。
现改为:收集所有匹配 source_system 的节点,按 parentId 在匹配集合内构建子树,
父节点被过滤/缺失/无父 则提升为过滤树根;无过滤模式保持原完整树语义不变。
测试:mvn clean test -Dtest=DimensionRegistryTreeTest -DskipTests=false → 9 用例全绿
(Tests run: 9, Failures: 0, Errors: 0, Skipped: 0)。
改动文件:
- cfc-backend/src/main/java/com/etotem/cfc/service/DimensionCodeMapper.java
- cfc-backend/src/main/java/com/etotem/cfc/service/DimensionRegistryService.java
cfc-frontend: login-sheet 重构、promotion 页扩展、child-index/index-home/profile-main/utils api 微调
tools/xaf_agent_hub: .model_state/lead_backlog/tasks_backlog 台账刷新
验证: cfc-backend mvn compile(最新 origin 基线 866df170e 上复验)通过
Bug 修复
dimension.registry.getTree 契约 2 处实现缺陷
v1.0.2051 (2026-11-04)
Bug 修复
实例级 dir_aliases 目录别名映射,根治远程 Windows 实例误传 POSIX 路径
其他
(/sc-data/cfc -> C:/code/cfc 或 D:/cfc),供调度器将误传的 POSIX 路径重映射
回实例真实根目录
- 同步实例配置演进(concurrency_limit、model_chain、auto_prod 等,
与 hub.py instances 实测一致)
背景:Git Bash(MSYS) 传参给 Windows 原生 python.exe 时会把 /sc-data/...
自动加 PortableGit 前缀转成 Windows 路径;配合 dir_aliases 后调度器可还原
并重映射,避免 lan-189 上出现 LocationNotFound 或错误目录。
v1.0.2050 (2026-11-04)
测试
测试负责人2 闭环轮 2026-11-04 23:36 — 契约测试复用16/16全绿;台账增量来自未提交WIP(+9@Test)本轮不重提交;3 RED键仍停滞,O-1连续7轮未mark-yellow
测试负责人闭环轮 2026-11-04 23:25 — 契约测试复验 16/16 全绿;台账增量来自 S-cfc-8(7 例 RED 已推远端未入状态机);O-1 升 P1(连续 6 轮缺研发 mark-yellow);3 RED 键仍停滞
补齐 dimension.registry.getTree 契约级单测
dimension.registry.mapLegacyCode 契约级单测(RED)
文档
研发负责人2 标准汇报 22:42 轮(S-cfc-7/8 在途核验/B-5 风险解除/部署 pending 收口确认)
研发负责人1 闭环汇报 23:17 + 维度注册中心契约测试请求 TR-2
其他
- test-requests.md:新增 TR-2 请求测试侧补 dimension.registry.getTree 契约 RED(实现 57e162242 已在远端)
- mapLegacyCode 已补登 YELLOW(RED 契约测试 73654bcf8 + 实现 57e162242 均推 origin/cfclub)
不假定 impl 包路径(实现类在 feature 分支)。endpoint 未合入前(ba4ac94d7 )验证 RED:
9 用例全 FAIL 404。
impl 随后合入主线(57e162242 )后,测试在主线上复跑暴露两个实缺陷(本测试不改 src/main):
1. 启动时序缺陷:DimensionCodeMapper.reload()(@PostConstruct ) 在 DatabaseInitializer.run()(CommandLineRunner)
迁移445(legacy_alias 列)之前执行 → 全新/旧 schema 库 Unknown column legacy_alias → 全量
@SpringBootTest 上下文加载失败(9/9 RED,非 404)。
2. buildTree 缺陷:按 source_system 过滤后只收集 parentId==null 根;sourceSystem=health 时
body 根(source=energy)被排除 → 7 健康子维成孤儿返回空数组,与契约不符(见用例 Javadoc)。
用例覆盖:无参全树(5根)、body 7 健康子维、契约字段、sourceSystem 空串/未知值/health、
匿名/teacher/admin 可达性。legacyAlias 按契约断言为字符串(JSON数组)。
溯源:PRD §4 P0-3 编码映射层 + 设计 §4/§5.1 GET /api/dimension-registry/map?legacy= -> Result
新增 DimensionRegistryMapContractTest(MockMvc 全栈契约测试,不假定实现类包路径):
- map_healthSevenLegacyCodes_resolveToBodySubCode:健康 7 维 legacy -> body.* 统一 code
- map_energyRootCodes_passthroughAsIs:能量 5 根同码原样返回
- map_unifiedSubCode_passthroughAsIs:统一子 code 幂等原样返回
- map_unknownLegacy_returnsNullData:未知 legacy -> data=null(200)
- map_emptyLegacy_returnsNullData:空串 legacy -> data=null(200)
- map_missingLegacy_returnsBadRequest:缺参 -> 400
- map_withoutAuthToken_isReachable:无角色限定(parent/child/teacher/admin 共用),匿名可达
运行结果(RED,cfclub 未合入实现):Tests run: 7, Failures: 7(均 404,接口未实现)
暴露缺陷:无(纯 RED,未发现实现缺陷;实现仅在 feature/unified-dimension-p0)
v1.0.2049 (2026-11-04)
新功能
统一维度体系差距补齐 P0-T1/P0-T2/注册中心/P1-T4(2026-11-03 设计文档)
其他
P0-T1 Schema 迁移+实体字段:DatabaseInitializer 迁移 445/446/447(ensureColumn 幂等 + seed 5根7维);schema.sql 同步新列;ProductDimensionConfig 加 parent_id/legacy_alias/source_system/wuxing_rule_ref/node_kind;IndicatorDefinition 加 parent_id/legacy_alias
P0-T2 常量+映射层(NEW):DimensionCodeConstants(5根+7body code + legacy 别名);DimensionCodeMapper resolveToUnified/resolveLegacy 双向映射
注册中心核心(NEW):DimensionRegistryService getTree/getRoots/getNodeByCode;DimensionRegistryController /api/dimension-registry/* 只读;DimensionSyncService 双写骨架(flag 门控);DimensionNode DTO;DimensionConfigController /save 改走注册中心;application.yml dimension.registry.enabled/dualWrite=false
P1-T4 前端消费注册中心:DimensionSelector/index.vue 消费统一注册树(回落 store 旧源);api/dimension.js 新增 registry 接口
验证:cfc-backend mvn compile(最新 origin 基线复验)通过;cfc-web npm run build 本会话已通过
v1.0.2048 (2026-11-04)
文档
研发负责人3 补记 22:20 执行纪要(收口推送+2任务派发+Java变体暂缓裁决)
研发负责人3 补交标准模板汇报 + 统一维度体系设计文档入主线
其他
- 合入 11-03 统一维度体系 PRD/design/class/sequence 4 份设计文档
- 目的:使 S-cfc-7/S-cfc-8 的 --requirement/--design 溯源锚点对远程会话可读
- 仅文档,不含任何业务代码;Dimension* Java 变体因与 feature/unified-dimension-p0 冲突暂缓
v1.0.2047 (2026-11-04)
测试
测试负责人2 闭环轮 2026-11-04 21:00 — 台账重扫零diff(2715用例持平);3 RED键契约测试采信origin/cfclub已推送证据16/16全绿;研发仍未mark-yellow
测试负责人闭环轮 2026-11-04 20:55 — 3 RED键契约测试独立复验16/16全绿;采信20:38兄弟批次全量证据(后端86.7%/前端18轮100%/2715用例);研发仍未mark-yellow
测试负责人2 闭环轮 2026-11-04 19:26 — 台账重扫零diff(2715用例持平);3 RED键契约测试复用19:25实证16/16全绿;研发仍未mark-yellow
测试负责人闭环轮 2026-11-04 19:25 — 台账重扫零diff(2715用例持平);3 RED键契约测试离线重跑16/16全绿;研发仍未mark-yellow
v1.0.2046 (2026-11-04)
测试
测试负责人2 闭环轮 2026-11-04 17:29 — 台账重扫=15:30基线(零diff/2715用例持平);3 RED键仍伪RED待研发mark-yellow
v1.0.2045 (2026-11-04)
测试
测试负责人轮 2026-11-04 15:30 — 3 RED 键仍待研发 mark-yellow;刷新共享台账(357ctrl/1940handler/2715用例);本轮未 re-run JUnit(无mvn)
v1.0.2044 (2026-11-04)
测试
测试负责人轮 2026-11-04 15:10 — 3 RED 键契约测试离线实跑 16/16 全绿;B-6/B-7 措辞更新;O-1 请研发补登 --mark-yellow
v1.0.2043 (2026-11-04)
Bug 修复
B-4 修复管理端列表 envelope 契约不一致 + commission config 更新 400
B-5 Result.error() 恒500结构级修复 — 新增400/403/404/409工厂方法 + Activity发布/审核调用点迁移
其他
- AdminButlerController 的 user-list / list / service-records / settlements 4 个列表
由 data.put("list") 改为 data.put("records"),与活动列表等其他管理端列表契约对齐;
assignments 本身已返回 records,无需改。
- 前端消费点 cfc-web ButlerAudit.vue(读 /butler/user-list)同步由 data.list 改为 data.records;
ButlerAssignments.vue 读 data.records 本就一致。grep 确认仓库内无其他 .data.list 消费点。
- 新增契约单测 AdminButlerControllerEnvelopeTest(4 case 断言 records 非空、list 键不存在)。
F2(POST /api/admin/commission/config/update 400 根因与修复):
- 根因:E2E payload({percent,ratio,label,status}) 与实体字段(name/rate/rateType/remark)不匹配,
id=null 走 insert 时 name(表 NOT NULL)缺失触发数据完整性异常返回 400。
- 修复:updateConfig 先做参数校验——空 body/缺 name 返回 400 并给出明确 message(非 500),
合法 body 才走 insert/updateById 并返回 200,更新真实落库。
- E2E payload 修正为实体字段;新增契约单测 AdminCommissionConfigControllerTest(5 case:
合法 insert/update → 200+落库验证;缺 name/空 body → 400+message)。
验证:mvn compile 通过;mvn test(2 新测试类 9/9)通过;本地实跑确认
butler 5 个列表全返回 records、commission 合法 200/缺字段 400 且更新后回查新值;
cfc-web npm run build 通过。
B-2(R5): fix admin-auth login exposing HTTP 500 on unauthorized/empty-body
未授权/空 body/缺参调用 POST /api/admin-auth/login 返回业务码 500
(message=手机号和验证码不能为空),且空 body 会 NPE;安全测试无法稳定断言被拒。
修复(对齐项目既有惯例: Result 业务码表达语义 + HTTP 200 信封;真实 HTTP 401
由 JwtInterceptor 对受保护路径负责,登录端点为公开路径):
- login: dto==null 先判空避免 NPE; 缺 phone/code 属参数校验 -> 400(原 500)
- login-by-password / send-code: 同面公开端点同类 R5 暴露, 一并判空 + 400
- 手机号格式校验也归参数校验 -> 400
- 成功路径/验证码校验/登录锁定/角色判定逻辑零改动
契约测试 AdminAuthControllerLoginStatusTest(10 case, MockMvc standalone + 全 mock):
空 body/{} /缺 code/缺 phone -> 400 非 5xx 无 NPE; 合法验证码登录 -> 200+token。
mvn clean compile 通过; mvn test -Dtest=AdminAuthController*Test 10/10 通过;
cfc-web npm run build 通过。
变更:Result.java 新增 badRequest/forbidden/notFound/conflict 工厂方法(仅新增零破坏);ActivityAdminService/ActivityService 参数缺失/无权限/不存在/冲突语义改走 4xx 工厂,不再兜 500。新增 ResultCodeFactoryTest 11 例全绿;ActivityServicePublishTest 6/6、ActivityAdminServiceTest 10/10 全绿。
验证:mvn -o test ResultCodeFactoryTest=11/11;Activity 两组 16/16。
测试
接口冒烟闭环 2026-11-04 13:23 — 通过率 46% (fix=2 reg=0) [CONN_ERR翻转标flaky: fix=2 reg=0]; 测试用例 361/386 完成(文档化219)
S-cfc-6 getPlanDetail 契约级 RED 单测落地(8例全绿)+ 回复 TR-1 + B-8 已解除/B-9 鉴权缺口观察登记 — guide.trainingPlan.getPlanDetail
v1.0.2042 (2026-11-04)
其他
nvidia/nvidia/nemotron-3-ultra-550b-a55b -> agnes/agnes-3.0-flash
用户 2026-11-03 拍板指定顺序;映射说明:
- opencode/deepseek-free -> opencode/deepseek-v4.1-flash-free(对齐 default_dispatch_model 既有写法)
- nivdia/nemotron 3 ultra 550B A55B -> nvidia/nvidia/nemotron-3-ultra-550b-a55b(修正拼写,对齐 lan-189 既有写法)
- agnes/agnes-3.0-flash -> 原样
v1.0.2042 (2026-11-04)
测试
接口冒烟闭环 2026-11-04 08:25 — 通过率 45% (fix=0 reg=1); 测试用例 361/386 完成(文档化219)
v1.0.2041 (2026-11-03)
测试
接口冒烟闭环 2026-11-04 06:57 — 通过率 46% (fix=1 reg=1); 测试用例 361/386 完成(文档化219)
v1.0.2040 (2026-11-03)
文档
研发负责人工作汇报 2026-11-04 0600 — 全量基线复跑 + S-cfc-5/6 推进核查 + B-1 跟踪
v1.0.2039 (2026-11-03)
测试
接口冒烟闭环 2026-11-04 05:19 — 通过率 46% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)
v1.0.2038 (2026-11-03)
文档
研发负责人工作汇报 2026-11-04 0445 — P0 编译回归闭环 + S-cfc-5 YELLOW + TR-1 送达
研发→测试请求通道 TR-1 — 请求补写 getPlanDetail 契约级 RED(S-cfc-6)
v1.0.2037 (2026-11-03)
Bug 修复
同步 CfBalanceControllerTest 到 dfc78e9d3 新签名(currentMemberId 形参),解除后端全量单测编译回归
其他
5 个方法新增 @RequestAttribute currentMemberId 形参,但 unit/CfBalanceControllerTest
仍以旧签名直接调用(balance(7L) 等 7 处),mvn test-compile / mvn test BUILD FAILURE,
阻断全部后端单测(含 S-cfc-5/6 RED 契约测试无法编译验证)。
修复:测试调用点补 currentMemberId=null,语义与断言不变(null 回退 user_id 匹配分支)。
验证:mvn -o -B test 29 例全绿(CfBalanceControllerTest 8 + AddMemberTest 7 +
ListTest 4 + GetPlanListTest 10)。
测试
测试负责人闭环盘点 2026-11-04 03:43 — 刷新发现/跟踪台账 + 状态机(2 RED) + 工作汇报
接口冒烟闭环 2026-11-04 03:37 — 通过率 46% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)
v1.0.2036 (2026-11-03)
测试
测试负责人 TDD 闭环汇报 2026-11-04 02:16 — 2 RED 停滞 + 后端编译回归 dfc78e9d3 就地核验
接口冒烟闭环 2026-11-04 02:13 — 通过率 46% (fix=1 reg=0); 测试用例 361/386 完成(文档化219)
v1.0.2035 (2026-11-03)
测试
测试负责人闭环盘点 2026-11-04 — 刷新发现/跟踪台账 + 状态机(2 RED) + 工作汇报
接口冒烟闭环 2026-11-04 00:44 — 通过率 45% (fix=0 reg=1); 测试用例 361/386 完成(文档化219)
v1.0.2034 (2026-11-03)
新功能
T40 小程序新版本强制更新(官方 UpdateManager 接入)
其他
- 能力探测,不支持时 console.warn 跳过
- onCheckForUpdate 仅打印日志
- onUpdateReady 弹「发现新版本」强制弹窗(showCancel=false),确认后 applyUpdate 重启应用新包
- onUpdateFailed 弹「更新失败」提示删除小程序重进
- App.vue onLaunch 首行调用 checkAppUpdate(),不改动 splash/登录/路由逻辑
- 不依赖 manifest versionName/versionCode,版本判断由微信后台代码包自动完成
文档
小程序新版本强制更新功能设计 T40(uni.getUpdateManager + applyUpdate 强制重启)
v1.0.2033 (2026-11-03)
Bug 修复
财富中心/推广收益改读实时CF账本,修正成员解析取最老家庭
v1.0.2032 (2026-11-03)
测试
接口冒烟闭环 2026-11-03 22:39 — 通过率 45% (fix=1 reg=0); 测试用例 361/386 完成(文档化219)
Bug 修复
其他
中(方法),uni-app 编译产物 WXML 模板绑定无法解析方法,解析为 undefined 导致行尾
出现 "undefined"。将 deadlineText 移至 computed(无参数、仅依赖 this.challenge),
正确返回 剩余N天/已超时/截止今天/空,修复待确认行末尾 undefined。
v1.0.2031 (2026-11-03)
Bug 修复
「我的团队」改为服务商团队人数,修复误用推广引荐人数
其他
该值为 referral_tree(推荐关系物化树)计数,属推广/引荐口径,且该树
无维护逻辑已陈旧(user12 树内17 < users 表实际19直接引荐/22全层级),
与瓦片点击跳转的服务商团队页口径不一致。
修复:loadTeamInfo 改用服务商团队口径——先取 my-teams 列出的全部供应
体系,再逐个取 supply-hierarchy/my 的 totalChildren 求和;非服务商或
无团队显示 0,与团队系统页「团队成员」统计一致。仅改前端,未触碰后端。
v1.0.2030 (2026-11-03)
文档
其他
- Q6 标注已闭环并附复测命令(merge-base --is-ancestor 81d8883f7 origin/cfclub)
- 契约测试矩阵项补注 S-be-1 已入库
- 交付说明追加 22:06 二次送达记录
覆盖 未购计划 4001 / 未建家庭 noFamily / 成功创建 / 重复创建 / 参数校验 五条契约
- SupplyTeamControllerInviteTest(7 例):POST /api/admin/supply-team/invite 契约单测
- 均为 MockMvcBuilders.standaloneSetup 纯单测,无 @SpringBootTest ,不依赖 DB,离线可跑
- 提交前定向复跑:Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, BUILD SUCCESS
- 此前两个文件自 11-02 15:58 起一直未跟踪(29h),导致上述契约在主线与未来 CI 均不可见
- 新增发现:TaskProgressUpdateTest 因 29887b33b 删除 TaskService 字段而 setUp 全类 NoSuchField,
该回归护栏(保护 13b398472 修的打卡串号缺陷)已静默失效 9 天 11 小时
- 新增发现:test_inventory.py 无 surefire/jest 结果导入入口,台账执行列与实际执行脱节(实跑 1375 例 vs 台账 22 通过)
- 新增发现:FortuneServiceTest 占位 assertTrue(true) 计入通过;ReportParserAdminControllerTest 纯 Mockito 触达 MP lambda 缓存
- 同步 runbook(langgraph 改远程执行、前端路径 /frontend)、test_blockers(R7/R8/T5 状态)
- 门禁:不通过(10 门仅前端全绿达成)
测试
入库两个已全绿契约测试类(12 例)——S-be-1 健康报告创建 + T38 供应团队邀请
接口冒烟闭环 2026-11-03 22:03 — 通过率 45% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)
第 30 轮自动化测试执行证据送达(除编译之外)——后端 1079 例 43 红、前端 296 全绿 + 补交第 24-29 轮巡检报告
v1.0.2029 (2026-11-03)
Bug 修复
天盘 emoji 功能图标替换为 SVG 图标(CFC-TIANPAN-01)
其他
mind-detail/FamilyTianpanCard.vue:罗盘/运势星/心情/吉位/星座日/灵数星芒/建议灯泡 emoji(含动态 moodEmoji)全部替换为内联 data-URI SVG 图标,沿用访客态重设计同款方案,颜色取自主题令牌(-primary / -gold-deep / -mind / -3-ink / -insight-ink)
移除 moodEmoji 动态 emoji 计算属性;跳转箭头 → 与宜/忌 ♦✖ 语义符号按规格保留
验收:verify-vue-compile 三段 PASS;audit-mp-antipatterns ERROR 0;build:mp-weixin EXIT=0
测试
接口冒烟闭环 2026-11-03 21:32 — 通过率 45% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)
v1.0.2028 (2026-11-03)
Bug 修复
文章详情页 config.API_BASE_URL 白屏 + H5 静态资源 404
其他
Vue 模板绑定解析为实例属性 this.config,组件 data/computed 未定义 config
→ undefined.API_BASE_URL 抛 TypeError,render 中断文章详情页白屏。
经 computed 暴露 API 域名;方法内仍用模块级 config(闭包引用正常)。
2. public/index.html 删除硬编码 dev 入口 后 /
具名导入不存在;退出码可直接接入 CI
- 审计结果:四项全 0,3 文件 node --check 通过
- TagChip 统一 ('select'),4 个消费页改 @select
(variant=brand 成长记录页品牌橙 / variant=body 身维度首页身体色),
支持 label/active/variant + tap 事件
- growth/diet-checkin、growth/exercise-checkin、health/diet-index、health/exercise-index
改用 TagChip,删除 4 页各自的 tag 样式(共约 40 行重复 CSS)
- PlayfulButton:修复 block 属性只声明不生效(:class 未绑定 playful-btn--block),
wishes/index 的全宽按钮恢复预期样式
- 6 个文件 node --check + style 块 dart-sass 编译全部通过
- SelectableCard(user-edit/service-role-apply 视觉不一致)与 StepDots(仅 1 页使用)
经核对不满足抽取前提,按计划保留
重构
F 批 TagChip 事件名 tap -> select
F 批 TagChip 组件化 + PlayfulButton block 修复
v1.0.1731 (2026-10-20)
重构
D36 第八轮令牌收割 (hex 570->493)
其他
- replace-hex-to-token.js 第八轮规则(-green-base-2/-violet-deep/-primary-2/
-success-strong/-3-*/-gold-ink/-wisdom-tint-5 等)
- 跳过 8 位带 alpha 的 hex(如 #F9731622),避免丢失透明度
- 58 文件 82 处收编;58 个 style 块 dart-sass 编译全部通过
- 全站硬编码色 570 -> 493;335 页最高债务 15
v1.0.1730 (2026-10-20)
Bug 修复
D33 修复品牌色字符串/游离 import/缺失具名导出三处历史 bug
其他
canvas 填充/渐变拼接/色板数组全部失效)
- d34: 9 文件把落在 与 结尾标签(文件被截断且 HEAD 同样损坏,会阻断整包编译)
- 验证:dart-sass 逐页编译五页 style 区块全部通过
- 新增 docs/dimension-pages-login-state-plan.md: 五维主页面登录前/登录后显示规划 V1.0,含统一骨架、五页显示清单、决策固化(心页维持 mind-wisdom 双色、身/智保留 preview-text、富页豁免已有商城精选)与 DimensionVisitorCard/DimensionIntroCard 职责边界(含 490e69e90 机械替换事故防线)
- WebhookNotificationChannel 以接收用户 users.phone 作为 msgLabel(按人定向)
- RepeatTaskGenerator 以模板 earliest_start 作为实例生成起点(分阶段任务门控)
重构
五维页中性灰阶归一化并清除旧品牌蓝残留(UniForge 阶段二)
五维页接入设计令牌体系(UniForge 阶段一:语义基座)
身维度游客卡 DOM 上移并固化五维登录前后显示规划
v1.0.1592 (2026-10-12)
文档
update health education knowledge base documentation for 2026 Q4
v1.0.1591 (2026-10-12)
Bug 修复
登录浮层面板高度降为 85vh(更紧凑)
登录浮层四步闭环单行显示(防止四字文本换行)
其他
- .loop-pill-text 加 white-space:nowrap,四字步骤强制单行
- .loop-arrow 加 flex-shrink:0,箭头不被压缩
- 适配 750rpx 屏宽,四个 pill + 三个箭头容纳一行
v1.0.1590 (2026-10-12)
Bug 修复
其他
- 面板根 view 加 @click.stop ,阻止内部点击(含 checkbox)冒泡到遮罩
- 保留:点击遮罩空白区才关闭浮层
- 新增 mixins/login-sheet.js:全局 mixin(openLoginSheet 沿 $parent 链查找宿主 ref,已登录守卫、未挂浮层回退整页登录)
- main.js:全局注册 login-sheet 组件 + 注入 loginSheetMixin
- 9 个页面接入 login-sheet 组件
- 修复:面板高度足够显示协议行;四步闭环与五维标签强制单行显示(flex-wrap: nowrap + margin 替代 gap)
- DimensionVisitorCard.vue:登录引导卡片,支持通过 openLoginSheet 唤起浮层
新功能
登录页改造为底部滑出浮层(login-sheet)
v1.0.1589 (2026-10-12)
其他
resolve last_build_commit conflict
- 新增 api/reportParse.js;注册路由 report-parse-status 与侧边菜单
- npm run build 产物版本 1.0.1588
- LangGraphReportParseService 新增 parseByScriptWithReason 保留失败原因,专用 RestTemplate 读超时放宽至 300s
- health_report_drafts 新增 parse_attempt/next_retry_at/parse_started_at/parse_finished_at(迁移364 + schema.sql)
- 新增 /api/admin/report-parse list|retry|backfill-food 及 reparseReportFoods(只覆盖 payload_json.foods)
- buildFoodsFromPayload 跳过空/无名称食材;saveFoodsForReport 先删后插保证幂等;入库前幂等守卫
新功能
gut-flora-risks-detail.vue 展示 relatedBacteria 与 gut-flora-detail.vue gutStatusLevel 微标(P0+P1 完整)
pdf_parser.py 北京菌群 related_bacteria/gutStatusLevel 解析 + report_parse_agent.py schema 扩展
ReportCollectService 与 LangGraphReportParseService 映射 gutStatusLevel 与 relatedBacteria,实现 P0+P1 完整链路
知识库指标章节白名单扩展(报告指标知识库.json)
健康报告采集扩展疾病关联菌和肠道菌群状态字段(实体/迁移)
新增报告解析进度页面(查看/重试/回填)
已知类型解析失败退避重试 + 解析进度后台可见 + 食材回填
v1.0.1588 (2026-10-12)
重构
其他
- pages/wealth/components/DimensionSubDims.vue
- pages/action-detail/components/DimensionSubDims.vue
原因:两者均为独立 subpackage root,微信禁止跨分包 import
2. 更新 import 路径为本地相对路径('./components/DimensionSubDims.vue')
- pages/wealth/index.vue
- pages/action-detail/index.vue(同时去重 DimensionIntroCard 重复注册)
3. pages/reminder-config/index.vue: 修复 :key 表达式警告
- ch.type + '_' + index → getChannelKey(ch, index)
- 'p-' + pIndex → getPraiseKey(pIndex)
符合 uni-app 非 H5 平台 :key 规范(需使用方法调用而非表达式)
Bug 修复
打破 ProductService↔NutritionProductService 循环依赖
补注入 NutritionProductService 并修正 syncFromProduct 调用位置
v1.0.1587 (2026-10-12)
Bug 修复
家庭成员编辑页辈分关系回显改用单向 prop
修复编译错误——reminder-config 编码损坏 + DimensionVisitorCard 幽灵引用
其他
- add-member.vue: generation-picker 改用 :generationLevel/:peerType 单向 prop 回显,保存时从 .generationPicker 读取选中值
- family-members.vue: 跳转编辑页时始终传递 generationLevel(空值传空串,编辑页需重新选择)
- 中文 mojibake(如 鍚敤寮€鍏 → 提醒开关)全面修复
- 三元运算符缺失的 ? 补回(enabled === 1 '...' : '...' → enabled === 1 ? '...' : '...')
- 字符串常量未闭合的 ' 补回
- 模板标签不完整(如 → )修正
2. 5 个维度页(action-detail / body-detail / mind-detail / wealth / wisdom-detail):
- 移除不存在的 DimensionVisitorCard 组件引用(该组件从未存在于项目中)
- 替换为已存在的 DimensionIntroCard(同 props 结构)
- 清理 import 语句和 components 注册表
Closes: CFCLUB-XXXX
v1.0.1586 (2026-10-12)
Bug 修复
修复微信扫码登录 405、移除令牌输入框、悬停暂停活动与精细化动画
schema.sql 建表语句提取支持引号内分号
修复编译错误(补充scan-login.json,移除main.js中不存在的login-sheet引用)
修复创建入库单页表单内容显示不全无法滚动问题
reminder-config :key 修复 v-for index 未定义
修复 reminder-config 页 :key 表达式导致非 h5 编译失败
京东云存储下 LangGraph 改读共享卷缓存路径
其他
- models.rs/commands.rs: 兼容旧版 qrconnect 后端(仅 {state,url} 无小程序码),给出明确「需部署最新后端」提示
- settings.html: 移除 JWT 令牌输入框及相关读写(保留 hasToken 探测)
- locomotion.rs: 新增 cursor_over_pet() 悬停检测,鼠标落在宠物身上时立即暂停走/跳/飞并保持静止(新增单测)
- index.html/animations.css/pet-pose.js: 姿态动画精细化(方向镜像 --face、走/跳/飞/站手更丰富关键帧、新增呼吸待机 pose-idle),并加固宠物 cursor:pointer
遇到 COMMENT 字符串字面量内的分号(task_reminder_config.offset_minutes
注释"截止前N分钟; after_timeout...")会提前截断,语句不完整导致
每次启动告警且该表无法由 schema.sql 创建。
改为按字符扫描、跳过单引号/反引号内分号,完整切分 338 条语句(与旧实现同集)。
- HealthReportController: 去掉 2 处 startsWith(http) 直传 OSS URL 的捷径,统一经 getFilePath 下载
- 代上传(proxy-parse): 改用 storageService 存 OSS 再经 getFilePath 传给 LangGraph
### 1. BASIC 会员恢复(f86dd164b 反向还原)
- 迁移360 restoreBasicMembershipLevel() 恢复 membership_levels BASIC 行 + membership_benefits 4 条 LITE 权益
- backfillMembershipLevelOrder 修正 level_order:FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6
- BasicQuotaService 恢复 refreshMonthlyQuota/isActiveBasicMember/getExpireTime
- MembershipService 恢复 BASIC canUseFeature/getMemberLevel 到期判断/listActive/配额初始化
- 新增 FOOD_RECOGNIZE 配额(3次/月),控制器层校验 FREE→403
- schema.sql 同步种子数据 + 注释
### 2. 饮食打卡分享
- diet-checkin.vue / records.vue / record-detail.vue 接入 share-mixin
- 分享链接自动带 refCode,新用户注册后自动绑定推荐人
### 3. cfclub 分支合并(~300+ 文件)
- 新模块:Indicator(指标曲线/相关性/映射)、FatDiet/FatExercise/FatGoal/FatWeight(减脂)、GutHealth(菌群健康)、SsoTicket(单点登录)、AdminTaskReminderConfig
- 前端:ContentSharePoster.vue、TrendChart.vue、indicator-curve/quicklook 页面、self-check-ai、indicator-change/sso utils
- LangGraph:indicator_classify、question_generate、report_parse 更新
- Web 管理端:IndicatorCorrelations/IndicatorMappings、api/indicator.js、utils/indicatorSeeds.js
- xiaofat-miniprogram(独立减脂小程序 Demo)纳入版本库
- docs/superpowers/plans/ & specs/ 补充完整
## 主提交
- DatabaseInitializer.java、schema.sql、BasicQuotaService.java、MembershipService.java
- DietRecordController.java、diet-checkin.vue、records.vue、record-detail.vue
- docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md
- 全部 cfclub 分支新增/修改文件
### 1. 恢复 BASIC 会员等级
- 迁移360 restoreBasicMembershipLevel() 重新插入 membership_levels 的 BASIC 行(level_order=2,月费990,max_children=3,max_tasks_per_day=3)和 membership_benefits 的 4 条 LITE 权益(AI_CHAT_LITE 3次/月,REPORT_READING_LITE 1次/月,GROWTH_PLAN_LITE,ASSESSMENT_QUOTA_LITE 1次)
- 修正 backfillMembershipLevelOrder 的 level_order 映射:FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6(BASIC 插回 FREE 与 FAMILY 之间)
- 同步 schema.sql:BASIC 种子数据 + level_order 与 quota_type 字段注释
### 2. 图片解析(食材识别)配额校验
- BasicQuotaService.QUOTA_LIMITS 增加 FOOD_RECOGNIZE=3
- BasicQuotaService 恢复 isActiveBasicMember / getExpireTime / refreshMonthlyQuota 真实实现
- 新增 consumeFoodRecognizeQuota(userId):FAMILY+ 不限次、BASIC 走月度配额、FREE 403 升级提示
- DietRecordController./recognize 注入 BasicQuotaService,取 userId 后校验配额,失败返回 Result.error(403, toast)
### 3. 饮食打卡分享(复用既有推荐链路)
- diet-checkin.vue / records.vue / record-detail.vue 接入 share-mixin(mixins + setShareInfo + onShareAppMessage)
- 分享链接自动带 refCode,他人点击注册后通过 App.vue / login.vue autoBindInviteCode 绑定推荐人
- 新用户即可自行饮食打卡
### 4. 设计文档
- 新增 docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md
## 主文件变更
- DatabaseInitializer.java:新增迁移360 + backfill CASE 修正
- schema.sql:BASIC 种子 + 注释更新
- BasicQuotaService.java:恢复 3 方法 + FOOD_RECOGNIZE
- MembershipService.java:BASIC 分支 / 到期判断 / listActive / 激活配额初始化
- DietRecordController.java:/recognize 会员配额校验
- docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md:设计说明
## 注意
- level_order 仅相对顺序调整(插入 BASIC),代码层 level_code 匹配逻辑不受影响
- 不恢复 consumeQuota 内原有的 isActiveBasicMember 前置校验,避免误伤 FREE/FAMILY 的 AI 对话
- 图片解析配额在控制器层校验,FAILED 返回 403 并提示升级
- 生产库历史 BASIC 用户已降级为 FREE,本迁移不自动回溯
- AiGateway 新增 generateSelfCheckQuestions(Map) 方法,调 /api/v1/question-generate
- FiveDimensionSelfCheckController 新增 ai-generate-questions 路由,返回 Result>
- questions 列表的 options 字段暂不映射,待后续补全
解除了本地 mvn clean compile 因 LangGraphService 导致的构建中断
新功能
玄凤鹦鹉精细化动作(走/跳着走/飞/站手跟随)
implement product recommendation & procurement workflow with 5-dimension tiers, customization, and task lifecycle with message reminders
待退款审核合并入审核中心(新增待退款审核 tab + 待审计数)
离线自主活动与本地点击互动
微信登录改为展示小程序码,不再打开系统浏览器
新增扫码登录落地页 scan-login 与 wechatWebScan 接口封装
桌面端扫码登录改用小程序码(getwxacodeunlimit),新增 POST /scan 确认接口,移除 GET /callback 与网站应用凭据
文章支持推荐排序值编辑;编辑页消除横向滚动条
同步 cfclub 分支 + 恢复 BASIC 会员 + 饮食分享 + 新增指标/减脂/Sso 模块
restore BASIC 体验会员 9.9/月 + 饮食打卡分享 + 图片解析配额
通过 AiGateway 接入智能出题能力,新增 POST /api/family/self-check/ai-generate-questions
收货人保存后回填用户真实姓名
商城地址保存后回填用户真实姓名
新增 RealNameBackfillService 真实姓名回填组件
文档
玄凤鹦鹉精细化动作设计文档
地址联系人回填真实姓名实现计划(含文档索引同步)
地址联系人回填真实姓名设计(自检修正+文档索引同步)
地址联系人回填真实姓名设计
测试
同步 ActivityControllerTest 到 roles 形参签名,修复 testCompile 失败
v1.0.1585 (2026-10-12)
Bug 修复
修复 product-edit 商品编辑页方法错位
修复 product-edit/comparison 模板与 api.js 编译错误
其他
拆分为: onTypeChange 仅同步 picker 选择; loadProduct(id) 承载商品详情加载回填逻辑。
- pages/dan-assessment/comparison.vue: 修 v-if 引号与 v-else 配对; 改用 @/utils/api 命名导入(@/utils/request 不存在); onLoad 去重复 loadReportIds
- pages/vendor/product-edit/product-edit.vue: 补 form-section 缺失的
新功能
本地程序化生成形象动作帧(item 3)
provider-agnostic 动作帧序列 schema + 客户端播放(item 3 基础)
微信网站应用扫码登录(桌面端 SSO)后端
重构
扫码登录成功回传 userId/role,移除多余 allow(dead_code)
v1.0.1584 (2026-10-12)
Bug 修复
ArticleEdit/ActivityEdit 加内滚动容器,修复表单无法下滑
v1.0.1583 (2026-10-12)
Bug 修复
修复菜单"显示"功能不生效 — Layout改用userMenus、el-switch绑定Integer、父链补全检查visible
v1.0.1582 (2026-10-12)
重构
其他
- DatabaseInitializer 迁移209: 补齐 supply_system 列并将 ecom_supplier 存量数据迁入
- EcomSupplierController/AdminSupplierController: 标记 @Deprecated ,接口统一返回 410
- 菜单 ecomSupplier 指向 /supply-system,权限改为 system:supply
- 前端 api/admin.js 指向新接口;router 中 /ecom-supplier 重定向至 /admin/supply-system
v1.0.1581 (2026-10-12)
Bug 修复
修复辈分关系和出生日期保存回显问题
透明无边框/右键菜单/任务栏图标/默认接口/点击完成待办
修复 isAdmin 恒为 false 的 bug,并清理新增的修改关系入口
首页合并冲突采用 feed 集成方案,移除浮动通知条
对齐真实后台接口契约(任务/能量/吉祥物/喝水)
其他
- 修复 UserService.updateFamilyMember:在管理员权限下保存 generationLevel/peerType
- 新增 FamilyMemberVO.birthday 字段,并回显至前端
- 修复 FamilyMemberService.toFamilyMemberVO:回写 birthday 为 yyyy-MM-dd 字符串
- 前端 family-members.vue onEditRelation:传递 birthday/generationLevel 在 URL
- 前端 add-member.vue onLoad:从 options 回显 birthday/generationLevel
- 前端 family-members.vue:修复 userId 取值(.id→.userId),移除修改关系入口
- api/mod.rs: upload_media(multipart); api/models.rs: MediaRecord
- settings.rs: AppSettings.custom_mascot_url 持久化
- commands.rs: upload_mascot/clear_custom_mascot; get_settings 返回 customMascotUrl
- settings.html: 形象选择+预览+上传/恢复默认 UI; 窗口高度 340->470
- pet-engine.js: setCustomImage 优先渲染自定义形象; bridge.js 监听 pet://custom-image 并启动加载
- index.html/interactions.js: 背景透明 + 右键菜单(设置/鼠标穿透/退出)
- commands.rs/main.rs: open_settings/quit_app 命令; 点击宠物优先完成待办任务
- poller.rs: 到期任务提醒并记录可一键完成的 pending_task
- settings.rs/settings.html: 默认接口地址改为 https://cfc.cf-club.com
- api/mod.rs: complete_task 封装
- 移除修改关系弹窗及入口:用户确认改用编辑资料,清理相关代码
- 恢复 GenerationPicker 注册(编辑资料流程必需)
- add-member.vue: modal-link 颜色改为品牌橙 #F97316
- Backend: IndicatorController source-types endpoint
- Backend: schema.sql delete duplicate report_format L1829
- Backend: DanReportUploadService compareUploads(new) + DanReportController /compare
- Frontend: indicator-curve.vue reportTypeOptions dynamic (source-types) + fallback
- Frontend: indicator-curve.vue skipGaps >0 display + rank-empty tip
- Frontend: dan-assessment/comparison.vue + pages.json registration
- Frontend: utils/api.js getIndicatorSourceTypes wrapper
新功能
设置内自定义宠物形象上传(复用 /api/media/upload)
DAN compare + indicator curve dynamic types + skipGaps + schema cleanup
JS<->Rust 桥接、设置窗口与命令实现
托盘菜单、单实例与主进程组装
轮询器(任务/能量/喝水)与 AppState
ApiClient 端点封装与响应解析
设置文件读写与默认值
keyring 令牌存储(双平台)
宠物形象配置解析(真实 JSON 测试)
宠物状态映射与优先级测试
API serde 模型层与解析测试
Tauri v2 脚手架与双平台窗口配置
重构
TrendChart 移入 pages/health 子包并更新引用
移除已退役的 WPF 版
文档
v1.0.1580 (2026-10-12)
Bug 修复
移除 ProductEdit.vue 重复 if 行,修复编译失败
v1.0.1579 (2026-10-12)
新功能
preserve pagination page when editing products
其他
- ProductEdit.vue: read page from route query and redirect back with preserved page
- Fixes issue where editing a product on page 2 would redirect back to page 1 after save
v1.0.1578 (2026-10-11)
Bug 修复
其他
- 统一 .edit 根元素、>.el-card 以及 .el-card__body 为 flex + min-height:0
- el-card__body 增加 overflow: hidden,防止卡片内容被裁剪或产生横向滚动
- 与 Layout/admin-tokens 的 .admin-page 弹性约束保持一致,确保长表单可内部滚动
v1.0.1577 (2026-10-11)
新功能
修改通知列表只显示未读,已读不计入首页familyFeed顶部
其他
- 已读通知仍可在 消息历史 页面的「全部」筛选中查看
- 平台公告 (/api/admin/notices/all) 逻辑不受影响
v1.0.1576 (2026-10-11)
其他
Make vendor optional in products: vendorId/vendorName/vendorVisible now nullable; remove vendorVisible switch from product edit form; preserve supplier system infrastructure
v1.0.1575 (2026-10-11)
Bug 修复
邀请接受流程缺失 FamilyMember 记录和 avatar 字段
其他
- FamilyJoinRequestService.approveJoinRequest(): 审批通过补偿创建 FamilyMember 记录,同头像策略
- 两处均检查重复记录(避免 mergeFamily 切换路径下插入双份)
- 新增 FamilyMemberMapper @Resource 注入
Closes: member avatar not showing after family invite join
v1.0.1574 (2026-10-11)
重构
v1.0.1573 (2026-10-11)
Bug 修复
其他
- 卡片 body 增加 width: 100% 和 box-sizing: border-box,防止 padding 导致横向溢出
v1.0.1572 (2026-10-11)
Bug 修复
其他
- el-card__body 增加 overflow: hidden,配合 .product-edit-form-wrap 的 overflow-y: auto 实现内部滚动
- 移除重复的 el-card__body 样式定义,保持 header 固定
- 与 Layout/admin-tokens 的 .admin-page 弹性约束保持一致
v1.0.1571 (2026-10-11)
Bug 修复
switchMemberToFamily 兼容孤儿成员记录,审批加入不再 500
v1.0.1570 (2026-10-11)
新功能
浠艾福桌面宠物 v1.0 完成(WPF + WebView2 架构)
桌面宠物设计文档 v1.1 - 支持用户自定义状态
桌面宠物设计文档 v1.0
其他
- 架构:WPF (.NET 6) 主进程 + WebView2 渲染层,Bridge via cfcPetAPI
- 状态映射:14 种核心状态 + 用户自定义状态(custom_state_1~10)
- API 对接:POST /api/tasks/today、/api/energy/overview、/api/daily/checkin
- 形象配置:JSON Schema (PetConfig),支持浠宝/福宝预设 + 用户自定义 PNG
- 交互闭环:喝水提醒 → 点击确认 → API 打卡 → 庆祝动画
- 托盘常驻:最小化到托盘,右键菜单(设置/显示/退出),双击唤出
- Token 存储:Windows DPAPI 加密,%APPDATA%\XafPet\token.bin
- 动画库:20 个 CSS keyframes(idle/happy/busy/sad/celebrate 等)
- 测试:xUnit + Moq 单元测试 18 个(PetConfig/ApiClient/StateManager)
Windows 构建命令:
dotnet build XafPet.Desktop.sln
dotnet test tests/XafPet.Desktop.Tests
dotnet publish src/XafPet.Desktop/XafPet.Desktop.csproj -c Release -r win-x64
文档
v1.0.1569 (2026-10-11)
新功能
添加任务完成表扬通知(后端触发、配置字段、模板、管理端API/UI、H5设置页)
v1.0.1568 (2026-10-10)
Bug 修复
食材查询适合/全部固定倒序(推荐值大的在前)、查询条件固定顶部、列表独立滚动
商品编辑页表单加内滚动容器,解决超长内容无法下翻
v1.0.1567 (2026-10-10)
其他
Implement vendor visibility filter for products: add vendorVisible field, filter list interface, add UI toggle
- Filter list results: non-vendor users only see vendorVisible=false/NULL products
- Vendor users (teacher role or approved vendorStatus) see all products
- Add vendorVisible toggle to product edit form in admin
- Add isVendorUser/isGuest helper methods in ProductService
- Add vendor_visible column to schema.sql with migration
- Frontend: product edit form with switch to enable/disable vendor-only visibility
v1.0.1565 (2026-10-10)
Bug 修复
商品编辑页超长内容超出屏幕无法滚动(el-card 弹性约束导致裁剪)
Replace missing human-body.png with inline SVG silhouette for knowledge base page - Removed reference to nonexistent img/human-body.png, added inline SVG body silhouette with dimension markers, maintains existing marker positioning logic
v1.0.1564 (2026-10-10)
Bug 修复
Replace missing human-body.png with inline SVG silhouette for knowledge base page - Removed reference to nonexistent img/human-body.png, added inline SVG body silhouette with dimension markers, maintains existing marker positioning logic
v1.0.1563 (2026-10-10)
其他
Add user testimonials and application scenarios section to enterprise website
professional perspectives from parents and service providers
- Add new #scenarios section with 4 scenario cards:
1. 儿童成长 (Child growth & development tracking)
2. 家庭健康 (Family health management)
3. 家庭关系 (Family relationships & communication)
4. 服务商赋能 (Service provider tools & efficiency)
- Add responsive navigation links for 新闻/应用场景/用户见证
- Add CSS styling with responsive grids (4→3→2→1 columns)
- Align testimonial grid responsiveness with scenarios layout
v1.0.1562 (2026-10-10)
Bug 修复
关键人首次见面时间解析兼容 date/ISO 格式,修复 /api/octopus/key-person/add 必现 400(Timestamp.valueOf 仅接受空格分隔格式,前端发送日期或空串即抛异常)
v1.0.1561 (2026-10-10)
Bug 修复
其他
该路径已不存在,且 restart 不会重建镜像(代码是 Dockerfile COPY 进镜像的),
导致脚本完全失效。
- 改为在脚本目录就地 docker compose build langgraph-svc + up -d,
并补充 build 后带重试的健康检查。
v1.0.1559 (2026-10-10)
Bug 修复
下单支持user_address地址簿,商品订单落库收货地址快照并完善管理端展示
v1.0.1558 (2026-10-10)
新功能
指标映射管理页(列表/筛选/批量导入 JSON/CSV + 待确认映射)+ seeds 解析工具
指标关联配置管理页(列表+新增/编辑+单对/一键校准)
指标关联配置/指标映射管理 路由注册 + 健康配置菜单回退项
指标管理 API 封装(关联/映射 5 端点)+ axios-mock 契约测试
菌群报告详情页增加指标变化区块(最近两次对比)
v1.0.1557 (2026-10-09)
新功能
指标速查页(分类分页 + 五维/七维小节 + 跳转曲线)
remove BASIC trial membership & add gut health questionnaire project
其他
- Migrate storage users member_level from BASIC → FREE
- Remove BASIC benefits from membership_benefits table
- Mark basic_quota_usage table deprecated (preserve data, stop using)
- Add new gut_health_projects table for single-pay questionnaire project
- Add GutHealthProject entity, mapper, service, controller
- Add 6 new API endpoints for questionnaire flow:
- /project/status - query project status
- /project/pay - create order
- /project/pay-notify - payment callback
- /project/submit - submit questionnaire
- /project/tasks - get action tasks
- /project/checkin-status - get checkin status
- /project/activate-after-purchase - activate family membership after purchase
- /project/discount-voucher - get member discount voucher
- Update schemas, level_order constants, remove BASIC references throughout codebase
v1.0.1556 (2026-10-09)
新功能
pages.json 注册 indicator-curve / indicator-quicklook
指标变化曲线页(筛选 + TrendChart + 变化排名 Tab/排序/着色)
指标变化展示规则纯函数 resolveChangeStyle/formatDelta
TrendChart 通用折线组件(canvas 2d + DPR,参照 RadarChart 模式)
指标 API 封装 getIndicatorTrend/ChangeRanking/QuickLookup/CorrelationList
视图+管理控制器(4+5接口) + 每日校准Job
IndicatorCorrelationService 关联CRUD+对序强制+Spearman校准
IndicatorTrendService 曲线/变化排名/速查(含维度评分小节)
NormalizeIndicatorPipeline 单一写者+三钩子(入库/编辑/食材快照)
IndicatorMappingService exact→fuzzy→AI→惰性注册 映射解析
AiGateway.classifyIndicator + LangGraph /api/v1/indicator/classify
SpearmanUtil 秩相关+Fisher z 聚合(纯函数,含并列秩)
ReportDateExtractor 真实报告日期提取+历史回填(幂等分批)
实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
迁移356-362 升级统一指标层(列/键/两新表/维度种子)
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
enhance activity poster with template selection and smaller QR code
报告管理展示采集完整度列与明细
报告类型管理支持编辑采集指标
/report/parse 支持 indicators 采集指标约束注入
非 DAN 解析下传 expected_indicators 驱动 LangGraph LLM
报告管理列表/详情回填采集完整度 collect_validation
/types/save 校验 expectedIndicators 为 JSON 字符串数组
Bug 修复
以 @Lazy 打破 IndicatorMappingService↔AiGateway 循环依赖,修复应用上下文启动失败
修复报告日期回填无限循环(keyset游标+去除no-op写)+ 补回填测试
修复 ActivityControllerTest 参数列表(补 roles 参数,解除全量测试编译阻塞)
IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@Mapper Scan 兜底但保持统一风格)
AIService 舌诊 JSON 序列化捕获受检异常
恢复 PromotionManagement 路由缺失的 path/name(构建阻断回归)
采集指标种子改为仅空时写入,保留管理员编辑
文档
同步指标统一层 9 个新接口契约 + PROJECT-OVERVIEW 状态
指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
指标变化曲线·指标速查·指标关联设计规范 v1.0
其他
未同步测试,导致 src/test 全量无法编译。补 null roles 恢复测试编译。
mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
- miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
- webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
- PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
v1.0.1555 (2026-10-09)
新功能
指标 API 封装 getIndicatorTrend/ChangeRanking/QuickLookup/CorrelationList
视图+管理控制器(4+5接口) + 每日校准Job
IndicatorCorrelationService 关联CRUD+对序强制+Spearman校准
IndicatorTrendService 曲线/变化排名/速查(含维度评分小节)
NormalizeIndicatorPipeline 单一写者+三钩子(入库/编辑/食材快照)
IndicatorMappingService exact→fuzzy→AI→惰性注册 映射解析
AiGateway.classifyIndicator + LangGraph /api/v1/indicator/classify
SpearmanUtil 秩相关+Fisher z 聚合(纯函数,含并列秩)
ReportDateExtractor 真实报告日期提取+历史回填(幂等分批)
实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
迁移356-362 升级统一指标层(列/键/两新表/维度种子)
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
enhance activity poster with template selection and smaller QR code
接入图片识别食材 + 语音自动填入食物清单
跨小程序单点登录 sso_ticket 换票与双向免登
Bug 修复
以 @Lazy 打破 IndicatorMappingService↔AiGateway 循环依赖,修复应用上下文启动失败
修复报告日期回填无限循环(keyset游标+去除no-op写)+ 补回填测试
修复 ActivityControllerTest 参数列表(补 roles 参数,解除全量测试编译阻塞)
IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@Mapper Scan 兜底但保持统一风格)
AIService 舌诊 JSON 序列化捕获受检异常
文档
同步指标统一层 9 个新接口契约 + PROJECT-OVERVIEW 状态
指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
指标变化曲线·指标速查·指标关联设计规范 v1.0
其他
未同步测试,导致 src/test 全量无法编译。补 null roles 恢复测试编译。
mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
- miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
- webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
- PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
重构
v1.0.1554 (2026-10-09)
新功能
IndicatorMappingService exact→fuzzy→AI→惰性注册 映射解析
AiGateway.classifyIndicator + LangGraph /api/v1/indicator/classify
SpearmanUtil 秩相关+Fisher z 聚合(纯函数,含并列秩)
ReportDateExtractor 真实报告日期提取+历史回填(幂等分批)
实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
迁移356-362 升级统一指标层(列/键/两新表/维度种子)
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
enhance activity poster with template selection and smaller QR code
Bug 修复
修复报告日期回填无限循环(keyset游标+去除no-op写)+ 补回填测试
修复 ActivityControllerTest 参数列表(补 roles 参数,解除全量测试编译阻塞)
IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@Mapper Scan 兜底但保持统一风格)
AIService 舌诊 JSON 序列化捕获受检异常
其他
未同步测试,导致 src/test 全量无法编译。补 null roles 恢复测试编译。
mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
- miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
- webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
- PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
文档
指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
指标变化曲线·指标速查·指标关联设计规范 v1.0
采集指标补齐 实施计划(方案A,P1+P2)
v1.0.1553 (2026-10-09)
Bug 修复
IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@Mapper Scan 兜底但保持统一风格)
AIService 舌诊 JSON 序列化捕获受检异常
修复家庭共餐食材持久化编译错误(selectCount 返回 Long、去除重复迁移方法、迁移354→356)
add store/user.js, wire App.vue store init, append fatloss API docs
最近记录展示全家报告,报告列表默认选中本人
基础会员(BASIC) 在会员等级映射表中缺失,导致显示为免费用户
新功能
实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
迁移356-362 升级统一指标层(列/键/两新表/维度种子)
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
enhance activity poster with template selection and smaller QR code
add all UI pages (weight/diet/exercise/ai-coach/profile/chart/query)
add remaining pages (ai-coach, profile/goal, weight-chart, food-query)
add api wrappers and format utils
init project scaffold
add controllers for weight/diet/exercise/goal
add service layer
add entities and mappers
家庭共餐食材推荐持久化到数据库
其他
mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
- miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
- webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
- PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
- 新增 DietFamilySelectedIngredient 实体和 Mapper
- DietIngredientService 改用数据库持久化替代内存 Map
- suggestIngredients 优先从 DB 加载已有选择
- refreshIngredients 清空并重新持久化推荐列表
- add/removeIngredient 直接操作 DB
- confirmIngredients 保留已选食材(不再清空)
文档
指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
指标变化曲线·指标速查·指标关联设计规范 v1.0
采集指标 spec 改为方案A(沿既有 expected_indicators),补齐管理端/展示/驱动解析
mark completed tasks in fatloss-miniprogram-plan
add fatloss mini-program implementation plan
报告类型采集指标定义与驱动解析设计(方案2 分层,P1+P2 本期)
v1.0.1552 (2026-10-09)
新功能
实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
迁移356-362 升级统一指标层(列/键/两新表/维度种子)
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
enhance activity poster with template selection and smaller QR code
财富中心移除推广入口并统一 CF 值显示
我的团队入口合并至推广团队页
add psychological assessment module (PHQ-9, RSES-7) - New pages: pages/psych-assessment/index & quiz - pages.json registers psych-assessment routes - Dimensions: phq9_score, phq4_score, reses_score
Bug 修复
AIService 舌诊 JSON 序列化捕获受检异常
家庭收益成员贡献榜使用真实家庭成员
其他
mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
- miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
- webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
- PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
- getFamilyId() 通过 userMapper.selectById 查询用户真实 familyId
- isFamilyAdmin() 检查 user.isFamilyAdmin 字段
- 修复成员贡献榜展示非本家庭用户的问题
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 移除 SharePoster 组件及其相关死代码(import/注册/数据字段/方法)
- 移除 fenToYuan/cfToYuan 辅助函数,统一替换为 cfVal 直接展示 CF 值
- 更新所有金额标签为 CF 单位(累计推荐CF/可支配CF/今日CF 等)
- 分配弹窗提示文字同步更新
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
# Conflicts:
# cfc-frontend/pages/promotion/index.vue
- pages.json 移除 pages/profile/team-tree 页面注册
- 删除 pages/profile/team-tree.vue(与推广团队功能重复)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
文档
指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
指标变化曲线·指标速查·指标关联设计规范 v1.0
v1.0.1551 (2026-10-09)
Bug 修复
AIService 舌诊 JSON 序列化捕获受检异常
其他
mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
v1.0.1550 (2026-10-09)
新功能
迁移356-362 升级统一指标层(列/键/两新表/维度种子)
v1.0.1549 (2026-10-09)
文档
指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
其他
- miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
- webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
- PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
v1.0.1548 (2026-10-09)
文档
自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
v1.0.1547 (2026-10-09)
文档
指标变化曲线·指标速查·指标关联设计规范 v1.0
v1.0.1546 (2026-10-08)
新功能
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
enhance activity poster with template selection and smaller QR code
六个维度页传入dimension-code按域筛选推荐商品
DimensionProducts组件新增dimensionCode按维度取推荐
其他
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Bug 修复
购买态订单查询改用paid等真实状态枚举
维度商品推荐修复订单状态匹配与实物库存口径
迁移354补齐product_recommendation_log缺失列并同步schema.sql
v1.0.1545 (2026-10-08)
新功能
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
其他
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
2. application.yml:新增 aikanshe 配置块(6参数)
3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
配置: export AIKANSHE_APPKEY="your_appkey_here"
v1.0.1544 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
每类报告定义采集指标项并接入采集完整性校验
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
- 幂等补注册 dan_a1/b2/b3/b4/b5/b6/c1 与 gut_flora_beijing 类型行(parser_path 空,不干扰指纹路由)
- ReportCollectService 采集完成后按定义校验(归一化+包含+CJK二元组重叠匹配),结果写入 health_report_drafts.collect_validation(typeId/expected/matched/pass/missing)
- schema.sql 同步两处新列
v1.0.1543 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
Bug 修复
修复B4报告解析——自我概念按「维度 分数」提取6维、自驱力按维度顺序映射我的得分,去除错误兜底
v1.0.1542 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
Bug 修复
add fallback from product.domain when candidates empty
v1.0.1541 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
DAN报告新增按维度重解析接口,修复历史误解析并刷新结果/展示块/汇总
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
v1.0.1540 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
我的画像页迁移五维画像并支持全屏编辑,后端新增每日自动更新任务
引入企业级设计系统(Ant Design 5 令牌)并应用 flex 撑满布局
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
- OrderManage.vue: 表格改用 .adm-table-wrap 弹性撑满(height=100%),移除 JS 计算的 tableHeight
v1.0.1539 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
Bug 修复
dan报告维度映射支持类型编码(a1/b2/b4等),前端dan_*前缀统一跳转DAN报告页
v1.0.1538 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
- getScoreClass/getStatusText/buildFamilyOverview 等状态判定全部改为 >= 0 边界
- onLoad 从报告入口进入时默认 sortType='asc',setFilter('unsuitable') 时同步重置 sortType
- 分类 tab key 从英文 (vegetable/fruit/meat/seafood/grain/dairy) 改为中文 (蔬菜/水果/肉禽/水产/谷物/蛋奶),并新增 getCategoryKeywords() 关键词映射覆盖 PDF/ LangGraph 两套数据源分类命名
- 修复分类点击无效问题,确保前端过滤能匹配 DB 中存储的中文分类
closes related category filter bug, aligns with backend semantics
Bug 修复
ingredient query page - 戒备阈值 <50→<0, 默认正序, 分类点击生效
v1.0.1537 (2026-10-08)
新功能
enhance activity poster with template selection and smaller QR code
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
- 将 SUM(points) 修正为 SUM(amount),与 points_log 表结构一致
- 修复任务完成接口 /api/tasks/{id}/complete 在 calculateLatePenalty 路径抛 BadSqlGrammarException
Bug 修复
修复 PointsLogMapper.selectSum SQL 占位符转义及字段名错误
v1.0.1536 (2026-10-07)
新功能
enhance activity poster with template selection and smaller QR code
其他
- Add background color selector for gradient template
- Reduce QR code size from 150 to 100rpx for activities
- Auto-detect background color from activity dimension
- Pass template/bgColor as writable props via event updates
Bug 修复
注册/绑定推荐人不再发放CF值,新增首次报告上传任务(300 CF)
v1.0.1535 (2026-10-07)
Bug 修复
健康首页最近记录只显示当前用户自己的报告
商品管理列表撑满视口并消除多级滚动条
其他
getFamilyReports 返回全家全部报告),改回传入当前视图成员 memberId,
符合"只有两种情况"的语义:
- 未切换视图 = 当前登录用户自己的报告(currentChildId/currentMemberId
未写入 storage 时回退 userId,后端 getMemberReports 按成员严格过滤)
- 已切换成员 = 被切换成员的报告
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 表格改用 height=100% + flex:1,仅保留表格自身滚动条
- 移除 JS 计算 tableHeight 及 window.resize 监听
新功能
admin supply-manage auto-set activityProviderStatus for activity_provider
v1.0.1534 (2026-10-07)
新功能
integrate article recommendation into dimension pages
include vendorType/activityProviderStatus in login response for frontend permission check
allow activity_provider to create activities + scene referral binding
小程序新增任务提醒配置页(渠道/时机/偏移/开关)
任务打卡提醒升级为可配置提醒模块
每日任务打卡超时 webhook 提醒
新增迁移352移除报告上传权益与配额残留并同步 schema.sql
移除报告上传配额,对所有登录用户免费无限
implement product recommendation engine with persona + association relations (P3) add recommendation rules DB + service + UI ab-test tracking
其他
- 知识库:wiki/raw 原始资料、wiki 页面、结构化知识、构建脚本及 memory 等知识资产
- 新增 知识库/.gitignore,排除中间产物(_kb_work/.wiki-creator/pycache /*.pyc/.obsidian 缓存)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
避免最新上传/归属到其他成员的报告在首页不显示;切换到具体成员或孩子本人登录时仍按成员过滤。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增 pages/reminder-config/index.vue 提醒设置页(渠道多选含未开通态/时机单选/偏移分钟/启用开关)
- pages.json 注册 reminder-config 分包
- profile 设置 actionSheet 增加"提醒设置"入口
- 新增 TaskReminderConfigService/Controller(/api/task/reminder-config get/save)
- 重写 TaskCheckinWebhookReminderTask: 按配置支持的 before_deadline/after_timeout 双窗口, 多渠道分发
- 新增 WebhookNotificationChannel(wechat) 接入微信待办 webhook; Email 通道骨架(未启用)
- 站内信(in_app)恒兜底并作幂等标记, 兼容旧 type 判重避免重复推送
- 无配置用户走默认: wechat+超时60分钟(与线上行为一致)
- 新增 7 个单测覆盖窗口/渠道/判重/停用场景
- 新增 TaskCheckinWebhookReminderTask:每分钟扫描家长执行型待打卡任务,提醒时间(deadline)过 1 小时未完成则推送 webhook
- 幂等:user_notifications 标记,同任务同日仅推一次;失败下一分钟自动重试
模板任务数据(9 条健康打卡)一次性直接落库,不写入代码。
表示该order_id在微信订单库中从未创建成功(并非临时查询失败)。
原逻辑将所有errcode!=0一律return null, 导致超时任务永远跳过不关单,
死单永不清理且每单每分钟刷2条WARN(今日已5200+条)。
- queryOrder: 单独识别268490002返回status=-1(本地扩展状态) + INFO日志
- VirtualPayTimeoutTask三个handler: status=-1归入明确未支付置cancelled分支
- 已用真实paid单(ORD1785990942621001DCC2)实测接口正常, 无误杀风险
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
add: care_family 运营资料 + cfContent 微信贴图话题发布 skill
Bug 修复
健康首页最近记录默认展示全家报告
query_order返回268490002数据不存在视为未支付关单
移除会员对比表与升级弹窗中的报告上传配额文案
微信支付 v3 回调通知加入白名单并修正 notify-url
报告列表默认显示当前登录用户而非全部
body-detail navigation to unregistered pages; resolve action-detail merge conflict
文档
add activity share referral design spec
v1.0.1533 (2026-10-07)
Bug 修复
后台会员等级写入家庭维度事实源,修复健康方案生成误报未升级
其他
v1.0.1532 (2026-10-07)
Bug 修复
其他
- getEligibleMemberPrice 方法被插入到类中错误位置, 提前用 } 闭合类,
导致原"7.组装返回"代码段孤立在类外 (class/interface/enum expected)
- 方法内引用未定义的 userId, 应为参数 buyerId
修复: 恢复"6.更新订单时间→7.组装返回"方法完整结构,
getEligibleMemberPrice 移到类内末尾, userId 改为 buyerId
会员可见级别模型: 增加所有用户档(含未登录)+BASIC独立档位
FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6,
BASIC 从与 FREE 同级调整为独立档位(FREE 与 FAMILY 之间)
- 前端: ProductEdit/CategoryManage 可见级别下拉增加"所有用户(含未登录)"
选项(值空串,提交转null), 显示全部级别含FREE; ProductManage
levelLabel NULL 显示"所有用户"
- schema.sql: membership_levels.level_order 注释同步
v1.0.1531 (2026-10-07)
Bug 修复
会员判定取个人与家庭身份中更高级别,防止家庭同步覆盖更高个人会员
其他
max 比较取更高者,覆盖全部用户侧调用方(折扣/可见等级/权限/赠礼前置校验等)
- resolveEffectiveLevel: level_order 比较,平级时优先非 FREE(当前 FREE=BASIC=1 防同级覆盖)
- syncMembershipToFamilyMembers/syncMembershipForNewMember: 家庭同步只升不降,
成员已有更高级别个人身份时保留,避免覆盖
- downgradeFamilyMembers: 按家庭历史最高 level_order 守卫,仅降级不高于该级别的成员,
保留 LIFETIME/PREMIUM 等纯个人身份
- 新增 MembershipServiceTest 17 用例(纯 Mockito)
v1.0.1530 (2026-10-07)
Bug 修复
min_visible_level 空串归一化为 NULL,避免管理端清空可见级别导致商品对所有用户不可见
v1.0.1529 (2026-10-07)
样式
其他
- 筛选区改为「标签+控件」结构,去除 el-card 内套 filter-bar 的卡中卡阴影
- 数值列右对齐+等宽数字+售价千分位;状态标签标准化为浅底深字+同色点
- 操作列由 280px 缩减为 176px 并降为文本按钮,主色覆盖率收敛至 5% 内
- 新增批量选中提示条;弹窗区块标题/圆角/分割线统一;表格高度改为响应式
Co-Authored-By: WorkBuddy workbuddy@tencent.com
v1.0.1528 (2026-10-06)
Bug 修复
team 页面 onLoad/onShow 首次加载守卫,消除审计 LIFECYCLE_DOUBLE 报错
编辑报告时同步更新 report_date 字段
新功能
v1.0.1527 (2026-10-06)
Bug 修复
报告列表补家庭隔离,修复解绑时"报告不属于该家庭"
其他
因此会把其他家庭的报告带进成员列表。实测家庭72成员返回7条中有5条来自
家庭67/70;小程序照单显示"取消归属",点击后在 reassignReport 权限校验
(报告必须属于该家庭)处抛异常。列表侧与权限侧必须遵守同一条家庭边界。
- getMemberReports 在归一化 id 集合时同步解析成员所在家庭,
查询追加 family_id = ? 约束;无法解析家庭时返回空列表,
与 /report/list "无家庭信息返回空列表" 的既有语义一致
- 该方法的另两个调用方(FamilyMemberNutritionProfileService 营养画像)
同步受益,避免营养画像跨家庭取报告
- 同步修复 HealthReportServiceTest 中 2 条被上次提交破坏的断言
(旧成员重算已由 refreshFromGutReport 改为 rebuildFromMemberReports;
pom 全局 skipTests=true 导致当时未被发现)
- 新增 getMemberReports_constrainsToMemberFamily 回归测试
实测 member 21 列表由 7 条收敛为 2 条(均 family_id=72),越界为空;
报告42 解绑/重绑均返回 200 且净状态不变。
v1.0.1526 (2026-10-06)
新功能
beautify action-detail (行) page — enhanced visual design with scores, gradients & hierarchy
其他
- Gradient accent bar on all sections (brand green #10B981)
- Unified section-title-wrap with green left border
- Score explanation: ≥80 good, ≥60 warn, <60 bad
- Header subtext merged into title-wrap for consistent layout
- Visual hierarchy improvements throughout
v1.0.1525 (2026-10-06)
重构
整体美化智维度页面 - 修复幽灵样式/注释/统一视觉语言
v1.0.1524 (2026-10-06)
Bug 修复
其他
health_dimension_scores 上有 uk_member_dim_date 唯一键,
同一成员重复刷新即抛 Duplicate entry 导致整个改绑事务回滚。
- saveScore 改为按 (member_id, dimension, assess_date) upsert,
使 10 处 refreshFromGutReport 调用点可重复执行
- 新增 rebuildFromMemberReports:清除成员全部 REPORT 源维度分后,
按其当前绑定的有效报告重新派生
- reassignReport 及报告编辑/解绑三处旧成员调用改用重建,
此前是拿已不属于自己的报告再插一遍,既残留脏数据又撞唯一键
- 新增 getMemberBoundReports:严格按 subject_id 过滤,
避免 getMemberReports 带出 subject_id 为空的未绑定报告
实测解绑->重绑后评分与基线完全一致,无重复键。
v1.0.1523 (2026-10-06)
Bug 修复
其他
v1.0.1522 (2026-10-06)
Bug 修复
team-system 页面注册移至 vendor 子包,修复编译失败
其他
v1.0.1521 (2026-10-06)
Bug 修复
修复套餐子商品添加按钮 TypeError(this 为 null)
其他
Vue updateListeners 用 createFnInvoker 包装后以 context=null 调用
(invokeWithErrorHandling(fns, null, ...) -> handler.apply(null, args)),
ESM 严格模式下 this 保持 null,点击时读取 this.bundleItems 抛
TypeError: Cannot read properties of null。
改为内联调用 @click ="method()",编译器生成 function($event){return method()},
表达式处于 render 的 with(this) 作用域内,标识符解析为 vm 上的方法,this 正确绑定。
同文件另 3 处同模式裸绑定(addSelectedGuide/addOnlineSlot/handleSave)一并修复。
v1.0.1520 (2026-10-06)
Bug 修复
加固成员归属校验,避免 family_member_id 为空时 NPE
其他
当 family_member_id 为 NULL 时抛 NPE 并被兜底为 500,掩盖了本应返回的 400 业务提示
(如"需先完成前置任务")。改为 Objects.equals 判空安全比较。
v1.0.1519 (2026-10-05)
Bug 修复
周期实例透传 family_member_id + 迁移348 回填存量
其他
今日任务列表(列表按该字段过滤),completeTask 也会抛 NPE。存量 174 个实例中
90 个为 NULL,含既有模板实例,属既存缺陷一并修复。
迁移348 按模板回填,模板缺失时以 child_id 兜底。
v1.0.1518 (2026-10-05)
Bug 修复
hasTaskForDate 排除模板行,修复方案当日服务任务不生成
其他
导致首个实例永不生成,"采购完成即激活服务任务"在方案批准当天失效(次日自愈)。
存量模板同样存在该潜在缺陷,一并修复。
v1.0.1517 (2026-10-05)
Bug 修复
其他
新功能
v1.0.1516 (2026-10-05)
Bug 修复
其他
- 单次调度最多发送50条,防止选数异常形成短信轰炸
v1.0.1515 (2026-10-05)
Bug 修复
其他
依赖逐项配对(每个使用任务绑定其前面最近的购买任务),修复多商品共用首个锚点
- D2 周期服务任务写成 is_template=1 模板,交 RepeatTaskGenerator 按日生成实例
- D3 新增 health_plans.total_days,驱动方案截止日期与周期生成边界;/save 支持入参
- D4 新增 TaskReminderScheduledTask(每日09:00)+ task_reminder 模板 + 迁移345/346/347
迁移347 用 LEFT JOIN 自连接修正 MySQL 1093;回填存量依赖并置 locked
- D5 打卡审核通过后发放 CF 值(user_platform_balance + family_platform_balance),按 task.points 1:1,幂等去重
- D6 结构化 planJson 支持 action_type=use;懒回填保真,使用任务不再被丢弃
v1.0.1514 (2026-10-05)
重构
v1.0.1513 (2026-10-05)
新功能
其他
2. 后端新增SupplyCustomerRelation实体/Mapper/Service/Controller
3. ProductOrderService订单完成时自动绑定客户归属关系
4. 新增供应商团队系统页面pages/vendor/team-system
5. 新增供应商团队客户页面pages/vendor/team-customers
6. utils/api.js新增供应商团队相关API封装函数
7. pages.json注册新页面路由
重新设计 身维度身体指页:顶部关键指标卡片+健康概览+雷达趋势图+报告导航按钮
v1.0.1512 (2026-10-05)
Bug 修复
修复远程提交3处编译错误 - ProductOrderService 漏注入 supplyCustomerRelationService / SupplyTeamController var改显式类型 / SupplyCustomerRelationService 移除不存在的 FamilyMember.getRole()
v1.0.1511 (2026-10-05)
新功能
add batch shelve + category selection for product management
其他
* Backend: POST /api/admin/product/batch-shelve with {productIds, shelve}
* ProductService.batchAdminShelve() validates all products are in approvable status before bulk update
* Frontend: ProductManage.vue - multi-select table row + dropdown '批量上架/下架' with confirmation
* api/admin.js: batchShelveProduct()
- Task 2: Category selection on product edit page
* ProductEdit.vue adds categoryId field to form, loaded via getCategoryTree(true)
* UI uses el-option-group grouped by parent category, searchable/filterable
* On save/edit, categoryId is included in payload, enabling frontend mall category filtering
- Docs: PROJECT-OVERVIEW.md and API_REFERENCE.md updated with new endpoints
v1.0.1510 (2026-10-05)
Bug 修复
删除重复的 methods 块,修复 'Unexpected end of input'
重构模板为单根元素,修复 'should contain exactly one root element'
其他
但 L298 又出现了一个相同的 methods: { ... } 块,导致整个 script 语法结构断裂:
L139: methods: { ← 第一个 methods 块(正确)
...
L297: },
L298: methods: { ← 重复,整块内容照抄了 L139–L297
...
L509: }
L510: }
L511: }
L512:
Node 报 'Unexpected end of input'(L422),是因为重复块内部的多层闭括号
把 methods 对象的闭合、export default 的闭合都提前结束了,导致后续
和 style 被当作 script 的一部分解析。
修复:删除 L298–L510 的重复块,在原 methods 块末尾补充 }; 闭合。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Vue 单根元素要求,编译报 'Component template should contain exactly one root element'。
修复:将 save-bar 移入条件渲染的 section 内(v-if="renderedSnapshot"),
外层 成为唯一根元素。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1509 (2026-10-05)
重构
移除孤儿 DanShop 模块 DDL(danshop_* 十张空表无代码引用)
v1.0.1508 (2026-10-05)
新功能
其他
- 新增五维能量数据卡(canvas 绘制:综合分大字 + 五维彩色圆/分数/进度条)与未解锁全景时的品牌渐变卡
- profile.vue 接入 getEnergySandbox('family'),移除旧 share-qr-modal 实现;浮标样式由 emoji 改为 CSS 绘制二维码图形
fix(index-home): 删除 loadNotifications 后遗留的悬空 promise 链
}).catch(function() {}) 与 },使整页 script 无法解析:
}).catch(function() {})
},
}).catch(function() {}) <- 悬空,无对应的 Promise 链
}, <- 多余的方法闭合
// ===== 能量/积分/CF值变更通知 =====
该语法错误在 HEAD 中已存在,且 392480520 的两个父提交同样损坏。此前一直
未暴露,是因为差量编译从未重新解析此文件;本次重新编译才报出:
Module build failed ... 语法错误: Unexpected token, expected "," (1137:5)
无任何逻辑缺失,纯语法残留,故仅删除这两行,未改动方法体。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1507 (2026-10-05)
Bug 修复
ProductEdit.vue addBundleItem 防止 null 报错
其他
- 防止 TypeError: Cannot read properties of null (reading 'bundleItems')
v1.0.1506 (2026-10-05)
文档
记录健康报告归属重分配设计文档与实现计划 本次变更包括: 1. specs/2026-10-05-health-report-reassign-design.md: 功能设计规格(接口、流程、权限、风险、验收标准) 2. docs/superpowers/plans/2026-10-05-health-report-reassign-plan.md: 7 个任务的实施计划(Controller、Service、查询修复、前端、测试、文档) 3. PROJECT-OVERVIEW.md v2.15: 更新版本号与状态栏,标注健康报告归属重分配已实施(全栈已完成)
新功能
管理端报告归属管理页改用 Element UI 组件 该页面从 Arco Design 迁移至 Element UI 规范,新增家庭选择过滤、归属状态标签、归属成员展示、刷新功能等。展示列表新增「调整归属」操作入口,点击后弹出归属成员选择器。
replace user-facing '孩子' terminology with '成员'/'家庭成员' across frontend - assessment flow, family member pages, health questionnaires, activity pages, and UI text updates per product decision that system has no 'child' concept; users see only self + family members, child status derived from relationship; internal entity/DB references (Child entity, child_id columns) preserved unchanged
v1.0.1505 (2026-10-04)
新功能
Add article type and fix search bindings
v1.0.1504 (2026-10-04)
新功能
Remove custom page title from health plan summary, use pages.json configured title
v1.0.1503 (2026-10-04)
新功能
portrait-edit UI redesign - remove AI generation, enlarge textarea, fix save button to bottom
v1.0.1501 (2026-10-04)
Bug 修复
env-version default develop->release,修复 getwxacode 41030 invalid page rid [skip ci]
文档
记录任务 9 计划缺陷 26 并同步 PROJECT-OVERVIEW 进度
v1.0.1500 (2026-10-04)
新功能
新增审核工作台 8 个API 封装
新增我的服务家庭与客户家庭成员查询端点
新增客户家庭方案审核 4 端点,含 planId IDOR 反查防护
approveAndPublish 返回 taskGenerated,任务生成失败不再静默
文档
任务 8 后端整体验证通过(32 用例全绿)并同步进度
记录任务 7 计划缺陷 24/25 并同步 PROJECT-OVERVIEW 进度
记录任务 6 计划缺陷 23 并同步 PROJECT-OVERVIEW 进度
记录任务 5 计划缺陷 21/22 并同步 PROJECT-OVERVIEW 进度
Bug 修复
迁移343 health_report_drafts 补 member_id 列(commit 21f8f6740 遗漏迁移脚本)
v1.0.1499 (2026-10-04)
文档
记录任务 4 计划缺陷 20 并同步 PROJECT-OVERVIEW 进度
v1.0.1498 (2026-10-04)
Bug 修复
修复 HealthPlanReviewGuardTest 测试用例
v1.0.1497 (2026-10-04)
Bug 修复
rejectPlan 增加状态守卫,新增 getPlanForFamily 防止 IDOR 越权
v1.0.1496 (2026-10-04)
Bug 修复
GuideFamilyTaskController 7 个端点接入绑定校验,修复跨家庭越权
confirmBind 重绑时复位 status 为 binding,修复解绑后无法重新绑定
修复 ProductControllerTest 与 OrchestrationEngineTest 的签名漂移
wechat env-version release -> develop to resolve 41030 invalid page rid error
新功能
新增 GuideFamilyAccessGuard 统一家庭访问授权判定
文档
新增规划师审核工作台实现计划并同步 PROJECT-OVERVIEW
v1.0.1495 (2026-10-04)
Bug 修复
修复后端编译错误 - 通知功能语法错误 + 日志变量遮蔽 + KeyPersonService 缺 logger
其他
2. PointsService: 局部变量 PointsLog log 遮蔽 SLF4J logger → 改名 plog
3. EnergyService: deductEnergy 引用不存在的 sourceType 变量 → 固定为 'manual'
4. KeyPersonService: 补充 @Slf4j (新增能量奖励日志需要)
修复后 mvn clean compile 通过(BUILD SUCCESS)
v1.0.1494 (2026-10-04)
Bug 修复
修复远程提交遗漏的编译错误(sourceType/log/log) [skip ci]
v1.0.1494 (2026-10-04)
Bug 修复
注册 report-detail 页缺失的 ReportBlocksRenderer 组件
其他
且文件顶部已有对应 import:
import ReportBlocksRenderer from '../../components/report-blocks-renderer.vue'
但 components 选项里只注册了 FeedbackPopup,ReportBlocksRenderer 被漏掉。
小程序中未注册的组件不会渲染,健康报告详情页的 blocks 区始终空白。
components: { FeedbackPopup }
-> components: { ReportBlocksRenderer, FeedbackPopup }
组件文件存在(components/report-blocks-renderer.vue,name 与注册名一致),
blocks 已在 data 中定义。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1493 (2026-10-04)
Bug 修复
移除 pages/membership 下无对应 .vue 的失效页面注册
其他
但两个 .vue 文件均不存在,且全仓库无任何跳转引用这两条路径:
- pages/membership/ 实际仅 benefits / index / pay / result / upgrade 五个文件
- 两条注册与 pages/profile 下的同名注册重复
指向不存在文件的注册会触发小程序「Page has not been registered yet」,
并与 pages/profile 下的有效注册重复占用路径。移除后pages.json 恢复与实际文件一致。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
unpackage/ 已由既有 **/unpackage/ 覆盖。 [skip ci]
v1.0.1492 (2026-10-04)
重构
remove copy button from share modal, only share poster
v1.0.1491 (2026-10-04)
新功能
章鱼图感恩记录增强 - 关键人新字段/手机号匹配/能量奖励/自动感恩记录
其他
- first_meet_time 相识具体时间(date picker)
- referrer_id 介绍人(从现有关键人下拉选择,可为空仅可选)
- system_user_id 匹配到的系统用户ID(持久化匹配状态)
2. 手机号匹配系统用户:
- 新增 POST /api/octopus/key-person/match-by-phone
- 新增 POST /api/octopus/key-person/bind-system-user(持久化绑定)
- 前端 octopus-add-effect.vue 增加手机号匹配输入框 + KP 匹配按钮 + '✓ 系统用户'徽标
- 章鱼图弹窗关键人列表显示系统用户徽标
3. 行维度能量奖励:
- 每填一条感恩记录 +1 点行维度能量,逢5条再+1(KeyPersonService.addEffect)
4. 自动感恩记录(CF 触发):
- CfCommissionService 推荐人分润成功后自动创建 OctopusEffectRecord
- 将买家自动建为邀请人关键人,CF金额作为成效金额
5. 数据库迁移342:octopus_key_person 添加 first_meet_time/referrer_id/system_user_id 列(schema.sql 同步)
验证:后端编译通过(仅剩既有 McpController 缺失 McpAuthService 的预存错误);前端语法 OK;API 去重审计 0 error
v1.0.1490 (2026-10-04)
重构
move share QR to floating button on profile page - remove invite share menu item from ProfileMenu - remove share.vue page and its registration - add floating QR code button in profile-main/profile.vue - add share poster modal with QR code, copy and share actions - add support for ref code on homepage onLoad
v1.0.1489 (2026-10-04)
新功能
家庭能量/积分/CF值变更通知 + 消息历史中心
add share referral code page to profile
其他
- 新增消息历史页面支持筛选查看全部/能量/积分/CF值/系统
- 后端 EnergyService/PointsService/PlatformPointsService 集成通知发送
- 新增 energy_change/points_change/cf_change 通知模板种子数据
- ProfileMenu 新增消息历史入口
早于 @getphonenumber 回调。原先 :disabled 只受 loading 约束,而 loading 要等
回调进函数才置 true —— 授权弹窗弹出前的几百毫秒内按钮仍可点,用户「以为没反应」
就连点,每次点击都真实消耗一次平台调用配额,最终触发微信限频:
[渲染层错误] invoke getPhoneNumber too frequently
JS 层的 if (!this.agreed) return 拦不住已发生的调用 —— 只能事后弹 toast。
- 新增 tapLock,@tap 瞬间上锁,:disabled 改为 !agreed || loading || tapLock
- 未勾选协议时按钮直接禁用,无效点击从源头不发生
- getPhoneNumber 开头释放 tapLock,并移除原有 if (this.loading) return
(loading 正是在该函数内才置 true,保留会把首个合法点击也拦掉)
- 3 秒兜底解锁 + onUnload 清理定时器,避免异常路径下按钮永久锁死
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
槽位的 .center-btn(五维圆形按钮)及 openDimPanel/closeDimPanel,五维入口
因此无法触达,dim-fan-overlay 沦为死代码。
- 恢复 .center-btn / .center-btn-inner 样式与 5 等分布局(左右各 2 Tab)
- 恢复 openDimPanel / closeDimPanel 与 leftTabs / rightTabs computed
- 补回 closeDimPanel:模板 @click 此前引用了已删除的方法,一旦弹窗触发即报错
- 保留 984c16cef 的「统一角色入口」决策:不再有 teacher 专属 TabBar 分支
- :key 维持 index。两个 v-for 编译为各自独立的 block wx:for($root.l0 /
$root.l1),key 只需在列表内唯一;改用 item.pagePath 会因该属性实际挂在
item.$orig 上而取不到值,导致 wx:key 重复,渲染层抛 FLOW_CREATE_NODE
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Bug 修复
手机号快捷登录按钮点击瞬间上锁,避免触发微信授权限频
恢复底部中间五维大按钮 + 五维横排弹窗
移除推荐人卡片,在用户信息栏显示推荐人,去掉家长标签
McpToolRegistry toolSchema 参数 name 缺失导致 properties 为空 [skip ci]
v1.0.1488 (2026-10-03)
Bug 修复
补全提交遗漏的 McpAuthService(MCP 认证服务)[skip ci]
家庭挑战功能修复与待同意状态流转实现
阅读计时和知识测评适配所有登录用户
HomeBannerManage 上传成功/失败提示 this.. 语法错误修复为 this.$message [skip ci]
新功能
增加 MCP (Model Context Protocol) 服务端实现
体验会员补充 referral_commission 权益 + 前端动态加载权益列表
完成阅读且获得CF值后从文章列表中隐藏
其他
- 新增 MCP 协议 HTTP 端点 POST /api/mcp,实现 JSON-RPC 2.0 + Streamable HTTP 传输
- 新增 13 个工具供 AI 助手调用:成员列表、今日任务、健康报告状态、AI 对话、活动/文章/商品搜索、用户概览、待办/待审批心愿、能量概览、家庭概览、联系人搜索
- 认证方式:通过 application.yml 中 mcp.api-key 配置(默认空值,开发无感知),通过 Mcp-Api-Key header 传递
- 支持已有 JWT/Interceptor:/api/mcp/** 加入 PUBLIC_PATHS 放行
新增/修改文件:
- config/McpConfig.java (新)
- service/mcp/McpAuthService.java (新)
- controller/mcp/McpController.java (新)
- controller/mcp/McpToolRegistry.java (新)
- application.yml (增 mcp.api-key)
- config/JwtInterceptor.java (加 /api/mcp/** 至公开路径)
- MembershipService: BASIC 可用功能加入 referral_commission
- schema.sql: membership_levels 种子数据同步
- membership/index.vue: 动态加载权益功能列表(免费用户展示 BASIC 体验会员功能)
- utils/api.js: 新增 getMembershipBenefits 接口封装
- ContentRecommendService: 改用 selectCompletedArticleIdsByChild 查询已读文章(与文章列表过滤逻辑一致)
- 挑战页点击已存在挑战跳转至活动首页(错误URL) → 改为打开详情弹窗
- 首页家庭挑战待同意状态卡片无法点击 → 添加整卡@cardClick 事件并传递challengeId
- 编辑挑战任务无法修改参与成员 → 移除v-if=editMode限制,openEditModal预填充memberIds,submitForm编辑时也传participantMemberIds
功能新增:
- 邀请参与人时任务状态为pending,设置回复时效(24/48/72h可选)
- 超时未回复的pending成员自动置为rejected
- 除发起人外全部拒绝 → 挑战状态变为not_launched(未成功发起)
- pending挑战详情页展示截止时间/超时标签
后端:
- schema.sql + DatabaseInitializer: 新增respond_deadline字段
- FamilyChallenge实体: 新增respondDeadline属性
- createChallenge: 支持respondDeadlineHours参数(默认48h)
- updateChallenge: 支持pending状态编辑 + participantMemberIds更新(方案2A:active不可改)
- respondChallenge: 惰性检查deadline超时
- 新增expirePendingChallenge方法处理超时
- getChallengeHistory纳入not_launched状态
前端:
- challenge-manage.vue: 添加详情弹窗(含同意/拒绝/编辑/删除按钮),添加回复时效选择器(24/48/72h),auto-open通过URL参数?id=xxx
- FamilyChallengeCard.vue: 整卡@click +('cardClick'),pending状态展示剩余天数/超时标签
- index-home.vue + parent-index.vue: 绑定@cardClick → goChallengeManage(ch.id)
- ArticleService.getPublicList: 新增 memberId 参数,权限过滤后移除已读完+得CF的文章
- ArticleController.list: 读取 body.memberId(回退 currentMemberId)并传入 service
- article-center/index.vue: 传 memberId 给列表接口,知识分享页隐藏已完成文章
- mind-detail/articles.vue: 同上,心智知识页同步过滤
- ArticleControllerTest: 适配 getPublicList 新增 memberId 参数
- 匿名用户可浏览文章,读满时长后提示登录后完成知识测评并跳转登录
- 答题接口 getActiveMemberId() 优先 currentChildId,否则用 userId
- 移除 FREE 会员限制,所有登录用户均可参加文章知识测评
v1.0.1487 (2026-10-02)
Bug 修复
并发 401 改为排队重放,避免在途静默续期被自身打断
修复页面生命周期重复跳转导致的 routeDone 报错
其他
onboarding/progress 等)。修复前 _handle401 在 _reloginLock 为真时直接调
_clearAuthAndRedirect():第 1 个 401 刚启动 silentRelogin()(uni.login 异步),
第 2~N 个 401 立刻抹掉 token 并预约 1500ms 后 reLaunch 登录页,在途续期被打断,
表现为控制台只有 401、silentRelogin 无任何日志、用户被弹回登录页。
- 并发 401 入 _pending401 队列,续期成功后统一重放;成败仅由发起续期的
那个 401 判断
- 重放带 _noRelogin:重放仍 401 则直接失败,避免续期/重放 ping-pong 死循环
- silentRelogin 无 openid 分支补 warn 日志(此前静默返回 null,无法定位)
测试:concurrent 401s queue behind one renewal、replayed request that still 401
fails without triggering another renewal(后者覆盖死循环防护)。
已验证回归有效性:临时还原旧逻辑后新用例即以线上症状失败。
Jest 178/0,audit 0 error。
页面在生命周期钩子中重复发起跳转,框架对已销毁的 webview 调用 routeDone。
- splash/index: onShow 每次都新建 2s reLaunch 定时器且 onUnload 未清理;改为
_hasLaunched 一次性守卫 + onUnload 清理定时器
- profile-extra/{create-child,edit-child,children}: onShow 自动跳转与按钮
goToFamilyMembers 各发一次 redirectTo,统一收敛到 redirectOnce() 守卫
- rewards/rewards: teacher 分支 redirectTo 增加 _redirected 守卫,
loadRewards() 仍保持每次 onShow 刷新
其余 5 处 onLoad redirectTo 为每实例仅执行一次的跳转桩,无并发风险,未改动。
全量注册页扫描:HIGH=0,无异步回调内的裸跳转。
- 移除雷达图(canvas 卡片及相关方法)
- 让首次使用的家长一眼看懂结果代表什么、接下来做什么
新功能
自检结果页新增「怎么看这个结果」引导卡
补全9.9体验会员功能 + 升级流程优化 - upgrade.vue: 添加体验会员(BASIC) compare 表列 + 基本功能描述 - upgrade.vue: 默认 selectedLevel 升级至下一级(FAMILY→PREMIUM) - upgrade.vue: 按钮显示 '续费' 而非 '下一步' 于 renew 当前等级
活动搜索 keyword 支持 + 产品搜索 API + 封面上传 + 小程序页面选择器
v1.0.1486 (2026-10-01)
重构
其他
components/ 子目录(action-detail / ai / discover / family / health /
home-pages / member-detail / mind-detail / profile / promotion / shop /
wealth),并同步更新引用方与 manifest.json。
目的:让组件跟随页面一起进入对应分包,避免被提升进主包,缩减主包体积。
组件解析已校验:所有模板标签均可通过显式 import 或同名 .vue 解析,
无悬空引用。audit-duplicate-api-calls.js 通过(0 error / 87 warning,
与重构前基线一致)。
v1.0.1485 (2026-10-01)
Bug 修复
废弃裸 openid 换 token 接口,静默续期改走 code2Session
其他
证明。而 openid 并非密钥:它会随登录响应返回、明文存于小程序本地 storage、并可能
经日志或截图泄露。任何拿到他人 openid 的人都能直接换取该账号的合法 token,等同
于完全冒充该账号。
按 AGENTS.md「废弃接口标记 410 Gone 并注释说明,不直接删除」,保留路由与注释并
返回 410,待线上旧版本小程序全部升级后再移除路由。UserService#autoLoginByOpenid
标记 @Deprecated 。
替代路径:前端 uni.login() 取微信签发的一次性 code,服务端 code2Session 换
openid。code 单次使用、5 分钟过期,且能证明调用方持有该微信设备,不可伪造,同样
零交互静默完成。本地 openid 仅用于判断「本设备曾登录过」,绝不作为凭证上送。
其他修复:
- App.vue 冷启动即恢复登录态:原先在 splash 分支提前 return,导致普通冷启动(非
分享/小程序码进入)完全拿不到任何续期机会
- 移除 develop 环境下对 verifyStoredToken/tryAutoLogin 的屏蔽,否则开发版无法验证
续期逻辑
- 401 重放改传未拼接 query 的原始路径,避免 URL 出现 ?a=1&a=1 重复参数
- 新增 _noRelogin:续期请求自身返回 401 时直接失败,防止递归续期/误清登录态
- 启动窗口内(pages/login 为分包,首次访问前尚未下载注册)只清登录态不跳转,避免
「Page has not been registered yet」
- JWT 有效期 1 天 -> 30 天,配合静默续期用户几乎无需手动重新登录
验证:前端 jest 176 项全部通过;后端 mvn clean compile(release 8)BUILD SUCCESS
v1.0.1484 (2026-09-30)
Bug 修复
schema.sql guide_popup_step desc 保留字加反引号 [skip ci]
v1.0.1484 (2026-09-30)
Bug 修复
迁移334 desc 保留字报错 + 启动期定时任务竞态保护 [skip ci]
v1.0.1484 (2026-09-30)
其他
从 Git 取消跟踪但保留本地文件,并新增 .gitignore 规则防止被再次添加
- fix-hbuilderx-scoped.js: 硬编码 macOS 路径的死代码,Windows 环境下从不可用,无任何代码引用
- 本 commit 不含任何页面源码改动:排查 14 个页面退化为 13 字节 Component({}) 的问题时,
已确认 pages.json 注册与全部 264 个页面源码均正常,根因是 unpackage/ 下残留的
webpack 增量缓存(optimization.noEmitOnErrors=false 导致构建错误被静默吞掉),
清空 unpackage 后重新编译即全部恢复
Co-Authored-By: Sisyphus (Anthropic) noreply@anthropic.com
v1.0.1484 (2026-09-30)
新功能
首页广告栏配置功能 - 新增 home_banners 表及配套后端接口、管理端页面、小程序组件
v1.0.1483 (2026-09-29)
Bug 修复
修正 growth/profile/index.vue 悬空 import 路径
其他
- format.js: '../../utils/format.js' -> '@/utils/format.js'(该页在 pages/growth/profile/ 深 3 层,原路径少一级 ../)
- 验证:全项目 387 文件/660 条本地 import 悬空 0;348 个 .vue 结构扫描 0 问题
Co-Authored-By: Sisyphus (Anthropic) noreply@anthropic.com
v1.0.1482 (2026-09-29)
Bug 修复
修复 team.vue 模板未闭合导致编译失败 + onLoad/onShow 双重调用
v1.0.1481 (2026-09-29)
新功能
赠会员进度接口补充 remaining 字段与实付口径文案
其他
- MembershipController 计算 remaining = max(0, threshold - accumulatedAmount)
- cart/checkout 改读后端 remaining,消除前端重复业务计算
- checkout 补充「仅原价实付订单计入」说明文案
- API_REFERENCE 章节号 4.38→4.43 避免重复,补 remaining 字段与无家庭返回说明
v1.0.1480 (2026-09-29)
新功能
其他
金额、阈值、已赠送状态
- GiftMembershipProgress.threshold 标记 @TableField (exist = false),
避免非数据库列被拼进 SELECT 报 Unknown column
- cart.vue / checkout.vue 增加进度条、已累/还差金额、达标提示
- API_REFERENCE.md 补充新接口说明
Bug 修复
修复月度曲线月份边界计算错误 + 阈值默认值改1980元
v1.0.1479 (2026-09-28)
新功能
购物车功能完善 - CartItemDTO和CartService改造
v1.0.1478 (2026-09-28)
新功能
补任务编排流程任务+保单上传AI解析+统一TabBar+服务中心页(TASK-SYS-248)
v1.0.1477 (2026-09-28)
文档
注册零填写设计升级为全栈完成(v2.14)
注册零填写实施完成,PROJECT-OVERVIEW同步v2.14
注册零填写实施计划(8 Tasks)
新功能
注册零填写-添加成员手机号已注册时提示邀请加入
注册零填写-backfill白名单增加realName; 修复远程CommissionService编译缺陷(Calendar import/Long->int/getReferrerId)
注册零填写-profile-field-usage映射表补全(realName+各字段场景)
注册零填写-接受邀请已登录跳join-form替代user-edit
注册零填写-新增接受家庭邀请页join-form(真实姓名+家庭身份必填)
注册零填写-user-edit停用新用户流程仅保留编辑用途
注册零填写-登录成功直接进首页,家庭邀请改跳join-form
v1.0.1476 (2026-09-28)
新功能
商品赠送会员-计算giftAmount并累加触发赠送
完整实现商品赠送会员功能
v1.0.1475 (2026-09-28)
新功能
注册零填写设计规格(注册直接进首页+接收家庭邀请独立页+功能→信息字段映射表+添加成员手机号→邀请加入)
v1.0.1474 (2026-09-27)
新功能
更新益生元相关文章,引用瓜尔豆胶vs菊粉新内容
新增瓜尔豆胶 vs 菊粉科普文章 - sales/guar-vs-inulin.html:新增益生元对比科普页,8维对比表、适用人群分析、组合方案、科学循证 - sales/index.html:更新分类计数、快速跳转链接、meta description - sales/AGENTS.md:目录结构和文章清单更新
v1.0.1473 (2026-09-24)
新功能
v1.0.1472 (2026-09-24)
Bug 修复
CommissionSummaryDTO 增加 totalEarnings 字段,修复 wealth 页累计收益显示为0
其他
totalCommission,导致 undefined || 0 显示为 0。新增同值字段保持兼容。
v1.0.1471 (2026-09-24)
新功能
价格显示到角、家庭成员上限命名、虚拟支付降级普通支付
v1.0.1470 (2026-09-24)
Bug 修复
shortcut save 兼容前端 Boolean/Number 两种 locked/sortOrder 类型
v1.0.1469 (2026-09-24)
Bug 修复
修正编排画布任务模板列表接口调用(task-templates/list → task-templates)
v1.0.1468 (2026-09-24)
Bug 修复
迁移326 修正菜单表名/menu→sys_menu + 字段映射(parent_id/sort/visible)
v1.0.1467 (2026-09-23)
Bug 修复
未配置时保持默认6格,不按频度重排
guide_popup引导弹窗表迁移333-336并入runSystemMigrations无条件执行 + getValue缓存null防护
迁移316-328移出seedGutFloraFingerprints早返回之后,getValue加unless保护防缓存null异常
其他
快捷区固定显示默认 6 个:任务/互动/天盘/成员/圈子/商城,
不再按使用频度混入其他应用。
v1.0.1466 (2026-09-23)
Bug 修复
孤儿页清理——补注册 12 个被引用但未注册页面 + 删除 5 个重复遗留页面
其他
- pages/family: address-edit / manual-score-entry / mbti-entry / mbti-test / mbti-result / mbti-profile
- pages/member-detail/member-detail(被 FamilyEnergyBar、parent-index 引用)
- pages/profile/service-role-apply(新 6 角色版,被 ProfileMenu/vendor/butler/nutritionist/guide 5 处引用)
- pages/match/street-match(新增子包)
- pages/assessment/upload-report
- pages/health/bodyfat-confirm
- pages/growth/profile/index
删除(重复/遗留/依赖不存在 API):
- pages/health/teacher-select.vue(重复 teacher-service)
- pages/mind-extra/articles.vue(遗留,article-center 取代)
- pages/activity/registrations.vue(依赖 adminActivity* API 前端不存在)
- pages/teacher/appointments.vue(依赖 getGuideAppointments 前端不存在)
- pages/member-detail/service-role-apply.vue(旧 3 角色版,被 profile 版取代)
其他:
- api.js: 补 MBTI 4 个 + manual-score 1 个缺失导出(后端 Controller 均存在)
- mind-detail/index.vue: 修复指向已删 /pages/mind/emotion-report 的悬挂导航
v1.0.1465 (2026-09-23)
Bug 修复
cognitive-hall.vue goReport routes to /pages/wisdom-detail/cognitive-report (was referencing now-deleted /pages/wisdom/cognitive-report); deleted 13 duplicate orphan files in mind/ wisdom/ body/
v1.0.1464 (2026-09-23)
Bug 修复
member-detail-sections navigation - wisdom-section routes to /pages/assessment/results; mind-section routes to /pages/action-detail/contact-detail (both previously pointed to non-existent pages)
nav.js goDimension removed broken mind/body/wisdom mappings; login.vue tabBarPages removed non-existent /pages/mind/index /pages/body/index /pages/wisdom/index entries
energy goDimension switch fallthrough - add break statements after each case so each dimension navigates to its correct page instead of always going to wealth
v1.0.1463 (2026-09-23)
新功能
beautify action-detail (行) page with enhanced visual design
其他
- Enhanced shadows and depth with pseudo-elements
- Improved border-radius to 24rpx throughout
- Active state transforms (scale effects) on cards
- Better typography hierarchy with letter-spacing
- Enhanced dialog/popup styling with gradient headers
- func-grid with improved spacing and shadow
- Consistent green theme throughout following design system
v1.0.1462 (2026-09-22)
Bug 修复
修复 :key 表达式违规(editor.vue+food-query.vue 改用方法调用)
修复 editor.vue :key 表达式违规(改用方法调用)
v1.0.1461 (2026-09-22)
文档
v1.0.1460 (2026-09-22)
文档
新增弹窗引导页配置化设计文档 + 更新项目全景索引
v1.0.1459 (2026-09-22)
Bug 修复
修复 tasks.vue switchTab 方法重复代码段导致的编译错误
隐藏 AI 询问按钮 - 临时移除 askAI 按钮
重构
移除 teacher-home 页面,rewards 重定向调整为成长规划师中心
新功能
其他
- feedback-popup 重写:疑问/建议双类型 + AI 解答内联展示 + 免费版每日1次提示
- 新增 my-feedback 页:我的反馈记录列表(含 AI 解答状态)
- 后端 report_feedback 表(迁移327) + submit/list 接口 + AiGateway 解答,失败落库未失败状态
- 移除 reportQuickAnalyze 前端调用,API_REFERENCE 同步 4.37 节
v1.0.1458 (2026-09-22)
新功能
add emotion impact annotations to gut flora indicators on mind page
其他
serotonin/5-HT → mood stability, dopamine → pleasure/motivation,
GABA → relaxation/stress relief, tryptophan → sleep/mood,
melatonin → sleep regulation, cortisol → stress level
- Display '影响情绪稳定/影响愉悦·动力' etc. below each indicator name
- Fix value display bug: backend uses indicatorValue, frontend was reading broken ind.value
- Add indicatorBarWidth() and formatIndicatorValue() helper methods
- Add CSS for new gut-indicator-impact label (pink #FF6B9D for mind page)
v1.0.1457 (2026-09-22)
新功能
应用库自定义快捷方式+使用频度追踪
add cognitive impact annotations to gut flora indicators on wisdom page
其他
- 新建 pages/home/app-library 应用库配置页(已在首页区置灰+可配置区切换+恢复默认)
- 16个应用入口页注入 reportAppEnter 埋点(任意入口进入计数)
- pages.json 注册 home 分包
- Display impact label below each indicator name in 肠胃与认知 section
- Fix value display bug: backend uses indicatorValue, frontend was reading broken ind.value
- Add indicatorBarWidth() and formatIndicatorValue() helper methods
- Add CSS for new gut-indicator-impact label
v1.0.1456 (2026-09-21)
Bug 修复
seedDiscountRulesMenu 的 count 改用 Integer
语音/图片打卡无需强制文字内容
其他
用 int 接收后再与 null 比较会触发 "不可比较的类型: int和" 编译错误。
改为 Integer 接收,null 判断即成立。
新功能
v1.0.1455 (2026-09-21)
文档
v1.0.1454 (2026-09-21)
新功能
首页引导配置化
食材推荐高频入口前置,合并页统一导航
其他
(icon/title/desc/isIntro)、展示位置(首页/孩子端)、版本号(version)。
小程序 index-home/child-index 异步拉取配置并按版本比对决定是否展示,
无配置或接口失败时回退到硬编码默认步骤。
后端复用 sys_config 表(key=onboarding_guide_config),新增 AdminGuideConfigController
(管理端 get/save)和 GuideConfigController(小程序 current)。
DatabaseInitializer 迁移318预置默认配置。
- 成长 Tab 饮食推荐 / 食材戒备卡均改跳合并页 food-query
- 菌群报告页戒备入口改跳 food-query(带 reportId/memberId,进入默认戒备模式)
- food-query.vue 重写:支持成员切换、排序选择、红绿适合/戒备配色、家庭总览聚合
v1.0.1453 (2026-09-21)
Bug 修复
修复结算页配送方式 change 处理器缺失方法头导致的编译错误
v1.0.1452 (2026-09-20)
Bug 修复
成员列表 isAdmin 按成员本人是否为创建者下发,成员视角限制二次切换
其他
修复创建者请求时所有成员 isAdmin 均为 true 的误判(影响创建者/管理员标识等展示)
- 切换规则确认:所有登录用户均可切换为不可登录成员(不依赖 isAdmin),
不可登录成员视角(currentView=member)下隐藏全部切换入口,仅可退出切换
- isFamilyAdmin(index-home/parent-index)适配新 isAdmin 语义:改为查自己
(isSelf)是否为创建者,不再依赖列表首元素
v1.0.1451 (2026-09-20)
新功能
限时折扣管理菜单种子 + Layout侧边栏入口(迁移326)
v1.0.1450 (2026-09-20)
新功能
v1.0.1449 (2026-09-20)
新功能
报告上传统一指纹自动识别,注册 dan_a2 类型并补充采集管道
其他
- HealthReportDraft 增加 memberId 归属成员字段;createDraft 支持 fileHash + memberId;新增 updateReportType
- ReportCollectService 指纹识别分流 dan_a2 采集管道
- 前端 report-upload.vue 去掉手动选择报告类型,统一上传由后台自动识别,需指定归属成员
Bug 修复
修复认知能力测评页 import 路径错误(单文件页面 ../utils/api.js 而非 ../../)
v1.0.1448 (2026-09-19)
Bug 修复
恢复仅不可登录成员可切换视角(业务规则确认:可登录成员不允许切换)
其他
- listMembers / updateParentMember 家长段 isSwitchable 恒 false(家长均为可登录用户)
- switchToMember 恢复 openid 校验:可登录成员 throw '该成员可通过微信登录,不能切换为TA的身份';source='parent' 分支同样拒绝
- toFamilyMemberVO 恢复原签名与 openid 判定(撤销 601bcf083 的加宽)
- 前端 store 切换守卫文案与 ProfileHeader 注释同步恢复原语义
v1.0.1447 (2026-09-19)
新功能
add seven-dimension cognitive game assessment
其他
- Frontend: language-test.vue new page, cognitive-hall.vue portal, pages.json registers both, cognitive-report.vue updated to 7 dimensions
v1.0.1446 (2026-09-19)
新功能
允许切换到可登录成员视角,统一 isSwitchable 口径
其他
- switchToMember 成员段返回 nickname 改用 resolveMemberNickname(可登录成员显示 users 表昵称)
- 前端 store 切换守卫文案与 ProfileHeader 注释同步,移除'可通过微信登录不能切换'的旧提示
v1.0.1445 (2026-09-19)
Bug 修复
家庭成员管理页 isAdmin 类型比较修复,管理员删除/编辑按钮恢复显示
其他
- 列表过滤自身成员同样按 String 归一(m.userId === userId 类型敏感)
v1.0.1444 (2026-09-19)
Bug 修复
includeFamily 接口只返回 members 并统一成员显示名来源
其他
- resolveMemberNickname 改为优先 users 表昵称:同一人同时存在于两表时,与 getVisibleMembers 家长段口径一致,避免「我的家庭」与成员管理页名称不一致
- utils/api.js 同步更新接口注释
v1.0.1443 (2026-09-19)
Bug 修复
饮食推荐控制器 familyId 改 required=false,无家庭时返回 noFamily 而非抛 ServletRequestBindingException
v1.0.1442 (2026-09-19)
Bug 修复
菜单生成切换非推理模型(agnes-2.5-flash)并加max_tokens=3000,耗时从60-96s降至~13s;容器内存限制6g→8g解决ChromaDB启动OOM
v1.0.1440 (2026-09-19)
新功能
家庭成员管理支持家长账号编辑/移除/切换及名称一致性修复
其他
- updateMember 新增 updateParentMember 分支: 家长账号可编辑昵称/性别/生日/头像/手机号
- 新增 resolveMemberNickname: family_members.nickname 为空时回退 users 表真实昵称
- family-members.vue: 名称兜底链与我的家庭页一致, canEditMember 放开 parent 来源
- FamilyMemberStrip.vue: canSwitch/canRemove 放开 source 限制
- interaction-log.vue: .type-item 加 box-sizing 修复四列折行
v1.0.1439 (2026-09-19)
Bug 修复
迁移323-325移至runSystemMigrations,修复因早返回导致永不执行的happened_at/article_id问题
v1.0.1438 (2026-09-19)
新功能
其他
2. 章鱼图添加入口从'记录成效'改为'感恩记录',并跳转至新建的维护列表页
3. 三个图添加入口按钮统一美化(渐变圆角 + 彩色阴影)
4. 章鱼图 Canvas 背景添加低透明度章鱼触手+头部装饰
5. 新增 octopus-effects-list.vue:感恩记录维护页(列表展示/删除/FAB 添加)
6. 修复 octopus-add-effect.vue 关键人'能添加但不能选'bug:补 onShow 刷新
- 新增:pages/action-detail/octopus-effects-list.vue
- 修改:OctopusDiagram.vue / pages.json / index.vue / octopus-add-effect.vue
v1.0.1437 (2026-09-19)
Bug 修复
selectedMembers 规整为标准结构-兼容 memberPicker 仅返回 id/nickname 的情况
v1.0.1436 (2026-09-19)
新功能
文章答题出题/提交/双奖励/认知雷达接口改造
文章答题弹窗适配新接口并展示CF值
AiGateway 新增文章答题出题方法
注册文章答题出题路由与提示词
新增文章答题出题 graph
文章答题记录表迁移与实体字段调整
文档
Bug 修复
移除无 log4j 依赖的无效 @Log4j 注解,恢复编译
v1.0.1435 (2026-09-19)
文档
v1.0.1434 (2026-09-18)
Bug 修复
InviteController 登录态校验防御 null userId
checkpointer 改用 AsyncSqliteSaver 修复 chat 端点异步调用报错
其他
但 checkpointer 原用同步 SqliteSaver,LangGraph 抛 'SqliteSaver does not support
async methods',导致后端 AiGateway 收到 500 返回 null,前端提示 'AI 服务暂不可用'。
- checkpointer.py: 改用 AsyncSqliteSaver,新增 init_checkpointer() 在 startup 事件
循环内初始化(AsyncSqliteSaver 绑定 get_running_loop,不能在临时 loop 创建)
- main.py: startup 调用 await init_checkpointer()
- requirements.txt / requirements_frozen.txt: 新增 aiosqlite 依赖
v1.0.1433 (2026-09-17)
Bug 修复
创建任务页输入框高度不足、截止时间选择器列数不匹配
v1.0.1432 (2026-09-16)
新功能
PortraitController 新增 /generate /regenerate 端点(AI 画像生成/重画入口)
用户画像 AI 生成/重画 - 接口扩展+前端入口+计划文档
Java 侧画像 AI 生成网关 + AIService + AIBehaviorController
Python 侧新增 portrait 生成/重画 FastAPI 路由
Python 侧新增 portrait_generation_graph AI 生成/重画用户画像 LangGraph
其他
- POST /api/user/portrait/regenerate: 参考旧画像重画,体现变化与延续
- 复用 getPortrait 返回 renderedSnapshot,portraitPrompt 覆盖为本次结果
- portrait-edit.vue 增加 AI 生成/重画按钮及加载态
- api.js 新增 generatePortrait/regeneratePortrait 封装
- 补充完整实施计划文档 docs/superpowers/plans/2026-09-13-user-portrait-ai-generation.md
v1.0.1431 (2026-09-16)
新功能
新增 recommendation_rules 推荐规则表(迁移316-317)
add product recommendation rule engine design and plan design: unified recommendation rule engine for 5 business rules plan: 6-phase implementation roadmap with milestones
v1.0.1430 (2026-09-16)
文档
新增运营文案(个人号种草/便秘腹泻账号方案与竞品分析/小红书知识图谱/竞品搜索原始数据)
重构
v1.0.1429 (2026-09-16)
Bug 修复
v1.0.1428 (2026-09-16)
新功能
舌诊图片持久化 + parsePreview member_id nullable
修复舌诊照片上传分流 — 支持相册上传 + member_id可空 + confirm补填
v1.0.1427 (2026-09-16)
新功能
v1.0.1426 (2026-09-15)
新功能
根级/规划师/营养师/健康页全列排序 - 所有数据列补齐 sort-header(27 页)
admin 列表页全列排序 - 给所有数据列补齐 sort-header(46 页)
其他
v1.0.1425 (2026-09-15)
Bug 修复
SortUtil 加固 - 列名白名单防 SQL 注入 + clearOrderBy 清除已有 ORDER BY 防双排序语法错误
ReportParser 3 个列表端点(types/imports/unknown-clusters)接入 sort 排序参数
其他
v1.0.1424 (2026-09-15)
新功能
其他
聚合 family_member_attributes.wuxingElements JSON,按成员数取平均,
替代原来的硬编码 {木:20, 火:20, 土:20, 金:20, 水:20}
- FortuneServiceImpl.getChineseDate(): 用与 FamilyMemberAttributeService
一致的干支算法计算当日干支(2000-01-01 为甲子日参考),替换原硬编码 '甲子'
- FortuneServiceImpl.generatePlaceholderFortune(): dominantElement 优先使用
家庭真实最强五行,而非哈希随机值
- memberType 查询改为先查 child 再查 parent(与 TianpanService 一致)
- lambda 捕获 validCount 改为 final memberCount 避免编译错误
v1.0.1423 (2026-09-15)
文档
新增品牌资产目录(浠艾福 CareFamily 标志 SVG/PNG、标志设计文档 v1.0/v1.1、logo 预览页与生成脚本 gen_trace.py)
v1.0.1422 (2026-09-15)
Bug 修复
修复文章详情页 v-for 与 :key 属性粘连导致的模板编译失败(缺空格引号断裂)
v1.0.1421 (2026-09-15)
新功能
其他
- MindFortuneController 新增 3 个接口:
- POST /api/mind/fortune/week — 本周7天运势
- POST /api/mind/fortune/month — 本月运势
- POST /api/mind/fortune/reports — 历史周报列表
- FortuneService 新增 getFamilyFortuneBatch 批量查询
前端:
- family-dashboard.vue 三个 load 方法从 mock 改为真实接口
- api.js 新增 getWeekFortune/getMonthFortune/getFortuneReports
v1.0.1420 (2026-09-15)
新功能
其他
- Java: 新增 KnowledgeBaseVectorController,代理调用 LangGraph
- 前端: 新增 VectorKnowledgeBase.vue 页面,包含统计卡片、文档列表(分页/筛选/搜索)、编辑弹窗、全量同步按钮
- 菜单: 知识中心下新增「向量知识库」入口
- 兼容新旧 ChromaDB metadata 字段(source / type)
v1.0.1419 (2026-09-15)
Bug 修复
身页面问卷评估接口失败不显示虚假分数
心页面家庭天盘占位数据清空假文案
其他
保留中性默认值(平/平静/65),避免接口失败时显示虚假运势建议
v1.0.1418 (2026-09-15)
Bug 修复
移除 recordRead 中重复的 minSeconds 变量声明
v1.0.1417 (2026-09-15)
Bug 修复
meal_configs 唯一键改用生成列 config_date_eff 修复 COALESCE 索引语法
其他
迁移314 的 UNIQUE KEY uk_config (family_id, COALESCE(config_date, ...)) 每次启动都报语法错误,
导致唯一约束从未建立, 存在重复共餐配置风险。
改为 STORED 生成列 config_date_eff (COALESCE(config_date, '9999-12-31')) 承载相同语义,
唯一键建立在生成列上, 同时补齐缺失的 idx_config_date 索引。
v1.0.1416 (2026-09-15)
Bug 修复
设置菜单由 7 项缩减为 6 项,修正 actionSheet url 映射并移除失效的「设置密码」项
新功能
团队入口迁入成就网格并改页面标题为「我的团队」,团队树改为扁平渲染并补充等级人数统计
v1.0.1415 (2026-09-15)
Bug 修复
其他
- family-dashboard.vue:
- loadTodayFortune() 接入真实 /api/mind/fortune 接口
- 移除 loadWeekFortuneData/loadMonthlyFortuneData/loadWeeklyReports 的随机 mock 生成(后端暂无对应接口,不再展示假数据)
- 删除 generateMockReportContent 纯 mock 方法
v1.0.1414 (2026-09-15)
其他
v1.0.1413 (2026-09-15)
Bug 修复
修正知识库同步删除前缀与镜像版本, dan 知识库入库 MEDIUMTEXT
其他
microbiome/dan_knowledge, 修复旧块永删不掉导致 ChromaDB 膨胀的问题
- docker-compose: langgraph-svc 镜像 v8 -> v9 (重新构建, 含修正代码)
- schema.sql: dan_knowledge_base.content TEXT -> MEDIUMTEXT (支持长知识内容)
- 同步验证: article 543 / microbiome 25586 / dan_knowledge 1886 块全部入库
v1.0.1412 (2026-09-15)
新功能
官网slogan改为「一个人的主动,全家人的健康」并扩展品牌主张文案
v1.0.1411 (2026-09-15)
Bug 修复
其他
- 孩子页 badgeCount / taskPercent 接入真实接口(/api/badges/statistics/child、/api/daily-task/overview)
- deltaPercent 硬编码 5.2 → 0,条件渲染避免显示假数据
- 新增 loadChildData() 获取孩子视角真实数据
v1.0.1410 (2026-09-15)
新功能
推荐人支持按家庭成员维度查询,切换视角时显示当前成员的推荐人
v1.0.1409 (2026-09-15)
新功能
v1.0.1408 (2026-09-15)
Bug 修复
recordRead 补设 articleId + 迁移回填老数据 NULL article_id
v1.0.1407 (2026-09-15)
Bug 修复
修复 ChromaDB 数据膨胀导致的 gunicorn OOM 循环
其他
282 万条 embedding 到内存 (13GB) 引发 OOM
- retriever.initialize: 改为 upsert 语义(先删 type=article 旧索引再写入), 避免
每次 worker 启动重复追加累积
- docker-compose: langgraph-svc 加 mem_limit 4g 硬限制, 防止异常膨胀吃满宿主机
- requirementsfrozen: numpy 降级 1.26.4 (2.5.x 移除 np.complex , tensorflow 不兼容)
效果: embeddings 282万条(23.5GB) -> 2.6万条(286MB), worker 内存 13GB -> 1GB
v1.0.1406 (2026-09-14)
重构
彻底删除 children 表及相关代码,迁移至 family_members
其他
- 清理 AccountCleanupService/TaskStatsService/GrowthTaskService/DatabaseSyncService 死引用
- DatabaseInitializer 清理 4 处 children 残留迁移,新增迁移320(幂等迁移数据 + DROP TABLE)
- 修复 ChildBadgeMapper.selectFamilyRanking、GameRecordMapper.selectLeaderboard 两个查询 children 表的遗留 bug
- 解决既存 git stash 冲突标记(迁移318 DOA 三表 + 系统提示词菜单 + 迁移319 health_plan 合并保留)
- schema.sql 三处迁移编号 299→320,清理过时注释
- 同步 AGENTS.md 更新 children 已删除口径
v1.0.1405 (2026-09-13)
Bug 修复
修复家庭成员列表 generationToLevel 负数字面量对象 key 导致的编译失败(-1/-2/-3 改字符串 key)
v1.0.1404 (2026-09-13)
Bug 修复
上传非PDF文件时采集链路提前拦截,避免PyPDF2 EOF错误
其他
在collect()入口和detect()增加魔数预检,非PDF直接标记失败。
v1.0.1403 (2026-09-13)
Bug 修复
修复 savePrompt 更新时 version 为 null 导致 NPE,从数据库读取现有版本号
新功能
系统提示词版本管理 - 修改前自动备份历史版本,支持查看版本列表与回滚
v1.0.1402 (2026-09-13)
Bug 修复
移除后端重复reportId解析 + 前端getMyMembership防抖
修复 AI 聊天页模板多根元素与成员详情页重复 :memberId 属性导致的编译失败
v1.0.1401 (2026-09-13)
Bug 修复
healthcheck timeout 5s -> 10s(模型加载慢时避免误报 unhealthy)
v1.0.1400 (2026-09-13)
样式
report-confirm 补充报告快速分析浮层样式
v1.0.1399 (2026-09-13)
新功能
report-confirm 新增报告快速分析浮层(支持 draftId)
报告快速分析浮层扩展至报告确认页
gut-flora-detail 新增报告快速分析浮层(支持 reportId/draftId)
v1.0.1398 (2026-09-13)
新功能
api.js reportQuickAnalyze 新增可选 draftId 参数
v1.0.1397 (2026-09-13)
新功能
AIChatController 支持 draftId 参数的快速分析
FamilyContextService 新增 buildContextFromDraft 支持草稿上下文
全部提示词迁移到Java后端可配置
Bug 修复
问卷超时调整 + 加载文案优化
恢复updateMember丢失的generationLevel/peerType透传,修正管理员权限判断
其他
- 问卷加载提示改为"AI正在根据双方情况生成问卷,请稍候(约需1-2分钟)..."
- 家庭成员添加页/列表页适配关系类型展示优化
- FamilyMemberService.updateMember修正权限判断:管理员可编辑所有成员(含关联账号),普通用户仅可编辑不可登录成员
- src/侧:问卷/舌诊prompt_template透传链路完整
- DEFAULT_PROMPTS[analysis/recommend]升级为graph完整版,避免短版静默覆盖
- health_plan_graph key分离为health_plan_graph/health_plan_graph_regenerate,与adapter.py解耦
- 5处except回退分支加logger.warning可观测日志
- 新增seed_system_prompts.sql:26条INSERT,含占位符契约注释
v1.0.1396 (2026-09-13)
文档
修正实现计划(ObjectMapper注入、行号对齐、template插入位置)
新功能
对话 checkpointer 从 MemorySaver 改为 SQLite 持久化,重启不丢会话
v1.0.1395 (2026-09-13)
Bug 修复
remove duplicate BigDecimal import
v1.0.1394 (2026-09-13)
新功能
每日打卡用 Redis SETNX 幂等,防止重复提交重复发积分
Bug 修复
修复 BeijingNutritionService 编译错误(恢复误删的 isWeekend 方法 + 补 BigDecimal import + 类闭合括号)
v1.0.1393 (2026-09-13)
新功能
新增 RedisLockUtil 分布式锁,支付回调防并发重复处理
v1.0.1392 (2026-09-13)
新功能
排行榜改用 Redis Sorted Set,游戏积分榜+推荐榜双写降级
v1.0.1391 (2026-09-13)
新功能
启用 Spring Cache + RedisCacheManager,缓存系统配置与营养分类/品牌列表
商品类目分级与会员级别可见性(min_visible_level/level_order/shop_categories),管理端同步支持
文档
重构
多页面 v-for :key 统一改为索引绑定,删除冗余 getXxxKey 方法
Bug 修复
菌群报告详情补齐未呈现数据(性别/年龄/AI解读)并统一手风琴统计口径
报告上传从聊天选取支持图片/文件二选一,避免 type=all 默认停在图片 tab
修复共餐配置页 script 结构损坏导致的编译失败(重复 onLoad、tipText 逃逸出 methods、括号错乱)
v1.0.1390 (2026-09-13)
新功能
验证码改用 Redis 存储(TTL 5分钟,一次性),Redis 异常时回退数据库
WechatService access_token 改用 Redis 缓存,多实例共享避免重复请求微信
v1.0.1389 (2026-09-13)
新功能
RateLimitInterceptor 改为 Redis 滑动窗口限流,支持多实例共享并保留内存降级
v1.0.1388 (2026-09-13)
新功能
五维手动填分 + MBTI 完整体系(后端/小程序/管理端)
其他
- MbtiController: MBTI 测评入口/提交/结果页
- ManualDimensionScoreController: 家长手动填家庭成员五维分数(0-100)
- MbtiProfileController: 16型人格画像管理
- 数据库: mbti_questions / mbti_results / mbti_profiles 三表 + 种子数据
- 小程序: mbti-entry / mbti-test / mbti-profile / mbti-result / manual-score-entry 5页
- Web管理端: MbtiProfiles.vue + mbti.js API
- 计划文档: docs/superpowers/plans/2026-09-10-manual-dimension-mbti-plan.md
v1.0.1387 (2026-09-13)
新功能
其他
- urls 映射添加 6 -> '/pages/profile/portrait-edit'
- 用户路径: 我的 -> 设置 -> 我的画像 -> portrait-edit.vue
v1.0.1386 (2026-09-13)
Bug 修复
修复 DatabaseInitializer git 冲突标记残留及预存注释行 try{ bug,编译失败
v1.0.1385 (2026-09-13)
新功能
菜单管理图标字段改为可视化图标选择器(282个Element图标+搜索+清除)
v1.0.1384 (2026-09-13)
新功能
菌群报告详情页重构 - 去掉疾病风险手风琴和病原菌入口,修复报告日期显示,新增报告总结描述
v1.0.1383 (2026-09-13)
文档
add vendor order review spec, plan, and API reference entries
登记DOA接口+统一能登录/不能登录用户口径规范
重构
clean up review logic (remove unused var, fix computed, add log separators)
新功能
add vendor order review page and entry
add vendorId to order detail response for permission check
新增doa-stage-detail详情页+实体memberUserId字段
新增doa-week-edit周计划复盘编辑页
新增doa-stage-create创建阶段页
新增doa-index家庭总览页
前端API封装+页面注册+挑战页双tab入口
新增DoaController(/api/doa 七接口)
新增DoaService(创建阶段/家庭总览/详情/周计划/周复盘)
DoaStage新增memberUserId非表字段(为Task8代管详情准备)
新增DoaStage/DoaGoal/DoaWeek实体与Mapper
迁移314创建DOA三表(doa_stage/doa_goal/doa_week)
Bug 修复
修复远程预存编译错误(BasicQuotaService/Collections import缺失)+ 迁移318花括号对齐
挑战页双tab改用doa-前缀类名避免类名冲突
checkStageMemberPermission 空指针绕过同源修复
修复代管校验空指针绕过与 weekStart Locale 依赖
其他
原条件直接跳过校验,非家庭成员可为任何成员(含可登录成员)创建阶段。
收紧为 isSelf = selfMemberId != null && equals(memberId),null 视为非本人,
不可代管可登录成员。
2. weekStart():补 setFirstDayOfWeek(MONDAY),避免 en_US/C 等周日起始
Locale 下 set(DAY_OF_WEEK, MONDAY) 使周日滚到下周,导致 week1 起点
晚于 stage.startDate。
v1.0.1382 (2026-09-12)
新功能
其他
- 后端: BasicQuotaService/ActivationQuotaService + 4业务入口配额扣减
- 定时任务: BasicQuotaScheduledTasks(月度刷新+到期提醒)
- Controller: BasicQuotaController + AdminBasicQuotaController
- 前端: QuotaProgressBar/UpgradeGuideModal组件 + 会员页/升级页BASIC支持
- AI对话页集成配额显示和软引导
plan: BASIC体验会员实施计划(9.9元/月)
v1.0.1381 (2026-09-12)
Bug 修复
免费用户生成方案付费墙改为家庭会员或购买健康启航计划二选一,前端弹三选一引导购买后自动继续生成
v1.0.1380 (2026-09-12)
新功能
章鱼图成效录入支持发生时间(happened_at)
v1.0.1379 (2026-09-12)
新功能
家庭邀请分享卡片(暖灶风格,500x400px canvas 生成 imageUrl)
文档
更新PROJECT-OVERVIEW.md新增DOA规格与数据表
add DOA family goal implementation plan (tasks 1-11)
add DOA family goal design spec
v1.0.1378 (2026-09-12)
Bug 修复
审批加入时创建者切换家庭前置校验——原家庭仅一人免转让;多人时错误信息指向申请人并给转让指引
v1.0.1377 (2026-09-12)
其他
- 删除 pages.json 中 market/index 和 market/detail 注册
- 删除 api.js 中死代码:getPublicPackages、purchasePackage、getPackageByShareCode
- MarketController packages/* 和 share/* 接口标记 410 废弃
(套餐购买已统一合并到组合商品 bundle 链路,走 /api/product/order/*)
保留 MarketController plans/* 接口(计划管理仍在使用)
v1.0.1377 (2026-09-12)
文档
v1.0.1376 (2026-09-11)
新功能
v1.0.1375 (2026-09-11)
新功能
章鱼图成效类型改为系统自动计算(金额大/频次高/新成交)
v1.0.1374 (2026-09-11)
Bug 修复
迁移278-313抽出独立方法 runSystemMigrations,避免被 sys_menu 空表条件静默跳过
其他
修复:将迁移278-313提取为独立方法 runSystemMigrations(),由 runMigrations() 无条件调用,确保每次启动都补齐生产库缺列。
生产库已手动 ALTER 补齐以下缺失列:
- resource_items: connection_type, priority, value_score, last_interaction_at, interaction_count
- health_report_drafts: file_hash
v1.0.1373 (2026-09-11)
其他
v1.0.1372 (2026-09-11)
Bug 修复
共餐配置保存改批量单次调用并修复双编码导致无法显示选中成员
其他
- 前端 meal-config.vue saveConfig 单次批量调用、不再二次 stringify、成功后 navigateBack
- DatabaseInitializer 迁移310 用 JSON_UNQUOTE 修复历史双编码 participant_member_ids
- 补充 API_REFERENCE.md /config/save 批量格式文档
登录异常报错问题
v1.0.1371 (2026-09-11)
Bug 修复
DietMealConfigService 参数空值校验防 NPE(date_type/meal_type/participant_member_ids 必填)
其他
v1.0.1370 (2026-09-11)
新功能
系统提示词管理菜单
链路追踪 + LLM 可观测性(X-Request-ID trace_id + 日志落盘 + token 监控)
其他
- Layout.vue 配置中心菜单新增「系统提示词」入口(perm: system:base)
- cfc-langgraph RequestLogMiddleware 读取 trace_id 并写入日志
- log_config.py 新增可选文件落盘(LOG_FILE 环境变量,默认关闭)
- llm/client.py 新增 LLM 调用监控(prometheus: 调用次数/耗时/token 用量)
v1.0.1369 (2026-09-11)
Bug 修复
报告采集 prompt 缺少 agent 字段导致模型被覆盖
修复 ResourceService 中 PearlInteractionLogMapper 的 Bean 名冲突
其他
导致推理被全局 primary agent(Sisyphus/ultraworker)覆盖,
走 cursor-gateway/gpt-5.6 账户,返回 402 余额不足错误。
修复:在 prompt body 补加 body.put("agent", "report-collect"),
确保每次推理都锁定到 report-collect agent,使用 agnes-2.5-flash。
自动注入的 InteractionLogMapper Bean 默认名称 collision,
启动时报 BeanNotOfRequiredTypeException。
修复:将字段名改为 pearlInteractionLogMapper,消除名称冲突,
符合 AGENTS.md DI 规范(字段名与类型默认 Bean Name 一致)。
v1.0.1368 (2026-09-11)
新功能
个人维度指标雷达图三层显示(实际值/人群位置/家庭占比)
其他
- HealthDimensionController 新增 /api/dimension/radar-data 接口,一次性返回三组数据
- DimensionScoreService/Impl 新增 calcPopulationScore/calcFamilyAverageScore 等 4 个方法
- DatabaseInitializer 新增 seedMindActionWealthNorms(),向 health_norm_reference 插入 26 个心/行/富维度常模(4 年龄段 × 性别 all,P5-P95)
- 前端:
- RadarChart.vue 核心增强:新增 populationScores prop(蓝色虚线第三层)、familyScores(灰色虚线第二层)、图例区分
- body-detail/wisdom-detail/energy/mind-detail/action-detail 5 个页面接入新接口,传递 scores/populationScores/familyScores
- utils/api.js 新增 getRadarData 封装
- 效果:身/智/心/行 四维雷达图同时显示个人实际值、同龄同性 P50 人群位置、家庭成员平均分
v1.0.1367 (2026-09-11)
新功能
饮食记录重设计 - 周历、食材预警、营养汇总、高频食材、当日记录、补打支持
v1.0.1366 (2026-09-11)
Bug 修复
gut-flora-foods-detail 成员 Tab 的 key 改为方法调用修复非 h5 警告
其他
新增 getMemberKey(item) 方法统一生成成员 key(:class 内联表达式不受限未改)
v1.0.1365 (2026-09-11)
新功能
报告详情页新增快速分析浮层(免费版单次/付费版多轮)
api.js 新增 reportQuickAnalyze 封装
新增报告快速分析端点 /api/ai/report/analyze(免费版Redis每日1次+付费版多轮)
引入 Redis 依赖与 RedisTemplate 配置(报告快速分析计数用)
其他
- data quickAnalyze 状态对象(show/sending/messages/inputText/conversationId/usedToday)
- computed quickQuestions(3 个预设快捷问题)
- methods: openQuickAnalyze/closeQuickAnalyze/sendQuickQuestion/sendQuickAnalyze
- 模板:悬浮 FAB 按钮(仅 view 模式)+ 浮层(消息区/chips/输入框)
- 样式:fixed 定位 FAB + overlay + panel,flexbox 布局
- report/analyze:会员级别检查 + 免费版 Redis INCR 每日1次(fail-open)+ 免费版移除 conversationId 锁死多轮
- 调 aiService.sendMessage(含记忆层+镜像),出参 stripTaskMarkers
v1.0.1364 (2026-09-11)
Bug 修复
meal-config 删除通配符选择器修复 WXSS 编译错误
其他
其余元素已显式声明 box-sizing,删通配符无副作用
v1.0.1363 (2026-09-11)
新功能
饮食推荐食材查询页重写 - 成员切换、状态标签、分数进度条、变化箭头、趋势图、按推荐值排序
v1.0.1362 (2026-09-11)
Bug 修复
修复行维度页模板多根 + 章鱼图/珍珠图页面注册错位,恢复编译
其他
(提交 2b1fcdc96 引入的重复 /view 导致多根报错)
- pages.json 将 pearl-add-resource/octopus-add-effect/octopus-add-key-person
从 pages/assessment 分包移到正确位置 pages/action-detail 分包
(文件实际位于 action-detail,误注册导致 main.js 编译找不到页面)
v1.0.1361 (2026-09-10)
Bug 修复
移除 pages/growth 分包残留的 growth-emotion-checkin 路由注册(页面已并入 mind-detail 情绪打卡),修复 HBuilderX 编译找不到文件
v1.0.1360 (2026-09-10)
Bug 修复
移除不可行的会员订单归属校验 + 修复前端 add-effect 页面(toggleType/导入)
v1.0.1359 (2026-09-10)
新功能
关键人拓展章鱼图全链路上线(替换旧章鱼图 + 成效/关键人/分析/拓展 + 三层Canvas)
提醒列表页 + PearlController 5 接口补齐 + pages.json 路由修正
登记资源页 25 类连接类型分组选择器
PearlDiagram 两层同心圆重构 + 父组件 overdueMap 集成
前端 API 方法与提醒页路由注册
每日定时生成互动提醒任务
新增 3 实体 + 3 Mapper(octopus_effect_record/octopus_key_person/octopus_effect_key_person)
ResourceService 25组聚合/互动/提醒/价值分
ResourceItem 实体新增社会连接字段
ConnectionType 枚举与互动/提醒实体 Mapper
文档
API_REFERENCE 同步珍珠图 25 类与新增接口
其他
db: 迁移305-307 关键人拓展 3 表(octopus_effect_record/octopus_key_person/octopus_effect_key_person)
v1.0.1358 (2026-09-10)
新功能
复用现有 TongueDiagnosisAgent 路由,补全视觉 LLM 实现走 LangGraph
其他
- src/graphs/tongue: load_image 支持 data URL
- src/app.py: 移除与 app/api/tongue.py 冲突的死路由
- AiGateway.analyzeTongue: 改 multipart 表单提交(file+user_id),解包 data
- AIService/TongueDiagnosisService: 传字节而非 base64
- compose: image v7
v1.0.1357 (2026-09-10)
文档
报告快速分析实现计划 + PROJECT-OVERVIEW 索引更新
其他
- 复用 aiService.sendMessage(含记忆层+镜像),LangGraph 零改动
- 免费版 Redis INCR 每日 1 次 fail-open,付费版多轮
v1.0.1355 (2026-09-10)
新功能
舌诊迁移至 LangGraph(glm-5 视觉模型),废弃 Dify 舌诊
其他
- llm/client: 新增 get_vision_llm() 复用网关 key,默认 glm-5(实测 MiniMax 后端 DNS 不可达)
- AiGateway: 新增 analyzeTongue(imageBase64) 调 LangGraph 舌诊
- AIService.sendTongueDiagnosis: 改走 AiGateway,删除 Dify 调用
- TongueDiagnosisService: parsePreview 读取 MultipartFile 转 base64
- application.yml: 删除 dify.tongue-api-key 配置
v1.0.1354 (2026-09-10)
Bug 修复
戒备食材链路修复——caution-detail key 编译报错 + gut-flora 按报告主体传参
其他
微信小程序模板编译器不支持,改为 getMemberKey(item) 方法调用
- gut-flora-detail 戒备食材数量与戒备页跳转按报告 subjectId 传参,
修复家长账号查询不到孩子推荐指数的问题
v1.0.1353 (2026-09-10)
Bug 修复
修复 tianpan 首页 loading-overlay 选择器丢失导致的 CSS 编译失败
其他
- 补回选择器,恢复正常编译(SyntaxError Unexpected })
v1.0.1352 (2026-09-10)
Bug 修复
修复健康报告解析入库失败(draftId 84 两个根因)
其他
防止 opencode 回退解析产出的超长 status 导致 'Data too long for column status'
- DatabaseInitializer 迁移307: health_gut_flora.bacteria_name 改为可空(LLM 偶发缺菌种名触发 NOT NULL 冲突)
- DatabaseInitializer 迁移308: health_indicators.status 放宽到 VARCHAR(100)
- schema.sql 同步 bacteria_name NULL + status VARCHAR(100)
v1.0.1351 (2026-09-10)
Bug 修复
其他
- parent-index 推荐阅读区块增加'更多'入口
- gut-flora-risks-detail 增加 content-inner 包裹修复 scroll-view 内容溢出
- growth-main 饮食推荐入口回归 /pages/diet/index
- 成长页心情记录入口跳转至 mind-detail 情绪打卡页并透传 memberId
- 情绪打卡页新增近期心情历史列表(/api/mind/checkin/list 前5条),兼容 Plutchik 与成长页情绪词表
- 修复提交成功后跳转死链 /pages/mind/emotion-trend 与趋势页返回死链 /pages/mind/emotion-checkin
- 情绪趋势页支持 memberId 参数兜底与成长页情绪词表标签映射
新功能
v1.0.1350 (2026-09-10)
Bug 修复
修复 ContactHelpLogService Map.of() Java9+ 语法及 Comparator 类型推断问题
v1.0.1349 (2026-09-09)
新功能
关系三图——章鱼图(谁帮过我)/珍珠图(我有什么)/能力图(谁会什么) 全链路上线
v1.0.1348 (2026-09-09)
Bug 修复
情绪识别 DeepFace 置信度归一化 + 权重预置
其他
- detector_backend 用 opencv(内置 Haar Cascade,无需额外 mediapipe 依赖)
- Dockerfile: 预置 DeepFace FER 权重到镜像(避开 GitHub 下载限速)
- docker-compose.yml: pin 镜像 v3
- 新增 .dockerignore 加速构建
v1.0.1347 (2026-09-09)
Bug 修复
修复 onLoad/onShow 生命周期双发 guard 变量名对齐规范
修复删除推荐码后 logout 方法合并错误
新功能
新建 team-tree 页面 + pages.json 注册 + API_REFERENCE 更新
新增我的推荐人卡片与团队层级入口
新增 getTeamConsumption、getMyReferrer、getTeamTree
删除富页面推荐码横条
新增 /api/commission/team/consumption、/my-referrer、/team/tree 接口
实现 getTeamTree 树形扁平数据(含 memberConsumption、myCfEarnedFromMember)
其他
- 注册 team-tree 到 pages/profile root
- 更新 API_REFERENCE.md 新增 4.21 扩展说明及 3 个新接口
- 修复 wealth/index.vue 删除推荐码后 logout 语法错误
重构
getTeamList memberConsumption 对齐 getTeamTree 使用 Integer 类型
v1.0.1346 (2026-09-09)
新功能
新用户引导页强化 - 从痛点切入强调'看见和了解'
报告编辑页支持成员选择/重选/解绑 + 删除重算维度
其他
- OnboardingGuide: 家长端新增第1步痛点开场'你真的了解孩子的状态吗?',子步骤强调'五维沙盘看见全家''小任务大改变''心愿墙看得见努力';孩子端新增'你的每一点成长,都被看见'
- 首页Hero/登录页: slogan统一改为痛点钩子'孩子的情绪、习惯、能力,你真的看见了吗?',sub-slogan强化痛点叙事'情绪低落没察觉、习惯变化没注意、能力短板没发现——问题爆发才着急。先看见,先了解,不等问题发生。'
- /report/edit 移除 subjectId 必填,支持 null(解绑)/ 0(不变)/ 正值(绑定或切换)
- updateReportFromPayload 按 subjectId 语义重算维度分:
* 正值:绑定或切换成员,重算新成员 + 原成员(含食材推荐)
* null:解绑,重算原成员(移除报告影响)
* <=0:保持不变(子页面局部编辑不触碰绑定)
- deleteReport 删除后重算原绑定成员的维度分(含食材推荐)
- 新增 FoodRecommendService 注入(@Lazy 打破循环依赖)
前端:
- report-detail.vue saveEdit 未选成员传 null(解绑),面板加「不绑定成员」选项
- gut-flora-detail.vue draft 模式补成员选择面板 + doConfirm 传 subjectId
行为:未选成员 → 报告不纳入任何用户/家庭维度计算;选中 → 纳入并重算;删除 → 重算
v1.0.1345 (2026-09-09)
新功能
知识中心改名知识分享 + 卡片显示阅读次数总时长
实现 getMyReferrer 获取我的直推人信息
实现 getTeamConsumption 团队消费统计(按 referral_tree level 聚合,fulfillStatus=completed)
注入 ProductOrderMapper、ReferralTreeMapper 到 CommissionService
其他
- article-center/index.vue: 导航栏标题/注册标题改为知识分享,卡片 footer 新增 ⏱ 总时长
- discover/index.vue: 区块标题改为知识分享,推荐卡片 meta 新增 👁 阅读次数 + ⏱ 总时长
- 新增 formatDuration() 前端格式化:<60分钟显示分钟,≥1小时显示小时+分钟
Bug 修复
修复预存编译错误(HealthReportDraft 重复字段、DatabaseInitializer 缺 logger)
v1.0.1344 (2026-09-09)
文档
团队层级树实现计划(13 Tasks,后4+前7)
v1.0.1343 (2026-09-09)
新功能
菌群详情页标签增加分类数量统计,列表人群/检出/丰度/正常单行展示
其他
v1.0.1342 (2026-09-09)
文档
修正团队层级设计 - 订单状态字段/树响应字段/UI实现
团队层级树与推荐关系可视化设计文档
其他
- 树响应 nodes[] 新增 memberConsumption、myCfEarnedFromMember 字段
- 根节点('我')不包含在 nodes 数组中
- 更新 UI 实现代码片段(无根节点、flex column-reverse、L1为起点)
- audit 通过(0 error)
- 更新 PROJECT-OVERVIEW.md 记录
- 涵盖:富页面去推荐码、我的页面推荐人卡片+团队入口、树形页面从下往上生长、团队消费额分级统计(默认3级可配)、直推成员消费/CF明细、4个后端接口新增/扩展
- audit 通过(0 error)
v1.0.1341 (2026-09-09)
Bug 修复
首页分享卡片去掉不存在的 imageUrl 避免空白
其他
改为不指定 imageUrl,微信自动截取当前页面截图作缩略图。
v1.0.1340 (2026-09-09)
文档
Bug 修复
recalibrate接口补充权限检查
上传报告支持聊天记录选取图片,移除从文件夹选取入口
family-members 移除多余括号修复编译错误
新功能
新增家庭传统命理页面+入口卡片
天盘首页canvas节点标注生肖灵数+成员弹窗增强
扩展天盘服务支持五维基础分展示和重算接口
新增五维基础分计算服务FamilyMemberDimensionBaseScoreService
新增五维基础分表及迁移305
v1.0.1339 (2026-09-09)
新功能
其他
- CognitiveService.submitSelfTestScore() 支持无档案时自动建表
- 前端新增 5 个认知测试页:逻辑推理/感知觉/记忆力/空间思维/加工速度
- 训练中心入口新增 5 个测试卡片
- 健康页面 tab 顺序调整为:健康/认知/财富/社会性/心理
v1.0.1338 (2026-09-09)
文档
更新天盘设计——五维基础分改为落库+重算接口
家庭天盘传统文化+五维基础分设计文档
v1.0.1337 (2026-09-09)
新功能
情绪识别接入 DeepFace (LangGraph + 后端接口)
其他
- cfc-backend: 新增 EmotionRecognitionController(文件上传/URL 两种方式)
- cfc-backend: AiGateway 新增 analyzeEmotion / analyzeEmotionByUrl 方法
- docs: 新增舌诊情绪识别技术选型报告,更新 API_REFERENCE.md
v1.0.1336 (2026-09-08)
新功能
报告解析迁移到 LangGraph - 新增 LangGraphReportParseService
其他
- ReportCollectService: 已知类型解析改走 langgraph_script,空回退 opencode
- ReportFingerprintService: 脚本缺失日志降为 debug
v1.0.1335 (2026-09-08)
Bug 修复
统一文章/商品/活动页海报入口按钮为「生成海报」胶囊样式
新功能
ReportCollectService 大改 + 五维维度白名单校验(DimensionCodes)
其他
- DimensionCodes: 五维维度码白名单校验,防止 JSON 路径注入导致 500
- ActivityService/ProductService/ArticleService/TaskService/ContentRecommendService: 相关适配改动
v1.0.1334 (2026-09-08)
新功能
其他
后端 interaction_logs 加 photo_urls/video_url/audio_url 列,迁移303)
- 互动记录:修复保存失败(fromMemberId==toMemberId 后端拒绝,改为
当前用户发起/toMemberId=选定成员,互动对象列表过滤本人)
- 家庭成员页:列表隐藏当前登录用户(filteredMembers)
- 成员选择进入记录互动时隐藏互动对象选择器,默认选定的成员
- relation-detail 互动记录入口修正路由(family→action-detail)
- 报告上传:合并 DAN 与健康报告上传页,指纹自动识别类型,取消手动
选择报告类型/维度,新增从聊天/拍照/文件夹三种上传方式
- 推荐人绑定:bindReferralIfNotSelf 防自邀打扰(缓存本人邀请码,
邀请码==本人时静默跳过),登录/分享/新用户流程接入
- 家庭邀请冷启动识别 token/familyInviteCode 参数,放行落地页
- user-edit 新用户流程:家庭身份选择置顶、提交申请/跳过悬浮底部
- invite/join 先初始化登录状态再校验家庭邀请
- 录入页面 & 深层分享参数兜底 & 会员升级等文案微调
- user-edit.vue: 3个提交按钮加 :disabled,saveUserInfo/submitTeacherInfo/joinFamilyAction 加 early-return 守卫
- audit script: 守卫白名单补充 _pageShown,修复 report-list.vue 误报 ERROR
登录异常报错问题
Bug 修复
LoginResultDTO 补 phone 字段修复编译错误
登录/资料页防重复提交 + 修复重复调用审计
v1.0.1333 (2026-09-08)
Bug 修复
其他
- family-members.vue: 成员数/空态改用 filteredMembers
- UserService.getVisibleMembers: 查询 viewerFm,为 parent 源成员补算 relativeLabel(丈夫/妻子/儿子/女儿等)
v1.0.1332 (2026-09-08)
新功能
成长页跳转带 memberId + 食材页分类/排序/溢出修复
健康报告食材推荐接口支持 memberId 查询孩子视角
其他
v1.0.1331 (2026-09-08)
文档
新增运营方略(1+N矩阵)与同类账号探索报告 - 品牌定位与竞品依据
新增官方号搜索收割内容第一批 - 5篇用户视角SEO布局
发布指南新增内容创作第一原则 - 讲用户想听的(4信号源+主语转换法+自检清单)
v1.0.1330 (2026-09-08)
新功能
v1.0.1329 (2026-09-08)
Bug 修复
AiGateway 超时分离 - connect 快速失败 + read 覆盖 LLM 推理耗时
会员升级自动发JOIN券/用户列表倒序/商品券支付可选/兑换提醒移至支付
其他
- application.yml: 新增 python.read-timeout-ms: 120000
- 前端 api.js: request 支持 timeout 选项(不混入 query),问卷接口加 130s 超时
grantFamilyJoinCoupons 发放 JOIN 赠券(幂等防重), 记录发券结果
- AdminController /users: 无 sort 参数时默认 orderByDesc(createdAt) 倒序
- CouponService.toCouponVO: 补 productId 字段, 前端可按商品匹配券
- checkout.vue: ownedCoupons/availableCoupons 对 PRODUCT 券按当前商品
productId 匹配(原来一刀切过滤非 ALL 券导致商品券选不到); 新增
affordableExchangeCoupons - CF 不足时不再显示兑换提醒
- product-detail.vue: 移除商品页积分兑换优惠券区块, 兑换提醒移至支付时
(无对应券+CF 足够才提示)
v1.0.1328 (2026-09-07)
Bug 修复
修复已绑定推荐人重复提示与新用户信息补充页问题(boundInviteCode防重+新用户流程隐藏浠宝福宝选择+家庭身份选择回显)
v1.0.1327 (2026-09-07)
新功能
登录后首页接入新手引导(成长礼包进度条+首次登录3步引导浮层+添加成员引导)
其他
v1.0.1326 (2026-09-07)
Bug 修复
其他
前端 7 处却按对象取 res.data.referralCode/code,恒为空导致分享 path
拼不出 inviteCode,新用户打开无码注册后无推荐人。新增
extractReferralCode 统一解析(兼容字符串/对象),并修正 share-mixin
默认分享 path 死路径 /pages/index/index -> /pages/index-home/index。
菌群检测问题
v1.0.1325 (2026-09-07)
Bug 修复
管理端接口权限加固 - 用户/孩子/任务模板端点校验平台角色
其他
- /users /users/create /users/{id} 等 13 个管理端点加 @RequestAttribute role/roles 校验
- 防止匿名或 C 端角色越权调用管理接口
v1.0.1324 (2026-09-07)
Bug 修复
分享文章/小程序冷热启动捕获邀请码,新用户注册登录后自动绑定推荐人
v1.0.1323 (2026-09-06)
Bug 修复
其他
- 会员锁定提示加 !isNewUserFlow 条件,注册流程不再推送开通会员
- 移除所在地区对新用户的必填星号,所有字段保持可选
v1.0.1322 (2026-09-06)
Bug 修复
FamilyMember.memberType 标记 @TableField (exist=false) 不落库
其他
- DatabaseInitializer: 补充生产库对账记录(member_type 手工 ALTER 说明)
v1.0.1321 (2026-09-06)
Bug 修复
未登录点分享内容不再弹登录失效 + 新用户注册后绑定推荐人
其他
- user-edit 新用户流程保存后消费 inviteCode 绑定推荐人,修复注册后推荐人丢失
v1.0.1320 (2026-09-06)
文档
新增小红书运营方略 - 人群拓展与内容策略 + 运营知识库(营销逻辑/品牌升级/科学种草实战)
v1.0.1319 (2026-09-06)
新功能
登录前首页重构 - 首屏呈现平台定位/价值主张/三步上手引导
v1.0.1318 (2026-09-06)
Bug 修复
其他
- UserOperationLogService.queryLogs 加 sortSpecs 参数,显式 SortUtil.applySort
(不再依赖 SortContext ThreadLocal 时序,确保排序可靠生效)
- OperationLogs.vue 搜索表单加 size=small 统一高度
v1.0.1317 (2026-09-06)
Bug 修复
其他
按格式分流:32位hex走 validateInvitation,否则走 validateFamilyCode。
v1.0.1316 (2026-09-06)
新功能
首页 Next Best Action 引导条 - 解决首屏'不知道该干啥'
v1.0.1315 (2026-09-06)
文档
新功能
新增主动退出与回收箱回收接口
邀请切换改为单成员切换语义并接入非微信限制
实现成员切换/退出/回收核心逻辑
新增收回家庭人口券方法支持成员被踢出时回收
迁移300为family_members添加status列支持回收箱
v1.0.1314 (2026-09-05)
新功能
onboarding读取侧完整迁移——getProgress读tasks表+claim自动发放+模板种子数据
v1.0.1313 (2026-09-05)
Bug 修复
TaskService 注入 UserService 加 @Lazy 打破循环依赖
OnboardingService 注入 TaskService 加 @Lazy 打破循环依赖(userService↔onboardingService↔taskService)
修正 DatabaseInitializer 候选记录第3条迁移编号引用(298→299)
清理 DatabaseInitializer 排查残留注释(PROBE)与迁移294重复日志行
其他
导致应用启动失败 APPLICATION FAILED TO START,加 @Lazy 打破
v1.0.1312 (2026-09-05)
Bug 修复
清理 DatabaseInitializer 迁移299残留垃圾行 + npm 构建版本更新
v1.0.1311 (2026-09-05)
新功能
商品详情页迁移至 discover-detail + 微信订单中心商品明细
其他
- 后端: PaymentService 支持微信订单中心商品明细(goods_detail)展示
- 活动/会员/商品订单支付描述优化(用真实名称替代固定文案)
v1.0.1310 (2026-09-05)
文档
用户身份标识 userId/memberId 使用指南(rebase 带入的远程文档)
统一任务系统实施完成,更新项目全景索引
新功能
前端统一任务中心——tasks.vue聚合进度型任务,daily-tasks.vue重定向
FamilyContextService AI任务查询改查tasks表(source_type=ai)
一次性迁移——growth_task DAILY定义迁入admin_task_templates(旧表只读保留)
新人引导复用任务模板+落tasks表(source_type=onboarding,顺序链前置解锁)
GrowthTask DAILY/AI任务迁入TaskService(tasks表统一执行),旧Service委托+废弃
CreateTaskDTO支持source_type/is_daily_progress/target_value透传
admin_task_templates新增onboarding_sequence字段(新人引导复用任务模板)
tasks表新增is_daily_progress/target_value字段,source_type扩展(统一任务系统)
v1.0.1309 (2026-09-05)
文档
添加测评案例与参考资料 PDF(吴一墨/廖云泽菌群检测、方案)
其他
- manifest.json: 移除 lazyCodeLoading 配置
- join.vue: onLoad 解析邀请 token(含 scene invite= 前缀),被邀请用户跳转 user-edit 完善家庭身份并提交加入申请
- login.vue: 登录完成后检测待处理家庭邀请,直接跳转 user-edit 续接流程
后端:
- CommissionService: 新增 bindReferrerByUserId 幂等绑定方法(已有推荐人忽略),抽取 applyReferralSideEffects 复用副作用
- FamilyJoinRequestService: 审批通过后绑定平台推荐人为邀请人的上级推荐人(仅 token 路径、已有推荐人不动、邀请人无推荐人则跳过、失败不阻断审批)
- 新增 FamilyJoinRequestServiceReferrerBindTest 5 用例覆盖需求规则
- CircleService/CirclePostService: 待审核成员查询、成员审批逻辑
- circles.vue: 圈子列表页完善(待审核审批交互)
- circle-feed.vue: 圈子动态页增强
- parent-index.vue: 圈子排名改为先取圈子列表再查排名
- api.js: 新增 getPendingCircleMembers / approveCircleMember
- docs/analysis: 圈子功能分析文档
Bug 修复
切 Tab 返回时同步 currentRole 登录态
家庭邀请分享流程修复 + 平台推荐人绑定规则(需求)
新功能
圈子成员待审核审批 + 圈子排名接入首页(前后端)
v1.0.1308 (2026-09-05)
Bug 修复
Critical 修复——isSwitchable 设置 + ProfileHeader 走新切换流程
退出切换密码校验失败时补充用户提示
重构
switchToChildWithCheck 文案与注释对齐 member 语义
children 表下线,ChildMapper 标注废弃,AccountCleanup 迁移至 family_members
role=child 判断清理(历史兼容注释 + InviteCard role 改为 parent)
FamilyMemberStrip 切换入口仅对不可登录成员开放
切换视图统一 member 语义,退出切换接入密码校验
新功能
存量 role=child 账号强制迁移为成员模型(迁移298)
切换入口确认提示 + 退出切换统一密码校验
恢复退出切换接口 switch-back-verify(带密码校验)
新增切换保护密码设置接口 set-switch-password
phoneLogin 复用无 openid 的预留成员用户并补 openid
addMember 同步创建无 openid 的 user 记录(不可登录成员)
switchToMember 仅允许切换不可登录成员
FamilyMemberVO 新增 isSwitchable 字段
FamilyMember 新增 memberType 成员类型字段与可切换判定
文档
executorType/creatorType/memberType 业务字段注释统一为『非登录用户』语义
成员模型重构——清理孩子/child角色定义实现计划
v1.0.1307 (2026-09-05)
Bug 修复
修复选择规划师页调用available-guides缺少packageId报错
其他
packageId 缺失报错,且返回字段 guideId/nickname 与页面模板 id/name 不匹配)。
改用后端已有的 /api/health-plan/available-teachers 接口,返回 id/name/isBound
等字段,与页面模板完全匹配。api.js 新增 getAvailableTeachers(familyId) 封装。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1306 (2026-09-05)
Bug 修复
最终审查6项修复——废弃旧方法/修正迁移296/补充状态机测试/更新注释
cancelPlan级联清理方案未完成任务
purchasePackage补幂等复用并生成任务,消除active空壳
测试
新功能
迁移296/297修正存量健康/认知训练方案任务source_type
认知训练方案任务补设source_type=training_plan可溯源
健康方案任务source_type改为health_plan,消除与plan的ID域冲突
状态机收敛generated→active,confirm改走applyAndActivate
新增统一任务生成器generateTasksFromTemplate
重构
activate改用统一任务生成器,删除重复模板生成逻辑
v1.0.1305 (2026-09-04)
新功能
迁移295补齐task_plan_instances审核/确认/激活列
后台全部列表页支持点击列头排序
其他
- SortInterceptor 从缓存 body 读 sort 写入 SortContext(原只读 URL query,
前端发 body 永远读不到),激活代码库 307 处已有 SortUtil.applySort 无参调用
前端:
- SortMixin 补 onSortToggle 方法(修复 20 个文件 onSortToggle is not a function)
- SortMixin 新增 reloadAfterSort,兼容 loadList/loadData/loadTasks/loadPlans
四种加载函数名,解决点击表头不刷新问题
- 107 个列表页接入 SortMixin(admin/teacher/nutritionist/root 各模块)
- 3 个位置参数 API 封装(guidePackage/guideTask/teacherMessage)加可选 sort 参数
跳过:配置页/详情页/组件/仪表盘/树形表等非列表页(23 个)
v1.0.1304 (2026-09-04)
文档
方案转任务统一设计 + 实现计划(source_type拆分 + 统一生成器 + 状态机收敛)
其他
- CommissionService/UserService: 用户不存在场景补充 warn 日志
- DatabaseInitializer: 生产库对账候选风险记录(注释)
- AGENTS.md: 环境区分说明(测试库 vs 生产库)
- cfc-web: 版本号 1.0.1300 + CHANGELOG 更新
v1.0.1303 (2026-09-04)
文档
新增 xhs-daily-report 计划文档
新增小红书便秘腹泻帐号起号方案与计划
新增小红书内容 D33/D34 与发布检查清单
新功能
日报采集点赞/收藏/分享字段,统计未回复评论数
长任务进度上报与无限等待,bot 接入进度回调
Bug 修复
修复家长成员VO缺少memberId/name字段,导致生成方案页面无法正确识别家长成员
v1.0.1302 (2026-09-04)
文档
统一任务系统实现计划(9任务:数据层/服务层/迁移/前端)
v1.0.1301 (2026-09-04)
文档
统一任务系统设计规格(多套任务体系合并为单表 tasks)
新功能
调研页多成员 tab 页签样式 + 进入问卷时初始化当前成员表单
v1.0.1300 (2026-09-04)
新功能
美化方案制定页 - 目标输入框加大、下一步按钮缩小、空成员跳转成员管理页
v1.0.1298 (2026-09-04)
新功能
合并重复的文章列表页为知识中心,统一入口到 article-center
其他
废弃 mind-extra/articles 和 mind-detail/articles,6 处入口重定向并删除注册
v1.0.1297 (2026-09-04)
Bug 修复
moveSortOrder 排序方向与 getFeatured 对齐(published_at DESC)
新功能
文章推荐排序——精选顺序可定义(sort_order + 上移/下移)
其他
- getFeatured/getPublicList 改按 sort_order ASC 排序
- toggleFeatured 设为精选时追加队尾,不抢占既有顺序
- 新增 POST /api/admin/articles/move 上移/下移 + 全局重编号
- 管理端 ArticleManage 精选行显示上移/下移 + 序号徽章
v1.0.1296 (2026-09-04)
文档
新功能
其他
- AdminController.getFamilyMembers 返回统一 members 列表(合并 family_members + users 家长),保留 parents/children 兼容字段
- 新增 setMemberAdminRole 接口:设/撤管理员,users 来源成员自动建记录持久化角色
- Families.vue 查看成员弹窗合并为单一列表 + 角色标签/操作按钮
v1.0.1295 (2026-09-04)
文档
Bug 修复
修复4个后台列表页点击排序失效,清理2个页面的死SortMixin代码
其他
导致 AdminRecipe、AdminCoupon、AdminAssessmentOrder、AdminTask、
AdminSubscription 五个接口排序不生效。
后端修复(5个文件):
- AdminRecipeController / AdminCouponController / AdminSubscriptionController:
从@RequestBody 读sortSpecs,调用SortUtil.applySort(wrapper, sortSpecs, null)
- AdminRecipeController / RecipeService:新增listByMealType(mealType, sortSpecs)重载,
原无参方法保留供MealRecommendService调用
- AdminController.getTasks() / getAssessmentOrderList():同模式替换SortUtil.applySort(wrapper)
- CouponService:新增listAll(sortSpecs)重载,使用QueryWrapper+SortUtil
前端修复(2个文件):
- AssessmentOrders.vue / SubscriptionManagement.vue:
移除死SortMixin(无排序触发逻辑),清理sort-header/sort-tag CSS
v1.0.1294 (2026-09-04)
Bug 修复
移除 HealthReport 重复的 reportFormat 字段,修复 Lombok 编译失败
登录页改浅色背景深色文字单页布局,首页移除主动健康闭环与五维能量区块
文档
v1.0.1293 (2026-09-04)
文档
Bug 修复
迁移290修正(6表21列) + 迁移292 health_status 补 member_id 成员级归档
迁移290修正 - 实体补@TableField 列名映射 + schema同步 + auto bump
v1.0.1289 (2026-09-04)
Bug 修复
迁移290 批量补齐12表33列真实缺列(防Unknown column)+ auto bump
样式
右上角个人/全家切换按钮更醒目(渐变胶囊+阴影+放大)
其他
redesign: 重构登录前首页与登录页,引入主动健康闭环×五维框架
新功能
个人/全家切换移到控件右上角,替换原徽章文案
首页能量沙盘个人/全家切换始终显示,成员<2时点全家弹提示引导添加
文档
v1.0.1288 (2026-09-04)
样式
右上角个人/全家切换按钮更醒目(渐变胶囊+阴影+放大)
v1.0.1287 (2026-09-04)
其他
redesign: 重构登录前首页与登录页,引入主动健康闭环×五维框架
v1.0.1286 (2026-09-03)
新功能
文档
v1.0.1285 (2026-09-03)
新功能
首页能量沙盘个人/全家切换始终显示,成员<2时点全家弹提示引导添加
v1.0.1284 (2026-09-03)
Bug 修复
health_reports 补 report_format 列(迁移289)+ auto bump
v1.0.1284 (2026-09-03)
Bug 修复
health_reports 补 report_format 列(迁移289)+ auto bump
v1.0.1284 (2026-09-03)
新功能
健康报告收集功能 - ReportCollectService + draft 草稿 + 小程序上报页面
能量沙盘个人/全家切换移到右上角,单成员时弹提示引导添加
extend search to title+summary+tags; fix compile errors in FoodRecommendService and HealthReportController
家庭运营增加优惠券列表和使用记录(后端/family-coupons + /family-coupon-usage,前端弹窗展示)
管理端商品编辑页新增可选赠品配置区块
优化谷禾菌群报告详情页展示与饮食推荐
小程序商品详情赠品选择区 + checkout 透传 giftItemIds
createMultiItem 单商品路径支持赠品(抽取 processGifts 共享方法)
handlePaymentSuccess 追加赠品发放逻辑
create 流程注入赠品校验与 product_order_gifts 记录
新增管理端赠品配置接口(/api/admin/product-gift/save + /list)
新增 ProductGiftService(配置保存/查询逻辑)
新增三张赠品表实体类与Mapper接口
建三张赠品相关表迁移(product_gift_configs/items/order_gifts)
其他
知识中心-知识分类,修复视频上传异常问题
知识中心-知识分类,修复视频上传异常问题
知识中心-知识分类,修复视频上传异常问题
修复视频上传异常问题
优化修复
- FoodRecommendService: add missing import java.math.BigDecimal
- HealthReportController: remove undefined 'parsed' reference in buildPayloadFromLgData
切换开关仅依赖 hasMultipleMembers(有 2+ 成员时显示),
familyUnlocked 仍作为 prop 保留,不影响 GateLock 门禁展示。
- child-index: loadData 中 getChildren() 改为 getFamilyMemberList({visibleOnly:true}) 一次调用,同步设置 familyMembersVisible,跳过后续 loadFamilyMembersVisible()
- parent-index: dashboard 成功路径同步设置 familyMembersVisible + _membersVisibleSet,降级路径合并 getFamilyMemberList+getChildren 为单次调用并派生 children
- 首页 index-home: checkMemberStatus 移入 loggedInInitDone 守卫,onLoad/onShow 用 _onLoadFired 防首次双发
- 首页 index-home: loadFamilyFeed 循环前过滤孩子成员,避免对家长发起 getTaskHistory
- 全页面: energy/hierarchy/share/survey-history/parent-index/join/notification/onboarding/address/cart/checkout/shop-index/daily-tasks/service-tasks/teacher-home/wealth-cf 统一 _onLoadFired 模式
- parent-index: dashboard 降级路径同步设置 familyMembersVisible,避免重复请求 getFamilyMemberList
- utils/api.js: 全局请求去重(同 URL+method+body 3 秒窗口复用 Promise),401 重放跳过去重
- utils/api.js: getChildren/getUserBadges/getGrowthReport/getTaskHistoryByCategory 等别名统一委托规范函数
- 新增 scripts/audit-duplicate-api-calls.js CI 审计脚本(0 error)
- AGENTS.md: 新增规则 1-4 + 4a/4b/4c(生命周期双发、同接口单封装、N+1 过滤、getChildren 废弃)
- 疾病风险内联展示并颜色区分(注意/低风险),修复详情页与风险页统计不一致
- 疾病风险页知识库入口改为 ? 图标放疾病名之前
- 菌群详情页修复分类 tab 过滤(中文 category 映射英文 key)
- 菌群风险分组(肥胖/抑郁/过敏等)改手风琴展示
- 饮食推荐页:去重标题、按推荐值分级背景色(<-30红/>30绿/每10一档)、去蛋白能量固定信息、增加食材搜索、复用知识库弹窗
- 成长页饮食推荐复用食材页,不传 reportId 取最新建议
feat(product-gift): 商品详情附带当前用户等级赠品配置
- 涵盖:数据库迁移、实体/Mapper、ProductGiftService、管理端接口、
下单校验+写记录、支付成功发放、商品详情装配、小程序前端、管理端前端
- 3张新表:product_gift_configs / product_gift_items / product_order_gifts
- 与现有 product_gift_rules(赠送会员)完全独立
- 赠品类型:商品 或 CF值,按会员等级配置,用户可多选
- 下单时写入订单赠品记录(fulfilled=0),支付成功后发放
- 更新 PROJECT-OVERVIEW.md §4.2 电商与供应体系,记录新设计稿
Bug 修复
补全 reportFormat 字段到 Payload DTO 和 HealthReport 实体,修复编译失败
self-check-result :key 移除字符串拼接表达式 'ma'+i,避免非 h5 平台编译警告
移除能量沙盘切换开关的 familyUnlocked 门禁条件
根治 family/member/list 与 tasks/history 重复调用——index-home loadFamilyFeed 改为只查第一个孩子、parent-index/child-index 合并 getChildren+loadFamilyMembersVisible 为单次 getFamilyMemberList
根治重复API调用——首页合并 family/member/list 与 membership/my、全页面 onLoad/onShow 防双发 + 请求层 3 秒去重 + getChildren 废弃委托
processGifts 下单时复核赠品商品库存
修复 toggleGift 后多余逗号语法错误
class 改用 _selected 状态字段,移除方法调用
重构
清理遗留项(未用注入/静默catch/Set去重/UUID导入/参数校验/Javadoc)
文档
商品可选赠品功能实施计划
商品可选赠品功能设计稿(product-gift-selection-design)
v1.0.1283 (2026-09-02)
新功能
饮食推荐幂等保存(同日同mealType更新)+ 前端配套 + bump
Bug 修复
移除 ProductEdit.vue 中误粘贴的 AI 规划 Markdown 文本,修复构建失败
健康报告列表删除按钮改为左滑出现,修复未注册组件导致按钮显示在行上方
v1.0.1282 (2026-09-02)
Bug 修复
饮食推荐查询改为 selectList 避免 NPE + auto bump version
会员中心等级列表/统计/升级记录N+1三处修复
废弃旧套餐支付链路,修复组合商品 bundle 部分扣减 bug
修复最终审查问题(幂等唯一索引兜底 + NPE判空 + delete参数校验 + 前端路由/时间格式)
CfCommissionServiceTest 改调生产 CfReferralService.matchRateTier(注入 mock Mapper,消除 test-the-copy 反模式)
PromotionTierService.refreshRate 无匹配时重置 tier 为 R0
修复 CfCommissionService.getSysBps 空 catch 违反规格
修复推荐树 level 倒置 + referral_tree 唯一键改为 (parent_id, child_id) 联合
其他
(listMembershipLevels/getMembershipStats 走拦截器返回已解包 {code,data},
误按裸 axios 判定 res.data.code) 导致等级配置列表永远为空、统计卡不更新
- StatsController: freeCount 查询 .or() 位置错误导致恒为 0,改为嵌套 and(w->eq.or.isNull)
- upgrade-records 后端批量填充 userName,消除前端逐条调 user/search 的 N+1 请求
- 删除测试中引用不存在方法 getAdvicesForLowScores 的死桩,恢复 testCompile
- PackagePurchaseController.createOrder/getOrder:返回 410 标记废弃
保留 getPackagePrice/getAvailableGuides(测评链路 VirtualPayService 复用)
- 删除 PackagePaymentService + PackagePaymentServiceInterface(已无调用方)
- ProductOrderService.handlePaymentSuccess 加 @Transactional ,
修复 bundle 多子商品库存扣减部分失败残留(原子性保障)
- PackagePaymentController /wechat params 空格路径 bug 修复
- 清理前端废弃 API createPackageOrder 及对应测试用例
优化修复
优化修复
优化修复
文档
API 文档补充 CF 分佣/转让/阶梯配置接口 + 单元测试
修正任务1 schema.sql 同步为两张新表(cf_rate_tier/cf_transfer_record)
新功能
小程序推广中心切换到 CF 分佣接口(团队规模/比例/流水/钱包)
管理端 CF 返佣阶梯配置接口(list/save/delete)
CF 成员间转让接口(同家庭校验 + 双账本 + 流水)
用户查询接口(团队规模/返佣比例/CF汇总/流水)
全部订单结算迁移到 CfCommissionService(统一 CF 值分佣),废弃旧佣金调用
推荐绑定物化推荐树 + 团队规模全层级统计 + 阶梯比例刷新(替代 promotion_tier_config)
CfCommissionService 统一分佣核心(双返/只返推荐人/同家庭上溯/阶梯比例)
CfReferralService 推荐树物化 + 全层级团队规模 + 阶梯比例匹配
PlatformPointsService.earn 增加 (ref_type, ref_id) 幂等去重
新增 cf_rate_tier 与 cf_transfer_record 实体/Mapper
数据库迁移:cf_rate_tier/cf_transfer_record 建表 + promotion_tier 精简 + coupon 加 family_id
v1.0.1281 (2026-09-02)
其他
内容: 评论通知相关收尾 - opencode_client 过滤纯空白回复; listener 转发消息到 opencode 会话生成回复; vbs 注释编码修正
内容: 评论通知改造: 评论数增量检测+读取新评论+opencode生成针对性回复建议, 无新增不推送; 修复 xhs_feishu/opencode_client import 时劫持 stdout 导致输出关闭
内容: 评论通知按笔记生成针对性回复建议
内容: 评论通知加回复建议 + 三张整页截图 + 字段顺序修正
内容: 三张整页截图(首页/笔记/账号概览) + 评论通知改简洁文本 + 字段顺序修正
内容: 修正笔记列表字段顺序(阅读/评论/点赞/收藏/分享)
内容: 添加评论检测脚本和启动脚本
内容: 修复数据采集双周期 + 截图上传 + 近30日tab点击等待
内容: 修复数据采集近7日/近30日双周期 + 截图上传修复
内容: 添加机器人启动脚本(bat/vbs)供计划任务调用
内容: 修复机器人reply接口多余receive_id_type参数
内容: 小红书数据机器人双向监听(飞书长连接WebSocket版)
内容: 修复日报脚本运营文案目录路径计算
内容: 小红书创作者中心每日日报采集与飞书推送模块
v1.0.1280 (2026-09-02)
文档
其他
新功能
前端生成食谱/换一批取值修复 + 添加食材弹窗搜索
生成食谱使用所选食材+共餐参与者,归一化LangGraph菜单
换一批seed生效 + 食材搜索接口
Bug 修复
v1.0.1279 (2026-09-02)
新功能
美化菌群报告疾病风险页并补充疾病知识库,手风琴标题去掉有效保留异常/共
v1.0.1278 (2026-09-01)
文档
修正实现计划占位(getEffectivePpoint 签名/转让幂等键/家庭券库独立Controller)
v1.0.1277 (2026-09-01)
Bug 修复
迁移编号 269 与 sleep_record 冲突,重编号为 278
新功能
其他
- 6条发放路径全部改为发到家庭(Admin/JOIN/POPULATION/PERIODIC/EXCHANGE/CF_EXCHANGE)
- CouponService 内部改为读 family_coupon,保留 API 路径与响应字段不变
- AdminCouponController 新增 /issue-family,/issue 改为 familyIds
- 家庭管理页新增发放优惠券弹窗,批量发放与发券记录改为家庭维度
v1.0.1276 (2026-09-01)
Bug 修复
修复 P1-2 自检上下文在 Pydantic 层被静默丢弃
文档
其他
- T1 数据库迁移(cf_rate_tier/cf_transfer_record 建表 + promotion_tier 精简 + coupon family_id)
- T2 新实体/Mapper(CfRateTier / CfTransferRecord)
- T3 PlatformPointsService.earn 幂等补丁
- T4 CfReferralService(推荐树物化 + 全层级团队规模 + 阶梯匹配)
- T5 CfCommissionService 统一分佣核心
- T6 推荐绑定物化 + PromotionTier 精简 + refreshRate 刷等级比例
- T7 7 处订单结算迁移点切换
- T8 旧佣金体系废弃标记
- T9 用户查询接口(团队规模/比例/流水/汇总)
- T10 CF 转让接口
- T11 优惠券绑定家庭 + 家庭券库
- T12 管理端阶梯配置接口
- T13 小程序推广中心前端改造
- T14 测试与 API 文档更新
v1.0.1275 (2026-09-01)
Bug 修复
会员中心补listMembershipLevels导入 - 修复等级配置表加载ReferenceError, 等级标签补PREMIUM
用户管理会员等级下拉改为后台动态加载5级, 优惠券管理等级选项同步动态化
v1.0.1274 (2026-09-01)
新功能
其他
设计范围:
- 全部订单统一走 CF 值分佣,废弃旧佣金体系
- 纯团队规模阶梯分佣(cf_rate_tier 动态可配置)
- 同家庭互推上溯到第一个非同家庭引荐人
- 返佣返个人 CF 钱包,兑换优惠券挂家庭
- 新增 CfCommissionService + cf_transfer_record
- 用户可查团队规模与返佣比例
- 订单迁移点 7 处 + 前端改造方案
v1.0.1273 (2026-09-01)
新功能
中间页展示自检趋势 AI 解读(P1-1)
结果页改 AI 解读 + 生成计划按钮 + 问问AI(P0-1/P0-2/P1-2)
新增 generateSelfCheckPlan/getSelfCheckTrendAnalysis API
AIChat sendMessage 支持 selfCheckId 注入上下文(P1-2)
新增 /generate-plan + /trend-analysis 接口 + HealthPlanService.generateFromSelfCheck
新增 MemberChipPicker 多选成员选择组件,修复 health-plan-summary 缺失组件编译失败
Bug 修复
删除 WuxingSourcingService 死 import
v1.0.1272 (2026-09-01)
新功能
清理 WuxingSourcingService 静态表 + submitSelfCheck 接 AI
v1.0.1271 (2026-09-01)
新功能
AiGateway 新增 generateSelfCheckAdvice/generateSelfCheckTrend
WuxingSourcingAdviceVO 改造为 AI 建议 VO + SelfCheckAnalysisService
新增 self_check 路由模块并注册到 main
新增 self_check_trend_graph 趋势分析实现
新增 self_check_analysis_graph + llm.client 薄包装
文档
PROJECT-OVERVIEW 添加 AI 集成实现计划索引
五维自检 AI 结合 P0+P1 实现计划
PROJECT-OVERVIEW 添加 AI 集成规格索引
五维自检 AI 集成 P0+P1 设计稿(纯AI建议+计划生成+趋势+Chat注入)
优惠券全链路改为家庭维度设计文档
Bug 修复
迁移编号 273/274 → 276/277,避开并发 dan_report/users 迁移占用
v1.0.1270 (2026-08-31)
其他
v1.0.1269 (2026-08-31)
Bug 修复
登录前健康页去掉五维自检上方五个功能卡片,首页登录按钮去掉协议提示
v1.0.1268 (2026-08-31)
Bug 修复
修复 preferences.wxml 编译错误 - :key 移除带字符串参数的方法调用,避免 data-event-opts 解析失败
v1.0.1267 (2026-08-31)
新功能
家庭邀请新流程(短邀请码落地页 + 首登绑定邀请人)+ 分享补邀请码/朋友圈
v1.0.1266 (2026-08-31)
Bug 修复
重命名迁移编号 269/270 → 273/274,避免与 run() 主流程 innate portrait 迁移冲突
v1.0.1265 (2026-08-31)
其他
新功能
v1.0.1264 (2026-08-31)
新功能
其他
- 新增编辑弹窗,支持修改等级名称/描述/价格/上限/开关/权限
- 后端已有 /api/admin/membership/level/update 接口
v1.0.1263 (2026-08-31)
新功能
首页入口显示自检总分 + 跳转中间页
注册 self-check-entry 页面;结果页「重新自检」改跳中间页
新增自检中间页 self-check-entry.vue
新增 getSelfCheckStatus 和 ignoreSelfCheck API 方法
新增 /status 和 /ignore 接口;/questions 支持 retake 参数
Service 层抽题/状态/忽略/计分改造
Bug 修复
修复 pickQuestions 回退补题条件取反 + 清理 questionMap 死代码
v1.0.1262 (2026-08-30)
新功能
新增 self_check_ignores 表和 question_ids_json 列(迁移269/270)
能量沙盘支持我的/全家本地切换,后端一次返回个人+全家数据
文档
五维自检15天复检周期实现计划
五维自检规格自检修复 + 更新 PROJECT-OVERVIEW 索引
五维家庭自检15天复检周期+首页分数+题目轮换设计
其他
- wuxing-sandbox 新增 personalData prop,个人模式优先取指定成员数据,切换视角零请求
- 首页/家长/孩子三个页面缓存两份数据,onSandboxViewChange 本地切换不再重新请求
- 成员移出家庭后恢复到其自建家庭(families.creator_id),family-members 文案改为删除成员
v1.0.1261 (2026-08-30)
新功能
会员中心改为三个 Tab 页(等级配置/升级记录/会员维护)
v1.0.1260 (2026-08-30)
Bug 修复
其他
- 原来 'status !== '正常'' 会将未知/英文状态误判为异常(如 PHYLUM/CLASS 等层级行的空 status)
- _cssForStatus 增加中英文双语言映射,与 report-confirm 保持一致
文档
DAN报告按类型分别处理实施计划
记录DAN报告按类型分别处理实施计划
新功能
DAN报告详情页复用blocks渲染器,按类型分别展示
DAN报告详情接口按类型重算blocks(历史数据生效)
DAN报告按category分组组装blocks(类型分别处理)
v1.0.1259 (2026-08-30)
新功能
其他
- 报告日期仅显示 yyyy-MM-dd,去掉时间部分
- 指标名称前添加 '?' 知识库按钮,点击弹出说明
- 补全缺失数据:shannonIndex 徽章、healthRating 评级行、指标单位 unit、症状 symptoms
- 修复报告解读框死代码:后端返回 reportInterpretation.gutAgeAssessment
- 健康报告列表 (report-list.vue):
- 滑动删除功能修复:移除组件层 @click 冲突,仅用 #right slot 实现左滑出现删除
- 点击卡片正常跳转详情
- 首页 (index-home/index.vue):
- 新增 onShareAppMessage/onShareTimeline 分享配置
- 后端 HealthReportService:
- getReportDetail 新增 reportInterpretation 字段,基于 gutAge/gutType 生成评估文案
v1.0.1258 (2026-08-30)
Bug 修复
其他
v1.0.1257 (2026-08-30)
新功能
用户管理列表新增会员级别和推荐人列,编辑支持修改推荐人
其他
- 列表新增 referrerName 列(通过searchUsers解析referrerId显示推荐人名称)
- 编辑弹窗新增推荐人下拉选择(远程搜索昵称/手机号/ID)
- 新增 resolveReferrerNames 批量解析方法,loadUsers后自动调用
防止编辑旧格式报告(菌X构成/中文level)时原样写回脏数据
- getReportDetail: 读回时加 normalizeGutFloraRead 后处理,
一次性兼容归一化前入库的历史数据(无需迁移脚本)
- normalizeFloraLevel 的 category 参数保持传入以维持语义完整性
至此方案A覆盖完整主链路:
上传/确认入库(write)✅
编辑保存(write)✅
再次查看展示(read)✅
Bug 修复
v1.0.1256 (2026-08-30)
Bug 修复
修复最终审查发现 - progressPercent/loading死代码/样式细节
菌群分类层级表归一化 category/level 与前端对齐
重构
重新设计会员中心页面 - 消除所有 levelCode 空值访问风险
其他
- 所有表格数据源使用 safeLevels/safeMaintainUsers 过滤,杜绝 undefined.levelCode
- 升级路径用 el-tag 路径样式展示
- 权限详情对话框重构为 el-descriptions 布局
- 空状态用统一 .empty-state class
- loadOverview 合并 getMembershipStats + /api/admin/membership/overview 两次请求
- 后端 normalizeFloraLevel:'门/纲/目/科/属/种' → PHYLUM/CLASS/ORDER/FAMILY/GENUS/SPECIES
- 新增 HealthGutFlora.LEVEL_PHYLUM 常量(北京报告特有门级)
- 前端 gut-flora-species-detail.vue 新增 '菌门' tab 及 PHYLUM 映射
- 修复募极/北京格式分类层级在前端 taxonomy 标签页显示为空的问题
v1.0.1255 (2026-08-30)
样式
新功能
饮食偏好调研 Step2口味偏好+Step3健康目标chip交互
饮食偏好调研 重构为3步引导问卷 - 数据层+进度条+Step1忌口过敏
v1.0.1254 (2026-08-30)
文档
修复饮食偏好调研计划 :key 表达式违规 - 改方法调用 getChipKey
其他
redesign: 重写登录前首页与登录页,清晰传达产品价值
v1.0.1253 (2026-08-30)
Bug 修复
其他
- 原 tongue 分支指向废弃页 tongue-index(会重定向到上传页);未知类型分支路径 /pages/body/health-report 不存在导致 navigateTo 失败
- nutrition-profile.vue: 修正 /pages/body/health-report 错误路径为 /pages/body-detail/health-report
v1.0.1252 (2026-08-30)
新功能
共餐配置页暖灶主题美化
删除查看我的测评方案入口及相关跳转逻辑
其他
- pages/health/report-confirm.vue: 删除报告确认后的 planId 跳转至 health-plan-summary 逻辑
- pages/health/report-detail.vue: 删除报告入库后的 planId 跳转至 health-plan-summary 逻辑
v1.0.1251 (2026-08-30)
其他
v1.0.1250 (2026-08-30)
文档
饮食偏好调研页面重新设计 实现计划(3任务:数据层+Step1/Step2+Step3/暖灶样式)
修正饮食偏好调研规格——移除死代码systemGoals区块
饮食偏好调研页面重新设计 设计文档(3步引导问卷+暖橙主题+补全mustEat/cookingMethods)
新功能
.coupon.non-member-could-claim-membership-coupon
v1.0.1249 (2026-08-30)
文档
会员中心重设计+用户管理会员功能扩展 设计文档与实现计划
先天画像体系实现完成 - 更新API文档与项目概览
新功能
小程序先天画像轨迹页+心维度首页入口+补create接口
小程序先天画像API封装+页面注册+报告页
管理端先天画像权重配置+数字能量配置页 + 路由菜单
管理端先天画像配置Controller(来源权重+数字能量详细配置+缓存失效)
先天画像innate_portrait_graph LangGraph + API路由
AiGateway generateInnateReading 真实HTTP实现
calcInnateScore 可配置权重+数字能量参与
calcInnateScore 支持可配置权重+数字能量参与+缓存失效
先天画像4个接口(portrait/reading/numsoul/trajectory)
v1.0.1248 (2026-08-29)
新功能
完善健康启航计划(199会员打卡21天)三大核心功能
其他
- 新增 generatePurchasePayParams() 虚拟支付下单参数生成
- 新增 HQ 前缀订单发货/退款/iOS退款问询回调处理
- 新增 /api/purchase/pay-params 接口获取支付参数
- 支付成功自动发放 300 CF 基础奖励
2. ChallengeService 补充 streakDays 返回
- getChallengeProgress() 新增返回 streakDays 字段
- 前端闯关进度页可直接展示连续打卡天数
3. 打卡自动同步闯关进度机制
- 新增 ChallengeService.syncStreakProgress() 方法
- 集成到 DailyCheckinService/EmotionCheckinService/FinanceCheckinService
- 打卡完成自动更新 streak_3days/streak_7days/streak_21days 任务进度
v1.0.1247 (2026-08-29)
Bug 修复
会员费虚拟支付开关最终审查修复
强制出站HTTPS使用TLSv1.2 - 规避微信边缘终止TLSv1.3握手导致code2Session偶发失败
会员维护弹窗等级下拉增加safeLevels过滤 - 防御levels含null/undefined导致白屏
其他
- 新增 null 缺省虚拟支付路由测试
- 新增 PaymentServiceORDRoutingTest 覆盖 ORD/PO/其他前缀回调路由
- 简化 orderNo 断言为 startsWith
- 移除 pay.vue else 分支重复 orderNo 赋值
- DatabaseInitializer迁移268为coupon表加status列, schema.sql同步
- CouponService所有用户侧查询/领取/使用/兑换/自动发放过滤停用券
- PointsExchangeService/FamilyPlatformPointsService兑换入口加停用校验
- AdminCouponController新增POST /api/admin/coupon/toggle-status
- CouponManagement.vue修复假状态列+新增停用/启用按钮
- coupon.js新增toggleCouponStatus封装
新功能
InnatePortraitService 先天画像聚合服务 + AiGateway generateInnateReading stub
优惠券停用/启用功能 - 新增status字段+迁移268+toggle-status接口+管理端按钮
v1.0.1246 (2026-08-29)
新功能
pay.vue 支持 payType 分流,新增普通微信支付路径
handleWechatNotify 增加 ORD 前缀路由到会员开通回调
Controller 改为调用 createOrderWithPayType,支持 openid 参数
优化免费会员家庭挑战创建流程
Bug 修复
trial 分支改调 createOrderWithPayType,返回 payType=none
其他
- openCreateModal 细分场景:
- 免费会员且仅 1 成员(自己) -> 引导先添加孩子 (showAddChildPrompt)
- 其他成员不足 -> 通用添加成员引导 (showMemberPrompt)
- 新增 goToAddChild:直接跳转到添加孩子页面
- 提示文案明确告知:免费会员只能添加 1 位孩子,挑战创建后可切换到孩子身份同意参与
v1.0.1245 (2026-08-29)
Bug 修复
Native支付关联买家userId + 恢复公告列表接口
其他
- NoticeController: 恢复 /api/notices/list 接口(原410废弃)
新功能
数字能量计算器 NumSoulCalculator + 单元测试
先天画像Mapper和DTO
先天画像3个实体类(来源权重/报告缓存/数字能量配置)
迁移270-272 创建先天画像三张新表(来源权重/报告缓存/数字能量配置)
v1.0.1244 (2026-08-29)
Bug 修复
打破 MembershipService↔VirtualPayService 循环依赖
其他
在启动期强制互相实例化导致 Spring Boot 2.7 拒绝启动(循环依赖默认禁止)。
解决方案:在 MembershipService 的 VirtualPayService 注入点加 @Lazy ,
启动期注入代理,运行时才解析真实 bean,打破循环。
参考:Spring 5.3 的 ResourceElement 支持 lazyLookup,与 @Resource 兼容。
v1.0.1243 (2026-08-29)
Bug 修复
小程序前端 GET 请求全部改为 POST + 成长打卡页美化与自动返回
其他
- 前端: 7 处 GET→POST (api.js, service-tasks/chat/execution/rating/invite.vue)
- 成长打卡页美化 (diet/exercise/sleep/emotion-checkin.vue):
* 统一卡片式布局、导航栏、表单/标签/媒体工具栏/提交按钮样式
* 打卡成功后 800ms 自动 navigateBack 回成长页
v1.0.1242 (2026-08-29)
文档
Bug 修复
其他
v1.0.1241 (2026-08-29)
文档
更新 PROJECT-OVERVIEW 规格索引
会员费虚拟支付开关设计文档
Bug 修复
sleep_record 时间列改TIME类型 + 新增迁移269(幂等) 同步schema.sql
睡眠打卡时间字段改Date+自定义反序列化器解析HH:mm修复java.sql.Time解析失败
测评方案列表familyId三路回退(查询参数/JSON body/JWT)修复缺参500
北京营养分析totalCount改Long写入并用Number读取修复ClassCastException
JWT白名单改路径边界匹配防止verify-password被前缀放行 + 补登录必需拦截
菌群报告页圆环折行、quick-nav 显示关注数、饮食推荐走 /api/health/foods、菌群详情页标签折行
其他
2) gut-flora-foods-detail.vue: loadData 改用 getHealthFoods(reportId),不再依赖 report 详情里的 foods+KB 合并。
3) gut-flora-species-detail.vue: tabs 从 scroll-view scroll-x 改为 flex-wrap 折行(无横向滚动);默认 tab 从 core 改为 all(避免页面没内容)。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1240 (2026-08-29)
新功能
优化家庭挑战创建流程,增加成员数量前置校验和友好提示
其他
- submitForm 新增客户端校验:选择成员 < 2 时阻止提交并提示友好信息
- 新增 goToAddMember 方法:引导用户前往家庭成员页添加成员
- 避免后端 500 错误'家庭挑战至少需要2名成员参与'直接暴露给用户
v1.0.1239 (2026-08-29)
Bug 修复
统一文章/商品/活动推广分享邀请人参数 + 兼容旧分享链接
五维自检未传familyMemberId时自动解析为当前用户本人
其他
- 三个详情页: onLoad 显式处理 inviteCode + 海报二维码 scene 带 &ref= 邀请码
- promotion/index.vue: onShareAppMessage 带上 inviteCode=分享码(与 invite.vue 一致)
按 userId 修改 memberLevel(含 LIFETIME 置空到期时间)与 referrerId,
等级变化写入 MemberUpgradeRecord(upgradeType=admin)
- 用 LambdaUpdateWrapper 显式 SET,修复 referrerId 清除(null)不生效的 bug
- MembershipCenter.vue 新增「会员维护」卡片:搜索用户 → 修改等级/推荐人
- 修复会员中心打不开:loadLevels/loadUpgradeRecords 过滤 null 元素,
所有表格 scoped slot 加空值保护(row 为 null 时不再抛 TypeError)
根因:submitSelfCheck/submitSubDimensionCheck 直接存储 dto.familyMemberId,
前端提交问卷时不传该字段,导致自检记录与返回VO的 familyMemberId 为 null,
前端 joinMicroAction 无法拿到 memberId。
修复:familyMemberId 为空时,按 userId 自动解析用户本人对应的家庭成员(注册时已自动创建)。
新功能
后台会员维护功能 - 修改会员等级/推荐人 + 修复会员中心打不开
文档
先天画像体系实现计划(7阶段15任务,含数字能量TDD与权重替换改造)
修复先天画像设计规格5处缺陷(复用calcInnateScore/数字能量mind_base/权重替换/报告表职责/配置表关系)
星座/八字/数字能量引入心维度先天画像体系设计
v1.0.1238 (2026-08-28)
Bug 修复
恢复健康方案组件原貌,移除远程误加的FamilyMemberStrip成员条
其他
v1.0.1237 (2026-08-28)
Bug 修复
修复最终审查3处Minor偏差(副标题人数/nav-icon-wrap重复/status-accepted暖蓝)
移除食谱页未使用的 iconCls 死代码
生成食谱按钮文字改白色(修复样式覆盖冲突)
新功能
食谱推荐页暖灶主题美化
共餐配置页暖灶主题美化
饮食首页菜篮/导航/趋势暖灶主题化
饮食首页今日餐桌主视觉(暖灶主题)
add scrollbar to rich editor text containers
文档
共餐食谱美化实现计划(暖灶主题)
共餐食谱设计文档自检修正(数据一致性/确定性)
共餐&食谱页面美化设计文档(暖灶·家的味道)
v1.0.1236 (2026-08-28)
Bug 修复
修复 assessment-plan 分包页面缺失导致编译崩溃,补充 list/detail 页面并修正接口路径
v1.0.1235 (2026-08-28)
Bug 修复
补交健康/测评方案管理页面,修复部署构建找不到路由组件
其他
v1.0.1234 (2026-08-28)
新功能
规划师端健康方案管理页 + v1.0.1233 版本升级
v1.0.1233 (2026-08-28)
文档
登记生成方案标准内容格式实现计划(PROJECT-OVERVIEW 🟢 已实施)
Bug 修复
健康方案 submitPlan 补 tasks 字段 + regenerate 更新 tasks
海报扫码进入文章/活动详情页解析 scene 参数,修复参数错误
首页自检卡跳转改为五维自检页 self-check
新功能
规划师端健康方案结构化任务条目编辑
支持分享到朋友圈(onShareTimeline)
其他
v1.0.1232 (2026-08-28)
Bug 修复
共餐配置页修复页面溢出、选中态醒目、添加按钮唯一化
/api/health/foods 未传 reportId 时返回当前用户最新报告食材
其他
- 选中项加橙色 ✓ 角标 + 强化高亮(粗边框/外发光/头像变色)
- 改用 mealGroups 计算属性,去除模板内 isMemberSelected 方法调用
- 3 个餐次添加按钮收敛为唯一入口,点击跳转成员管理页
- 未指定 reportId 时按当前登录用户查最新报告食材,返回当前最适合的推荐
- 修复食材查询页空数据问题
v1.0.1231 (2026-08-28)
新功能
方案任务生成优先读 tasks + 正则兜底 + 懒加载回填
方案 section 重生成返回 {content, tasks} 结构化
健康方案生成 Pydantic 校验 + 正则兜底提取 tasks
健康方案 prompt 追加 tasks 输出契约
健康方案 tasks 模型(PlanTask + section.tasks)
方案激活按模板包批量拆任务并兼容childId双域
成长计划列表接口与childName组装
方案制定支持多成员分别调研-health_status加member_id字段+修复只保存不生成bug
样式
测试
其他
文档
Bug 修复
方案管理页补齐plan接口函数修复白屏
文章创建更新防检测超时-受限超时并fail-open
全局参数校验友好化-空参格式错误返回400
知识库查询删除接口契约对齐请求体并容错
活动提交审核业务异常转400提示并支持退回草稿
供应商保存兼容新旧字段契约并校验必填
勋章创建自动生成badgeId避免唯一键500
方案管理列表支持admin全量查看并按家庭筛选
v1.0.1230 (2026-08-28)
文档
生成方案标准内容格式实现计划(LangGraph tasks + Java 懒加载回填 + 前端任务编辑)
生成方案标准内容格式设计(planJson tasks 单一事实源 + Pydantic 校验 + 懒加载回填 + 规划师任务编辑UI)
Bug 修复
v1.0.1229 (2026-08-28)
文档
生成方案标准内容格式设计(planJson tasks 单一事实源 + Pydantic 校验 + 懒加载回填 + 规划师任务编辑UI)
新功能
其他
- ReportBlockAssembler.assembleWithTemplate 无模板时对任意报告类型默认调用通用组装(评分+风险+指标+菌种),不再只支持 gut_flora
- 确认入库与编辑保存两处改传 reportType,走 assembleWithTemplate 模板驱动+默认兜底
前端:
- report-list / health-main / report-upload / report-confirm 的 gut_flora 跳转统一到 gut-flora-detail 个性化页
- gut-flora-detail 新增内嵌 draftId 模式(解析→确认入库/放弃),修复评分圆环字段错位 bug(兼容 balanceScore 等新键),saveEdit 载荷改标准嵌套结构
BREAKING CHANGE: 肠道菌群报告详情页由通用 report-detail 切换为个性化 gut-flora-detail,入口 URL 与参数(draftId 支持)变更
v1.0.1228 (2026-08-27)
新功能
五维沙盘个人/全家视角切换 + 食物表字段扩展 + 忽略报告解析临时文件
v1.0.1227 (2026-08-27)
其他
v1.0.1226 (2026-08-27)
其他
v1.0.1225 (2026-08-27)
其他
健康报告上传-解析-生成方案-分解任务-打卡,完成链路流程
修改小程序的开发环境
修复编译报错
修复编译报错
v1.0.1224 (2026-08-26)
Bug 修复
五维成员详情页导航路径修复 + 财富维度成员详情页补齐
v1.0.1223 (2026-08-25)
Bug 修复
全局异常处理器捕获 ClientAbortException,避免连接中断时二次抛异常
v1.0.1222 (2026-08-24)
新功能
小程序新增画像编辑页(portrait-edit.vue+api封装+pages注册)
Java 4个对话端点注入portrait_prompt(chat/coach/butler/nutrition)
Python侧画像prompt注入(4个graph+nutrition端点)
v1.0.1221 (2026-08-23)
新功能
用户画像数据层+PortraitService(迁移263+实体+接口+Controller)
Bug 修复
ensure member IDs are always strings for WeChat mini-program event system
其他
- Template expressions pass raw numbers, causing type mismatch in indexOf
- Always convert to String() in isMemberSelected, toggleMember, loadExecutors
- Prevent double loadExecutors with synchronous _executorsLoading flag
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1220 (2026-08-23)
文档
对齐 TabBar 重设计为实际实现(4Tab+中间⭐扇形菜单)
其他
- 行跳转:pages/index-home/index→pages/action-detail/index
- 四维跳转路径:pages/X/index→pages/X-detail/index
- 健康Tab:pages/health/index→pages/health-main/index(5子Tab+雷达图)
- 同步更新技术方案、边界情况、实施状态表
- PROJECT-OVERVIEW v2.8→v2.9
v1.0.1219 (2026-08-23)
Bug 修复
energy_daily_limit迁移编号255改258避免撞号
全局异常处理兜底路径参数类型转换错误
恢复被误删的套餐模板列表接口 /package/templates
其他
v1.0.1218 (2026-08-23)
文档
用户画像 prompt 拼装实现计划
用户画像 prompt 拼装设计规范
Bug 修复
后端添加405处理器兼容旧GET请求
修复中文CSS类名WXSS编译错误及公告接口更新
body-detail/index.vue 中文CSS类名导致WXSS编译错误
v1.0.1217 (2026-08-23)
Bug 修复
其他
修复三层:
1. JwtInterceptor: user.family_id 为空时从 family_members 表反查用户所属家庭
2. HealthReportService.getFamilyReports: 优先通过家庭所有成员(subject_id/user_id)
反查报告,兼容报告表 family_id 未填充的历史数据,再补充按 family_id 匹配并去重
3. HealthReportController.listReports: 无家庭信息时返回空列表而非报错
v1.0.1216 (2026-08-23)
Bug 修复
打破 memberSubscriptionService↔butlerService 循环依赖 - @Lazy 注入
v1.0.1215 (2026-08-23)
新功能
rewrite plan creation flow to 3 steps with embedded questionnaire
家庭加入申请改为邀请人审批模式,谁分享的卡谁确认
其他
- Embed health-status-form fields inline in step 2 (体征/血脂/疾病史/药物/补充)
- Auto-load existing health data via getHealthStatus on page load
- Add saveAndGenerate to save form then call generateHealthPlan
- Step 3 shows plan preview with two paths: edit/confirm OR select planner service
- Create teacher-service.vue: planner service selection page (纯线上/可联系 types)
- Register teacher-service.vue in pages.json
- Preserve viewMode/planDetail for viewing existing plans
- Preserve all section editing (regenerate/confirm) and plan submission logic
- Follow WeChat Mini-Program constraints: no optional chaining, no CSS Grid, no :key expressions
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- approve/reject 权限改为邀请人(须仍为目标家庭成员),旧数据无邀请人由家庭管理员兜底
- approve 通过后刷新家庭通关解锁,与 /accept 直加路径一致
- getPendingRequests 改按邀请人查询,控制器去掉 familyId/admin 校验,透传 token
- 迁移262: family_join_requests 添加 inviter_user_id 列 + idx_inviter 索引
- 前端:join.vue 文案改等待邀请人确认+进入回显待确认申请+取消申请按钮
- family-members.vue 新增加入申请审批区块(同意/拒绝),按邀请人过滤
- 同步 API_REFERENCE.md 与 api.js 注释语义
内容: D32扩展财商内容+封面文字修复
v1.0.1214 (2026-08-23)
其他
v1.0.1213 (2026-08-23)
其他
内容: D28-D31小红书发布准备完成;指南: 图片规格改为9:16+imagefree_gen.py
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- pages.json:growth 分包移除注册,health 分包新增(risks-detail 之后)
- gut-flora-detail 主页 goToFoods() 跳转同步更新
- 功能不变(筛选+排序+编辑+知识库营养数据合并);E2E 无路径断言无需变更
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
重构
菌群食物推荐页迁移至计划路径 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字段,支持单次调用同时获取成员列表与家庭信息
其他
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1206 (2026-08-23)
新功能
新增butler_assignments实体与Mapper
butler_profiles 新增accepting停接开关列
Web管理端购买记录管理
文档
v1.0.1205 (2026-08-23)
新功能
报告列表支持家庭维度查询+成员过滤,健康页不再传memberId
v1.0.1204 (2026-08-23)
新功能
v1.0.1203 (2026-08-23)
文档
新增AI健康教练人格分化与管家自助选择设计规格
健康启航计划实现计划
其他
新功能
添加购买页和API封装
付费墙拦截+前端API+页面注册
健康启航计划后端核心
v1.0.1202 (2026-08-22)
其他
文档
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 修复
其他
- 删除了根但保留了对应的
- 删除了nav-bar的打开标签但保留了
导致模板出现多根元素或孤立 ,HBuilderX编译报错:
'Element is missing end tag' / 'Multi-root element found' / 'Root element expected'
修复方式: 删除所有孤立的 标签(共45个文件)
v1.0.1197 (2026-08-22)
文档
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 修复
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)
新功能
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 睡眠打卡:移除照片上传和录音功能(不需要)
- 心情打卡:补全所有缺失的基础样式,修复布局混乱
- 新增 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- tasks.vue 今日任务:按 actionType 渲染按钮文案(开始游戏/专注/填写/阅读/报名/购物),locked 灰态+解锁提示,start_required 先开始再完成,require_input 弹填写面板提交内容
- create-task.vue 新增联动动作/两阶段/填写式开关+商品ID配置,重复设置扩展隔天/每月,补全 repeatTypeLabel/actionTypeLabel computed
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- DailyCheckinService.createCheckin 在 moodScore 有值时自动同步到 emotion_checkin 表
- upsert 逻辑:今日已有记录则更新,否则新建
- moodScore 1-10 → moodWeather 映射(sunny/cloudy/rainy/stormy)
- 同步失败不影响主流程
- localStorage key 改为按日期(yyyy-M-d)记录
- 提示文案同步更新
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 后端 DanReportUploadVO 增加 result 字段,getDetail 返回关联的 DanAssessmentResult 分数
- 更新 4 处入口跳转:report-list、mind-detail、wisdom-detail、health-main
- insurance-add .form-input height 80rpx->88rpx 增大触控区
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
'同意并继续'(5字) 导致 showModal 静默失败,弹窗不出现。
改为 '同意继续'(4字),同时移除所有 debug 代码。
- .form-input padding 16rpx->22rpx, font-size 26rpx->28rpx 提升触控体验
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v2 重设计(基于调研补齐):
- 疾病史:菌群报告病症风险(20项 PdfParseService 白名单)+ 互联网统计常见病(约40项,附患病率/出处/年份)两源合并去重约50项,分类折叠多选;未列出的保留自定义补充兜底
- 每条疾病新增确诊时间(年月选择器 yyyy-MM)
- 用药:每药一条保留,新增开始服药日期→自动计算已服时长,记不清时用时长文本兜底
- 无 DDL 变更(disease_history/medications 为 JSON 字符串列,结构变化在 JSON 内部)
- 旧数据兼容:{name,note}/{name,time} 回显置空不报错
- 删除独立的 ReportStatsController,消除同路径下双 Controller 冲突
- 所有接口路径不变,前端调用无需修改
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- wisdom-detail: 新增肠胃与认知卡片,含认知指标(谷氨酸/多巴胺/色氨酸等)+引导上传
- body-detail: 新增指标告警卡片,疾病风险(非低风险)+营养素/氨基酸异常(仅异常项)
- api.js: 新增 getGutCognitionIndicators/getBodyAbnormalIndicators
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- MindController: /api/mind/neurotransmitters 只返回情绪相关指标(血清素/多巴胺/GABA/色氨酸)
- WisdomGutController(新): /api/wisdom/gut-cognition 认知指标(谷氨酸/多巴胺/色氨酸/丁酸等)
- HealthReportController: /api/health/report/body-abnormal 疾病风险+营养/氨基酸异常(仅异常项)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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 修复
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 修复
其他
- step===1 && !viewMode → false(Step1不渲染)
- viewMode && planDetail → false(查看模式也不渲染)
- 页面空白
同时补充editing和sectionFeedback重置。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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 修复
新功能
其他
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- tasks.vue 今日任务:按 actionType 渲染按钮文案(开始游戏/专注/填写/阅读/报名/购物),locked 灰态+解锁提示,start_required 先开始再完成,require_input 弹填写面板提交内容
- create-task.vue 新增联动动作/两阶段/填写式开关+商品ID配置,重复设置扩展隔天/每月,补全 repeatTypeLabel/actionTypeLabel computed
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
新功能
任务系统升级-行为调度中心前端(动作联动/两阶段/填写式完成)
任务系统升级-行为调度中心后端(前置任务/频率任务/两阶段/填写式完成)
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 表达式
重构
其他
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 修复
其他
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 修复
其他
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1138 (2026-08-18)
新功能
其他
- 后端 DanReportUploadVO 增加 result 字段,getDetail 返回关联的 DanAssessmentResult 分数
- 更新 4 处入口跳转:report-list、mind-detail、wisdom-detail、health-main
v1.0.1137 (2026-08-18)
Bug 修复
其他
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 修复
v1.0.1133 (2026-08-18)
Bug 修复
财商打卡页居中+控件高度 - 容器宽度约束+input padding增大
其他
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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四表定义
其他
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- MindController: /api/mind/neurotransmitters 只返回情绪相关指标(血清素/多巴胺/GABA/色氨酸)
- WisdomGutController(新): /api/wisdom/gut-cognition 认知指标(谷氨酸/多巴胺/色氨酸/丁酸等)
- HealthReportController: /api/health/report/body-abnormal 疾病风险+营养/氨基酸异常(仅异常项)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1121 (2026-08-18)
Bug 修复
pages.json 删除多余右花括号修复 JSON 语法
v1.0.1120 (2026-08-18)
Bug 修复
其他
- 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态
其他
新功能
文章详情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)
新功能
v1.0.1105 (2026-08-17)
新功能
上传报告页新增认知测评、心理测评、情绪打卡三种类型说明
v1.0.1104 (2026-08-17)
新功能
其他
- 前端 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- EnergyController.sandbox 个人视角改用家庭级判据 + selfCheckGateOrFallback 内置兜底 gate(无种子时前端 GateLock 也能渲染引导按钮)
- getUserUnlockStatus 个人沙盘锁定标志同步家庭级,与 /api/energy/sandbox 一致
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1102 (2026-08-17)
Bug 修复
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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 修复
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- submit 改读 surveyTemplateId(兼容旧 templateId),answers 统一 [{questionId, optionIds}](兼容旧 Map/[{questionText, optionTexts}])
- ProblemDomainController.list 补平铺 surveyTemplateId 字段(修复 flow-intro 透传断链)
- 迁移248:survey_templates 内置 3 个问题域问卷种子(空表才插入)+ problem_domains 未绑定才绑定,幂等
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.1096 (2026-08-16)
Bug 修复
迁移248创建health_report_edit_logs表,修复表不存在错误
v1.0.1095 (2026-08-16)
Bug 修复
其他
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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)
其他
文档
v1.0.1088 (2026-08-16)
新功能
批量添加列表页分页+排序+横向滚动(109文件)
商品编辑-线上服务者简化为服务商下拉选择
健康报告列表增加报告人/报告日期/上传日期
其他
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- NotificationChannel 接口 + NotificationMessage DTO
- 5 通道实现:
- InAppNotificationChannel 内置写库
- Sms/Wechat/Gzh/Phone 外部通道预留 stub(enabled 配置开关 + 日志,TODO 接入网关)
- NotificationDispatchService 统一分发入口:读模板 → 占位符替换 → 按 channels 多选分发
- DanReportUploadService / ProblemCompletionService 改走分发服务(移除硬编码/模板辅助方法)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增 NotificationTemplateManage.vue 管理页
- 类型/标题/内容模板/推送通道(小程序内/短信/微信/电话)/状态
- 通道多选 + 占位符提示 {domainName} {reward}
- 路由注册 notification-template-manage
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增 AdminNotificationTemplateController (/api/admin/notification-template list/save/delete)
- DanReportUploadService / ProblemCompletionService 改为从模板表读取文案
- report_ready / reward_granted 支持 {domainName}/{reward} 占位符
- 表不存在/停用/无记录时回退默认文案
- schema.sql 同步 notification_templates 建表
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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 参数直入编辑模式
其他
v1.0.1072 (2026-08-15)
Bug 修复
移除21天科学减重/28天血糖平稳套餐种子数据自动插入
移除 health-plan-summary onLoad 中残留的 loadFamilyReports 调用
其他
v1.0.1071 (2026-08-15)
Bug 修复
其他
新功能
报告列表支持多选软删除 + 点击行直达编辑页
报告编辑页路由 + 归档/编辑 API 封装
新增报告批量归档接口 POST /report/archive-batch
sales/index.html 产品介绍分类挂载减重套餐卡片 (4→5篇)
新增家庭科学减重套餐产品介绍页 + Agnes生成产品封面图
v1.0.1070 (2026-08-15)
新功能
v1.0.1069 (2026-08-15)
Bug 修复
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)
其他
v1.0.1066 (2026-08-15)
Bug 修复
health-plan-summary 成员列表 wx:key 表达式改用方法调用
其他
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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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 clio-agent@sisyphuslabs.ai
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改为选人
其他
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)
其他
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 修复
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)
新功能
其他
- 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)
新功能
其他
- 迁移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)
新功能
其他
- 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)
新功能
其他
- 修复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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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
Co-authored-by: Sisyphus sisyphus@ohmyopencode.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
/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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- BeijingNutritionService.analyzeGutFlora: 按功能分类聚合菌属
(丁酸盐生产者/黏液屏障/蛋白质发酵者/SCFA/产气菌/益生菌等)
- 计算 Prevotella/Bacteroides 比值推断饮食模式
- 组合风险模型(IBD/代谢/肠易激/神经-肠轴)
- 益生菌补充指导
- POST /api/nutrition/beijing/analysis
前端:
- gut-flora-detail.vue 新增分析卡片(功能维度评估/PB比值/饮食模式/风险/益生菌)
- api.js 添加 getGutFloraAnalysis
Ultrawwork with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 后端: SortInterceptor + SortUtil 全量支持
- 支持单击设主排序、Shift+Click追加、双击切换方向,最多3列组合
- 新增 SortUtil.applySort(wrapper) 自动注入 ORDER BY
- 批量 patch 110+ 个 controller/service 文件
解决方案,平台承诺未经授权不向第三方提供报告内容。未勾选时点击上传
卡片会弹出确认弹窗,用户同意后自动勾选并继续选文件流程。
Closes: 报告上传用户隐私声明需求
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 后端: 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 clio-agent@sisyphuslabs.ai
- 新增月度引导语(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 clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
低于 JWT HMAC-SHA 要求的 256 位。新增自动扩展逻辑:
- SHA-256 哈希扩展(密钥>=256位时直接使用原密钥)
- 字节填充回退
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 移除功能测试面板(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 clio-agent@sisyphuslabs.ai
- 成长Tab: 移除重复体征记录入口,保留每日打卡等8项执行层入口
- 全局改名: 成长档案 → 成长记录 (15个文件: 页面文本/导航标题/注释)
- 导航修复: mind-detail和wealth的TabBar页跳转改用nav.goPage; child-index/child-detail goToGrowth改用switchTab
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 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
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
当 store familyId 为空时显示 FamilyEmptyState(暂无数据)。
编辑个人资料不应依赖是否有家庭,改为老用户 (isNewUserFlow=false) 始终显示表单。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 移除 FamilyEnergyBar(沙盘已含能量信息)
- 移除 DimensionTasks/圈子模块,移入功能入口
- 新增 3列功能入口网格(对齐健康/成长页 grid-3col)
- 移除未登录态五维全景幸福矩阵
- 重构结构:Banner → FamilyMemberStrip → 沙盘 → 网格 → 挑战 → 推荐
- 清理冗余 JS 数据/方法/API调用和 CSS 样式
导致 ProfileHeader/Badges/Growth/Menu 加载失败,页面仅显示内联个人信息卡片。
将 4 个 Profile 组件复制到全局 components/ 目录,并更新两处 import 路径。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
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
()替换为监护人同意弹窗的
注释代码时误删了按钮且未加回,导致表单无法提交。script 中 submit()/
doSubmit() 方法与 CSS .btn-primary 均为死代码残留。
已在手机号字段后恢复保存按钮,监护人弹窗确认流程(14岁以下儿童)不受影响。
Reviewed-by: Sisyphus
对象 Map、后端 DTO 只认对象),导致规格名记录不进去:
- ProductSkuEditor.normalizeSpecsToJson 改为输出数组格式,空值默认 '[]'
- ProductSkuDTO.from 兼容数组格式(数组→Map),旧数组数据可正常回显
- formatSpecsForInput/parseSpecs 数组分支正确解析 {name,value},不再显示 [object Object]
- CartService 兼容对象格式(旧数据兜底),修复购物车规格描述丢失
- ProductSkuService 空 specs 默认 '[]'
同步修复预存编译错误:HealthReportController 缺 HttpServletRequest import、
HealthReportService reportMapper 应为 healthReportMapper、HealthReportDraft
补 remark 字段(含 schema.sql + DatabaseInitializer 迁移180)。
Reviewed-by: Sisyphus
- AuthController.verify: 增加 user 存在性检查,用户被删/禁用时返回 401
- api.js: 新增 verifyToken() 导出函数
- App.vue: onLaunch 时调用 verifyStoredToken() 启动校验 token(develop 跳过)
- api.test.js: 新增 3 条 verifyToken 测试(成功/过期/用户不存在)
后端 mvn clean compile BUILD SUCCESS
前端 npm test auth API 16/16 通过
ContentSharePoster 的 String props(title/coverImage/summary/priceText 等)。
Vue 2 中 props 的 default 只在未传时生效,显式绑定 null 会触发微信类型检查
告警 [Component] property received type-uncompatible value: expected
but get null value。已在所有绑定处加 || '' 兜底。
Reviewed-by: Sisyphus
TypeError: this.loadMembership is not a function
- 商品介绍/详情 mp-html 传入 domain(config.API_BASE_URL),
修复富文本中相对路径图片被解析到本地 DevTools 服务器的问题
Reviewed-by: Sisyphus
修正后路径: ../profile-pkg/components/Profile*.vue
移至 pages/tabs/
- 修复 X-User-Id header 断言(改为断言不再发送)
- 新增 identity parameter hardening 4 个回归测试:
request 不发 X-User-Id 头、测评 wrapper 无参且 body 为空、today-tasks 仅含 memberId
改为 @RequestAttribute ("userId") 获取当前用户,移除 body.userId 读取
- record/current 标记为已废弃(无前端调用方,familyId 参数不再被信任)
- FamilyController:guide-bind 的 @RequestHeader ("X-User-Id") 改为 @RequestAttribute ("userId");
两个已废弃端点移除 X-User-Id 参数
- AdminController:/api/admin/families/** 及 /families/count 增加 admin 角色校验
- HealthReportController:parse-preview 的 familyId 由 @RequestParam 改为 @RequestAttribute
- 移除 pages/promotion/material.vue 本地 _request 的 X-User-Id 头
- 测评 wrapper(getMy/ChildAssessmentResults)改为无参发送 {}
- 测评页面(results/apply/purchase)停传 userId
- 删除 mind/index.vue 两个指向不存在端点的死调用(/api/mind/report/*)
- 移除 report-upload/meal-config/bind-invite 的 familyId/family_id 传参
- parent-index.vue getPendingWishes() 去实参(wrapper 已忽略)
后,路径前缀与同名分包 root(pages/health、pages/growth、pages/profile)冲突,
导致 HBuilderX 编译失败→全白板。
修复方案:将 tabbar 入口页从分包目录移到 pages/tabs/ 目录,
路径前缀与所有 48 个分包 root 完全无重叠,消除冲突。
变更:
- pages/health-pkg/index.vue -> pages/tabs/health-index.vue
- pages/growth-pkg/index.vue -> pages/tabs/growth-index.vue
- pages/profile-pkg/profile.vue -> pages/tabs/profile-page.vue
- pages.json: 主包 tabbar 页路径 + 分包 root 保持 -pkg 后缀
- 10 个文件中的路径引用同步更新
- pages/growth → pages/growth-pkg
- pages/health → pages/health-pkg
- pages/profile → pages/profile-pkg
同步更新 pages.json 分包 root、tabBar 路径及 30 个文件中的 66 处引用
改为乐观加载模式(接口未返回前返回 true),避免暂无数据闪烁
- index-home/index.vue: loadChildren/loadFamilyMembers 增加 checked 标记设置
- DimensionProducts.vue: hasFamily 增加 isLoggedIn 判断,信任父组件可见性控制
导致 pages.json 语法错误,HBuilderX 编译失败、小程序全部白板
- 将 diet 块移回 subPackages 数组内(正确缩进)
- cfc-frontend/AGENTS.md: 写入打包规范(HBuilderX 打包 → unpackage/,禁止 npm build 自行打包)
store getter 仅兜底(store.familyId 恒空导致空态吞掉正常内容)
- App.vue 冷启动从接口恢复 familyId,store setFamilyId 持久化供恢复
- login.vue 登录/自动登录同步 familyId 到 store
- 修复 9 处批量修改导致的 computed 对象未闭合语法错误
design: 家庭FAB悬浮按钮重新设计 - 家庭图标 + 渐变光环 + 黄金分割定位
- 图标: 默认态显示家庭图标👨👩👧👦, 展开时渐变过渡为当前成员头像
- 效果: 暖橙渐变背景 + 双层光晕阴影 + 展开光环 + 呼吸脉冲动画
- 交互: 展开时弹性缩放(1.05), 头像淡入旋转过渡
- custom-tab-bar: 4 functional tabs + center star button + half-screen overlay
- utils/nav.js: unified navigation utility for auto switchTab/navigateTo
- health/index.vue: new health tab as closed-loop hub (测评/报告/打卡/饮食/运动)
- Replace all switchTab→dimension pages with nav.js (nativeTabs pattern removed)
- Move growth/index and profile/profile from subpackages to main package
- Teacher independent tabbar preserved (v-if='currentRole !== "teacher"')
- 5 dimension pages moved from tabbar to subpackages
- custom-tab-bar redesign with half-screen overlay
- Unified nav utility for switchTab/navigateTo routing
fix: 家庭FAB悬浮左缘中部 + 无家庭用户查询接口自动创建兜底
- 新增 UserService.ensureUserFamily 公开兜底入口
- UserController/FamilyUserController.getFamilyMembers 与 getVisibleMembers 在 familyId 为空时自动创建家庭
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- JwtInterceptor: 查询 familyId 失败时显式设为 null 而非空置
- WechatService: 新增 invalidateAccessToken() + 过期重试机制(42001/40001)
- UserService: 大幅重构和改进
- MembershipService: 新增逻辑
- FamilyJoinRequestService: 改进
- ProductController: 产品相关改进
- cfc-web: 构建版本同步
- 用户协议重写:13章覆盖付费/退款/服务商/免责/争议解决
- 新增服务商入驻协议
- 后端:user_consent_records 表 + ConsentController(4接口)
- 后端:user_data_permissions 表 + DataPermissionController(2接口)
- 后端:账号注销匿名化 + 数据导出接口
- 后端:DataMaskUtil 日志脱敏工具
- 后端:DataCleanupTask 每日2点清理定时任务
- 前端:添加<14岁儿童时监护人同意弹窗
- 前端:API 层新增 consent/data-permission 调用
- 迁移168/169 + schema.sql 同步
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 后端: requestJoinByCode 兼容 token/inviteCode/familyId 三种输入
- 后端: FamilyJoinRequestService.createJoinRequest 支持 UUID token 识别
- 前端: invite/join.vue 展示邀请人头像, 改为提交申请+轮询审批流程
- 前端: FamilyMemberStrip.vue 加 isAdmin prop、红点徽章、审批弹窗(通过/拒绝)
- 前端: api.js 补充 pending-requests/approve-request/reject-request/my-request API
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
导致后端解析 Long.valueOf('{}') 时抛出 NumberFormatException。
改为从 currentFamilyId/userInfo.familyId 获取实际值,与同文件
loadCompatibilityData 等方法的现有模式保持一致。
- 从 extract_full_report_v5.py 提取核心逻辑(overview/疾病风险/营养/氨基酸/维生素)
- requirements.txt: 补充 PyPDF2 依赖
- 统一知识库 knowledge_base_section 表 + UnifiedKnowledgeBaseService(迁移165,DB为查询源,classpath种子兜底)
- HealthKnowledgeBaseController 新增 /unified/* 系列端点
- 控制器增加家庭ID解析与成员归属校验辅助方法
- JwtInterceptor/Result/api.js 同步增强
超过 gunicorn 60s 超时导致 worker 被杀(WORKER TIMEOUT + SIGABRT)。
- gunicorn --timeout 60→300:给推理留足时间
- ChatOpenAI timeout=180/max_retries=1:单次推理上限 180s,失败仅重试 1 次
- app/main.py: 合并 questionnaire_router,旧路由/中间件/知识库同步不变
- src/llm/client.py: LLM* 环境变量优先(与 .env.production 一致),兼容 OPENAI *
- Dockerfile: 新增 COPY src/ src/(生产镜像此前无问卷代码)
- docker-compose.yml: langgraph-svc healthcheck 改用 python urllib 探 /health(镜像无 curl + 原路径 404)
- 支持通过模板快速创建自定义挑战
- 支持编辑/删除挑战
- 移除非兜底的自动创建模板逻辑
- 后端新增 creator_id 字段区分系统/用户创建
- 后端新增 templates/create/update/delete 接口
- 前端新增 challenge-manage 管理页
- 行首页挑战区添加管理入口
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 会员价联动展示(非会员可点击升级)
- 未选规格时按钮禁用提示
- 加购/购买时传递 skuId 和 specDesc
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
改为调用已有的 getProductsByDomain('body', 1, 4),行为等同于原 getPublicConfig 返回空时的回退路径(domain='body' 加载身体维度推荐商品)。功能语义不退化。
同时移除变成 unused 的 productList import。
文件: cfc-frontend/pages/health/report-upload.vue (+3/-13)
验证: npm run build:mp-weixin DONE; 编译产物 getPublicConfig=0, getProductsByDomain=1
- Caused bottom-left rounded rect rendering failure on all canvas shapes
- MembershipService: 新增 refundByOrderNo(orderNo) 退单+降级管理员
- VirtualPayService: handleRefundNotify ORD 分支调用 membershipService.refundByOrderNo
Task B: iOS退款问询按官方协议接入
- VirtualPayController: notify() 新增 xpay_subscribe_ios_refund_query_notify 事件分发
- VirtualPayService: 新增 handleIosRefundQuery 按 pay_order_id 路由+判定退款
- VirtualPayController: iosRefundBaseResponse 字段修正为官方 IosRefundQueryResponse 协议
- 测试: 新增5个用例覆盖ORD退款路由+iOS问询(同意/拒绝/不存在/已退款)
- api.js: remove unused parseReportPreview function (33 lines)
- api.js: restore 86 garbled Chinese comments (UTF-8 bytes decoded as GBK then re-encoded)
MyBatis-Plus无TypeHandler导致updateById无法正确写入JSON列。
修复: specs改为String类型,service层校验空值默认设为{}
dimensionCode 参数,导致后端返回所有精选文章而非按维度过滤。
- body/index.vue: 补传 dimensionCode: 'body'
- wealth/index.vue: 补传 dimensionCode: 'wealth',移除客户端
relatedDimensions hack(后端已正确过滤无需前端二次筛选)
导致封面加载失败。统一走 getImageUrl() 拼接 config.API_BASE_URL。
unauthenticated users, leaving displayStatus/displayLabel/
registrationStatus as null. This caused the activity detail page to
hide the cover, registration button, and check-in button for all
visitors. Now applyDisplayState() runs for everyone; guests get
default values ('open'/'not_registered') derived purely from activity
time windows.
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 添加 getImageUrl() 自动补全 API_BASE_URL 前缀
- 修正字段映射:商品介绍 → intro,商品详情 → description
- 价格/会员价上下排列,会员价字体缩小
- 加购物车和立即购买按钮统一字体大小
- 供应商编辑页新增「商品简介」intro 字段
删除废弃的 pages/action 分包并修复引用
- parent-index.vue: /pages/action/contact-detail → /pages/action-detail/contact-detail
- action-section.vue: activity-detail 跳转修正为 /pages/activity/activity-detail/activity-detail
- action-section.vue: task-detail 标记 TODO(该页面不存在,为死代码)
- pages.json: 移除 pages/action 分包注册
- ArticleController: POST /api/articles/updated-since 支持since+status过滤
- ArticleService: getUpdatedSince() 按updatedAt+status查询已发布文章
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
/pages/home-pages/parent-index(非 TabBar 页),导致底部 TabBar 不显示。
改为 uni.switchTab() 跳到 /pages/index-home/index(行 Tab)。
同样修复 submitGuideApplication 中相同的 redirectTo 错误跳转。
(7498行), 导致 mvn compile 报 illegal start of expression。
仅删除该残留标记行, 迁移152/153 内容保持不变。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 首页能量沙盘下方新增会员入口卡(非会员开通 / 会员≤30天续费)
- 活动详情页非会员显示会员价引流链接
- 活动列表会员价点击跳转开通
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
(list(Map,Long) / create(Activity,Long) / update(Activity,Long,String) / end(Map,Long,String))
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
且其 snake_case 列名与实体不匹配, 导致全列查询报 Unknown column 'school'。
schema.sql 同步为 camelCase 与实体一致。
Unknown column 'user_coupon_id' in 'field list':entity PaymentOrder
已声明 userCouponId 但部分库建表时缺失该列。
使用 ensureColumn 幂等添加。本地 MariaDB 与新 MySQL 8 远端已
有此列,迁移对它们为 no-op。schema.sql 已含 user_coupon_id,
无需同步。
- 详情行合并为单行, 卡片内边距/字号/进度条全面收紧约20%
- parent-index.vue: 移除无用的 childId 传参与 @updated 监听
- custom-tab-bar/index.vue: 富 tab 指向 wealth/index, tab 顺序对齐原生 tabBar, nativeTabPages 只含原生 tab 页
- login.vue / action / wisdom / index-home: 清理 stale nativeTabs 列表, 避免对非 tabBar 页面调用 switchTab 触发 routeDone 路由错误
- user-edit.vue: 规划师入驻提交后 redirectTo 分包页而非 switchTab
- utils/format.js + DimensionActivities.vue: 新增 iOS 安全 parseDate 统一日期解析
家庭挑战 (d6bb7d48 ):
- 挑战列表带 familyId 参数(修复之前漏传导致返回空)
- 验证 targetMode/targetValue 双目标模式字段
- 验证 totalProgress/memberProgress 进度字段
- 新增 /api/health/challenge/history 历史
- 新增 /api/health/challenge/progress 进度上报(childId 已有活跃挑战时)
活动会员价 (15a93dd3 + 89673f07 ):
- 管理端活动列表验证 memberPrice 字段
- 管理端活动详情验证 memberPrice
文章 (ab9f4a44 + 阅读时长功能):
- admin/articles/list 带 auditStatus 参数过滤
- 文章详情返回 readTime 字段
- /api/articles/record-read 上报阅读时长(需 childId)
- /api/share/qrcode 生成小程序码(855a8df5 分享改海报)
- /api/admin/articles/upload/image 端点存在性(598e7601 + c697fb7b )
测试结果:211 passed / 0 failed / 0 skipped(原 199 → +12 新增全通过)。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- VirtualPayService: effectiveAppKey() 按 virtual-pay-env 选择签名密钥,paySig/query_order pay_sig 统一切换
- VirtualPayController: 新增 GET /notify URL 验证端点(echostr 校验);POST /notify 增加微信签名校验(sha1(token+timestamp+nonce))防伪造推送
- tasks/rewards/home-pages/teacher 等非 TabBar 页面改用 navigateTo,修复 switchTab 无法跳转分包页的问题
- user-edit 登录后角色分流、家长/孩子端任务/奖励入口同步修复
mysql-internet-cn-north-1-23feae2268 .rds.jdcloud.com:3306,
库名 zxyj(与本地同名),账号 cfc/cfc@1314。
main 与 sfms 两段 datasource 同步切换(sfms 默认 enabled=false)。
{memberId, source: "family_member"},source 是 String,
Map 会导致 Jackson 反序列化失败。其他端点
(kick / editable / logs)不接收 source,保持 Map。
BadSqlGrammarException。直接赋值在两库均可用(MySQL 8 JSON 列接受
字符串时自动校验,MariaDB JSON 为 LONGTEXT 别名)。
- /api/share/qrcode 加入必登录清单,根因解决 anonymous 反复调 cgi-bin/token 导致全实例 token 失效
- ShareController.getQrCode 同步加 userId<=0 兜底校验(双保险)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- content 富文本内 /uploads/ 相对图片路径替换为完整 URL
- 后端 FileStorageService 存储相对路径,前端渲染时需拼接 baseURL
- ProductSkuEditor: 支持新建时暂存 SKU,商品创建后自动提交
- handleSave: 创建后更新 form.id,触发 SKU 编辑器 watch
- DatabaseInitializer 新增幂等迁移:target_mode (VARCHAR(20) DEFAULT 'aggregate') 与 target_value (INT DEFAULT 0)
- schema.sql 同步 family_challenge 表结构
- FamilyChallenge 实体新增 targetMode/targetValue 字段与 @TableField (exist=false) 的 totalProgress/memberProgress
- FamilyChallengeService 扩展 templates 数组为 8 列(添加目标列),重构 checkAndSettle() 按目标模式分支判定:
- aggregate:全体 progress 合计 ≥ target_value 即达标
- all_members:家庭内每个成员 progress ≥ target_value(无记录=0 判失败)
- 抽离 normalizeTarget() 实现旧数据向后兼容;fillProgress() 为 /list /history 填充总进度与成员进度
前端:
- FamilyChallengeCard 重写:双模式目标展示(aggregate=总进度条 X/Y;all_members=成员进度列表+达标✓),打卡上报入口(updateChallengeProgress({challengeId, childId, delta}) → $emit('updated'))
- parent-index 卡片传 :childId="currentChildId" + 监听 @updated ="loadFamilyInteraction"
- patch-node-compat.cjs:node v24 polyfill(util.isRegExp 等已被移除),构建时通过 NODE_OPTIONS="--require ./patch-node-compat.cjs" 注入
- 前端 ArticleEdit/ActivityEdit 的 published 不再进入 readonly
- 列表页 published 文章按钮由「查看」改为「编辑」
- 保存按钮文案与提示语按状态区分(保存修改/保存草稿)
避免 mounted 阶段编辑器实例已初始化导致配置不生效
- articles.vue: onSearchBlur 补齐闭合花括号、移除多余 }(e327a0ef 引入)
- 上报间隔 30000→10000,每10秒自动记录该用户已读时长
- 退出文章时 pauseReadingTimer 记录当时时长(保留原逻辑)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- WechatService: access_token 加缓存(TTL 7000s); 实现 msg_sec_check / img_sec_check
- MediaController: 上传图片/文本检测 (P0)
- AdminArticleController: 文章图片/标题/正文检测 (P1)
- HealthReportController: 健康报告图片上传检测 (P1)
- ServiceRoleApplicationController: 资质图片上传检测 (P1)
- 微信API异常时 fail-open 不阻塞上传; testMode 跳过检测
屏蔽选择AI助手功能
- ArticleEdit/ProductEdit/ActivityEdit: onSuccess 内拼接后端 baseURL 生成完整图片 URL
- 7 report packages by age group (A1/A2/B2/B3/B4/B5/B6, C1 excluded from retail)
- 4-tier pricing: single 699 / dual 1280 / triple 1860 / quadruple 2390
- Package combination rules per user spec (A2+B4 golden combo, +B3/B5/B6 for 3+ packs)
- WeChat native QR payment flow with plan selection modal
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
各调用页面已绑定 @articleClick =goArticleDetail/goDetail,直达详情
组件从 895 行精简至 519 行
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
改为 scroll-view 保持默认 block,内部 .bs-books-inner 用 inline-flex 横向排列
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 五维首页(index-home/body/wisdom/mind/wealth)与 action 页统一使用 DimensionProducts
- 统一商品跳转 goProductDetail/goMoreProducts,移除登录跳转冗余分支
- 修复 DimensionProducts 空态文案依赖 isLoggedIn 的逻辑
- 每屏固定3本,多余横向滑动,指示器按3本一组并随滚动高亮
- 骨架屏同步改为3个封面占位
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
wealth: 添加DimensionActivities, 添加loadDimensionActivities, 移除v-if
mind: ArticleBookshelf移到DimensionProductList之后, 移除v-if
统一顺序: DimensionActivities → DimensionProductList → ArticleBookshelf → RecommendedSection
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- specs/2026-07-31-compare-table-mobile-redesign.md: 饮水对比表格移动端轮播卡片设计
- PROJECT-OVERVIEW.md: 文档索引同步新增两条
- 路径已在 WebConfig JWT 白名单(/api/config/public/**),免登录访问
- mind/wisdom 商品推荐迁移至 DimensionProductList(支持未登录空态)
- body 移除商品推荐 v-if 登录守卫,组件内部处理未登录态
- DimensionProductList familyId 改为可选,无 familyId 时不请求接口展示引导文案
- wealth 页新增推荐阅读区块(未登录/已登录两区块)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
(domain / dimension_code) 进行维度匹配,导致配置了 dimension_weights
但未设置旧字段的商品/活动在推荐系统中被遗漏。
改为与 ProductService/ActivityService 一致的 JSON_EXTRACT + 旧字段
OR 回退模式,确保权重感知查询全面覆盖。
/api/admin/membership/upgrade-records (AdminController) existed.
Added /upgrade-records as an alias to the existing /records endpoint
in MembershipController, which returns the current user's upgrade
records with pagination.
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Revert "feat: 屏蔽在线开通会员功能,改为管理员后台设置"
- upgrade.vue: 替换为'暂不支持在线开通'提示页
- ProfileMenu: 导航从index改为benefits
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
book: 草稿同步成书稿人物设定(第三章朋友老李/小艾九岁、第四章朋友老周)+ 第五章全职妈妈身份/小然/张哥年龄修正(四十出头→五十多岁)+ 第十二章'幼儿园'改'学校'(草稿+成书稿同步)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
book: 补权威引用+人物一致性修复——第2/3/6/9/10/11章新增Maslow/WHO/Korelitz/Duhigg/Kluger/Ries等引用、附录新增参考文献总表(41条学术文献)、小茜→老李/老周人物改名、三岁→九岁年龄修正、第七章→第7章格式统一、章节标记全部主题化;策划方案新增'引用与数据策略'章节
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
book: 核实补正——Todorovic氢水研究限定'肥胖成年人'语境(正文+来源块)、第四章补Lepper 1973过度理由效应实验来源(草稿+成书稿同步)
book: 全书论点依据核实——魏高峡去名人化4处、无据断言修改(A级硬伤+B级补来源)、'优势溢出效应'改'扬长促短'(草稿+成书稿同步)
屏蔽小程序文章评论及AI问答功能
DatabaseInitializer 迁移141: 修正历史 dimension_weights 表 + 主表 JSON 列旧 code
ActivityController: 补 java.util.List 导入(遗留编译错误)
- DatabaseInitializer: add migrations 138-140 for tasks.dimension_code,
products.family_scope, activities.family_scope (were dead code in migration102)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
book: 合入「为什么是算法」主轴论述(第1章)并重新生成成书稿
- 收束金句:算法不是让你更快,是让你回家
- 第2章「为什么叫算法」节精简呼应,避免重复
- 成书稿.txt 同步重新生成(16章结构不变)
book: 书名定位升级为「一词三通」(宇宙因果×传统文化×AI)
- 竞品调研新增算法/逻辑方法类(人生算法、底层逻辑)与 AI×家庭类(2026 新兴赛道)
- 应对策略与结论同步更新:三块空白交汇处正是本书
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- @close /click内联赋值 → closePoster/closeQuiz/closeResult
- quizAnswers[qi]=... → selectQuizAnswer(qi,oi)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
book: 第三支柱'传承'改'代际传承'(三代链条:承接-活出-传递),育儿内容定位'焦点放回自己'——孩子是镜子验证自己成长,父母是预言验证孩子未来(序章/第1/2/3/6/7章/终章/附录/策划方案同步,成书稿重拼)
book: 第1章'教育'石头转'成长'(成人+育儿双视角),第8/9/10/12章加无孩适配注记,终章回顾同步
book: 全书定位从'育儿书'转为'个人成长书'——五维是每个人的成长维度,家庭是承载处(序章定位声明/传承支柱/身智两章重构/行四象限+与父母关系/心加非育儿场景/成书稿重拼)
wealth/index.vue: 移除全屏登录墙,未登录显示商品推荐+登录引导,登录后显示完整内容
book: 生成成书稿txt(序章→第十三章→终章→附录 全16章拼接)
book: 全书一致性修订——补全预告链/数据来源说明,规范引号与格式
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
商品详情: 保留 discover-detail/product-detail(已含 mp-html),删除 discover/product-detail(死代码,641行)
更新 15+ 个文件的引用路径
清理 pages.json 移除 discover-detail 子包中的 activity-detail 注册
由控制器自行决定返回公开数据还是要求登录。
解决小程序审核中预登录页面被强制要求登录的问题。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
删除 pages/mind-detail/article-detail.vue(功能不完整,无评论/阅读追踪)
更新 9 个文件的引用路径
移除 pages.json 中的旧注册
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Override via package.json forces 3.1.10 in the webpack-bundle-analyzer tree.
- 3个 article-detail.vue: rich-text → mp-html
- 2个 activity-detail.vue: 纯文本 → mp-html 渲染
- 2个 product-detail.vue: 纯文本 → mp-html 渲染
- family-dashboard.vue: rich-text → mp-html
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- uploadAndParseReport(): 失败/网络错误日志
- parseReportPreview(): 失败/网络错误日志
- danParsePreview(): 失败/网络错误日志
- langgraphRequest(): 不可达时打印URL后回退Dify
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- parent-index.vue: 移除 mounted 中强制跳转登录页的逻辑
- agreement.vue: 修改第2.1条「授权登录即视为注册」措辞
- 验证商品/活动/文章详情页无需登录可访问(后端公开路径已配置)
Merge: resolve conflicts on recommend system + service-role-apply APIs
- Resize SVG to 800x1280 to accommodate QR code section
- Replace text CTA button with actual QR code image
- Add '扫码了解更多' label above QR code
- Five dimension circles (身/智/富/行/心) with colors
- Project description, three pillars, core features
- CTA button and contact info
- Designed for web/sales/ directory
2. member-detail/report-detail.vue: 新建(pages.json已注册但文件缺失)
3. member-detail/service-role-apply.vue: 新建(pages.json已注册但文件缺失)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- ArticleService.getList() / getFeatured()
- ProductService.getProductPage()
- TaskService dimension filter
- ActivityService dimension filter
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
2. package.json: 升级vue-cli-plugin-uni到2.0.2-5010420260703001匹配7月版模板编译器
3. postinstall-fix.js: 新增templateLoader.js补丁,移除未定义的recyclableRender/components导出
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 方式 1(文件上传)虚线蓝框 + 蓝色基调 + 蓝色实心图标方块
- 方式 2(拍照上传)橙色边框 + 渐变橙色实心按钮(更醒目,即时操作)
- 顶部「方式 1/2」标签让用户明确二选一
- 保持 pickFile/takePhoto/selectedFile/photoPath/parsedInfo 逻辑不变
- 数据库初始化器同步上一轮的 report_summary 迁移(迁移 106)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- ContentSharePoster.vue: reusable canvas poster with cover/title/QR code/CTA
- product-detail, activity-detail, article-detail: add poster button + component
- api.js: add getShareQrCode(page, scene) helper
- DimensionWeightPicker: fix proportional redistribution to keep sum=100%
- action/index.vue: revert auto-select-first-child, only load when saved childId matches
- action/index.vue: tab-transition fallback timeout 5000ms -> 800ms
- ArticleEdit: add maxFileSize 5MB to upload config
- DatabaseInitializer: gate test data behind app.init-test-data flag
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- action/index.vue: first-load fallback to first child when no saved currentChildId
- action/index.vue: reduce tab-transition fallback timeout 5s -> 2s
- ProductSkuEditor.vue: formatSpecsForInput helper to prevent {} save bug
- DatabaseInitializer + schema.sql: sync migration
EnergyWeekCard, FunTaskItem, HealthCheckinCard, HealthDimensionsSection,
HealthLikeButton, HealthTips, MediaRecorder, OctopusGraph, PearlDiagram,
PointsProgressRing, RepurchaseReminder, SkeletonBlock, TaskItem/TaskReminder,
UserQuickEntry, WisdomTips; assessment/body/membership/parent/register-child/
wisdom_temp 等老旧页面; teacherGuard router
- index-home/index.vue: 游客视图商品卡片显示价格而非固定'登录查看'
避免 swiper autoplay 触发每次 re-render 时重复调用方法
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
改为 default: '' 避免警告
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
新增 dailyFortuneSafe / dominantElementSafe computed 属性做 fallback
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
loadDiscoverCircles: 增加 currentChildId 空值保护
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
新增 _parseDate 方法提前归一化为 iOS 兼容格式
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Add member_fee_family_yearly/monthly/quarterly sys_config keys
- Fix getPricingPlans() hardcoded zero prices for FAMILY monthly/quarterly
- feat(report): report summary management (backend/frontend/admin)
- exercise-mood-cognition.html: 4 screenshots (BMJ meta, hippocampus, gut diversity, gut RCT)
- puerarin.html: 3 screenshots (hangover, diabetes, brain protection)
- gut-microbiota-testing.html: 2 screenshots (HMP, dysbiosis->immune disease)
Screenshots in web/img/ref-screenshots/ are gitignored (kept locally only)
更新: LangGraph 前端集成/推广体系/富维度/辈分/文章系统/家庭会员/营养健康 状态
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 家庭成员选择条添加能量值显示
- 添加圈子卡片(我的圈子+发现推荐)
- 删除章鱼图和导入联系人弹窗
- 成员卡片显示能量分数
- 3.4 Logic consistency checklist: avoid "started last week" vs "3-month data" timeline contradiction
- 2.2.1 Five-dimension generation/restriction: row-birth-heart, knowledge-restrict-row, wealth-birth-row, row-restrict-body
- 2.2.2 Knowledge point requirement: each article must include at least 1 psychology/neuroscience mechanism
- 12 Shuangpei Qiangji knowledge base index: A2/B4 reports + public account history articles reference
- createOrder() 新增 PREMIUM 定价分支,年起 ¥13,168/月起 ¥1,314
- applyMemberDiscount() 新增 PREMIUM 折扣支持,从 sys_config member_discount_premium 读取
- 身(土): 🌏 globe with meridian and continent arcs
- 智(金): ⚡ lightning bolt shape
- 富(水): 💧 water drop with pointed top
- 行(木): 🌿 leaf with stem and veins
- 心(火): 🔥 flame with inner/outer layers
All 81x81px, gray (#999 ) normal + element color active.
and element-themed colors:
- 身(土): circle, orange #FF8C42
- 智(金): diamond, indigo #6366F1
- 富(水): water drop, amber #F59E0B
- 行(木): arrow up, emerald #10B981
- 心(火): heart, pink #FF6B9D
Normal = gray #999 , Active = element color
commit faedcc33 (temporary copies from tab-mind). The icons were
corrupted in commit ac6e7040 where they were saved as base64-encoded
text instead of binary PNG data.
Merge remote-tracking branch 'origin/cfclub'
- SeedsController: minor fix
- activity-detail pages: mobile experience upgrade
- web articles: SEO & content updates across 25+ pages
- CHANGELOG updates
- Add migration 105: ensure products.min_quantity column exists
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
sync: 小红书内容更新 + opencode运维脚本
base64-encoded text instead of binary PNG data, causing the
wisdom (智) tab icon to not display in WeChat mini-program.
- tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
- tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
Note: active icon decoded from truncated base64 (missing ~0.75 bytes
of final scanline, imperceptible at 50x50)
- 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
- 幂等执行: INSERT IGNORE 防止重复插入
- 已回滚 DatabaseInitializer.java 中的临时种子数据代码
等过强表述,改为炎症是多因素中的重要一环。
已修改:
- diabetes.html: meta + 尾部 CTA
- alzheimer.html: meta + og + hero + 因 section + 核心结论
- cardio-cerebro.html: meta + hero + 病 section + 因 section 标题 + 损伤链描述
- osteoporosis.html: 因 section intro + 核心证据框 + 主动健康五步
- metabolic-syndrome.html: meta + og + hero
- cancer.html: 新增免疫三大系统 section(之前未提交)
- gut-microbiota-testing.html: 菌株速查表迁移至 probiotics-science(之前未提交)
已有 DatabaseInitializer 迁移创建但 schema.sql 缺失,初始化时不会自动建表
(item.id || item.circleId),改为 getCircleKey(item) 方法调用。
pages/action/index.vue (2处) + pages/discover/circles.vue (2处)
同时更新 AGENTS.md / README.md 加入规范
会触发'Syntax error in text'解析错误。
修复两处:
- A6 节点:'⚙️ PDF解析引擎 (Stage 1)' → 包裹双引号
- A9 节点:'📱 创建成长档案 (Stage 2) /create-from-upload' → 包裹双引号
包裹引号后Mermaid将整个字符串视为字面文本,跳过括号解析。
rename: 三高六高 → 从三高到六高 (title, meta, h1, cross-references)
- Backend: HealthIndicator add collectionDate field + migration 103
- Backend: parsePreview supports image upload (type=image)
- Backend: createReport indicator dedup by (category|indicatorName)
- Backend: ParsedReportPayload.Indicator add collectionDate
- pages/discover/circles.vue: 新页面,含我的圈子+推荐列表、CircleCard/CircleDetail 组件复用、加入/退出功能
- action/index.vue: goDiscoverCircles 改为 navigateTo 跳转到新页面
web: add probiotics/prebiotics science articles + update sales index
- New: probiotics-science.html (益生菌科学解读)
- Update: prebiotics-guide.html — removed science sections, kept buying
content, added cross-links to new science article
- Update: probiotics-guide.html — removed definition section, kept buying
content, renumbered sections, added cross-links to new science article
- Update: sales/index.html — nutrition section now 3 articles:
turmeric + prebiotics-science + probiotics-science
- Fix: osteoporosis.html — updated citation ref-3 from Physiological
Reviews 2023 to Bone Research 2026 (Wang et al.), corrected image path
- cfc-frontend/pages/action/index.vue: 移除 OctopusGraph 组件, 新增「我的圈子+发现推荐」区块
- docs: 设计文档 + 实现计划
never actually executed inside runMigrations(), so the production DB
was missing the column. This adds the call at the end of runMigrations()
so it runs on next startup.
- sales/*: QR code ?share=xxx referral system on index + 3 sales pages
- articles/gut-microbiota-testing.html + metabolic-syndrome.html: new articles
- articles/*: various health article updates (alzheimer, cancer, cardio, diabetes, etc.)
- img/products/: 4 Enagic product images; img/cert/: certification images
- cfc-frontend: badge.vue 增加家庭勋章排行展示
- cfc-frontend: rewards.vue 增加勋章墙导航入口
- 节点形状按身份区分 (圆角矩形/圆形/菱形)
- 点自己跳转维护页 (原为添加成员)
- 触摸自身显示⚙提示
- child-index: 新增'自己出题'快速入口
后端 Java 实现:
- BacteriaFoodMapping: 菌属-食材映射表 KB,启动时加载 22 个核心菌属
- BeijingNutritionService: 推荐引擎,支持知识库和数据库两种模式
- BeijingNutritionController: 5 个 REST 端点 (save/recommend/recommend-custom/kb-query/kb-list/kb-info)
- BeijingNutritionDTO: 请求/响应 DTO
文档与知识库:
- 报告指标知识库: 从 14 类扩展至 28 类(GMHI/菌群表型/抗炎/免疫/糖脂代谢等)
- 菌属-食材映射表: 22 个核心菌属的促进/抑制食材清单 + 科学引用
- 北京报告采集框架: PDF 指纹识别 + 提取流水线架构设计
- FMT 前后对比分析文档: 移植前后菌群变化与营养建议
- 添加迁移完成后验证查询,通过information_schema确认列是否存在
- 若列缺失会在启动日志中打出error,替代原来静默忽略
fortune_level_text、fortune_description、mood_score、mood_emoji、
mood_text、weekly_tip列,对齐FamilyFortune实体。
修复MindFortuneController.getFamilyFortune()调用selectByFamilyAndDate
时报Unknown column 'fortune_level_text'错误。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Add unified auth helper (helpers/auth.js) supporting all 8 roles
- Add utils.js with API assertion utilities and fixtures.js test data factory
- Add db.js globalSetup for automatic database reset before test runs
- Update playwright.config.js: globalSetup, increased timeout, retries, screenshots/trace on failure, mobile viewport project
- Restructure tests into roles/ directory:
- roles/parent/: family-management, wish-management, assessment-order, energy-dashboard, points (5 files)
- roles/child/: login, daily-checkin, mini-games (3 files)
- roles/teacher/: login, family-binding (2 files)
- roles/admin/: login, article/workflow, vendor/management (3 files)
- Add design spec and implementation plan documents
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
matches SPEC color mapping: mind=#FF6B9D, wisdom=#6366F1
- ArticleService.publishByUser: compute dimensionWeights JSON
(equal distribution, e.g. 3 dims → {"body":34,"mind":33,"wisdom":33})
enables dimension-aware query (COALESCE(JSON_EXTRACT)) for user posts
- article-detail.vue: parseDimensions reads real weights from
article.dimensionWeights JSON, falls back to equal distribution
Also fixed mind/wisdom color mapping in dimMap to match SPEC
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- article-detail.vue: call recordArticleRead(id,durationSeconds) on 阅读完成 click
→ backend creates completed Task, awards points, calls EnergyService.awardEnergy
→ shows earned toast / already-completed / below-threshold feedback
- article-center/index.vue: fix res.code === 0 → 200 (backend Result.success = code 200)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- FamilyUserController, InteractionLogController
- RelationshipQuestionnaireController, FamilyMembersController
- RelationshipQualityController, AuthController
- DanAssessmentExecutionController (含 @GetMapping →@PostMapping 修复)
- AdminSettlementController: 修复Result导入路径+@PostMapping +删除重复SettlementStats
- pom.xml: 删除重复的PDFBox依赖
- Nav, Section, Grid-2, Card, Stat-Row systems
- Evidence-box, Ev-tag, Quote-block, List-styled
- Table, Step-flow, CTA, Button, Citation, Auth-badge
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
clean: remove deprecated turmeric_rewritten.html placeholder
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- enagic-turmeric.html: 新增Enagic UKON Sigma产品科普文章
- tap-water-pollution.html: 恢复未提交修改
- turmeric.html: 恢复未提交修改
- 销售文章(3篇): sales/tap-water/microplastic
- 慢性病系列(6篇): cancer/cardio-cerebro/diabetes/osteoporosis/alzheimer/uric-acid
- 肠道与免疫(4篇): gut-microbiome-immune + 3篇FAQ
- 饮水安全(2篇): tap-water-pollution/plastic-health
- 营养与抗炎(3篇): turmeric/enagic-turmeric/turmeric_rewritten
- 快速跳转导航条 + 各分类颜色编码卡片
- AGENTS.md更新目录结构,加入index.html
- cancer_ref_bicarb.png: 新增Cancer Res 2009截图(Robey),标注碳酸氢钠提高肿瘤pH/抑制自发转移/减少转移灶
- cancer_ref_molcancer.png: 新增Mol Cancer 2016截图(Faes),标注碳酸氢钠单药抑制54.4%/联合雷帕霉素98.3%
- cancer.html: 酸性微环境模块后插入两组证据框,链接临床转化意义声明
- 新增酸性肿瘤微环境模块: Warburg效应→pH6.5-6.8→免疫抑制/侵袭/耐药
- 连接还原水: 碱性电解水缓冲瘤内pH的辅助预防逻辑
- 姜黄素补充: NF-κB抑制机制+生物利用度限制+增效方案
- Step 3新增第⑦项: 酸碱平衡调控(还原水)
- 文章叙事链重构: 免疫监视失败→酸性土壤→炎症供能→肠漏源头→抗炎闭环
- 证据框引用更新: Sung 2020→Bray 2024, doi更新, 新增2050预测数据
- 免疫三大功能: 从简单列表升级为三栏卡片(免疫防御/自稳/监视), 每栏含机制+异常+癌症关联
- 新增三点核心结论(免疫监视失败=癌症)
- ref-5引用信息补全: 被引42,510次, 1/5患癌/1/9男1/12女数据
自来水文章截图替换+标注:4张源论文页面截图(ES&T/JEMA/Ecotox/IntJEnvironHealth)加红色标注框和中文翻译; Enagic pH档位更新为7档精准方案(2.5消毒~11.5去农残); 外出就餐新增消毒水建议; 修正ref-9引用期刊名
截图标注+翻译:7张心脑血管引用截图加红色标注框和中文翻译; 修复Frontiers引用作者名和DOI
- cancer.html: 4处证据块添加img.ref-shot引用截图
- diabetes.html: 4处证据块添加img.ref-shot引用截图
- osteoporosis.html: 3处证据块添加img.ref-shot引用截图
dimension-based color gradients, magazine spread overlay on tap
- Integrated into article-center/index.vue via getFeaturedArticles API
- Follows uni.scss design tokens, Vue 2 compatible (no optional chaining,
flexbox layout)
- goExplore() navigation stub to /pages/article-center/article-explore
- 768px 以下侧边栏折叠,汉堡按钮控制展开/收起
- 侧边栏以 fixed overlay 方式滑入/滑出,配合遮罩层
- 路由切换自动关闭移动端侧边栏
- window.resize 监听自动适配桌面/移动端
Login.vue:
- 480px 以下表单卡片全屏展示
全局 CSS:
- 移动端 padding 缩小,表格字号调小
- PROJECT-OVERVIEW v1.4 -> v1.6 冲突解决(取远程版本)
- 废弃设计文档同步移至 backup/
- Phase 3/4 状态修正:文章系统已上线,成长档案已完成
- 文章发布审核工作流、维度知识库、菌群报告 -> ✅ 已实施
- 家庭关系图修复 -> ✅ 已修复
- 公众号内容发布Dify工作流 -> 🔄 已废弃
- 确定性PPT设计 -> 移至 backup/
- 之前声明为已废弃但未物理移动的10个文件 -> 同步移至 backup/
优化DAN测评流程
- diabetes.html: 4个 ref-shot → evidence-inline引用块
- osteoporosis.html: 3个 ref-shot → evidence-inline引用块+CSS
- footer.js: 增加子目录路径自适应,logo和链接自动添加../前缀
新增规范
schema.sql: 补充 product_skus 建表语句(含 min_quantity 列)
DatabaseInitializer: runMigration101() 定义(添加 min_quantity 列)
ProductOrderService.createMultiItem(): SKU 级别最小购买数量校验
- geo-faq-2-attention: 7条引用(血清素/肠脑轴/ADHD菌群/人工色素等)
- geo-faq-3-immunity: 5条引用(益生菌/维生素D/儿童感冒次数等)
- sales: 添加科普文章交叉链接
- 所有nav链接修复为正确的相对路径(../index.html)
导致.site-footer无样式渲染。补充完整footer CSS适配各文章配色:
- 使用 var(--bg-dark, #1a1a3a) 确保 footer 背景自动适配已定义--bg-dark的文章
- 使用 var(--accent, #27ae60) 保持 hover/logo-tag 色与文章主题一致
- 全文覆盖:.site-footer, .footer-inner, .footer-brand, .footer-links,
.footer-col, .footer-contact, .footer-bottom, .footer-logo-img, .footer-legal
受影响文件:uric-acid, plastic-health, diabetes, cancer, cardio-cerebro,
tap-water-pollution, turmeric, osteoporosis
geo-faq三个文章已链接主站../css/style.css,无需内嵌footer样式。
- pages/index-home/index.vue (main package TabBar home page)
- pages/home-pages/ (subpackage for parent-index, child-index, member-home-detail)
- Update all navigation URLs to use correct paths
- Fix /pages/home-index/index -> /pages/index-home/index across 19 files
- 页脚样式:补充完整的 .site-footer CSS 样式(配色适配文章暗色调)
- 参考文献:11篇全部添加 DOI 超链接(CANTOS/Lancet/NEJM/Nature/Cell/Science/PNAS/JAMA)
- 证据截图:新增3处 evidence-inline 截图证明(小胶质细胞双面角色/CANTOS抗炎证据/富氢水神经保护)
- 修正参考文献作者信息(TREM2: Guerreiro 2013 NEJM, Lecanemab: van Dyck 2023 NEJM, DAM: Keren-Shaul 2017 Cell 等)
corrupting Chinese characters in 230+ files, causing Unterminated string errors.
- Restore all files from e8fd4d05 ~1 (pre-corruption) via git checkout
- Re-apply directory rename (pages/index -> pages/home)
- Re-apply path replacements using Python with explicit UTF-8 encoding
- Fix tab icon references (tab-home -> tab-action) in custom-tab-bar
- Fix historical encoding issue in pages/games/1a2b.vue (pre-existing garbled text)
- Clean up duplicate pages/home/index/ directory created by git checkout
- alzheimer.html: alzheimer_ref1.png → gut-microbiome-damage.jpg (替换不存在的截图)
调用 health_butler_graph,支持知识库检索+个性化建议+任务生成
- cfc-frontend: 新增 aiSendHealthButlerMessage() (api.js)
输入 childId/familyId,传给 LangGraph /health/butler 端点
- cfc-frontend: mode='butler' 完整支持 chat.vue
isButler computed / 导航标题 / 欢迎语+3个快速问题 / 🏥头像 / sendMessage分支
- cfc-frontend: 身体页功能列表新增「🏥 健康管家」入口
导航到 /pages/ai/chat?mode=butler&fromPage=pages/body/index
- 新建 health_butler_graph.py (322行): Java KB集成的健康管家图
(load_knowledge → search_knowledge → llm_answer → save_memory)
查询 Java 健康知识库(bacteria/indicator/food)注入 LLM 上下文
- 修复 health_coach_graph.py: HEALTH_BUTLER_PROMPT → HEALTH_COACH_PROMPT
- 修复 chat.vue: aiSendHealthButlerMessage → aiSendHealthCoachMessage
- 修复 AIFloatingAvatar.vue: 从身/智/心页面自动传递 mode=health
确保健康维度页面进入 AI 聊天时使用健康教练模式
- 同步 PROJECT-OVERVIEW.md 远程更新(Phase 4/健康7维)
- Update pages.json: TabBar pagePath, main pages array, and subPackages root
- Fix custom-tab-bar page paths and icon filenames (tab-home -> tab-action)
- Update all Vue file navigation URLs from /pages/index/... to /pages/home/...
- Tasks 1-4, 6-10: ✅ 全部完成 (标记 [x] + evidence)
- Task 5: ⚠️ 基础完成(缺专用 health_butler_graph.py)
- Tasks 11-13: ⏳ Phase 4 计划级未实施
- Scope/Success criteria 同步更新
to subpackages (pages/index, pages/login, pages/share, pages/profile)
- index/index.vue: remove static import of ParentIndex/ChildIndex, redirect
authenticated users via redirectTo instead of rendering as sub-components
- AGENTS.md: document subpackage structure (45 subpackages)
- api.js: add console.log for /api/auth requests for debugging
- family/add-member.vue: minor fix
langgraph调整,.env 文件我没上传
- 新增 turmeric.html (姜黄/黄原糖健康科普)
代码修复
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
修正tap-water-pollution.html图片引用:.png→.jpg,配合已压缩的截图文件
优化tap-water-pollution.html:压缩截图为高质量JPG并修正引用路径;保留Enagic SVG
- 修正HTML图片引用:.png/.svg → .jpg(农药残留/DBPs/氯消毒机制/EDCs/抗生素ARGs/肠道菌群)
- 保留Enagic还原水对比图为SVG矢量图
web/sales: 新建销售目录,移动sales.html,新增微塑料和自来水污染销售页
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- v1.3 → v1.4, 状态行更新
- §3.1: 主动健康六阶 🚧→✅(P0-P2-1完成); 营养缺陷修复 🟡→✅
- §3.2: DAN测评结果展示 🟡→✅
- §4.1: 公众号内容发布(Dify) ❌取消(LangGraph取代)
- §5.1: 维度知识库 🟡待实施→✅已实施
- §8: 维度页面缺口 P1+2✅, 营养健康✅
- §10: 6个spec/plan状态同步更新
- §11: 删除重复行
新增规范
新增规范
language as the energy sandbox (wuxing-sandbox) dots:
行🌿 身🌏 智⚡ 心🔥 富💧
the energy sandbox (wuxing-sandbox) visual language:
行(wood/leaf) 身(earth/mountain) 智(metal/diamond) 心(fire/flame) 富(water/drop)
- Use dimension colors from the sandbox palette for active state,
gray for inactive state
- Remove old tab-home icons (replaced by tab-action)
- Update pages.json to reference new tab-action filenames
redirect converting POST to GET
- RecommendedFeed.vue: template 'items'→'displayItems' (undefined
computed ref)
- parent-index.vue: add .catch() to getFamilyRanking/getChallengeList
to prevent unhandled Promise rejections
新增规范
type list (family/friend/partner/colleague/other), matching backend removal of
/relationship-types endpoint and relationship_types table.
v4 alone had remove-scoped.js crash on empty selector (spaces access).
- Keep @vue /cli-service ~4.5.0, postcss 7.0.39 pinned
- Add postinstall-fix.js to patch remove-scoped.js selector.first guard
- Add node-sass as devDependency (needed by uni-app sass-loader)
- Restore .postcssrc.js, postcss.config.js, vue.config.js
- Document build constraints in AGENTS.md
导致 webpack-uni-mp-loader/script.js 编译失败。
- 正确闭合 loadAlerts 的 .then() 链
- 将 dismissAlert 调用抽出为独立的 handleDismissAlert(alertId) 方法
added postcss:^8.4.49 as a direct dependency, causing remove-scoped.js
(Cannot read properties of undefined (reading 'spaces')) crash.
- @vue /cli-service ^4.5.19 -> ^5.0.9
- copy-webpack-plugin ^5.1.2 -> ^14.0.0
- Remove .postcssrc.js, postcss.config.js, vue.config.js
- Remove postcss from dependencies (v5 brings its own)
- Remove postcss/postcss-selector-parser from overrides
- 删除 RelationshipPicker.vue: 已被 GenerationPicker.vue 替代
- @vue /cli-plugin-babel: ~4.5.0 → ^5.0.9
- copy-webpack-plugin: ^5.1.2 → ^14.0.0
- @babel /core/preset-env: ^7.16.0 → ^7.29.7
- Remove override @vue /babel-plugin-resolve-type@1.0.0 (does not exist on npm)
Root cause: downgrade to @vue /cli-service v4 in 6a4d0496 triggered
remove-scoped.js crash in WeChat DevTools build pipeline.
- 创建 WealthSubScores.vue 组件展示富维度三子维度详情(家长/孩子角色感礁)
- 更新 wealth/index.vue: 导入两个新组件 + data添加bodyWealthStatus/Message字段 + API加载逻辑
- 修复 DatabaseInitializer.java: runMigration100方法缺少闭合括号导致编译失败
TASK-P0-002 前端实施完成,后端EnergyService子维度计算已由先前提交完成
优化自来水污染科普文章:新增农药残留和氯消毒副产物章节,突出Enagic还原水机方案
- 新增Section: 农药残留(46种农药频繁检出,拟除虫菊酯首次在自来水中确认)
- 新增Section: 氯消毒副产物DBPs(Liu et al. Nature Sustainability 2022 膀胱癌关联)
- 新增Section: Enagic还原水机(ISO 13485认证、五种功能水、科学依据与临床证据)
- 新增Sticky TOC导航、数据表格、引用卡片网格、对比表格
- 更新参考文献至25条(新增农药/DBPs/Enagic相关引用)
- 添加截图占位区域(用户替换为实际截图)
content(D2-D3): 智维度专注力俊辰案例 + 富维度记账破洞 + 知识库索引
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
web: 更新knowledge.html和sitemap.xml适配articles/目录结构
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
web/articles: 移动疾病科普六篇到articles/子目录
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
web/articles: 移动geo-faq三篇及尿酸文章到articles/子目录
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
web/articles/tap-water-pollution.html: 自来水中的隐形威胁
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- B类4项+ C类4项重新分Phase(Phase 2-4)
- 新增 comprehensive implementation plan (13 tasks across 3 phases)
- 阶段总览更新:Phase 2=商业模式&AI落地, Phase 3=五维增强, Phase 4=平台扩展
1、用户预约测评后,小程序端可以看到规划师
1、用户预约测评后,小程序端可以看到规划师
web/knowledge.html: swap side panel directions per request
1、优化管理端前端的分页异常问题 2、用户预约测评后,管理端分配规划师
web/knowledge.html: >> in header, side panel for hidden articles, fix layout
- 状态行更新: P0/P1-1/P1-2/P2-1 全部 ✅ 完成
- 矩阵新增状态列
- 新增 HealthScoreService 积分计算引擎
- 新增 HealthLevelService 等级判定+种子数据自动插入
- 新增 HealthTimelineService 时间线事件生成(里程碑/升级/首次)
- 新增 HealthScoreController+HealthTimelineController
- 数据库迁移 105/106 (health_level+health_timeline_event)
- 前端 HealthBadge + HealthTimeline 组件
- 前端 store/health-score.js + api.js 端点集成
- profile.vue 展示等级称号+进度条+时间线
- 重写 osteoporosis.html(骨质疏松):慢性炎症+肠-骨轴+RANKL/OPG机制
- 增强 cancer.html:症压缩证据盒+免疫三大功能+肠-癌轴
- 更新 knowledge.html:将 alzheimer.html 接入成长百科(身维度)
文章核心框架:症压缩 → 慢性炎症统一病因 → 抗炎干预(菌群+富氢水)
启动报错修复
- 保存路径:uploads/json-results/{timestamp}_result.json
- 每次调用 POST /api/health/report/parse-preview 时自动保存
- 使用 Jackson ObjectMapper 格式化输出 JSON
- 日志中记录保存的文件路径和关键信息摘要
- 不影响主要流程,保存失败仅记录警告
- 数据库: schema.sql + DatabaseInitializer migration 104 (health_alerts表)
- 前端: HealthAlertBanner横幅组件 + store/health-alert.js + parent-index集成
- 6条预警规则: 睡眠下降/无运动/饮水少/运动过强/7天无打卡/今日未打卡
- 去重机制: 同一规则24h内不重复生成
- 严重程度排序: high > medium > low,最多展示2条
- 数据库: schema.sql + DatabaseInitializer migration 103
- 前端: FeedbackToast, MilestoneCelebration, DailySummary 组件
- 预设文案引擎: 12 场景触发 + 里程碑判定
- Vuex 反馈状态模块 + parent-index 集成
- 微行动完成后自动触发即时反馈
web/knowledge.html: Fix title padding (margin-top), add disease articles, wealth marker right->65%
web: Fix 浠艾福 typo(爱→艾), fix knowledge.html title padding, shift markers up 10%, max-3 articles with >> reveal
- PROJECT-OVERVIEW.md v1.1→v1.2: 新增 Phase 5 阶段、3.1 身 条目、十 文档索引、十一 主动健康改进章节
- AGENTS.md: 新增变更追踪规则 — superpowers/ 下文件增删改必须同步 PROJECT-OVERVIEW.md
web: Fix footer typo 浐色福→浠艾福, remove 成长百科 column; Fix knowledge.html title obscured by fixed header
web/diabetes.html: Fix missing shared footer placeholder
web: 全站统一 footer 为共享组件 js/footer.js,移除各页面自定义 footer CSS
- 人体五部位对应五维: 肠→身, 脑→智, 心→心, 手→富, 脚→行
- Desktop: 人体图四周浮动标注卡片,连接圆点指向对应身体部位
- Mobile: 顶部5标签切换(身·智·富·行·心),点击显示文章列表
- 替换所有'亿图腾(北京)科技有限公司'→'浠艾福主动健康研究院'
- 新增100vh单页布局(overflow:hidden),无滚动
- 单人剪影+群组剪影作为装饰性页面背景(低透明度)
- Desktop: 5维卡片水平排列,各维度文章链接直接可见
- Mobile: 顶部5标签切换(身·智·富·行·心),点击显示对应文章
- 所有文章数据及标签切换逻辑由内联JS驱动
- web/css/style.css: 新增知识页面全套响应式样式(k-hero/k-dim-section/k-article-grid)
- 全站添加 Microsoft Clarity 用户行为分析脚本(FAQ 3 篇 + sales.html + knowledge.html)
- 导航与 footer 链接统一指向 knowledge.html
- index.html 知识区新增" 进入成长百科 →\按钮
- 小红书发布/内容方法论-六阶模型.md: 主动健康六阶模型 × 五维映射方法论
- 小红书发布/发布日历.md: 30天日均内容矩阵 (身→智→富→行→心 五天循环)
- 小红书内容/: 4篇正式稿+指南+速查卡
- 小红书发布计划.md / 发布数据复盘清单.md
- 自然暖色调抽象家庭插画:屋顶/成长树/太阳/彩虹弧/家庭剪影
- 右侧留白用于文字叠加
- .hero-bg 更新为引用真实图片而非 SVG
- 包含:屋顶/成长树/太阳/彩虹弧/家庭五人剪影/心形/草地祥云
- 暖色调大地色系(棕#C4956A / 浅绿#8DB48E / 淡黄#F5D89A / 蓝#A8D4E6)
- .hero-bg 加 SVG 背景图 + 左侧渐变遮罩确保文字可读性
Phase 1 completion (5 items), Phase 2 launch (4 items), 6 tech debt items,
4-sprint timeline with dependencies and risk analysis
- Updated PROJECT-OVERVIEW.md: 12 completed features corrected from
🚧/🟡 to ✅ based on code verification (profile redesign, action pages,
pre-login experience, emotion check-in, article center, flora report,
membership frontend, family graph, member detail sections, mind dual-tab,
parent homepage, homepage overhaul)
uric-acid.html: rename title to 高尿酸的先天性与后天性
index.html: 主动健康概念卡片改为五维语言——被动健康是五维内部消耗(前半生用健康换财富,后半生用财富换健康),主动健康是五维持续增长
index.html: 主动健康概念专章改为双栏对比——被动消耗财富 vs 主动创造财富
- 右栏:主动健康(🌱)→ 提前规避→创造财富→健康即最大资产增值
- 保留五维闭环流程图于底部
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
index.html: 新增主动健康概念专章 + 家庭成长闭环按主动健康思路重写
- 家庭成长闭环4步重写:提前识别→风险管控→主动干预→效果评估
index.html: 将积分奖励激励替换为有序支出、规划传承
index.html: 全站整合「主动健康」理念
- About 描述首位加入:主动健康为核心
- 五维能量 section subtitle 增加:主动健康 · 五大能量维度
- 五维能量 section desc 首句加入:主动健康理念贯穿五维——不等病来,主动管理
- JSON-LD FAQ「浠艾福是什么平台」答案首句加入主动健康理念
- JSON-LD FAQ「什么是五维能量体系」重构为以主动健康为核心的定义
网站去亿图腾化:全面替换为浠艾福主动健康学院,更新备案号为京ICP备14061870号-5
- 页脚版权信息、About版块、JSON-LD组织名称 均更新
- 移除 keywords 中亿图腾
- 4个HTML文件全部更新:index.html, geo-faq-1-allergy.html, geo-faq-2-attention.html, geo-faq-3-immunity.html
index.html: 成长百科新增微塑料与健康、尿酸高的成因与调节两篇文章链接
uric-acid.html: 添加8处内联文献证据截图(带高亮注释+中文翻译),移除参考文献列表截图显示
- 概述、转运体、肠道菌群、SCFA、益生菌、EAW、富氢水、运动8个关键段落各添加1处带红色虚线高亮框的截图证据
- 每处证据盒包含:高亮内容原文 + 中文翻译 + DOI链接
- 12个参考文献卡片中移除截图直接显示,仅保留权威性标签+翻译+链接
- 更新图4为新生成的痛风发病机理图(diagram_4_en.png)
- 新增图1-3英文版机制图(diagram_1/2/3_en.png)
- 删除临时文件 .tmp_snapshot_ref3.txt
- 降级 @vue /compiler-sfc 到 2.7.16 确保 HBuilderX 兼容
- 添加 postcss-import、postcss-url、autoprefixer 配置
- 添加 fix-hbuilderx-scoped.js 和 fix-postcss.sh 自动化修复脚本
- 回退 Babel 和 Vue CLI 版本到兼容的 4.x 系列
- 优化小程序样式 scoped 问题修复工具
- 修复组件编译警告和问题:
* ActionArticleRecommend.vue
* HealthDimensionsSection.vue
* RecommendedFeed.vue
* mind-section.vue
* health 相关页面
* payment.vue (移除 scoped)
* child-index.vue
* index.vue
- 优化 Python LangGraph 记忆和检索逻辑
- Downgrade 2 features to ⚠️ (e-commerce shop_ tables missing, promotion frontend missing)
- Mark langgraph-requirements-summary.md as ⚠️ file missing
- Version bump v1.0 → v1.1
- AI Sidecar: 🟡->🚧 (AiGateway+5% done, sidecar dir ready)
- Generation model: 🟡->🚧 (GenerationLevel.java introduced)
- Wealth dimension: 🟡->🚧 (EnergyService v2.1 done)
- First login: 🟡->🚧 (login.vue modified)
- Flora report: 🟡->🚧 (gut-flora-detail.vue modified)
- Article center: 🟡->🚧 (4 pages: index/detail/edit/my-posts)
- Family membership: 🟡->🚧 (MemberSubscriptionService done)
- Section 10 spec/plan index: 8 entries synced accordingly
- AI Sidecar: 🟡→🚧 (AiGateway+5% done, sidecar dir ready)
- Generation model: 🟡→🚧 (GenerationLevel.java introduced)
- Wealth dimension: 🟡→🚧 (EnergyService v2.1 done)
- First login: 🟡→🚧 (login.vue modified)
- Flora report: 🟡→🚧 (gut-flora-detail.vue modified)
- Article center: 🟡→🚧 (4 pages: index/detail/edit/my-posts)
- Family membership: 🟡→🚧 (MemberSubscriptionService done)
- Section 10 spec/plan index: 8 entries synced accordingly
使静态图标 PNG 能被正确追踪
- Add tab-wisdom.png / tab-wisdom-active.png (placeholder from tab-mind)
Fix TabBar compile error: 'tab-wisdom.png' not found
web(plastic-health): replace 亿图腾→浠艾福, add Clarity, fix two-col mobile responsive
- 移除 ProfileStats(行动/财富数据,归属富页面)
- ProfileMenu.vue 新增 showServices prop,我的页面隐藏"服务"板块(会员/订单/售后等归富页面)
- 保留:ProfileHeader / ProfileGrowth / ProfileBadges / 个人+设置菜单
- application.yml: 新增 python.* 配置项
- RecommendationController: 5% 流量走 Python,异常自动 fallback
- models/: 请求/响应 Pydantic 模型
- rag/: ChromaDB + Embedding + 混合检索 (BM25+向量)
- tools/: JavaClient HTTP 封装 + product_tools (3 个 @tool )
- graphs/recommend_graph.py: RecommendAgent (LLM + Tool Calling)
- api/recommend.py: POST /api/v1/recommend 端点
- main.py: 注册路由 + startup/shutdown 钩子
- FastAPI app skeleton with /health endpoint
- Dockerfile, .env.example, .gitignore
- Fix root .gitignore *.py exclusion for cfc-langgraph/
uni-app 编译器能正确生成 wx:key="id"
- placeholder 文章占位卡片的 :key="'ph-'+i" 已改为 :key="i"
instead of first occurrence on page 1 summary; 566 chars (was 300)
- 肠道年龄评估: now captures full gut age (page 12) + flora assessment
(pages 13-14, 菌群平衡/菌群多样性); 1938 chars (was 500)
- Removed hard-coded [:500] and [:300] truncation limits
- Proper end-marker detection using 菌群构成层级/菌群详细构成
web(plastic-health): optimize screenshot sizes for faster loading
web(plastic-health): add ref-22 WWF weekly 5g intake citation
修复前端分页问题
web(plastic-health): add screenshot links to all 21 citation cards, fix ref-7/ref-12 metadata
- Fix ref-7 journal name: Nutrients -> Antioxidants
- Fix ref-12 DOI: 108319 -> 108353
- Retake ref-21 without cookie popup
- Add translation overlays: ref-13 (Chinese), ref-19 (English)
修复小程序运行不起来问题
分配规划师
分配规划师
缺少 SQL 绑定,既无 XML 映射文件也无 @Select 注解。
修复 TypeError: Cannot read properties of undefined (reading 'length')
及由此引发的 WeChat FLOW_DEPTH 渲染层错误
- cfc-web/.env.production: VUE_APP_BASE_API= → /admin,
修复 env 缺失导致 baseURL 显示 ? 的问题
- JwtInterceptor.java: 两处 401 写入前添加
response.setContentType(application/json; charset=utf-8),
修复后端拒绝返回时前端 axios 无法解析 message 导致提示显示 ?
- 配套补: FamilyMemberCard/Strip 组件、action/body/mind/parent-index 页面逻辑完善
web(plastic-health): add authoritative descriptions to all 21 references
- ref 2/4/5/7/9/10/11/12/13/14/15/20/21: journal + publisher + SCI tier
- ref 3: news media context
- ref 19: institutional + professor affiliation
web(plastic-health): enrich references with journal names and add container guide
ref-11: Antioxidants, ref-12: Environment International, ref-13: Nature Medicine
- Add ref-20 (ANSES glass cap paint) and ref-21 (Heliyon container comparison)
- Replace tip cards container section with safety ranking guide
- Re-take NEJM screenshot without cookie popup
填写预约报告表单
web(plastic-health): remove boiling water option from protect section
- Renumbered 方案三(电解还原水机)→ 方案二
- Keep 方案一 as 更换饮水容器 (tip grid)
web(plastic-health): add antibiotics/pesticides/hormones row and correct boiling limitation
removal across all 4 water solutions
- Updated tap water conclusion: acknowledge boiling cannot
remove chemical contaminants (antibiotics, pesticides,
contraceptive drugs)
- Updated office tips: recommend activated carbon filter
before boiling as supplement
web(plastic-health): consolidate 4 water solutions into one comparison table
a single 5-column table covering 8 dimensions: microplastics,
minerals, BPA/plasticizers, secondary contamination, antioxidant
benefits, obesity/anxiety risk, cost, and overall rating.
- 桶装水/瓶装水 | 自来水(烧开后) | RO反渗透纯水机 | 电解还原水机
- Color-coded cells for quick visual comparison
- Two conclusion boxes: tap water as budget choice, electrolyzed
reduced water as optimal upgrade
web(plastic-health): add 3 factual logic points - obesity/anxiety from barreled water, tap vs RO comparison, electrolyzed reduced water as optimal
triggering metabolic disorders and gut-brain axis anxiety
2. Tap vs RO comparison table: WHO warns against long-term
demineralized water; boiled tap water retains minerals
3. Electrolyzed reduced water as optimal solution: multi-stage
filtration + antioxidant hydrogen water + retained minerals
4. New references [14]-[19] for all three additions
web(plastic-health): add 4 evidence screenshots with Chinese annotations for office water risk factors
- ref-hot-water-antimony.png: 70°C高温锑/BPA释放 对应风险②高温加热
- ref-heat-sunlight.png: UV/高温加速降解 对应风险③存放暴晒
- ref-ohio-state.png: 瓶装水塑料为自来水2-3倍 对应风险④密封垫磨损
Each English-page screenshot includes injected Chinese translation annotations.
填写预约报告表单
- 使用紫粉渐变背景匹配心维度色系
- 保留报告列表功能,统一色调
- 10个内容章节:概述→定义→办公室水源→进入路径→5大危害→研究里程碑→对比表→防护方案
- 每条结论均标注引用文献链接
- 嵌入5张研究来源截图(ScienceDaily/WHO/NEJM/PNAS/科普中国)
- 响应式设计,匹配官网设计系统
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Apply normalization at both init (buildIndexes) and lookup time
- Remove duplicate Kangxi radical entries from JSON (now handled by code)
- Belt-and-suspenders: data + code both normalize
to 菌属功能库 (genera 88 -> 92)
- Add U+2ED4 Kangxi radical variants of 幽门螺杆菌 and 沙门氏菌
for matching extracted report data
- Verified on 556168709-mi.pdf: match rate 98% (176/179)
- Genus: 52/53 (Prevotellamassilia now added)
- Species: 43/45 (CAG unclassified only)
- Disease risks: 10/10 (100%)
- Other indicators: 71/71 (100%)
直接跳过自动登录,避免后端不可达时触发 WeChat SDK
SystemError timeout。
改为按分原样传参 amount,与全局金额格式化约定保持一致。
- 修复空状态条件引用不存在的 indicatorGroups,改为 indicators.length
to wx:key. Changed to :key="i" which compiles to wx:key="*this",
eliminating the WXML runtime warning.
填写预约报告表单
填写预约报告表单
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- AIChatController [TASK]标记解析集成
- FamilyContextService任务上下文注入
- chat.vue任务卡片渲染+报告解读模式
- 阅读卡片改为今日能量文并重新设计(深色渐变/辉光)
- 体检/菌群报告详情页AI解读FAB入口
- 富页面模式切换+profile返回入口
- Update showKnowledge() to query v3 KB first (偏高影响/偏低影响/调整建议)
- Fall back to old queryKnowledgeBase('disease', ...) when v3 returns nothing
- Follows same pattern as gut-flora-detail.vue and gut-flora-species-detail.vue
All 4 gut-flora report pages now use KB v3 with fallback.
- .gitignore: add .env.production
- git rm --cached .env.production (keep on disk)
Environment-specific configs should not be tracked in git.
(auth.js URLs start with /api/, so baseURL=api caused axios to emit
api/api/... → browser resolves to /admin/api/api/..., backend returns 405)
- Login.vue: → src="logo.png" (relative,
resolves correctly under /admin/ subpath)
- public/logo.png: added (copied from web/logo.png)
- .gitignore: add !cfc-web/public/logo.png exception
- Added 3 missing genera: Coprobacter, Paraprevotella, Parasutterella
- Verified: 50/55 genera match KB directly, 41/43 species match via genus backoff
- extract_full_report_v5.py: normalize_output() - 字段统一/冗余删除/菌属名称清洗
- 字段拆分清单.md: personal data vs knowledge base 边界定义
- 设计规格: docs/superpowers/specs/2026-07-19-knowledge-base-v3-data-refactor.md
- 验证输出: 547982403.json, 朱评估报告.json 新格式确认
parameter - it's resolved internally via MembershipService.
Add @MockBean MembershipService and update call sites.
no interceptor sets familyId as a request attribute → Spring 400 error.
@RequestAttribute ("userId") + membershipService.getUserFamilyId(userId)
Affected controllers:
- MindFortuneController (getTodayFortune, refreshFortune, exportFortuneReport)
- PackagePaymentController (createOrder)
- MarketController (purchasePackage, getMyPlans)
- BindController (acceptBind, getBoundGuides, unbind)
- Add recommendedProducts/loadingProducts data states
- Implement loadRecommendProducts method with REPORT_DOMAIN_MAP
- Add goToProduct and formatPriceWithSymbol utility methods
- Insert horizontal scrollable purchase card section below type selector
- Add scoped styles for purchase recommendation section
Merge remote-tracking branch 'origin/cfclub' for upstream changes
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
导致生产环境 405 Method Not Allowed 错误。
修复范围:
• 用户: updateUser/deleteUser — 方法+URL 修正
• 家庭: updateFamily/deleteFamily — 方法+URL 修正
• 孩子: updateChild/deleteChild — 方法+URL 修正
• 任务模板: updateTaskTemplate/deleteTaskTemplate — 方法+URL 修正
• 奖励模板: updateRewardTemplate/deleteRewardTemplate — 方法+URL 修正
• 系统配置: deleteSysConfig — 方法修正
• 教师任务模板: deleteTeacherTaskTemplate — 方法+URL 修正
• 心愿: setWishPrice/rejectWish/approveWishExchange/markWishFulfilled — 方法修正
• 心愿: deleteWish — 方法+URL 修正 (/api/wishes/{id}→/cancel)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
• AssessmentReportController: upload() → store()
• DanReportUploadService: upload() → store()
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
• FileStorageService: 增加 delete() 方法用于删除已上传文件
• WebConfig: addResourceHandler 使用 upload.base-dir 替代 System.getProperty
• application.yml: 添加 upload.base-dir 和 upload.allowed-types 配置
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Fix regex patterns for abundance, normal range, population level
- Add inline fallback for missing disease risks, amino acids, barrier/scfa/nt
- Fix overview extraction for gut age, health score details
- DanReportParseService.parseB5Report(): 新增compassImage参数 + 第7步图像分析
- 新增常量: B5_QUAD_ANGLES/FACTORS/SUB_DIMS + B5_CENTER坐标
- 新增方法: extractB5CompassImage(PDDocument) — PDFBox提取PNG→BufferedImage
- 新增方法: measureFillAtAngle() — 沿角度射线逐像素扫描填充半径
- 新增方法: extractB5CompassScores() — 动态校准因子 + 19子维度分数映射
- parseText(): 新增两参数重载(public) + 三参数版本(private)
- 图像提取失败不影响文本数据(log.warn静默降级)
算法: 从r=150扫描跳过中心色块, 25px间隙容忍跨越环线,
每象限角度范围等分→子维度射线±2°偏移→平均fill×校准因子→1-5分
测试: 37 tests run, 0 failures
- HealthKnowledgeBaseService: listAll/save/updateById/removeById
- HealthKnowledgeBaseController: /list /add /update /delete
- cfc-web/views/admin/health-knowledge.vue: 列表+筛选+新增/编辑/删除/导入
- router: 注册 /health-knowledge,Layout 侧边栏 知识中心 下新增菜单
Wave 3: 迁移DAN报告解析 B5(adolescent) Python→Java — 全部完成
Wave 1: A1(认知/cognition) + B3(学习/learning) — 6维认知 + 执行功能/学习动机/策略
Wave 2: B2(行为/behavior) + B6(职业/career) + C1(校园/campus)
— 自我概念/行为/家庭环境 + Holland兴趣/多元智能/价值观 + 复用A1+A2+B4逻辑
Wave 3: B5(青春期/adolescent)
— 情绪调节2维/学业压力5维/人际关系4维/社交5维/睡眠/运动/网络 (文本部分)
DanReportParseService 现已覆盖全部8种DAN报告类型解析:
A1(cognition) A2(mind) A2(heart) B2(behavior) B3(learning) B4(wisdom) B5(adolescent) B6(career) C1(campus)
辅助工具方法:
extractTotalScoreAndPercentile, extractScoreWithLabel, extractScoreAfterLabel,
extractRegion, extractNamedScore, getBehaviorEnglishPattern
其他文件:
DanReportUpload: 新增 DIM_COGNITION/LEARNING/BEHAVIOR/CAREER/CAMPUS/ADOLESCENT 常量
DanReportUploadService: dimension 校验扩展到全8种维度
DanReportParseServiceTest: 35个测试用例覆盖所有8种报告类型
ProductOrder.java: 修复重复字段编译错误
编译: mvn compile BUILD SUCCESS
测试: 35 tests run, 0 failures, 0 errors
Wave 2: 迁移DAN报告解析 B2(行为)+B6(职业)+C1(校园) Python→Java
- DanReportParseService: 新增 parseB6Report() Holland兴趣6型+多元智能8维+职业价值观
- DanReportParseService: 新增 parseC1Report() 复用A1认知+A2大五+B4自驱力逻辑
- DanReportParseService: parseText() 新增 behavior/career/campus 路由
- DanReportUpload: 新增 DIM_BEHAVIOR/DIM_CAREER/DIM_CAMPUS 常量 + Service校验
- DanReportParseServiceTest: 新增12个测试用例,总计28个全部通过
- fix: 添加ActivityProvision实体修复ProductOrderController预置编译错误
ProductService was missing this delegation method. Pre-existing bug
uncovered when running mvn compile for v1.1 verification.
to resolve Spring Boot 2.7+ circular reference rejection.
The cycle was:
HealthReportService → DimensionScoreService → DimensionScoreServiceImpl → HealthReportService
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 重写 admin-butler-review 用 13800138000 账号 + admin-auth/login-by-password 取 token
- 新增 health-knowledge-base / nutritionist-apply 覆盖 HealthKnowledgeBaseController (3 endpoints) 与 NutritionistController (2 endpoints)
- 附带 mass-create-users 脚本 + create-role-users.sql + 上一次批量建号结果 create-result.json 用于手动复现
- pages/parent/plans/index.vue, detail.vue
- pages/guide/plans/index.vue, detail.vue
- pages/guide/training-plans/index.vue, detail.vue
2. pages.json 中移除对应的路由注册
3. 新增 components/RecommendedFeed.vue:
- 将商品和活动混合为交替排列的信息流 (商品/活动/商品/活动...)
- 统一展示:封面图 + 类型标签 + 标题 + 价格 + 状态
- 点击统一跳转到对应详情页
4. parent-index.vue:
- 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
- 新增 onFeedItemClick 和 goMoreDiscover 方法
5. child-index.vue:
- 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
- 新增 onFeedItemClick 和 goMoreDiscover 方法
6. member-detail.vue:
- 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
- 新增 onFeedItemClick 和 goMoreDiscover 方法
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- [场景7] Knowledge base popup query and display
- [场景8] Quick nav card navigation to subpages
- [场景9] Edit mode toggle and save
Covers the new v1.1 report detail features.
修复程序报错
2. stopSimulation 用 clearTimeout 替代 cancelAnimationFrame
3. simulationTick 改用 setTimeout(33ms) 轮询
4. render() 添加 Canvas 节点未就绪时的重试逻辑(最多5次)
5. renderLegacy() 完整迁移 Canvas 2D API(ctx.strokeStyle/ctx.fillStyle/
ctx.lineWidth/ctx.font/ctx.textAlign/ctx.textBaseline 直接赋值)
6. 新增 hexToRgba 辅助函数
(微信小程序不支持 ctx.setFont() 等链式调用方法)
2. product-detail.vue: onBuy() 从直接创建订单改为跳转到 checkout 结算页
3. checkout.vue: onSubmit() 添加 addressSnapshot、couponId、discountAmount 参数
- 修复富页面运行时 TypeError: getWealthDetail is not a function
- DanAssessmentController 的 /report/parse-preview 和 /report/confirm 委托给 DanReportUploadService(Phase 4-5)
- dan_assessment_results.source_report_id 关联 dan_report_uploads.id
- dan_assessment_results.analysisStatus 新增字段(待规划师确认分析)
- 迁移95: 历史 dan_assessment_results 数据 ETL 回填到 dan_report_uploads
- 迁移93-94: dan_report_uploads 建表 + 扩展字段 source_report_id/analysisStatus
- schema.sql 同步新建表定义
- 合并远程并行迁移(dan_assessment_executions 等表)
修复程序报错
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- FamilyTianpanCard: 新增 themeStyle/isChild/handleCompassClick
- family-dashboard: 添加隐藏 canvas 用于 PDF 渲染
- Profile: 移除富沛能量 UI(Header/Menu/Stats)
修复程序报错
- 后端:Swagger @Tag /@Operation 注解、DTO校验消息、entity字段注释、service javadoc
- 数据库schema.sql:表注释、列注释
- 测试文件:测试数据fixture名称
- 会员档位选择(membership/upgrade.vue)→'档位选择'避免与任务模板混淆
- 测评类型'bundle'标签:'套餐'→'组合'(与任务模板区分)
- 未改动:API URL路径、Java类名、数据库表/列名、CSS类名
- 验证:mvn clean compile通过 + npm run build通过
- user-edit.vue: autoParent 模式下默认 parent,嵌入 AddressPicker 四级地址组件
- UpdateUserDTO + UserController + UserService: 扩展 address 字段支持
- schema.sql: users 表同步 address 列
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- PHYLUM_TABLE_TITLES + _parse_phylum_tables() for phylum-level extraction
- DISEASE_BACTERIA_TITLES + _parse_disease_bacteria() for obesity/constipation/depression etc.
- main() now takes PDF path as arg, outputs same-name .json file
- Fallthrough terminator extended, CSV output covers all new table types
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 小程序: 新增 pages/nutritionist/apply 营养师入驻页面
- 小程序: 新增 pages/butler/apply 管家入驻页面
- pages.json: 注册 nutritionist/butler 两个子包
- api.js: 新增 nutritionistApply/nutritionistStatus/butlerApply 函数
- 原路径从 components/ 目录向上两级会超出项目根目录
- 正确路径应为 ../utils/api.js (从 components/ 到项目根目录再到 utils/)
2. FamilyTianpanCard.vue: 修复 methods 对象后缺少逗号
- 在 export default 对象中,methods 属性后需要逗号分隔
- 缺少逗号导致 Vue 编译器报 'Unexpected token' 错误
3. body/index.vue: 确保 DimensionProductList 组件正确注册
Co-authored-by: openhands openhands@all-hands.dev
AdminController添加营养师审核3端点(applications/approve/reject),
ReviewCenterController增加nutritionistPending统计,
DatabaseInitializer迁移91,schema.sql同步
前端: NutritionistAudit.vue组件, ReviewCenter.vue添加营养师Tab,
admin.js添加营养师审核API函数
正确处理 res.data.records 映射;优化样式布局
- ProductSkuService.create() 在 skuCode 为 null/空时自动生成:
'SKU-{productId}-{timestamp}'
- Service.getChangeRequests: 仅在 systemId != null 时加入 where 条件
- 全 Controller 20 处 ((Number) ...).longValue() → Long.valueOf(... .toString()) 防 String/Integer 类型解析异常
- router/index.js: 删除 /package-audit /guide-audit /vendor-review /butler-review /withdraw-audit 5 个路由
- 删除对应的 Vue 页面文件:
* views/PackageAudit.vue
* views/GuideAudit.vue
* views/admin/VendorReview.vue
* views/admin/ButlerReview.vue
* views/admin/WithdrawAudit.vue
(功能都集中在 ReviewCenter.vue 的 10 个 tab 里, 各 tab 组件在 admin/review/ 目录下)
- ReviewCenter.vue: 新增 created() 读取 ?tab= 参数支持直达特定 tab
- Dashboard.vue: 待审核卡片链接从 /guide-audit -> /review-center?tab=guide
从 /package-audit -> /review-center?tab=package
验证: mvn compile 通过, 全项目无老审核路由残留
- 新增所属维度筛选(身/心/智/行/富)
- 新增审核状态筛选(待审核/已通过/已拒绝)
- 优化搜索框占位符文字
样式优化:
- 重构 header 布局为 flexbox,支持响应式换行
- 统一搜索框和按钮样式
- 增加 header-search 类控制搜索框宽度
- 优化操作按钮间距和对齐
其他改进:
- 默认分页大小从 10 改为 20
- 查询按钮显式触发搜索
- 4 Java 文件: entity/EducationSystem, mapper/EducationSystemMapper, service/EducationSystemService, controller/admin/EducationSystemController
- Vue 页面: admin/EducationSystems.vue
- admin.js: 5 个 education-systems API 封装
顺手清理相关遗留:
- DatabaseInitializer:
* 删除 modifyColumnToText('education_systems', 'description') 迁移 (表没了)
* 删除 runMigration92() (整个迁移不入群, 改为 university+education_system 列在 Guide 未被消费)
- entity/Guide.java: 删除 university + eduSystem 字段
* 顺带删除 schema.sql 中 guides 表的 university + education_system 列定义
- schema.sql: 删除 CREATE TABLE/INSERT FOR education_systems
- Layout.vue: 删除教育体系菜单项 + submenu 项
- router/index.js: 删除 education-systems 路由
验证: mvn compile 通过, 全项目无 EducationSystem 残留引用
- PackageTemplates 的 GuidePackageTemplateService 也被 GuidePackageController.getTemplates 复用, 保留 Java 侧
- 本提交仅移除 3 个 admin-only 维护菜单:
* cfc-web/src/views/admin/ServiceTypes.vue
* cfc-web/src/views/admin/ServiceContents.vue
* cfc-web/src/views/admin/PackageTemplates.vue
* cfc-web/src/api/adminService.js (无其他调用方)
* Layout.vue 配置中心子菜单条目
* router/index.js 路由项
错误地判定为密码正确。
修复:
- 改用 POST /api/family/user/switch-back-verify 单一原子接口
- 后端对错误密码直接返回 Result.error (code != 200)
- 正确清除 uni storage 中的 isSwitchedChild / currentChildId
- 添加 $store.commit 可选检查,避免 store 未定义崩溃
- 添加 setTimeout 在 toast 显示后再 reLaunch,提升体验
参考: cfc-backend/.../FamilyUserController.java:135
- goToAchievements() → /pages/rewards/badge (徽章墙)
- goToNetwork() → /pages/promotion/team (推广团队)
- goToInsurance() → /pages/wealth-sub/insurance-list (保单管理)
- goToCreator() → /pages/promotion/index (创客中心)
- goToBadges() → /pages/rewards/badge (成就系统)
- goToGrowthReport() → /pages/growth/index (成长报告)
- goToCheckin() 修正路径 → /pages/wealth-sub/checkin
- 新增 childSubDimClick() 处理孩子版 6 个子维度跳转
后端所有目标页面/Controller 端点已存在:
- InsurancePolicyController (CRUD 5 endpoints)
- FinanceCheckinController (4 endpoints)
- BadgeController (10+ endpoints)
- EnergyController.wealth-detail
参考计划: /app/cfc/.omo/plans/wealth-features.md
与后端 FamilyUserController 路径匹配
- SupplySystemService 添加 getByAdminId() 方法
- SupplySystemController 添加 /my-system 端点
- AdminProductController.list() 支持 distributionSystemId 过滤
- 新增 SupplierProductController 提供供应商商品 CRUD
前端:
- 新增 SupplierProductManage.vue 页面
- 新增 supplier product API 函数
- 添加路由和侧边栏菜单
- ProductEdit.vue 增强供应商管理员支持(自动锁定体系选择)
Revert unnecessary large files, keep only radar chart fix
Changes:
1. Add _safeScore utility in RadarChart.vue - normalize null/NaN scores to 0
2. Update _startAnimation, _drawScoreArea, _drawVertices, _drawScoreText to use _safeScore processing
3. Add retry initialization for Canvas render in RadarChart.vue - retry up to 5 times within 60ms intervals
4. Modify body/index.vue template - replace inline :dimensions/:scores with computed radarDimensions/radarScores (respecting AGENTS.md non-method-call constraint)
5. Handle null scores in computed radarScores - reject null/NaN to 0, maintaining functional correctness
Verification:
- LSP diagnostics check completed
- Resolver scripts completion
Co-authored-by: openhands openhands@all-hands.dev
- 基于主导五行智能生成个性化行为建议
- 优化布局:区分颜色、对齐与留白
- 响应式设计:适应不同屏幕尺寸
- 文案结构化:不同五行对应不同宜忌行为模式
- 提供周趋势图、月度日历、历史周报三种视图模式
- 实现 Canvas 五行罗盘和运势趋势线图绘制
- 集成菜单切换功能
- 支持 PDF 周报导出功能占位
- 优化 UI 交互:响应式布局、动画过渡、色彩搭配
- 增强 FortuneService 实现基于干支五行的吉位算法
- 更新 MindFortuneController 返回完整数据格式
- 添加专业五行生克关系判断逻辑
- 提供更丰富的运势描述和心情表达
- 计算复杂:基于家庭五行+日期干支确定最吉方位
- 添加 getFamilyFortune API 函数到 utils/api.js
- 优先使用后端返回的数据,兼容模式使用前端算法
- 调整 FamilyTianpanCard 组件的数据绑定逻辑
- 37 张表: 从 DatabaseInitializer.runMigration* 提取 CREATE TABLE 语句
- 42 张表: 从 entity @TableField /pojo 字段反向生成 CREATE TABLE
- 验证: 无重复表名, mvn clean compile 通过
- cfc-frontend/utils/api.js: 新增6个家庭收益API函数
- cfc-frontend/pages/promotion/index.vue: 重设计(家庭数据卡片+成员贡献榜+管理员面板+孩子只读+支付预留)
P4: 管理后台家庭收益管理
- cfc-backend: 新增 AdminEarningsController (3个管理端点)
- cfc-web/src/api/admin.js: 新增家庭收益管理API
- cfc-web/src/router/index.js: 新增两个路由
- cfc-web/src/views/admin/FamilyEarnings.vue: 家庭收益列表+详情弹窗
- cfc-web/src/views/admin/FamilyEarningsWithdraw.vue: 家庭收益流水查看
- Update SupplySystem entity with models field
- Sync schema.sql
- Fix duplicate familyId field in CommissionRecord.java
- Create Agnes AI supplier with agnes-image-2.0-flash + agnes-2.5-flash
- 在 pages/mind/index.vue 嵌入家庭天盘模块
- 使用火元素配色 (#FF6B9D) 和 Claymorphism 卡片风格
- 添加占位数据逻辑,准备对接后端接口
- 微信小程序兼容:无可选链、无 CSS Grid、flexbox 布局
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- AdminGuideController: 3处@Autowired 替换为@Resource ,移除Autowired import
- VendorService: 3个方法补全Result泛型参数
- VendorController: 同步补全Result泛型参数
- DatabaseInitializer: 36个空catch块添加log.warn日志
- TeacherService: getTeacherInfo抛异常, getAuthorizedChildren返回空列表
- 14个controller: 42处@GetMapping /@PutMapping /@DeleteMapping →@PostMapping
- ButlerController: 2个stub方法标记@Deprecated +抛UnsupportedOperationException
注册ButlerController bean起别名,解决多个ButlerController项目启动报错问题
- ButlerService: 管家核心业务逻辑
- ButlerProfile: 管家档案实体
- SubscriptionBenefitLogService: 订阅权益日志
- DatabaseInitializer: butler_assignments 表迁移
- MemberSubscriptionService: 订阅关联修改
merge: resolve conflicts in cfc-web build files
- 新增 supply_hierarchy_change_request 表:记录更换上级申请
- SupplyHierarchyService: setHierarchy, addRelation, removeRelation, getParent, getChildren, applyChange, reviewChange
- SupplyHierarchyController: 11个API端点 (tree, set, remove, children, parent-chain, change-requests, etc.)
- ProductOrderService: 支付成功时自动绑定buyer到其referrer的下级
- DatabaseInitializer: 迁移86创建新表
- schema.sql: 同步建表语句
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
merge: integrate remote changes + supply hierarchy management
- cfc-web: supply-hierarchy management (new), supply-system/Detail update
- cfc-frontend: App.vue, invite/join.vue updates
- cfc-web: admin.js API, router updates
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
实施计划: 分 P1~P4 四个阶段,每阶段可独立上线
- P1: 二维码改造(wxacode + env_version 修复 + scene 解析)
- P2: 家庭公共账户(3 张新表 + CommissionService 改造)
- P3: 前端重构(推广中心重设计 + 支付集成)
- P4: 管理后台(家庭收益管理 + 提现审核)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
JSON string rather than a number. Added type-safe parsing that
handles both Number and String id values across the supplier
management endpoints.
Co-authored-by: Sisyphus sisyphus@omo.codes
implementation plan for dimension-products, repurchase-reminders,
scheduled task, and frontend fixes
- 2026-07-13-dan-assessment-phase2-5.md: pending Phase 2-5 plan
referencing assessment-market-plan.md — quota system, dual-channel
reports, plan generation engine, and review→confirm→execute loop
Co-authored-by: Sisyphus sisyphus@omo.codes
@PostMapping convention. DimensionProductList.goProduct() fires
clickRepurchaseReminder() before navigation for repurchase-type
products.
Co-authored-by: Sisyphus sisyphus@omo.codes
RecommendationService.generateDailyRepurchaseReminders() to scan
paid/received orders and generate repurchase reminders based on
repurchase_reminder_config rules (category/reminderDays/maxReminders).
Co-authored-by: Sisyphus sisyphus@omo.codes
- getDimensionProducts() — query product_dimension_mapping by
dimensionCode, join products, filter status=上架/stock>0
- getRepurchaseReminders() — query user's unpurchased reminders
- markRepurchaseClicked() — update clicked=1 on reminder record
- generateDailyRepurchaseReminders() — scan paid/received orders,
apply repurchase_reminder_config rules, insert reminders
Injects ProductDimensionMappingMapper, RepurchaseReminderRecordMapper,
RepurchaseReminderConfigMapper, ProductOrderMapper.
Co-authored-by: Sisyphus sisyphus@omo.codes
RecommendationController adds 3 @PostMapping endpoints:
- /dimension-products — query products by dimension code, sorted by matchScore
- /repurchase-reminders — list user's pending repurchase reminders
- /repurchase-reminder/{id}/click — mark reminder as clicked
Co-authored-by: Sisyphus sisyphus@omo.codes
- cfc-web: 多个管理页面样式和功能优化(ArticleCategory, BaziConfigs, CouponManagement, KnowledgeTag, PackageTemplates, RelationshipTypes, VirtualTeamList, ZodiacConfigs, data-source-config, dimension-config, dimension/index)
- 版本号自动更新
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- WuxingConfig.vue: 能量来源比例配置+每日限制概览
- 路由注册 /admin/energy-config
- 数据驱动多边形填充(familyWuxing.aggregatePercentages)
- 百分比标签 + 数据节点圆点
- 中心显示家庭名+最强/最弱元素
- ProductOrderService: SKU价格计算
- Form.vue: 标签更新
- 心理维度子项卡片(仅儿童用户显示)
- 11个新data字段 + 13个CSS状态变体
- loadWealthDetail读取API新字段
- 新增映射器: AiConversationSummaryMapper, AiUserFactMapper
- 新增AiContextService: 7意图路由
- AIService: enrichInputsWithMemory, getContext, requestSummaryAsync
- AIChatController: getContext()端点 + sendMessage注入记忆
- DatabaseInitializer: runMigration81内建表
- schema.sql: 同步两张新表定义
- WebConfig: /api/ai/context加入JWT白名单
- chat.vue: 简化传参(移除reportId/surveyId)
- admin.js: Ppoint API 重命名 (getProductPpointList/saveProductPpoint/deleteProductPpoint/byProduct)
- supply-system/Form.vue: searchUsers 改用 API 函数
- products.sku_spec_names: 规格维度名 JSON
- products.delivery_methods: 配送方式支持
- cart.sku_id: 选中 SKU ID
- cart.spec_option_ids: 规格选项 ID 列表 JSON
- CircleService: 添加 @Lazy 注解打破 CircleService ↔ CircleMatchService 循环依赖
- cfc-web: 新增 ProductPpointManage 积分管理页面,完善供应商体系表单
- cfc-frontend: product-detail 页面更新
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 身: 健康打卡入口(HealthCheckinCard) + body/index.vue
- 智: 阅读时长展示(wisdom/index.vue reading stats)
- 心: 天盘相性入门版(已有完整天盘/兼容性模块)
- EnergyService: 心子维度(情绪稳定/理解包容/传承传递) + 五行克生算法v2.0
- MemberEnergyDTO: 心子维度字段
- ProductController: spec/map 规格映射接口
Phase2 珍珠图/圈子系统:
- 后端: SocialCircle/SocialCircleMember实体+Mapper
- 后端: CircleService CRUD + CircleMatchService匹配引擎
- 后端: CircleController API + DatabaseInitializer迁移85 + schema.sql
- 前端: PearlDiagram.vue 珍珠图横向滚动
- 前端: CircleCard.vue 圈子卡片组件
- 前端: CircleDetail.vue 圈子详情弹窗
- 前端: action/index.vue 集成PearlDiagram + CircleDetail
- 前端: api.js 圈子API函数
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- FamilyContextService: 新增3个Dify inputs (dimensionScores/recentCognitiveResult/purchasedProductTags) + 3私有辅助方法
- AIChatController: RecommendationQuery传入userId和familyId用于已购过滤
Phase 4 (P1):
- AssessmentService已有异步hook: DanAssessmentResult parent_upload 触发认知弱维度商品推荐
Phase 5 (P2):
- RepurchaseReminderService: @Scheduled 每日09:00扫描30-60天订单创建复购提醒 + getPendingReminders/onReminderClicked/onReminderPurchased
- RepurchaseReminderController: GET list + POST click/purchased 3个端点
- RepurchaseReminder.vue: 前端待处理复购提醒组件
- wisdom/index.vue: 阅读时长条件从 !== undefined 改为 > 0
- cart: 支持 SKU 选择 (sku_id, spec_option_ids), 字段扩展 (skuId, specDesc, supplierName)
- DatabaseInitializer: 迁移84 — cart 表 sku_id, spec_option_ids 列
- OrderItemVO: 新增 skuId, specOptionIds
- ProductDTO: 新增 effectivePpoint, ppointSource, profitRate
- CartService: addToCart 接收 skuId, 回填 supplierName 从 vendorName
### P点管理
- PpointService: adminList() 管理端分页列表
- AdminProductPpointController: 新增管理端 P点配置控制器
### 商品推荐系统
- ProductRecommendationService: 维度匹配引擎 (dimensionScore 排序 + 90天过滤 + 购买历史排除)
- ProductRecommendationController: POST /api/recommend/dimension-products
- 5维页面 (wisdom/body/mind/action/wealth): DimensionProductList 替换 DimensionProducts
### 健康打卡
- HealthCheckinCard.vue: 新增健康打卡卡片组件
- body/index.vue: 集成 HealthCheckinCard
### 智慧维度
- wisdom/index.vue: 本月阅读卡片 + 阅读统计 API 接入
### 文档
- 五维能量设计: 更新 v2.1 富维度子维度算法 + 身克富杠杆文档
- 五维五行哲学: 补充富子维度表 + 身克富三态公式
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 迁移80: 创建 product_dimension_mapping 表 + 索引
- 迁移81: products 表添加 recommendation_tags/purchase_count_threshold/repurchase_interval_days
- 迁移82: 创建 repurchase_reminder_record 表
- 迁移83: 创建 repurchase_reminder_config 表
- 新增 ProductDimensionMapping/RepurchaseReminderConfig/RepurchaseReminderRecord 实体+Mapper
- schema.sql 同步新表DDL
- 小程序: DimensionProductList 组件 + api.js 推荐/复购接口
- 修复 RecommendationQuery DTO
- 新增 Supplier/ProductSpecGroup/ProductSpecOption/ProductSupplier/OrderItemSku 实体+Mapper+Service+Controller
- 新增 ProductRecommendationLog 实体+Mapper(推荐记录打点)
- EnergyController: /wealth-detail 富维度详情接口
- EnergyService: 身克富杠杆逻辑 + calcParentWealth 传参修复
- AssessmentService + HealthAnalysisService: 推荐系统相关逻辑
- schema.sql: 同步新表DDL
- 小程序: 商品详情页规格选择器; 购物车/结算页展示SKU与供应商; 富维度页重构; 个人主页新增
- 管理端: EcomSupplierManage.vue 供应商CRUD页面 + admin.js API + 路由
- 前端 api.js: 新增供应商/规格/推荐相关接口
- 新增 2026-07-12-wuxing-ke-full-design.md(五克完整设计)
- 新增 2026-07-12-wuxing-homepage-and-conversion-algorithm.md(首页+转化算法)
- 新增 2026-07-12-dimension-pages-gap-fix.md(分阶段实施计划)
- 更新 2026-06-08-five-dimension-wuxing-philosophy.md(克哲学对齐新理解)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- ISSUE-008: 中止退款后订单状态未恢复 — cancelPendingRefund增加ProductOrder状态回滚
- ISSUE-009: 订单管理搜索条件增强 — 后端支持keyword+日期范围 + 前端增加日期选择器和搜索按钮
- ISSUE-010: Dashboard缺失退款审核计数 — StatsController增加pendingRefundCount + Dashboard新增卡片
- ISSUE-011: 退款余额不足提示优化 — approveRefund返回明确提示 + 前端使用后端message
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 移除 wisdom/mind/body 三个页面中的 import、components 注册、模板使用
- 清理 body/index.vue 中的残留注释
- action 统一化:补 @manage ="goFamilyMembers" + goFamilyMembers method
- action 推荐阅读 -> 独立 ActionArticleRecommend 组件,行绿色调卡片造型
- 移除未用导入 getContactList/getHealthAlerts/getMilestones
- daily-fortune.vue: 请求载荷添加 familyId
- related-items.vue: 请求载荷从 {} 改为 { familyId, daysAhead: 7 }
- relation-detail.vue: 传参从 { familyId, memberId } 改为 { member1Id, member2Id }
- TianpanController: 兼容性接口从参数读取 memberType (不再硬编码 child)
- ProductOrder实体: refundStatus注释补充 4=退款到帐中
- PendingRefund实体: status注释补充 cancelled(已中止)
- AdminCommissionController + PendingRefundService: getAllPendingRefunds 支持 orderType 过滤
- OrderManage.vue: 新增 refund_pending 状态(退款到帐中)文案/样式/筛选选项,隐藏退款审核按钮
- PendingRefund.vue: loadList 传 orderType 到后端
- router/index.js: 注册 pending-refund 路由
- Layout.vue: 商城营销菜单加'待退款管理'入口
避免 selfId 不匹配时 same member 同时出现在 selfMember 和 otherMembers 中
- 新增 TianpanDailyFortuneMapper/TianpanMemberAnnualEnergyMapper
- buildDailyFortune: cache-aside 模式,优先读 DB 无则计算写入
- buildAnnualEnergy: cache-aside 模式,按 member+year 缓存年度能量
- schema.sql 同步两表 DDL
- PendingRefundService新增overloaded createPendingRefund、cancelPendingRefund、移除markFailed最大重试限制
- ProductOrderService在approveRefund中拦截NOT_ENOUGH余额不足异常,自动加入待退款队列
- RefundScheduledTasks新增processProductRefund按orderType路由提现/商品退款
- AdminCommissionController新增POST /refunds/cancel管理员中止接口
- schema.sql和DatabaseInitializer迁移78同步order_type/order_no列
- cfc-web新增PendingRefund.vue管理页面和admin.js API函数
- TianpanController: REST API端点(/api/tianpan/*)
- DTOs: TianpanMemberVO/TianpanDashboardVO/DailyFortuneVO/MemberAnnualEnergyVO/RelatedItemsVO/RelationshipVO
- TaskService: 新增getPendingTasksByFamily
- AssessmentOrderService: 新增getPendingOrdersByFamily
- ZodiacAnnualEnergyService: 新增getWesternSign公开方法
- WebConfig: 添加cf-club.iwintrue.com CORS
- 前端: 天盘6页面 + store模块 + routes/API配置
- WithdrawalService.audit() 审核通过时余额不足自动创建待退款记录
- RefundScheduledTasks 每5分钟执行,FIFO处理待退款队列,指数退避重试
- 新增 Admin API: /api/admin/commission/refunds/pending (列表+状态过滤+分页)
- 新增 Admin API: /api/admin/commission/refunds/summary (待退款总金额统计)
- 修复 TianpanDashboardVO 缺失 import
P0: G7(FamilyAccessInterceptor), G1(五维能量分数持久化), G18(测评对比)
P1: G8(视角切换+密码校验), G9(邀请码过期/次数/吊销), G2(results_ready联动)
新增: G10(规划师绑定家庭审批), G13(地址SFMS导入骨架), G14(Dify会话本地镜像)
P2: G23(schema_versions迁移表), G25(schema.sql新表补齐),
G3(测评报告结构化 structured_analysis), G26(test-mode启动断言)
P3: G4(死字段标记deprecated), G27(sfms只读强制)
新增文件: TeacherFamilyBindingController/Service/Mapper/Entity,
ChatConversation, ChatMessage, ChatMirrorService,
SchemaVersion, PendingRefund服务(提现退款处理)
预留未完成(工作量过大): G15(饮食推荐规则层), G21(PDF多供应商), G22(前端mock)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
遗漏了 dimensionCode 参数,导致推荐文章未按维度过滤。
智/行维度页已有正确过滤,对齐处理。
- G7: FamilyAccessInterceptor familyId 入参校验
- G1: 五维能量分数持久化 (five_dimension_scores)
- G18: 首次vs最新测评对比端点
- G8: 视角切换统一 + 密码校验
- G9: 邀请码过期/次数/吊销
- G2: 测评订单 results_ready 联动
- G13: 地址数据库导入骨架
- schema.sql: package_orders建表语句同步添加user_coupon_id列
- 创建缺失的 PpointService (被 CommissionService 引用)
- 修复 FamilyAccessInterceptor 两处编译错误
- 添加缺失 @Component import
- HandlerMapping.PATH_VARIABLES_ATTR → 字符串字面量
- MemberSubscriptionService 实现 P-point 消费返利
- subscribe/renew 时 L1 推荐人获消费返利 (L1=20%, L2=40%)
- DatabaseInitializer 添加迁移69: promotion_tier_config 表 + R0-R4 种子数据
New files:
- PpointService.java
- FamilyAccessInterceptor.java (家庭数据访问安全拦截器)
- RequestBodyCachingFilter.java (body 缓存供拦截器使用)
- AdminSubscriptionController.java
- FiveDimensionScoreService.java + entity/mapper (五维能量持久化)
将 "颜色:红色;尺码:M" 文本格式转为 {"颜色":"红色","尺码":"M"} JSON
- 前端 ProductSkuEditor handleSave 发送前同样做前端规范化
- 根因: product_skus.specs 列为 MySQL JSON NOT NULL, 前端输入普通文本被拒绝
- 前端小程序(cfc-frontend)会员页用户可见文本
- PPT 生成器脚本及输出(5 个生成器 + 确定性PPT)
- Java 后端 Swagger 描述、错误消息、日志、注释
- SQL schema COMMENT 和段注释
- Web 管理端路由和 API 注释
- 所有设计文档/需求文档/Spec 文档
- 测试文件描述和官网文稿
保留不变:数据库表名/列名、Java 类名/方法名/变量名等技术标识符
- Update imports in guide/plans/detail.vue and guide/plans/index.vue
- Remove AssessmentOrderController and related tests (moved to DanAssessmentController)
- Resolve merge conflicts in cfc-web
debug: 添加原生 button 对比测试点击事件
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Prices visible before/after login. Login only required for booking, placing orders, adding to cart.
- AssessmentProduct实体/Mapper/Service/Controller
- 管理端测评商品管理页面 + 规划师端测评商品页
- 测评额度配额管理与扣减服务
- 商品SKU/促销层级/推荐树实体与迁移
Phase 2 - 购买与执行解耦:
- 预约-支付-执行分离流程
- AssessmentQuotaService额度扣减逻辑
- 预约确认/取消/支付回调
- 前端预约页+额度页+上传页
Phase 3 - 报告双通道+结构化指导:
- AssessmentReportController(上传/确认/指导意见)
- GrowthGuidanceService结构化指导意见
- ReportParseService PDF解析
- 家长上传报告+规划师录入结果双通道
Phase 4 - 方案生成引擎:
- AssessmentPlanRule规则引擎(维度×分数区间匹配)
- AssessmentPlanGenerator自动方案生成
- AdminPlanRuleController规则CRUD
- 迁移63-66: assessment_plan_rule建表 + TaskPlanInstance扩展字段
- 管理端方案规则配置页 + 方案管理看板
Phase 5 - 方案审核与执行:
- PlanReviewController(规划师方案列表/审核/激活)
- PlanActivationService激活生成待办任务
- 规划师小程序方案审核页+详情页
- 修复既存asyncDeepParse编译错误
新增: 会员订阅/积分体系/商城商品管理等基础设施
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
新增 Vue.use(Link) 注册 Link 组件
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
防御性判空: 增加 !trim().isEmpty() 检查, 避免空字串 传入 Long.valueOf()
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
新增服务器运行状态: 运行时长、CPU 使用率、JVM 内存占用, 数据来自后端 /api/system/health 接口
已在 mounted 中调用 loadServerHealth() 自动加载
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- report-confirm.vue: add tongue indicators card, route confirm to confirmTongue
- report-list.vue: add tongue badge display
- body/index.vue: redirect tongue entry to report-upload?reportType=tongue
- tongue-index.vue: deprecate — redirect to new report flow
- api.js: parseReportPreview accepts optional type param
- 新增 ButlerSessionMapper (MyBatis-Plus)
- 新增 ButlerSessionService (CRUD/归档/上下文管理)
- 新增 ButlerController (/api/ai/butler/sessions/* 6端点)
- DatabaseInitializer 迁移42: 创建 butler_sessions 表
- schema.sql 同步更新
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 拆分为两个并行实施计划:
Plan 1: 订阅+推广核心(P0+P1, 12-15天)
Plan 2: AI+管家+推荐引擎(P0b+P2+P3, 15-20天)
- Plan 2 通过 Stub/Provider 模式与 Plan 1 解耦,可完全并行开发
- Rewrite Dashboard.vue to admin-only (875 lines) with expanded stats
- Add getDashboardOverview() API for /api/stats/overview
- Add ECharts trend chart (user/family growth) and membership pie chart
- Replace system info with enriched health panel (status, version, refresh)
- Expand quick actions from 4 to 8 (4x2 gradient icon grid)
- Register /teacher-dashboard route, update router guard for teacher redirect
- Make sidebar '首页' menu path dynamic based on role
- Update AGENTS.md with new dashboard architecture
audit_reason, summary, advice, overall_assessment, config_value fields
from VARCHAR(255/500/200) to TEXT across ~40 tables
- Added idempotent modifyColumnToText() migrations in DatabaseInitializer
(~55 ALTER TABLE MODIFY COLUMN calls) for production database sync
- Primary fix: activities.description was the original crash site but
many other columns had the same truncation risk
so the card displays for families with only 1 member. the canvas
drawing already guards against drawing lines when < 2 members.
admin order management can find refunding orders (was filtering by
order.status='refunding' but after-sales was stored in separate table).
ProductOrderService.approveRefund/rejectRefund now syncs back to
AfterSalesRequest.status so mini-program after-sales list stays in sync.
ProductOrderDTO.from() now carries refund/logistics fields that were
previously omitted, so admin refund dialog shows refund reason.
- ActivityControllerTest.java: add missing 'role' parameter to create/update/publish/end calls
Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- HealthReportAudit.vue: new draft audit page with detail dialog (indicators/gut flora/disease risk tabs)
- Router + sidebar: register /health-report-audit route and menu entry
Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- HealthReportController: add POST /api/health/report/admin-list endpoint
- HealthReportService: add listAllReportsForAdmin() with childName resolution
- UpdateUserDTO: fix stale git conflict markers
Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
sync: merge E2E test stash from cfclub branch (AGENTS.md, package-lock, test report)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 添加 → 导航到 /pages/family/add-member
- 邀请 → 打开邀请弹窗
- family-header 在无 familyName 时显示 '我的家庭' 占位
- 筛选后无结果时仍显示 '暂无家长/暂无孩子' 提示
- Unify formatTime to t.replace('T',' ').substring(0,19) pattern
- Replace new Date().toLocaleString() with consistent T-replace in
OrderManage/WithdrawAudit/EmotionAlertManage/ProductManage
- Uses table-scroll-wrap CSS classes (overflow:auto + max-height)
- Inline overflow:auto;max-height style on pages without class wrapper
- Import admin-tokens.css globally in main.js
- Refactor ~33 admin pages to use standard classes:
- admin-page-header / admin-page-title / admin-page-actions for card headers
- table-scroll-wrap(-sm/-lg) for table containers
- pagination-wrap for pagination
- filter-bar for search/filter bars
- Remove inline width/height/float styles
- Update ActivityEdit, ProductEdit with proper header layout
- Fix ActivityReview, Assessment (syntax error fix)
- Remove duplicate scoped CSS for filter-bar, header patterns
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Fix prop name from :config to :defaultConfig (wangEditor Vue2 API)
- Add toolbarConfig for Toolbar component initialization
- Add missing @wangeditor /editor CSS import to ArticleEdit and ActivityEdit
- Add editor CSS styles (rich-editor border, toolbar wrap, text-container min-height)
- All 58 Vue pages with fixed="right" columns now have horizontal scroll container
- Pattern: div wrapper with overflow:auto;max-height:calc(100vh - 300px)
- Layout.vue 全局滚动修复(overflow-y:auto 覆盖所有 admin-page 编辑页)
- 搜索框"全部"选项改为语义标签(11 页面:「全部状态」「全部分类」等)
- 状态变更操作增加 确认 + 自动 loadList() 刷新
- 活动列表 flex 布局 + 滚动 CSS 修复
- Shows gray dashed avg line behind user's indigo filled polygon
- 6 dims: perception/focus/memory/logic/spatial/processing speed
- New _drawAvgScoreArea() method renders average as background layer
- Body page passes mock avg scores alongside user dimension scores
- Avg scores: [72,68,75,70,73,69,71] for 7 dimensions
- Without user data, only avg line shows; with data, both lines visible
- Add console logs for tracking dimension data loading flow
- Helps diagnose radar chart not rendering when no child selected or API fails
- Bump package.json version 1.0.11 → 1.0.17
- Update .last_build_commit to latest build
- web/index.html: update Clarity tracking ID, remove duplicate inline script
- Add null guards in loadTeacherData() for all response properties after Promise.all catch
- Handle missing taskCompletionRate gracefully with parseFloat fallback
- Replace simplified Markdown parser with block-level parser supporting code blocks, lists, headings, bold/italic/code/links
- Fix closing brace formatting that caused build failure
when API returns malformed responses (e.g. non-array family/team lists,
missing order records).
flex-wrap-based responsive layout for td-quick-actions and td-today-stats.
admin pages (Activities, ArticleManage, OrderManage, PointsLog, ProductManage,
VendorReview, WithdrawAudit) and teacher pages (FamilyList, TeacherAssessment)
- Add overflow-y:auto to Layout sidebar and admin-page container
- Bump version to 1.0.11
null. The method previously passed null to task.setCreatorId(), causing a
DataIntegrityViolationException on INSERT. Added null guard before task creation.
happiness model, membership/distribution, module status assessment,
P0/P1/P2 roadmap, tech debt, data model overview, architecture, risks.
- 管理员创建三类服务商(测评/解读/规划)
- 家长购买测评 → AI 解读 → 人工处理 → 成长规划
- 验证需求完整性(80%)和合理性(92%)
- 识别 3 个 P0 问题:服务商类型扩展、人工解读功能、成长规划功能
- 提供实施建议和代码示例
- cfc-frontend: pages.json/ai.chat/mind.articles/user-edit/wealth 页面优化
- cfc-web: 新增 MembershipCenter.vue(295行)/PointsLog.vue(202行),全面更新各管理模块
- 67 files changed, 1946 insertions(+), 434 deletions(-)
- ProductOrderController/Service: support mixed payment (points + cash)
- PointsService: integrate points deduction for orders
- shop pages: refactor detail, index, order-list, order-detail
- DatabaseInitializer: resolve merge conflict (keep both migrations 38-40)
Closes ISSUE-007
- 添加supplier_admin角色到UserService.isValidRole()
- 添加supplier_admin到AdminAuthController登录角色检测
- 添加supplier_admin到数据库users.role ENUM
- 创建SupplyManageController供应商管理控制器(CRUD+角色管理+层级调整)
前端:
- 添加supplier_admin到permissions.js权限映射
- 添加供应商管理菜单到Layout.vue
- 添加供应商管理路由到router/index.js
- 创建supply-manage/List.vue, Form.vue, Detail.vue
- 添加supply-manage API函数到admin.js
Merge remote changes and resolve conflicts
删除 'RTK.md'
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 只保留 subPackages 中正确注册的 pages/shop/index/index.vue
FRONTEND-02: 缩短过渡页显示时间 5s→2s
- action/wisdom/mind/body/index + profile + index 页面
FRONTEND-03: 智页推荐阅读'更多'导航修复
- wisdom/index.vue goMoreArticles() 修正为目标路由
FRONTEND-04: 行页面推荐阅读缺失 (relatedDimensions JSON 解析)
- 新增 parseRelatedDimensions() 方法处理 JSON 数组字符串/逗号分隔/数组
- 修复 action/wisdom/mind 三页面 loadFeaturedArticles
FRONTEND-05: 行页面移除孩子管理快捷操作组件
- 删除 UserQuickEntry 组件及其 import 和注册
- Replace allowedOriginPatterns("") with explicit origins (CORS spec: " " + allowCredentials invalid)
- Allowed: https://cfc.etotem.com.cn , http://cfc.etotem.com.cn , localhost/127.0.0.1 dev origins
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Use API module (getDashboardStats/getRevenueStats/getMembershipStats/getTrendStats)
- Element UI icons replacing emojis
- Section-level v-loading states
- ECharts lifecycle (dispose on destroy, resize handler)
- Recent tasks table from dashboard API
- Hover effects and responsive layout
- ~50 admin/9 teacher 页面统一添加 admin-page 样式类
- 所有列表/管理页添加 <=el-input> 关键字搜索
- 有分页的: keyword 传 API 参数
- 无分页的: computed filteredData 客户端过滤
- teacher 页面同时补齐 admin-page 类与面包屑样式
- DatabaseInitializer migration 34: ensureColumn for all missing columns
- familymember * (5): id, name, birthday, gender, age
- EMI psych (4): emotion, resilience, stress_coping, self_awareness
- Big Five (6): openness, conscientiousness, extraversion, agreeableness, neuroticism, big_five_overall
- child snapshot (20): name, birthday, gender, age, school, grade, grade_class, height, weight,
family_status, parent_degree, nation, province, city, district, address, single_child,
school_score, urgent_name, urgent_phone
- media (4): pics, videos, audio, audio_url
- extension (2): process_desc, result_desc
(修复Field doesn't have a default value错误)
- schema.sql同步: capability_role列+default_role列并存(兼容保留)
supply_settlement_detail 4张表 + product_orders追加supply_system_id/
supplier_id/supply_commission 3列+索引
- schema.sql: product_orders补列 + 追加4张新表定义
- supply_system_schema.sql: supplier_user_id→supplier_id(匹配实体) + 补充supply_commission
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
EnergyService.calculateBodyScore Unknown column 'subject_id' 错误)
- 迁移32: 创建supply_system/supply_system_member/supply_settlement/
supply_settlement_detail 4张表 + product_orders追加supply_system_id/
supplier_id/supply_commission 3列+索引 (修复OrderTimeoutCancelTask
Unknown column 'supply_system_id' 错误)
- ProductDTO.java: add deliveryMethod, rejectReason fields + from() mapping
- DatabaseInitializer: migration 32 - ensureColumn for delivery_method, category_id, distribution_system_id
- schema.sql: add 3 columns to products table DDL
- report-confirm.vue: add colored confidence badge + progress bar
- report-confirm.vue: add ranked candidate member list with similarity scores
- report-confirm.vue: add auto-create member form with pre-filled extracted data
替代: import E from '@wangeditor /editor' + new E(domRef)
移除: initEditor()方法、beforeDestroy editor.destroy()、editor: null data
新增: editorConfig (MENU_CONF.uploadImage) 传入Editor组件
- Add Jupiter 12yr and Saturn 29.5yr cycle phase calculation
- Blend 60% Western + 40% Chinese zodiac with Tai Sui relation modifiers
- Update controller to accept birthMonth/birthDay, return full fusion result
- 6步标准流程:错误定位→查实体→检查schema.sql→加迁移→同步schema.sql→编译验证
- ensureColumn() 辅助方法优先使用
- 幂等性要求:所有迁移必须可重复执行
- 同步原则:schema.sql 与 DatabaseInitializer 保持最终一致
- 4种场景代码模板:ADD COLUMN / CREATE TABLE / ADD INDEX / MODIFY COLUMN
activity.js: 新增 getAdminList/updateStatus/batchUpdateStatus API
ArticleManage.vue: 新增状态筛选/审批操作列/排序拖拽/发布状态切换
ArticleEdit.vue: 优化表单校验/状态联动/发布时间记录
Activities.vue: 重构列表页 - 新增状态标签/审批弹窗/批量操作
ActivityEdit.vue: 优化表单 - 新增状态流转控制/发布时间
AdminArticleController: 新增文章管理分页/审核/排序端点
Activity: 新增 status/approvalStatus/remark/publishedAt 字段
ActivityAdminService: 新增分页查询 + 状态流转(待审核→发布/驳回/下架)
AdminActivityController: 新增活动管理完整CRUD + 状态审核端点
schema.sql: 新增 ACTIVITY_WAITING_APPROVAL 状态到状态约束
1. 拖动某维度时其他维度同向变化
2. 各维度独立0-100, 总和未保持100%
修复: onWeightChange(changedCode) 将 100-newValue 按比例分配到
其他维度, 确保总和恒为100%。移除 getMaxForDim / getRemaining。
- scripts/generate-changelog.js: 从 git log 分类生成变更日志
- vue.config.js: 注入 VUE_APP_VERSION / VUE_APP_BUILD_TIME
- Dashboard.vue: 版本显示动态化 + 变更日志弹窗
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Fix playwright.config.js baseURL and viewport for desktop admin
- Add dev:h5/build:h5 scripts to cfc-frontend package.json
- Fix config.js truncated API URLs
- Add ensureLoggedIn() helper with auto-login flow for admin tests
- 删除 Layout.vue 侧边栏'工作台'菜单项
- 删除 TeacherDashboard.vue(内容已完整集成在 Dashboard.vue)
- fix: StatsController.java teacher_status 查询字段修复
- 若存在 default_role 但无 capability_role,CHANGE COLUMN 重命名并保留数据
- 若两者均不存在,ADD COLUMN capability_role 默认值 parent
- 若 capability_role 已存在,跳过
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
完全覆盖 JAR 内置值;config/ 目录存在时自动加载外部配置
- config/application.yml: 新增外部配置模板(数据库/JWT/微信/Dify)
- application.yml: 数据库凭据改为 CHANGEME * 占位符,避免内置生产密码
- ArticleAdminControllerTest.java: getAdminList mock 补齐参数,update 改用 Map 参数+Result
- AdminArticleControllerTest.java: getAdminList mock 补齐参数,update 改用 Map 参数+Result
- application.yml: datasource 切到本地 MariaDB (root/cfc123)
- PaymentOrder.java: 删除重复的 period 字段
- MembershipLevelDTO.java: 删除重复 priceQuarterly,补回缺失的 priceYearly
- MigrationController.java: 添加缺失的 java.util.Date import
- MembershipController.java: createOrder 调用补第6个参数
add VUE_APP_SKIP_CAPTCHA=true for admin build, use git pull --rebase instead of
fast-forward merge to handle diverging branches
- update activity API and router for admin
- cleanup Activities.vue and ArticleManage.vue
but the component file was not included. Create it with dimension grid
display, score bars, and navigation to detail pages.
- Article 实体新增 publishTime, viewCount, likeCount, shareCount 字段
- AdminArticleController 重构: 文章 CRUD + 状态机(草稿→待审→已发布/下线)
- ArticleService 新增: findByStatusPage, approve/publishArticle, updateViewCount
- CommissionController 新增 getTodayCommission
- MembershipController 新增按成长值排序接口
- MigrationController 新增 getTables, truncateTable 工具方法
- DatabaseInitializer 新增 schema_version 表, 版本化迁移, 9个复合索引
小程序前端:
- articles.vue 新列表页(160行+), article-detail.vue 文章详情(255行+)
- shop/index 店铺首页(+24行), shop/detail 商品详情(+108行), shop/cart 购物车(+13行)
- 新增 shop/after-sales/ 售后申请页面, shop/after-sales-detail/ 售后详情页面
- promotion/index 推广页面(+167行), discover 页面调整(-10行改动)
- 修复 mind-index, body-index, wisdom-index 各页面 member-index 视角切换
管理端:
- ArticleManage.vue 文章管理(69行+): 列表/搜索/状态筛选/上下架操作
- ArticleEdit.vue 文章编辑(48行+): 富文本编辑, 分类标签选择
- KnowledgeTag.vue Knowledge标签管理(134行+): 标签 CRUD
- Layout.vue 导航栏调整(-11行)
- router/index.js 新增 article/knowledge 路由
cfc-web: Element UI tree-shaking 优化配置
- 背景替换为暖棕渐变 (#1A0F00 → #4A3020)
- 五行沙盘 SVG → CSS 公转五维能量轮盘
- 中心家金色徽章 + 脉冲动画
- 五维色系节点: 身橙/智紫/富金/行绿/心粉
- role-tags 颜色更新: 家庭客户(紫)/服务商(粉)/平台运营(绿)
- 右侧表单区保持不变
cfc-frontend body/index.vue:
- RadarChart → HealthDimensionsSection 组件替换
- FamilyRelationGraph: add 暂无其他家庭成员 for 1-member case
- action/index.vue: remove outer v-if on FamilyRelationGraph so its
own empty state renders when no members
- Show 暂无商品 / 登录后查看更多商品 when empty
- Matches DimensionActivities empty state pattern
Spring @Resource name collision with ActivityService.activityMapper
- Rename GuideActivityController.activityService → guideActivityService for consistency
- Fix MessageBox prototype registration in cfc-web
- Add echarts dependency to cfc-web
- 均在 pages/health/ 分包下注册
- funcList 6个按钮全部绑定正确页面路径
- 修复舌诊路径缺失前缀问题
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
called immediately after in onShow, before activeChildId was set.
Result: activeChildId was still null → loadCognitiveReport returned
early → cognitiveReport stayed null → radar chart v-if never rendered.
after activeChildId is confirmed set (from storage or default to first child).
cleanup: remove inline AI entry card from parent-index (replaced by floating avatar)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Add product_skus table creation to DatabaseInitializer (was manual-only)
- 新增 GuideActivity 实体 + guide_activities 表
- 新增 GuideActivityMapper / GuideActivityService
- 新增 GuideActivityController (7个端点: list/detail/create/update/publish/cancel/delete)
前端:
- api.js 新增 7 个活动管理 API (getActivityList/detail/create/update/publish/cancel/delete)
- pages/guide/activities/index.vue — 活动列表 (筛选/新建/发布/取消/删除)
- pages/guide/activities/detail.vue — 活动详情页 (create模式+edit模式, 日期选择器, 分类选择)
- pages.json 注册 2 个新页面
关键设计: 使用页面跳转 (navigateTo), 无 modal 弹窗, 符合 training-plans 模式
cfc-web: article read-only mode for published articles
- Edit: draft + never-published only
- View: published or ever-published (readonly)
- Copy: all states
ArticleEdit.vue:
- ?readonly=1 → read-only detail mode
- Published/ever-published → auto readonly
- handleCopyAsNew() for in-place copy
- Fix body, mind, wisdom goMoreActivities to use ?type=activity
- Fix wisdom goMoreProducts to use ?type=product
- Previously various targets: discover/index, discover/index?type=activity&dimension=*, or empty stubs
- Applies to: parent-index, child-index, body/, mind/ , wisdom/, action/ pages
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
merge
- 用于心愿兑换时的积分原子性检查和扣除
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
ArticleAdminControllerTest: create()参数改为Map
FamilyMembersControllerTest: setMemberId改为setId
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
FamilyMemberManagementFlowTest: setRelationshipType/setNickname/setEnabled(Integer)/setRecordTitle
GrowthRecordSyncFlowTest: @Builder 注解/parseReport/recordTitle/移除不存在的controller方法
ProductPurchaseFlowTest: setTotalAmount改为Integer/create返回Result包装
PlannerBindInviteFlowTest: setServicePrice(Integer)/unbindGuide变量名/setUserId移除/createGuideFamily签名
AssessmentOrderFlowTest: 移除不存在的getLatestResult方法
DailyCheckinStreakFlowTest: 移除checkAndGrantReward测试/updateCheckin改为Map参数/deleteCheckin(Long,Long)/setCheckinDate(Date)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- AssessmentAppointmentService: 重构预约服务,删除冗余代码
- CreateWishDTO: 新增imageUrl/linkUrl/estimatedPrice字段支持商品型心愿
- PaymentService: 新增支付方法扩展
- PaymentServiceInterface: 接口同步更新
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- GrowthRecordService: 新增getRecordsByChild(Long childId)方法
- GrowthRecordServiceInterface: 接口同步更新
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- DailyCheckinService.deleteCheckin(): (Long) → (Long, Long)
- DailyCheckinController: update(Map)/delete(Map)适配新的service签名
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- EnergyService: 新增grantEnergy()(Long,Long,Long,String)和deductForWish(Long,Long,Long)方法
- 添加WishMapper依赖用于心愿兑换能量扣除
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- NEW-02: ProductSkuController.listByProduct() 添加productId空值校验防止NPE
- NEW-03: ActivityController.publish() 包装try-catch,返回Result.error()而非500
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
config: SfmsDataSourceConfig multi-datasource settings
- 新增活动报名/能量规则/商品SKU/订单生命周期/会员体系等新功能
- 新增6个完整E2E跨角色业务流程场景
- 从80个API用例扩展至120个需求驱动用户故事
- issue-tracking/README.md: 补充ISSUE-004/005/006根因分析
- 确认全部为测试数据缺失+测试脚本问题,非代码缺陷
- 核心根因: children表为空,31个测试家庭无孩子记录
- FinanceCheckinController create: 补充 checkinType 必填校验
- EnergyController overview: @RequestBody 改为 required=false + null 校验
已清理: unpackage/dist所有缓存,强制重新编译
- T1: 会员试用机制 (TrialMembership + ScheduledTask)
- T2: 推广数据看板 (CommissionService + StatsController)
- T3: 组合套餐/订阅制 (MembershipLevel + PaymentOrder + 折扣体系)
- T4: 管理端数据大屏 (Dashboard + ECharts)
- T5: 内容裂变 (ShareEvent + ShareRead + 积分奖励)
- T6: 推广素材中心 (PromotionMaterial CRUD + 素材库页面)
- T7: 积分商城 (PointsExchange + 兑换记录 + mall页面)
- T8: 社交关系链 (ContactMatchRequest + 1对1匹配)
- T9: 用户分层运营 (UserRfmTag + UserTriggerRule + RFM计算)
数据库迁移: DatabaseInitializer 新增 T5-T9 所有表
前端: 新增 promotion/material.vue, points/mall.vue, membership/upgrade.vue, admin/Dashboard.vue
AdminController → ProductOrderService → PaymentService 循环
- func-list 拆分为 funcListRow1(前4个) 和 funcListRow2(后4个)
- 每行4个按钮均分宽度,图标文字更易读
- admin.js: add getEmotionAlertList and resolveEmotionAlert API endpoints
- router/index.js: add /emotion-alert route
- Layout.vue: add sidebar menu item for emotion alert management
- Auto-create FollowUp with 7-day due date and high priority on alert resolution
- Query familyId from Child table for follow_up association
- MentalHealthScreenService.submitScreen: push crisis alert for severe screening results or suicide ideation
- EmotionAlertController: fix NPE in condition checks, add admin role auth check, add /api/mind/admin/alert/list and /api/mind/admin/alert/resolve endpoints
- WechatService: add sendTemplateMessage() for alert push via WeChat template messages
- application.yml: add alert-template-id config
Implementation checklist complete:
✓ DatabaseInitializer.java: version gate + DDL
✓ EmotionAlertController.java: NPE fix + auth + admin endpoints
✓ WechatService.java: sendTemplateMessage()
✓ application.yml: alert-template-id
- 后端: 每日健康打卡、饮食/运动/睡眠/饮水记录实体
- cfc-web: DimensionWeightPicker 五维权重组件, 集成到活动/文章编辑
- cfc-web: 成长任务管理重构, 活动报名审核, 能量规则管理
- cfc-frontend: 身体页面 — 运动/睡眠/饮水/饮食记录, 成长曲线, 健康趋势
- TrialMembership: 入门会员体验实体与Mapper
- 前端页面调整(splash引导页改版)
- 调整支付回调路由至商城订单处理
- 新增订单发货(ship)/确认收货(confirmReceive)/取消(cancel)
- 新增配送方式(快递/自提)支持
- 新增ProductSku实体/CRUD/SKU选择器
- 新增UserAddress实体/CRUD
- 新增OrderItem实体/CRUD
- 新增退款申请/审批/拒绝流程
- 新增超时取消自动任务
- 新增库存乐观锁防超卖
- 前端:detail SKU选择器 / checkout skuId传参 / order-list退款操作
- 前端:goShop/goDetail导航修复(address已使用CFC API)
- SQL: 添加product_skus/user_addresses/order_items扩展表
包含关联更新: Activity/Energy模块扩展, 会员试用TrialMembership实体
- 新增 cognitive-recommendations.yml(3-tier × 6维离线任务/游戏/文章推荐)
- 新增 CognitiveTrainingConfigService + CognitiveRecommendationDTO
- POST /api/cognitive/recommendations — 获取行动清单
- POST /api/cognitive/recommendations/create-task — 一键添加任务
- cognitive-report.vue 新增「家庭行动建议」区块
Phase B1 — 常模参考线
- 新增 CognitiveNorm 实体 + cognitive_norms 表 + 种子数据(6维×4年龄带)
- 新增 CognitiveNormMapper / CognitiveNormService
- POST /api/cognitive/norms — 返回百分位等级(较弱/偏弱/中等/良好/优秀)
- 条形图显示同龄中位参考线 + 等级标签
Phase B2 — 历史趋势
- 新增 CognitiveTrendItemDTO
- POST /api/cognitive/trend — 历史六维分数序列
- cognitive-report.vue 新增「历史趋势」区块(前后对比表)
Phase C — 训练方案系统(规划师端)
- 新增 TrainingPlan / TrainingPlanItem / TrainingPlanTask 实体 + schema
- 新增 TrainingPlanMapper / TrainingPlanService
— CRUD / generateFromRecommendations / deployPlan / getExecutionBoard
- 新增 TrainingPlanController(guide端9个端点)
- 前端: guide/training-plans/index.vue(列表/生成/下发/删除)
- 前端: guide/training-plans/detail.vue(编辑/看板模式)
- api.js 新增训练方案相关API(10个方法)
parallel via CompletableFuture (ThreadPoolExecutor). Frontend: Dashboard.vue
loads all data in one request instead of Promise.all(7).
- Add schema_version table for idempotent migrations (version >= 1 skips)
- Subsequent app starts: ~8s faster (no ALTER TABLE spam)
N queries (one per category) — eliminates N×categories DB roundtrips
- calcParentBody: batch-fetch health reports for all children via
HealthReportMapper.selectOne with IN(userIds) instead of loop
- Removed duplicate jdbc-url/credentials from hikari block (was overriding spring.datasource)
- Fixed TrainingPlanService: RecommendationItem -> DimensionRecommendation
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 主包从 54 页减少至 21 页,符合微信 2MB 限制
- 更新 pages.json 配置匹配新的目录结构
- 更新 splash 页面使用项目 logo
- 修复 report-survey.vue 语法错误
- 新增 TongueRecord/IndicatorDefinition/IndicatorValue 实体 + Mapper
- 新增 IndicatorService + TongueDiagnosisService(两阶段舌诊流程)
- 扩展 AIService:sendTongueDiagnosis + mockTongueResult(开发模式)
- HealthReportController 增加 type=tongue 分支(parse/confirm/discard)
- 新增 IndicatorAdminController(指标管理 CRUD)
- 前端:tongue-index.vue 全流程页 + body/index.vue 雷达图 + func-grid 改舌诊
- 前端 API:4个新接口(parseTonguePreview/confirmTongue/discardTongue/getIndicatorDefinitions)
- cfc-web:indicators/index.vue 指标管理页 + 路由注册
- DistributionService: add getUserTeams, getTeamTree, getUserPosition,
getTeamMembers, updateMemberTeam methods
- AdminVirtualTeamController: 9 endpoints for virtual team CRUD + member mgmt
- cfc-web admin: VirtualTeamList.vue + VirtualTeamDetail.vue pages
- Router + sidebar: virtual team menu items under system config
pages.json: 重构小程序页面路由结构
Admin/Product/VendorController: @RequestHeader (X-User-Id)统一为@RequestAttribute (userId)
schema.sql: articles表增加article_type和word_count字段
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 重排页面区块顺序:RadarChart → 关系图谱 → 快捷入口 → 功能入口
- 移除WisdomTips组件引用及五个废弃区块(cognition-summary, highlight-card, tips-list, quick-actions, bottom-spacer)
- 创建DimensionArticles共享组件,遵循DimensionTasks/DimensionActivities/DimensionProducts模式
- 智页面推荐阅读区域改用DimensionArticles组件,去除模板重复
- permissions: nutritionist增加diet:*权限, 组级权限匹配(无冒号prefix)
- router: rewards perm改family:rewards, 新增wishes路由, 审核菜单perm细分(audit:package/guide/vendor)
- RelationshipQualityController: 注入UserMapper,getHealthAlerts/getMilestones
从JWT token推导familyId,不再强求请求体传familyId
- 后端: DatabaseInitializer新增interaction_logs/relationship问卷表
- 后端: FamilyMember实体新增关系质量相关字段
- 前端: interaction-log.vue + relationship-questionnaire.vue页面
- 前端: family-members.vue关系编辑增强
- 前端: wisdom_temp/下5个临时页面
- 前端: pages.json注册新页面路由
- api.js: 移除danshopRequest/goodsCategory,所有danshop*函数改用request()
- coupons.vue: 添加statusClassMap computed替代方法调用
- upgrade.vue: 修复template单根元素+重新缩进
- 快捷操作区添加'返回首页'按钮及 goHome() 方法
- 添加 jest/playwright 测试配置
- 修复 membership/upgrade.vue 模板多根节点错误(wrapper 包裹)
- 表格新增列: 封面图/活动类型/地点/费用(元)/人数
- 复用 /api/admin/articles/upload/image 上传接口
- 价格前端用元展示,后端存分
- 后端 ActivityService 无需修改(已支持所有字段)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Removed standalone #pillars section
- Removed nav link for #pillars (now accessible via 浠艾福)
- Renamed: 幸福三支柱 → 幸福支柱
- Renamed: 四大核心能力·数据到行动的闭环 → 核心能力
- Renamed: 五行相生相克 · 五维动态平衡 → 能量维度 (subtitle: 五大能量维度 · 动态平衡)
- Updated nav with new names and order
but the IntersectionObserver in main.js did not include .pillar-card in
its querySelectorAll list. The cards were never observed and never got
the .visible class, making them permanently invisible.
Three pillar cards with mapping to five dimensions:
- 衣食无忧 → 身 + 富 (保命保财, 家庭物理底盘)
- 受人尊敬 → 智 + 行 (内外兼修, 社会价值彰显)
- 子女传承 → 心 + 智 (爱与智慧, 传承有质量)
CSS: responsive pillar card layout with hover effects, dimension badge colors matching the five-dimension scheme, mobile breakpoints at 768px and 480px.
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 衣食无忧 → 身(根基)+ 富(源泉)
- 受人尊敬 → 智(内核)+ 行(外显)
- 子女传承 → 心(纽带)+ 智(质量)
新增映射逻辑解读行,清晰说明每个目标如何落地到五维行动体系。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 身强体健(身 · 主动健康):健康是一切幸福的根基
- 关系和谐(行 · 人际和谐):家庭幸福源于人际和谐
原有三支柱(衣食无忧/子女传承/受人尊敬)保持不变。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- dimension-config.vue: health norm config table with el-dialog edit
- data-source-config.vue: health data source CRUD table
- 3 unit test files (DimensionScoreService, ProductOrderService, DifySyncService)
- router: add /health-norm-config and /health-data-source routes
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
growth_plans/growth_records/task_templates等表,以及后端DTO/Entity/Service/Controller、
前端页面和文档中的对应引用。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- EMI: emotion_score, resilience_score, stress_coping_score, self_awareness_score
- Big Five: openness, conscientiousness, extraversion, agreeableness, neuroticism, big_five_overall_score
Also cleanup: remove leftover merge conflict markers from DatabaseInitializer and delete legacy UserAddressController (superseded by new module).
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 移除index.vue内联splash覆盖层(由独立splash.vue页面替代)
- 新增tab-transition.vue组件:五维品牌过渡(行/身/智/心/富)
- 5个tabbar页集成tab-transition:onShow时显示1.1秒过渡
- 修复health-dimensions.vue的getSpokeStyle方法调用兼容性
- 会员体系: MembershipService, PackagePaymentService, 会员升级/续费接口
- 推广裂变: ReferralLeaderboard(排行榜), InviteMilestone(里程碑), Coupon(优惠券)
- 成长任务: GrowthTask + GrowthTaskLog 实体/Service/Controller
- 分佣扩展: CommissionService 新增分佣逻辑
- 定时任务: LeaderboardWeeklyResetTask 每周排行榜重置
- 数据库: schema.sql 新增相关表结构
Frontend(小程序):
- 会员/推广: upgrade.vue, promotion/index.vue, invite.vue, leaderboard.vue
- 优惠券/成长任务: coupons.vue, daily-tasks.vue, onboarding.vue
- 导航/API: ProfileMenu 新增入口, api.js 新增接口
Admin(管理端):
- 优惠券管理 CouponManagement.vue
- 成长任务管理 GrowthTaskManagement.vue
- 推广管理 PromotionManagement.vue
- Layout/路由: 新增管理菜单项
测试:
- e2e: test-promotion-flow.sh 推广流程测试脚本
&& echo DONE
- Product list: ProductController/Service, DimensionProducts component
- AI recommendations: RecommendationService (tag-based LIKE), DifySyncService (TODO)
- Energy on purchase: NOT implemented - ProductOrder.pay() doesn't call awardEnergy()
- Proposed improvements documented in Section 8.2
- Frontend: promotion pages (team list, invite), SharePoster component, API helpers
- pages.json: add /promotion/share route
to design doc spec (growth/sleep/vision/immunity/nutrition/gut/exercise)
- Includes: DB migration (3 tables), entity remodel, percentile engine,
data source tier priority, gut flora report mapping
- Design spec: 7-dim model definition, mapping matrix, architecture notes
- 后端: family_members 主表 + relationship_types 配置表+种子数据
- 后端: 手机号关联已注册用户, capability_role→权限映射
- 前端: add-member.vue 统一添加入口, family-members.vue 改版
- 前端: store新增switchToMember/switchBackFromMember
- 前端: index.vue 修复 _doInit 方法位置, health-report.vue 修复:class方法调用
- 管理端: RelationshipTypes.vue CRUD完整功能
- 编译通过, AGENTS.md 更新验证策略
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增 RelationshipPicker.vue 可复用组件(自动加载关系类型列表,v-model 双向绑定)
- add-member.vue 改用 RelationshipPicker 替代内联 picker
- family-members.vue 增加编辑成员关系类型功能(弹窗+保存)
- docs/运营推广设计/IMPLEMENTATION_PLAN.md: 完整实施计划(19个待办事项,含验收标准、QA场景、引用路径)
功能范围:
P0(补全占位): 分享邀请卡、推广团队页、微信转发
P1(激活+变现): 新手任务、每日任务、优惠券系统
P2(裂变放大): 邀请里程碑、推广排行榜
含管理端3个页面
分支: cfclub
- 自己出题自己答四步交互流程
- 训练中心 2 游戏入口(舒尔特+猜数字)
- 认知报告 7→6 维修正(DAN六维标准)
- FamilyRelationGraph wisdom 支持
- Phase 2 待办清单
- DB: health_dimension_score, health_data_source_record, health_norm_reference tables
- Entities: HealthDimensionScore, HealthDataSourceRecord, HealthNormReference
- Mappers: HealthDimensionScoreMapper, HealthDataSourceRecordMapper, HealthNormReferenceMapper
- Services: HealthDimensionScoreService, HealthDataSourceRecordService, DimensionScoreService
- Controller: HealthDimensionController with /overview, /upload, /questionnaire, /history endpoints
- Frontend: pages/body/health-dimensions.vue with CSS radar chart
- Gut report integration:肠道健康评分 saved as body dimension score
- API: getDimensionOverview, uploadDimensionScore
Compile fixes (pre-existing bugs blocking build):
- DimensionScoreVO: add 5-arg constructor for DEFAULT_DIMENSIONS
- HealthReportController: add BigDecimal import, Integer->BigDecimal conversion
- DatabaseInitializer: fix batchUpdate(Object[][]) -> Arrays.asList(Object[][])
- Result.ok() -> Result.success() in EmotionCheckinController, MindController, TraditionalMirrorController
- AIService: add moodScore, emotionType, stressLevel fields to EmotionCheckin entity
Other additions from previous session:
- EmotionCheckin flow (controller, service, mapper, DTOs)
- BaziReadingTemplate and NumSoulConfig entities with seed data
- HealthReportPermission entity and mapper
Backend compiles: mvn clean compile BUILD SUCCESS
Frontend: pages.json + api.js + health-dimensions.vue + food-list.vue
- Web端: Activities.vue重写,使用api/activity.js封装,完整CRUD+分页+状态筛选
- Web端: ActivityReview.vue重写,实现真实审核通过/驳回(draft→publish/reject)
- Web端: 新增api/activity.js(6个API函数)
- 小程序: 新增vendor/product-edit商品编辑页(创建+编辑双模式)
- 修复: 移除Vue文件中直接axios调用和可选链?.
- 22个问题精简为11个,聚焦家长最关心的核心问题
- 健康档案类问题从纯菌群检测改回健康数据中心定位
- 删除过技术化的16S rRNA、过度细碎的多个家庭/长辈问题
销售文案:
- 对标滴滴企业版痛点-方案-数据三段式结构
- 面向家长群体,5个痛点覆盖散装育儿/健康管理/成长记录/夫妻沟通/服务商选择
- 书宁老师 13701366188
- 新增菌群检测适用年龄/周期/技术科普、精准健康方案、
规划师服务、五维评估流程、多孩管理、长辈使用、
付费模式、AI教育对比、五行应用、数据安全等问答
- 前端可见#faq区同步扩展至20条,内容与结构化数据一致
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Add ShoppingList, ShoppingListItem entities
- Add FollowUp entity
- Add UserFoodPreference entity
- Add corresponding Mapper interfaces
- Update DatabaseInitializer and Food entity
- 营养师健康报告/指标管理页面
- 新增营养映射管理页面(NutritionMappings)
- 路由配置更新支持营养功能
- Layout布局适配
- 新增健康报告详情页(body/health-report.vue)
- 家长首页(parent-index)大改版,增加营养板块
- 扩展API接口支持营养功能
- pages.json路由配置更新
- 扩展健康报告分析服务(肠道菌群/营养评分)
- 饮食推荐服务完善(季节食材过滤/候选人筛选)
- 数据库初始化增加营养相关表
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
parent-index.vue / child-index.vue 集成引导浮层+storage 触发
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
发现页:emoji 4 卡片替换为五维价值矩阵(身🌏心🔥智⚡行🌿富💧)
角色切换:transition fade out-in 0.3s 淡入淡出
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
新
- feat(faq): Add FAQ section with 8 Q&As + wired FAQPage schema
- feat(stats): Add social proof stats bar (120K+/40K+/1K+)
- feat(testimonials): Add testimonial section with 3 user review cards
- feat(cta): Add 扫码体验 CTA button in hero linking to #contact
- feat(content): Deepened DAN and 菌群检测 product card descriptions
web: 强化家庭会员概念 - 产品概览增加会员制副标题,角色卡标注会员主体
web: 文案覆盖成人用户,评估维度明确为身智心行
web: 核心功能重构为识别诊断→个性化方案→跟踪执行→成果检验闭环
web: 核心功能改为功能闭环(含导航和页脚)
web: 幸福三支柱改为平台角色并锚点到#roles,五维幸福维度改为幸福维度
web: 顶部核核心产品标签改为产品概览,下区分两个核心产品
web: 移除三支柱卡片,内容合并进产品区引言
web: AI区标题改为六大AI引擎,专业知识库+大模型
web: 统计数据改为3/4/5/6并添加锚点链接
web: 核心产品替换健康好水为精准营养方案
web: 小程序码放大至180px便于扫码
web: 客户角色卡替换SVG占位符为真实小程序码
web: 添加浠艾福小程序码(cf.jpg)到联系我们区域
上传文件至 'web'
web: 五维卡片SVG插图 - 船体上宽下窄/¥抽象为帆/鱼放大
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
2. uploadReport: gut_flora段补充symptoms设置+ParsedIndicator新增symptoms字段
3. 新增UserNutritionProfile模块(Mapper/Service/Controller),MealRecommendService改用数据库偏好
4. 小程序新增recipe-detail.vue和preference.vue+pages.json注册+api.js接口
5. filterCandidates增加卡路里上限过滤(>2400kcal排除)
- 行维度重新定义为人际和谐(关系建设)
- 新增幸福三支柱章节(衣食无忧/子女传承/受人尊敬)
- 新增五行相生相克关系说明
- 新增企业官网介绍与目录结构
- 新增 nginx 部署配置说明
- 更新公司及产品介绍对齐官网文案
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Plan covers: 5 tasks — skeleton, Canvas lines, interaction, unit tests, integration verification.
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- View layer (flexbox) for nodes — conditional layout per member count
- Canvas layer (type=2d) for self-to-other relation lines
- Energy value mapped to avatar size (not ring progress bar)
- Native View @tap replaces manual Canvas hit detection
- Removes: polarLayout, drawMember, drawMemberLegacy, drawMemberShape, drawEnergyRing, initCanvas, onCanvasTap
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- FamilyInvitation entity + mapper(邀请令牌)
- FamilyInvitationService(生成/校验/接受/合并/转让)
- 5个API端点:/generate, /validate, /accept, /check-family, /transfer-admin
- WechatService.generateWxacode() 小程序码生成(降级ZXing QR)
- DatabaseInitializer 添加 family_invitations 表迁移
新增小程序端:
- pages/invite/join.vue(扫码落地页:登录+身份选择+合并)
- App.vue handleScene() 处理 wxacode 场景值
- api.js 新增 5 个 API 方法
- pages.json 注册邀请页路由
数据流:扫码 → scene=invite={token} → App.vue解析 → 跳转join页
→ 登录 → 选身份 → 调/accept → 加入成功
ProfileHeader (user card + energy + role switch)
ProfileStats (action data + wealth data + referral code)
ProfileBadges (badge grid with API/local fallback)
ProfileGrowth (growth report card)
ProfileMenu (menu list + password modal + logout)
ProfileMenu emits invite-generate to parent to preserve shareData
- rewards.vue: remove duplicate loadRewards() method (second
overrode the first, first correctly reads currentRole from storage)
- Create pages/meal/recommend.vue (AI recipe recommendation)
- Create pages/meal/log.vue (meal logging + nutrition summary)
- Register meal subpackage in pages.json
- Create web admin src/api/diet.js (13 API functions)
- Create admin Foods.vue, Recipes.vue, SeasonalFoods.vue pages
- Add admin diet routes to router/index.js
- Add '饮食管理' menu section to Layout.vue sidebar
- Add 4 mappers: FoodMapper, RecipeMapper, SeasonalFoodMapper, MealLogMapper
- Add 5 services: FoodService, RecipeService, SeasonalFoodService, MealLogService, MealRecommendService
- Add 2 DTOs: RecommendationContext, MealRecommendResult
- Add MealRecommendController (/api/meal/*) for recipe recommendations, food replacement, meal logging
- Add 3 admin controllers: AdminFoodController, AdminRecipeController, AdminSeasonalController
- Add DDL for 4 new tables in DatabaseInitializer
- Fix: add matchChildIdByName to HealthReportService (needed for remote PDF parsing feature)
- HealthReportController: POST /api/health/report/upload (multipart upload)
- HealthReportService: 事务写入报告/指标/菌群/疾病风险四表
- DatabaseInitializer: ALTER TABLE 迁移新增字段
- report-upload.vue: 新增PDF文件选择+上传组件
- health-report.vue: 新增SVG环形评分仪表盘可视化
- App.vue: onShow 同步 storage → Vuex token
- login.vue: 移除 setTimeout,登录后 Promise 链内直接跳转
- Article: add submittedBy, reviewedBy, reviewedAt, reviewComment, sourceType, sourceUrl fields
- ArticleService: submit, review, getPendingList, getUserSubmissions methods
- ArticleController: /submit, /my-submissions, /fetch-link, /upload/document endpoints
- AdminArticleController: /review, /pending-list endpoints
- PdfParseService + DTOs: parse gut flora PDF reports (ParsedReportResult, ParsedGutFlora, etc.)
- HealthReport/HealthGutFlora entities: report upload and storage
- HealthReportController: report upload + parsing endpoints
- Activity: add fields and endpoints
- DatabaseInitializer: schema updates
Frontend (mini-program):
- pages.json: register new pages
- body/index.vue + member-body-detail.vue: health report UI
- action/index.vue + member-action-detail.vue: activity UI
- mind: article-detail, index, member-mind-detail updates
- child-index.vue: updates
- api.js: new API endpoints
specs: add growth record rebuild design
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- ActivityControllerTest - 活动管理员 API
- ArticleAdminControllerTest - 文章管理员 API
- GuideRolePermissionTest - 规划师权限边界
- HealthReportControllerTest - 营养调理师 API
修复编译错误 (24 个):
- BigDecimal->Integer 分制: GuidePackageServiceTest, GuideModuleIntegrationTest,
GuideFamilyServiceTest, ServiceContentServiceTest, GuideOrderControllerTest,
GuidePackageTemplateServiceTest
- .toList()->.collect(Collectors.toList()) (Java 1.8): ActivityControllerTest
- void mock doNothing: HealthReportControllerTest
文档: test-inventory.md(32文件/324用例), test-report.md(485全量)
plan: dimension knowledge base implementation plan (17 tasks, 4 phases)
specs: add dimension + knowledge base design
4 frontend components, 2 admin pages.
Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- AdminAuthController: allow nutritionist/activity_admin/article_admin roles
- Auto-detect role on login for new role types
Frontend (cfc-web):
- Router: role-based route access control (admin bypasses all)
- Layout.vue: role-specific sidebar menus
- Add Activities.vue route for activity_admin
- Add .omo/ to gitignore
- docs: family-relation-graph plan and spec
- docs: mind-page dual-tab plan
- docs: profile-page redesign plan and spec
- docs: precise nurture recommendation spec
- test: article CRUD controller/service tests
- test: update test-cases and test-inventory
- fix: InternalApiController, DanshopMigrationService, ArticleEdit
- chore: cfc-web router/request/vue.config adjustments
后端原未返回该字段,growthReport.monthActiveDays 始终为 0。
改为统计当月有积分变动的天数。
Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
- 功能菜单4组分组(个人/财富/服务/设置)
- 邀请合并为ActionSheet选择类型
- 勋章墙3×3网格,优先调后端Badge API
- 成长报告真实数据(复用 /api/stats/child/overview)
- mind/index.vue: 心理Tab新增心愿单入口
- onCancel uses danshopOrderCancel (was productOrderCancel CFC)
- onConfirmReceive uses orderNo param (was orderId)
- onBuyAgain navigates to shop/detail (was discover/product-detail)
Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
instead of calling CFC productOrderPay which had wrong order system
- order-list: onCancel() → danshopOrderCancel (DanShop) not productOrderCancel (CFC)
- order-list: onConfirm() → danshopOrderConfirm (DanShop) not productOrderConfirm (CFC)
- checkout: fix address selection eventChannel — both events{} and success{}
callbacks now set selectedAddress (was empty stub, blocking order creation)
Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
- Add cfc-frontend unit tests:
- API tests (115): all modules (auth, streets, user, family, tasks, points, wishes, guide, payment, mini-games, growth, energy, badges, articles, contact, vendor, product, commission, stats, AI chat, health report, danshop, etc.)
- Store tests (14): all mutations + actions
- Config tests (7): all environments + helpers
- Format utils tests (11): formatPrice/rate/score
- Fix danshop route changes (/danshop/ -> /api/shop/)
- Fix config DANSHOP_BASE_URL (8888 -> 9081)
- Fix productList method (GET -> POST)
- Add 8 new API tests (health report, report survey)
- Update test-report.md (211 frontend tests passing)
cfc-frontend: 153 passed
cfc-web: 44 passed
e2e: 14 passed
Total: 211 passed (100%)
- Tab栏:心·心理 / 智·认知 双Tab切换
- 心理Tab:EMI心理四维、大五人格、每日心理、推荐阅读(心理相关)
- 认知Tab:DAN综合认知评分、六维雷达图、认知训练、阅读统计、推荐阅读(认知相关)
- Tab切换时活动/商品跟随切换维度(mind/wisdom)
- 推荐阅读根据文章 relatedDimensions 按Tab筛选
- DanshopPaymentRecord: 支付代理记录实体+Mapper
- DanshopMigrationService: 批量迁移用户/商品到DanShop
- DanshopMigrationController: 迁移触发端点
- application.yml: 新增wechat.danshop-notify-url配置
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- A1: FamilyEnergyBar 成员导航 — 页面已存在且已注册,无需修改
- A6: 修复 parent-index.vue 模板孤立 @moreProducts 标签
- A4: child-index.vue onDomainClick 追加 childId 参数
- A5: 补充运动类/艺术类/家务类成就徽章解锁逻辑
- A2: 移除 DimensionActivities 组件自加载 API(父组件已传 prop)
- A3: 移除 DimensionProducts 组件自加载 API(父组件已传 prop)
- A7: wuxing-sandbox preview 模式缓存随机值(Storage 持久化)
- A8: FamilyMemberCard roleLabel 增加前端兜底显示
- A9: 收紧 parent-index 降级路径成员过滤条件,移除 !c.role
- A10: FamilyMemberStrip scroll-view 增加固定高度 160rpx
防止唯一键冲突
- 修复 GuideApplicationServiceTest(2用例):添加 @MockBean
GuideApplicationRecordMapper,避免 addRecord() 真实写入 DB
- 修复 AuthControllerTest(1用例):移除不必要的 doNothing() 调用
- 新增 5 个测试文件(AuthControllerTest 39用例, WishControllerTest 27用例,
TaskControllerTest 19用例, FamilyControllerTest 10用例,
StatsControllerTest 6用例)
- 更新 test-inventory.md 和 test-report.md 测试文档
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 主目录仅保留当前有效文档
- 新增 docs/CHANGELOG.md 变更记录
- 行远页新增「重要关系维护」功能设计 (spec + plan)
- 新增 Contact 实体/API 设计
- 心智页能量柱改为堆叠图(心+智叠加)
- 私密活动可见性扩展为 visibility/visibleScope/visibleTo 三字段模型
- DanAssessmentResult: EMI 4 字段 (emotion_management/empathy/social_adaptability/self_motivation)
- User: +birthHour 出生时辰
- family_member_attributes: 新结构 (member_id/member_type/birth_datetime/eight_characters/wuxing_elements/mind_base_score/wisdom_base_score/behavior_modifier)
- schema.sql + DatabaseInitializer 全面更新
Phase 1: 心智计算
- FamilyMemberAttributeService: autoCalculate(生肖/八字四柱/五行星盘/生命灵数) + calcInnateScore
- FamilyAttributeController: /api/family/attributes/{update,get,calculate}
- EnergyService: calcChildMind=EMI 70%+先天30%+行为修正; calcChildWisdom=COG 70%+先天30%+行为修正
- FinanceCheckinService: +awardEnergy 接入
Phase 2-3: 前端
- user-edit.vue: +出生时辰选择器
- cognitive-report.vue: 认知测评报告页
- health_reports: child_id→user_id
已实现降级策略: DAN→先天→任务完成率
- docs: 新增 v1.2-心智增强-版本计划.md(阶段划分/交付物/验收标准)
- docs: 新增 v1.2-心智增强-阶段总结.md(5路代码审计 + 需求确认 + 19项实施任务)
- feat: 会员与分销体系(Membership CRUD/升级/佣金/提现/邀请)
- feat: 财富维度页面(记账打卡/保单管理/财富首页/保险添加)
- feat: 教育后台管理 + 健康报告实体/服务/控制器
- feat: 规划师端测评管理/团队管理 + 认知评分服务
- feat: 前端 TabBar 5标签重构 + 身体/行动/发现/商城/教师页面
- refactor: 前端组件化(PageBanner/RadarChart/TaskItem/BadgeGrid/EnergyWeekCard)
- refactor: 后端服务拆分(EnergyService/HealthReport/Commission/FinanceCheckin)
- chore: 配置更新(application.yml/pom.xml/schema.sql/schema_assessment.sql)
- AGENTS.md: add energy/commission/article/badge module entries
- .env.development: remove (should not be tracked)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Plans: module development plan, wuxing layout update, wuxing sandbox refactor, article publishing, energy system
- Specs: wuxing sandbox refactor design, body dimension energy, remaining dimensions energy
- Analysis: domain comparison (亲子 vs 个人健康/关系维护/康养/认知提升)
- product-plan/ directory
- Updated: pre-login discovery plan/spec, 需求分析文档, 小程序页面重设计划
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
New API modules: article.js, energy.js
Updated: admin.js (new endpoints), router/index.js (new routes), Layout.vue (nav items)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- body/: 身体健康维度页面 (body dimension)
- energy/: 能量中心 (energy center hub + history)
- mind/: 心理健康维度页面 (mental health dimension)
- promotion/: 推广中心 (referral/promotion hub + invites + commissions + team)
- games/records.vue + stats.vue: 游戏记录/统计
- rewards/badge.vue: 徽章展示页
- stats/index.vue: 统计概览
Updated pages: index (parent/child), discover, profile, login, shop, membership, tasks (child/review), wishes, games/list, config.js
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Rewrite custom-tab-bar/index.vue for new TabBar pages [body, mind, profile]
- Updated uni.scss with new page variables and energy/promotion theme colors
- PlayfulButton/PlayfulCard: gamified UI primitives with wǔxíng animations
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Move non-TabBar pages to subPackages (teacher, guide, parent, child, tasks, wishes, rewards, games, assessment, growth, shop, vendor, stats, promotion, energy, membership)
- TabBar changed: [index/discover/shop/profile] -> [index/body/mind/profile]
- manifest.json: lazyCodeLoading, name/description update
- package-lock.json: rename zxyj -> cfc
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Java 包: com.zxyj → com.etotem.cfc (主程序 + 测试)
- pom.xml groupId/artifactId/name, application.yml 数据库/JWT 配置
- AGENTS.md, DESIGN.md, README.md 引用更新
- 前端/Web package.json name 更新
- 分支: feature/modules-A-E-complete → cfclub
- 实施计划:12个任务,从DB迁移到前端集成完整流程
- 健康指数算法待定,先返回0占位
@RequestHeader 读取导致的 401 错误。改用 request.setAttribute +
@RequestAttribute 模式,JwtInterceptor 同时设置两处确保兼容性。
T12-T14: Web admin product/order/config management
- OrderManage.vue: admin order list with status filter, detail dialog
- SysConfig.vue: admin config CRUD with inline edit dialog
- admin.js: product/order/config API functions aligned with backend paths
- router/index.js: ProductManage/OrderManage/SysConfig routes + adminRoutes list update
- Layout.vue: sidebar menu items for product-manage, order-manage, sys-config
T7-T11: Frontend product system pages
- discover/index: real product grid replacing hard-coded cards, filter chips
- NEW product-detail: cover, name, price, buy flow, create order + pay
- NEW order-list: status tabs, order cards, pay/cancel/confirm actions
- NEW order-detail: order detail with bottom action bar
- NEW vendor/products: vendor product list with shelve/edit actions
- NEW vendor/orders: vendor order list with confirm action
- vendor/center: fixed navigation methods
- pages.json: registered all 5 new pages
- 新增 familyRole 字段支持家长身份 (爸爸/妈妈/姥姥等)
- 新增 Family.creatorId 标识家庭管理员
- 实现家庭成员管理及踢出功能
模块 B: 家长邀请规划师
- 优化 InviteCardService.acceptGuide 自动绑定规划师到家庭
- 前端增加邀请规划师入口
模块 C: DAN 测评购买改造
- AssessmentOrderController.createOrder 支持 guideId 可选
- 自动从 Family.teacherId 分配规划师
- 前端支持'由系统安排'选项
模块 D: 规划师邀请家长
- 新增 /api/guide/parent-invite/generate 生成邀请码
- 新增 /api/guide/parent-invite/accept 接受邀请
- 自动创建成长档案并绑定规划师
- 前端支持邀请码生成和接受流程
模块 E: 成长档案 + 测评购买一体化
- 新增 /api/growth/record/create-with-order 合并接口
- 前端增加'同时购买 DAN 测评'选项
- 支持创建后直接跳转支付
技术改进:
- 统一使用 @PostMapping 规范
- 优化 InviteCard 生成逻辑支持 parent_invite 类型
- 前端支持邀请码自动识别和处理
- superpowers: 新增规划文档(家长端重设计/邀请码流程)
- 新增logo和specs文档
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- TaskStatsService: 任务统计服务
- GuideApplicationRecord: 规划师申请记录实体和Mapper
- stats包: 统计相关控制器
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- index.html: 标题和meta更新
- package.json: 添加element-ui依赖
- 移除 pnpm-lock.yaml (改用npm)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- TeacherMessages: 规划师消息管理功能完善
- TeacherDashboard/TeacherFamilies: 仪表盘和家庭管理优化
- TeacherAssessment/TeacherTeam: 测评和团队管理增强
- Dashboard/GuideAudit/Users: 管理员看板和审核功能优化
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 登录页(login): 优化验证码和登录流程
- 心愿/任务/兑换: 交互细节优化
- 成长档案/规划师注册: 页面完善
- 新增 child-detail 孩子详情页
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 测评订单和预约: 新增字段和业务逻辑优化
- 成长档案: 服务逻辑完善
- 认证和家庭绑定: 流程优化
- DatabaseInitializer: 数据库初始化脚本同步
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- GuideManagementController: 完善邀请码生成和规划师申请流程
- TeacherMessageController: 老师消息回复接口优化
- GuideFamilyService/GuideApplicationService: 家庭绑定和申请服务增强
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- AdminAuthController: 锁标识从纯IP改为phone+ip组合
- UserService.resetPassword: 改用encryptPassword统一盐值(xzyjsalt )
- 修复管理员重置密码后用户无法登录的问题
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 需求分析文档V2.0:对比需求文档与代码实现,标注完成状态
- 新增测试清单文档
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- router/index.js:新增teacher路由组+权限守卫
- Login.vue:登录页优化
- 修正API路径(teacher-message→guide/messages, guide/my/packages→guide/packages/my)
- 修正assessment API方法GET→POST
- 新增guidePackage/guideTask/teacherMessage API模块
- 新增TeacherAssessment/TeacherOrders视图
- 添加jest/babel配置和测试框架
- 更新依赖(pnpm-lock)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- GuideOrderControllerTest:订单列表和统计测试
- GuideTeamControllerTest:团队管理测试
- GuideApplicationServiceTest:申请审核测试
- GuideFamilyServiceTest:家庭绑定测试
- GuideHierarchyServiceTest:层级关系测试
- GuidePackageServiceTest:套餐管理测试
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 新增SwitchRoleDTO角色切换DTO
- UserService重构:完整实现directRegister/isPhoneRegistered,新增switchRole/registerWithInviteCode/resetPassword
- UserServiceInterface添加缺失方法声明
- 新增GrowthPlanMapper支持成长规划表数据迁移
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 修复AuthController手机号/身份证格式校验
- 新增GuidePackageController /my端点解决路由404
- GuideOrderController查询逻辑优化
- GuideTeamController团队功能增强
- GuideController路由重定向处理
- DataMigrationController + MigrationController新增迁移端点
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- DataMigrationService实现9步数据迁移
- 更新DatabaseInitializer添加数据库表和字段迁移
- ZxyjApplication排除DataSourceAutoConfiguration
- application.yml添加sfms数据源配置
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- guide_packages表: 移除IF NOT EXISTS, 新增teacher_id/template_id改为NULL
- assessment_appointments表: 移除IF NOT EXISTS
- GuideModuleIntegrationTest: 修正套餐创建使用TaskTemplatePackage(非GuidePackageTemplate)
- 使用CreatePackageDTO + taskTemplatePackageService.createPackage()
- 添加cycleDays必填字段
- 新增重复创建验证替代原价格校验
- TeacherLoginTest: 补全users表NOT NULL字段(openid, familyId)
- 修正role为ENUM有效值(teacher), 使用roles字段测试多角色
- 所有Service实现类添加implements XxxServiceInterface
- MediaRecordService和StorageService(旧接口) extends对应新接口
- 修正接口方法签名与实现类一致:
- TaskReminderServiceInterface: 基于Task实体(无TaskReminder实体)
- PaymentServiceInterface: 基于PackageOrder实体(无Payment实体)
- BindInviteServiceInterface: 基于GuideFamily(无BindInvite实体)
- LoginAttemptServiceInterface: 内存实现(无LoginAttempt实体)
- DataMigrationServiceInterface: 仅runMigration方法
- PointsServiceInterface: 基于PointsLog实体
- MembershipServiceInterface: 基于FamilyMembership实体
- PackagePurchaseServiceInterface: 基于PackageOrder实体
- PackagePaymentServiceInterface: 基于PackageOrder实体
- AssessmentServiceInterface: 补充完整方法签名
- 新增TaskPlanServiceInterface(原缺失)
- mvn clean compile BUILD SUCCESS
- 添加成长规划师、DAN评估、小游戏任务等核心功能
- 更新API接口列表
- 添加测试和开发规范说明
- 新增成长规划师登录测试(TeacherLoginTest)
- 修复AssessmentResultMapper类型错误(DanAssessmentResultMapper)
- 修复Admin实体nickname字段缺失
- 修复AssessmentAppointment status类型(String)
- 修复GuideFamilyTaskControllerTest测试
- 添加套餐模板管理API
- 添加成长规划师套餐API (CRUD + 状态管理)
- 添加团队管理API (我的团队、邀请码)
- 添加订单与佣金API
- 添加家庭管理API
- 添加消息功能API
- 实现所有API改用POST方法
- 添加测试用例覆盖所有CRUD操作
- 更新数据库初始化脚本
- 添加前端管理页面 (服务类型、服务内容、套餐模板)
- 添加成长规划师工作台页面
修改:
- 后端安全增强 (防暴力破解、HTTP安全头)
- 前端路由守卫Token验证
- Web管理端功能完善
- 实现指导师邀请码系统(GuideInviteCode)
- 支持指导师套餐定价(GuidePackage)
- 实现测评报告权限控制(上级可查看下级报告)
- 添加套餐购买和支付功能
- 创建指导师注册、邀请码分享、测评申请等前端页面
- 添加数据库表结构(schema_guide.sql)
- 修复 Java 8 兼容性问题(toList、List.of)
- 编译验证通过
- TaskService增加completeMinigameTask方法处理小游戏任务完成
- TaskController增加minigame-options和complete-minigame接口
- 前端:创建任务页面支持选择小游戏类
- 任务列表显示小游戏任务标识
- 小游戏页面支持从任务跳转并调用任务完成接口
更新测试用例:添加小游戏任务类型测试(MINITASK-001~004),更新需求同步文件
设计文档:在线小游戏作为任务类型的处理方案(方案B-2:category+minigameCode)
修复需求同步状态,添加小游戏相关需求项
- 新增Wish实体/Mapper/Service/Controller完整后端API
- 新增小程序孩子端心愿页面(列表/创建/详情)
- 新增小程序家长端心愿管理页
- 新增Web管理端心愿管理页
- 删除错误的migration_wishes.sql迁移脚本
- 新增schema-wishes.sql建表脚本
设计明确:
- rewards: 心愿库(家长预设奖励模板)
- wishes: 个人心愿(每个人的实际心愿)
其他修复:
- 修复pages.json路由配置
- 修复API调用和页面跳转
更新需求文档:小游戏作为任务类型的一种形式,新增小游戏类任务分类和API说明
完善测试用例:新增指导师功能、小游戏模块、任务模板管理等API和Web测试用例
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 小程序端:API接口测试,构造请求数据验证响应,不进行UI点击
- Web管理后台:浏览器自动化测试,管理员/指导师登录,测试过程截图
测试账号更新:
- 管理员: 13800138000/admin123
- 指导师: 13800138003/teacher123
- 家长和孩子不登录Web后台
环境配置:
- 后端API地址: http://192.168.16.18:8080
- Web管理端地址: http://192.168.16.18:8081
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
sync: 更新测试说明与同步元数据
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 添加年龄空值检查
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- POST接口参数从@RequestParam 改为@RequestBody 适配JSON请求体
- Web管理端API调用从GET改为POST
- 小程序utils/api.js默认方法改为POST
变更文件:
- 后端Controller: MarketController, TaskTemplatePackageController, PackagePaymentController, StreetController, MediaController, MiniGameController, StreakController, MembershipController, BindController, BindInviteController, UserController, GuideController, GuideFamilyTaskController, TeacherController, TeacherMessageController, AdminController, RewardController, RewardWishlistController, PointsController, TaskController, TaskReminderController
- Web API: guideTask.js, teacherMessage.js
- 小程序API: utils/api.js
- DTO: CompleteTaskDTO
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- DatabaseInitializer: 添加admin_task_templates表新字段迁移(complete_types/duration/review_type/task_type/frequency/max_frequency)
- 整理TASK-001~016需求清单和状态
- 定义Task实体字段和数据模型
- 汇总API接口和前端页面
- 标注待完善功能
- P1需求42%完成(19项),包括任务提醒统计
- 更新指导师、小游戏、打卡功能修复状态
- 记录数据库迁移和定时任务
- 添加下一步开发建议
- TASK-014: 任务历史记录(带状态/时间筛选)
- TASK-015: 任务统计分析(概览/分类/日期/家庭统计)
新增API:
- GET /api/tasks/reminder/{childId} - 需要提醒的任务
- GET /api/tasks/upcoming/{childId} - 即将到期任务
- GET /api/tasks/overdue/{childId} - 已超时任务
- GET /api/tasks/history/filter/{childId} - 带筛选的历史
- GET /api/tasks/statistics/{childId} - 统计概览
- GET /api/tasks/statistics/category/{childId} - 分类统计
- GET /api/tasks/statistics/date/{childId} - 日期统计
- GET /api/tasks/statistics/family/{familyId} - 家庭统计
- OperationLogController改用POST方法(安全要求)
- Web端API调用适配POST方法
- 改进Layout菜单和角色显示逻辑
- 路由守卫改进指导师权限检查
- OperationLogController改用POST方法(安全要求)
- Web端API调用适配POST方法
- 改进Layout菜单和角色显示逻辑
- 路由守卫改进指导师权限检查
- 实现每日/每周重复任务设置(TASK-004)
- 创建RepeatTaskGenerator定时任务,每天凌晨5点生成重复任务实例
- Task实体添加templateId和isTemplate字段追踪模板关系
- 前端create-task.vue添加日期时间选择器和重复类型选择
- 添加数据库迁移20-21
- REWARD-002A: 家庭奖励库,多家长可调整积分
- REWARD-002B: 多孩子心愿单隔离
- POINT-002: 超额积分规则,支持自定义bonusRule
- POINT-009: 积分有效期,支持按任务设置过期天数
- 添加数据库迁移16-19
- 添加积分过期定时任务PointsExpireTask
- 新增操作日志功能
sync: 同步测试资产到 V1.2 需求
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
1. 任务分类 TASK-005: P1 → P0
2. POINT-002: 提前完成奖励 → 超额完成奖励(家长制定规则)
3. POINT-009: 积分每月清零 → 积分不清零,可设置有效期
4. REWARD-001A: 家长填写所需积分后心愿进奖励库 (P0)
5. REWARD-002A: 家庭奖励库 (P0)
6. REWARD-002B: 多孩子心愿单隔离 (P0)
7. DAN测评模块重构:
- 测评数据来自接口(非拍照上传)
- 作为测评记录,不作为孩子基本信息
- 与任务、心愿平行(P1)
- 删除手动录入、图片上传等需求
sync: 同步需求变更,新增 MODE-010 测试用例
- 新增 MODE-010 指导师注册与审核测试用例 (P2)
- 创建 .test-sync.json 记录需求同步状态
- 需求变更:新增 9 个需求项,修改 1 个需求优先级
新增需求测试用例:
- TASK-012A ~ TASK-012F (已包含)
- MODE-008, MODE-009 (已包含)
- MODE-010 (本次新增)
修改需求:
- MODE-006: P2 → P0,描述更新
需求覆盖度:100% (P0/P1/P2 全覆盖)
- 优化UserController用户信息更新逻辑
- 优化login.vue登录流程和手机号检查
- 优化parent-index.vue导航逻辑
- 更新需求分析文档状态
- 实现连续打卡里程碑奖励及自动重置定时任务
- 重构控制器按功能模块分组(admin/auth/family/guide/task/reward)
- 修复指导师信息入库、家庭检索逻辑等问题
- 添加API权限校验和测试文件
- 创建.gitignore排除构建产物
- 更新后端AGENTS.md,添加街道地址功能和代码地图
- 更新前端AGENTS.md,完善uni-app配置和地址匹配功能
- 新建Web管理端AGENTS.md,Vue.js + Element UI文档
- 新建Superpowers AGENTS.md,AI开发工具工作流规范
- 新建Tests AGENTS.md,分层测试策略和状态评估
- getFamilyWishlist: POST /family 改为 GET /family
- 避免与create的POST /冲突
- 修正HTTP方法语义(查询用GET)
- 添加idx_teacher_id索引
- 修复Unknown column 'teacher_id'错误
- getMyPackages: POST / 改为 GET /my
- 避免与createPackage的POST /冲突
- 修正HTTP方法语义(查询用GET)
- GuideFamilyTaskController保留 /api/guide/families
- 避免Ambiguous mapping错误
- BindInviteController保留 /api/guide/bind/invite
- 避免Ambiguous mapping错误
- 将指导师相关字段迁移移到DatabaseInitializer
* teacher_no - 指导师证书号
* teacher_photo - 指导师照片
* certificate_image - 证书照片
* teacher_status - 审核状态
- 修复GuideController缺少UUID导入
- 更新auth.js优化认证逻辑
- 更新router添加更多路由
- 更新Layout优化菜单结构
- 更新Rewards和Tasks页面功能
- 更新index.html标题
- 更新package.json依赖
- 新增PlayfulButton和PlayfulCard组件 - 趣味化UI
- 新增指导师相关页面(套餐管理、绑定邀请等)
- 新增家长市场页面(套餐市场、任务计划)
- 新增任务创建和审核页面
- 新增教师端页面
- 新增会员中心页面
- 新增孩子管理页面
- 优化登录页面和首页UI
- 更新pages.json路由配置
- 更新全局样式uni.scss
- 新增BindController - 家庭绑定指导师
- 新增BindInviteController - 绑定邀请
- 新增GuideController - 指导师管理
- 新增GuideFamilyTaskController - 指导师家庭任务管理
- 新增MarketController - 套餐市场
- 新增PackagePaymentController - 套餐支付
- 新增TaskTemplatePackageController - 任务模板套餐
- 新增PackageOrder实体和Mapper
- 新增BindInviteService和PackagePaymentService
- 更新schema.sql和配置文件
* 省市区街道四级选择
* 支持v-model双向绑定
* 自动加载地址路径
- 新增家庭地址编辑页面address-edit.vue
* 集成地址选择组件
* 保存家庭地址到后端
- 新增区域匹配页面street-match.vue
* 显示街道级/区县级/城市级匹配结果
* 统计各级别家庭和指导师数量
- 更新api.js添加街道相关API
* getProvinces - 获取省份
* getStreetChildren - 获取子级地址
* matchByStreet - 区域匹配
* getStreetStats - 区域统计
- Family和Teacher实体添加streetId及地址冗余字段
- 实现StreetService支持区域回退匹配逻辑
* 优先匹配相同街道
* 回退到区县级匹配
* 最终回退到城市级匹配
- 实现StreetController API端点
* GET /api/streets/provinces - 获取所有省份
* GET /api/streets/children/{parentId} - 获取子级地址
* GET /api/streets/{id}/match - 区域匹配
* GET /api/streets/stats - 按区域统计
- 数据库迁移添加streets表示例数据(广东省)
- 修复TaskReviewDTO缺少approved和comment字段
用途:
- 家庭和指导师按街道进行匹配
- 按区域统计家庭数和指导师数
- 支持地址四级联动选择
- 在DatabaseInitializer中添加runMigrations()方法
- 使用try-catch处理列/索引已存在的情况
- 支持幂等性迁移(可重复执行)
- 添加tasks表executor_type/executor_id字段
- 添加users表roles/total_points等新字段
- 添加children表birthday/gender字段
- 支持teacher角色
- 修复TaskPlanService和TaskTemplatePackageService中var类型推断(Jave 8不支持)
- 修复TaskTemplatePackageService.getPublicPackages()方法
- 将QueryWrapper.list()改为packageMapper.selectList(wrapper)
- 完善Users, Children, Tasks, Rewards, Points页面功能
- 集成后台API接口,实现CRUD操作
- 优化Layout.vue菜单结构和路由配置
- 更新Login.vue登录逻辑
- 删除不存在的/pages/index/index路由
- 修复login.vue中isNewUser判断逻辑
- 更新api.js添加新的API端点
- 更新pages.json和App.vue配置
- 新增Mapper接口: MediaRecordMapper, TeacherMapper, TaskTemplateMapper等
- 新增Service层: MediaRecordService, TeacherService, MembershipService等
- 支持多媒体上传、教师管理、会员套餐、任务模板等功能模块
* JwtInterceptor将userId存入request attribute
* Controller从@RequestHeader 改为@RequestAttribute 获取userId
- 修复TaskService中PointsLog字段错误
* log.setUserId改为log.setChildId
- 新增待审核任务查询端点 GET /api/tasks/pending-review
- 新增MediaController、TeacherController等控制器
- 完善AdminController的Web管理端API
- 修复AdminController路由 /admin -> /api/admin
- 登录接口支持选择角色(parent/child)并收集生日性别
- 新增长按孩子卡片切换到孩子身份功能
- 家长端可添加孩子、切换模式
- 孩子端可切换回家长模式
- 添加数据库自动同步服务
- Add AGENTS.md for zxyj-backend with Spring Boot conventions
- Add AGENTS.md for zxyj-frontend with uni-app conventions
- Fix AdminLoginDTO missing password field for admin login
重写schema.sql修复GBK乱码,所有中文注释使用正确UTF-8编码
修复schema.sql中注释与SQL语句同行导致的语法错误
将Java源文件编码从GBK转换为UTF-8,修复编译错误
将项目从xzyj重命名为zxyj,更新所有包名和配置,修复selectSum编译错误
删除原生小程序目录miniprogram,项目使用uni-app开发
将项目名称从xzyj改为zxyj,更新所有包名和配置
新功能
健康报告三合一 - 统一报告列表/审核/代传为单页带Tab
成长页新增推荐文章+推荐商品板块
成长板块推荐文章/商品 + AI自动分类
我的页面改为电商风格 - 订单五宫格/购物车/收货地址, 移除功能网格
通关解锁管理端 - 关卡配置 CRUD/排序/启停/家庭进度管理
前端组件+页面改造 - WuxingSandbox切换开关/gate-lock/gate-guide-bar/关卡中心页/parent-index+child-index门禁
报告详情页统一重构为完整页面,修复上传后跳转 routeDone 报错
食材戒备匹配功能
新增成就页面 achievement/index.vue
实现服务角色申请、报告详情、成就页面,修复占位按钮
新增应季食材管理后台页面
新增子维度自检题库(行6维/心自驱力自我概念/智成长型思维/富家族传承)及计分
心13维分组雷达图+行6维关系域雷达图+智成长型思维加入认知雷达
五维体系新增心13维/行6维/智成长型思维/富家族传承子维度字段与计算逻辑
菌群功能分析——功能维度聚合+P/B比值+饮食模式+风险提示
我的页面重设计为以我为中心
我的页面新增个人成就统计API
全量列表页支持点击列头排序
全量列表支持多列排序
通关解锁后端全链路 - 2表迁移+UnlockGateService(8判定)+/api/unlock/status+sandbox个人/全家门禁+5处触发钩子+管理端接口
上传报告前增加责任声明勾选
食材列表支持多列排序
添加营养产品管理后台页面(列表+详情+菜单)
nutrition_product 添加 local_product_id 字段关联本平台商品
新增营养产品爬虫主脚本(强制包含被gitignore的.py)
新增营养产品爬虫脚本(京东/Amazon)
新增营养产品推荐Controller
新增营养产品推荐Service及DTO
新增6个营养产品Mapper
新增6个营养产品实体类
schema.sql同步营养产品6张表
数据库迁移214-219创建营养产品6张表
食材库种子数据 224 条
富维度月度引导语 + 健康/成长页五维闭环体系
补全健康页和成长页登录前内容
行维度落地页挂载 - 五维弹窗 action 跳转到专属页面
添加菌群知识库836篇文章+embedding+LangGraph集成
五维详页+健康+成长页登录前品牌内容
菌群知识库6疾病相关菌新增问题相关性/证据强度
新增请求日志中间件 + /api/v1/logs 查询接口
首页新手任务进度条置顶 + 无家庭成员空状态引导
自检结果页新增一键加入今日微行动
新手任务新增 COMPLETE_SELF_CHECK(提交五维自检即完成)
微行动×五维联动 — micro_actions 增加维度字段与短板维度推荐
个人信息所在地改为省市区三级联动并与订单联系人共享地区数据
疾病风险内联编辑 + fromMap diseaseRisks 映射 + 全量编译验证
报告入口切换到统一详情页
统一报告详情页 report-detail(blocks 渲染)
通用报告块渲染器 report-blocks-renderer
getReportDetail/DAN detail 返回 blocks
三个落库挂点写入 report_blocks(confirmDraft/confirmUpload/编辑)
ReportBlockAssembler DAN 组装(score/list/text)
ReportBlockAssembler gut_flora 组装 + fromMap 键名转换
ReportBlock 实体/Mapper/Service(blocks upsert + 读取)
report_blocks 表迁移(通用报告展示块)
报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成
报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成
五维页登录前改月度引导语 + 富页面移除底部菜单
成长页面重构为干预中心 + 定期调研系统全栈实现
上传后自动跳转确认页按 draftId 解析,移除本页预览/成员选择逻辑
新增 JOIN 赠券种子数据 + 我的优惠券接口
健康数据中心全栈实现
会员页精简 - 合并续费/升级卡片、移除tab价格、个人中心按钮与徽章等高
会员中心支持编辑会员等级(前端弹窗+后端update接口)
健康/成长Tab功能入口重组 + 成长档案改名成长记录
会员中心权益对比文案与个人中心会员卡升级入口
会员升级页移除功能列表、权益对比列联动高亮、状态卡片紧凑化
member_upgraderecords 增加 approve * 审核列迁移
首页新增品牌定位语区块
报告上传流程拆分 — 新增 /report/upload(仅上传)+ /report/parse(按草稿解析)端点,修复 uploadBaseDir BLOCKING-2 残留
添加DimensionIntroCard组件 + 四个维度页插入介绍卡片
登录前页面改版 - 五维品牌定位语+LoginGuideCard升级+我的页跳过入口+富维度商城预览
富维度页面重构为财富之泉主题
小程序 index.vue 增加 LIFETIME 检测与会员态修复(终身会员隐藏续费入口、显示永久有效)
子维度改为水滴水满样式
新增财富能量环组件
小程序 upgrade.vue 增加 LIFETIME 权益对比列(灰色不可购买)与状态卡片终身会员展示
首页动态改为单行跑马灯滚动, 快捷按钮放大
Web MembershipCenter.vue 增加终身会员统计卡片与标签样式
AdminController 增加终身会员概览统计、候选人查询与审核授予接口
新增LifetimeStatsMapper消费/销售滚动365天聚合查询
getPricingPlans 改读membership_levels并过滤LIFETIME(下线sys_config价格)
平台公告功能 - 动态页显示平台消息+管理员公告管理
插入LIFETIME终身会员等级行(migration 204)
membership_levels 添加原价列并幂等同步价格(migration 203)
会员等级实体/DTO增加原价字段, 升级记录增加审批字段
商品详情底部按钮布局调整 - 海报靠左、加购物车/立即购买靠右
手机号快捷登录 - 使用微信 getPhoneNumber 授权获取手机号
商品推荐支持空维度返回全量推荐
推荐商品/推荐阅读改四列网格; fix(backend): 家庭成员列表按userId去重
去掉'我的'页面 Tab 切换过渡页
管理端CF值余额与流水查询页面
新增管理端CF值余额与流水查询接口
购买商品发放CF值并激活推荐人分润
活动签到发放CF值
新增CF值表结构迁移与存量佣金迁移
新增PlatformPointsService管理CF值余额与流水
新增CF值余额与流水实体及Mapper
pages.json 注册会员 pay/result 页面
新增支付结果页 result.vue(成功态+赠券/失败态+续付)
新增订单确认页 pay.vue(明细/优惠券/拆单提示/虚拟支付逐期)
/api/membership/plans 返回原价字段(originalYearly/Monthly/Quarterly)
会员原价配置(sys_config 新增4键: family/premium 年费月费原价)
商城首页搜索栏加购物车入口(带角标) 财富页移除购物车服务项
商城订单快捷+推广中心快捷+购物车/订单角标
任务首页重设计 - 三Tab布局 + 家庭成员任务分配 + 接受/拒绝 + 关系分数调整
任务首页重设计 - 支持分配任务给家庭成员,接受/拒绝机制及关系分数调整
我的页面服务区添加商城和购物车入口
将过渡页从首页移入独立页面 pages/splash
TabBar 重构 - 4Tabs(首页/健康/成长/我的) + 中间五维启动器 + 自定义TabBar
成员详情页接入以成员为中心的关系条
pairwise接口API + 成员条centerMemberId视角模式
成员条空状态引导 + 长按菜单升级关系现状Action Sheet
家庭成员卡片增加关系现状三色点
关系pairwise接口(以成员为中心) + VO补齐沟通评分+isSelf
问卷提交时同步pairwise关系评分到family_relationships
family_relationships表增加关系质量评分三列
健康饮食菜单添加 LangGraph 管理入口
报告解析管理端页面 - 类型管理/指纹自学习/解析器导入/未知聚类
报告解析 agent 接入指纹识别与自动标注
报告指纹解析系统 - 类型注册/指纹识别/未知聚类/解析器导入
小程序同意/拒绝+参与成员多选+pending展示
管理端挑战评分配置页+AdminChallengeScoreConfigController
respond端点+创建去门控+list返回myStatus
create改pending+respondChallenge+打卡结算口径收紧
ChallengeScoreService方向性评分结算引擎
EnergyService新增awardEnergyByCode按维度code发放
新增participant/方向分数/评分配置实体与Mapper
参与机制迁移-新增participant/方向分数/评分配置表
恢复商品会员价 - 管理端设置 + 小程序详情页展示
规划师端代上传健康报告页面
规划师营养师代上传健康报告
添加饮食模块 AI 接口
添加饮食模块 AI 接口
添加饮食模块 AI 接口(食材识别+菜单生成)
线上服务商品管理闭环 - 服务者/时段配置UI + nutritionist服务商类型
饮食模块完整前端页面(7个页面)
饮食模块前端页面(首页+调研表)
饮食模块后端 API 完整实现
扩展 BeijingNutritionService(食材推荐方法)
法律合规补全 - 隐私政策/用户协议/同意记录/注销/数据授权/日志脱敏
家庭挑战管理页仅家长可访问
家庭挑战孩子端打卡入口 + cancelled 状态显示修复
家庭挑战到期惰性结算 + 角色校验(家长管理/孩子打卡)
家庭挑战结算发放能量点奖励并标记成员完成
商品详情页按会员身份显示会员价/原价,支付价按身份计算
合并生成含目录的完整成书稿(写法3完整版,16章5089行)
第3-7章按写法3重写(身/智/富/行/心五维)
供应商管理(CRUD + 侧边栏 + 入库单选择供应商)
订单管理页适配配送履约
商品配送与履约前端适配
优惠券表单加商品选择器ProductPicker,替代手输商品ID
创建会员权益独立配置表 + 隐藏非会员会员价 + 优惠券会员提示
商品配送与履约扩展(自取/线上服务)
库存管理 - 入库单商品搜索/日期/金额 + 手动出库 + 订单快递费
库存管理 - 入库单日期/金额/经办人 + 手动出库 + 订单快递费
家庭邀请流程改为申请审批制
库存管理 - 路由+侧边栏
库存管理 - ProductManage.vue增加库存按钮+弹窗
库存管理 - InventoryInboundCreate.vue
库存管理 - InventoryManage.vue(4标签页)
库存管理 - 管理端API调用
库存管理 - 订单集成(支付/取消/退款库存流水 + bundle穿透)
库存管理 - AdminInventoryController
库存管理 - InventoryService
补全饮水打卡 + 综合健康打卡页面 + 管理后台打卡管理
库存管理 - Mapper接口
库存管理 - 实体类(5个新实体 + Product/ProductSku扩展)
parsePreview 先调 LangGraph 解析,失败回退 Java
创建 POST /api/v1/report/parse 接口
家庭加入改为申请审批流程 + familyId 后端派生(移除前端 familyId 存储依赖与冗余传参)
创建 ReportParseAgent(算法解析 + LLM 兜底)
提取 PDF 解析核心模块到 LangGraph parsers
家庭加入审批流程与统一知识库DB化(合并rebase后本地改动)
优惠券积分兑换入口+商品详情兑换区块+发券提示+会员权益展示
优惠券配置表单扩展+发券记录页+移除商品会员价输入
管理端发券记录查询grant-log接口
商品统一价停用memberPrice(活动侧保留)
积分兑换优惠券exchangeCoupon+优惠券兑换/查询4端点
新增家庭成员时按POPULATION规则发放人口券(成员有账号发自己,无账号发家庭创建者)
PERIODIC会员券每日5:00定时补发任务+listActiveMemberUserIds
会员开通/续费/赠送时发放JOIN会员券(试用除外)
CouponService支持三类型核销+幂等发券grant方法与查询(8单测)
Coupon实体扩展会员券字段+新增CouponGrantLog实体与Mapper
迁移164 coupon表扩展会员券字段+新建coupon_grant_log发券流水表
虚拟支付失败错误上报后端日志,便于定位支付未完成根因
家庭挑战自定义管理
report-confirm 补上 auto-create-inline 面板内嵌表单基础样式
report-confirm 面板样式 + 清理 auto-create-card 死样式
report-confirm 被检测人选择整合进基本信息卡片(内联面板+移除独立卡片)
商品详情页新增SKU规格选择器
AiGateway.generateQuestionnaire LangGraph 接入 + fallback mock + python.base-url 指向 ai.etotem.com.cn
注册引导-无家庭引导组件接入核心页
注册引导-活动报名接入就地补充回写
注册引导-个人中心个人信息完善卡片
注册引导-user-edit新用户流程最小化
注册引导-回写工具profile-backfill
注册引导-个人信息使用关联表profile-field-usage
注册引导-前端api新增backfillProfile
注册引导-新增统一backfill回写接口
注册引导-注册路径不再自动创建家庭
注册引导-登录响应新增needsFamily标记
关系问卷评分算法替换 mock — 维度加权/反向/降级/缺题处理 + 5 个单测
FamilyMemberService 补 isCallerInSameFamily/isCallerInFamily 跨家庭校验方法
会员退款ORD分支 + iOS退款问询按官方协议接入
指标标题显示共N项/M项异常,异常数红色
指标输入框颜色标注异常 + ?帮助按钮弹窗显示指标说明
书架封面有图时底部叠加文章标题
新增家庭详情/地址更新/区域统计 API 封装
新增按街道ID统计家庭/成长规划师数量接口
商品赠送会员功能 - 成长档案关联商品配置(GrowthArchiveProduct) + 后端 Controller/Service/Mapper/Entity + 前端 ProductEdit 商品编辑页
商品赠送会员-管理端配置区块
会员中心页与会员价引导交互
活动/商城会员价展示、分转元显示与未登录会员状态处理
活动详情支持游客浏览与会员价 - detail(id,userId) 解析会员价
活动模块升级——付费报名订单/审核发布流/总结资料
健康报告确认页指标按类别分组折叠, 支持全部展开/折叠与需处理计数
五维家庭自检问卷(P0-1) + 五行相生寻源建议引擎(P0-2)
接入现网/沙箱双 AppKey 并补充消息推送 Token 校验
活动详情报名/签到/分享海报需登录,注册弹窗改为自定义遮罩去内置按钮
管理端虚拟支付道具映射CRUD页面
小程序活动创建表单添加会员价输入
活动管理添加会员价字段(创建编辑表单+列表展示)
活动详情页分享改为生成海报(复用ContentSharePoster组件)
前端接入小程序虚拟支付
商城入口统一指向商品商城/移除积分商城+推荐商品文案统一+商城标题'浠艾福商城'
虚拟支付超时兜底任务 pending订单query_order确认+超时关单,防success回调丢失
支持集体总合与全员个人双目标模式
订阅订单改虚拟支付
放开已上架文章和活动的编辑权限,便于初期维护
会员订单改虚拟支付 createOrder返回VirtualPayParams,发货推送复用processPaymentCallback,修正等级硬编码FAMILY
测评订单改虚拟支付 payOrder返回VirtualPayParams保持pending,服务端计价,发货推送markPaid+预约确认+佣金
文章详情阅读时长每次进入从0开始计时,10秒上报一次
VirtualPayController 接收虚拟支付消息推送 /api/internal/virtual-pay/notify(公开) + ios-refund-query,返回微信ErrCode协议
VirtualPayService paySig签名/参数生成/发货退款推送处理+sessionKey持久化 JDK原生HMAC-SHA256零新依赖,双签名(paySig+signature),前缀路由,迁移144
add counterfeit-warning product page, gut-kit image, HRW article image, update sales index
虚拟支付道具映射 实体/Mapper/Service/管理端CRUD接口
新增wechat.appkey与virtual-pay-env配置 小程序虚拟支付paySig签名密钥与环境(0现网/1沙箱)
迁移143 创建virtual_goods_config道具映射表 测评/会员/订阅虚拟支付道具映射,UNIQUE(goods_type,biz_key),幂等
权益对比区分家庭/高级会员(高级享每周管家服务)+ 家庭会员仅年付、高级会员月/年付费档位
微信内容安全检测(msg_sec_check + img_sec_check)
add DAN professional assessment product page with 4-tier packages
活动中心增强——管理员活动管理+已报名状态标记+报名截止时间+未报名签到扣'行'维度能量
add payment to water ionizer and turmeric product pages
add gut-testing product links to articles
sticky bottom payment bar like e-commerce
推荐阅读点击封面直接进入文章详情页
save contact info to package_orders, keep SVG flow only
ArticleBookshelf 改为竖版封面风格,一行3本横向滑动
gut-testing 检测流程改用SVG流程图,8大检测维度补充商品解析长图
add recipient address field to order form
新增公共配置读取接口 PublicConfigController
五维页面推荐组件统一——推荐阅读改用ArticleBookshelf、商品推荐改用DimensionProductList
gut-testing 产品页补充商品图片(谷禾肠道菌群检测专业版)
add memory-gut, water-unseen articles and gut-testing product page
商品详情加分享海报按钮+scene邀请码解析
文章详情去掉分享按钮,海报传维度/简介/邀请语
ContentSharePoster 参数化五维配色+简介/邀请语/价格行+居中弹窗
SharePoster 家庭邀请卡加 familyName 文案与邀请语,字号缩小2px
屏蔽在线开通会员功能,改为管理员后台设置
重新设计家庭成员页面 - 暖橙卡片风格 + 底部操作栏 + 直接邀请海报
文章评论审核前端——RadarChart/article-detail/order-list/article.js/CommentReview
文章评论审核功能——AdminArticleController/ArticleCommentController/ArticleCommentService
活动详情页新增报名表单 Modal(家庭成员选择 + 手动输入 + 合计)
activity_registrations 表添加 registrant_name/registrant_phone 列, child_id 改为可空
活动报名支持批量提交 registrants 列表
JwtInterceptor 无token改为设匿名用户(userId=-1)放行,不返回401
complete coaching integration - rename characters (小付/小艾/小茜), action card rewrites, dialogue layer updates
mp-html 富文本组件替换微信原生 rich-text
重新设计底部tab智图标为交叉斧剑
重新设计底部tab身图标为弯曲胳膊
api请求失败时console打印完整URL以方便排查
替换底部tab富图标为水滴设计并修正引用
替换底部tab心图标为爱心设计
替换底部tab智图标为大脑设计
替换底部tab身图标为臂肌设计
替换底部tab行图标为嫩芽设计
add withdrawal rules display on withdraw page per review guideline
add AI disclaimer at bottom of health coach chat page
integrate RecommendedSection into all 6 dimension pages
add qr code image to project card
add project introduction card SVG for sales directory
add service role application review page and admin endpoints
add service role apply entry in ProfileMenu
add service role apply page with multi-select, upload, address
add API functions and page registration for service role apply
add ServiceRoleApplicationController with apply/upload/admin endpoints
add ServiceRoleApplicationService with submit/approve/reject
add ServiceRoleApplication entity, mapper, DTO + User fields
add service_role_applications table and User status fields
文章详情页完整功能 — 自动完成阅读+评论系统+AI答题
add gut microbiota-obesity article with 3 reference screenshots + track HRW sleep screenshots
过渡页最少800ms最多3s — 集中计时到tab-transition组件
完整记账功能 — 收支管理+分类统计+月度概览
上传健康报告页面两种上传方式差异化重构
财商打卡页面完整功能实现
家庭成员管理邀请功能增加分享邀请卡
add hydrogen-water-sleep article with 5 PubMed reference screenshots
insert scientific figures into pancreatitis and leaky-gut articles
家庭成员关系卡片增强 — 关系标签+联系+辈分+长按菜单
管理后台能量行为配置页面
能量行为配置系统 — 可配置每种行为的能量发放规则
content share poster with wxacode for product/activity/article pages
任务添加五维维度参数支持
切换地址系统从 consignee 到 user_address
add pancreatitis and leaky-gut articles, update screenshot plan
insert 14 academic reference screenshots into 4 articles
update stroke risk factors section and screenshot plan
remove read-complete button, add auto reading time tracking
add report-reading-time API for cumulative reading tracking
add article_id and updated_at to article_reading_records
推荐活动卡片高度减半,布局更紧凑
添加浠艾福会员卡介绍PPT
科普文章嵌入参考文献截图(14篇健康科普嵌入配图)
行页面重构 - 能量沙盘+成员选择条+圈子卡片
index.vue 兼容 PREMIUM 等级 - 对比表四列 + 等级列表按钮
upgrade.vue 支持 FAMILY + PREMIUM 等级切换
plans.vue 动态加载会员等级 + FAQ 更新
/api/membership/plans 使用 sys_config 价格 + 推荐标记
MembershipService 支持 PREMIUM 等级
文章/商品/活动详情页增加分享功能 + 邀请码自动绑定
Add invitation QR code modal to parent index page
redesign tab icons to match 五行沙盘 emoji themes
推荐阅读改为书册风格 ArticleBookshelf 组件
redesign all 5 tab icons with consistent style (五维×五行)
扩展测试数据至五维全覆盖(15条记录)- 活动/文章/商品各3条,覆盖身智行心富五维 - SeedsController.java导入修复
admin product min_quantity filter, activity detail mobile adaptation, web articles & changelog updates
添加独立测试数据初始化脚本和接口
refactor upload to 2 methods (file/photo), add collectionDate, indicator dedup, image support
创建独立圈子发现页 /pages/discover/circles
行首页 OctopusGraph → 圈子区块替换
添加 carol.png 和 hxy.png 头像资源
add Enagic product intro with images, QR referral tracking, gut/meta articles, and update existing health articles
勋章管理后台页面 + 家庭排名 + 勋章墙导航
家庭关系图视觉重编码 (信任/沟通/亲密度) + 身份形状 + 自导航维护页
北京菌群报告采集与精准营养推荐
add 3 buying guides - water purifier, prebiotics, probiotics
add ERW/HRW gut microbiome section with 3 new references (Tamaoki 2021, Xie 2022, systematic review 2025)
ProductEdit 添加最小购买数量(minQuantity)输入框
minQuantity DTO 字段映射 + 多商品下单产品级校验
2x2 grid layout + annotation overlays for 4 clinical-evidence screenshots
切换孩子前检查家庭成员中是否有child角色
微信登录自动获取手机号
新增index.html目录首页+AGENTS.md更新
CA Cancer Statistics 2022截图标注替换(Sung 2020→Bray 2024); 免疫系统三大功效全重写为三栏卡片+癌症数据关联
心脑血管文章多项增强——牙痛心梗症状/比目鱼肌锻炼/个体化干预/菌群检测评估与追踪+7张来源截图
新增心脑血管文章误诊板块(沉默心梗/女性误诊/卒中漏诊/青年卒中),插入CANTOS和肠漏引用截图
add ArticleBookshelf book-style recommendation component
手机自适应扩展 — Dashboard 2列 + 表格滚动 + 表单堆叠
管理后台手机自适应 — 响应式侧边栏折叠 + 布局优化
完善7维健康模型 - Tier2 VOICE/PHOTO支持, canvas雷达图, 数据源表迁移
商品规格最小购买数限制(minQuantity字段 + 订单校验)
完成 Task 5 AI健康管家MVP
Task 5 AI健康管家补全 — health_butler_graph + 前端路由修复
subpackage split - move non-TabBar pages out of main package to reduce size
Dify-compatible adapter layer + AI health butler MVP
use emoji tab icons matching wuxing sandbox style
redesign tab bar icons in wuxing sandbox style
推广佣金体系后端实体 + 删除废弃 RelationshipPicker 组件
TASK-P0-001 辈分重构 — 订阅式 generation + is_spouse,删除关系类型表与字段
富维度子维度组件 + 身克富杠杆展示 + 修复DatabaseInitializer编译错误
P2-1 身份重塑系统 - 健康等级+积分引擎+时间线
完成5篇深度疾病科普文章并接入成长百科
在 HealthReportController 添加自动保存解析结果到 JSON 文件
P1-2 健康行为智能预警实现
P1-1 即时多巴胺反馈实现
成长百科改为人体五维标注布局 + 文本替换
重写成长百科为100vh单页布局(剪影背景+五维卡片+手机标签)
新增成长百科主页面 + Clarity 全站覆盖
Hero 背景改用 AI 生成插画 (agnes-image-2.1-flash)
首页 Hero 添加家庭幸福健康抽象插画背景
预约页面传递 assessorId 参数
重构 AppointmentController 接入 DanAssessmentExecutionService 双角色模型
AppointmentService 支持 assessorId, DanAssessmentExecutionService 关联 appointmentId
assessment_appointments 添加 assessor_id, dan_assessment_executions 添加 appointment_id
AiGateway + 5% grayscale routing to LangGraph
config, models, RAG, Java client, RecommendAgent
scaffold Python sidecar project
本地修改同步提交 - 小程序前端组件更新
微塑料科普页面 — 看不见的入侵者
行首页移除成长里程碑 - 移除OctopusGraph/milestones功能
心页面添加心理报告卡片 - 完整EMID四维条形图展示
AI任务生成+今日能量文卡片+体检AI入口
integrate KB v3 into gut-flora-risks-detail.vue
knowledge base v3 - data/template separation foundation
add purchase recommendation section to dan-assessment/report-upload page
add purchase recommendation section to report-upload page
implement taxonomy level support, pathogen tabs, report interpretation, DB migration 98
add personalized indicator interpretations (P0) and overall assessment descriptions
add report indicator knowledge base with standard ranges and descriptions
add taxonomy level extraction (class/order/family/genus/species) from unified section
活动商品统一管理后续三项任务完成
B5指南针仪表盘图像提取 — 19个子维度分数
expand health survey with disease/family history, add physical exam detail page
健康知识库管理后台 CRUD
FamilyRelationGraph 新增齿轮跳转成员管理、悬停/点击+号进入添加成员页、高度自适应
add api methods, knowledge-popup component, register 4 pages in pages.json
add KnowledgeBaseDataImporter + ref JSONs + import endpoint
add POST /api/health/report/edit + updateReportFromPayload
add health_knowledge_base (entity+mapper+service+controller+migration98)
将DAN报告上传重构到独立 dan_report_uploads 表
add DAN report to JSON extraction script (extract_dan_to_json.py)
富维度页面添加TabTransition动画 + 用户卡片重构
心维度页面集成家庭天盘模块 + 心理报告上传功能
新增天盘周报PDF导出,移除富沛能量模块
首次登录跳过角色选择直接进入信息补充页(默认parent)+ 地址四级选择器
营养师/管家小程序入驻申请流程
文章/套餐审核添加详情弹窗、驳回原因显示、批量通过/驳回
添加营养师/管家申请API
添加营养师审核功能
添加 api_endpoint/api_key 字段; fix(sku): specs 字段类型改为 Object 支持JSON数组
推广/佣金配置控制器 + rebate_commission_config表; fix(promotion): 改用sysConfigService.getValue; feat(schema): 同步rebate_commission_config表
活动工作流缺失端点 + 电商供应商管理CRUD; feat(schema): 同步ecom_supplier表
同步健康打卡5表定义(exercise/sleep/water/meal/meditation)
健康打卡 exercise/sleep/water 三个控制器; fix(web): growth-task路径修正
增强搜索条件和优化样式
统一审核中心 - ReviewCenter.vue + 10子组件 + 后端summary接口
替换所有"即将上线"为真实跳转,补齐子维度点击导航
添加 family_member_logs 表(家庭成员变更日志)
家庭关系管理系统补齐 (relationship type extension + contact-to-member upgrade + family_member_logs + relation graph shapes)
新增供应商商品管理功能
为天盘卡片添加今日宜忌提示
实现天盘详情页展示周/月趋势
实现五行吉位算法
对接后端接口为家庭天盘提供动态数据
商城营销菜单新增家庭收益和收益提现审核入口
家庭推广体系重构 P3+P4
add models field and agnes-2.5-flash model
添加家庭天盘功能到心页面
创建身/心/智/行四个维度专属内容组件
member-detail 维度专属内容动态组件插槽
add FamilyEarnings entity/mapper/service/controller + fix ButlerController bean name conflict
add cfc-web butler admin UI + ButlerCommissionService + scheduled settlement
add AdminButlerController + ButlerServiceRecord/CommissionSettlement entities
按中版本分文件存储 changelog,CHANGELOG.md 作为索引页显示最新版本
skip version bump if only chore/engineering commits
butler 管家服务 - 申请/档案/分配 + DB迁移
add butler entities + migration + schema
供应商上下级关系体系 (supply hierarchy)
商城页新增会员升级营销触点 — 首页/购物车/结算页/支付页升级提醒
发现页新增会员升级营销触点 — 商品详情页立省横幅+发现页推荐卡片
add dan_reports - assessment reports and processing scripts
肠道菌群报告详情页 + 上传日期评分优化 + 身页面重构 + 首页角色分流
新增家庭关系联系人组件 FamilyRelationshipSection
RepurchaseReminderScheduledTask runs daily at 2 AM
dimension-product query + repurchase-reminder service logic
add dimension-products + repurchase-reminders endpoints with DTO fields
6个管理端表单页增加保存成功确认对话框(继续添加/关闭)
AI conversation memory - migration 82 for ai_conversation_summary + ai_user_facts tables
CartService.buildCartItemDTO builds specDesc from ProductSku.specs JSON when skuId is present
五行能量配置管理
增强五行雷达图可视化
管理端功能优化
五行相生相克前端展示
AI对话记忆层 - 会话摘要+关键事实+意图感知上下文注入
productSpecMap API + Ppoint API 重构 + 供应商管理员搜索修复
products/cart 表新增 SKU 规格字段
admin/user/search 供应商选管理员接口 + 修复 CircleService 循环依赖
添加OctopusGraph关系健康组件
维度页面缺口修补(Phase1) + 圈子系统(Phase2)
商品推荐 Phase 3-5 — FamilyContextService Dify输入 + AIChatController userId + 复购提醒
电商 + 推荐系统 + 阅读统计 综合升级
wire FamilyMember birth fields + User hobbies/dietPreferences + profile history through service/controller/migration
UserProfileHistory entity + mapper + schema.sql for tracking profile changes
add hobbies + dietPreferences to User entity + UpdateUserDTO
add birthHour/birthWeight/birthPlace/isCesarean to FamilyMember entity + DTO
add article placeholder cards on action home page
商品推荐维度映射 + 复购提醒 + 供应商/规格迁移补全
电商体系升级 — 供应商/规格/推荐日志 + 五维能量富维度详情 + 产品推荐
DAN报告上传 - 集成到mind/wisdom维度页面
DAN报告上传 - 前端API + report-upload页面
DAN报告上传 - Controller端点 + 维度分数更新
DAN报告上传 - 创建DanReportParseService (A2/B4解析)
DAN报告上传 - 实体字段 + 数据库迁移80
clean dimension tabs + styled action articles
TianpanService 引入缓存逻辑 - DB持久化每日运势和年度能量
产品订单退款系统 - 余额不足待退款队列、管理员中止、提现/商品双路退款
家庭天盘完整功能 - 核心服务+控制器+DTO+前端页面
退款队列系统 - 待退款自动重试
确定性差距修复 - P0全部 + P1部分 + P2/P3核心完成
变更日志弹窗宽高加大至900px/700px
enhance PpointService with save/delete/query methods and English javadoc
add PromotionTierEvalService and daily scheduled task for tier check
promotion tier system, teacher message unread badge, FamilyEnergyBar collapse
integrate promotion tier scaling into commission settlement + DB migration
add PromotionTierConfig entity/mapper for configurable promotion tiers
确定性差距修复 - P0全部 + P1部分完成
一生一世家庭会员订阅系统 - 编译修复与完善
DAN测评市场转化全链路实现(Phase 1-5)
tongue diagnosis as health report type
AI管家会话管理 - ButlerSession实体/服务/控制器 + 迁移42
统一四个Tab页面的家庭关系卡片组件 + 齿轮图进入成员维护
emotion checkin add video capture + enhanced AI simulation
五维幸福矩阵『身』由『主动健康』更名为『根基永固』
split admin/teacher dashboards, enrich admin with 8 stat cards, ECharts charts, system health panel, 8 quick actions
purchase field config UI + consignee mini-program pages (P2-P3)
enhance health reports page and add draft audit UI
consignee + purchase field module (migration, entity, mapper, service, controller)
add admin activity creation and management features
family members empty state — always show as entry point
redesign article-center with search/nav/dimension-param; enhance mind/articles with search and unified detail
unify article entry points to article-center
redesign family-members page with gear entry, detail modal, edit permissions
add /api/family/member/editable endpoint
add FamilyRelationshipService, refactor FamilyMemberService for bidirectional relations
add family_relationships table with entity/mapper/migration
radar chart dual-line support (avg + user cognitive scores)
radar chart dual-line support (avg + user scores)
v1.0.11 - table overflow scroll fix + Layout sidebar scroll fix
综合更新 - 后端服务修复、前端页面优化、管理端功能扩展
add pointsUsed/moneyAmount to ProductOrderDTO + checkout points UI + noMoneyPayment handling
product order hybrid payment + shop page refactor + DatabaseInitializer merge conflict resolution
添加供应商管理员(supplier_admin)角色及供应商管理功能
admin/teacher 页面全局搜索 + 统一 admin-page 样式
心首页关键信息卡片 — 家庭+个人双栏概览
health report Phase 2 - match confidence, candidate selection, auto-create member
supplier distribution system - entities, services, controllers, and admin UI
fuse Western astrology with Chinese zodiac for annual energy calculation
文章活动工作流状态管理前端页面
文章活动工作流状态管理API
饮食/文章管理完善 + 供需分发系统文档
ActivityEdit 表单校验 + 创建成功弹窗
update food-list.vue with full nutrition fields and recommendation index display
自动版本号递增 + CHANGELOG.md 生成
add /api/health/foods/by-family endpoint and health report trigger for food index
add FoodRecommendController with index/history/by-family endpoints
add FoodRecommendService sourcing index from report scores
update Foods.vue table columns and dialog fields with full nutrition input
add FoodRecommendIndex and FoodRecommendIdxLog entities with mappers
add food_recommend_idx and food_recommend_idx_log tables, fix kcalPer100g JSON mapping
订单详情页 + 订单/商品管理完善
商品管理前端 — 列表/分类/编辑/SKU组件 + DimensionWeightPicker修复
新增商品管理 + 订单管理 API
新增Cart/SystemConfig模块 + 家庭角色DTO/组件 + 设计文档 - 新增购物车实体/CartItemDTO/CartMapper/CartService - 新增系统配置实体/SystemConfigMapper/SystemConfigService - 新增家庭角色相关DTO(Create/Info/Update) + NutritionProfileService - 新增 FamilyRelationshipSection 前端组件 - 新增四维度首页及家庭成员角色系统重构方案文档
teacher dashboard + activity admin API enhancements
start.sh 支持本地外部配置,数据库凭据通过 -D 参数注入
after-sales system — apply/list/detail pages + mock logistics + profile/order entries
activity-detail 补充 formatDate 工具方法 + paid/checkin 状态增强
activity/activity-detail 报名同步增强 - formatDate / 付费不退费 / paying 状态
活动详情页报名+签到全流程 + 付费确认 + 日期格式化 - 新增 formatDate() 方法统一日期显示格式 - 新增付费活动报名确认弹窗和退费说明 - 新增报名状态检查(pending/approved)、取消报名功能 - 新增签到状态管理和 checkinTime 渲染 - discover-detail 和 discover 双路径 activity-detail.vue 同步增强
文章审核系统 + 商城完善 + 管理端升级
新增 shop/index 店铺首页 + 修复 article-edit.vue :style 规范 - 新增 cfc-frontend/pages/shop/index/ 店铺分包含入口页面 - article-edit.vue: 将 :style 复杂内联表达式改为 dimStyle() 方法
add HealthDimensionsSection component for inline health dimensions display on body page
创建身维度5个详情页面并绑定快捷入口
替换EMI四维条形图为大五人格雷达图,右上角添加测试按钮
活动模块后端+前端接入 - 初始化活动表/Product表字段扩展, DimensionActivities组件接入活动列表, 各维度页面导入getActivityList
add audit workflow to web admin panel
简化 AIFloatingAvatar 组件 + 添加到各页面 + 更新 AGENTS.md - 移除 AIFloatingAvatar 脉冲动画,简化组件 - 在 body/index、index、mind、wisdom、profile、activity 页面添加悬浮头像 - AGENTS.md 新增 :class 绑定规则(小程序不支持方法调用)
add my-posts page with status badges
add article edit page with publish and draft
add article detail page with AI quiz
add article list page with tab navigation
register subpackage in pages.json + add API methods
add publish, my-posts, and audit endpoints
enhance activity list - view ended/published activities, disable edit for non-draft, click participant count to review registrations inline
add AI questions endpoint + submit answers with scoring
规划师端活动管理 — 活动创建/编辑/发布
add article-center implementation plan
补充AI对话和profile页面变更
add Article entity audit fields + ArticleQuizRecord
add article-center implementation plan
create activity home page with 3-tab structure
添加活动中心页面子包注册
新增心愿兑换积分检查和扣除方法
成长记录新增getRecordsByChild接口
新增grantEnergy和deductForWish接口
重写DimensionWeightPicker为slider+数字输入,动态max限制总和≤100%
add 热门活动 and 推荐阅读 sections to index and body pages
redesign SharePoster with brand header, warm orange gradient, content card, and dimension dots
DataMigration controller and service adjustments
schema v6 with shop order columns migration
修复打卡/能量接口 400/500 错误
推广系统九大功能升级 (T1-T9)
add EmotionAlert admin management page with list and resolve actions
add getAdminAlerts method to EmotionAlertService for admin page pagination
auto-create follow_up on alert resolve in EmotionAlertService
auto-create follow_up record when crisis alert is resolved
push WeChat template notifications for high-severity alerts
add WechatAlertTemplateService for crisis alert push via WeChat template messages
健康记录模块 — 日常打卡/成长记录/维度权重管理
活动报名服务 + TrialMembership入门会员
商城重构 — 订单生命周期/SKU/地址/退款/超时取消
认知评估增强 — 行动清单/常模参考线/历史趋势/训练方案系统
FamilyRelationGraph升级compatibilityMap属性+mind首页入口路由更新
新增family-dashboard家庭天盘页面+duo-compatibility双人合盘详情页
TraditionalMirrorController新增family-dashboard+compatibility两个端点
CompatibilityService算法引擎+9个DTO定义+FamilyMemberAttributeService fromJson/toJson公开
兼容性数据表(entity+mapper)+schema seed(zodiac_pairing/blood_type_pairing/life_number_relationship)
激活会员中心页面导航入口
redesign membership page with loading/error states
add Canvas-based trend charts and index page updates
upgrade emotion-checkin pages with 2D affect grid and Plutchik wheel
add PHQ-9/GAD-7 screening page and route
add PsychCrisisBanner component for crisis alerts
implement emotion alert service with risk detection
add emotion alert entity and VO
implement mental health screening service with PHQ-9/GAD-7 scoring
add mental health screening entities and DTOs
implement emotion checkin service with trend/report + alert wiring
add emotion entity fields and trend/scatter point DTOs
add fine-grained emotion fields to DTOs and VO
enhance virtual team management with invite controller and scheduled tasks
浠宝/福宝IP形象系统 - 用户可选择AI助手形象,所有AI对话携带形象标识
舌诊功能 + 身首页改造 + 全域指标管理
virtual team management + unified invite system
关系健康概览 + controller familyId推导
关系质量评估+互动记录+智慧维度临时页面
skip captcha verification in test mode (VUE_APP_SKIP_CAPTCHA=true)
two-phase health report upload with preview confirm page
补全 Activities.vue 缺失字段 - 封面图上传/活动类型/地点/人数/价格/可见范围/签到积分
add AI emotion recognition to emotion-checkin page
add report draft module and food recommendation
skip captcha verification in test mode
move three pillars inside the product overview section
restructure sections - swap pillars before capabilities, rename
add happiness three pillars section with dimension mapping
add health-norm-config and health-data-source menu entries
admin controller, norm/data-source config views, tests
dimension questionnaire, detail page, and entry navigation
数学闯关前端页面
数学闯关后端服务
新增肠脑轴情绪打卡功能
add EMI and Big Five personality fields to dan_assessment_results
开屏splash页+tabbar切换过渡动画
会员体系 + 推广裂变 + 优惠券 + 成长任务模块
add newbie task reward system with 6 task types
add health-dimensions navigation entry
wave 1 - trend, product-energy, dify, body energy integration
referral team features - team list, invite, share poster
wisdom dimension page redesign - 14-block full layout, cognitive report, self-quiz, training hub
统一家庭成员管理 - 后端双表+前端统一入口+管理端CRUD
add ecommerce DDL blocks to DatabaseInitializer
add ecommerce DB schema tables, config, and design spec
migrate checkout/payment/logistics pages to CFC API
migrate address.vue and address-edit.vue to CFC API
migrate cart.vue to use CFC cart API
enhance ProductOrderService/Controller and add LogisticsController
refactor PaymentService with WeChat Pay V3 integration
enhance ProductService and ProductController
add AfterSales module (entity+mapper+service+controllers)
add UserAddress module (entity+mapper+service+controller+region)
add Cart backend module (entity+mapper+service+controller)
add Discount module (entity+mapper+service+controller)
add Distribution system module (entities+mappers+service+controller)
add ProductCategory module (entity+mapper+service+controllers)
add ProductOrder entity fields and OrderItemVO DTO
add Product entity fields (categoryId, distributionSystemId)
enhance web admin growth records with source type filter and new columns
refactor growth record frontend pages with source types, upload, and supplement
add growth record API functions and page registrations
add growth record upload, supplement, dedup-check endpoints
add report parsing service and growth record service with dedup
add growth record DB schema, entity fields, and PDFBox dependency
TabBar改文字+RelationshipPicker组件+编辑关系功能
health-dimensions-phase1 implementation + compile fixes
活动管理功能完善——后端Service层+Web端CRUD+审核+小程序商品编辑
产品区改为数据采集→数据分析→方案确认→执行跟踪闭环描述
多源数据整合分析→健康档案,作为平台核心能力展示
DAN成长档案→成长档案,菌群检测→健康档案 统一产品命名
新增运营推广文档与配置文件
新增GEO专题页面并优化产品定位
网站样式与交互优化
数据库配置切换为本地连接
FAQ结构化数据扩展至20条,同步前端FAQ展示
add food recommendation API endpoint, FoodService.listByReportId, and frontend food display in health report
save food suitability data on health report creation; add reportId/score to Food entity
add food suitability parsing to PdfParseService
登录页品牌升级 - 企业官网设计语言
add nutrition-related entities and mappers
营养师管理页面与登录页优化
TabBar重构与健康报告页面
营养评估与饮食推荐功能
五维沙盘粒子流动画
首次登录引导浮层组件
开屏页与发现页五维价值传达
登录页背景色改为品牌暖橙
add frontend components, docs assets and .gitignore for Python
Landing page optimization - Schema.org, FAQ, stats, testimonials, CTA, content
更新企业官网品牌色系与Logo为天空蓝主题
add cfc-frontend/static assets (logo + tab icons)
添加网站品牌 Logo 资源
添加亿图腾企业官网页面
remove danshop subsystem
家庭邀请二维码功能(小程序码+令牌+落地页)
implement diet recommendation system (frontend)
implement diet recommendation system (backend)
health report PDF upload + login redirect fix
article publish-review system + gut flora report parsing
add gut flora summary fields to health report schema and refactor mind page
register dimension store module in Vuex
add routes for dimension-config and knowledge-base
add dimension config and knowledge base admin pages
add dimension selector, tag selector, knowledge table and dialog components
add dimension and knowledge base API and Vuex store
add dimension config and knowledge base admin controllers
add knowledge base service with Dify sync support
add dimension config and knowledge tag services
add mybatis mappers for dimension and knowledge base
add dimension config and knowledge base entities
add nutritionist/teacher/admin views
add role-to-permission mapping utility
add multi-role JWT support (nutritionist/activity_admin/article_admin)
add nutrition chat UI to frontend
wire nutrition API into controllers + config
add health analysis & recommendation services
add nutrition recommendation DTOs
add multi-role support (nutritionist, activity_admin, article_admin)
富沛(我的)页面改造 + 心愿单入口
心智页添加心/智双Tab结构
CFC-DanShop集成 - 支付代理+批量迁移
add FamilyRelationGraph canvas component to body/mind/action pages
update web admin pages with slider captcha and format utils
update frontend pages, components and splash screen
update backend entities, services, DTOs and configs
add precision nutrition & health report survey flow
add showToFamily toggle in profile/child-edit, clean up mind page
add FamilyMemberCard/FamilyMemberStrip components, wire into pages
add contact management feature (ContactCard, ContactImport, contact-detail)
add showToFamily field to Child/User, update HealthReport
add getVisibleMembers and updateVisibility to UserService
configure Dify API key for AI chat
add showToFamily to ChildInfoDTO/UpdateChildDTO, create FamilyMemberVO
add show_to_family column migration to children and users tables
心智模型重构 — DAN 70% + 先天 30% + 行为修正
健康能量 v1.2 心智增强设计 + 会员分销/财富模块功能完善
migrate TabBar to 5-tab (首页/身体/心智/行动/我的), move shop→action path
add web admin pages for article management, energy sandbox, withdraw audit, profit rate
add energy/body/mind/promotion/stats pages, update existing pages for energy system
add frontend components, custom-tab-bar and global styles
restructure WeChat miniprogram with subPackages to fix error 80051 (source size 3172KB > 2MB)
update backend config, schema, entities and services for new modules
add backend services and controllers for energy/commission/article/badge/game/invite modules
add backend entities, mappers and DTOs for energy/commission/article/badge/game modules
商城+服务商页面更新
心愿模块+任务管理模块更新
组件升级(claymorphism适配+PlayfulCard重构)
重构心愿页
重构家长端首页
重构孩子端首页(claymorphism设计系统)
统一品牌色系、基础样式与页面配置
Product/ProductOrder/SysConfig/Admin 后端 Controller
api.js 追加商品/订单/系统配置 API
SysConfig 实体/Mapper/Service 实现
ProductOrder 实体/Mapper/Service 实现
Product 实体/Mapper/DTO/Service 实现
创建发现页作为登录前首页,未登录重定向
提取五行沙盘为独立组件,替换首页内联实现
商品/订单/系统配置 3 张表 DDL + 种子数据
Web管理端添加服务商审核页面(审核列表+通过/拒绝操作)
个人中心添加会员中心/服务商中心入口及状态检测
添加五行能量沙盘(溪艾福)组件和溪福俱乐部占位页面(发现/商城/入驻/中心)
更新小程序TabBar(发现/商城)并注册溪福俱乐部页面路由和API
实现服务商入驻/审核/查询API(入驻申请+审核列表+审核操作)
用户实体添加服务商/家庭管理员字段并新增DB迁移
实现模块 A-E 完整功能
新增成长规划Controller、任务统计服务和申请记录实体
小程序前端功能增强和重构
规划师模块新增首页统计和家庭信息接口
实现任务批量操作功能(TASK-016)
添加任务时长字段(TASK-011)
修复DataMigrationService性别映射、幂等性和日志
重构Web管理端布局路由和API集成
完善数据迁移服务和用户认证流程
添加sfms多数据源配置和数据迁移服务
补充测试用例并修复编译错误
添加Service接口规范(TaskService,RewardService,UserService)
实现成长规划师模块完整功能
实现指导师功能完整迁移
实现小游戏作为任务类型功能
添加数据库字段运行时自动同步处理器(SchemaSyncHandler)
实现心愿功能(wishes)替代rewards/reward_wishlists
实现任务提醒和统计功能
实现用户操作日志功能
实现用户操作日志功能
完善任务重复设置功能
实现V1.2 P0需求
更新需求文档需求细则
更新需求文档(V1.2)
添加自动化测试套件,实现100%需求覆盖
实现小游戏积分系统、连续打卡功能及问题修复
创建分层AGENTS.md文档系统
完善Web管理端API和路由
完善前端页面和组件
新增指导师套餐和绑定功能控制器
实现前端地址选择和区域匹配功能
添加街道地址功能支持家庭和指导师区域匹配
完善Web管理端页面和API集成
新增实体类、Mapper和Service支持多媒体和会员功能
添加用户角色选择、生日性别字段及家长孩子身份切换功能
add AGENTS.md files and fix AdminLoginDTO password field
重构
成长页面调整 — 戒备/饮食推荐从健康移至成长
去掉API自动传memberId——child角色从JWT获取currentMemberId,parent不自动选孩子
LangGraphAdmin 重构为标签页布局 + 真实请求历史面板
方案制定页改为分步表单UI,隐藏AI对话界面
清理重复的 loadAllData 调用
标记旧佣金结算链路为@Deprecated
提现流程改为基于CF值余额
upgrade页移除支付/优惠券逻辑,改下一步跳转pay,修复会员状态判断bug,支持划线原价
重设计我的页面 - 用户卡片+数据概览+五维能量+待办提醒+分组菜单
重设计'我的'页面为信息集散中心 - 用户卡片+数据概览+五维能量+待办提醒+功能菜单
重设计家庭挑战主页 - 移除重复的快速创建区,模板移至弹窗内,简化布局
首页重新设计 — 对齐新TabBar页面模式
移除维度页中的活动/文章/商品区块,仅保留能量相关内容
移除family-guard弹窗,无家庭时自动创建;移除创建/加入家庭按钮
restructure tabbar from 5-dim to 4-tab + center 5-dim launcher
家庭关系卡重设计为FAB浮标+扇形展开,移除创建/加入家庭按钮(已自动创建)
清理已废弃的 relationship_types 表(迁移169)——移除活路径 ALTER 代码、DROP TABLE 从死代码移到活路径
rename childId to memberId across full stack (childId was always family_member.id)
健康报告上传页 report-upload.vue 重构
移除死页面 plans.vue,权益对比保留在 upgrade 页
gut-testing 删除 gut-kit-6/8 图片块,更新 8 大检测维度解析长图为压缩版
统一五维首页商品推荐组件为 DimensionProducts
移除 gut-testing 截图占位块和 gut-kit-3 微信解读CTA块
移除 gut-testing 产品页 gut-kit-2 寄回流程图和 gut-detail-banner 长图
统一活动详情和商品详情页
统一文章详情页为 article-center/article-detail
主动健康vs被动健康区域改为纵向布局,红绿改暖黄+青绿配色
redirect old apply pages to unified service role apply page
富页面去掉我的邀请码区域
商品列表查询参数统一为 dimensionCode
按场景+角色重构测试用例,扩展至8角色27流程
move strain table from gut-microbiota to probiotics-science, add cross-links and new target audience cards
重构10个控制器移除HttpServletRequest手动userId获取改用@RequestAttribute 注入
更新添加孩子入口导航至家庭成员页面
废弃独立添加孩子页面,重定向至家庭成员
年龄优先判定孩子角色
替换并新增证据截图(CA Cancer/Bicarb/Mol Cancer)
精简症状识别表(+酸性微环境+抗炎闭环)
用科普文章链接替换免费领取白皮书文案
我的页面改为仅个人信息+配置,移除富相关组件
行页面移除成长里程碑(OctopusGraph组件+action页面清空)
users.role ENUM → VARCHAR(20); add migration 99
make indicator ranges computable with min/max + status levels
redesign card UI with cover gradient and badge layout
删除成长计划页面并合并推荐商品与活动为统一信息流
扁平化营养师/管家入驻申请页面结构 + 统一import路径为@别名
全局UI文案套餐→任务模板重命名
审核中心提升为一级菜单, 删除老的5个子审核页面
rename FamilyRelationshipSection -> OctopusGraph; fix: health chart shows zeros when no data
重构FamilyRelationGraph为全Canvas force-directed关系图
删除 UserQuickEntry 组件及全站引用
remove FamilyRelationshipSection (重要关系组件) from body/mind/wisdom pages, keep unified FamilyRelationGraph
remove relationship components from body/mind/wisdom pages
merge health actions into quick-action bar, remove separate report/nutrition sections
全代码库替换术语 分销→销售 分润→返利 裂变→推荐 分佣→佣金
remove login gate from activity/product/article detail pages
remove reading timer from article detail
unify admin page styles with global CSS design tokens
merge wechatLogin and wechatPhoneLogin, capture phone from WeChat
rebuild admin dashboard
TabTransition 动态化 - 数据就绪后才自动消失
合并工作台至首页,删除独立路由和菜单
登录页左侧品牌区重新设计 — 五维能量轮盘
replace inline 推荐阅读 with DimensionArticles组件 on action/mind pages
测评预约服务重构 + CreateWishDTO新增商品字段 + 支付服务扩展
子包重组 - 详情页移至 *-detail 目录降低主包大小
重构智页面布局并提取推荐阅读为共享组件
重构菜单分组+权限体系
remove 智·认知 tab and add 传统文化 sections
移除DAN等级相关字段
数据库迁移DDL+seed, HealthReportController集成refreshFromGutReport, 前端7维字段修复
rewrite FamilyRelationGraph with View+Canvas hybrid layout
extract API base URL to config.js with multi-env support (.env.development/staging/production)
zxyj → cfc 全局重命名
Web管理端Layout重构和规划师模块完善
实体模型更新及后端服务增强
为所有44个Service类添加Interface规范
优化控制器导入和用户相关功能
文档
我的页面电商风格改造设计
通关解锁计划状态更新为后端完成+前端核心完成
新增实施计划 - 13任务分解,含迁移/Service/Controller/前端组件/管理端全链路
小程序空功能实现计划(P0-P3分类,共23项)
设计升级 v2.1 - 三关递进+沙盘个人/全家切换+增值关卡+六步法关卡总表
通关解锁功能设计 - 自检门禁解锁能量沙盘+增值关卡+软引导
知识库菌-疾病关联表格新增问题相关性/证据强度列
新增新用户引导与留存设计方案
通用报告块渲染引擎实施计划
通用报告块渲染引擎设计文档
新增规划与设计文档 - 内部沟通/合伙人PPT/家庭挑战参与
成长页面重构为干预中心设计文档(今日进度+持续追踪+里程碑+定期调研)
补充富维度登录前/后设计 + 五维统一视觉规范
更新 PROJECT-OVERVIEW.md v2.7 — 增加 LIFETIME 终身会员全栈完成记录
登录前页面改版设计 + 维度介绍卡片规范
富维度页面 redesign 设计文档 (财富之泉方案)
健康数据中心实现计划(12任务,3批次)
健康数据中心实现计划(12任务,3批次)
健康数据中心设计文档(看见·主动健康闭环)
平台终身会员(LIFETIME)设计文档(方案A: 等级扩展+实时聚合+管理员审核)
推荐组件移除维度实现计划
补充推荐组件移除维度设计细节
推荐组件移除维度参数设计
会员支付/升级实现计划(upgrade→pay→result 三段式 + 原价配置)
会员支付/升级页面设计(方案B:upgrade→pay→result 三段式 + 原价配置)
更新 PROJECT-OVERVIEW v2.6 - TabBar 重构完成状态
更新 TabBar 重构计划为 completed 状态 + 完成情况清单
add TabBar redesign spec + restructure plan (4 native tabs + 5-dim launcher + wuxing dashboards + theory layer)
家庭成员关系条增强实现计划(FamilyMemberStrip)
家庭成员关系条关系展示增强设计文档
家庭挑战参与机制实现计划
更新 PROJECT-OVERVIEW.md
更新参考资料/dan_reports 提取脚本(extract_all_types +468行重构,merge 与 type_detector 小修)
add tabbar restructure implementation plan
修复 momus 二轮评审问题(路由命令/打卡状态校验/奖励幂等条件更新)
家庭挑战修复计划按 momus 评审修正(完整方法体/登录角色门控/全员奖励发放/精确paths)
家庭挑战断点修复实现计划 + PROJECT-OVERVIEW 索引更新
家庭挑战 spec 自审修正 - 澄清家长修改进度表述
家庭挑战使用流程梳理 v1.0 - 现状基线 + 断点清单
新增滔达福项目总体介绍PPT成品(V1/V2)
AI创新项目大赛新增行业应用场景,五维能量标签更新为身智富行心
新增AI创新项目大赛项目介绍文档(浠艾福定稿:AI健康教练/五维相生溯源算法/双培强基成果)
库存管理设计文档(入库单+流水+盘点+预警+套餐拆库存)
合并7个知识库为统一知识库JSON(v2.0 254.9KB,12模块,数据保真修正)
AGENTS.md 追加 LangGraph 启动命令 + PROJECT-OVERVIEW 关系域标记已实施
报告解析迁移实现计划
报告解析迁移设计 — Java→LangGraph(Python算法+LLM兜底)
会员体系重构实现计划(修正apply折扣语义+8个单测)
会员体系重构设计-统一定价+优惠券发放/积分兑换
mark report-confirm member-selector plan steps complete
PROJECT-OVERVIEW 标记 report-confirm 选择面板计划已完成
report-confirm 被检测人选择面板整合实现计划
spec self-review - 统一 selectAndClose 选择逻辑 + 回填字段明确化
report-confirm 被检测人选择面板整合设计
添加商品SKU选择器设计文档和实现计划
注册引导实施计划完成
新用户注册引导+个人信息按需补充/回写实施计划
关系问卷与互动记录功能补全实施计划
规格自检修正(POST /api/user/info、交叉引用)
新用户注册引导+个人信息按需补充/回写设计稿
关系问卷与互动记录功能补全设计稿
商品赠送会员实施计划
商品赠送会员功能设计(方案B 独立规则表)
同步设计文档 §5.1/5.2/§8 与 PROJECT-OVERVIEW 状态
假算法题材网络小说章节库 51 章
虚拟支付实施计划 + PROJECT-OVERVIEW 索引更新
章节草稿及规范文档同步更新引用表述
成书稿移除「浠艾福家庭健康报告」品牌化引用,改中性表述
/运营: 小红书内容 D14/D15/D16、第三篇-月入2万的家庭、发布指南、README 同步更新
《家的算法》全书插图占位33处+插图规划清单+知识产权查证档案(24730/章鱼图/珍珠图)
《家的算法》全书审阅修复+藏宝图改名+第3-7章补本章要点(人物一致性/章节引用/数据矛盾/行动卡格式统一)
家庭成员页面重设计实施计划 + 饮水对比移动端轮播式重设计
《家的算法》第3章补充水主题延伸阅读书单(李复兴系列3本)
《家的算法》科学看见主线补强(财务/关系体检工具+菌群检测桥段+3个新家庭案例)
分享功能改造实施计划(海报组件参数化+5项分享入口)
add D11-D14 drafts, post8/9 content, D8/D9 tracking data and process files
分享功能改造设计(海报组件参数化+5项分享入口)
家庭成员页面重新设计 - 设计文档
文章评论审核系统方案与实现计划
mark service role apply design as implemented
superpowers PROJECT-OVERVIEW and service-role-apply design + plan
文章详情页功能补充设计 — 自动完成阅读+评论系统+AI答题
家庭成员关系卡片修复方案
家庭成员关系卡片差距分析 — FamilyMemberStrip vs 需求设计
能量行为配置与系统功能关联机制设计
能量配置管理系统设计 — 行为配置+消费配置+转换规则
五维能量来源分析 — 19个来源+消耗+日上限
update PROJECT-OVERVIEW to v2.1 - Phase 4 ✅ 已完成
维度筛选设计分析 — 活动/商品/文章/任务四实体对比
更新成员选择分析 — 按childId/memberId/无参数分类列出全部141个功能接口
家庭成员选择能力分析 — 梳理childId/memberId接口
补充活动流程图 — 详情页分享/报名按钮 + 评价流程
新增 checkout 地址管理改造设计文档和实施计划
新增财富能量兑换优惠券流程图
新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路
新增支付流程流程图 — 覆盖订单创建/支付/退款/提现全链路
全部31个流程图重绘 — 数据上连线+中文标注+分层+完整性分析
update PROJECT-OVERVIEW to v2.0 (2026-07-28)
add report management design spec
数据移到连线标注 + 中文命名
重构成长档案流程图 — 按阶段/分层/数据传递重绘
rewrite publishing guide with 5-dimension and knowledge point framework
PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts
创建AGENTS.md销售文章目录+交叉链接审计
PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施
PROJECT-OVERVIEW - 添加管理后台手机自适应设计文档和实施计划索引
docs:
PROJECT-OVERVIEW v1.4 - Phase 5全栈完成 + 文档审计同步
PROJECT-OVERVIEW - 健康维度重构状态更新为后端框架已实现
PROJECT-OVERVIEW v1.7 - 同步富维度/文章发布/权限系统完成状态
PROJECT-OVERVIEW v1.6 - Phase 4 status sync (健康7维/成长档案/供应商体系后端已实现,供应商订单修复完成)
comprehensive plan Task 5 [-5→] ✅完成
PROJECT-OVERVIEW v1.5 - sync P2-2/P3 active health backend status (all implemented)
comprehensive plan 状态审计 - Tasks 1-10 完成情况更新
PROJECT-OVERVIEW v1.4 - 全量状态审计
update TASK-P0-001 status to 已实施
PROJECT-OVERVIEW v1.3 - 辈分重构全栈完成 + 状态同步
update PROJECT-OVERVIEW.md v1.3 - 辈分重构全栈完成状态同步
PROJECT-OVERVIEW v1.2 状态审计校正(辈分重构→后端完成、推广体系→前端基础就绪、电商扩展→暂停、新增DAN双角色模型记录)
update PROJECT-OVERVIEW.md v1.2 with Phase 2-4 recategorization and comprehensive implementation plan
update PROJECT-OVERVIEW.md - P2-1 marked complete
主动健康六阶模型改进设计文档
add implementation audit, tickler, phase1-remaining, and P0 tickets
新增小红书自动化发布工作流 + 30天内容矩阵
unified execution plan v1.0 + PROJECT-OVERVIEW v1.2 status corrections
mark LangGraph Phase 3 as implemented in PROJECT-OVERVIEW
sync phase1-4 plan checkpoints; add langgraph start.sh; ignore .venv
PROJECT-OVERVIEW.md v1.1 audit calibration
sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification (encoding fix)
sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification
LangGraph Phase 2-4 implementation plans
LangGraph migration design doc + Phase 1 implementation plan
add AxonHub model routing and multi-model workflow to upgrade plans
SB3 upgrade implementation plan with task breakdown
Spring Boot 3升级 + Dify替代实施计划
add Dify migration feasibility analysis
add implementation plan for mini-program and Java backend modifications
add analysis of personalized descriptive content to extract from reports
add gap analysis between extraction results and miniprogram/backend
更新菌群报告设计 — 仅展示个性化数据+知识库弹框+异常颜色箭头
update v5 export script, add knowledge base directory
菌群报告页面重构设计规范(查看+编辑混合模式)
添加DAN测评服务闭环流程设计文档
add extracted JSON reports for 5 test PDFs
refactor to single-PDF-in structured JSON mode + add phylum/disease bacteria tables
cleanup old scripts and temporary CSV artifacts
add bacteria composition tables extraction (core genus/probiotics/harmful/pathogens) for triplet format
fix JSON triplet whitelist filtering + name/age/gender regex + vitamin B1/B12 overlap bug
fix 朱 food table extraction (compressed detection + ref lookup) + regenerate CSV
fix neurotransmitter dedup + regenerate all CSV with corrected data
fix inline extraction for vitamins/barrier/pathogens + add disease risk known names and amino acid merge
add PDF extraction scripts (v4 + v5 with JSON mode)
update ISSUE-TRACKING v17 — admin route fix + all tests passed
update ISSUE-TRACKING v16 with remote sync analysis and pending test plan
成员详情维度分段 设计文档+实施计划
add CSV data and raw text from PDF extraction
remove deprecated extract_food_csv.py
家庭推广体系重构 — 设计文档与实施计划
supplier-system gap-fix plan + DAN Phase 2-5 framework
添加参考资料 PDF
ISSUE-012~015 family member fixes tracking
五维功能-能量映射文档 + 缺失功能补全实施计划
商品推荐功能实施计划
添加富维度体系重设计划(子维度拆分+身克富杠杆+小程序富页)
添加 superpowers 设计文档与确定性修复计划
添加融资计划书演示文稿(PreA/PreA+轮)
融资计划书PPT内容方案更新至 v1.0
add DAN assessment market transformation plan — full 5-phase design
一生一世家庭会员设计方案 v1.1 + 双并行实施计划
update E2E test results documentation
add article system redesign design document
add 阶段性需求规格说明书 V1.0
add family member relationship conversion spec and plan
rewrite root AGENTS.md - compact, high-signal, removes stale refs
添加数据库迁移工作流规范
add login-left-panel and article-center design docs
add activity home page design and implementation plan
DimensionWeightPicker 重设计规格文档
重写测试矩阵为用户故事方式(v2.0/120用例) + ISSUE-004/005/006根因分析文档
完整E2E测试报告2026-07-01 + ISSUE-003修复验证 + ISSUE-004/005/006录入 + 测试用例矩阵更新
v2.2 IP形象融入五维能量色系
更新问题追踪表 ISSUE-001/003 已解决
v2.1 浠宝→玄凤鹦鹉, 福宝→蓝白英短
浠宝(鹦鹉)/福宝(猫) IP吉祥物形象设计书 v2
同步e2e测试结果文件
更新测试追踪报告 + ISSUE-003根因确认 (2026-06-30)
添加测试追踪系统 + 多角色E2E测试报告 (2026-06-29)
更新E2E测试报告 - 第三次验证
更新管理后台发布E2E测试报告 - 第三次验证
更新管理后台发布E2E测试报告 (2026-06-28) 同步测试
添加智页面重构和组件提取实施计划
更新管理后台发布E2E测试报告 (2026-06-28)
重构幸福三支柱为三支柱→五维映射框架
身强体健更名为身强
升级幸福三支柱为五支柱,补充身和行
add incremental implementation plan for 7D health dimension system
添加关系质量功能(第二层)实现计划
update health dimensions design spec - add product-dimension integration section
更新百科词条-去技术章节改第三人称加参考资料
新增亿图腾百科词条(运营文案)
add 7-dim health model refactor plan + design spec
更新README和AGENTS,同步TabBar/端口/关系管理模块
add health-dimensions-phase1 design plan and resolve merge conflicts
add mini-program promotion design and implementation plan
add 智维度页面重设计方案 - wisdom dimension page redesign
心版块第一阶段实现计划——核心体验闭环补齐+六大补充方向
P1 implementation plan
P1 nutritionist feature design spec
update AGENTS.md for cfclub branch (146 commits ahead)
更新企业官网文案与 README
P0营养师核心功能实现计划(15 Tasks,5 Waves,档案视图+缺乏分析+可视化解读)
P0营养师核心功能设计方案(档案统一视图+缺乏分析+可视化解读)
根据企业官网内容更新项目 README
add health nutrition gaps fix implementation plan (5 tasks)
add FamilyRelationGraph redesign spec and implementation plan
add 参考资料 directory with PDFs
add gut flora report schema fix implementation plan for dev engineer
add admin backend controller to meal recommendation implementation plan (Task 9)
add web permission system design docs
add precision nutrition implementation plan
add cfc-web refactor plan + test docs and fixes
add cfc-web E2E test fix plan
add DanShop order-fix plan
update project knowledge base (AGENTS.md) - cfclub branch info, critical config, TabBar 5-page structure, system patterns and anti-patterns
trim homepage plan — 9 tasks done by remote c1ade35 , keep only Task 1
添加文章与活动发布系统设计文档
add homepage risk fix plan — 10 issues across parent-index/child-index
add systems-analyst role definition for OpenCode
add family member cards design specs and plan
文档归档整理 + 行远页新增重要关系维护设计
新增财富健康设计文档和实现计划(记账打卡+保单管理+能量联动)
add plans, specs, analysis docs for energy system, article system, wuxing sandbox, subPackages
add article publishing system implementation plan
文章设计文档增加浏览权限控制(public/login/private)
新增文章内容发布系统设计文档
更正五星布局,从最左侧顺时针木火土金水,顶为心
新增五维五行哲学体系设计规范,更新能量设计文档对照
更新公司及产品介绍文案(五维全景幸福矩阵)
新增公司及产品介绍(身心情行富五大领域)
品牌名统一为浠艾福(Care Family),重写README定位为家庭健康成长平台
项目名称变更 知心益家→浠艾福,重写README
小程序页面重设计划
add five-dimension energy system design spec and implementation plan
添加登录前浏览体验实现计划(7个任务)
添加登录前浏览体验设计规格(pre-login discovery)
现状差异分析报告 + Phase 1 商品系统实现计划
添加Phase 0实现计划文档
添加溪福俱乐部(CFC)设计文档和Phase 0实现计划
更新需求分析文档和设计文档
更新项目文档和需求分析文档
更新README项目结构和技术栈
update design docs and directory references
move system design docs under docs
move system test docs under docs
move requirements docs under docs
梳理任务管理需求文档
更新需求完成报告,反映V1.2当前实现状态
样式
添加商城订单快捷和推广中心快捷样式
重绘「身」TabBar 底签哑铃图标, 更新浠艾福项目总体介绍 pptx; gitignore 排除 .codegraph
家庭挑战卡片缩水为纯展示组件
心理报告上传卡片参照身页面卡片风格重新设计
淡化中心太极阴阳鱼,去除黑白底色改为半透明
activity-detail 补充付费不退费 CSS 样式
测试
参与机制单元测试(respond/评分矩阵)
身份参数加固回归测试 + 修复过期断言
新增 parseDate 单元测试(iOS 兼容回归保障)
端到端测试 — report_parse API + ReportParseAgent + LLM非dict防护
补充近期需求变更的端到端覆盖
switchToMember 测试 body 类型改为 Map
fix 35+ flow-l1 test param issues (118→153 passed)
Phase1 - infrastructure + core roles restructuring
admin/health/nutrition 覆盖新增控制器
add v1.1 scenarios for knowledge-popup, quick-nav, edit mode
add unified-audit-center, guide-family-list, and vendor-product-manage E2E tests
fix admin routes in E2E tests to use http://cfc.iwintrue.com/admin/login
add admin-butler-review and family-earnings-flow E2E tests + update dan-report-flow for DAN cognitive/EMI dimensions
update ISSUE-TRACKING v15 — remote sync analysis + E2E results + pending test additions
fix E2E route paths per pages.json + update ISSUE-TRACKING with v14 findings
add E2E tests for DAN report, flora microbiome, and AI plan-task flows + fix playwright.config.js baseURL
fix e2e test runner - mini-games Playwright syntax, admin-panel URL, baseURL
improve E2E test robustness and simplify DAN assessment flow
新增 DAN 测评服务商体系完整流程测试 + 需求验证报告
v13 最终版 - SupplySystemServiceTest(18/18), 修复 getAdminList 参数签名, 更新测试文档
v13 test records + issue tracking (ISSUE-010~012)
unit tests for SupplySystem/FoodRecommend/ArticleWorkflow + v11 API test updates + E2E workflow scenarios
s: fix playwright config, add E2E status report, system Chrome used
s: v10 results - 15 PASS / 0 FAIL, ISSUE-002 fixed, issue tracking added
新增健康营养师流程测试 + E2E场景矩阵文档
s: update v9 results - backend accessible, 12 pass / 3 fail
s: add v9_test.js for cfclub updates
v8 final results 11 PASS 2 FAIL 1 SKIP
add v3 API test scripts for NEW fix verification
round 5 API test reports + NEW-01/02/03 issue tracking + test scripts
E2E测试配置和运行指南
成长记录/能量系统/商品购买/签到奖励流程测试
家庭成员管理/心愿兑换/规划师绑定流程测试
Playwright E2E 端到端流程测试套件 (8个核心业务流程)
测评订单全流程集成测试
add dimension controller and energy sync tests
add service layer tests for ActivityAdminService, FoodService, NutritionDeficiencyService (36 tests)
add teacher/admin role tests for WishController, child/admin denial for guideBindFamily; add test report
add 7 role-boundary tests for GuideFamilyTaskController, extract TestRoles constants
fix 6 test files entity/DTO field mismatch
add 70 backend tests for 4 role types + fix 24 compilation errors
add cfc-frontend test suite (153 tests) + update test report
results:
修补测试用例,全量204测试通过
s run: 204, Failures: 0, Errors: 0, Skipped: 0
新增成长档案与测评模块测试报告
新增成长规划师模块测试用例
重构系统测试用例,分离API测试和Web浏览器测试
性能优化
维度首页过渡页强制关闭上限 3s 缩短至 1.5s
pre-compute display values in computed to avoid template method calls
add async thread pool (core=8/max=16/queue=100) + start.sh with G1GC
combine dashboard 7-API calls into single POST /api/stats/dashboard
replace full Element UI import with selective imports
add 9 composite indexes via idempotent migration
add migration version table, skip migrations after first run
batch queries in EnergyService to eliminate N+1 patterns
configure HikariCP pool size 50, remove duplicate datasource config
v1.0.1009 (2026-08-12)
新功能
修复排序功能后端消费body sort + 前端构建修复
其他
- AdminController.getUsers: 读body sort透传SortUtil
- AdminArticleController + ArticleService: 读body sort透传
- AdminProductController: 读body sort,条件化默认排序(避免SQL冲突)
- AdminProductOrderController + ProductOrderService: 读body sort透传
- AdminRecipeController + RecipeService: 加分页+读body sort
- AdminCouponController + CouponService: 加分页+读body sort
- AdminProductPpointController + PpointService: 读body sort透传
- PpointConfigAdminController + MealRecommendService: 适配签名变更
前端:
- 修复7个vue文件的+col_key+语法错误+错位header+重复import
- npm run build通过
v1.0.1008 (2026-08-12)
新功能
成长页布局重构 - 饮食入口+今日推荐食材+记录卡平铺+干预快捷网格
v1.0.1007 (2026-08-12)
Bug 修复
修复排序批量 patch 产生的语法错误,恢复构建
其他
- ArticleManage.vue: header 移到 viewCount 列,修 col_key,删重复 import,补 sortableColumns
- OrderManage.vue: header 移到 orderNo 列,修 col_key,补 sortableColumns
- ProductManage.vue: header 移到 name/salesCount 列,createdAt 修 col_key,补 sortableColumns
- Recipes.vue: header 移到 name 列,补 import SortMixin,修 col_key
- CouponManagement.vue: header 移到 name 列,修 275/389 语法,补 sortableColumns,加 loadList 别名
- ProductPpointManage.vue: 修 156 行 }、sort 语法
npm run build 通过
v1.0.1006 (2026-08-12)
新功能
rebuild cfclub with essential project files
v1.0.1005 (2026-08-12)
Bug 修复
关卡页与报告渲染组件 :key 改为方法调用,消除非h5平台编译告警
stable_token重试失败时回退常规token接口
其他
v1.0.1004 (2026-08-12)
Bug 修复
成长页推荐卡片 :key 改为方法调用,修复非h5平台编译告警
成长页成长回看改名为成长记录,追踪标签移除调研
v1.0.1003 (2026-08-12)
Bug 修复
报告上传改走 JD Cloud OSS,LangGraph 解析支持远程 URL
其他
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 时序)
v1.0.1002 (2026-08-12)
文档
明确商品积分仅按现金实付部分计算
家庭平台积分(CF值)体系设计文档
Bug 修复
移除报告审核 Tab 及相关路由
迁移227 product_skus.id 升级为 BIGINT
其他
- 生产库 id/product_id 为 INT,实体为 Long,插入超出 INT 范围的 id 报错
- 生产 DB 已直连 ALTER(即时生效)
v1.0.1001 (2026-08-12)
新功能
健康报告三合一 - 统一报告列表/审核/代传为单页带Tab
Bug 修复
RegionController 移除硬编码数据,改用 StreetService 读取 DB 全量省市区数据
v1.0.1000 (2026-08-12)
Bug 修复
迁移226 products 添加 growth_category 列
其他
- Product 实体已含字段,生产库缺列,商品列表分页查询报错
- 生产 DB 已直连 ALTER(即时生效)
- schema.sql 同步补列
v1.0.999 (2026-08-12)
Bug 修复
迁移225 articles 添加 growth_category 列
其他
- Article 实体已含字段,生产库缺列,getFeatured 精选查询报错
- 生产 DB 已直连 ALTER(即时生效)
- schema.sql 同步补列 + 解决 unlock_gates/microbiome_article 冲突
v1.0.998 (2026-08-12)
Bug 修复
成长页推荐只调用一次API,前端按growth_category分组显示
v1.0.997 (2026-08-12)
Bug 修复
推荐接口移除 growth_category 过滤,直接取精选内容
v1.0.996 (2026-08-12)
新功能
其他
- 后端: AI自动分类接口 /api/growth/articles/products/ai-classify
- 前端: growth-main 新增推荐文章和推荐商品卡片
- 前端: api.js 新增 getGrowthRecommendations()
v1.0.995 (2026-08-12)
Bug 修复
GrowthRecommendationService 修复 getCategory 调用错误
v1.0.994 (2026-08-12)
新功能
其他
- 后端: GrowthRecommendationService 推荐查询 + AI分类
- 后端: GrowthController /api/growth/recommendations + /ai-classify
- 前端: growth-main 新增推荐文章+推荐商品板块
v1.0.993 (2026-08-12)
重构
其他
- gut-flora-caution-detail → pages/growth/caution-detail
- gut-flora-foods-detail → pages/growth/foods-detail
- growth-main 新增戒备/饮食推荐行动卡片(戒备有数据时显示)
- 更新 gut-flora-detail.vue 跳转链接
v1.0.992 (2026-08-12)
新功能
我的页面改为电商风格 - 订单五宫格/购物车/收货地址, 移除功能网格
其他
- profile-main: 新增购物车(角标99+封顶)与收货地址入口
- profile-main: 移除功能入口网格, 设置改为菜单项放退出登录上方
- profile-main: loadOrderCounts 修正字段映射(pending/paid/shipped/refunding)
- profile-main: 补充 loadCartCount 方法定义
- order-list: onLoad 支持 status 参数, 我的订单五宫格点击直达对应状态列表
Ultraworked with Sisyphus
Co-authored-by: Sisyphus sisyphus@ohmyopencode.ai
v1.0.991 (2026-08-12)
Bug 修复
报告详情行距优化、富维度商品封面图URL修复、智维度功能区间距调整
修复成就页分包注册路径,健康/成长页移除家庭成员选择条
v1.0.990 (2026-08-12)
新功能
通关解锁管理端 - 关卡配置 CRUD/排序/启停/家庭进度管理
v1.0.989 (2026-08-12)
文档
其他
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
/data/cfc-uploads/ 文件,导致解析时报「文件不存在」。
修复:将 langgraph-data:/data 拆分为两层挂载:
- /data/cfc-uploads → bind mount 宿主机路径(共享上传文件)
- langgraph-data:/data/chroma_db → 独立命名卷(chroma 向量数据持久化)
Bug 修复
LangGraph 容器挂载宿主机上传目录替代命名卷
v1.0.988 (2026-08-12)
文档
v1.0.987 (2026-08-11)
Bug 修复
getFamilyEnergySandbox 兼容新返回格式,避免16个旧页面崩溃
v1.0.986 (2026-08-11)
新功能
前端组件+页面改造 - WuxingSandbox切换开关/gate-lock/gate-guide-bar/关卡中心页/parent-index+child-index门禁
v1.0.985 (2026-08-11)
新功能
报告详情页统一重构为完整页面,修复上传后跳转 routeDone 报错
其他
- report-confirm.vue 去除 onLoad 重复的 draftId/memberId 赋值,draftId 模式自动跳转详情页
- report-upload.vue 上传草稿后跳转详情页
- 新增健康报告编辑日志(HealthReportEditLog + Mapper + 建表迁移)
- 报告服务/区块组装/排序工具相关后端增强
v1.0.984 (2026-08-11)
Bug 修复
v1.0.983 (2026-08-11)
新功能
其他
- 前端: 新建 gut-flora-caution-detail.vue 页面,倒序展示 indexScore < 0 的食材
- 前端: gut-flora-detail.vue 新增'食材戒备'入口卡片(有戒备食材时显示)
- 前端: api.js 新增 getFoodCautionList()
v1.0.982 (2026-08-11)
新功能
新增成就页面 achievement/index.vue
实现服务角色申请、报告详情、成就页面,修复占位按钮
v1.0.981 (2026-08-11)
新功能
其他
v1.0.980 (2026-08-11)
新功能
新增子维度自检题库(行6维/心自驱力自我概念/智成长型思维/富家族传承)及计分
心13维分组雷达图+行6维关系域雷达图+智成长型思维加入认知雷达
五维体系新增心13维/行6维/智成长型思维/富家族传承子维度字段与计算逻辑
Bug 修复
自驱力/自我概念/成长型思维解析改为嵌套Map+中文key的structuredAnalysis真实结构
v1.0.979 (2026-08-11)
Bug 修复
v1.0.978 (2026-08-11)
Bug 修复
UserController 编译错误 - 修复 getPointsBalance 方法和 log 引用
v1.0.977 (2026-08-11)
新功能
菌群功能分析——功能维度聚合+P/B比值+饮食模式+风险提示
我的页面重设计为以我为中心
我的页面新增个人成就统计API
其他
- BeijingNutritionService.analyzeGutFlora: 按功能分类聚合菌属
(丁酸盐生产者/黏液屏障/蛋白质发酵者/SCFA/产气菌/益生菌等)
- 计算 Prevotella/Bacteroides 比值推断饮食模式
- 组合风险模型(IBD/代谢/肠易激/神经-肠轴)
- 益生菌补充指导
- POST /api/nutrition/beijing/analysis
前端:
- gut-flora-detail.vue 新增分析卡片(功能维度评估/PB比值/饮食模式/风险/益生菌)
- api.js 添加 getGutFloraAnalysis
Ultrawwork with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.976 (2026-08-11)
新功能
其他
- 后端: SortInterceptor + SortUtil 全量支持
- 支持单击设主排序、Shift+Click追加、双击切换方向,最多3列组合
v1.0.975 (2026-08-11)
Bug 修复
修复测试编译错误和 FoodService 列名映射错误
v1.0.974 (2026-08-11)
Bug 修复
修复 EnergyControllerTest 编译错误
v1.0.973 (2026-08-11)
Bug 修复
SortUtil 修复 LambdaQueryWrapper 类型不兼容问题
v1.0.972 (2026-08-11)
新功能
其他
- 新增 SortUtil.applySort(wrapper) 自动注入 ORDER BY
- 批量 patch 110+ 个 controller/service 文件
v1.0.971 (2026-08-11)
新功能
通关解锁后端全链路 - 2表迁移+UnlockGateService(8判定)+/api/unlock/status+sandbox个人/全家门禁+5处触发钩子+管理端接口
Bug 修复
雷达图销毁后停止初始化重试 + 成长页定期调研改名成长回看并防御空项点击
v1.0.970 (2026-08-11)
新功能
其他
解决方案,平台承诺未经授权不向第三方提供报告内容。未勾选时点击上传
卡片会弹出确认弹窗,用户同意后自动勾选并继续选文件流程。
Closes: 报告上传用户隐私声明需求
v1.0.969 (2026-08-11)
Bug 修复
我的页面isLoggedIn改为data+onShow赋值,修复登录后仍显示登录前视图
v1.0.968 (2026-08-11)
Bug 修复
NutritionProductService 字段名冲突导致 Bean 注入失败
v1.0.967 (2026-08-11)
Bug 修复
补全 FileRecord 实体和 Mapper(JdCloudStorageService 依赖)
文档
新增实施计划 - 13任务分解,含迁移/Service/Controller/前端组件/管理端全链路
其他
v1.0.966 (2026-08-11)
新功能
其他
- 后端: AdminFoodController 解析前端 sort 数组传入 Service
- 前端: 列头点击排序(单击设主排序,Shift+Click追加,Ctrl+Click切换方向)
- 前端: 排序徽章显示当前排序链,最多支持3列组合排序
- 前端: 排序列高亮 + 方向图标
v1.0.964 (2026-08-11)
Bug 修复
雷达图标签边界约束 + 底部留白防tabbar遮挡 + 五维卡片标题单行 + 移除闭环图
新功能
nutrition_product 添加 local_product_id 字段关联本平台商品
新增营养产品爬虫主脚本(强制包含被gitignore的.py)
新增营养产品爬虫脚本(京东/Amazon)
新增营养产品推荐Controller
新增营养产品推荐Service及DTO
新增6个营养产品Mapper
新增6个营养产品实体类
schema.sql同步营养产品6张表
v1.0.963 (2026-08-10)
新功能
Bug 修复
diet/record/daily, survey/status, survey/history memberId 为空时优雅降级
其他
- DietRecordService: getDailySummary/getWeeklyTrend 增加 userId 参数 + resolveMemberId 反查当前用户自己的 family_members 记录
- SurveyController: 移除 status/history/submit 的缺少成员ID 报错
- SurveyServiceImpl: resolveMemberId 兜底,submit 时仍无法确定则抛业务异常返回 400
v1.0.962 (2026-08-10)
文档
v1.0.961 (2026-08-10)
新功能
其他
- 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) 防重复
v1.0.960 (2026-08-10)
文档
设计升级 v2.1 - 三关递进+沙盘个人/全家切换+增值关卡+六步法关卡总表
其他
v1.0.959 (2026-08-10)
新功能
其他
- 新增月度引导语(12个月差异化文案)
- 💧金色主题样式
健康页(health-main)登录前:
- 新增五维闭环体系可视化(身/心/智/行/富环形图)
- 相生关系: 身→智→富→行→心→身
- 相克关系: 身克富·智克行·富克心·行克身·心克智
- 五维介绍卡片(点击跳转对应维度页)
成长页(growth-main)登录前:
- 同构五维闭环体系(绿色主题区分)
- 替换原理念卡位置,内容更丰富
- 保留原登录后逻辑不变
v1.0.958 (2026-08-10)
新功能
其他
- 品牌定位语'科学管理全家健康数据'
- 痛点卡: 指标正常≠健康 + 孩子反复生病文案
- 4宫格功能预览(报告/认知测评/心理测评/智能方案)
- 15题五维健康自检入口
- LoginGuideCard 升级版
成长页(growth-main)登录前:
- 品牌定位语'看见改变正在发生'
- 理念卡: 记录不是目的,看见改变才是
- 脱敏案例展示(小明3个月前后对比)
- 4宫格功能预览(打卡/调研/里程碑/家庭挑战)
- LoginGuideCard 升级版
- 原登录后逻辑不变
v1.0.957 (2026-08-10)
新功能
行维度落地页挂载 - 五维弹窗 action 跳转到专属页面
其他
- pages.json 注册 pages/action-detail/index 页面
- custom-tab-bar dimMap.action 从首页改为 /pages/action-detail/index
v1.0.956 (2026-08-10)
Bug 修复
v1.0.955 (2026-08-10)
新功能
添加菌群知识库836篇文章+embedding+LangGraph集成
v1.0.954 (2026-08-10)
Bug 修复
HealthReportControllerTest 适配 listReports 方法签名变更
v1.0.953 (2026-08-10)
Bug 修复
LangGraphAdmin.vue 修复 ES6 spread 语法兼容 webpack4
v1.0.952 (2026-08-10)
Bug 修复
报告列表接口不强制 memberId——未传时回退到家庭报告列表
v1.0.951 (2026-08-10)
Bug 修复
v1.0.950 (2026-08-10)
Bug 修复
HealthDimensionControllerTest 适配 history 方法签名变更
v1.0.949 (2026-08-10)
Bug 修复
LangGraph管理页全屏布局 + 健康检查修复
其他
- 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桥接网关)
v1.0.948 (2026-08-10)
Bug 修复
LangGraph健康检查修复Java后端状态显示
其他
(Java后端所有接口均为POST,GET返回404)
- .env.production: JAVA_BASE_URL由远程IP改为172.17.0.1(Docker桥接网关)
(Java后端运行在同服务器宿主机,Docker容器通过桥接网络访问)
v1.0.947 (2026-08-10)
重构
去掉API自动传memberId——child角色从JWT获取currentMemberId,parent不自动选孩子
其他
- 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 功能表与文档索引
文档
通关解锁功能设计 - 自检门禁解锁能量沙盘+增值关卡+软引导
v1.0.946 (2026-08-10)
Bug 修复
LangGraph管理页全屏布局 + Java后端健康检查修复
其他
- 表格高度自适应,无固定 max-height
- Java后端健康检查由 /health 改为 /api/(返回401=正常需认证)
- 组件详情展示 detail 字段而非 code
v1.0.945 (2026-08-10)
新功能
其他
- 健康页登录前新增痛点卡、功能预览、五维自测入口
- 成长页新增登录前内容(理念卡+示例展示+功能预览+LoginGuideCard)
- 所有内容来自《家的算法》书稿(book/目录)
- 登录后内容保持不变
v1.0.944 (2026-08-10)
Bug 修复
修复重置用户密码接口请求体参数丢失 - data 改为 data: { password }
天盘页面 routeDone 路由错误修复 - 导航工具加锁防重复跳转、修复 canvas 混合 API 用法
其他
v1.0.943 (2026-08-10)
Bug 修复
TeacherLoginTest 适配 roles 改为 List
v1.0.942 (2026-08-10)
Bug 修复
健康/成长页不传memberId + 后端自动解析当前用户memberId JwtInterceptor对所有角色设置currentMemberId/familyMemberId
无 memberId 时跳过健康/成长页数据请求,避免后端 400 空字符串解析错误
v1.0.941 (2026-08-10)
Bug 修复
User.roles 改为 List 修复修改角色反序列化错误
其他
- LoginResultDTO.roles: String → List
- UpdateUserDTO.roles: String → List
- UserService: 移除 parseRoles/joinRoles,直接使用 List
- EnergyService: 简化 parent 角色检查
- SupplyManageController: 直接使用 List.contains()
- DataMigrationService: 使用 Arrays.asList()
- ServiceRoleApplicationServiceImpl: 保留 JSON 序列化(独立表字段)
v1.0.940 (2026-08-10)
文档
其他
新功能
v1.0.939 (2026-08-10)
Bug 修复
健康/成长页 memberId 为空修复 - getReportList 传 selectedMemberId、onShow 顺序调整、FamilyMemberStrip 绑定 @select 事件
v1.0.938 (2026-08-10)
Bug 修复
其他
形成 '/dashboard → / → /dashboard → …' 无限循环。
改为 next('/403') 直接跳 403 页面,终止循环。
v1.0.937 (2026-08-10)
重构
LangGraphAdmin 重构为标签页布局 + 真实请求历史面板
其他
新功能
新增请求日志中间件 + /api/v1/logs 查询接口
v1.0.936 (2026-08-10)
Bug 修复
修复 4Tab 编译错误 - 补回 wealth/index.vue 缺失的 service-item v-for 和 serviceList 数据; 修复 report-detail.vue 和 report-blocks-renderer.vue 的 :key 表达式改为方法调用
v1.0.935 (2026-08-10)
Bug 修复
JwtConfig 兼容短密钥,避免 WeakKeyException
其他
低于 JWT HMAC-SHA 要求的 256 位。新增自动扩展逻辑:
- SHA-256 哈希扩展(密钥>=256位时直接使用原密钥)
- 字节填充回退
v1.0.934 (2026-08-10)
文档
其他
新功能
首页新手任务进度条置顶 + 无家庭成员空状态引导
自检结果页新增一键加入今日微行动
新手任务新增 COMPLETE_SELF_CHECK(提交五维自检即完成)
微行动×五维联动 — micro_actions 增加维度字段与短板维度推荐
v1.0.933 (2026-08-10)
Bug 修复
LangGraph管理页改造 + 新增health/coach/generate端点
其他
- 移除功能测试面板(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重启 + 健康检查)
v1.0.932 (2026-08-10)
新功能
个人信息所在地改为省市区三级联动并与订单联系人共享地区数据
其他
- 前端 profile.vue: loadUserInfo 按14个字段计算个人信息完整度 profileProgress, 修复一直显示0/14的问题
- 后端: users/consignees 表新增 province/city/district/street 字段(迁移211 + schema.sql同步)
- UserService.updateUserInfo: 保存地区后自动创建/更新同名同手机号联系人, 共享地区数据
- ConsigneeService.save: 联系人姓名手机号与当前用户一致时, 反向同步地区回用户
v1.0.931 (2026-08-10)
新功能
疾病风险内联编辑 + fromMap diseaseRisks 映射 + 全量编译验证
报告入口切换到统一详情页
统一报告详情页 report-detail(blocks 渲染)
通用报告块渲染器 report-blocks-renderer
getReportDetail/DAN detail 返回 blocks
三个落库挂点写入 report_blocks(confirmDraft/confirmUpload/编辑)
ReportBlockAssembler DAN 组装(score/list/text)
ReportBlockAssembler gut_flora 组装 + fromMap 键名转换
ReportBlock 实体/Mapper/Service(blocks upsert + 读取)
report_blocks 表迁移(通用报告展示块)
Bug 修复
修复预存编译错误(DanshopSyncService引用 + 缺失File/FileOutputStream import)
v1.0.930 (2026-08-10)
重构
其他
- 步骤指示器 + 卡片式报告选择
- 需求输入区改为标准表单,非对话样式
- LangGraph 调用逻辑不变(aiSendMessage),仅前端 UI 改造
- 方案结果以普通卡片展示,任务列表支持执行人修改
v1.0.929 (2026-08-10)
新功能
报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成
其他
- 后端 HealthReportService 新增 getFamilyReports(familyId) 方法
- report-confirm.vue 确认后跳转 health-plan-summary
- 重写 health-plan-summary.vue:
- 选择全家已有报告(含其他家人)
- AI 对话式输入需求,返回方案内容
- 自动解析任务列表,支持修改执行人
- 确认后批量创建任务单
文档
通用报告块渲染引擎实施计划
通用报告块渲染引擎设计文档
v1.0.928 (2026-08-10)
新功能
报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成
其他
- 后端 HealthReportService 新增 getFamilyReports(familyId) 方法
- report-confirm.vue 确认后跳转 health-plan-summary
- 重写 health-plan-summary.vue:
- 选择全家已有报告(含其他家人)
- AI 对话式输入需求,返回方案内容
- 自动解析任务列表,支持修改执行人
- 确认后批量创建任务单
v1.0.927 (2026-08-09)
Bug 修复
移除维度页未使用的LoginGuideCard import
v1.0.926 (2026-08-09)
新功能
Bug 修复
其他
(未知文本一律算异常),而 _cssClass/statusText 用白名单映射(未知显示正常),
导致分组标题'X 项异常'把样式正常的指标计入异常数。
改为与 _cssClass 一致的白名单判定(仅 high/low/abnormal/偏高/偏低/异常/
缺乏/不足/注意/高风险 计异常),并补齐 _cssClass/statusText 的'异常'中文键。
v1.0.925 (2026-08-09)
Bug 修复
修复 parse 读取文件路径重复拼接 uploadBaseDir
健康报告上传改用 upload-only 接口
其他
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。
v1.0.924 (2026-08-09)
Bug 修复
删除DanshopSync stub + 实现EnergyService占位方法 + PdfReport用PDFBox渲染 + AiGateway新增generateHealthPlan
v1.0.923 (2026-08-09)
新功能
其他
- 新增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
v1.0.922 (2026-08-09)
Bug 修复
迁移208 health_gut_flora.detection_rate 列扩容
其他
- VARCHAR(50)→VARCHAR(255),源数据(菌种检出率描述)可能超过50字符
- 生产 DB 已直连 ALTER(即时生效)
- schema.sql 新增 health_gut_flora 表 DDL
v1.0.921 (2026-08-09)
新功能
上传后自动跳转确认页按 draftId 解析,移除本页预览/成员选择逻辑
v1.0.920 (2026-08-09)
Bug 修复
其他
- CouponGrantLog/DanExecution/CfValueManage/MembershipCenter/PendingRefund/ButlerAudit/ServiceRoleApplications/supply-system/Detail/HealthReportAudit: 新增resolveUserNames方法,通过searchUsers API将userId解析为用户名显示
v1.0.919 (2026-08-09)
新功能
v1.0.918 (2026-08-09)
Bug 修复
移除 @Slf4j 注解,改用显式 Logger 避免编译错误
新功能
其他
- 在线测评(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更新
v1.0.917 (2026-08-09)
文档
新增规划与设计文档 - 内部沟通/合伙人PPT/家庭挑战参与
Bug 修复
CouponService 改用显式 Logger 替代 @Slf4j ,修复编译错误
v1.0.916 (2026-08-09)
Bug 修复
健康报告页修复 - memberId兜底、移除自定义导航、指标状态标签、文案优化
v1.0.915 (2026-08-09)
新功能
会员中心支持编辑会员等级(前端弹窗+后端update接口)
v1.0.914 (2026-08-09)
文档
成长页面重构为干预中心设计文档(今日进度+持续追踪+里程碑+定期调研)
v1.0.913 (2026-08-09)
新功能
会员页精简 - 合并续费/升级卡片、移除tab价格、个人中心按钮与徽章等高
其他
Bug 修复
清理残留成长档案文案 (DimensionIntroCard + profile-main)
v1.0.912 (2026-08-09)
Bug 修复
AdminController 补 @Slf4j + 修复 AdminNoticeController LambdaQueryWrapper 写法
新功能
报告上传流程拆分 — 新增 /report/upload(仅上传)+ /report/parse(按草稿解析)端点,修复 uploadBaseDir BLOCKING-2 残留
v1.0.911 (2026-08-09)
新功能
健康/成长Tab功能入口重组 + 成长档案改名成长记录
其他
- 成长Tab: 移除重复体征记录入口,保留每日打卡等8项执行层入口
- 全局改名: 成长档案 → 成长记录 (15个文件: 页面文本/导航标题/注释)
- 导航修复: mind-detail和wealth的TabBar页跳转改用nav.goPage; child-index/child-detail goToGrowth改用switchTab
Bug 修复
health tab getReportList 空 memberId → 从 store/storage 取当前用户ID
v1.0.910 (2026-08-09)
新功能
会员中心权益对比文案与个人中心会员卡升级入口
会员升级页移除功能列表、权益对比列联动高亮、状态卡片紧凑化
member_upgraderecords 增加 approve * 审核列迁移
其他
v1.0.909 (2026-08-09)
新功能
v1.0.908 (2026-08-09)
新功能
添加DimensionIntroCard组件 + 四个维度页插入介绍卡片
v1.0.907 (2026-08-09)
新功能
登录前页面改版 - 五维品牌定位语+LoginGuideCard升级+我的页跳过入口+富维度商城预览
v1.0.906 (2026-08-09)
Bug 修复
AdminNoticeController LambdaQueryWrapper eq方法参数类型错误
v1.0.905 (2026-08-09)
文档
补充富维度登录前/后设计 + 五维统一视觉规范
更新 PROJECT-OVERVIEW.md v2.7 — 增加 LIFETIME 终身会员全栈完成记录
新功能
富维度页面重构为财富之泉主题
小程序 index.vue 增加 LIFETIME 检测与会员态修复(终身会员隐藏续费入口、显示永久有效)
子维度改为水滴水满样式
新增财富能量环组件
小程序 upgrade.vue 增加 LIFETIME 权益对比列(灰色不可购买)与状态卡片终身会员展示
Bug 修复
v1.0.904 (2026-08-09)
新功能
v1.0.903 (2026-08-09)
文档
登录前页面改版设计 + 维度介绍卡片规范
富维度页面 redesign 设计文档 (财富之泉方案)
新功能
Web MembershipCenter.vue 增加终身会员统计卡片与标签样式
AdminController 增加终身会员概览统计、候选人查询与审核授予接口
v1.0.902 (2026-08-09)
文档
v1.0.901 (2026-08-09)
文档
v1.0.900 (2026-08-09)
新功能
新增LifetimeStatsMapper消费/销售滚动365天聚合查询
getPricingPlans 改读membership_levels并过滤LIFETIME(下线sys_config价格)
插入LIFETIME终身会员等级行(migration 204)
membership_levels 添加原价列并幂等同步价格(migration 203)
会员等级实体/DTO增加原价字段, 升级记录增加审批字段
v1.0.899 (2026-08-09)
Bug 修复
推荐服务商品状态改 on_shelf 修复 dimension-products 空数组; feat(frontend): 推荐阅读三列书封比例/推荐商品自加载/会员级别样式
v1.0.898 (2026-08-09)
新功能
平台公告功能 - 动态页显示平台消息+管理员公告管理
v1.0.897 (2026-08-09)
新功能
商品详情底部按钮布局调整 - 海报靠左、加购物车/立即购买靠右
文档
Bug 修复
getOrderCounts 接口路径错误导致 404
其他
v1.0.896 (2026-08-09)
Bug 修复
growth-main 移除活动维度参数
home-detail 移除任务维度参数
member-detail 移除任务维度参数
index-home 移除维度参数
wisdom 成员详情页移除维度参数
wisdom-detail 成员详情页移除维度参数
mind-detail 成员详情页移除维度参数
body-detail 成员详情页移除维度参数
action 成员详情页移除维度参数
mind 成员详情页移除维度参数
body 成员详情页移除维度参数
DimensionTasks 移除维度参数自加载
DimensionActivities 移除维度参数自加载
DimensionArticles 移除维度参数自加载
DimensionProducts 移除维度参数自加载
推荐商品接口支持空 dimensionCode 返回全量
文档
平台终身会员(LIFETIME)设计文档(方案A: 等级扩展+实时聚合+管理员审核)
推荐组件移除维度实现计划
补充推荐组件移除维度设计细节
新功能
v1.0.895 (2026-08-09)
新功能
手机号快捷登录 - 使用微信 getPhoneNumber 授权获取手机号
v1.0.894 (2026-08-09)
文档
新功能
推荐商品/推荐阅读改四列网格; fix(backend): 家庭成员列表按userId去重
管理端CF值余额与流水查询页面
新增管理端CF值余额与流水查询接口
购买商品发放CF值并激活推荐人分润
活动签到发放CF值
其他
- ArticleBookshelf 组件: 书册横滑改四列网格, 显示4篇文章
- index-home: 推荐阅读移到推荐商品下方, 推荐商品请求数量 2->4
- FamilyMemberStrip: 无 props 用法时自我加载可见家庭成员
- UserService: 家庭成员列表按 userId 去重(创建者双表记录)
重构
v1.0.893 (2026-08-09)
重构
新功能
v1.0.892 (2026-08-09)
Bug 修复
添加家庭成员数量校验 - 任务分配需≥2人/挑战需≥2参与者/互动双方不能同一人
v1.0.891 (2026-08-09)
新功能
新增CF值表结构迁移与存量佣金迁移
新增PlatformPointsService管理CF值余额与流水
新增CF值余额与流水实体及Mapper
v1.0.890 (2026-08-09)
新功能
pages.json 注册会员 pay/result 页面
新增支付结果页 result.vue(成功态+赠券/失败态+续付)
新增订单确认页 pay.vue(明细/优惠券/拆单提示/虚拟支付逐期)
/api/membership/plans 返回原价字段(originalYearly/Monthly/Quarterly)
会员原价配置(sys_config 新增4键: family/premium 年费月费原价)
重构
upgrade页移除支付/优惠券逻辑,改下一步跳转pay,修复会员状态判断bug,支持划线原价
Bug 修复
createOrder 透传 couponId(会员优惠券此前未生效)
文档
会员支付/升级实现计划(upgrade→pay→result 三段式 + 原价配置)
会员支付/升级页面设计(方案B:upgrade→pay→result 三段式 + 原价配置)
v1.0.889 (2026-08-09)
新功能
商城首页搜索栏加购物车入口(带角标) 财富页移除购物车服务项
v1.0.888 (2026-08-09)
样式
新功能
v1.0.887 (2026-08-09)
重构
重设计我的页面 - 用户卡片+数据概览+五维能量+待办提醒+分组菜单
重设计'我的'页面为信息集散中心 - 用户卡片+数据概览+五维能量+待办提醒+功能菜单
v1.0.885 (2026-08-09)
Bug 修复
管理员登录兼容 BCrypt 密码验证 + 新管理员密码用 BCrypt
家庭成员邀请改为小程序原生分享
其他
- 移除 dead code: 无意义的 empty-tip 视图
- 移除无用 import: generateFamilyInviteQrCode
- onInvite 使用 uni.share type=5(小程序原生卡片分享),不再依赖 QR 图片
- 分享卡片带标题+家庭名,被邀请人直接打开 invite/join 页面
v1.0.884 (2026-08-09)
新功能
其他
Bug 修复
完善信息页面移除 hasFamily 门控 — 老用户编辑时始终显示表单
v1.0.883 (2026-08-09)
新功能
其他
Bug 修复
完善信息页面移除 hasFamily 门控 — 老用户编辑时始终显示表单
v1.0.882 (2026-08-08)
重构
其他
- 移除 FamilyEnergyBar(沙盘已含能量信息)
- 移除 DimensionTasks/圈子模块,移入功能入口
- 新增 3列功能入口网格(对齐健康/成长页 grid-3col)
- 移除未登录态五维全景幸福矩阵
- 重构结构:Banner → FamilyMemberStrip → 沙盘 → 网格 → 挑战 → 推荐
- 清理冗余 JS 数据/方法/API调用和 CSS 样式
导致 ProfileHeader/Badges/Growth/Menu 加载失败,页面仅显示内联个人信息卡片。
将 4 个 Profile 组件复制到全局 components/ 目录,并更新两处 import 路径。
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Bug 修复
v1.0.881 (2026-08-08)
重构
移除维度页中的活动/文章/商品区块,仅保留能量相关内容
v1.0.880 (2026-08-08)
Bug 修复
adjust position of heart icon and update tab icons
v1.0.879 (2026-08-08)
新功能
将过渡页从首页移入独立页面 pages/splash
v1.0.878 (2026-08-08)
Bug 修复
growth tab 空态不刷新 — hasFamily 加入 children/records 判断
v1.0.877 (2026-08-08)
Bug 修复
TabBar 分包冲突 + 自定义TabBar不显示修复
其他
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 简写方法语法错误
v1.0.876 (2026-08-08)
文档
更新 PROJECT-OVERVIEW v2.6 - TabBar 重构完成状态
更新 TabBar 重构计划为 completed 状态 + 完成情况清单
新功能
TabBar 重构 - 4Tabs(首页/健康/成长/我的) + 中间五维启动器 + 自定义TabBar
其他
- 五维 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)
v1.0.875 (2026-08-08)
Bug 修复
v1.0.874 (2026-08-08)
Bug 修复
文档
新功能
小程序同意/拒绝+参与成员多选+pending展示
v1.0.873 (2026-08-08)
文档
add TabBar redesign spec + restructure plan (4 native tabs + 5-dim launcher + wuxing dashboards + theory layer)
v1.0.872 (2026-08-08)
Bug 修复
修复邀请流程 - 传递familyRole、改用小程序分享
创建家庭时自动将创建人加入为家庭成员(修复空心家庭问题)
v1.0.871 (2026-08-08)
Bug 修复
修复 UserService 中 createJoinRequest 调用
修复 createJoinRequest 调用参数
修复邀请流程 - 保存familyRole、修复轮询逻辑
v1.0.870 (2026-08-08)
Bug 修复
修复 RequestBodyCachingFilter 编译问题
FamilyMemberStrip centerMemberId watcher 加 immediate + 清理重复 .action-header 样式
pairwise VO 补齐 isSpouse 与 lastInteractionAt(修复成员详情页 action-sheet 关系标签和上次填写时间显示)
修正 parseDate import 语法(named export)
新功能
成员详情页接入以成员为中心的关系条
pairwise接口API + 成员条centerMemberId视角模式
成员条空状态引导 + 长按菜单升级关系现状Action Sheet
家庭成员卡片增加关系现状三色点
关系pairwise接口(以成员为中心) + VO补齐沟通评分+isSelf
问卷提交时同步pairwise关系评分到family_relationships
family_relationships表增加关系质量评分三列
文档
家庭成员关系条增强实现计划(FamilyMemberStrip)
家庭成员关系条关系展示增强设计文档
v1.0.869 (2026-08-08)
Bug 修复
移除多余的 String 构造函数调用
修复 Java 8 兼容性问题 - readAllBytes 改用 readStream
v1.0.868 (2026-08-08)
Bug 修复
将 Java 11 HttpClient 改为 RestTemplate 兼容 Java 8
v1.0.867 (2026-08-08)
Bug 修复
LangGraph 管理页面使用原生 fetch 避免 axios 拦截器问题
迁移192 verification_codes.type 添加默认值
其他
- 旧版 INSERT 未携带 type 字段,DB 列 NOT NULL 无默认值导致插入失败
- 使用 MODIFY COLUMN 添加 DEFAULT 'login'(向后兼容,无需改代码)
- 直连生产 DB ALTER 已执行(下次服务重启 DBI 迁移幂等跳过)
v1.0.866 (2026-08-08)
Bug 修复
LangGraph 管理页面使用独立 axios 实例避免 CORS 和响应格式问题
v1.0.865 (2026-08-08)
新功能
v1.0.864 (2026-08-08)
Bug 修复
处理生产日志错误(foods.report_id/score + 知识库JSON + DBI迁移112)
其他
- 迁移191: foods 添加 report_id/score 列
- 直连生产 DB ALTER 已执行
- 修复 菌属-食材映射 JSON 解析失败:
- DB 顶层为 JSON Array 但代码期望 Map,加载时包装为 {_list: [...]}
- 消费端兼容两种形态
- 修复 迁移112 日志等级:
- Duplicate column 已存在是幂等预期,log.error → log.warn
- 避免误报
v1.0.863 (2026-08-08)
Bug 修复
修复测试编译与 getTemplates 断言;补充肠道菌群解析参考脚本
新功能
报告解析管理端页面 - 类型管理/指纹自学习/解析器导入/未知聚类
报告解析 agent 接入指纹识别与自动标注
报告指纹解析系统 - 类型注册/指纹识别/未知聚类/解析器导入
其他
- 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 张新表定义
v1.0.862 (2026-08-08)
Bug 修复
其他
- addIngredient/removeIngredient/addFood 方法缺少 var self = this
新功能
管理端挑战评分配置页+AdminChallengeScoreConfigController
respond端点+创建去门控+list返回myStatus
create改pending+respondChallenge+打卡结算口径收紧
测试
v1.0.861 (2026-08-08)
Bug 修复
饮食首页改造——原生导航栏+空数据弹窗+未配置共餐降级
其他
2. 前端:无菌群报告/无推荐食材时弹窗引导上传报告
3. 后端:generateIngredientList 未配置共餐时降级为查询
家庭全部成员,而非返回空列表
新功能
ChallengeScoreService方向性评分结算引擎
EnergyService新增awardEnergyByCode按维度code发放
新增participant/方向分数/评分配置实体与Mapper
参与机制迁移-新增participant/方向分数/评分配置表
v1.0.860 (2026-08-08)
Bug 修复
家庭成员扇形展开 - fan-wrap 改 fixed 修复成员错位+不可点击; 半径 280→220rpx
v1.0.859 (2026-08-07)
Bug 修复
修复 FamilyChallengeService.getTemplates 数组越界 Index 7 out of bounds
其他
导致 ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7
v1.0.858 (2026-08-07)
Bug 修复
修正身页面饮食入口路径
迁移180/181 health_reports.health_report_drafts 缺列修复
其他
改为指向正确的饮食模块首页 /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(无需等下次重启)
v1.0.857 (2026-08-07)
文档
更新 PROJECT-OVERVIEW.md
更新参考资料/dan_reports 提取脚本(extract_all_types +468行重构,merge 与 type_detector 小修)
v1.0.856 (2026-08-07)
Bug 修复
首页家庭挑战区块增加管理入口跳转 challenge-manage
修复 FamilyControllerTest 编译错误 - 废弃接口测试改为无参断言 410
其他
v1.0.855 (2026-08-07)
新功能
恢复商品会员价 - 管理端设置 + 小程序详情页展示
其他
- product-detail.vue: 详情页按会员身份展示 - 非会员显示普通价+加入会员享会员价链接,会员显示会员价+原价划线;去掉底部栏价格
- 修复远端合并引入的编译错误: HealthReportController缺import、HealthReportService的reportMapper笔误、HealthReportDraft实体补remark字段
v1.0.854 (2026-08-07)
Bug 修复
FamilyMemberStrip fan-wrap 改 v-if 不再遮挡五维页点击; diet :key 表达式改方法调用
其他
revert(frontend): 撤销 tabbar 4Tab 重构, 恢复 5维TabBar(行心身智富)
revert(frontend): 撤销分包重命名 -pkg, 恢复为 health/growth/profile
revert(frontend): 撤销 tabbar 入口页移至 pages/tabs/ 的改动
v1.0.853 (2026-08-07)
Bug 修复
其他
改为 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
v1.0.852 (2026-08-07)
Bug 修复
其他
()替换为监护人同意弹窗的
注释代码时误删了按钮且未加回,导致表单无法提交。script 中 submit()/
doSubmit() 方法与 CSS .btn-primary 均为死代码残留。
已在手机号字段后恢复保存按钮,监护人弹窗确认流程(14岁以下儿童)不受影响。
Reviewed-by: Sisyphus
v1.0.851 (2026-08-07)
Bug 修复
统一 SKU specs 存库为数组格式,修复规格名丢失
其他
对象 Map、后端 DTO 只认对象),导致规格名记录不进去:
- ProductSkuEditor.normalizeSpecsToJson 改为输出数组格式,空值默认 '[]'
- ProductSkuDTO.from 兼容数组格式(数组→Map),旧数组数据可正常回显
- formatSpecsForInput/parseSpecs 数组分支正确解析 {name,value},不再显示 [object Object]
- CartService 兼容对象格式(旧数据兜底),修复购物车规格描述丢失
- ProductSkuService 空 specs 默认 '[]'
同步修复预存编译错误:HealthReportController 缺 HttpServletRequest import、
HealthReportService reportMapper 应为 healthReportMapper、HealthReportDraft
补 remark 字段(含 schema.sql + DatabaseInitializer 迁移180)。
Reviewed-by: Sisyphus
v1.0.850 (2026-08-07)
Bug 修复
已登录用户富页面误显'请先登录'的会话过期修复
修复 HealthReport 预存编译错误 - HttpServletRequest import / reportMapper 变量名 / remark 字段缺失
其他
- AuthController.verify: 增加 user 存在性检查,用户被删/禁用时返回 401
- api.js: 新增 verifyToken() 导出函数
- App.vue: onLaunch 时调用 verifyStoredToken() 启动校验 token(develop 跳过)
- api.test.js: 新增 3 条 verifyToken 测试(成功/过期/用户不存在)
后端 mvn clean compile BUILD SUCCESS
前端 npm test auth API 16/16 通过
v1.0.849 (2026-08-07)
Bug 修复
修复 ContentSharePoster 分享海报 String 属性收到 null 告警
其他
ContentSharePoster 的 String props(title/coverImage/summary/priceText 等)。
Vue 2 中 props 的 default 只在未传时生效,显式绑定 null 会触发微信类型检查
告警 [Component] property received type-uncompatible value: expected
but get null value。已在所有绑定处加 || '' 兜底。
Reviewed-by: Sisyphus
v1.0.848 (2026-08-07)
Bug 修复
修复商品详情页会员身份加载与详情图片显示
修正 profile-page.vue 中 Profile* 组件的 import 路径
修正 profile-page.vue 移动后的相对路径 import
其他
TypeError: this.loadMembership is not a function
- 商品介绍/详情 mp-html 传入 domain(config.API_BASE_URL),
修复富文本中相对路径图片被解析到本地 DevTools 服务器的问题
Reviewed-by: Sisyphus
修正后路径: ../profile-pkg/components/Profile*.vue
移至 pages/tabs/
v1.0.847 (2026-08-07)
新功能
v1.0.846 (2026-08-07)
测试
其他
- 修复 X-User-Id header 断言(改为断言不再发送)
- 新增 identity parameter hardening 4 个回归测试:
request 不发 X-User-Id 头、测评 wrapper 无参且 body 为空、today-tasks 仅含 memberId
改为 @RequestAttribute ("userId") 获取当前用户,移除 body.userId 读取
- record/current 标记为已废弃(无前端调用方,familyId 参数不再被信任)
- FamilyController:guide-bind 的 @RequestHeader ("X-User-Id") 改为 @RequestAttribute ("userId");
两个已废弃端点移除 X-User-Id 参数
- AdminController:/api/admin/families/** 及 /families/count 增加 admin 角色校验
- HealthReportController:parse-preview 的 familyId 由 @RequestParam 改为 @RequestAttribute
- 移除 pages/promotion/material.vue 本地 _request 的 X-User-Id 头
- 测评 wrapper(getMy/ChildAssessmentResults)改为无参发送 {}
- 测评页面(results/apply/purchase)停传 userId
- 删除 mind/index.vue 两个指向不存在端点的死调用(/api/mind/report/*)
- 移除 report-upload/meal-config/bind-invite 的 familyId/family_id 传参
- parent-index.vue getPendingWishes() 去实参(wrapper 已忽略)
Bug 修复
后端身份参数改从JWT推导,不再信任客户端传入
移除前端身份参数传递——前端只传memberId,不传userId/familyId/childId
v1.0.844 (2026-08-07)
Bug 修复
将 tabbar 入口页移至 pages/tabs/ 消除与分包 root 的路径冲突
其他
后,路径前缀与同名分包 root(pages/health、pages/growth、pages/profile)冲突,
导致 HBuilderX 编译失败→全白板。
修复方案:将 tabbar 入口页从分包目录移到 pages/tabs/ 目录,
路径前缀与所有 48 个分包 root 完全无重叠,消除冲突。
变更:
- pages/health-pkg/index.vue -> pages/tabs/health-index.vue
- pages/growth-pkg/index.vue -> pages/tabs/growth-index.vue
- pages/profile-pkg/profile.vue -> pages/tabs/profile-page.vue
- pages.json: 主包 tabbar 页路径 + 分包 root 保持 -pkg 后缀
- 10 个文件中的路径引用同步更新
v1.0.843 (2026-08-07)
Bug 修复
v1.0.842 (2026-08-07)
Bug 修复
修复 tabbar 路径与分包 root 冲突导致的 HBuilderX 编译失败
其他
- pages/growth → pages/growth-pkg
- pages/health → pages/health-pkg
- pages/profile → pages/profile-pkg
同步更新 pages.json 分包 root、tabBar 路径及 30 个文件中的 66 处引用
v1.0.841 (2026-08-07)
Bug 修复
v1.0.840 (2026-08-07)
新功能
v1.0.839 (2026-08-07)
Bug 修复
修复行/身页面 hasFamily 误判导致 FamilyEmptyState 覆盖内容区
pages.json 修复 diet 分包错位导致的 JSON 语法错误(HBuilderX 编译失败→白板)
其他
改为乐观加载模式(接口未返回前返回 true),避免暂无数据闪烁
- index-home/index.vue: loadChildren/loadFamilyMembers 增加 checked 标记设置
- DimensionProducts.vue: hasFamily 增加 isLoggedIn 判断,信任父组件可见性控制
导致 pages.json 语法错误,HBuilderX 编译失败、小程序全部白板
- 将 diet 块移回 subPackages 数组内(正确缩进)
- cfc-frontend/AGENTS.md: 写入打包规范(HBuilderX 打包 → unpackage/,禁止 npm build 自行打包)
v1.0.838 (2026-08-07)
Bug 修复
修复pages.json饮食分包位置错误 + 饮食模块config引用改为config.js
v1.0.837 (2026-08-07)
新功能
v1.0.836 (2026-08-07)
重构
移除family-guard弹窗,无家庭时自动创建;移除创建/加入家庭按钮
v1.0.835 (2026-08-07)
Bug 修复
修复 FamilyEmptyState 误显示 - 28处 hasFamily 守卫改为数据优先判断
其他
store getter 仅兜底(store.familyId 恒空导致空态吞掉正常内容)
- App.vue 冷启动从接口恢复 familyId,store setFamilyId 持久化供恢复
- login.vue 登录/自动登录同步 familyId 到 store
- 修复 9 处批量修改导致的 computed 对象未闭合语法错误
v1.0.834 (2026-08-07)
Bug 修复
v1.0.833 (2026-08-07)
其他
design: 家庭FAB悬浮按钮重新设计 - 家庭图标 + 渐变光环 + 黄金分割定位
- 图标: 默认态显示家庭图标👨👩👧👦, 展开时渐变过渡为当前成员头像
- 效果: 暖橙渐变背景 + 双层光晕阴影 + 展开光环 + 呼吸脉冲动画
- 交互: 展开时弹性缩放(1.05), 头像淡入旋转过渡
- custom-tab-bar: 4 functional tabs + center star button + half-screen overlay
- utils/nav.js: unified navigation utility for auto switchTab/navigateTo
- health/index.vue: new health tab as closed-loop hub (测评/报告/打卡/饮食/运动)
- Replace all switchTab→dimension pages with nav.js (nativeTabs pattern removed)
- Move growth/index and profile/profile from subpackages to main package
- Teacher independent tabbar preserved (v-if='currentRole !== "teacher"')
- 5 dimension pages moved from tabbar to subpackages
- custom-tab-bar redesign with half-screen overlay
- Unified nav utility for switchTab/navigateTo routing
fix: 家庭FAB悬浮左缘中部 + 无家庭用户查询接口自动创建兜底
- 新增 UserService.ensureUserFamily 公开兜底入口
- UserController/FamilyUserController.getFamilyMembers 与 getVisibleMembers 在 familyId 为空时自动创建家庭
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
重构
restructure tabbar from 5-dim to 4-tab + center 5-dim launcher
文档
add tabbar restructure implementation plan
新功能
添加饮食模块 AI 接口(食材识别+菜单生成)
线上服务商品管理闭环 - 服务者/时段配置UI + nutritionist服务商类型
v1.0.832 (2026-08-07)
新功能
v1.0.831 (2026-08-07)
新功能
饮食模块前端页面(首页+调研表)
饮食模块后端 API 完整实现
扩展 BeijingNutritionService(食材推荐方法)
重构
家庭关系卡重设计为FAB浮标+扇形展开,移除创建/加入家庭按钮(已自动创建)
v1.0.829 (2026-08-06)
文档
家庭挑战使用流程梳理 v1.0 - 现状基线 + 断点清单
v1.0.828 (2026-08-06)
新功能
合并生成含目录的完整成书稿(写法3完整版,16章5089行)
第3-7章按写法3重写(身/智/富/行/心五维)
v1.0.827 (2026-08-06)
Bug 修复
商品海报分享未携带封面图(coverImage 未转完整 URL)
其他
v1.0.826 (2026-08-06)
Bug 修复
移除无家庭时的创建或加入家庭弹窗(5001 仅拒绝请求)
分享海报封面图按原比例绘制(contain 居中),不再拉伸变形
报名弹窗点击家庭成员/添加报名人即关闭(.self 修饰符在 mp-weixin 被丢弃,改用 @click.stop )
活动报名弹窗重复导致点击家庭成员关闭弹窗
checkout.vue methods 间缺逗号语法错误
其他
新功能
供应商管理(CRUD + 侧边栏 + 入库单选择供应商)
文档
新增滔达福项目总体介绍PPT成品(V1/V2)
AI创新项目大赛新增行业应用场景,五维能量标签更新为身智富行心
v1.0.825 (2026-08-05)
Bug 修复
库存流水列表显示商品名称
商品详情页移除会员价展示
其他
v1.0.824 (2026-08-05)
新功能
订单管理页适配配送履约
商品配送与履约前端适配
优惠券表单加商品选择器ProductPicker,替代手输商品ID
v1.0.823 (2026-08-05)
新功能
创建会员权益独立配置表 + 隐藏非会员会员价 + 优惠券会员提示
v1.0.822 (2026-08-05)
新功能
v1.0.821 (2026-08-05)
Bug 修复
报告确认页 :key 表达式改为方法调用(微信小程序兼容)
其他
v1.0.819 (2026-08-05)
Bug 修复
迁移173 创建库存管理4张表(inventory_transactions/counting_records/inbound_orders/inbound_items)+ 同步schema.sql
v1.0.818 (2026-08-05)
Bug 修复
迁移173 创建库存管理4张表(inventory_transactions/counting_records/inbound_orders/inbound_items)+ 同步schema.sql
v1.0.817 (2026-08-05)
Bug 修复
安全加固——SQL日志/密钥外部化/BCrypt限流/后台防重
v1.0.816 (2026-08-05)
Bug 修复
迁移172 products添加min_stock_alert列+同步schema.sql(库存管理功能遗漏)
v1.0.815 (2026-08-05)
新功能
其他
- 后端: requestJoinByCode 兼容 token/inviteCode/familyId 三种输入
- 后端: FamilyJoinRequestService.createJoinRequest 支持 UUID token 识别
- 前端: invite/join.vue 展示邀请人头像, 改为提交申请+轮询审批流程
- 前端: FamilyMemberStrip.vue 加 isAdmin prop、红点徽章、审批弹窗(通过/拒绝)
- 前端: api.js 补充 pending-requests/approve-request/reject-request/my-request API
v1.0.814 (2026-08-05)
新功能
库存管理 - 路由+侧边栏
库存管理 - ProductManage.vue增加库存按钮+弹窗
库存管理 - InventoryInboundCreate.vue
库存管理 - InventoryManage.vue(4标签页)
库存管理 - 管理端API调用
库存管理 - 订单集成(支付/取消/退款库存流水 + bundle穿透)
库存管理 - AdminInventoryController
库存管理 - InventoryService
Bug 修复
Controller gutFlora 入库补全 taxonomy+pathogen 8 列表 (对齐 Service); 确认页新增 taxonomy 分类组成 + 病原菌 + 益生菌种区块(采到啥显示啥)
v1.0.813 (2026-08-05)
新功能
补全饮水打卡 + 综合健康打卡页面 + 管理后台打卡管理
v1.0.812 (2026-08-05)
Bug 修复
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)
新功能
库存管理 - Mapper接口
库存管理 - 实体类(5个新实体 + Product/ProductSku扩展)
parsePreview 先调 LangGraph 解析,失败回退 Java
创建 POST /api/v1/report/parse 接口
测试
端到端测试 — report_parse API + ReportParseAgent + LLM非dict防护
v1.0.811 (2026-08-05)
Bug 修复
心维度页面 loadHealthAlerts/loadMilestones 移除残留 familyId 存储读取(后端已 JWT 派生)
其他
v1.0.810 (2026-08-05)
文档
新增AI创新项目大赛项目介绍文档(浠艾福定稿:AI健康教练/五维相生溯源算法/双培强基成果)
v1.0.809 (2026-08-05)
新功能
家庭加入改为申请审批流程 + familyId 后端派生(移除前端 familyId 存储依赖与冗余传参)
家庭加入审批流程与统一知识库DB化(合并rebase后本地改动)
其他
- 统一知识库 knowledge_base_section 表 + UnifiedKnowledgeBaseService(迁移165,DB为查询源,classpath种子兜底)
- HealthKnowledgeBaseController 新增 /unified/* 系列端点
- 控制器增加家庭ID解析与成员归属校验辅助方法
- JwtInterceptor/Result/api.js 同步增强
文档
合并7个知识库为统一知识库JSON(v2.0 254.9KB,12模块,数据保真修正)
v1.0.808 (2026-08-05)
Bug 修复
add raise_for_status to expose real LLM HTTP errors
心维度页面 milestones/health-alerts 传入实际 familyId 替代 {} 对象
其他
导致后端解析 Long.valueOf('{}') 时抛出 NumberFormatException。
改为从 currentFamilyId/userInfo.familyId 获取实际值,与同文件
loadCompatibilityData 等方法的现有模式保持一致。
v1.0.807 (2026-08-05)
Bug 修复
MindFortuneController 添加 userId 为空检查(过期JWT被设为匿名用户时抛出'用户不存在')
v1.0.806 (2026-08-05)
重构
清理已废弃的 relationship_types 表(迁移169)——移除活路径 ALTER 代码、DROP TABLE 从死代码移到活路径
新功能
创建 ReportParseAgent(算法解析 + LLM 兜底)
Bug 修复
detect_format 兜底分支改为返回 inline(修复同义反复)
compose 显式覆盖 JAVA_CONTEXT_URL 指向宿主机 9082,修复容器内 chat load_context 回调 Java 失败
v1.0.805 (2026-08-05)
Bug 修复
DatabaseInitializer.initializeDatabase() xzyj→zxyj 数据库名拼写错误
新功能
提取 PDF 解析核心模块到 LangGraph parsers
其他
- 从 extract_full_report_v5.py 提取核心逻辑(overview/疾病风险/营养/氨基酸/维生素)
- requirements.txt: 补充 PyPDF2 依赖
v1.0.804 (2026-08-05)
Bug 修复
问卷推理超时防护 — gunicorn timeout 60→300s + ChatOpenAI timeout=180/max_retries=1
其他
超过 gunicorn 60s 超时导致 worker 被杀(WORKER TIMEOUT + SIGABRT)。
- gunicorn --timeout 60→300:给推理留足时间
- ChatOpenAI timeout=180/max_retries=1:单次推理上限 180s,失败仅重试 1 次
v1.0.803 (2026-08-05)
文档
库存管理设计文档(入库单+流水+盘点+预警+套餐拆库存)
v1.0.802 (2026-08-05)
Bug 修复
问卷生成服务接入旧入口 — src 路由重构为 router + LLM env 兼容 + healthcheck 修复
其他
- app/main.py: 合并 questionnaire_router,旧路由/中间件/知识库同步不变
- src/llm/client.py: LLM* 环境变量优先(与 .env.production 一致),兼容 OPENAI *
- Dockerfile: 新增 COPY src/ src/(生产镜像此前无问卷代码)
- docker-compose.yml: langgraph-svc healthcheck 改用 python urllib 探 /health(镜像无 curl + 原路径 404)
v1.0.801 (2026-08-05)
文档
AGENTS.md 追加 LangGraph 启动命令 + PROJECT-OVERVIEW 关系域标记已实施
Bug 修复
GraphState 补 _prompt 字段 + 测试 mock 目标修正为模块内引用
v1.0.800 (2026-08-05)
文档
报告解析迁移实现计划
报告解析迁移设计 — Java→LangGraph(Python算法+LLM兜底)
v1.0.799 (2026-08-05)
Bug 修复
schema.sql 移除重复的 guide_commissions CREATE TABLE 空壳行(导致 initializeTables 正则匹配合并成畸形 SQL)
v1.0.798 (2026-08-05)
Bug 修复
迁移166 payment_orders添加group_no/period_no列(会员拆单支付)
修复图片上传 URL 语法错误,清理认知测评/成长报告重复接口定义,修正注释乱码
修复健康报告上传 URL 语法错误,首页宫格替换为记录互动/家庭天盘/成员管理,清理重复的 getChildOverview 定义
v1.0.797 (2026-08-05)
Bug 修复
迁移165 virtual_goods_config添加goods_price列(会员道具价格,用于拆单判断)
v1.0.796 (2026-08-05)
Bug 修复
controller parameter signatures, test compilation fixes
迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)
新功能
优惠券积分兑换入口+商品详情兑换区块+发券提示+会员权益展示
优惠券配置表单扩展+发券记录页+移除商品会员价输入
管理端发券记录查询grant-log接口
商品统一价停用memberPrice(活动侧保留)
积分兑换优惠券exchangeCoupon+优惠券兑换/查询4端点
新增家庭成员时按POPULATION规则发放人口券(成员有账号发自己,无账号发家庭创建者)
PERIODIC会员券每日5:00定时补发任务+listActiveMemberUserIds
会员开通/续费/赠送时发放JOIN会员券(试用除外)
CouponService支持三类型核销+幂等发券grant方法与查询(8单测)
Coupon实体扩展会员券字段+新增CouponGrantLog实体与Mapper
迁移164 coupon表扩展会员券字段+新建coupon_grant_log发券流水表
文档
会员体系重构实现计划(修正apply折扣语义+8个单测)
会员体系重构设计-统一定价+优惠券发放/积分兑换
v1.0.795 (2026-08-05)
新功能
商品统一价停用memberPrice(活动侧保留)
积分兑换优惠券exchangeCoupon+优惠券兑换/查询4端点
新增家庭成员时按POPULATION规则发放人口券(成员有账号发自己,无账号发家庭创建者)
PERIODIC会员券每日5:00定时补发任务+listActiveMemberUserIds
会员开通/续费/赠送时发放JOIN会员券(试用除外)
CouponService支持三类型核销+幂等发券grant方法与查询(8单测)
Coupon实体扩展会员券字段+新增CouponGrantLog实体与Mapper
迁移164 coupon表扩展会员券字段+新建coupon_grant_log发券流水表
文档
会员体系重构实现计划(修正apply折扣语义+8个单测)
会员体系重构设计-统一定价+优惠券发放/积分兑换
Bug 修复
迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)
v1.0.794 (2026-08-05)
Bug 修复
迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)
v1.0.793 (2026-08-04)
新功能
虚拟支付失败错误上报后端日志,便于定位支付未完成根因
v1.0.792 (2026-08-04)
新功能
家庭挑战自定义管理
report-confirm 补上 auto-create-inline 面板内嵌表单基础样式
report-confirm 面板样式 + 清理 auto-create-card 死样式
report-confirm 被检测人选择整合进基本信息卡片(内联面板+移除独立卡片)
其他
- 支持通过模板快速创建自定义挑战
- 支持编辑/删除挑战
- 移除非兜底的自动创建模板逻辑
- 后端新增 creator_id 字段区分系统/用户创建
- 后端新增 templates/create/update/delete 接口
- 前端新增 challenge-manage 管理页
- 行首页挑战区添加管理入口
文档
mark report-confirm member-selector plan steps complete
PROJECT-OVERVIEW 标记 report-confirm 选择面板计划已完成
report-confirm 被检测人选择面板整合实现计划
spec self-review - 统一 selectAndClose 选择逻辑 + 回填字段明确化
report-confirm 被检测人选择面板整合设计
Bug 修复
修复WXSS中文类名编译错误 + 恢复getPublicConfig函数
resolve duplicate exports in api.js and syntax errors in report-upload.vue
v1.0.791 (2026-08-04)
Bug 修复
补全打卡系统缺失的 schema.sql 建表 + 迁移 + 小程序前端打卡功能
v1.0.790 (2026-08-04)
Bug 修复
其他
新功能
文档
v1.0.789 (2026-08-04)
Bug 修复
防重复提交整改——补齐唯一约束/统一订单号/修复竞态/批量前端守卫
v1.0.788 (2026-08-04)
Bug 修复
上报健康报告页加载即崩溃 - 移除未实现的 getPublicConfig 调用
其他
改为调用已有的 getProductsByDomain('body', 1, 4),行为等同于原 getPublicConfig 返回空时的回退路径(domain='body' 加载身体维度推荐商品)。功能语义不退化。
同时移除变成 unused 的 productList import。
文件: cfc-frontend/pages/health/report-upload.vue (+3/-13)
验证: npm run build:mp-weixin DONE; 编译产物 getPublicConfig=0, getProductsByDomain=1
v1.0.787 (2026-08-04)
新功能
AiGateway.generateQuestionnaire LangGraph 接入 + fallback mock + python.base-url 指向 ai.etotem.com.cn
v1.0.786 (2026-08-04)
Bug 修复
_roundRect arcTo missing parameter in ContentSharePoster
其他
- Caused bottom-left rounded rect rendering failure on all canvas shapes
v1.0.785 (2026-08-04)
Bug 修复
文档
v1.0.784 (2026-08-04)
Bug 修复
discardReportDraft传参修复 - 对象改为直接传draftId
新功能
注册引导-无家庭引导组件接入核心页
注册引导-活动报名接入就地补充回写
注册引导-个人中心个人信息完善卡片
注册引导-user-edit新用户流程最小化
注册引导-回写工具profile-backfill
注册引导-个人信息使用关联表profile-field-usage
注册引导-前端api新增backfillProfile
注册引导-新增统一backfill回写接口
注册引导-注册路径不再自动创建家庭
注册引导-登录响应新增needsFamily标记
文档
v1.0.783 (2026-08-04)
新功能
关系问卷评分算法替换 mock — 维度加权/反向/降级/缺题处理 + 5 个单测
FamilyMemberService 补 isCallerInSameFamily/isCallerInFamily 跨家庭校验方法
会员退款ORD分支 + iOS退款问询按官方协议接入
Bug 修复
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
其他
- MembershipService: 新增 refundByOrderNo(orderNo) 退单+降级管理员
- VirtualPayService: handleRefundNotify ORD 分支调用 membershipService.refundByOrderNo
Task B: iOS退款问询按官方协议接入
- VirtualPayController: notify() 新增 xpay_subscribe_ios_refund_query_notify 事件分发
- VirtualPayService: 新增 handleIosRefundQuery 按 pay_order_id 路由+判定退款
- VirtualPayController: iosRefundBaseResponse 字段修正为官方 IosRefundQueryResponse 协议
- 测试: 新增5个用例覆盖ORD退款路由+iOS问询(同意/拒绝/不存在/已退款)
- api.js: remove unused parseReportPreview function (33 lines)
- api.js: restore 86 garbled Chinese comments (UTF-8 bytes decoded as GBK then re-encoded)
重构
rename childId to memberId across full stack (childId was always family_member.id)
v1.0.782 (2026-08-04)
文档
关系问卷与互动记录功能补全实施计划
规格自检修正(POST /api/user/info、交叉引用)
新用户注册引导+个人信息按需补充/回写设计稿
Bug 修复
extractInlineNamesFromRegion substring 越界保护
新功能
v1.0.781 (2026-08-04)
新功能
指标输入框颜色标注异常 + ?帮助按钮弹窗显示指标说明
v1.0.780 (2026-08-04)
Bug 修复
补充PDF解析缺失指标 - 菌群层级表/致病菌/其它重要菌属/病原菌属
v1.0.779 (2026-08-04)
Bug 修复
商品SKU规格specs字段保存失败
维度首页推荐阅读补传 dimensionCode,与知识中心一致
其他
MyBatis-Plus无TypeHandler导致updateById无法正确写入JSON列。
修复: specs改为String类型,service层校验空值默认设为{}
dimensionCode 参数,导致后端返回所有精选文章而非按维度过滤。
- body/index.vue: 补传 dimensionCode: 'body'
- wealth/index.vue: 补传 dimensionCode: 'wealth',移除客户端
relatedDimensions hack(后端已正确过滤无需前端二次筛选)
v1.0.778 (2026-08-04)
文档
Bug 修复
商城首页/搜索页商品价格显示放大100倍(漏除100)
v1.0.777 (2026-08-04)
新功能
Bug 修复
activity 详情/列表封面拼接 API_BASE_URL
其他
导致封面加载失败。统一走 getImageUrl() 拼接 config.API_BASE_URL。
v1.0.776 (2026-08-04)
Bug 修复
call applyDisplayState for guests so displayStatus/registrationStatus are always populated
其他
unauthenticated users, leaving displayStatus/displayLabel/
registrationStatus as null. This caused the activity detail page to
hide the cover, registration button, and check-in button for all
visitors. Now applyDisplayState() runs for everyone; guests get
default values ('open'/'not_registered') derived purely from activity
time windows.
v1.0.775 (2026-08-04)
Bug 修复
邀请接口相关修复
微信安全检测改用stable_token接口避免'not latest'冲突
其他
v1.0.774 (2026-08-04)
Bug 修复
商品详情页修复 — 封面轮播、字段映射修正、按钮等大
其他
- 添加 getImageUrl() 自动补全 API_BASE_URL 前缀
- 修正字段映射:商品介绍 → intro,商品详情 → description
- 价格/会员价上下排列,会员价字体缩小
- 加购物车和立即购买按钮统一字体大小
- 供应商编辑页新增「商品简介」intro 字段
删除废弃的 pages/action 分包并修复引用
- parent-index.vue: /pages/action/contact-detail → /pages/action-detail/contact-detail
- action-section.vue: activity-detail 跳转修正为 /pages/activity/activity-detail/activity-detail
- action-section.vue: task-detail 标记 TODO(该页面不存在,为死代码)
- pages.json: 移除 pages/action 分包注册
v1.0.773 (2026-08-04)
Bug 修复
CORS放行111.228.6.214; 实现/article/updated-since增量查询接口
家庭地址编辑与区域匹配页面消除 $http 引用并接入真实接口
地址选择器改用标准 API 封装 - 修复省市选择控件无法使用
行Tab页推荐阅读修复 - coverImage补传 + actionArticles过滤修正(indexArticles而非articles)
其他
新功能
新增家庭详情/地址更新/区域统计 API 封装
新增按街道ID统计家庭/成长规划师数量接口
v1.0.772 (2026-08-04)
Bug 修复
心/智/行首页推荐阅读补传 coverImage 修复封面图不显示
其他
v1.0.771 (2026-08-03)
Bug 修复
其他
v1.0.770 (2026-08-03)
Bug 修复
其他
v1.0.769 (2026-08-03)
Bug 修复
首次登录创建家庭后跳转到带底部TabBar的行首页
其他
/pages/home-pages/parent-index(非 TabBar 页),导致底部 TabBar 不显示。
改为 uni.switchTab() 跳到 /pages/index-home/index(行 Tab)。
同样修复 submitGuideApplication 中相同的 redirectTo 错误跳转。
v1.0.768 (2026-08-03)
Bug 修复
self-check 页面 :style 空对象 {} 改用字符串避免 WXML 编译错误
移除 DatabaseInitializer 残留冲突标记行 - 修复生产构建失败
其他
(7498行), 导致 mvn compile 报 illegal start of expression。
仅删除该残留标记行, 迁移152/153 内容保持不变。
v1.0.767 (2026-08-03)
Bug 修复
修复 Playwright addInitScript 单参数传参 bug + 远程 E2E 测试套件
v1.0.766 (2026-08-03)
新功能
商品赠送会员功能 - 成长档案关联商品配置(GrowthArchiveProduct) + 后端 Controller/Service/Mapper/Entity + 前端 ProductEdit 商品编辑页
v1.0.765 (2026-08-03)
Bug 修复
PaymentService 微信支付V3解密用原始API密钥而非SHA-256哈希
商品详情原生分享补上 setShareInfo - 分享路径带商品ID和邀请码
其他
v1.0.764 (2026-08-03)
Bug 修复
resolve merge conflict in tap-water-pollution.html (accept upstream version)
v1.0.763 (2026-08-03)
新功能
Bug 修复
圈子页无 childId 时跳过请求, 后端 memberId 空串防御 - 修复 discover 500 与 my-circles 400
v1.0.762 (2026-08-03)
其他
新功能
会员中心页与会员价引导交互
活动/商城会员价展示、分转元显示与未登录会员状态处理
活动详情支持游客浏览与会员价 - detail(id,userId) 解析会员价
Bug 修复
ActivityControllerTest 适配活动模块升级后的接口签名
上传存储路径统一 upload.base-dir - 修复 transferTo 相对路径落盘失败与 /uploads URL 404
VirtualGoodsConfig.save() 重命名 saveConfig() 避免 saveOrUpdate 递归 StackOverflow
会员接口匿名访问返回 FREE 空数据 + getMemberLevel 查询 LIMIT 1
重构
健康报告上传页 report-upload.vue 重构
v1.0.761 (2026-08-03)
Bug 修复
v1.0.760 (2026-08-03)
文档
新功能
活动模块升级——付费报名订单/审核发布流/总结资料
其他
v1.0.759 (2026-08-03)
新功能
健康报告确认页指标按类别分组折叠, 支持全部展开/折叠与需处理计数
Bug 修复
迁移151 growth_records 补齐学校/年级7列 - 修复 Unknown column 'school'
其他
且其 snake_case 列名与实体不匹配, 导致全列查询报 Unknown column 'school'。
schema.sql 同步为 camelCase 与实体一致。
v1.0.758 (2026-08-03)
文档
Bug 修复
List.of 替换为 Arrays.asList 兼容 Java 8
v1.0.757 (2026-08-03)
Bug 修复
完善 PDF 解析服务 - 支持 inline 格式、Kangxi 部首归一化、指标去重、白名单过滤
v1.0.756 (2026-08-03)
样式
重绘「身」TabBar 底签哑铃图标, 更新浠艾福项目总体介绍 pptx; gitignore 排除 .codegraph
Bug 修复
迁移148 payment_orders.user_coupon_id 兜底添加
其他
Unknown column 'user_coupon_id' in 'field list':entity PaymentOrder
已声明 userCouponId 但部分库建表时缺失该列。
使用 ensureColumn 幂等添加。本地 MariaDB 与新 MySQL 8 远端已
有此列,迁移对它们为 no-op。schema.sql 已含 user_coupon_id,
无需同步。
v1.0.755 (2026-08-03)
Bug 修复
globalData.currentChildId 替换为 uni.getStorageSync('currentChildId'),修复孩子视角切换数据失效
getApp().globalData.baseUrl/apiBase 替换为 config.API_BASE_URL,修复 uploadFile invalid url 与图片加载
消除开发者工具告警 - getSystemInfoSync 弃用替换为 getWindowInfo, 修复 article-center articles prop 非数组类型错误
v1.0.754 (2026-08-03)
新功能
五维家庭自检问卷(P0-1) + 五行相生寻源建议引擎(P0-2)
样式
其他
- 详情行合并为单行, 卡片内边距/字号/进度条全面收紧约20%
- parent-index.vue: 移除无用的 childId 传参与 @updated 监听
v1.0.753 (2026-08-03)
Bug 修复
修复 ArticleBookshelf relatedDimensions 数组拆分崩溃与 switchTab 非 TabBar 路由系统错误
FamilyRelationGraph 力导向模拟增加动能收敛检测, 布局稳定后自动停止避免永续占用主线程
其他
- custom-tab-bar/index.vue: 富 tab 指向 wealth/index, tab 顺序对齐原生 tabBar, nativeTabPages 只含原生 tab 页
- login.vue / action / wisdom / index-home: 清理 stale nativeTabs 列表, 避免对非 tabBar 页面调用 switchTab 触发 routeDone 路由错误
- user-edit.vue: 规划师入驻提交后 redirectTo 分包页而非 switchTab
- utils/format.js + DimensionActivities.vue: 新增 iOS 安全 parseDate 统一日期解析
v1.0.752 (2026-08-03)
Bug 修复
add missing goodsCategory API to fix empty product list on shop index page
v1.0.751 (2026-08-03)
测试
其他
家庭挑战 (d6bb7d48 ):
- 挑战列表带 familyId 参数(修复之前漏传导致返回空)
- 验证 targetMode/targetValue 双目标模式字段
- 验证 totalProgress/memberProgress 进度字段
- 新增 /api/health/challenge/history 历史
- 新增 /api/health/challenge/progress 进度上报(childId 已有活跃挑战时)
活动会员价 (15a93dd3 + 89673f07 ):
- 管理端活动列表验证 memberPrice 字段
- 管理端活动详情验证 memberPrice
文章 (ab9f4a44 + 阅读时长功能):
- admin/articles/list 带 auditStatus 参数过滤
- 文章详情返回 readTime 字段
- /api/articles/record-read 上报阅读时长(需 childId)
- /api/share/qrcode 生成小程序码(855a8df5 分享改海报)
- /api/admin/articles/upload/image 端点存在性(598e7601 + c697fb7b )
测试结果:211 passed / 0 failed / 0 skipped(原 199 → +12 新增全通过)。
v1.0.750 (2026-08-03)
文档
同步设计文档 §5.1/5.2/§8 与 PROJECT-OVERVIEW 状态
其他
Bug 修复
offerId 改为支付应用ID并按官方 camelCase JSON 串重建 signData 签名
v1.0.749 (2026-08-03)
新功能
接入现网/沙箱双 AppKey 并补充消息推送 Token 校验
其他
- VirtualPayService: effectiveAppKey() 按 virtual-pay-env 选择签名密钥,paySig/query_order pay_sig 统一切换
- VirtualPayController: 新增 GET /notify URL 验证端点(echostr 校验);POST /notify 增加微信签名校验(sha1(token+timestamp+nonce))防伪造推送
- tasks/rewards/home-pages/teacher 等非 TabBar 页面改用 navigateTo,修复 switchTab 无法跳转分包页的问题
- user-edit 登录后角色分流、家长/孩子端任务/奖励入口同步修复
mysql-internet-cn-north-1-23feae2268 .rds.jdcloud.com:3306,
库名 zxyj(与本地同名),账号 cfc/cfc@1314。
main 与 sfms 两段 datasource 同步切换(sfms 默认 enabled=false)。
{memberId, source: "family_member"},source 是 String,
Map 会导致 Jackson 反序列化失败。其他端点
(kick / editable / logs)不接收 source,保持 Map。
BadSqlGrammarException。直接赋值在两库均可用(MySQL 8 JSON 列接受
字符串时自动校验,MariaDB JSON 为 LONGTEXT 别名)。
Bug 修复
统一商城首页路径并修复 switchTab 非 TabBar 跳转
维度权重保存移除 CAST(? AS JSON) — MariaDB 不兼容
测试
switchToMember 测试 body 类型改为 Map
v1.0.748 (2026-08-03)
Bug 修复
interaction/add 修复 familyId 为空报错——后端按 userId 自动解析
v1.0.747 (2026-08-03)
Bug 修复
生成海报二维码必须登录 — 拦截 anonymous 流量反复触发 access_token 'not latest'
其他
- /api/share/qrcode 加入必登录清单,根因解决 anonymous 反复调 cgi-bin/token 导致全实例 token 失效
- ShareController.getQrCode 同步加 userId<=0 兜底校验(双保险)
v1.0.746 (2026-08-03)
重构
移除死页面 plans.vue,权益对比保留在 upgrade 页
其他
Bug 修复
开通会员页改用 getMembershipPlans 获取实际配置价格
v1.0.745 (2026-08-03)
Bug 修复
文档
其他
v1.0.744 (2026-08-02)
新功能
活动详情报名/签到/分享海报需登录,注册弹窗改为自定义遮罩去内置按钮
管理端虚拟支付道具映射CRUD页面
其他
文档
虚拟支付实施计划 + PROJECT-OVERVIEW 索引更新
v1.0.743 (2026-08-02)
新功能
前端接入小程序虚拟支付
虚拟支付超时兜底任务 pending订单query_order确认+超时关单,防success回调丢失
订阅订单改虚拟支付
会员订单改虚拟支付 createOrder返回VirtualPayParams,发货推送复用processPaymentCallback,修正等级硬编码FAMILY
测评订单改虚拟支付 payOrder返回VirtualPayParams保持pending,服务端计价,发货推送markPaid+预约确认+佣金
VirtualPayController 接收虚拟支付消息推送 /api/internal/virtual-pay/notify(公开) + ios-refund-query,返回微信ErrCode协议
VirtualPayService paySig签名/参数生成/发货退款推送处理+sessionKey持久化 JDK原生HMAC-SHA256零新依赖,双签名(paySig+signature),前缀路由,迁移144
其他
Bug 修复
更新VirtualPayServiceTest发货推送断言为handleVirtualPaySuccess路由
虚拟支付Task4评审修复 sessionKey防序列化泄露/发货推送幂等/缺参ack/签名断言
v1.0.741 (2026-08-02)
Bug 修复
wangEditor v5 上传图片改用customInsert+限制5M+错误提示
图片上传multipart大小限制+微信安全检测超过1M跳过
文章详情页封面图和正文图片拼接 API_BASE_URL,修复未登录时相对路径图片加载失败
其他
v1.0.740 (2026-08-02)
新功能
商城入口统一指向商品商城/移除积分商城+推荐商品文案统一+商城标题'浠艾福商城'
Bug 修复
其他
- ProductSkuEditor: 支持新建时暂存 SKU,商品创建后自动提交
- handleSave: 创建后更新 form.id,触发 SKU 编辑器 watch
v1.0.739 (2026-08-02)
新功能
商城入口统一指向商品商城/移除积分商城+推荐商品文案统一+商城标题'浠艾福商城'
Bug 修复
其他
- ProductSkuEditor: 支持新建时暂存 SKU,商品创建后自动提交
- handleSave: 创建后更新 form.id,触发 SKU 编辑器 watch
v1.0.738 (2026-08-02)
新功能
其他
- DatabaseInitializer 新增幂等迁移:target_mode (VARCHAR(20) DEFAULT 'aggregate') 与 target_value (INT DEFAULT 0)
- schema.sql 同步 family_challenge 表结构
- FamilyChallenge 实体新增 targetMode/targetValue 字段与 @TableField (exist=false) 的 totalProgress/memberProgress
- FamilyChallengeService 扩展 templates 数组为 8 列(添加目标列),重构 checkAndSettle() 按目标模式分支判定:
- aggregate:全体 progress 合计 ≥ target_value 即达标
- all_members:家庭内每个成员 progress ≥ target_value(无记录=0 判失败)
- 抽离 normalizeTarget() 实现旧数据向后兼容;fillProgress() 为 /list /history 填充总进度与成员进度
前端:
- FamilyChallengeCard 重写:双模式目标展示(aggregate=总进度条 X/Y;all_members=成员进度列表+达标✓),打卡上报入口(updateChallengeProgress({challengeId, childId, delta}) → $emit('updated'))
- parent-index 卡片传 :childId="currentChildId" + 监听 @updated ="loadFamilyInteraction"
- patch-node-compat.cjs:node v24 polyfill(util.isRegExp 等已被移除),构建时通过 NODE_OPTIONS="--require ./patch-node-compat.cjs" 注入
文档
/运营: 小红书内容 D14/D15/D16、第三篇-月入2万的家庭、发布指南、README 同步更新
v1.0.737 (2026-08-02)
新功能
其他
- 前端 ArticleEdit/ActivityEdit 的 published 不再进入 readonly
- 列表页 published 文章按钮由「查看」改为「编辑」
- 保存按钮文案与提示语按状态区分(保存修改/保存草稿)
v1.0.735 (2026-08-02)
Bug 修复
wangEditor 初始化配置提前到 created 生命周期
其他
避免 mounted 阶段编辑器实例已初始化导致配置不生效
v1.0.734 (2026-08-02)
Bug 修复
其他
- articles.vue: onSearchBlur 补齐闭合花括号、移除多余 }(e327a0ef 引入)
- 上报间隔 30000→10000,每10秒自动记录该用户已读时长
- 退出文章时 pauseReadingTimer 记录当时时长(保留原逻辑)
新功能
文章详情阅读时长每次进入从0开始计时,10秒上报一次
v1.0.733 (2026-08-02)
新功能
add counterfeit-warning product page, gut-kit image, HRW article image, update sales index
虚拟支付道具映射 实体/Mapper/Service/管理端CRUD接口
新增wechat.appkey与virtual-pay-env配置 小程序虚拟支付paySig签名密钥与环境(0现网/1沙箱)
迁移143 创建virtual_goods_config道具映射表 测评/会员/订阅虚拟支付道具映射,UNIQUE(goods_type,biz_key),幂等
v1.0.732 (2026-08-02)
新功能
权益对比区分家庭/高级会员(高级享每周管家服务)+ 家庭会员仅年付、高级会员月/年付费档位
v1.0.731 (2026-08-02)
其他
Bug 修复
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
v1.0.730 (2026-08-02)
Bug 修复
WechatService 用 StreamUtils.copyToByteArray 替代 readAllBytes,兼容 Java 8 编译
v1.0.729 (2026-08-02)
新功能
微信内容安全检测(msg_sec_check + img_sec_check)
其他
- WechatService: access_token 加缓存(TTL 7000s); 实现 msg_sec_check / img_sec_check
- MediaController: 上传图片/文本检测 (P0)
- AdminArticleController: 文章图片/标题/正文检测 (P1)
- HealthReportController: 健康报告图片上传检测 (P1)
- ServiceRoleApplicationController: 资质图片上传检测 (P1)
- 微信API异常时 fail-open 不阻塞上传; testMode 跳过检测
v1.0.728 (2026-08-02)
其他
v1.0.727 (2026-08-02)
Bug 修复
其他
- ArticleEdit/ProductEdit/ActivityEdit: onSuccess 内拼接后端 baseURL 生成完整图片 URL
v1.0.726 (2026-08-02)
Bug 修复
ErrorLoggingFilter 捕获链式异常并记录500日志; DimensionWeightController 参数校验; GlobalExceptionHandler 兜底异常处理
v1.0.725 (2026-08-02)
新功能
add DAN professional assessment product page with 4-tier packages
其他
- 7 report packages by age group (A1/A2/B2/B3/B4/B5/B6, C1 excluded from retail)
- 4-tier pricing: single 699 / dual 1280 / triple 1860 / quadruple 2390
- Package combination rules per user spec (A2+B4 golden combo, +B3/B5/B6 for 3+ packs)
- WeChat native QR payment flow with plan selection modal
Bug 修复
五维首页为你推荐商品区改为使用公开接口数据, 未选孩子也能显示
v1.0.724 (2026-08-02)
新功能
活动中心增强——管理员活动管理+已报名状态标记+报名截止时间+未报名签到扣'行'维度能量
v1.0.723 (2026-08-02)
Bug 修复
simplify payment QR instruction text
其他
文档
《家的算法》全书插图占位33处+插图规划清单+知识产权查证档案(24730/章鱼图/珍珠图)
v1.0.722 (2026-08-02)
Bug 修复
set gut testing price to ¥1,314
update payment QR instructions for WeChat browser users
其他
v1.0.721 (2026-08-02)
Bug 修复
DatabaseInitializer 清理 — 修正 modifyColumnToText 表名、移除已删表的残留迁移
skip OAuth2 JSAPI flow, use Native QR code directly for WeChat browser
其他
新功能
add payment to water ionizer and turmeric product pages
v1.0.720 (2026-08-02)
新功能
add gut-testing product links to articles
sticky bottom payment bar like e-commerce
其他
v1.0.719 (2026-08-02)
Bug 修复
show contact info in QR payment popup
其他
新功能
v1.0.718 (2026-08-02)
Bug 修复
sync ProductOrder for admin order management
其他
v1.0.717 (2026-08-02)
新功能
save contact info to package_orders, keep SVG flow only
其他
Bug 修复
ArticleBookshelf 书籍横向排列 — scroll-view 内包 inline-flex 容器
v1.0.716 (2026-08-02)
Bug 修复
show product info in payment popup, auto-close on success
其他
v1.0.715 (2026-08-02)
Bug 修复
missing braces in JS, add backend QR code endpoint, use backend QR code instead of external API
其他
重构
gut-testing 删除 gut-kit-6/8 图片块,更新 8 大检测维度解析长图为压缩版
v1.0.714 (2026-08-02)
Bug 修复
add CORS origin for www.cf-club.com, fix QR code display, add diagnostic filter
文章列表点击直接进入详情页,未登录也可阅读公开文章
其他
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 五维首页(index-home/body/wisdom/mind/wealth)与 action 页统一使用 DimensionProducts
- 统一商品跳转 goProductDetail/goMoreProducts,移除登录跳转冗余分支
- 修复 DimensionProducts 空态文案依赖 isLoggedIn 的逻辑
- 每屏固定3本,多余横向滑动,指示器按3本一组并随滚动高亮
- 骨架屏同步改为3个封面占位
重构
统一五维首页商品推荐组件为 DimensionProducts
新功能
ArticleBookshelf 改为竖版封面风格,一行3本横向滑动
v1.0.713 (2026-08-02)
文档
《家的算法》全书审阅修复+藏宝图改名+第3-7章补本章要点(人物一致性/章节引用/数据矛盾/行动卡格式统一)
v1.0.712 (2026-08-02)
新功能
gut-testing 检测流程改用SVG流程图,8大检测维度补充商品解析长图
v1.0.711 (2026-08-02)
Bug 修复
统一移除RecommendedSection的v-if条件
其他
v1.0.710 (2026-08-02)
Bug 修复
统一五维首页推荐组件 — 顺序为活动→商品→阅读→推荐
其他
wealth: 添加DimensionActivities, 添加loadDimensionActivities, 移除v-if
mind: ArticleBookshelf移到DimensionProductList之后, 移除v-if
统一顺序: DimensionActivities → DimensionProductList → ArticleBookshelf → RecommendedSection
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.709 (2026-08-02)
重构
移除 gut-testing 截图占位块和 gut-kit-3 微信解读CTA块
v1.0.708 (2026-08-02)
新功能
add recipient address field to order form
其他
v1.0.707 (2026-08-01)
Bug 修复
getOAuth2Url 用 String 重载的 URLEncoder.encode,兼容 Java 8 编译
v1.0.706 (2026-08-01)
文档
家庭成员页面重设计实施计划 + 饮水对比移动端轮播式重设计
其他
- specs/2026-07-31-compare-table-mobile-redesign.md: 饮水对比表格移动端轮播卡片设计
- PROJECT-OVERVIEW.md: 文档索引同步新增两条
- 路径已在 WebConfig JWT 白名单(/api/config/public/**),免登录访问
- mind/wisdom 商品推荐迁移至 DimensionProductList(支持未登录空态)
- body 移除商品推荐 v-if 登录守卫,组件内部处理未登录态
- DimensionProductList familyId 改为可选,无 familyId 时不请求接口展示引导文案
- wealth 页新增推荐阅读区块(未登录/已登录两区块)
新功能
新增公共配置读取接口 PublicConfigController
五维页面推荐组件统一——推荐阅读改用ArticleBookshelf、商品推荐改用DimensionProductList
v1.0.705 (2026-08-01)
Bug 修复
add payment endpoints to JWT exclude list
其他
v1.0.704 (2026-08-01)
Bug 修复
fix fallbackNativePay syntax error, center order form modal
其他
v1.0.703 (2026-08-01)
重构
移除 gut-testing 产品页 gut-kit-2 寄回流程图和 gut-detail-banner 长图
新功能
gut-testing 产品页补充商品图片(谷禾肠道菌群检测专业版)
v1.0.702 (2026-08-01)
新功能
add memory-gut, water-unseen articles and gut-testing product page
其他
v1.0.701 (2026-08-01)
Bug 修复
重绘底部tab身图标,更简洁的弯曲胳膊造型
ContentRecommendService 商品/活动推荐改用 dimension_weights JSON 列查询
其他
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
(domain / dimension_code) 进行维度匹配,导致配置了 dimension_weights
但未设置旧字段的商品/活动在推荐系统中被遗漏。
改为与 ProductService/ActivityService 一致的 JSON_EXTRACT + 旧字段
OR 回退模式,确保权重感知查询全面覆盖。
v1.0.700 (2026-08-01)
Bug 修复
add /upgrade-records route alias to MembershipController
其他
/api/admin/membership/upgrade-records (AdminController) existed.
Added /upgrade-records as an alias to the existing /records endpoint
in MembershipController, which returns the current user's upgrade
records with pagination.
v1.0.699 (2026-08-01)
Bug 修复
其他
v1.0.698 (2026-08-01)
Bug 修复
其他
v1.0.697 (2026-08-01)
文档
《家的算法》第3章补充水主题延伸阅读书单(李复兴系列3本)
v1.0.696 (2026-08-01)
其他
Revert "feat: 屏蔽在线开通会员功能,改为管理员后台设置"
v1.0.695 (2026-08-01)
文档
《家的算法》科学看见主线补强(财务/关系体检工具+菌群检测桥段+3个新家庭案例)
v1.0.694 (2026-08-01)
新功能
商品详情加分享海报按钮+scene邀请码解析
文章详情去掉分享按钮,海报传维度/简介/邀请语
ContentSharePoster 参数化五维配色+简介/邀请语/价格行+居中弹窗
SharePoster 家庭邀请卡加 familyName 文案与邀请语,字号缩小2px
屏蔽在线开通会员功能,改为管理员后台设置
其他
v1.0.693 (2026-08-01)
Bug 修复
RecommendedSection无数据时显示空状态而非隐藏整个组件
其他
v1.0.692 (2026-07-31)
文档
分享功能改造实施计划(海报组件参数化+5项分享入口)
Bug 修复
重新绘制底部tab身图标,更清晰的弯曲胳膊造型
DimensionProductList使用attached生命周期在uni-app中不触发
其他
v1.0.691 (2026-07-31)
文档
add D11-D14 drafts, post8/9 content, D8/D9 tracking data and process files
rewrite publishing guide with 5-dimension and knowledge point framework
其他
- 3.4 Logic consistency checklist: avoid "started last week" vs "3-month data" timeline contradiction
- 2.2.1 Five-dimension generation/restriction: row-birth-heart, knowledge-restrict-row, wealth-birth-row, row-restrict-body
- 2.2.2 Knowledge point requirement: each article must include at least 1 psychology/neuroscience mechanism
- 12 Shuangpei Qiangji knowledge base index: A2/B4 reports + public account history articles reference
v1.0.690 (2026-07-31)
文档
Bug 修复
recommend-mixin传参字段名与后端DTO不匹配
其他
v1.0.689 (2026-07-31)
其他
book: 补权威引用+人物一致性修复——第2/3/6/9/10/11章新增Maslow/WHO/Korelitz/Duhigg/Kluger/Ries等引用、附录新增参考文献总表(41条学术文献)、小茜→老李/老周人物改名、三岁→九岁年龄修正、第七章→第7章格式统一、章节标记全部主题化;策划方案新增'引用与数据策略'章节
v1.0.688 (2026-07-31)
Bug 修复
其他
v1.0.687 (2026-07-31)
Bug 修复
v1.0.686 (2026-07-31)
其他
book: 核实补正——Todorovic氢水研究限定'肥胖成年人'语境(正文+来源块)、第四章补Lepper 1973过度理由效应实验来源(草稿+成书稿同步)
book: 全书论点依据核实——魏高峡去名人化4处、无据断言修改(A级硬伤+B级补来源)、'优势溢出效应'改'扬长促短'(草稿+成书稿同步)
book: 第三支柱'传承'改'代际传承'(三代链条:承接-活出-传递),育儿内容定位'焦点放回自己'——孩子是镜子验证自己成长,父母是预言验证孩子未来(序章/第1/2/3/6/7章/终章/附录/策划方案同步,成书稿重拼)
book: 第1章'教育'石头转'成长'(成人+育儿双视角),第8/9/10/12章加无孩适配注记,终章回顾同步
book: 全书定位从'育儿书'转为'个人成长书'——五维是每个人的成长维度,家庭是承载处(序章定位声明/传承支柱/身智两章重构/行四象限+与父母关系/心加非育儿场景/成书稿重拼)
v1.0.684 (2026-07-31)
性能优化
维度首页过渡页强制关闭上限 3s 缩短至 1.5s
v1.0.683 (2026-07-31)
其他
v1.0.682 (2026-07-31)
Bug 修复
add missing List import in ActivityController and DB migrations for dimension_code/family_scope columns
其他
- DatabaseInitializer: add migrations 138-140 for tasks.dimension_code,
products.family_scope, activities.family_scope (were dead code in migration102)
v1.0.681 (2026-07-31)
Bug 修复
add missing List import in ActivityController and DB migrations for dimension_code/family_scope columns
其他
- DatabaseInitializer: add migrations 138-140 for tasks.dimension_code,
products.family_scope, activities.family_scope (were dead code in migration102)
v1.0.680 (2026-07-31)
Bug 修复
circle接口空字符串解析Long报NumberFormatException
其他
v1.0.679 (2026-07-31)
其他
book: 合入「为什么是算法」主轴论述(第1章)并重新生成成书稿
- 收束金句:算法不是让你更快,是让你回家
- 第2章「为什么叫算法」节精简呼应,避免重复
- 成书稿.txt 同步重新生成(16章结构不变)
book: 书名定位升级为「一词三通」(宇宙因果×传统文化×AI)
- 竞品调研新增算法/逻辑方法类(人生算法、底层逻辑)与 AI×家庭类(2026 新兴赛道)
- 应对策略与结论同步更新:三块空白交汇处正是本书
v1.0.678 (2026-07-31)
Bug 修复
富页登录按钮因重复CSS规则min-height:80vh位置偏高
其他
v1.0.677 (2026-07-31)
Bug 修复
article-detail auto-merge遗留重复方法
其他
v1.0.676 (2026-07-31)
Bug 修复
article-detail内联表达式导致data-event-opts编译错误
其他
v1.0.675 (2026-07-31)
Bug 修复
未登录可浏览商品/活动/文章详情 + 富页面预登录内容
其他
wealth/index.vue: 移除全屏登录墙,未登录显示商品推荐+登录引导,登录后显示完整内容
v1.0.674 (2026-07-31)
文档
新功能
文章评论审核前端——RadarChart/article-detail/order-list/article.js/CommentReview
文章评论审核功能——AdminArticleController/ArticleCommentController/ArticleCommentService
其他
book: 生成成书稿txt(序章→第十三章→终章→附录 全16章拼接)
book: 全书一致性修订——补全预告链/数据来源说明,规范引号与格式
v1.0.673 (2026-07-31)
新功能
活动详情页新增报名表单 Modal(家庭成员选择 + 手动输入 + 合计)
activity_registrations 表添加 registrant_name/registrant_phone 列, child_id 改为可空
活动报名支持批量提交 registrants 列表
其他
v1.0.672 (2026-07-30)
重构
其他
商品详情: 保留 discover-detail/product-detail(已含 mp-html),删除 discover/product-detail(死代码,641行)
更新 15+ 个文件的引用路径
清理 pages.json 移除 discover-detail 子包中的 activity-detail 注册
v1.0.671 (2026-07-30)
新功能
JwtInterceptor 无token改为设匿名用户(userId=-1)放行,不返回401
其他
Bug 修复
统一活动详情页,删除 discover-detail 重复文件
补充ActivityDTO缺失字段 requireRegistration/requireCheckinReview/memberPrice/feedbackDimensions
v1.0.670 (2026-07-30)
重构
统一文章详情页为 article-center/article-detail
其他
删除 pages/mind-detail/article-detail.vue(功能不完整,无评论/阅读追踪)
更新 9 个文件的引用路径
移除 pages.json 中的旧注册
新功能
complete coaching integration - rename characters (小付/小艾/小茜), action card rewrites, dialogue layer updates
v1.0.669 (2026-07-30)
Bug 修复
resolve 6 backend compilation errors
v1.0.668 (2026-07-30)
Bug 修复
article-detail模板结构错误 — template作容器/多余闭合标签/tag无匹配end
其他
v1.0.667 (2026-07-30)
Bug 修复
override ejs to 3.1.10 to fix critical CVE in webpack-bundle-analyzer
其他
Override via package.json forces 3.1.10 in the webpack-bundle-analyzer tree.
v1.0.666 (2026-07-30)
新功能
mp-html 富文本组件替换微信原生 rich-text
重新设计底部tab智图标为交叉斧剑
重新设计底部tab身图标为弯曲胳膊
其他
v1.0.665 (2026-07-30)
新功能
api请求失败时console打印完整URL以方便排查
其他
- uploadAndParseReport(): 失败/网络错误日志
- parseReportPreview(): 失败/网络错误日志
- danParsePreview(): 失败/网络错误日志
- langgraphRequest(): 不可达时打印URL后回退Dify
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.664 (2026-07-30)
新功能
替换底部tab富图标为水滴设计并修正引用
替换底部tab心图标为爱心设计
替换底部tab智图标为大脑设计
替换底部tab身图标为臂肌设计
替换底部tab行图标为嫩芽设计
其他
v1.0.663 (2026-07-30)
其他
Bug 修复
ContentRecommendService NPE when type is null
replace Map.of() with HashMap for Java 8 compatibility
v1.0.662 (2026-07-30)
重构
主动健康vs被动健康区域改为纵向布局,红绿改暖黄+青绿配色
v1.0.661 (2026-07-30)
Bug 修复
recommend-mixin.js 导入路径多一层目录
其他
v1.0.660 (2026-07-30)
Bug 修复
ContentRecommendService select() incompatibility, ProductRecommendationService bean injection conflict
登录合规整改 - 跳过登录入口、静默授权、协议措辞
其他
- parent-index.vue: 移除 mounted 中强制跳转登录页的逻辑
- agreement.vue: 修改第2.1条「授权登录即视为注册」措辞
- 验证商品/活动/文章详情页无需登录可访问(后端公开路径已配置)
新功能
add withdrawal rules display on withdraw page per review guideline
v1.0.659 (2026-07-30)
新功能
add AI disclaimer at bottom of health coach chat page
v1.0.658 (2026-07-30)
新功能
integrate RecommendedSection into all 6 dimension pages
Bug 修复
remove WeChat branding from login page per review guideline
v1.0.657 (2026-07-30)
其他
Merge: resolve conflicts on recommend system + service-role-apply APIs
v1.0.656 (2026-07-30)
新功能
add qr code image to project card
其他
- Resize SVG to 800x1280 to accommodate QR code section
- Replace text CTA button with actual QR code image
- Add '扫码了解更多' label above QR code
v1.0.655 (2026-07-30)
新功能
add project introduction card SVG for sales directory
其他
- Five dimension circles (身/智/富/行/心) with colors
- Project description, three pillars, core features
- CTA button and contact info
- Designed for web/sales/ directory
v1.0.654 (2026-07-30)
Bug 修复
promotion try无catch语法错误 + 创建缺失的member-detail分包页面
其他
2. member-detail/report-detail.vue: 新建(pages.json已注册但文件缺失)
3. member-detail/service-role-apply.vue: 新建(pages.json已注册但文件缺失)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.653 (2026-07-30)
其他
v1.0.653 (2026-07-30)
Bug 修复
parameterize JSON_EXTRACT dimension_weights queries to prevent SQL injection
其他
- ArticleService.getList() / getFeatured()
- ProductService.getProductPage()
- TaskService dimension filter
- ActivityService dimension filter
文档
mark service role apply design as implemented
重构
redirect old apply pages to unified service role apply page
富页面去掉我的邀请码区域
新功能
add service role application review page and admin endpoints
add service role apply entry in ProfileMenu
add service role apply page with multi-select, upload, address
add API functions and page registration for service role apply
add ServiceRoleApplicationController with apply/upload/admin endpoints
add ServiceRoleApplicationService with submit/approve/reject
add ServiceRoleApplication entity, mapper, DTO + User fields
add service_role_applications table and User status fields
v1.0.652 (2026-07-29)
文档
superpowers PROJECT-OVERVIEW and service-role-apply design + plan
其他
Bug 修复
OCR finding - DimensionActivities CSS flex overflow
resolve OCR findings - AIService workflowId URL + EnergyService parent role filter
v1.0.651 (2026-07-29)
Bug 修复
财商打卡页内联表达式导致data-event-opts编译错误 + 修复模板编译器recyclableRender未定义
其他
2. package.json: 升级vue-cli-plugin-uni到2.0.2-5010420260703001匹配7月版模板编译器
3. postinstall-fix.js: 新增templateLoader.js补丁,移除未定义的recyclableRender/components导出
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.650 (2026-07-29)
Bug 修复
add sendWorkflow and getTodayTasks(Long) overload, pull remote changes
v1.0.649 (2026-07-29)
Bug 修复
推荐商品和活动价格显示到分
allow tracking screenshots in web/articles/ via .gitignore
新功能
文章详情页完整功能 — 自动完成阅读+评论系统+AI答题
add gut microbiota-obesity article with 3 reference screenshots + track HRW sleep screenshots
过渡页最少800ms最多3s — 集中计时到tab-transition组件
完整记账功能 — 收支管理+分类统计+月度概览
文档
文章详情页功能补充设计 — 自动完成阅读+评论系统+AI答题
v1.0.648 (2026-07-29)
Bug 修复
v1.0.647 (2026-07-29)
新功能
文章详情页完整功能 — 自动完成阅读+评论系统+AI答题
Bug 修复
allow tracking screenshots in web/articles/ via .gitignore
v1.0.646 (2026-07-29)
新功能
add gut microbiota-obesity article with 3 reference screenshots + track HRW sleep screenshots
文档
文章详情页功能补充设计 — 自动完成阅读+评论系统+AI答题
v1.0.645 (2026-07-29)
新功能
过渡页最少800ms最多3s — 集中计时到tab-transition组件
v1.0.644 (2026-07-29)
新功能
v1.0.643 (2026-07-29)
新功能
其他
- 方式 1(文件上传)虚线蓝框 + 蓝色基调 + 蓝色实心图标方块
- 方式 2(拍照上传)橙色边框 + 渐变橙色实心按钮(更醒目,即时操作)
- 顶部「方式 1/2」标签让用户明确二选一
- 保持 pickFile/takePhoto/selectedFile/photoPath/parsedInfo 逻辑不变
- 数据库初始化器同步上一轮的 report_summary 迁移(迁移 106)
v1.0.642 (2026-07-29)
新功能
v1.0.641 (2026-07-29)
新功能
v1.0.640 (2026-07-29)
新功能
add hydrogen-water-sleep article with 5 PubMed reference screenshots
insert scientific figures into pancreatitis and leaky-gut articles
v1.0.639 (2026-07-29)
Bug 修复
v1.0.638 (2026-07-29)
Bug 修复
v1.0.637 (2026-07-29)
Bug 修复
关系图连线映射交换 — 信任度→颜色(低红高绿),沟通度→线形
关系图连线视觉映射调整 — 粗细/颜色/虚线 + 无数据默认黑色
v1.0.636 (2026-07-29)
新功能
家庭成员关系卡片增强 — 关系标签+联系+辈分+长按菜单
v1.0.635 (2026-07-29)
Bug 修复
v1.0.634 (2026-07-29)
文档
家庭成员关系卡片修复方案
家庭成员关系卡片差距分析 — FamilyMemberStrip vs 需求设计
v1.0.633 (2026-07-29)
新功能
v1.0.632 (2026-07-29)
Bug 修复
EnergyService 修复 JSONObject.getInt -> getIntValue 和 executeAward 缺少 totalAmount 参数
其他
v1.0.631 (2026-07-29)
新功能
能量行为配置系统 — 可配置每种行为的能量发放规则
v1.0.630 (2026-07-29)
新功能
content share poster with wxacode for product/activity/article pages
其他
- ContentSharePoster.vue: reusable canvas poster with cover/title/QR code/CTA
- product-detail, activity-detail, article-detail: add poster button + component
- api.js: add getShareQrCode(page, scene) helper
- DimensionWeightPicker: fix proportional redistribution to keep sum=100%
文档
v1.0.629 (2026-07-29)
文档
能量配置管理系统设计 — 行为配置+消费配置+转换规则
v1.0.628 (2026-07-29)
文档
v1.0.627 (2026-07-29)
重构
商品列表查询参数统一为 dimensionCode
v1.0.626 (2026-07-29)
新功能
v1.0.625 (2026-07-29)
文档
update PROJECT-OVERVIEW to v2.1 - Phase 4 ✅ 已完成
其他
v1.0.624 (2026-07-29)
文档
维度筛选设计分析 — 活动/商品/文章/任务四实体对比
v1.0.623 (2026-07-29)
Bug 修复
ActivityEdit/ArticleEdit full scroll, action tab no auto-select, timeout 800ms
其他
- action/index.vue: revert auto-select-first-child, only load when saved childId matches
- action/index.vue: tab-transition fallback timeout 5000ms -> 800ms
- ArticleEdit: add maxFileSize 5MB to upload config
- DatabaseInitializer: gate test data behind app.init-test-data flag
v1.0.622 (2026-07-29)
文档
更新成员选择分析 — 按childId/memberId/无参数分类列出全部141个功能接口
v1.0.621 (2026-07-29)
文档
家庭成员选择能力分析 — 梳理childId/memberId接口
补充活动流程图 — 详情页分享/报名按钮 + 评价流程
v1.0.620 (2026-07-29)
文档
新增 checkout 地址管理改造设计文档和实施计划
其他
新功能
切换地址系统从 consignee 到 user_address
v1.0.618 (2026-07-29)
Bug 修复
推荐活动和推荐商品显示实际价格而非'登录查看价格'
其他
- index-home/index.vue: 游客视图商品卡片显示价格而非固定'登录查看'
EnergyWeekCard, FunTaskItem, HealthCheckinCard, HealthDimensionsSection,
HealthLikeButton, HealthTips, MediaRecorder, OctopusGraph, PearlDiagram,
PointsProgressRing, RepurchaseReminder, SkeletonBlock, TaskItem/TaskReminder,
UserQuickEntry, WisdomTips; assessment/body/membership/parent/register-child/
wisdom_temp 等老旧页面; teacherGuard router
文档
新增财富能量兑换优惠券流程图
v1.0.617 (2026-07-29)
Bug 修复
推荐活动和推荐商品显示实际价格而非'登录查看价格'
其他
- index-home/index.vue: 游客视图商品卡片显示价格而非固定'登录查看'
v1.0.616 (2026-07-29)
性能优化
pre-compute display values in computed to avoid template method calls
其他
v1.0.615 (2026-07-29)
其他
Bug 修复
ProductEdit card layout, sales page add leaky-gut/pancreatitis articles
remove required:true from dimensionCode prop in DimensionActivities/Products
新功能
add pancreatitis and leaky-gut articles, update screenshot plan
文档
新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路
v1.0.614 (2026-07-29)
Bug 修复
ProductEdit card layout, sales page add leaky-gut/pancreatitis articles
remove required:true from dimensionCode prop in DimensionActivities/Products
新功能
add pancreatitis and leaky-gut articles, update screenshot plan
其他
文档
新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路
v1.0.613 (2026-07-29)
Bug 修复
remove required:true from dimensionCode prop in DimensionActivities/Products
其他
v1.0.612 (2026-07-29)
文档
新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路
v1.0.611 (2026-07-29)
Bug 修复
el-main添加overflow-y:auto使内容区可滚动,解决长表单被截断问题
replace template literal fallback with computed props for WXML compat
其他
v1.0.610 (2026-07-29)
文档
新增支付流程流程图 — 覆盖订单创建/支付/退款/提现全链路
v1.0.609 (2026-07-29)
Bug 修复
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使表单可滚动,保存按钮可见
其他
v1.0.608 (2026-07-29)
其他
v1.0.608 (2026-07-29)
文档
全部31个流程图重绘 — 数据上连线+中文标注+分层+完整性分析
v1.0.607 (2026-07-29)
Bug 修复
member pricing display, wisdom/body page layout, :key expr in FamilyTianpanCard, remove FamilyRelationGraph
v1.0.605 (2026-07-28)
文档
add report management design spec
v1.0.604 (2026-07-28)
新功能
insert 14 academic reference screenshots into 4 articles
其他
- exercise-mood-cognition.html: 4 screenshots (BMJ meta, hippocampus, gut diversity, gut RCT)
- puerarin.html: 3 screenshots (hangover, diabetes, brain protection)
- gut-microbiota-testing.html: 2 screenshots (HMP, dysbiosis->immune disease)
Screenshots in web/img/ref-screenshots/ are gitignored (kept locally only)
v1.0.603 (2026-07-28)
文档
update PROJECT-OVERVIEW to v2.0 (2026-07-28)
其他
更新: LangGraph 前端集成/推广体系/富维度/辈分/文章系统/家庭会员/营养健康 状态
v1.0.602 (2026-07-28)
Bug 修复
add mind/alert/active and mind/traditional/mirror to public paths
v1.0.601 (2026-07-28)
Bug 修复
verify-password 400 error — replace broad /api/auth/ public path with explicit list
v1.0.600 (2026-07-28)
文档
v1.0.599 (2026-07-28)
文档
重构成长档案流程图 — 按阶段/分层/数据传递重绘
v1.0.598 (2026-07-28)
重构
v1.0.597 (2026-07-28)
其他
新功能
update stroke risk factors section and screenshot plan
remove read-complete button, add auto reading time tracking
add report-reading-time API for cumulative reading tracking
add article_id and updated_at to article_reading_records
v1.0.596 (2026-07-28)
Bug 修复
empty purchasedIds causing NOT IN () SQL syntax error
v1.0.595 (2026-07-28)
Bug 修复
empty purchasedIds causing NOT IN () SQL syntax error
v1.0.594 (2026-07-28)
Bug 修复
8 test failures — entity fixes + test param alignment
v1.0.593 (2026-07-28)
新功能
v1.0.592 (2026-07-28)
新功能
添加浠艾福会员卡介绍PPT
科普文章嵌入参考文献截图(14篇健康科普嵌入配图)
v1.0.591 (2026-07-28)
新功能
其他
- 家庭成员选择条添加能量值显示
- 添加圈子卡片(我的圈子+发现推荐)
- 删除章鱼图和导入联系人弹窗
- 成员卡片显示能量分数
v1.0.590 (2026-07-28)
Bug 修复
Product entity column mapping + test param fixes
v1.0.589 (2026-07-28)
Bug 修复
add migrations 126-132 with ensureColumn for column alignment
v1.0.588 (2026-07-28)
Bug 修复
add 9 missing tables (migrations 117-125) + fix JwtInterceptor familyId + fix test emotion childId
v1.0.587 (2026-07-28)
Bug 修复
商城升级提示文案通用化 - '开通家庭会员'改为'开通付费会员'
新功能
index.vue 兼容 PREMIUM 等级 - 对比表四列 + 等级列表按钮
upgrade.vue 支持 FAMILY + PREMIUM 等级切换
plans.vue 动态加载会员等级 + FAQ 更新
/api/membership/plans 使用 sys_config 价格 + 推荐标记
MembershipService 支持 PREMIUM 等级
其他
- createOrder() 新增 PREMIUM 定价分支,年起 ¥13,168/月起 ¥1,314
- applyMemberDiscount() 新增 PREMIUM 折扣支持,从 sys_config member_discount_premium 读取
v1.0.586 (2026-07-27)
新功能
文章/商品/活动详情页增加分享功能 + 邀请码自动绑定
v1.0.585 (2026-07-27)
新功能
Add invitation QR code modal to parent index page
v1.0.584 (2026-07-27)
测试
fix 35+ flow-l1 test param issues (118→153 passed)
v1.0.583 (2026-07-27)
Bug 修复
move migrations 105/106 into runMigrations() — they were in dead code migration102()
新功能
redesign tab icons to match 五行沙盘 emoji themes
其他
- 身(土): 🌏 globe with meridian and continent arcs
- 智(金): ⚡ lightning bolt shape
- 富(水): 💧 water drop with pointed top
- 行(木): 🌿 leaf with stem and veins
- 心(火): 🔥 flame with inner/outer layers
All 81x81px, gray (#999 ) normal + element color active.
v1.0.582 (2026-07-27)
Bug 修复
resolve P0-1/2/2b/3/5/6 test bugs + P0-4 DB migration for growth_records
v1.0.581 (2026-07-27)
Bug 修复
migration 106 add growth_records missing columns (family_member_id/school info)
v1.0.580 (2026-07-27)
新功能
推荐阅读改为书册风格 ArticleBookshelf 组件
v1.0.579 (2026-07-27)
新功能
redesign all 5 tab icons with consistent style (五维×五行)
扩展测试数据至五维全覆盖(15条记录)- 活动/文章/商品各3条,覆盖身智行心富五维 - SeedsController.java导入修复
其他
and element-themed colors:
- 身(土): circle, orange #FF8C42
- 智(金): diamond, indigo #6366F1
- 富(水): water drop, amber #F59E0B
- 行(木): arrow up, emerald #10B981
- 心(火): heart, pink #FF6B9D
Normal = gray #999 , Active = element color
commit faedcc33 (temporary copies from tab-mind). The icons were
corrupted in commit ac6e7040 where they were saved as base64-encoded
text instead of binary PNG data.
Bug 修复
restore tab-wisdom icons from earliest valid version (faedcc33 )
v1.0.578 (2026-07-27)
其他
Merge remote-tracking branch 'origin/cfclub'
- SeedsController: minor fix
- activity-detail pages: mobile experience upgrade
- web articles: SEO & content updates across 25+ pages
- CHANGELOG updates
- Add migration 105: ensure products.min_quantity column exists
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
sync: 小红书内容更新 + opencode运维脚本
base64-encoded text instead of binary PNG data, causing the
wisdom (智) tab icon to not display in WeChat mini-program.
- tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
- tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
Note: active icon decoded from truncated base64 (missing ~0.75 bytes
of final scanline, imperceptible at 50x50)
- 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
- 幂等执行: INSERT IGNORE 防止重复插入
- 已回滚 DatabaseInitializer.java 中的临时种子数据代码
等过强表述,改为炎症是多因素中的重要一环。
已修改:
- diabetes.html: meta + 尾部 CTA
- alzheimer.html: meta + og + hero + 因 section + 核心结论
- cardio-cerebro.html: meta + hero + 病 section + 因 section 标题 + 损伤链描述
- osteoporosis.html: 因 section intro + 核心证据框 + 主动健康五步
- metabolic-syndrome.html: meta + og + hero
- cancer.html: 新增免疫三大系统 section(之前未提交)
- gut-microbiota-testing.html: 菌株速查表迁移至 probiotics-science(之前未提交)
已有 DatabaseInitializer 迁移创建但 schema.sql 缺失,初始化时不会自动建表
(item.id || item.circleId),改为 getCircleKey(item) 方法调用。
pages/action/index.vue (2处) + pages/discover/circles.vue (2处)
同时更新 AGENTS.md / README.md 加入规范
会触发'Syntax error in text'解析错误。
修复两处:
- A6 节点:'⚙️ PDF解析引擎 (Stage 1)' → 包裹双引号
- A9 节点:'📱 创建成长档案 (Stage 2) /create-from-upload' → 包裹双引号
包裹引号后Mermaid将整个字符串视为字面文本,跳过括号解析。
rename: 三高六高 → 从三高到六高 (title, meta, h1, cross-references)
- Backend: HealthIndicator add collectionDate field + migration 103
- Backend: parsePreview supports image upload (type=image)
- Backend: createReport indicator dedup by (category|indicatorName)
- Backend: ParsedReportPayload.Indicator add collectionDate
- pages/discover/circles.vue: 新页面,含我的圈子+推荐列表、CircleCard/CircleDetail 组件复用、加入/退出功能
- action/index.vue: goDiscoverCircles 改为 navigateTo 跳转到新页面
web: add probiotics/prebiotics science articles + update sales index
- New: probiotics-science.html (益生菌科学解读)
- Update: prebiotics-guide.html — removed science sections, kept buying
content, added cross-links to new science article
- Update: probiotics-guide.html — removed definition section, kept buying
content, renumbered sections, added cross-links to new science article
- Update: sales/index.html — nutrition section now 3 articles:
turmeric + prebiotics-science + probiotics-science
- Fix: osteoporosis.html — updated citation ref-3 from Physiological
Reviews 2023 to Bone Research 2026 (Wang et al.), corrected image path
- cfc-frontend/pages/action/index.vue: 移除 OctopusGraph 组件, 新增「我的圈子+发现推荐」区块
- docs: 设计文档 + 实现计划
never actually executed inside runMigrations(), so the production DB
was missing the column. This adds the call at the end of runMigrations()
so it runs on next startup.
- sales/*: QR code ?share=xxx referral system on index + 3 sales pages
- articles/gut-microbiota-testing.html + metabolic-syndrome.html: new articles
- articles/*: various health article updates (alzheimer, cancer, cardio, diabetes, etc.)
- img/products/: 4 Enagic product images; img/cert/: certification images
- cfc-frontend: badge.vue 增加家庭勋章排行展示
- cfc-frontend: rewards.vue 增加勋章墙导航入口
- 节点形状按身份区分 (圆角矩形/圆形/菱形)
- 点自己跳转维护页 (原为添加成员)
- 触摸自身显示⚙提示
- child-index: 新增'自己出题'快速入口
后端 Java 实现:
- BacteriaFoodMapping: 菌属-食材映射表 KB,启动时加载 22 个核心菌属
- BeijingNutritionService: 推荐引擎,支持知识库和数据库两种模式
- BeijingNutritionController: 5 个 REST 端点 (save/recommend/recommend-custom/kb-query/kb-list/kb-info)
- BeijingNutritionDTO: 请求/响应 DTO
文档与知识库:
- 报告指标知识库: 从 14 类扩展至 28 类(GMHI/菌群表型/抗炎/免疫/糖脂代谢等)
- 菌属-食材映射表: 22 个核心菌属的促进/抑制食材清单 + 科学引用
- 北京报告采集框架: PDF 指纹识别 + 提取流水线架构设计
- FMT 前后对比分析文档: 移植前后菌群变化与营养建议
- 添加迁移完成后验证查询,通过information_schema确认列是否存在
- 若列缺失会在启动日志中打出error,替代原来静默忽略
fortune_level_text、fortune_description、mood_score、mood_emoji、
mood_text、weekly_tip列,对齐FamilyFortune实体。
修复MindFortuneController.getFamilyFortune()调用selectByFamilyAndDate
时报Unknown column 'fortune_level_text'错误。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- Add unified auth helper (helpers/auth.js) supporting all 8 roles
- Add utils.js with API assertion utilities and fixtures.js test data factory
- Add db.js globalSetup for automatic database reset before test runs
- Update playwright.config.js: globalSetup, increased timeout, retries, screenshots/trace on failure, mobile viewport project
- Restructure tests into roles/ directory:
- roles/parent/: family-management, wish-management, assessment-order, energy-dashboard, points (5 files)
- roles/child/: login, daily-checkin, mini-games (3 files)
- roles/teacher/: login, family-binding (2 files)
- roles/admin/: login, article/workflow, vendor/management (3 files)
- Add design spec and implementation plan documents
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
matches SPEC color mapping: mind=#FF6B9D, wisdom=#6366F1
- ArticleService.publishByUser: compute dimensionWeights JSON
(equal distribution, e.g. 3 dims → {"body":34,"mind":33,"wisdom":33})
enables dimension-aware query (COALESCE(JSON_EXTRACT)) for user posts
- article-detail.vue: parseDimensions reads real weights from
article.dimensionWeights JSON, falls back to equal distribution
Also fixed mind/wisdom color mapping in dimMap to match SPEC
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- article-detail.vue: call recordArticleRead(id,durationSeconds) on 阅读完成 click
→ backend creates completed Task, awards points, calls EnergyService.awardEnergy
→ shows earned toast / already-completed / below-threshold feedback
- article-center/index.vue: fix res.code === 0 → 200 (backend Result.success = code 200)
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- FamilyUserController, InteractionLogController
- RelationshipQuestionnaireController, FamilyMembersController
- RelationshipQualityController, AuthController
- DanAssessmentExecutionController (含 @GetMapping →@PostMapping 修复)
- AdminSettlementController: 修复Result导入路径+@PostMapping +删除重复SettlementStats
- pom.xml: 删除重复的PDFBox依赖
新功能
admin product min_quantity filter, activity detail mobile adaptation, web articles & changelog updates
添加独立测试数据初始化脚本和接口
refactor upload to 2 methods (file/photo), add collectionDate, indicator dedup, image support
创建独立圈子发现页 /pages/discover/circles
行首页 OctopusGraph → 圈子区块替换
添加 carol.png 和 hxy.png 头像资源
add Enagic product intro with images, QR referral tracking, gut/meta articles, and update existing health articles
勋章管理后台页面 + 家庭排名 + 勋章墙导航
家庭关系图视觉重编码 (信任/沟通/亲密度) + 身份形状 + 自导航维护页
北京菌群报告采集与精准营养推荐
add 3 buying guides - water purifier, prebiotics, probiotics
add ERW/HRW gut microbiome section with 3 new references (Tamaoki 2021, Xie 2022, systematic review 2025)
Bug 修复
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,登录态内容内联渲染,保持底签可见
文章编辑页内容过长时无法滚动到底部
重构
move strain table from gut-microbiota to probiotics-science, add cross-links and new target audience cards
重构10个控制器移除HttpServletRequest手动userId获取改用@RequestAttribute 注入
文档
PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts
测试
Phase1 - infrastructure + core roles restructuring
v1.0.577 (2026-07-27)
Bug 修复
修复 stats-report-flow.md Mermaid 虚线连接语法错误(-:- → -.-)
v1.0.575 (2026-07-27)
Bug 修复
decode tab-wisdom PNG icons from base64 to binary
其他
base64-encoded text instead of binary PNG data, causing the
wisdom (智) tab icon to not display in WeChat mini-program.
- tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
- tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
Note: active icon decoded from truncated base64 (missing ~0.75 bytes
of final scanline, imperceptible at 50x50)
- 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
- 幂等执行: INSERT IGNORE 防止重复插入
- 已回滚 DatabaseInitializer.java 中的临时种子数据代码
新功能
v1.0.574 (2026-07-27)
Bug 修复
decode tab-wisdom PNG icons from base64 to binary
其他
base64-encoded text instead of binary PNG data, causing the
wisdom (智) tab icon to not display in WeChat mini-program.
- tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
- tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
Note: active icon decoded from truncated base64 (missing ~0.75 bytes
of final scanline, imperceptible at 50x50)
v1.0.573 (2026-07-27)
新功能
其他
- 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
- 幂等执行: INSERT IGNORE 防止重复插入
- 已回滚 DatabaseInitializer.java 中的临时种子数据代码
v1.0.572 (2026-07-27)
Bug 修复
其他
等过强表述,改为炎症是多因素中的重要一环。
已修改:
- diabetes.html: meta + 尾部 CTA
- alzheimer.html: meta + og + hero + 因 section + 核心结论
- cardio-cerebro.html: meta + hero + 病 section + 因 section 标题 + 损伤链描述
- osteoporosis.html: 因 section intro + 核心证据框 + 主动健康五步
- metabolic-syndrome.html: meta + og + hero
- cancer.html: 新增免疫三大系统 section(之前未提交)
- gut-microbiota-testing.html: 菌株速查表迁移至 probiotics-science(之前未提交)
v1.0.571 (2026-07-27)
Bug 修复
schema.sql 补充 4 个 butler 表定义
其他
已有 DatabaseInitializer 迁移创建但 schema.sql 缺失,初始化时不会自动建表
v1.0.570 (2026-07-27)
Bug 修复
key 表达式改为方法调用,修复小程序非 H5 平台编译警告
其他
(item.id || item.circleId),改为 getCircleKey(item) 方法调用。
pages/action/index.vue (2处) + pages/discover/circles.vue (2处)
同时更新 AGENTS.md / README.md 加入规范
v1.0.569 (2026-07-27)
Bug 修复
修复growth-record-flow.md Mermaid语法错误
其他
会触发'Syntax error in text'解析错误。
修复两处:
- A6 节点:'⚙️ PDF解析引擎 (Stage 1)' → 包裹双引号
- A9 节点:'📱 创建成长档案 (Stage 2) /create-from-upload' → 包裹双引号
包裹引号后Mermaid将整个字符串视为字面文本,跳过括号解析。
rename: 三高六高 → 从三高到六高 (title, meta, h1, cross-references)
v1.0.568 (2026-07-27)
重构
move strain table from gut-microbiota to probiotics-science, add cross-links and new target audience cards
Bug 修复
remove broken image refs in gut-microbiota-testing.html
新功能
refactor upload to 2 methods (file/photo), add collectionDate, indicator dedup, image support
其他
- Backend: HealthIndicator add collectionDate field + migration 103
- Backend: parsePreview supports image upload (type=image)
- Backend: createReport indicator dedup by (category|indicatorName)
- Backend: ParsedReportPayload.Indicator add collectionDate
v1.0.567 (2026-07-26)
Bug 修复
replace {param} with :param in mermaid node text to fix syntax error in v11.12.1
新功能
创建独立圈子发现页 /pages/discover/circles
其他
- pages/discover/circles.vue: 新页面,含我的圈子+推荐列表、CircleCard/CircleDetail 组件复用、加入/退出功能
- action/index.vue: goDiscoverCircles 改为 navigateTo 跳转到新页面
v1.0.566 (2026-07-26)
Bug 修复
replace bare with in mermaid flow diagrams to fix syntax error in v11.12.1
v1.0.565 (2026-07-26)
Bug 修复
goDiscoverCircles 跳转到 discover 首页(原路径 /pages/discover/circles 不存在)
v1.0.564 (2026-07-26)
其他
web: add probiotics/prebiotics science articles + update sales index
- New: probiotics-science.html (益生菌科学解读)
- Update: prebiotics-guide.html — removed science sections, kept buying
content, added cross-links to new science article
- Update: probiotics-guide.html — removed definition section, kept buying
content, renumbered sections, added cross-links to new science article
- Update: sales/index.html — nutrition section now 3 articles:
turmeric + prebiotics-science + probiotics-science
- Fix: osteoporosis.html — updated citation ref-3 from Physiological
Reviews 2023 to Bone Research 2026 (Wang et al.), corrected image path
v1.0.563 (2026-07-26)
新功能
行首页 OctopusGraph → 圈子区块替换
其他
- cfc-frontend/pages/action/index.vue: 移除 OctopusGraph 组件, 新增「我的圈子+发现推荐」区块
- docs: 设计文档 + 实现计划
v1.0.562 (2026-07-26)
Bug 修复
add products.min_quantity migration to runMigrations()
其他
never actually executed inside runMigrations(), so the production DB
was missing the column. This adds the call at the end of runMigrations()
so it runs on next startup.
v1.0.561 (2026-07-26)
新功能
添加 carol.png 和 hxy.png 头像资源
v1.0.560 (2026-07-26)
Bug 修复
remove invalid shape:box from all mermaid classDef
v1.0.559 (2026-07-26)
Bug 修复
update article count from 2→1 after turmeric article removal
新功能
add Enagic product intro with images, QR referral tracking, gut/meta articles, and update existing health articles
其他
- sales/*: QR code ?share=xxx referral system on index + 3 sales pages
- articles/gut-microbiota-testing.html + metabolic-syndrome.html: new articles
- articles/*: various health article updates (alzheimer, cancer, cardio, diabetes, etc.)
- img/products/: 4 Enagic product images; img/cert/: certification images
v1.0.558 (2026-07-26)
新功能
其他
- cfc-frontend: badge.vue 增加家庭勋章排行展示
- cfc-frontend: rewards.vue 增加勋章墙导航入口
v1.0.557 (2026-07-26)
新功能
家庭关系图视觉重编码 (信任/沟通/亲密度) + 身份形状 + 自导航维护页
其他
- 节点形状按身份区分 (圆角矩形/圆形/菱形)
- 点自己跳转维护页 (原为添加成员)
- 触摸自身显示⚙提示
- child-index: 新增'自己出题'快速入口
v1.0.556 (2026-07-26)
新功能
其他
后端 Java 实现:
- BacteriaFoodMapping: 菌属-食材映射表 KB,启动时加载 22 个核心菌属
- BeijingNutritionService: 推荐引擎,支持知识库和数据库两种模式
- BeijingNutritionController: 5 个 REST 端点 (save/recommend/recommend-custom/kb-query/kb-list/kb-info)
- BeijingNutritionDTO: 请求/响应 DTO
文档与知识库:
- 报告指标知识库: 从 14 类扩展至 28 类(GMHI/菌群表型/抗炎/免疫/糖脂代谢等)
- 菌属-食材映射表: 22 个核心菌属的促进/抑制食材清单 + 科学引用
- 北京报告采集框架: PDF 指纹识别 + 提取流水线架构设计
- FMT 前后对比分析文档: 移植前后菌群变化与营养建议
Bug 修复
报告日期/综合评分仅文件上传后显示,ping文件Ping重置日期评分
v1.0.555 (2026-07-26)
Bug 修复
改进ensureColumn错误处理+添加迁移104/103验证日志
其他
- 添加迁移完成后验证查询,通过information_schema确认列是否存在
- 若列缺失会在启动日志中打出error,替代原来静默忽略
v1.0.554 (2026-07-26)
Bug 修复
correct activity flow diagram with proper business rules
v1.0.553 (2026-07-26)
Bug 修复
补充缺失的default-avatar.png,统一路径
v1.0.552 (2026-07-26)
Bug 修复
tianpan_daily_fortune表添加8个缺失字段修复Unknown column错误
prioritize K8 (8-plate, 37900元), fix 20-year cost analysis, update certifications placeholder
其他
fortune_level_text、fortune_description、mood_score、mood_emoji、
mood_text、weekly_tip列,对齐FamilyFortune实体。
修复MindFortuneController.getFamilyFortune()调用selectByFamilyAndDate
时报Unknown column 'fortune_level_text'错误。
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.551 (2026-07-26)
文档
PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts
v1.0.550 (2026-07-26)
Bug 修复
DimensionProductList activeChildId为空时跳过渲染
v1.0.549 (2026-07-26)
测试
Phase1 - infrastructure + core roles restructuring
其他
- Add unified auth helper (helpers/auth.js) supporting all 8 roles
- Add utils.js with API assertion utilities and fixtures.js test data factory
- Add db.js globalSetup for automatic database reset before test runs
- Update playwright.config.js: globalSetup, increased timeout, retries, screenshots/trace on failure, mobile viewport project
- Restructure tests into roles/ directory:
- roles/parent/: family-management, wish-management, assessment-order, energy-dashboard, points (5 files)
- roles/child/: login, daily-checkin, mini-games (3 files)
- roles/teacher/: login, family-binding (2 files)
- roles/admin/: login, article/workflow, vendor/management (3 files)
- Add design spec and implementation plan documents
v1.0.548 (2026-07-25)
新功能
add 3 buying guides - water purifier, prebiotics, probiotics
其他
Bug 修复
推荐阅读数据补充dimensionWeights和likes字段
v1.0.547 (2026-07-25)
Bug 修复
其他
matches SPEC color mapping: mind=#FF6B9D, wisdom=#6366F1
- ArticleService.publishByUser: compute dimensionWeights JSON
(equal distribution, e.g. 3 dims → {"body":34,"mind":33,"wisdom":33})
enables dimension-aware query (COALESCE(JSON_EXTRACT)) for user posts
- article-detail.vue: parseDimensions reads real weights from
article.dimensionWeights JSON, falls back to equal distribution
Also fixed mind/wisdom color mapping in dimMap to match SPEC
v1.0.546 (2026-07-25)
Bug 修复
快捷入口对齐action页原版样式和funcList
v1.0.545 (2026-07-25)
Bug 修复
v1.0.544 (2026-07-25)
Bug 修复
unify 活性氢→分子氢 terminology across sales pages and infographic
unify terminology - 活性氢→分子氢, 磷脂配比→天然基底油, refine descriptions
其他
新功能
add ERW/HRW gut microbiome section with 3 new references (Tamaoki 2021, Xie 2022, systematic review 2025)
v1.0.543 (2026-07-25)
Bug 修复
remove dead link to deleted turmeric_rewritten.html
其他
v1.0.542 (2026-07-25)
Bug 修复
行TabBar登录态数据加载对齐action页(孩子/能量/任务/活动/商品/文章)
v1.0.541 (2026-07-25)
Bug 修复
products表添加min_quantity列(迁移103)+ schema.sql同步
v1.0.540 (2026-07-25)
Bug 修复
restore article reading timer + recordRead积分发放 + fix response code
其他
- article-detail.vue: call recordArticleRead(id,durationSeconds) on 阅读完成 click
→ backend creates completed Task, awards points, calls EnergyService.awardEnergy
→ shows earned toast / already-completed / below-threshold feedback
- article-center/index.vue: fix res.code === 0 → 200 (backend Result.success = code 200)
v1.0.539 (2026-07-25)
Bug 修复
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
其他
v1.0.538 (2026-07-25)
Bug 修复
去掉行TabBar页的redirectTo,登录态内容内联渲染,保持底签可见
v1.0.536 (2026-07-25)
重构
其他
- FamilyUserController, InteractionLogController
- RelationshipQuestionnaireController, FamilyMembersController
- RelationshipQualityController, AuthController
- DanAssessmentExecutionController (含 @GetMapping →@PostMapping 修复)
- AdminSettlementController: 修复Result导入路径+@PostMapping +删除重复SettlementStats
- pom.xml: 删除重复的PDFBox依赖
v1.0.535 (2026-07-25)
Bug 修复
correct gut-microbiome-damage.jpg path in cancer.html and diabetes.html feat: add missing reference screenshots (turmeric marketplace, nature figures)
v1.0.534 (2026-07-25)
Bug 修复
修复 createMultiItem 中 minQuantity 产品级校验注入位置错误
其他
v1.0.533 (2026-07-25)
新功能
ProductEdit 添加最小购买数量(minQuantity)输入框
minQuantity DTO 字段映射 + 多商品下单产品级校验
其他
v1.0.532 (2026-07-25)
新功能
2x2 grid layout + annotation overlays for 4 clinical-evidence screenshots
v1.0.531 (2026-07-25)
其他
clean: remove deprecated turmeric_rewritten.html placeholder
v1.0.530 (2026-07-25)
重构
更新添加孩子入口导航至家庭成员页面
废弃独立添加孩子页面,重定向至家庭成员
年龄优先判定孩子角色
其他
新功能
切换孩子前检查家庭成员中是否有child角色
微信登录自动获取手机号
v1.0.529 (2026-07-25)
Bug 修复
move Hallmarks screenshot to content area, fix container nesting
v1.0.528 (2026-07-25)
其他
- enagic-turmeric.html: 新增Enagic UKON Sigma产品科普文章
- tap-water-pollution.html: 恢复未提交修改
- turmeric.html: 恢复未提交修改
v1.0.528 (2026-07-25)
新功能
新增index.html目录首页+AGENTS.md更新
CA Cancer Statistics 2022截图标注替换(Sung 2020→Bray 2024); 免疫系统三大功效全重写为三栏卡片+癌症数据关联
心脑血管文章多项增强——牙痛心梗症状/比目鱼肌锻炼/个体化干预/菌群检测评估与追踪+7张来源截图
新增心脑血管文章误诊板块(沉默心梗/女性误诊/卒中漏诊/青年卒中),插入CANTOS和肠漏引用截图
其他
- 销售文章(3篇): sales/tap-water/microplastic
- 慢性病系列(6篇): cancer/cardio-cerebro/diabetes/osteoporosis/alzheimer/uric-acid
- 肠道与免疫(4篇): gut-microbiome-immune + 3篇FAQ
- 饮水安全(2篇): tap-water-pollution/plastic-health
- 营养与抗炎(3篇): turmeric/enagic-turmeric/turmeric_rewritten
- 快速跳转导航条 + 各分类颜色编码卡片
- AGENTS.md更新目录结构,加入index.html
- cancer_ref_bicarb.png: 新增Cancer Res 2009截图(Robey),标注碳酸氢钠提高肿瘤pH/抑制自发转移/减少转移灶
- cancer_ref_molcancer.png: 新增Mol Cancer 2016截图(Faes),标注碳酸氢钠单药抑制54.4%/联合雷帕霉素98.3%
- cancer.html: 酸性微环境模块后插入两组证据框,链接临床转化意义声明
- 新增酸性肿瘤微环境模块: Warburg效应→pH6.5-6.8→免疫抑制/侵袭/耐药
- 连接还原水: 碱性电解水缓冲瘤内pH的辅助预防逻辑
- 姜黄素补充: NF-κB抑制机制+生物利用度限制+增效方案
- Step 3新增第⑦项: 酸碱平衡调控(还原水)
- 文章叙事链重构: 免疫监视失败→酸性土壤→炎症供能→肠漏源头→抗炎闭环
- 证据框引用更新: Sung 2020→Bray 2024, doi更新, 新增2050预测数据
- 免疫三大功能: 从简单列表升级为三栏卡片(免疫防御/自稳/监视), 每栏含机制+异常+癌症关联
- 新增三点核心结论(免疫监视失败=癌症)
- ref-5引用信息补全: 被引42,510次, 1/5患癌/1/9男1/12女数据
自来水文章截图替换+标注:4张源论文页面截图(ES&T/JEMA/Ecotox/IntJEnvironHealth)加红色标注框和中文翻译; Enagic pH档位更新为7档精准方案(2.5消毒~11.5去农残); 外出就餐新增消毒水建议; 修正ref-9引用期刊名
截图标注+翻译:7张心脑血管引用截图加红色标注框和中文翻译; 修复Frontiers引用作者名和DOI
- cancer.html: 4处证据块添加img.ref-shot引用截图
- diabetes.html: 4处证据块添加img.ref-shot引用截图
- osteoporosis.html: 3处证据块添加img.ref-shot引用截图
文档
重构
替换并新增证据截图(CA Cancer/Bicarb/Mol Cancer)
精简症状识别表(+酸性微环境+抗炎闭环)
Bug 修复
修复cardio-cerebro.html中ref-screenshot图片路径(/img→../img)
替换cancer_ref3截图源,补全三篇文章ref-shot img标签
v1.0.527 (2026-07-24)
新功能
add ArticleBookshelf book-style recommendation component
其他
dimension-based color gradients, magazine spread overlay on tap
- Integrated into article-center/index.vue via getFeaturedArticles API
- Follows uni.scss design tokens, Vue 2 compatible (no optional chaining,
flexbox layout)
- goExplore() navigation stub to /pages/article-center/article-explore
v1.0.526 (2026-07-24)
Bug 修复
恢复行首页redirectTo;修复CircleRanking WXML编译错误;新增plans占位页
v1.0.525 (2026-07-24)
新功能
手机自适应扩展 — Dashboard 2列 + 表格滚动 + 表单堆叠
v1.0.524 (2026-07-24)
文档
PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施
v1.0.523 (2026-07-24)
文档
PROJECT-OVERVIEW - 添加管理后台手机自适应设计文档和实施计划索引
v1.0.522 (2026-07-24)
新功能
管理后台手机自适应 — 响应式侧边栏折叠 + 布局优化
其他
- 768px 以下侧边栏折叠,汉堡按钮控制展开/收起
- 侧边栏以 fixed overlay 方式滑入/滑出,配合遮罩层
- 路由切换自动关闭移动端侧边栏
- window.resize 监听自动适配桌面/移动端
Login.vue:
- 480px 以下表单卡片全屏展示
全局 CSS:
- 移动端 padding 缩小,表格字号调小
- PROJECT-OVERVIEW v1.4 -> v1.6 冲突解决(取远程版本)
- 废弃设计文档同步移至 backup/
- Phase 3/4 状态修正:文章系统已上线,成长档案已完成
- 文章发布审核工作流、维度知识库、菌群报告 -> ✅ 已实施
- 家庭关系图修复 -> ✅ 已修复
- 公众号内容发布Dify工作流 -> 🔄 已废弃
- 确定性PPT设计 -> 移至 backup/
- 之前声明为已废弃但未物理移动的10个文件 -> 同步移至 backup/
文档
docs:
PROJECT-OVERVIEW v1.4 - Phase 5全栈完成 + 文档审计同步
v1.0.521 (2026-07-24)
新功能
完善7维健康模型 - Tier2 VOICE/PHOTO支持, canvas雷达图, 数据源表迁移
文档
PROJECT-OVERVIEW - 健康维度重构状态更新为后端框架已实现
v1.0.520 (2026-07-24)
其他
v1.0.519 (2026-07-24)
Bug 修复
行首页登录后保持TabBar;家庭挑战任务移至身页面
v1.0.518 (2026-07-24)
Bug 修复
用evidence-inline替换cancer/diabetes/osteoporosis断链截图
其他
- diabetes.html: 4个 ref-shot → evidence-inline引用块
- osteoporosis.html: 3个 ref-shot → evidence-inline引用块+CSS
- footer.js: 增加子目录路径自适应,logo和链接自动添加../前缀
v1.0.517 (2026-07-24)
其他
新增规范
新增规范
新增规范
新增规范
1、用户预约测评后,小程序端可以看到规划师
1、用户预约测评后,小程序端可以看到规划师
v1.0.516 (2026-07-24)
文档
PROJECT-OVERVIEW v1.7 - 同步富维度/文章发布/权限系统完成状态
v1.0.515 (2026-07-24)
新功能
商品规格最小购买数限制(minQuantity字段 + 订单校验)
其他
schema.sql: 补充 product_skus 建表语句(含 min_quantity 列)
DatabaseInitializer: runMigration101() 定义(添加 min_quantity 列)
ProductOrderService.createMultiItem(): SKU 级别最小购买数量校验
v1.0.514 (2026-07-24)
Bug 修复
添加真实DOI参考文献到3篇geo-faq文章,修复导航链接路径
为8篇独立文章补充footer CSS样式
其他
- geo-faq-2-attention: 7条引用(血清素/肠脑轴/ADHD菌群/人工色素等)
- geo-faq-3-immunity: 5条引用(益生菌/维生素D/儿童感冒次数等)
- sales: 添加科普文章交叉链接
- 所有nav链接修复为正确的相对路径(../index.html)
导致.site-footer无样式渲染。补充完整footer CSS适配各文章配色:
- 使用 var(--bg-dark, #1a1a3a) 确保 footer 背景自动适配已定义--bg-dark的文章
- 使用 var(--accent, #27ae60) 保持 hover/logo-tag 色与文章主题一致
- 全文覆盖:.site-footer, .footer-inner, .footer-brand, .footer-links,
.footer-col, .footer-contact, .footer-bottom, .footer-logo-img, .footer-legal
受影响文件:uric-acid, plastic-health, diabetes, cancer, cardio-cerebro,
tap-water-pollution, turmeric, osteoporosis
geo-faq三个文章已链接主站../css/style.css,无需内嵌footer样式。
v1.0.513 (2026-07-24)
Bug 修复
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
fix 405 POST→GET redirect, RecommendedFeed items ref, and unhandled rejections
其他
- pages/index-home/index.vue (main package TabBar home page)
- pages/home-pages/ (subpackage for parent-index, child-index, member-home-detail)
- Update all navigation URLs to use correct paths
- Fix /pages/home-index/index -> /pages/index-home/index across 19 files
corrupting Chinese characters in 230+ files, causing Unterminated string errors.
- Restore all files from e8fd4d05 ~1 (pre-corruption) via git checkout
- Re-apply directory rename (pages/index -> pages/home)
- Re-apply path replacements using Python with explicit UTF-8 encoding
- Fix tab icon references (tab-home -> tab-action) in custom-tab-bar
- Fix historical encoding issue in pages/games/1a2b.vue (pre-existing garbled text)
- Clean up duplicate pages/home/index/ directory created by git checkout
- Update pages.json: TabBar pagePath, main pages array, and subPackages root
- Fix custom-tab-bar page paths and icon filenames (tab-home -> tab-action)
- Update all Vue file navigation URLs from /pages/index/... to /pages/home/...
to subpackages (pages/index, pages/login, pages/share, pages/profile)
- index/index.vue: remove static import of ParentIndex/ChildIndex, redirect
authenticated users via redirectTo instead of rendering as sub-components
- AGENTS.md: document subpackage structure (45 subpackages)
- api.js: add console.log for /api/auth requests for debugging
- family/add-member.vue: minor fix
language as the energy sandbox (wuxing-sandbox) dots:
行🌿 身🌏 智⚡ 心🔥 富💧
the energy sandbox (wuxing-sandbox) visual language:
行(wood/leaf) 身(earth/mountain) 智(metal/diamond) 心(fire/flame) 富(water/drop)
- Use dimension colors from the sandbox palette for active state,
gray for inactive state
- Remove old tab-home icons (replaced by tab-action)
- Update pages.json to reference new tab-action filenames
redirect converting POST to GET
- RecommendedFeed.vue: template 'items'→'displayItems' (undefined
computed ref)
- parent-index.vue: add .catch() to getFamilyRanking/getChallengeList
to prevent unhandled Promise rejections
新功能
subpackage split - move non-TabBar pages out of main package to reduce size
use emoji tab icons matching wuxing sandbox style
redesign tab bar icons in wuxing sandbox style
v1.0.512 (2026-07-24)
Bug 修复
其他
- 页脚样式:补充完整的 .site-footer CSS 样式(配色适配文章暗色调)
- 参考文献:11篇全部添加 DOI 超链接(CANTOS/Lancet/NEJM/Nature/Cell/Science/PNAS/JAMA)
- 证据截图:新增3处 evidence-inline 截图证明(小胶质细胞双面角色/CANTOS抗炎证据/富氢水神经保护)
- 修正参考文献作者信息(TREM2: Guerreiro 2013 NEJM, Lecanemab: van Dyck 2023 NEJM, DAM: Keren-Shaul 2017 Cell 等)
重构
v1.0.511 (2026-07-23)
Bug 修复
其他
- alzheimer.html: alzheimer_ref1.png → gut-microbiome-damage.jpg (替换不存在的截图)
v1.0.510 (2026-07-23)
新功能
其他
调用 health_butler_graph,支持知识库检索+个性化建议+任务生成
- cfc-frontend: 新增 aiSendHealthButlerMessage() (api.js)
输入 childId/familyId,传给 LangGraph /health/butler 端点
- cfc-frontend: mode='butler' 完整支持 chat.vue
isButler computed / 导航标题 / 欢迎语+3个快速问题 / 🏥头像 / sendMessage分支
- cfc-frontend: 身体页功能列表新增「🏥 健康管家」入口
导航到 /pages/ai/chat?mode=butler&fromPage=pages/body/index
v1.0.509 (2026-07-23)
文档
PROJECT-OVERVIEW v1.6 - Phase 4 status sync (健康7维/成长档案/供应商体系后端已实现,供应商订单修复完成)
v1.0.508 (2026-07-23)
文档
comprehensive plan Task 5 [-5→] ✅完成
v1.0.507 (2026-07-23)
新功能
Task 5 AI健康管家补全 — health_butler_graph + 前端路由修复
其他
- 新建 health_butler_graph.py (322行): Java KB集成的健康管家图
(load_knowledge → search_knowledge → llm_answer → save_memory)
查询 Java 健康知识库(bacteria/indicator/food)注入 LLM 上下文
- 修复 health_coach_graph.py: HEALTH_BUTLER_PROMPT → HEALTH_COACH_PROMPT
- 修复 chat.vue: aiSendHealthButlerMessage → aiSendHealthCoachMessage
- 修复 AIFloatingAvatar.vue: 从身/智/心页面自动传递 mode=health
确保健康维度页面进入 AI 聊天时使用健康教练模式
- 同步 PROJECT-OVERVIEW.md 远程更新(Phase 4/健康7维)
v1.0.506 (2026-07-23)
文档
PROJECT-OVERVIEW v1.5 - sync P2-2/P3 active health backend status (all implemented)
comprehensive plan 状态审计 - Tasks 1-10 完成情况更新
其他
- Tasks 1-4, 6-10: ✅ 全部完成 (标记 [x] + evidence)
- Task 5: ⚠️ 基础完成(缺专用 health_butler_graph.py)
- Tasks 11-13: ⏳ Phase 4 计划级未实施
- Scope/Success criteria 同步更新
v1.0.505 (2026-07-23)
其他
v1.0.504 (2026-07-23)
Bug 修复
修正 cancer/cardio-cerebro 路径引用
v1.0.503 (2026-07-23)
Bug 修复
其他
- 新增 turmeric.html (姜黄/黄原糖健康科普)
v1.0.502 (2026-07-23)
其他
代码修复
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 保存路径:uploads/json-results/{timestamp}_result.json
- 每次调用 POST /api/health/report/parse-preview 时自动保存
- 使用 Jackson ObjectMapper 格式化输出 JSON
- 日志中记录保存的文件路径和关键信息摘要
- 不影响主要流程,保存失败仅记录警告
Bug 修复
remove stale RelationshipTypes route referencing deleted component
新功能
在 HealthReportController 添加自动保存解析结果到 JSON 文件
v1.0.501 (2026-07-23)
Bug 修复
add throws Exception to test methods calling preHandle
其他
v1.0.500 (2026-07-23)
其他
修正tap-water-pollution.html图片引用:.png→.jpg,配合已压缩的截图文件
优化tap-water-pollution.html:压缩截图为高质量JPG并修正引用路径;保留Enagic SVG
- 修正HTML图片引用:.png/.svg → .jpg(农药残留/DBPs/氯消毒机制/EDCs/抗生素ARGs/肠道菌群)
- 保留Enagic还原水对比图为SVG矢量图
web/sales: 新建销售目录,移动sales.html,新增微塑料和自来水污染销售页
v1.0.499 (2026-07-23)
Bug 修复
add missing MockHttpServletRequest import
其他
v1.0.498 (2026-07-23)
新功能
Dify-compatible adapter layer + AI health butler MVP
其他
Bug 修复
resolve compilation errors - Java 8 var removal + type casts
v1.0.497 (2026-07-23)
文档
PROJECT-OVERVIEW v1.4 - 全量状态审计
其他
- v1.3 → v1.4, 状态行更新
- §3.1: 主动健康六阶 🚧→✅(P0-P2-1完成); 营养缺陷修复 🟡→✅
- §3.2: DAN测评结果展示 🟡→✅
- §4.1: 公众号内容发布(Dify) ❌取消(LangGraph取代)
- §5.1: 维度知识库 🟡待实施→✅已实施
- §8: 维度页面缺口 P1+2✅, 营养健康✅
- §10: 6个spec/plan状态同步更新
- §11: 删除重复行
v1.0.496 (2026-07-23)
Bug 修复
PROJECT-OVERVIEW §2.3 家庭成员体系状态 🚧→✅(4/4 全部完成)
v1.0.495 (2026-07-23)
文档
update TASK-P0-001 status to 已实施
PROJECT-OVERVIEW v1.3 - 辈分重构全栈完成 + 状态同步
update PROJECT-OVERVIEW.md v1.3 - 辈分重构全栈完成状态同步
Bug 修复
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
其他
type list (family/friend/partner/colleague/other), matching backend removal of
/relationship-types endpoint and relationship_types table.
v4 alone had remove-scoped.js crash on empty selector (spaces access).
- Keep @vue /cli-service ~4.5.0, postcss 7.0.39 pinned
- Add postinstall-fix.js to patch remove-scoped.js selector.first guard
- Add node-sass as devDependency (needed by uni-app sass-loader)
- Restore .postcssrc.js, postcss.config.js, vue.config.js
- Document build constraints in AGENTS.md
导致 webpack-uni-mp-loader/script.js 编译失败。
- 正确闭合 loadAlerts 的 .then() 链
- 将 dismissAlert 调用抽出为独立的 handleDismissAlert(alertId) 方法
added postcss:^8.4.49 as a direct dependency, causing remove-scoped.js
(Cannot read properties of undefined (reading 'spaces')) crash.
- @vue /cli-service ^4.5.19 -> ^5.0.9
- copy-webpack-plugin ^5.1.2 -> ^14.0.0
- Remove .postcssrc.js, postcss.config.js, vue.config.js
- Remove postcss from dependencies (v5 brings its own)
- Remove postcss/postcss-selector-parser from overrides
- 删除 RelationshipPicker.vue: 已被 GenerationPicker.vue 替代
- @vue /cli-plugin-babel: ~4.5.0 → ^5.0.9
- copy-webpack-plugin: ^5.1.2 → ^14.0.0
- @babel /core/preset-env: ^7.16.0 → ^7.29.7
- Remove override @vue /babel-plugin-resolve-type@1.0.0 (does not exist on npm)
Root cause: downgrade to @vue /cli-service v4 in 6a4d0496 triggered
remove-scoped.js crash in WeChat DevTools build pipeline.
- 创建 WealthSubScores.vue 组件展示富维度三子维度详情(家长/孩子角色感礁)
- 更新 wealth/index.vue: 导入两个新组件 + data添加bodyWealthStatus/Message字段 + API加载逻辑
- 修复 DatabaseInitializer.java: runMigration100方法缺少闭合括号导致编译失败
TASK-P0-002 前端实施完成,后端EnergyService子维度计算已由先前提交完成
新功能
推广佣金体系后端实体 + 删除废弃 RelationshipPicker 组件
TASK-P0-001 辈分重构 — 订阅式 generation + is_spouse,删除关系类型表与字段
富维度子维度组件 + 身克富杠杆展示 + 修复DatabaseInitializer编译错误
v1.0.494 (2026-07-22)
其他
优化自来水污染科普文章:新增农药残留和氯消毒副产物章节,突出Enagic还原水机方案
- 新增Section: 农药残留(46种农药频繁检出,拟除虫菊酯首次在自来水中确认)
- 新增Section: 氯消毒副产物DBPs(Liu et al. Nature Sustainability 2022 膀胱癌关联)
- 新增Section: Enagic还原水机(ISO 13485认证、五种功能水、科学依据与临床证据)
- 新增Sticky TOC导航、数据表格、引用卡片网格、对比表格
- 更新参考文献至25条(新增农药/DBPs/Enagic相关引用)
- 添加截图占位区域(用户替换为实际截图)
v1.0.493 (2026-07-22)
其他
content(D2-D3): 智维度专注力俊辰案例 + 富维度记账破洞 + 知识库索引
v1.0.492 (2026-07-22)
Bug 修复
@keyframes 从 scoped 移到非 scoped 样式块,修复 vue-cli-plugin-uni 编译错误
其他
v1.0.491 (2026-07-22)
文档
PROJECT-OVERVIEW v1.2 状态审计校正(辈分重构→后端完成、推广体系→前端基础就绪、电商扩展→暂停、新增DAN双角色模型记录)
其他
v1.0.490 (2026-07-22)
文档
update PROJECT-OVERVIEW.md v1.2 with Phase 2-4 recategorization and comprehensive implementation plan
其他
- B类4项+ C类4项重新分Phase(Phase 2-4)
- 新增 comprehensive implementation plan (13 tasks across 3 phases)
- 阶段总览更新:Phase 2=商业模式&AI落地, Phase 3=五维增强, Phase 4=平台扩展
v1.0.489 (2026-07-22)
其他
web/knowledge.html: swap side panel directions per request
v1.0.488 (2026-07-22)
其他
1、优化管理端前端的分页异常问题 2、用户预约测评后,管理端分配规划师
v1.0.487 (2026-07-22)
其他
web/knowledge.html: >> in header, side panel for hidden articles, fix layout
v1.0.486 (2026-07-22)
文档
update PROJECT-OVERVIEW.md - P2-1 marked complete
其他
- 状态行更新: P0/P1-1/P1-2/P2-1 全部 ✅ 完成
- 矩阵新增状态列
- 新增 HealthScoreService 积分计算引擎
- 新增 HealthLevelService 等级判定+种子数据自动插入
- 新增 HealthTimelineService 时间线事件生成(里程碑/升级/首次)
- 新增 HealthScoreController+HealthTimelineController
- 数据库迁移 105/106 (health_level+health_timeline_event)
- 前端 HealthBadge + HealthTimeline 组件
- 前端 store/health-score.js + api.js 端点集成
- profile.vue 展示等级称号+进度条+时间线
新功能
P2-1 身份重塑系统 - 健康等级+积分引擎+时间线
v1.0.485 (2026-07-22)
新功能
其他
- 重写 osteoporosis.html(骨质疏松):慢性炎症+肠-骨轴+RANKL/OPG机制
- 增强 cancer.html:症压缩证据盒+免疫三大功能+肠-癌轴
- 更新 knowledge.html:将 alzheimer.html 接入成长百科(身维度)
文章核心框架:症压缩 → 慢性炎症统一病因 → 抗炎干预(菌群+富氢水)
v1.0.484 (2026-07-22)
其他
v1.0.483 (2026-07-22)
新功能
其他
- 数据库: schema.sql + DatabaseInitializer migration 104 (health_alerts表)
- 前端: HealthAlertBanner横幅组件 + store/health-alert.js + parent-index集成
- 6条预警规则: 睡眠下降/无运动/饮水少/运动过强/7天无打卡/今日未打卡
- 去重机制: 同一规则24h内不重复生成
- 严重程度排序: high > medium > low,最多展示2条
v1.0.482 (2026-07-22)
Bug 修复
point develop env to cfc.etotem.com.cn; extract deep selector to non-scoped style for HBuilderX compat
新功能
其他
- 数据库: schema.sql + DatabaseInitializer migration 103
- 前端: FeedbackToast, MilestoneCelebration, DailySummary 组件
- 预设文案引擎: 12 场景触发 + 里程碑判定
- Vuex 反馈状态模块 + parent-index 集成
- 微行动完成后自动触发即时反馈
v1.0.481 (2026-07-22)
其他
web/knowledge.html: Fix title padding (margin-top), add disease articles, wealth marker right->65%
v1.0.480 (2026-07-22)
其他
web: Fix 浠艾福 typo(爱→艾), fix knowledge.html title padding, shift markers up 10%, max-3 articles with >> reveal
- PROJECT-OVERVIEW.md v1.1→v1.2: 新增 Phase 5 阶段、3.1 身 条目、十 文档索引、十一 主动健康改进章节
- AGENTS.md: 新增变更追踪规则 — superpowers/ 下文件增删改必须同步 PROJECT-OVERVIEW.md
文档
v1.0.479 (2026-07-22)
Bug 修复
replace >>> deep selector with ::v-deep for postcss compat
fix hash operator precedence, use floorMod for negative-safe index
v1.0.478 (2026-07-22)
其他
修复前端分页问题
分配规划师
分配规划师
填写预约报告表单
填写预约报告表单
填写预约报告表单
填写预约报告表单
修复程序报错
修复程序报错
修复程序报错
v1.0.477 (2026-07-22)
其他
web: Fix footer typo 浐色福→浠艾福, remove 成长百科 column; Fix knowledge.html title obscured by fixed header
v1.0.476 (2026-07-22)
其他
web/diabetes.html: Fix missing shared footer placeholder
v1.0.475 (2026-07-22)
其他
web: 全站统一 footer 为共享组件 js/footer.js,移除各页面自定义 footer CSS
v1.0.474 (2026-07-22)
新功能
其他
- 人体五部位对应五维: 肠→身, 脑→智, 心→心, 手→富, 脚→行
- Desktop: 人体图四周浮动标注卡片,连接圆点指向对应身体部位
- Mobile: 顶部5标签切换(身·智·富·行·心),点击显示文章列表
- 替换所有'亿图腾(北京)科技有限公司'→'浠艾福主动健康研究院'
v1.0.473 (2026-07-22)
新功能
重写成长百科为100vh单页布局(剪影背景+五维卡片+手机标签)
其他
- 新增100vh单页布局(overflow:hidden),无滚动
- 单人剪影+群组剪影作为装饰性页面背景(低透明度)
- Desktop: 5维卡片水平排列,各维度文章链接直接可见
- Mobile: 顶部5标签切换(身·智·富·行·心),点击显示对应文章
- 所有文章数据及标签切换逻辑由内联JS驱动
v1.0.472 (2026-07-22)
新功能
其他
- web/css/style.css: 新增知识页面全套响应式样式(k-hero/k-dim-section/k-article-grid)
- 全站添加 Microsoft Clarity 用户行为分析脚本(FAQ 3 篇 + sales.html + knowledge.html)
- 导航与 footer 链接统一指向 knowledge.html
- index.html 知识区新增" 进入成长百科 →\按钮
v1.0.471 (2026-07-22)
文档
add implementation audit, tickler, phase1-remaining, and P0 tickets
v1.0.470 (2026-07-22)
Bug 修复
use setFontSize in renderLegacy for WeChat compat, add _destroyed lifecycle guard
v1.0.469 (2026-07-22)
Bug 修复
联系电话 010-86461234 → 010-58733188
文档
其他
- 小红书发布/内容方法论-六阶模型.md: 主动健康六阶模型 × 五维映射方法论
- 小红书发布/发布日历.md: 30天日均内容矩阵 (身→智→富→行→心 五天循环)
- 小红书内容/: 4篇正式稿+指南+速查卡
- 小红书发布计划.md / 发布数据复盘清单.md
v1.0.468 (2026-07-21)
新功能
Hero 背景改用 AI 生成插画 (agnes-image-2.1-flash)
其他
- 自然暖色调抽象家庭插画:屋顶/成长树/太阳/彩虹弧/家庭剪影
- 右侧留白用于文字叠加
- .hero-bg 更新为引用真实图片而非 SVG
v1.0.467 (2026-07-21)
新功能
其他
- 包含:屋顶/成长树/太阳/彩虹弧/家庭五人剪影/心形/草地祥云
- 暖色调大地色系(棕#C4956A / 浅绿#8DB48E / 淡黄#F5D89A / 蓝#A8D4E6)
- .hero-bg 加 SVG 背景图 + 左侧渐变遮罩确保文字可读性
v1.0.466 (2026-07-21)
文档
unified execution plan v1.0 + PROJECT-OVERVIEW v1.2 status corrections
其他
Phase 1 completion (5 items), Phase 2 launch (4 items), 6 tech debt items,
4-sprint timeline with dependencies and risk analysis
- Updated PROJECT-OVERVIEW.md: 12 completed features corrected from
🚧/🟡 to ✅ based on code verification (profile redesign, action pages,
pre-login experience, emotion check-in, article center, flora report,
membership frontend, family graph, member detail sections, mind dual-tab,
parent homepage, homepage overhaul)
v1.0.465 (2026-07-21)
其他
uric-acid.html: rename title to 高尿酸的先天性与后天性
v1.0.464 (2026-07-21)
其他
index.html: 主动健康概念卡片改为五维语言——被动健康是五维内部消耗(前半生用健康换财富,后半生用财富换健康),主动健康是五维持续增长
v1.0.463 (2026-07-21)
其他
新功能
预约页面传递 assessorId 参数
重构 AppointmentController 接入 DanAssessmentExecutionService 双角色模型
AppointmentService 支持 assessorId, DanAssessmentExecutionService 关联 appointmentId
assessment_appointments 添加 assessor_id, dan_assessment_executions 添加 appointment_id
v1.0.462 (2026-07-21)
其他
index.html: 新增主动健康概念专章 + 家庭成长闭环按主动健康思路重写
- 家庭成长闭环4步重写:提前识别→风险管控→主动干预→效果评估
v1.0.461 (2026-07-21)
其他
index.html: 将积分奖励激励替换为有序支出、规划传承
v1.0.460 (2026-07-21)
Bug 修复
ensure .vue resolution in webpack
文档
mark LangGraph Phase 3 as implemented in PROJECT-OVERVIEW
v1.0.459 (2026-07-21)
其他
index.html: 全站整合「主动健康」理念
- About 描述首位加入:主动健康为核心
- 五维能量 section subtitle 增加:主动健康 · 五大能量维度
- 五维能量 section desc 首句加入:主动健康理念贯穿五维——不等病来,主动管理
- JSON-LD FAQ「浠艾福是什么平台」答案首句加入主动健康理念
- JSON-LD FAQ「什么是五维能量体系」重构为以主动健康为核心的定义
v1.0.458 (2026-07-21)
其他
网站去亿图腾化:全面替换为浠艾福主动健康学院,更新备案号为京ICP备14061870号-5
- 页脚版权信息、About版块、JSON-LD组织名称 均更新
- 移除 keywords 中亿图腾
- 4个HTML文件全部更新:index.html, geo-faq-1-allergy.html, geo-faq-2-attention.html, geo-faq-3-immunity.html
v1.0.457 (2026-07-21)
其他
index.html: 成长百科新增微塑料与健康、尿酸高的成因与调节两篇文章链接
v1.0.456 (2026-07-21)
其他
uric-acid.html: 添加8处内联文献证据截图(带高亮注释+中文翻译),移除参考文献列表截图显示
- 概述、转运体、肠道菌群、SCFA、益生菌、EAW、富氢水、运动8个关键段落各添加1处带红色虚线高亮框的截图证据
- 每处证据盒包含:高亮内容原文 + 中文翻译 + DOI链接
- 12个参考文献卡片中移除截图直接显示,仅保留权威性标签+翻译+链接
- 更新图4为新生成的痛风发病机理图(diagram_4_en.png)
- 新增图1-3英文版机制图(diagram_1/2/3_en.png)
- 删除临时文件 .tmp_snapshot_ref3.txt
v1.0.455 (2026-07-21)
Bug 修复
修复 uni-app 小程序编译兼容性问题及运行优化
其他
- 降级 @vue /compiler-sfc 到 2.7.16 确保 HBuilderX 兼容
- 添加 postcss-import、postcss-url、autoprefixer 配置
- 添加 fix-hbuilderx-scoped.js 和 fix-postcss.sh 自动化修复脚本
- 回退 Babel 和 Vue CLI 版本到兼容的 4.x 系列
- 优化小程序样式 scoped 问题修复工具
- 修复组件编译警告和问题:
* ActionArticleRecommend.vue
* HealthDimensionsSection.vue
* RecommendedFeed.vue
* mind-section.vue
* health 相关页面
* payment.vue (移除 scoped)
* child-index.vue
* index.vue
- 优化 Python LangGraph 记忆和检索逻辑
v1.0.454 (2026-07-21)
文档
sync phase1-4 plan checkpoints; add langgraph start.sh; ignore .venv
v1.0.453 (2026-07-21)
文档
PROJECT-OVERVIEW.md v1.1 audit calibration
其他
- Downgrade 2 features to ⚠️ (e-commerce shop_ tables missing, promotion frontend missing)
- Mark langgraph-requirements-summary.md as ⚠️ file missing
- Version bump v1.0 → v1.1
Bug 修复
align MemorySaver import path and pin dependency upper bounds
v1.0.452 (2026-07-21)
文档
sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification (encoding fix)
其他
- AI Sidecar: 🟡->🚧 (AiGateway+5% done, sidecar dir ready)
- Generation model: 🟡->🚧 (GenerationLevel.java introduced)
- Wealth dimension: 🟡->🚧 (EnergyService v2.1 done)
- First login: 🟡->🚧 (login.vue modified)
- Flora report: 🟡->🚧 (gut-flora-detail.vue modified)
- Article center: 🟡->🚧 (4 pages: index/detail/edit/my-posts)
- Family membership: 🟡->🚧 (MemberSubscriptionService done)
- Section 10 spec/plan index: 8 entries synced accordingly
Bug 修复
restore file encoding to UTF-8 (was corrupted by PowerShell ANSI default)
v1.0.451 (2026-07-21)
文档
sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification
其他
- AI Sidecar: 🟡→🚧 (AiGateway+5% done, sidecar dir ready)
- Generation model: 🟡→🚧 (GenerationLevel.java introduced)
- Wealth dimension: 🟡→🚧 (EnergyService v2.1 done)
- First login: 🟡→🚧 (login.vue modified)
- Flora report: 🟡→🚧 (gut-flora-detail.vue modified)
- Article center: 🟡→🚧 (4 pages: index/detail/edit/my-posts)
- Family membership: 🟡→🚧 (MemberSubscriptionService done)
- Section 10 spec/plan index: 8 entries synced accordingly
v1.0.450 (2026-07-21)
Bug 修复
添加 tab-wisdom 图标文件,修复 gitignore 顺序
其他
使静态图标 PNG 能被正确追踪
- Add tab-wisdom.png / tab-wisdom-active.png (placeholder from tab-mind)
Fix TabBar compile error: 'tab-wisdom.png' not found
v1.0.448 (2026-07-20)
Bug 修复
FamilyMemberCard roleBadgeColor use this.member instead of bare member
v1.0.447 (2026-07-20)
其他
web(plastic-health): replace 亿图腾→浠艾福, add Clarity, fix two-col mobile responsive
v1.0.446 (2026-07-20)
Bug 修复
运势接口Mybatis错误 - 添加@Select 注解修复Invalid bound statement + 表结构对齐
重构
其他
- 移除 ProfileStats(行动/财富数据,归属富页面)
- ProfileMenu.vue 新增 showServices prop,我的页面隐藏"服务"板块(会员/订单/售后等归富页面)
- 保留:ProfileHeader / ProfileGrowth / ProfileBadges / 个人+设置菜单
v1.0.445 (2026-07-20)
Bug 修复
add fallback when navigateBack has no pages in stack
v1.0.444 (2026-07-20)
文档
LangGraph Phase 2-4 implementation plans
v1.0.443 (2026-07-20)
新功能
AiGateway + 5% grayscale routing to LangGraph
config, models, RAG, Java client, RecommendAgent
scaffold Python sidecar project
其他
- application.yml: 新增 python.* 配置项
- RecommendationController: 5% 流量走 Python,异常自动 fallback
- models/: 请求/响应 Pydantic 模型
- rag/: ChromaDB + Embedding + 混合检索 (BM25+向量)
- tools/: JavaClient HTTP 封装 + product_tools (3 个 @tool )
- graphs/recommend_graph.py: RecommendAgent (LLM + Tool Calling)
- api/recommend.py: POST /api/v1/recommend 端点
- main.py: 注册路由 + startup/shutdown 钩子
- FastAPI app skeleton with /health endpoint
- Dockerfile, .env.example, .gitignore
- Fix root .gitignore *.py exclusion for cfc-langgraph/
v1.0.442 (2026-07-20)
文档
LangGraph migration design doc + Phase 1 implementation plan
v1.0.441 (2026-07-20)
文档
add AxonHub model routing and multi-model workflow to upgrade plans
v1.0.440 (2026-07-20)
文档
SB3 upgrade implementation plan with task breakdown
Spring Boot 3升级 + Dify替代实施计划
v1.0.439 (2026-07-20)
文档
add Dify migration feasibility analysis
v1.0.438 (2026-07-20)
Bug 修复
parent-index wx:for 添加 wx:key 消除 WXML 运行时警告
其他
uni-app 编译器能正确生成 wx:key="id"
- placeholder 文章占位卡片的 :key="'ph-'+i" 已改为 :key="i"
v1.0.437 (2026-07-20)
Bug 修复
extract_full_report_v5.py - report interpretation content no longer truncated
其他
instead of first occurrence on page 1 summary; 566 chars (was 300)
- 肠道年龄评估: now captures full gut age (page 12) + flora assessment
(pages 13-14, 菌群平衡/菌群多样性); 1938 chars (was 500)
- Removed hard-coded [:500] and [:300] truncation limits
- Proper end-marker detection using 菌群构成层级/菌群详细构成
v1.0.436 (2026-07-20)
其他
web(plastic-health): optimize screenshot sizes for faster loading
web(plastic-health): add ref-22 WWF weekly 5g intake citation
v1.0.435 (2026-07-20)
其他
web(plastic-health): add screenshot links to all 21 citation cards, fix ref-7/ref-12 metadata
- Fix ref-7 journal name: Nutrients -> Antioxidants
- Fix ref-12 DOI: 108319 -> 108353
- Retake ref-21 without cookie popup
- Add translation overlays: ref-13 (Chinese), ref-19 (English)
v1.0.434 (2026-07-20)
其他
v1.0.433 (2026-07-20)
新功能
v1.0.432 (2026-07-20)
Bug 修复
FamilyFortuneMapper.selectByFamilyAndDate 添加 @Select SQL 注解
其他
缺少 SQL 绑定,既无 XML 映射文件也无 @Select 注解。
v1.0.430 (2026-07-20)
其他
web(plastic-health): add authoritative descriptions to all 21 references
- ref 2/4/5/7/9/10/11/12/13/14/15/20/21: journal + publisher + SCI tier
- ref 3: news media context
- ref 19: institutional + professor affiliation
v1.0.429 (2026-07-20)
其他
web(plastic-health): enrich references with journal names and add container guide
ref-11: Antioxidants, ref-12: Environment International, ref-13: Nature Medicine
- Add ref-20 (ANSES glass cap paint) and ref-21 (Heliyon container comparison)
- Replace tip cards container section with safety ranking guide
- Re-take NEJM screenshot without cookie popup
v1.0.428 (2026-07-20)
重构
行页面移除成长里程碑(OctopusGraph组件+action页面清空)
v1.0.427 (2026-07-20)
其他
web(plastic-health): remove boiling water option from protect section
- Renumbered 方案三(电解还原水机)→ 方案二
- Keep 方案一 as 更换饮水容器 (tip grid)
web(plastic-health): add antibiotics/pesticides/hormones row and correct boiling limitation
removal across all 4 water solutions
- Updated tap water conclusion: acknowledge boiling cannot
remove chemical contaminants (antibiotics, pesticides,
contraceptive drugs)
- Updated office tips: recommend activated carbon filter
before boiling as supplement
v1.0.426 (2026-07-20)
其他
web(plastic-health): consolidate 4 water solutions into one comparison table
a single 5-column table covering 8 dimensions: microplastics,
minerals, BPA/plasticizers, secondary contamination, antioxidant
benefits, obesity/anxiety risk, cost, and overall rating.
- 桶装水/瓶装水 | 自来水(烧开后) | RO反渗透纯水机 | 电解还原水机
- Color-coded cells for quick visual comparison
- Two conclusion boxes: tap water as budget choice, electrolyzed
reduced water as optimal upgrade
v1.0.425 (2026-07-20)
其他
web(plastic-health): add 3 factual logic points - obesity/anxiety from barreled water, tap vs RO comparison, electrolyzed reduced water as optimal
triggering metabolic disorders and gut-brain axis anxiety
2. Tap vs RO comparison table: WHO warns against long-term
demineralized water; boiled tap water retains minerals
3. Electrolyzed reduced water as optimal solution: multi-stage
filtration + antioxidant hydrogen water + retained minerals
4. New references [14]-[19] for all three additions
web(plastic-health): add 4 evidence screenshots with Chinese annotations for office water risk factors
- ref-hot-water-antimony.png: 70°C高温锑/BPA释放 对应风险②高温加热
- ref-heat-sunlight.png: UV/高温加速降解 对应风险③存放暴晒
- ref-ohio-state.png: 瓶装水塑料为自来水2-3倍 对应风险④密封垫磨损
Each English-page screenshot includes injected Chinese translation annotations.
v1.0.424 (2026-07-20)
样式
其他
- 使用紫粉渐变背景匹配心维度色系
- 保留报告列表功能,统一色调
v1.0.423 (2026-07-20)
Bug 修复
isLoggedIn computed → data property to fix login state reactivity
FamilyRelationGraph 组件兼容性修复 - 修正小程序requestAnimationFrame错误
新功能
其他
v1.0.422 (2026-07-20)
Bug 修复
normalize Kangxi radicals in Java service
add CAG candidate genera for full coverage
其他
- Apply normalization at both init (buildIndexes) and lookup time
- Remove duplicate Kangxi radical entries from JSON (now handled by code)
- Belt-and-suspenders: data + code both normalize
v1.0.421 (2026-07-20)
Bug 修复
move floating migrations into runMigrations(), fix brace balance
v1.0.420 (2026-07-20)
Bug 修复
add 4 missing genera + fix Kangxi radical chars
其他
to 菌属功能库 (genera 88 -> 92)
- Add U+2ED4 Kangxi radical variants of 幽门螺杆菌 and 沙门氏菌
for matching extracted report data
- Verified on 556168709-mi.pdf: match rate 98% (176/179)
- Genus: 52/53 (Prevotellamassilia now added)
- Species: 43/45 (CAG unclassified only)
- Disease risks: 10/10 (100%)
- Other indicators: 71/71 (100%)
重构
users.role ENUM → VARCHAR(20); add migration 99
v1.0.419 (2026-07-20)
样式
v1.0.418 (2026-07-20)
Bug 修复
开发环境跳过 auto-login 避免启动时 10s 超时错误
其他
直接跳过自动登录,避免后端不可达时触发 WeChat SDK
SystemError timeout。
v1.0.417 (2026-07-20)
Bug 修复
其他
改为按分原样传参 amount,与全局金额格式化约定保持一致。
v1.0.416 (2026-07-20)
Bug 修复
修复体检报告详情页小程序编译失败
add wx:key to v-for placeholder loop in DimensionArticles
product-detail 移除 memberPrice 价格回退
FamilyRelationGraph 齿轮/+号/高度自适应被误回退,重新实现
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)
其他
- 修复空状态条件引用不存在的 indicatorGroups,改为 indicators.length
to wx:key. Changed to :key="i" which compiles to wx:key="*this",
eliminating the WXML runtime warning.
ProductService was missing this delegation method. Pre-existing bug
uncovered when running mvn compile for v1.1 verification.
to resolve Spring Boot 2.7+ circular reference rejection.
The cycle was:
HealthReportService → DimensionScoreService → DimensionScoreServiceImpl → HealthReportService
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 重写 admin-butler-review 用 13800138000 账号 + admin-auth/login-by-password 取 token
- 新增 health-knowledge-base / nutritionist-apply 覆盖 HealthKnowledgeBaseController (3 endpoints) 与 NutritionistController (2 endpoints)
- 附带 mass-create-users 脚本 + create-role-users.sql + 上一次批量建号结果 create-result.json 用于手动复现
- pages/parent/plans/index.vue, detail.vue
- pages/guide/plans/index.vue, detail.vue
- pages/guide/training-plans/index.vue, detail.vue
2. pages.json 中移除对应的路由注册
3. 新增 components/RecommendedFeed.vue:
- 将商品和活动混合为交替排列的信息流 (商品/活动/商品/活动...)
- 统一展示:封面图 + 类型标签 + 标题 + 价格 + 状态
- 点击统一跳转到对应详情页
4. parent-index.vue:
- 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
- 新增 onFeedItemClick 和 goMoreDiscover 方法
5. child-index.vue:
- 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
- 新增 onFeedItemClick 和 goMoreDiscover 方法
6. member-detail.vue:
- 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
- 新增 onFeedItemClick 和 goMoreDiscover 方法
重构
redesign card UI with cover gradient and badge layout
删除成长计划页面并合并推荐商品与活动为统一信息流
测试
admin/health/nutrition 覆盖新增控制器
v1.0.415 (2026-07-19)
新功能
行首页移除成长里程碑 - 移除OctopusGraph/milestones功能
v1.0.414 (2026-07-19)
Bug 修复
SKU编辑器适配Map类型specs + enabled Boolean转1/0
新增findByProductIdAll供管理端SKU列表(无enabled过滤)
ProductSkuDTO specs类型从List改为Map
其他
v1.0.413 (2026-07-19)
新功能
心页面添加心理报告卡片 - 完整EMID四维条形图展示
v1.0.412 (2026-07-19)
新功能
其他
- AIChatController [TASK]标记解析集成
- FamilyContextService任务上下文注入
- chat.vue任务卡片渲染+报告解读模式
- 阅读卡片改为今日能量文并重新设计(深色渐变/辉光)
- 体检/菌群报告详情页AI解读FAB入口
- 富页面模式切换+profile返回入口
v1.0.411 (2026-07-19)
新功能
integrate KB v3 into gut-flora-risks-detail.vue
其他
- Update showKnowledge() to query v3 KB first (偏高影响/偏低影响/调整建议)
- Fall back to old queryKnowledgeBase('disease', ...) when v3 returns nothing
- Follows same pattern as gut-flora-detail.vue and gut-flora-species-detail.vue
All 4 gut-flora report pages now use KB v3 with fallback.
v1.0.410 (2026-07-19)
其他
- .gitignore: add .env.production
- git rm --cached .env.production (keep on disk)
Environment-specific configs should not be tracked in git.
v1.0.410 (2026-07-19)
Bug 修复
resolve login API 405 and logo 404 on /admin/ deployment
其他
(auth.js URLs start with /api/, so baseURL=api caused axios to emit
api/api/... → browser resolves to /admin/api/api/..., backend returns 405)
- Login.vue: → src="logo.png" (relative,
resolves correctly under /admin/ subpath)
- public/logo.png: added (copied from web/logo.png)
- .gitignore: add !cfc-web/public/logo.png exception
v1.0.409 (2026-07-19)
Bug 修复
clean bacteria names (remove Chinese prefix) + add 3 missing genera
其他
- Added 3 missing genera: Coprobacter, Paraprevotella, Parasutterella
- Verified: 50/55 genera match KB directly, 41/43 species match via genus backoff
v1.0.408 (2026-07-19)
新功能
knowledge base v3 - data/template separation foundation
其他
- extract_full_report_v5.py: normalize_output() - 字段统一/冗余删除/菌属名称清洗
- 字段拆分清单.md: personal data vs knowledge base 边界定义
- 设计规格: docs/superpowers/specs/2026-07-19-knowledge-base-v3-data-refactor.md
- 验证输出: 547982403.json, 朱评估报告.json 新格式确认
v1.0.407 (2026-07-19)
Bug 修复
update test to match new BindController signatures
其他
parameter - it's resolved internally via MembershipService.
Add @MockBean MembershipService and update call sites.
v1.0.406 (2026-07-19)
Bug 修复
其他
no interceptor sets familyId as a request attribute → Spring 400 error.
@RequestAttribute ("userId") + membershipService.getUserFamilyId(userId)
Affected controllers:
- MindFortuneController (getTodayFortune, refreshFortune, exportFortuneReport)
- PackagePaymentController (createOrder)
- MarketController (purchasePackage, getMyPlans)
- BindController (acceptBind, getBoundGuides, unbind)
新功能
add purchase recommendation section to dan-assessment/report-upload page
v1.0.405 (2026-07-19)
Bug 修复
新功能
add purchase recommendation section to report-upload page
其他
- Add recommendedProducts/loadingProducts data states
- Implement loadRecommendProducts method with REPORT_DOMAIN_MAP
- Add goToProduct and formatPriceWithSymbol utility methods
- Insert horizontal scrollable purchase card section below type selector
- Add scoped styles for purchase recommendation section
v1.0.404 (2026-07-19)
新功能
implement taxonomy level support, pathogen tabs, report interpretation, DB migration 98
v1.0.403 (2026-07-18)
文档
add implementation plan for mini-program and Java backend modifications
v1.0.402 (2026-07-18)
新功能
add personalized indicator interpretations (P0) and overall assessment descriptions
其他
Merge remote-tracking branch 'origin/cfclub' for upstream changes
Bug 修复
v1.0.401 (2026-07-18)
文档
add analysis of personalized descriptive content to extract from reports
add gap analysis between extraction results and miniprogram/backend
v1.0.400 (2026-07-18)
重构
make indicator ranges computable with min/max + status levels
新功能
add report indicator knowledge base with standard ranges and descriptions
v1.0.399 (2026-07-18)
Bug 修复
probiotic species-level extraction (22 items), inline format timeout
inline format bacteria table timeout - skip truly compressed format, 朱评估报告 now completes
v1.0.398 (2026-07-18)
新功能
add taxonomy level extraction (class/order/family/genus/species) from unified section
Bug 修复
bacteria table inline parsing, pathogen tables, antibiotic dedup, harmful/other bacteria expansion
v1.0.397 (2026-07-18)
Bug 修复
comprehensive extraction fixes - Kangxi radicals, inline fallback, amino acid boundary, taxonomy levels
v1.0.396 (2026-07-18)
Bug 修复
移除活动菜单项 + MembershipCenter 改用本地axios
管理端API请求方法修复 — PUT/DELETE统一改用POST
文件存储调用方适配 — upload→store、移除原始文件IO逻辑
文件存储重构 — 可配置上传目录、MIME类型校验、delete方法
其他
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
导致生产环境 405 Method Not Allowed 错误。
修复范围:
• 用户: updateUser/deleteUser — 方法+URL 修正
• 家庭: updateFamily/deleteFamily — 方法+URL 修正
• 孩子: updateChild/deleteChild — 方法+URL 修正
• 任务模板: updateTaskTemplate/deleteTaskTemplate — 方法+URL 修正
• 奖励模板: updateRewardTemplate/deleteRewardTemplate — 方法+URL 修正
• 系统配置: deleteSysConfig — 方法修正
• 教师任务模板: deleteTeacherTaskTemplate — 方法+URL 修正
• 心愿: setWishPrice/rejectWish/approveWishExchange/markWishFulfilled — 方法修正
• 心愿: deleteWish — 方法+URL 修正 (/api/wishes/{id}→/cancel)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
• AssessmentReportController: upload() → store()
• DanReportUploadService: upload() → store()
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
• FileStorageService: 增加 delete() 方法用于删除已上传文件
• WebConfig: addResourceHandler 使用 upload.base-dir 替代 System.getProperty
• application.yml: 添加 upload.base-dir 和 upload.allowed-types 配置
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.395 (2026-07-18)
Bug 修复
comprehensive bacteria table & indicator extraction fixes
其他
- Fix regex patterns for abundance, normal range, population level
- Add inline fallback for missing disease risks, amino acids, barrier/scfa/nt
- Fix overview extraction for gut age, health score details
v1.0.394 (2026-07-18)
新功能
v1.0.393 (2026-07-18)
Bug 修复
非管理员登录避免死循环 — teacher 直接进 /teacher-dashboard
新功能
其他
- DanReportParseService.parseB5Report(): 新增compassImage参数 + 第7步图像分析
- 新增常量: B5_QUAD_ANGLES/FACTORS/SUB_DIMS + B5_CENTER坐标
- 新增方法: extractB5CompassImage(PDDocument) — PDFBox提取PNG→BufferedImage
- 新增方法: measureFillAtAngle() — 沿角度射线逐像素扫描填充半径
- 新增方法: extractB5CompassScores() — 动态校准因子 + 19子维度分数映射
- parseText(): 新增两参数重载(public) + 三参数版本(private)
- 图像提取失败不影响文本数据(log.warn静默降级)
算法: 从r=150扫描跳过中心色块, 25px间隙容忍跨越环线,
每象限角度范围等分→子维度射线±2°偏移→平均fill×校准因子→1-5分
测试: 37 tests run, 0 failures
v1.0.392 (2026-07-18)
新功能
expand health survey with disease/family history, add physical exam detail page
v1.0.391 (2026-07-18)
新功能
其他
- HealthKnowledgeBaseService: listAll/save/updateById/removeById
- HealthKnowledgeBaseController: /list /add /update /delete
- cfc-web/views/admin/health-knowledge.vue: 列表+筛选+新增/编辑/删除/导入
- router: 注册 /health-knowledge,Layout 侧边栏 知识中心 下新增菜单
Bug 修复
AdminArticleController.create 修复ArrayList强转String — visibility/visibleTo/articleType字段可能为JSON数组
v1.0.389 (2026-07-17)
Bug 修复
class 绑定改用预计算/内联表达式,避免方法调用
v1.0.388 (2026-07-17)
新功能
FamilyRelationGraph 新增齿轮跳转成员管理、悬停/点击+号进入添加成员页、高度自适应
其他
v1.0.387 (2026-07-17)
测试
add v1.1 scenarios for knowledge-popup, quick-nav, edit mode
其他
- [场景7] Knowledge base popup query and display
- [场景8] Quick nav card navigation to subpages
- [场景9] Edit mode toggle and save
Covers the new v1.1 report detail features.
v1.0.386 (2026-07-17)
新功能
add api methods, knowledge-popup component, register 4 pages in pages.json
add KnowledgeBaseDataImporter + ref JSONs + import endpoint
add POST /api/health/report/edit + updateReportFromPayload
add health_knowledge_base (entity+mapper+service+controller+migration98)
Bug 修复
修复管理端多处模板标签闭合并将本地开发接口指向 127.0.0.1:9082 代理
v1.0.385 (2026-07-17)
Bug 修复
其他
2. stopSimulation 用 clearTimeout 替代 cancelAnimationFrame
3. simulationTick 改用 setTimeout(33ms) 轮询
4. render() 添加 Canvas 节点未就绪时的重试逻辑(最多5次)
5. renderLegacy() 完整迁移 Canvas 2D API(ctx.strokeStyle/ctx.fillStyle/
ctx.lineWidth/ctx.font/ctx.textAlign/ctx.textBaseline 直接赋值)
6. 新增 hexToRgba 辅助函数
v1.0.384 (2026-07-17)
Bug 修复
修复小程序编译错误和完善商品下单流程
添加 getWealthDetail 到 api.js(富维度详情 API)
其他
(微信小程序不支持 ctx.setFont() 等链式调用方法)
2. product-detail.vue: onBuy() 从直接创建订单改为跳转到 checkout 结算页
3. checkout.vue: onSubmit() 添加 addressSnapshot、couponId、discountAmount 参数
- 修复富页面运行时 TypeError: getWealthDetail is not a function
v1.0.383 (2026-07-17)
新功能
将DAN报告上传重构到独立 dan_report_uploads 表
其他
- DanAssessmentController 的 /report/parse-preview 和 /report/confirm 委托给 DanReportUploadService(Phase 4-5)
- dan_assessment_results.source_report_id 关联 dan_report_uploads.id
- dan_assessment_results.analysisStatus 新增字段(待规划师确认分析)
- 迁移95: 历史 dan_assessment_results 数据 ETL 回填到 dan_report_uploads
- 迁移93-94: dan_report_uploads 建表 + 扩展字段 source_report_id/analysisStatus
- schema.sql 同步新建表定义
- 合并远程并行迁移(dan_assessment_executions 等表)
Bug 修复
迁移40 ALTER ENUM前先UPDATE非法role值,避免Data truncated错误
v1.0.382 (2026-07-17)
新功能
add DAN report to JSON extraction script (extract_dan_to_json.py)
v1.0.381 (2026-07-17)
重构
扁平化营养师/管家入驻申请页面结构 + 统一import路径为@别名
其他
新功能
富维度页面添加TabTransition动画 + 用户卡片重构
心维度页面集成家庭天盘模块 + 心理报告上传功能
新增天盘周报PDF导出,移除富沛能量模块
Bug 修复
FamilyTianpanCard 修复多余闭合括号导致编译失败 + Canvas动画改用setTimeout兼容小程序
v1.0.380 (2026-07-17)
文档
更新菌群报告设计 — 仅展示个性化数据+知识库弹框+异常颜色箭头
v1.0.379 (2026-07-17)
文档
update v5 export script, add knowledge base directory
v1.0.378 (2026-07-17)
文档
重构
其他
- 后端:Swagger @Tag /@Operation 注解、DTO校验消息、entity字段注释、service javadoc
- 数据库schema.sql:表注释、列注释
- 测试文件:测试数据fixture名称
- 会员档位选择(membership/upgrade.vue)→'档位选择'避免与任务模板混淆
- 测评类型'bundle'标签:'套餐'→'组合'(与任务模板区分)
- 未改动:API URL路径、Java类名、数据库表/列名、CSS类名
- 验证:mvn clean compile通过 + npm run build通过
v1.0.377 (2026-07-17)
Bug 修复
SKU specs Map正确序列化为JSON + 审核中心滚动容器统一
v1.0.376 (2026-07-16)
文档
v1.0.375 (2026-07-16)
Bug 修复
修复身页面编译错误 - 商品组件导入路径和天盘卡片语法
body page radar chart display issue
entire chain: dimension data -> score validation -> canvas render -> visual display
其他
- 原路径从 components/ 目录向上两级会超出项目根目录
- 正确路径应为 ../utils/api.js (从 components/ 到项目根目录再到 utils/)
2. FamilyTianpanCard.vue: 修复 methods 对象后缺少逗号
- 在 export default 对象中,methods 属性后需要逗号分隔
- 缺少逗号导致 Vue 编译器报 'Unexpected token' 错误
3. body/index.vue: 确保 DimensionProductList 组件正确注册
Co-authored-by: openhands openhands@all-hands.dev
Revert unnecessary large files, keep only radar chart fix
Changes:
1. Add _safeScore utility in RadarChart.vue - normalize null/NaN scores to 0
2. Update _startAnimation, _drawScoreArea, _drawVertices, _drawScoreText to use _safeScore processing
3. Add retry initialization for Canvas render in RadarChart.vue - retry up to 5 times within 60ms intervals
4. Modify body/index.vue template - replace inline :dimensions/:scores with computed radarDimensions/radarScores (respecting AGENTS.md non-method-call constraint)
5. Handle null scores in computed radarScores - reject null/NaN to 0, maintaining functional correctness
Verification:
- LSP diagnostics check completed
- Resolver scripts completion
Co-authored-by: openhands openhands@all-hands.dev
- 基于主导五行智能生成个性化行为建议
- 优化布局:区分颜色、对齐与留白
- 响应式设计:适应不同屏幕尺寸
- 文案结构化:不同五行对应不同宜忌行为模式
- 提供周趋势图、月度日历、历史周报三种视图模式
- 实现 Canvas 五行罗盘和运势趋势线图绘制
- 集成菜单切换功能
- 支持 PDF 周报导出功能占位
- 优化 UI 交互:响应式布局、动画过渡、色彩搭配
- 增强 FortuneService 实现基于干支五行的吉位算法
- 更新 MindFortuneController 返回完整数据格式
- 添加专业五行生克关系判断逻辑
- 提供更丰富的运势描述和心情表达
- 计算复杂:基于家庭五行+日期干支确定最吉方位
- 添加 getFamilyFortune API 函数到 utils/api.js
- 优先使用后端返回的数据,兼容模式使用前端算法
- 调整 FamilyTianpanCard 组件的数据绑定逻辑
新功能
为天盘卡片添加今日宜忌提示
实现天盘详情页展示周/月趋势
实现五行吉位算法
对接后端接口为家庭天盘提供动态数据
v1.0.374 (2026-07-16)
新功能
首次登录跳过角色选择直接进入信息补充页(默认parent)+ 地址四级选择器
其他
- user-edit.vue: autoParent 模式下默认 parent,嵌入 AddressPicker 四级地址组件
- UpdateUserDTO + UserController + UserService: 扩展 address 字段支持
- schema.sql: users 表同步 address 列
v1.0.373 (2026-07-16)
文档
add extracted JSON reports for 5 test PDFs
refactor to single-PDF-in structured JSON mode + add phylum/disease bacteria tables
cleanup old scripts and temporary CSV artifacts
其他
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- PHYLUM_TABLE_TITLES + _parse_phylum_tables() for phylum-level extraction
- DISEASE_BACTERIA_TITLES + _parse_disease_bacteria() for obesity/constipation/depression etc.
- main() now takes PDF path as arg, outputs same-name .json file
- Fallthrough terminator extended, CSV output covers all new table types
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
v1.0.372 (2026-07-16)
Bug 修复
v1.0.371 (2026-07-16)
新功能
其他
- 小程序: 新增 pages/nutritionist/apply 营养师入驻页面
- 小程序: 新增 pages/butler/apply 管家入驻页面
- pages.json: 注册 nutritionist/butler 两个子包
- api.js: 新增 nutritionistApply/nutritionistStatus/butlerApply 函数
v1.0.370 (2026-07-16)
Bug 修复
ArticleManage分页onPageChange未接收页码参数; 增加每页条数选择器
v1.0.369 (2026-07-16)
文档
add bacteria composition tables extraction (core genus/probiotics/harmful/pathogens) for triplet format
其他
新功能
文章/套餐审核添加详情弹窗、驳回原因显示、批量通过/驳回
v1.0.368 (2026-07-16)
Bug 修复
活动列表滚动容器统一用overflow:auto消除分页导致的宽度抖动
v1.0.367 (2026-07-16)
文档
fix JSON triplet whitelist filtering + name/age/gender regex + vitamin B1/B12 overlap bug
其他
v1.0.366 (2026-07-16)
文档
fix 朱 food table extraction (compressed detection + ref lookup) + regenerate CSV
其他
v1.0.365 (2026-07-16)
文档
fix neurotransmitter dedup + regenerate all CSV with corrected data
其他
v1.0.364 (2026-07-16)
新功能
v1.0.363 (2026-07-16)
Bug 修复
活动管理列表横向滚动 + 查询条件间距调大
PackageAudit getPackageList/reviewPackage函数缺失修复; 修复后端reject用params传递reason
v1.0.362 (2026-07-16)
Bug 修复
ActivityReview overflow-x:auto 修复横向滚动
v1.0.361 (2026-07-16)
Bug 修复
showDialog处理object规格+update移除productId避免400
v1.0.360 (2026-07-16)
Bug 修复
approveGuide 中 username 字段为 null 时使用 teacher_{userId} 兜底; fix(web): ArticleAudit 接口名/参数修正 + GuideAudit 分页
创建规划师admin时phone为null导致username为空
v1.0.359 (2026-07-16)
文档
fix inline extraction for vitamins/barrier/pathogens + add disease risk known names and amino acid merge
其他
v1.0.358 (2026-07-16)
新功能
其他
AdminController添加营养师审核3端点(applications/approve/reject),
ReviewCenterController增加nutritionistPending统计,
DatabaseInitializer迁移91,schema.sql同步
前端: NutritionistAudit.vue组件, ReviewCenter.vue添加营养师Tab,
admin.js添加营养师审核API函数
v1.0.357 (2026-07-16)
文档
add PDF extraction scripts (v4 + v5 with JSON mode)
其他
v1.0.356 (2026-07-16)
Bug 修复
ProductSkuDTO 适配 specs 字段 String→Object 变更
sku.getSpecs() 返回非String类型时类型转换保护
normalizeSpecsToJson 参数类型改为 Object 适配 specs 字段变更
审核中心10个页面添加横向滚动+filter-bar美化
修复规划师审核列表数据显示问题
新功能
添加 api_endpoint/api_key 字段; fix(sku): specs 字段类型改为 Object 支持JSON数组
其他
正确处理 res.data.records 映射;优化样式布局
v1.0.355 (2026-07-16)
Bug 修复
ProductSku create() sku_code NOT NULL 缺失自动生成默认值
其他
- ProductSkuService.create() 在 skuCode 为 null/空时自动生成:
'SKU-{productId}-{timestamp}'
v1.0.354 (2026-07-16)
新功能
推广/佣金配置控制器 + rebate_commission_config表; fix(promotion): 改用sysConfigService.getValue; feat(schema): 同步rebate_commission_config表
v1.0.353 (2026-07-16)
新功能
活动工作流缺失端点 + 电商供应商管理CRUD; feat(schema): 同步ecom_supplier表
Bug 修复
SupplyHierarchy change-requests systemId 改为可选 + ((Number)→Long.valueOf) 解析修复
其他
- Service.getChangeRequests: 仅在 systemId != null 时加入 where 条件
- 全 Controller 20 处 ((Number) ...).longValue() → Long.valueOf(... .toString()) 防 String/Integer 类型解析异常
v1.0.352 (2026-07-16)
测试
add unified-audit-center, guide-family-list, and vendor-product-manage E2E tests
v1.0.350 (2026-07-15)
新功能
健康打卡 exercise/sleep/water 三个控制器; fix(web): growth-task路径修正
Bug 修复
v1.0.349 (2026-07-15)
Bug 修复
ProductAudit 兼容 records 分页格式
修正7个小程序API路径错误(article/supplier/messages/upload/families)
v1.0.348 (2026-07-15)
新功能
其他
- 新增所属维度筛选(身/心/智/行/富)
- 新增审核状态筛选(待审核/已通过/已拒绝)
- 优化搜索框占位符文字
样式优化:
- 重构 header 布局为 flexbox,支持响应式换行
- 统一搜索框和按钮样式
- 增加 header-search 类控制搜索框宽度
- 优化操作按钮间距和对齐
其他改进:
- 默认分页大小从 10 改为 20
- 查询按钮显式触发搜索
v1.0.347 (2026-07-15)
其他
- 4 Java 文件: entity/EducationSystem, mapper/EducationSystemMapper, service/EducationSystemService, controller/admin/EducationSystemController
- Vue 页面: admin/EducationSystems.vue
- admin.js: 5 个 education-systems API 封装
顺手清理相关遗留:
- DatabaseInitializer:
* 删除 modifyColumnToText('education_systems', 'description') 迁移 (表没了)
* 删除 runMigration92() (整个迁移不入群, 改为 university+education_system 列在 Guide 未被消费)
- entity/Guide.java: 删除 university + eduSystem 字段
* 顺带删除 schema.sql 中 guides 表的 university + education_system 列定义
- schema.sql: 删除 CREATE TABLE/INSERT FOR education_systems
- Layout.vue: 删除教育体系菜单项 + submenu 项
- router/index.js: 删除 education-systems 路由
验证: mvn compile 通过, 全项目无 EducationSystem 残留引用
v1.0.347 (2026-07-15)
Bug 修复
新功能
统一审核中心 - ReviewCenter.vue + 10子组件 + 后端summary接口
v1.0.344 (2026-07-15)
Bug 修复
其他
与后端 FamilyUserController 路径匹配
新功能
添加 family_member_logs 表(家庭成员变更日志)
家庭关系管理系统补齐 (relationship type extension + contact-to-member upgrade + family_member_logs + relation graph shapes)
v1.0.343 (2026-07-15)
新功能
其他
- SupplySystemService 添加 getByAdminId() 方法
- SupplySystemController 添加 /my-system 端点
- AdminProductController.list() 支持 distributionSystemId 过滤
- 新增 SupplierProductController 提供供应商商品 CRUD
前端:
- 新增 SupplierProductManage.vue 页面
- 新增 supplier product API 函数
- 添加路由和侧边栏菜单
- ProductEdit.vue 增强供应商管理员支持(自动锁定体系选择)
v1.0.342 (2026-07-15)
Bug 修复
SupplySettlementService/Controller ((Number)→.toString()) 修复ClassCastException
v1.0.341 (2026-07-15)
Bug 修复
ProductService 添加 getById 方法,SupplierProductController 编译错误
v1.0.340 (2026-07-15)
Bug 修复
v1.0.339 (2026-07-15)
新功能
v1.0.338 (2026-07-15)
Bug 修复
schema.sql 同步补充 79 张缺失表的 CREATE TABLE 定义
其他
- 37 张表: 从 DatabaseInitializer.runMigration* 提取 CREATE TABLE 语句
- 42 张表: 从 entity @TableField /pojo 字段反向生成 CREATE TABLE
- 验证: 无重复表名, mvn clean compile 通过
- cfc-frontend/utils/api.js: 新增6个家庭收益API函数
- cfc-frontend/pages/promotion/index.vue: 重设计(家庭数据卡片+成员贡献榜+管理员面板+孩子只读+支付预留)
P4: 管理后台家庭收益管理
- cfc-backend: 新增 AdminEarningsController (3个管理端点)
- cfc-web/src/api/admin.js: 新增家庭收益管理API
- cfc-web/src/router/index.js: 新增两个路由
- cfc-web/src/views/admin/FamilyEarnings.vue: 家庭收益列表+详情弹窗
- cfc-web/src/views/admin/FamilyEarningsWithdraw.vue: 家庭收益流水查看
新功能
v1.0.337 (2026-07-15)
测试
update ISSUE-TRACKING v15 — remote sync analysis + E2E results + pending test additions
Bug 修复
add dimension_weights column to products table (migration 89)
v1.0.336 (2026-07-15)
测试
fix E2E route paths per pages.json + update ISSUE-TRACKING with v14 findings
v1.0.335 (2026-07-15)
新功能
其他
- 在 pages/mind/index.vue 嵌入家庭天盘模块
- 使用火元素配色 (#FF6B9D) 和 Claymorphism 卡片风格
- 添加占位数据逻辑,准备对接后端接口
- 微信小程序兼容:无可选链、无 CSS Grid、flexbox 布局
v1.0.334 (2026-07-15)
新功能
add models field and agnes-2.5-flash model
其他
- Update SupplySystem entity with models field
- Sync schema.sql
- Fix duplicate familyId field in CommissionRecord.java
- Create Agnes AI supplier with agnes-image-2.0-flash + agnes-2.5-flash
Bug 修复
DatabaseInitializer 显式声明 Logger 替代 @Slf4j 注解,避免 Lombok 处理异常
v1.0.333 (2026-07-15)
Bug 修复
add dimension_weights column to activities table (migration 88)
v1.0.332 (2026-07-15)
Bug 修复
CommissionRecord 添加 family_id 字段 + CommissionService createCommissionRecord 集成 familyId
v1.0.331 (2026-07-15)
Bug 修复
CommissionService 编译错误 - 补充 familyId 字段和 L2 调用参数
v1.0.329 (2026-07-14)
文档
其他
新功能
创建身/心/智/行四个维度专属内容组件
member-detail 维度专属内容动态组件插槽
v1.0.328 (2026-07-14)
Bug 修复
v1.0.327 (2026-07-14)
Bug 修复
后端稳定性 — catch块日志/空值处理/PostMapping统一/管家stub
其他
v1.0.325 (2026-07-14)
Bug 修复
金融安全修复 — payment绕过/验证码stub/积分兑换/教师端点/类型转换
新功能
add cfc-web butler admin UI + ButlerCommissionService + scheduled settlement
v1.0.324 (2026-07-14)
Bug 修复
迁移87: articles表添加content_type/difficulty_level/dimension_ids/dimension_weights字段
v1.0.323 (2026-07-14)
新功能
add AdminButlerController + ButlerServiceRecord/CommissionSettlement entities
Bug 修复
迁移86: product_orders表添加purchase_info字段(OrderTimeoutCancelTask)
其他
注册ButlerController bean起别名,解决多个ButlerController项目启动报错问题
v1.0.322 (2026-07-14)
Bug 修复
调整 pages/profile/index 在 tabBar 中的位置并移除 customTabBar 配置
同步 pages/wealth/index 路径与远程一致
修复 Recipes.vue el-dialog 开始标签丢失
v1.0.321 (2026-07-14)
新功能
按中版本分文件存储 changelog,CHANGELOG.md 作为索引页显示最新版本
v1.0.320 (2026-07-14)
新功能
skip version bump if only chore/engineering commits
Bug 修复
missing SubscriptionBenefitLog import + column comparison in ButlerService
v1.0.319 (2026-07-14)
v1.0.318 (2026-07-14)
Bug 修复
remove extra closing braces at end of DatabaseInitializer
v1.0.317 (2026-07-14)
v1.0.316 (2026-07-14)
新功能
butler 管家服务 - 申请/档案/分配 + DB迁移
其他
- ButlerService: 管家核心业务逻辑
- ButlerProfile: 管家档案实体
- SubscriptionBenefitLogService: 订阅权益日志
- DatabaseInitializer: butler_assignments 表迁移
- MemberSubscriptionService: 订阅关联修改
-
v1.0.315 (2026-07-14)
v1.0.314 (2026-07-14)
测试
add E2E tests for DAN report, flora microbiome, and AI plan-task flows + fix playwright.config.js baseURL
Bug 修复
修复 pages.json tabBar 富页面注册缺失 + 维度权重前端修改
新功能
add dan_reports - assessment reports and processing scripts
肠道菌群报告详情页 + 上传日期评分优化 + 身页面重构 + 首页角色分流
v1.0.313 (2026-07-14)
v1.0.312 (2026-07-14)
新功能
add butler entities + migration + schema
v1.0.311 (2026-07-14)
v1.0.310 (2026-07-14)
Bug 修复
resolve merge conflicts in package.json, CHANGELOG.md, .last_build_commit
v1.0.308 (2026-07-14)
v1.0.307 (2026-07-14)
Bug 修复
add missing closing brace for export default in Detail.vue — fixes build error
v1.0.301 (2026-07-14)
其他
merge: integrate remote changes + supply hierarchy management
- cfc-web: supply-hierarchy management (new), supply-system/Detail update
- cfc-frontend: App.vue, invite/join.vue updates
- cfc-web: admin.js API, router updates
-
v1.0.299 (2026-07-14)
Bug 修复
resolve merge conflicts in cfc-web build files
v1.0.298 (2026-07-14)
v1.0.297 (2026-07-14)
v1.0.296 (2026-07-14)
v1.0.294 (2026-07-14)
v1.0.293 (2026-07-14)
Bug 修复
add missing Map import in SupplySystemService
v1.0.292 (2026-07-14)
v1.0.291 (2026-07-14)
新功能
add dan_reports - assessment reports and processing scripts
肠道菌群报告详情页 + 上传日期评分优化 + 身页面重构 + 首页角色分流
v1.0.290 (2026-07-14)
v1.0.289 (2026-07-14)
文档
其他
实施计划: 分 P1~P4 四个阶段,每阶段可独立上线
- P1: 二维码改造(wxacode + env_version 修复 + scene 解析)
- P2: 家庭公共账户(3 张新表 + CommissionService 改造)
- P3: 前端重构(推广中心重设计 + 支付集成)
- P4: 管理后台(家庭收益管理 + 提现审核)
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
-
v1.0.288 (2026-07-14)
v1.0.287 (2026-07-14)
新功能
新增家庭关系联系人组件 FamilyRelationshipSection
v1.0.286 (2026-07-14)
v1.0.285 (2026-07-14)
Bug 修复
二维码分享功能统一收敛 — 新增通用 QR 后端接口 + 修复三处前端 QR 生成
v1.0.284 (2026-07-14)
v1.0.283 (2026-07-14)
Bug 修复
PpointService null date handling + adminList keyword filter; ProductPpointManage effectiveDate→startDate field name fix
v1.0.282 (2026-07-14)
v1.0.281 (2026-07-14)
v1.0.280 (2026-07-13)
v1.0.279 (2026-07-13)
Bug 修复
resolve ambiguous mapping /api/recommend/dimension-products - remove duplicate from RecommendationController
v1.0.278 (2026-07-13)
v1.0.277 (2026-07-13)
Bug 修复
SupplyManageController detail/update/delete robust id parsing
api.js repurchase-reminders GET→POST + click tracking
其他
JSON string rather than a number. Added type-safe parsing that
handles both Number and String id values across the supplier
management endpoints.
Co-authored-by: Sisyphus sisyphus@omo.codes
implementation plan for dimension-products, repurchase-reminders,
scheduled task, and frontend fixes
- 2026-07-13-dan-assessment-phase2-5.md: pending Phase 2-5 plan
referencing assessment-market-plan.md — quota system, dual-channel
reports, plan generation engine, and review→confirm→execute loop
Co-authored-by: Sisyphus sisyphus@omo.codes
@PostMapping convention. DimensionProductList.goProduct() fires
clickRepurchaseReminder() before navigation for repurchase-type
products.
Co-authored-by: Sisyphus sisyphus@omo.codes
RecommendationService.generateDailyRepurchaseReminders() to scan
paid/received orders and generate repurchase reminders based on
repurchase_reminder_config rules (category/reminderDays/maxReminders).
Co-authored-by: Sisyphus sisyphus@omo.codes
- getDimensionProducts() — query product_dimension_mapping by
dimensionCode, join products, filter status=上架/stock>0
- getRepurchaseReminders() — query user's unpurchased reminders
- markRepurchaseClicked() — update clicked=1 on reminder record
- generateDailyRepurchaseReminders() — scan paid/received orders,
apply repurchase_reminder_config rules, insert reminders
Injects ProductDimensionMappingMapper, RepurchaseReminderRecordMapper,
RepurchaseReminderConfigMapper, ProductOrderMapper.
Co-authored-by: Sisyphus sisyphus@omo.codes
RecommendationController adds 3 @PostMapping endpoints:
- /dimension-products — query products by dimension code, sorted by matchScore
- /repurchase-reminders — list user's pending repurchase reminders
- /repurchase-reminder/{id}/click — mark reminder as clicked
Co-authored-by: Sisyphus sisyphus@omo.codes
文档
supplier-system gap-fix plan + DAN Phase 2-5 framework
新功能
RepurchaseReminderScheduledTask runs daily at 2 AM
dimension-product query + repurchase-reminder service logic
add dimension-products + repurchase-reminders endpoints with DTO fields
v1.0.276 (2026-07-13)
v1.0.275 (2026-07-13)
新功能
6个管理端表单页增加保存成功确认对话框(继续添加/关闭)
Bug 修复
添加 dify.callback-secret 配置 + 管理端多页面优化
其他
- cfc-web: 多个管理页面样式和功能优化(ArticleCategory, BaziConfigs, CouponManagement, KnowledgeTag, PackageTemplates, RelationshipTypes, VirtualTeamList, ZodiacConfigs, data-source-config, dimension-config, dimension/index)
- 版本号自动更新
-
v1.0.274 (2026-07-13)
v1.0.273 (2026-07-13)
新功能
AI conversation memory - migration 82 for ai_conversation_summary + ai_user_facts tables
v1.0.272 (2026-07-13)
v1.0.271 (2026-07-13)
文档
其他
v1.0.270 (2026-07-13)
v1.0.269 (2026-07-13)
新功能
CartService.buildCartItemDTO builds specDesc from ProductSku.specs JSON when skuId is present
五行能量配置管理
增强五行雷达图可视化
管理端功能优化
五行相生相克前端展示
AI对话记忆层 - 会话摘要+关键事实+意图感知上下文注入
productSpecMap API + Ppoint API 重构 + 供应商管理员搜索修复
products/cart 表新增 SKU 规格字段
admin/user/search 供应商选管理员接口 + 修复 CircleService 循环依赖
其他
- WuxingConfig.vue: 能量来源比例配置+每日限制概览
- 路由注册 /admin/energy-config
- 数据驱动多边形填充(familyWuxing.aggregatePercentages)
- 百分比标签 + 数据节点圆点
- 中心显示家庭名+最强/最弱元素
- ProductOrderService: SKU价格计算
- Form.vue: 标签更新
- 心理维度子项卡片(仅儿童用户显示)
- 11个新data字段 + 13个CSS状态变体
- loadWealthDetail读取API新字段
- 新增映射器: AiConversationSummaryMapper, AiUserFactMapper
- 新增AiContextService: 7意图路由
- AIService: enrichInputsWithMemory, getContext, requestSummaryAsync
- AIChatController: getContext()端点 + sendMessage注入记忆
- DatabaseInitializer: runMigration81内建表
- schema.sql: 同步两张新表定义
- WebConfig: /api/ai/context加入JWT白名单
- chat.vue: 简化传参(移除reportId/surveyId)
- admin.js: Ppoint API 重命名 (getProductPpointList/saveProductPpoint/deleteProductPpoint/byProduct)
- supply-system/Form.vue: searchUsers 改用 API 函数
- products.sku_spec_names: 规格维度名 JSON
- products.delivery_methods: 配送方式支持
- cart.sku_id: 选中 SKU ID
- cart.spec_option_ids: 规格选项 ID 列表 JSON
- CircleService: 添加 @Lazy 注解打破 CircleService ↔ CircleMatchService 循环依赖
- cfc-web: 新增 ProductPpointManage 积分管理页面,完善供应商体系表单
- cfc-frontend: product-detail 页面更新
Bug 修复
修复DatabaseInitializer编译错误
v1.0.268 (2026-07-13)
v1.0.267 (2026-07-13)
Bug 修复
break circular dependency CircleService↔CircleMatchService with @Lazy
重构
rename FamilyRelationshipSection -> OctopusGraph; fix: health chart shows zeros when no data
重构FamilyRelationGraph为全Canvas force-directed关系图
新功能
其他
v1.0.266 (2026-07-13)
v1.0.265 (2026-07-13)
Bug 修复
resolve playwright.config.js merge conflict - restore baseURL
v1.0.264 (2026-07-13)
v1.0.263 (2026-07-13)
其他
新功能
add article placeholder cards on action home page
DAN报告上传 - 集成到mind/wisdom维度页面
DAN报告上传 - 前端API + report-upload页面
DAN报告上传 - Controller端点 + 维度分数更新
DAN报告上传 - 创建DanReportParseService (A2/B4解析)
DAN报告上传 - 实体字段 + 数据库迁移80
v1.0.262 (2026-07-13)
其他
v1.0.261 (2026-07-13)
v1.0.260 (2026-07-13)
v1.0.259 (2026-07-13)
v1.0.258 (2026-07-13)
新功能
AI对话记忆层 - 会话摘要+关键事实+意图感知上下文注入
其他
- 新增映射器: AiConversationSummaryMapper, AiUserFactMapper
- 新增AiContextService: 7意图路由
- AIService: enrichInputsWithMemory, getContext, requestSummaryAsync
- AIChatController: getContext()端点 + sendMessage注入记忆
- DatabaseInitializer: runMigration81内建表
- schema.sql: 同步两张新表定义
- WebConfig: /api/ai/context加入JWT白名单
- chat.vue: 简化传参(移除reportId/surveyId)
-
v1.0.257 (2026-07-13)
v1.0.256 (2026-07-13)
新功能
productSpecMap API + Ppoint API 重构 + 供应商管理员搜索修复
products/cart 表新增 SKU 规格字段
其他
- admin.js: Ppoint API 重命名 (getProductPpointList/saveProductPpoint/deleteProductPpoint/byProduct)
- supply-system/Form.vue: searchUsers 改用 API 函数
- products.sku_spec_names: 规格维度名 JSON
- products.delivery_methods: 配送方式支持
- cart.sku_id: 选中 SKU ID
- cart.spec_option_ids: 规格选项 ID 列表 JSON
-
v1.0.255 (2026-07-13)
v1.0.254 (2026-07-13)
v1.0.253 (2026-07-13)
v1.0.252 (2026-07-13)
新功能
admin/user/search 供应商选管理员接口 + 修复 CircleService 循环依赖
其他
- CircleService: 添加 @Lazy 注解打破 CircleService ↔ CircleMatchService 循环依赖
- cfc-web: 新增 ProductPpointManage 积分管理页面,完善供应商体系表单
- cfc-frontend: product-detail 页面更新
-
v1.0.251 (2026-07-13)
Bug 修复
ProductController spec map JSON.parseArray type inference for Java 8
新功能
维度页面缺口修补(Phase1) + 圈子系统(Phase2)
其他
- 身: 健康打卡入口(HealthCheckinCard) + body/index.vue
- 智: 阅读时长展示(wisdom/index.vue reading stats)
- 心: 天盘相性入门版(已有完整天盘/兼容性模块)
- EnergyService: 心子维度(情绪稳定/理解包容/传承传递) + 五行克生算法v2.0
- MemberEnergyDTO: 心子维度字段
- ProductController: spec/map 规格映射接口
Phase2 珍珠图/圈子系统:
- 后端: SocialCircle/SocialCircleMember实体+Mapper
- 后端: CircleService CRUD + CircleMatchService匹配引擎
- 后端: CircleController API + DatabaseInitializer迁移85 + schema.sql
- 前端: PearlDiagram.vue 珍珠图横向滚动
- 前端: CircleCard.vue 圈子卡片组件
- 前端: CircleDetail.vue 圈子详情弹窗
- 前端: action/index.vue 集成PearlDiagram + CircleDetail
- 前端: api.js 圈子API函数
-
v1.0.250 (2026-07-13)
新功能
商品推荐 Phase 3-5 — FamilyContextService Dify输入 + AIChatController userId + 复购提醒
电商 + 推荐系统 + 阅读统计 综合升级
其他
- FamilyContextService: 新增3个Dify inputs (dimensionScores/recentCognitiveResult/purchasedProductTags) + 3私有辅助方法
- AIChatController: RecommendationQuery传入userId和familyId用于已购过滤
Phase 4 (P1):
- AssessmentService已有异步hook: DanAssessmentResult parent_upload 触发认知弱维度商品推荐
Phase 5 (P2):
- RepurchaseReminderService: @Scheduled 每日09:00扫描30-60天订单创建复购提醒 + getPendingReminders/onReminderClicked/onReminderPurchased
- RepurchaseReminderController: GET list + POST click/purchased 3个端点
- RepurchaseReminder.vue: 前端待处理复购提醒组件
- wisdom/index.vue: 阅读时长条件从 !== undefined 改为 > 0
- cart: 支持 SKU 选择 (sku_id, spec_option_ids), 字段扩展 (skuId, specDesc, supplierName)
- DatabaseInitializer: 迁移84 — cart 表 sku_id, spec_option_ids 列
- OrderItemVO: 新增 skuId, specOptionIds
- ProductDTO: 新增 effectivePpoint, ppointSource, profitRate
- CartService: addToCart 接收 skuId, 回填 supplierName 从 vendorName
### P点管理
- PpointService: adminList() 管理端分页列表
- AdminProductPpointController: 新增管理端 P点配置控制器
### 商品推荐系统
- ProductRecommendationService: 维度匹配引擎 (dimensionScore 排序 + 90天过滤 + 购买历史排除)
- ProductRecommendationController: POST /api/recommend/dimension-products
- 5维页面 (wisdom/body/mind/action/wealth): DimensionProductList 替换 DimensionProducts
### 健康打卡
- HealthCheckinCard.vue: 新增健康打卡卡片组件
- body/index.vue: 集成 HealthCheckinCard
### 智慧维度
- wisdom/index.vue: 本月阅读卡片 + 阅读统计 API 接入
### 文档
- 五维能量设计: 更新 v2.1 富维度子维度算法 + 身克富杠杆文档
- 五维五行哲学: 补充富子维度表 + 身克富三态公式
Bug 修复
CartService 回填 skuId + wisdom 阅读统计条件优化
v1.0.249 (2026-07-13)
文档
ISSUE-012~015 family member fixes tracking
其他
Bug 修复
restore family member menu + auto-derive generationLevel + add birth/preference form fields
新功能
wire FamilyMember birth fields + User hobbies/dietPreferences + profile history through service/controller/migration
UserProfileHistory entity + mapper + schema.sql for tracking profile changes
add hobbies + dietPreferences to User entity + UpdateUserDTO
add birthHour/birthWeight/birthPlace/isCesarean to FamilyMember entity + DTO
v1.0.248 (2026-07-12)
v1.0.247 (2026-07-12)
新功能
商品推荐维度映射 + 复购提醒 + 供应商/规格迁移补全
电商体系升级 — 供应商/规格/推荐日志 + 五维能量富维度详情 + 产品推荐
其他
- 迁移80: 创建 product_dimension_mapping 表 + 索引
- 迁移81: products 表添加 recommendation_tags/purchase_count_threshold/repurchase_interval_days
- 迁移82: 创建 repurchase_reminder_record 表
- 迁移83: 创建 repurchase_reminder_config 表
- 新增 ProductDimensionMapping/RepurchaseReminderConfig/RepurchaseReminderRecord 实体+Mapper
- schema.sql 同步新表DDL
- 小程序: DimensionProductList 组件 + api.js 推荐/复购接口
- 修复 RecommendationQuery DTO
- 新增 Supplier/ProductSpecGroup/ProductSpecOption/ProductSupplier/OrderItemSku 实体+Mapper+Service+Controller
- 新增 ProductRecommendationLog 实体+Mapper(推荐记录打点)
- EnergyController: /wealth-detail 富维度详情接口
- EnergyService: 身克富杠杆逻辑 + calcParentWealth 传参修复
- AssessmentService + HealthAnalysisService: 推荐系统相关逻辑
- schema.sql: 同步新表DDL
- 小程序: 商品详情页规格选择器; 购物车/结算页展示SKU与供应商; 富维度页重构; 个人主页新增
- 管理端: EcomSupplierManage.vue 供应商CRUD页面 + admin.js API + 路由
- 前端 api.js: 新增供应商/规格/推荐相关接口
-
v1.0.246 (2026-07-12)
v1.0.245 (2026-07-12)
文档
其他
- 新增 2026-07-12-wuxing-ke-full-design.md(五克完整设计)
- 新增 2026-07-12-wuxing-homepage-and-conversion-algorithm.md(首页+转化算法)
- 新增 2026-07-12-dimension-pages-gap-fix.md(分阶段实施计划)
- 更新 2026-06-08-five-dimension-wuxing-philosophy.md(克哲学对齐新理解)
-
v1.0.244 (2026-07-12)
v1.0.243 (2026-07-12)
Bug 修复
其他
- ISSUE-008: 中止退款后订单状态未恢复 — cancelPendingRefund增加ProductOrder状态回滚
- ISSUE-009: 订单管理搜索条件增强 — 后端支持keyword+日期范围 + 前端增加日期选择器和搜索按钮
- ISSUE-010: Dashboard缺失退款审核计数 — StatsController增加pendingRefundCount + Dashboard新增卡片
- ISSUE-011: 退款余额不足提示优化 — approveRefund返回明确提示 + 前端使用后端message
-
v1.0.242 (2026-07-12)
v1.0.241 (2026-07-12)
文档
重构
删除 UserQuickEntry 组件及全站引用
其他
- 移除 wisdom/mind/body 三个页面中的 import、components 注册、模板使用
- 清理 body/index.vue 中的残留注释
-
v1.0.240 (2026-07-12)
v1.0.239 (2026-07-12)
新功能
clean dimension tabs + styled action articles
其他
- action 统一化:补 @manage ="goFamilyMembers" + goFamilyMembers method
- action 推荐阅读 -> 独立 ActionArticleRecommend 组件,行绿色调卡片造型
- 移除未用导入 getContactList/getHealthAlerts/getMilestones
-
v1.0.238 (2026-07-12)
v1.0.237 (2026-07-12)
文档
添加富维度体系重设计划(子维度拆分+身克富杠杆+小程序富页)
v1.0.236 (2026-07-12)
v1.0.235 (2026-07-12)
Bug 修复
拆分 v-if 条件提高可读性
ArticleManage table 添加 max-height 防止溢出
修复前后端数据流5个关键bug
其他
- daily-fortune.vue: 请求载荷添加 familyId
- related-items.vue: 请求载荷从 {} 改为 { familyId, daysAhead: 7 }
- relation-detail.vue: 传参从 { familyId, memberId } 改为 { member1Id, member2Id }
- TianpanController: 兼容性接口从参数读取 memberType (不再硬编码 child)
-
v1.0.234 (2026-07-12)
v1.0.233 (2026-07-12)
Bug 修复
待退款队列可见性 + 退款到帐中状态 + 防重复审核
其他
- ProductOrder实体: refundStatus注释补充 4=退款到帐中
- PendingRefund实体: status注释补充 cancelled(已中止)
- AdminCommissionController + PendingRefundService: getAllPendingRefunds 支持 orderType 过滤
- OrderManage.vue: 新增 refund_pending 状态(退款到帐中)文案/样式/筛选选项,隐藏退款审核按钮
- PendingRefund.vue: loadList 传 orderType 到后端
- router/index.js: 注册 pending-refund 路由
- Layout.vue: 商城营销菜单加'待退款管理'入口
-
v1.0.232 (2026-07-11)
v1.0.231 (2026-07-11)
Bug 修复
body index simplify childId checks use || '' fallback
v1.0.230 (2026-07-11)
v1.0.229 (2026-07-11)
Bug 修复
FamilyRelationGraph 修复单成员家庭显示重复的问题
其他
避免 selfId 不匹配时 same member 同时出现在 selfMember 和 otherMembers 中
-
v1.0.228 (2026-07-11)
v1.0.227 (2026-07-11)
重构
remove FamilyRelationshipSection (重要关系组件) from body/mind/wisdom pages, keep unified FamilyRelationGraph
v1.0.226 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.225 (2026-07-11)
工程化
rebase merge from remote cfclub
v1.0.224 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.223 (2026-07-11)
新功能
TianpanService 引入缓存逻辑 - DB持久化每日运势和年度能量
其他
- 新增 TianpanDailyFortuneMapper/TianpanMemberAnnualEnergyMapper
- buildDailyFortune: cache-aside 模式,优先读 DB 无则计算写入
- buildAnnualEnergy: cache-aside 模式,按 member+year 缓存年度能量
- schema.sql 同步两表 DDL
Bug 修复
补充迁移79(pending_refund.order_type/order_no) + 修复TianpanDailyFortune import
v1.0.222 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.221 (2026-07-11)
新功能
产品订单退款系统 - 余额不足待退款队列、管理员中止、提现/商品双路退款
其他
- PendingRefundService新增overloaded createPendingRefund、cancelPendingRefund、移除markFailed最大重试限制
- ProductOrderService在approveRefund中拦截NOT_ENOUGH余额不足异常,自动加入待退款队列
- RefundScheduledTasks新增processProductRefund按orderType路由提现/商品退款
- AdminCommissionController新增POST /refunds/cancel管理员中止接口
- schema.sql和DatabaseInitializer迁移78同步order_type/order_no列
- cfc-web新增PendingRefund.vue管理页面和admin.js API函数
-
v1.0.220 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.219 (2026-07-11)
Bug 修复
add missing FamilyRelationGraph to mind page
v1.0.218 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.217 (2026-07-11)
新功能
家庭天盘完整功能 - 核心服务+控制器+DTO+前端页面
其他
- TianpanController: REST API端点(/api/tianpan/*)
- DTOs: TianpanMemberVO/TianpanDashboardVO/DailyFortuneVO/MemberAnnualEnergyVO/RelatedItemsVO/RelationshipVO
- TaskService: 新增getPendingTasksByFamily
- AssessmentOrderService: 新增getPendingOrdersByFamily
- ZodiacAnnualEnergyService: 新增getWesternSign公开方法
- WebConfig: 添加cf-club.iwintrue.com CORS
- 前端: 天盘6页面 + store模块 + routes/API配置
-
v1.0.216 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.215 (2026-07-11)
重构
remove relationship components from body/mind/wisdom pages
v1.0.214 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.213 (2026-07-11)
新功能
退款队列系统 - 待退款自动重试
确定性差距修复 - P0全部 + P1部分 + P2/P3核心完成
其他
- WithdrawalService.audit() 审核通过时余额不足自动创建待退款记录
- RefundScheduledTasks 每5分钟执行,FIFO处理待退款队列,指数退避重试
- 新增 Admin API: /api/admin/commission/refunds/pending (列表+状态过滤+分页)
- 新增 Admin API: /api/admin/commission/refunds/summary (待退款总金额统计)
- 修复 TianpanDashboardVO 缺失 import
P0: G7(FamilyAccessInterceptor), G1(五维能量分数持久化), G18(测评对比)
P1: G8(视角切换+密码校验), G9(邀请码过期/次数/吊销), G2(results_ready联动)
新增: G10(规划师绑定家庭审批), G13(地址SFMS导入骨架), G14(Dify会话本地镜像)
P2: G23(schema_versions迁移表), G25(schema.sql新表补齐),
G3(测评报告结构化 structured_analysis), G26(test-mode启动断言)
P3: G4(死字段标记deprecated), G27(sfms只读强制)
新增文件: TeacherFamilyBindingController/Service/Mapper/Entity,
ChatConversation, ChatMessage, ChatMirrorService,
SchemaVersion, PendingRefund服务(提现退款处理)
预留未完成(工作量过大): G15(饮食推荐规则层), G21(PDF多供应商), G22(前端mock)
-
v1.0.212 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.211 (2026-07-11)
Bug 修复
v1.0.210 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.209 (2026-07-11)
新功能
Bug 修复
修复E2E-TEST-SCENARIOS.md section12编码乱码
鏇存柊 playwright 閰嶇疆 + 鏂板娴嬭瘯鏂囦欢 (consignee/health-report/teacher-dashboard/publish-dimension-articles)
v1.0.207 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.206 (2026-07-11)
Bug 修复
add updateTier(Long, String, String) overload to match call in PromotionTierEvalService
新功能
enhance PpointService with save/delete/query methods and English javadoc
其他
工程化
auto bump version and changelog [skip ci]
v1.0.205 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.204 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.203 (2026-07-11)
工程化
auto bump version and changelog [skip ci]
v1.0.202 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.201 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.200 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.199 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.198 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.197 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.196 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.195 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.194 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.193 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.192 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.191 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.190 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.189 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.188 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.187 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.186 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.185 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.184 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.183 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.182 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.181 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.180 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.179 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.178 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.177 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.176 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.175 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.174 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.173 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.172 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.171 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.170 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.169 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.168 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.167 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.166 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.165 (2026-07-10)
重构
merge health actions into quick-action bar, remove separate report/nutrition sections
工程化
auto bump version and changelog [skip ci]
v1.0.164 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.163 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.162 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.161 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.160 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.159 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.158 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.157 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.156 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.155 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.154 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.153 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.152 (2026-07-10)
新功能
add PromotionTierEvalService and daily scheduled task for tier check
promotion tier system, teacher message unread badge, FamilyEnergyBar collapse
integrate promotion tier scaling into commission settlement + DB migration
add PromotionTierConfig entity/mapper for configurable promotion tiers
其他
Bug 修复
v1.0.151 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.150 (2026-07-10)
Bug 修复
身/心维度页推荐文章添加dimensionCode过滤
其他
遗漏了 dimensionCode 参数,导致推荐文章未按维度过滤。
智/行维度页已有正确过滤,对齐处理。
-
v1.0.149 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.148 (2026-07-10)
新功能
其他
- G7: FamilyAccessInterceptor familyId 入参校验
- G1: 五维能量分数持久化 (five_dimension_scores)
- G18: 首次vs最新测评对比端点
- G8: 视角切换统一 + 密码校验
- G9: 邀请码过期/次数/吊销
- G2: 测评订单 results_ready 联动
- G13: 地址数据库导入骨架
-
v1.0.146 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.145 (2026-07-10)
Bug 修复
修复退款失败 - package_orders表缺少user_coupon_id列
其他
- schema.sql: package_orders建表语句同步添加user_coupon_id列
-
v1.0.143 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.142 (2026-07-10)
Bug 修复
add missing PpointService for CommissionService compilation
新功能
其他
- 创建缺失的 PpointService (被 CommissionService 引用)
- 修复 FamilyAccessInterceptor 两处编译错误
- 添加缺失 @Component import
- HandlerMapping.PATH_VARIABLES_ATTR → 字符串字面量
- MemberSubscriptionService 实现 P-point 消费返利
- subscribe/renew 时 L1 推荐人获消费返利 (L1=20%, L2=40%)
- DatabaseInitializer 添加迁移69: promotion_tier_config 表 + R0-R4 种子数据
New files:
- PpointService.java
- FamilyAccessInterceptor.java (家庭数据访问安全拦截器)
- RequestBodyCachingFilter.java (body 缓存供拦截器使用)
- AdminSubscriptionController.java
- FiveDimensionScoreService.java + entity/mapper (五维能量持久化)
工程化
auto bump version and changelog [skip ci]
v1.0.140 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.139 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.136 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.133 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.130 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.129 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.128 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.127 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.126 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.125 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.124 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.123 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.122 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.121 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.120 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.119 (2026-07-10)
Bug 修复
specs字段规范化为合法JSON避免MySQL JSON列报错
其他
将 "颜色:红色;尺码:M" 文本格式转为 {"颜色":"红色","尺码":"M"} JSON
- 前端 ProductSkuEditor handleSave 发送前同样做前端规范化
- 根因: product_skus.specs 列为 MySQL JSON NOT NULL, 前端输入普通文本被拒绝
工程化
auto bump version and changelog [skip ci]
v1.0.118 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.117 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.116 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.115 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.114 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.113 (2026-07-10)
重构
全代码库替换术语 分销→销售 分润→返利 裂变→推荐 分佣→佣金
其他
- 前端小程序(cfc-frontend)会员页用户可见文本
- PPT 生成器脚本及输出(5 个生成器 + 确定性PPT)
- Java 后端 Swagger 描述、错误消息、日志、注释
- SQL schema COMMENT 和段注释
- Web 管理端路由和 API 注释
- 所有设计文档/需求文档/Spec 文档
- 测试文件描述和官网文稿
保留不变:数据库表名/列名、Java 类名/方法名/变量名等技术标识符
- Update imports in guide/plans/detail.vue and guide/plans/index.vue
- Remove AssessmentOrderController and related tests (moved to DanAssessmentController)
- Resolve merge conflicts in cfc-web
Bug 修复
resolve getPlanDetail duplicate declaration and clean up assessment controllers
getTrendStats send {} to avoid axios stringify undefined
v1.0.112 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
Bug 修复
用原生 button @click 替换 el-button 绕过组件事件问题
其他
-
v1.0.111 (2026-07-10)
Bug 修复
knowledge layout — wrap body, add status filter dropdown
v1.0.109 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.108 (2026-07-10)
其他
debug: 添加原生 button 对比测试点击事件
-
v1.0.106 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.105 (2026-07-10)
文档
添加 superpowers 设计文档与确定性修复计划
添加融资计划书演示文稿(PreA/PreA+轮)
融资计划书PPT内容方案更新至 v1.0
其他
v1.0.104 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.103 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.102 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.101 (2026-07-10)
重构
remove login gate from activity/product/article detail pages
其他
Prices visible before/after login. Login only required for booking, placing orders, adding to cart.
-
v1.0.99 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.98 (2026-07-10)
新功能
DAN测评市场转化全链路实现(Phase 1-5)
其他
- AssessmentProduct实体/Mapper/Service/Controller
- 管理端测评商品管理页面 + 规划师端测评商品页
- 测评额度配额管理与扣减服务
- 商品SKU/促销层级/推荐树实体与迁移
Phase 2 - 购买与执行解耦:
- 预约-支付-执行分离流程
- AssessmentQuotaService额度扣减逻辑
- 预约确认/取消/支付回调
- 前端预约页+额度页+上传页
Phase 3 - 报告双通道+结构化指导:
- AssessmentReportController(上传/确认/指导意见)
- GrowthGuidanceService结构化指导意见
- ReportParseService PDF解析
- 家长上传报告+规划师录入结果双通道
Phase 4 - 方案生成引擎:
- AssessmentPlanRule规则引擎(维度×分数区间匹配)
- AssessmentPlanGenerator自动方案生成
- AdminPlanRuleController规则CRUD
- 迁移63-66: assessment_plan_rule建表 + TaskPlanInstance扩展字段
- 管理端方案规则配置页 + 方案管理看板
Phase 5 - 方案审核与执行:
- PlanReviewController(规划师方案列表/审核/激活)
- PlanActivationService激活生成待办任务
- 规划师小程序方案审核页+详情页
- 修复既存asyncDeepParse编译错误
新增: 会员订阅/积分体系/商城商品管理等基础设施
-
v1.0.97 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.96 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
Bug 修复
el-link 点击事件改用 .native 修饰符
其他
-
v1.0.94 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.93 (2026-07-10)
重构
remove reading timer from article detail
其他
v1.0.92 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.91 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
其他
Bug 修复
注册 Element UI Link 组件使变更日志可点击
AdminArticleController 空字串转Long抛NumberFormatException
v1.0.89 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.88 (2026-07-10)
文档
add DAN assessment market transformation plan — full 5-phase design
v1.0.87 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.86 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
其他
Bug 修复
v1.0.84 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.83 (2026-07-10)
新功能
tongue diagnosis as health report type
其他
- report-confirm.vue: add tongue indicators card, route confirm to confirmTongue
- report-list.vue: add tongue badge display
- body/index.vue: redirect tongue entry to report-upload?reportType=tongue
- tongue-index.vue: deprecate — redirect to new report flow
- api.js: parseReportPreview accepts optional type param
-
v1.0.82 (2026-07-10)
工程化
auto bump version and changelog [skip ci]
v1.0.81 (2026-07-10)
新功能
AI管家会话管理 - ButlerSession实体/服务/控制器 + 迁移42
统一四个Tab页面的家庭关系卡片组件 + 齿轮图进入成员维护
其他
- 新增 ButlerSessionMapper (MyBatis-Plus)
- 新增 ButlerSessionService (CRUD/归档/上下文管理)
- 新增 ButlerController (/api/ai/butler/sessions/* 6端点)
- DatabaseInitializer 迁移42: 创建 butler_sessions 表
- schema.sql 同步更新
-
v1.0.80 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.79 (2026-07-09)
新功能
emotion checkin add video capture + enhanced AI simulation
其他
v1.0.78 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.77 (2026-07-09)
文档
一生一世家庭会员设计方案 v1.1 + 双并行实施计划
其他
- 拆分为两个并行实施计划:
Plan 1: 订阅+推广核心(P0+P1, 12-15天)
Plan 2: AI+管家+推荐引擎(P0b+P2+P3, 15-20天)
- Plan 2 通过 Stub/Provider 模式与 Plan 1 解耦,可完全并行开发
-
v1.0.76 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.75 (2026-07-09)
新功能
五维幸福矩阵『身』由『主动健康』更名为『根基永固』
v1.0.74 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.73 (2026-07-09)
新功能
split admin/teacher dashboards, enrich admin with 8 stat cards, ECharts charts, system health panel, 8 quick actions
其他
- Rewrite Dashboard.vue to admin-only (875 lines) with expanded stats
- Add getDashboardOverview() API for /api/stats/overview
- Add ECharts trend chart (user/family growth) and membership pie chart
- Replace system info with enriched health panel (status, version, refresh)
- Expand quick actions from 4 to 8 (4x2 gradient icon grid)
- Register /teacher-dashboard route, update router guard for teacher redirect
- Make sidebar '首页' menu path dynamic based on role
- Update AGENTS.md with new dashboard architecture
-
v1.0.72 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.71 (2026-07-09)
新功能
purchase field config UI + consignee mini-program pages (P2-P3)
v1.0.70 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.69 (2026-07-09)
Bug 修复
convert content-bearing VARCHAR columns to TEXT to prevent Data too long errors
其他
audit_reason, summary, advice, overall_assessment, config_value fields
from VARCHAR(255/500/200) to TEXT across ~40 tables
- Added idempotent modifyColumnToText() migrations in DatabaseInitializer
(~55 ALTER TABLE MODIFY COLUMN calls) for production database sync
- Primary fix: activities.description was the original crash site but
many other columns had the same truncation risk
-
v1.0.68 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.67 (2026-07-09)
Bug 修复
show family relation graph card even with single member
其他
so the card displays for families with only 1 member. the canvas
drawing already guards against drawing lines when < 2 members.
-
v1.0.66 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.65 (2026-07-09)
Bug 修复
connect after-sales request and product order refund flows
其他
admin order management can find refunding orders (was filtering by
order.status='refunding' but after-sales was stored in separate table).
ProductOrderService.approveRefund/rejectRefund now syncs back to
AfterSalesRequest.status so mini-program after-sales list stays in sync.
ProductOrderDTO.from() now carries refund/logistics fields that were
previously omitted, so admin refund dialog shows refund reason.
-
v1.0.64 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.63 (2026-07-09)
Bug 修复
restore DatabaseInitializer encoding and fix ActivityController tests
其他
工程化
auto bump version and changelog [skip ci]
v1.0.62 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.61 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.60 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.59 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.58 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.57 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.56 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.55 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.54 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.53 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.52 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.51 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.50 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.49 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.48 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.47 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.46 (2026-07-09)
Bug 修复
修复 numsoul_config 种子数据语法错误(缺失引号和逗号)
工程化
auto bump version and changelog [skip ci]
v1.0.45 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.44 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.43 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.42 (2026-07-09)
新功能
enhance health reports page and add draft audit UI
其他
Bug 修复
improve health report scoring and add admin report list
工程化
auto bump version and changelog [skip ci]
v1.0.41 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.40 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
其他
sync: merge E2E test stash from cfclub branch (AGENTS.md, package-lock, test report)
测试
fix e2e test runner - mini-games Playwright syntax, admin-panel URL, baseURL
improve E2E test robustness and simplify DAN assessment flow
文档
update E2E test results documentation
Bug 修复
repair playwright baseURL, add test scripts and lockfile
resolve merge conflict in DatabaseInitializer, add mascot to UpdateUserDTO
v1.0.39 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.38 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.37 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.36 (2026-07-09)
工程化
auto bump version and changelog [skip ci]
v1.0.35 (2026-07-09)
新功能
consignee + purchase field module (migration, entity, mapper, service, controller)
add admin activity creation and management features
family members empty state — always show as entry point
其他
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
Ultraworked with Sisyphus
Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
- 添加 → 导航到 /pages/family/add-member
- 邀请 → 打开邀请弹窗
- family-header 在无 familyName 时显示 '我的家庭' 占位
- 筛选后无结果时仍显示 '暂无家长/暂无孩子' 提示
- Unify formatTime to t.replace('T',' ').substring(0,19) pattern
- Replace new Date().toLocaleString() with consistent T-replace in
OrderManage/WithdrawAudit/EmotionAlertManage/ProductManage
- Uses table-scroll-wrap CSS classes (overflow:auto + max-height)
- Inline overflow:auto;max-height style on pages without class wrapper
Bug 修复
add role-based permission checks to activity endpoints
补齐个人信息保存缺失的 idCard/mascot 映射
normalize time format to YYYY-MM-DD HH:mm:ss across admin pages
complete scroll wrapper for all 59 pages with fixed=right columns
工程化
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
v1.0.34 (2026-07-08)
重构
unify admin page styles with global CSS design tokens
merge wechatLogin and wechatPhoneLogin, capture phone from WeChat
其他
工程化
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
auto bump version and changelog [skip ci]
文档
add article system redesign design document
新功能
redesign article-center with search/nav/dimension-param; enhance mind/articles with search and unified detail
unify article entry points to article-center
redesign family-members page with gear entry, detail modal, edit permissions
add /api/family/member/editable endpoint
add FamilyRelationshipService, refactor FamilyMemberService for bidirectional relations
add family_relationships table with entity/mapper/migration
Bug 修复
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)
v1.0.31 (2026-07-08)
Bug 修复
add missing wangEditor Toolbar component to enable rich text editing
add overflow:auto scroll wrapper to all 58 pages with fixed=right columns
其他
- Fix prop name from :config to :defaultConfig (wangEditor Vue2 API)
- Add toolbarConfig for Toolbar component initialization
- Add missing @wangeditor /editor CSS import to ArticleEdit and ActivityEdit
- Add editor CSS styles (rich-editor border, toolbar wrap, text-container min-height)
- All 58 Vue pages with fixed="right" columns now have horizontal scroll container
- Pattern: div wrapper with overflow:auto;max-height:calc(100vh - 300px)
工程化
auto bump version and changelog [skip ci]
v1.0.29 (2026-07-08)
工程化
auto bump version and changelog [skip ci]
v1.0.27 (2026-07-08)
工程化
auto bump version and changelog [skip ci]
v1.0.25 (2026-07-08)
工程化
auto bump version and changelog [skip ci]
v1.0.24 (2026-07-08)
工程化
auto bump version and changelog [skip ci]
Bug 修复
admin UI improvements - action dropdown, scroll, labels, confirm dialogs
其他
- Layout.vue 全局滚动修复(overflow-y:auto 覆盖所有 admin-page 编辑页)
- 搜索框"全部"选项改为语义标签(11 页面:「全部状态」「全部分类」等)
- 状态变更操作增加 确认 + 自动 loadList() 刷新
- 活动列表 flex 布局 + 滚动 CSS 修复
-
v1.0.21 (2026-07-08)
工程化
v1.0.20 (2026-07-08)
新功能
radar chart dual-line support (avg + user cognitive scores)
其他
- Shows gray dashed avg line behind user's indigo filled polygon
- 6 dims: perception/focus/memory/logic/spatial/processing speed
-
v1.0.19 (2026-07-08)
新功能
radar chart dual-line support (avg + user scores)
其他
- New _drawAvgScoreArea() method renders average as background layer
- Body page passes mock avg scores alongside user dimension scores
- Avg scores: [72,68,75,70,73,69,71] for 7 dimensions
- Without user data, only avg line shows; with data, both lines visible
- Add console logs for tracking dimension data loading flow
- Helps diagnose radar chart not rendering when no child selected or API fails
- Bump package.json version 1.0.11 → 1.0.17
- Update .last_build_commit to latest build
- web/index.html: update Clarity tracking ID, remove duplicate inline script
Bug 修复
guard loadHealthDimensions on activeChildId + debug logs
add table overflow scroll to admin pages
工程化
clean CHANGELOG, bump version to 1.0.17, update Clarity tracking ID
v1.0.18 (2026-07-08)
Bug 修复
guard loadHealthDimensions on activeChildId + debug logs
add table overflow scroll to admin pages
其他
- Add console logs for tracking dimension data loading flow
- Helps diagnose radar chart not rendering when no child selected or API fails
- Bump package.json version 1.0.11 → 1.0.17
- Update .last_build_commit to latest build
- web/index.html: update Clarity tracking ID, remove duplicate inline script
工程化
clean CHANGELOG, bump version to 1.0.17, update Clarity tracking ID
v1.0.18 (2026-07-08)
v1.0.18 (2026-07-08)
Bug 修复
Dashboard.vue: 替换 CSS Grid 为 flexbox(.td-quick-actions、.td-today-stats)
Dashboard.vue: teacher API null/undefined 守卫,防止 Promise.all catch 后访问 undefined 属性
Dashboard.vue: el-progress 进度环空值容错(parseFloat fallback)
Dashboard.vue: 改进 Markdown 解析器,支持代码块、列表、标题、加粗/斜体/链接
闭合括号格式错误导致构建失败
v1.0.17 (2026-07-08)
Bug 修复
ArticleService.recordRead: null userId 守卫,防止 creator_id NOT NULL 异常
TeacherDashboard: 添加 null/undefined 守卫
新功能
Dashboard.vue 全面优化:CSS grid → flexbox、API 错误处理、进度条容错、Markdown 解析器增强
其他
omf 插件更新至最新版本
web/index.html: Clarity 追踪 ID 更新 (xbtkn3d56w → xj4p74ra9m),移除重复内联脚本