ソースを参照

fix: replace bare <br> with <br/> in mermaid flow diagrams to fix syntax error in v11.12.1

iwt 1 ヶ月 前
コミット
1aa7188e60

+ 3 - 3
docs/flows/activity-flow.md

@@ -49,7 +49,7 @@ flowchart TD
         C2 --> C3{活动到期或结束操作}
         C3 -->|手动结束| C4[🖥 结束活动 /end]:::portAdmin
         C3 -->|截止时间到| C4
-        C4 --> C5[活动结束<br>不可再报名]
+        C4 --> C5[活动结束<br/>不可再报名]
     end
 
     subgraph 用户浏览与报名
@@ -84,7 +84,7 @@ flowchart TD
         E4 --> F1[📱 签到 /checkin]:::portMiniApp
         F1 --> F2{📱 需审核签到?}:::portMiniApp
         F2 -->|是| F3[📱 等待审核]:::portMiniApp
-        F2 -->|否| F4[📱 签到成功<br>发放积分]:::portMiniApp
+        F2 -->|否| F4[📱 签到成功<br/>发放积分]:::portMiniApp
     end
 
     subgraph 活动反馈(活动结束后)
@@ -105,7 +105,7 @@ flowchart TD
         I3 --> I4[🖥 转草稿 /re-draft]:::portAdmin
     end
 
-    R1(("🔧 活动管理员<br>role=activity_admin")):::actor
+    R1(("🔧 活动管理员<br/>role=activity_admin")):::actor
     R2(("👤 家长")):::actor
     R3(("👶 孩子")):::role
     R4(("🔧 管理员")):::role

+ 57 - 57
docs/flows/dan-assessment-flow.md

@@ -19,102 +19,102 @@ flowchart TD
     classDef portSystem fill:#f3e5f5,stroke:#6a1b9a,stroke-width:1px,stroke-dasharray:3 2
 
     subgraph 测评准备
-        A1(("👤 家长")):::portMiniApp --> A2[📱 浏览测评材料<br>/material/list]:::portMiniApp
-        A2 --> A3[📱 获取当前启用材料<br>/material/active]:::portMiniApp
+        A1(("👤 家长")):::portMiniApp --> A2[📱 浏览测评材料<br/>/material/list]:::portMiniApp
+        A2 --> A3[📱 获取当前启用材料<br/>/material/active]:::portMiniApp
         A3 --> A4{📱 家庭测评已启用?}:::portMiniApp
-        A4 -->|否| A5[📱 启用家庭测评<br>/family/enable]:::portMiniApp
-        A4 -->|是| A6[📱 查看家庭配置<br>/family/config]:::portMiniApp
+        A4 -->|否| A5[📱 启用家庭测评<br/>/family/enable]:::portMiniApp
+        A4 -->|是| A6[📱 查看家庭配置<br/>/family/config]:::portMiniApp
         A5 --> A6
-        A6 --> A7[📱 查看可用额度<br>/quota/my-list]:::portMiniApp
-        A7 --> A8[📱 额度详情<br>/quota/detail]:::portMiniApp
+        A6 --> A7[📱 查看可用额度<br/>/quota/my-list]:::portMiniApp
+        A7 --> A8[📱 额度详情<br/>/quota/detail]:::portMiniApp
     end
 
     subgraph 下单与支付
-        A8 --> B1[📱 选择评估师/规划师<br>/appointment/assessor-list]:::portMiniApp
-        B1 --> B2[📱 创建测评订单<br>/order/create]:::portMiniApp
-        B2 --> B3[📱 支付订单<br>/order/pay]:::portMiniApp
-        B3 --> B4[📱 查看订单详情<br>/order/detail]:::portMiniApp
+        A8 --> B1[📱 选择评估师/规划师<br/>/appointment/assessor-list]:::portMiniApp
+        B1 --> B2[📱 创建测评订单<br/>/order/create]:::portMiniApp
+        B2 --> B3[📱 支付订单<br/>/order/pay]:::portMiniApp
+        B3 --> B4[📱 查看订单详情<br/>/order/detail]:::portMiniApp
         B4 --> B5{📱 支付成功?}:::portMiniApp
-        B5 -->|否| B6[📱 取消订单<br>/order/cancel]:::portMiniApp
-        B5 -->|是| B7[⚙️ 订单状态: paid<br>生成额度<br>进入预约流程]:::portSystem
+        B5 -->|否| B6[📱 取消订单<br/>/order/cancel]:::portMiniApp
+        B5 -->|是| B7[⚙️ 订单状态: paid<br/>生成额度<br/>进入预约流程]:::portSystem
     end
 
     subgraph 预约管理
-        B7 --> C1[📱 创建预约<br>/appointment/create<br>消耗额度 · 生成执行记录]:::portMiniApp
-        C1 --> C2[📱 评估师列表<br>/appointment/guide-list]:::portMiniApp
-        C2 --> C3[📱 我的预约列表<br>/appointment/my-list]:::portMiniApp
-        C3 --> C4[📱 用户预约列表<br>/appointment/user]:::portMiniApp
-        C4 --> C5[📋 规划师预约列表<br>/appointment/guide]:::portGuide
-        C5 --> C6[📋 预约确认<br>/appointment/confirm]:::portGuide
+        B7 --> C1[📱 创建预约<br/>/appointment/create<br/>消耗额度 · 生成执行记录]:::portMiniApp
+        C1 --> C2[📱 评估师列表<br/>/appointment/guide-list]:::portMiniApp
+        C2 --> C3[📱 我的预约列表<br/>/appointment/my-list]:::portMiniApp
+        C3 --> C4[📱 用户预约列表<br/>/appointment/user]:::portMiniApp
+        C4 --> C5[📋 规划师预约列表<br/>/appointment/guide]:::portGuide
+        C5 --> C6[📋 预约确认<br/>/appointment/confirm]:::portGuide
         C6 --> C7[线下/线上执行测评]
-        C7 --> C8[📋 完成预约<br>/appointment/complete]:::portGuide
+        C7 --> C8[📋 完成预约<br/>/appointment/complete]:::portGuide
     end
 
     subgraph 执行与确认
-        C8 --> D1[📋 规划师完成任务<br>/dan-execution/complete]:::portGuide
-        D1 --> D2[📱 用户确认服务<br>/dan-execution/confirm]:::portMiniApp
-        D2 --> D3[📱 执行详情<br>/dan-execution/detail]:::portMiniApp
-        D3 --> D4[📱 用户评价<br>/dan-execution/rate]:::portMiniApp
-        D4 --> D5[📱 我的执行记录<br>/dan-execution/my-list]:::portMiniApp
-        D5 --> D6[📋 规划师待办<br>/dan-execution/guide/my-tasks]:::portGuide
+        C8 --> D1[📋 规划师完成任务<br/>/dan-execution/complete]:::portGuide
+        D1 --> D2[📱 用户确认服务<br/>/dan-execution/confirm]:::portMiniApp
+        D2 --> D3[📱 执行详情<br/>/dan-execution/detail]:::portMiniApp
+        D3 --> D4[📱 用户评价<br/>/dan-execution/rate]:::portMiniApp
+        D4 --> D5[📱 我的执行记录<br/>/dan-execution/my-list]:::portMiniApp
+        D5 --> D6[📋 规划师待办<br/>/dan-execution/guide/my-tasks]:::portGuide
     end
 
     subgraph 结果录入
         D6 --> E1{结果来源}
-        E1 -->|评估师录入| E2[📋 录入测评结果<br>/result/record]:::portGuide
-        E1 -->|家长上传PDF| E3[📱 上传报告<br>/result/upload<br>async AI解析]:::portMiniApp
-        E1 -->|DAN PDF上传| E4[📱 上传预览<br>/report/parse-preview<br>Phase 1 AI解析]:::portMiniApp
+        E1 -->|评估师录入| E2[📋 录入测评结果<br/>/result/record]:::portGuide
+        E1 -->|家长上传PDF| E3[📱 上传报告<br/>/result/upload<br/>async AI解析]:::portMiniApp
+        E1 -->|DAN PDF上传| E4[📱 上传预览<br/>/report/parse-preview<br/>Phase 1 AI解析]:::portMiniApp
         
-        E2 --> E5[⚙️ 结构化分析<br>/results/{id}/structured]:::portSystem
+        E2 --> E5[⚙️ 结构化分析<br/>/results/{id}/structured]:::portSystem
         E3 --> E6[⚙️ AI解析完成 → 草稿]:::portSystem
         E4 --> E7[⚙️ 预览解析结果]:::portSystem
         
-        E7 --> E8[📱 确认入库<br>/report/confirm<br>Phase 2]:::portMiniApp
-        E6 --> E9[📱 确认上传<br>/result/{resultId}/confirm-upload]:::portMiniApp
+        E7 --> E8[📱 确认入库<br/>/report/confirm<br/>Phase 2]:::portMiniApp
+        E6 --> E9[📱 确认上传<br/>/result/{resultId}/confirm-upload]:::portMiniApp
         
-        E5 --> E10[📱 获取成长建议<br>/result/{resultId}/guidance]:::portMiniApp
-        E10 --> E11[📋 保存成长建议<br>/result/{resultId}/guidance/save]:::portGuide
-        E8 --> E12[📱 孩子报告列表<br>/report/child]:::portMiniApp
+        E5 --> E10[📱 获取成长建议<br/>/result/{resultId}/guidance]:::portMiniApp
+        E10 --> E11[📋 保存成长建议<br/>/result/{resultId}/guidance/save]:::portGuide
+        E8 --> E12[📱 孩子报告列表<br/>/report/child]:::portMiniApp
         E9 --> E12
     end
 
     subgraph 独立报告流程
-        E12 --> F1[📱 上传独立PDF<br>/dan-report/upload]:::portMiniApp
-        F1 --> F2[📱 编辑草稿<br>/{id}/edit]:::portMiniApp
-        F2 --> F3[📱 确认入库<br>/{id}/confirm]:::portMiniApp
-        F3 --> F4[📱 完成分析<br>/{id}/complete-analysis]:::portMiniApp
-        F4 --> F5[📱 报告详情<br>/{id}]:::portMiniApp
-        F5 --> F6[📱 废弃草稿<br>/{id}/discard]:::portMiniApp
-        F6 --> F7[📱 报告列表<br>/dan-report/list]:::portMiniApp
+        E12 --> F1[📱 上传独立PDF<br/>/dan-report/upload]:::portMiniApp
+        F1 --> F2[📱 编辑草稿<br/>/{id}/edit]:::portMiniApp
+        F2 --> F3[📱 确认入库<br/>/{id}/confirm]:::portMiniApp
+        F3 --> F4[📱 完成分析<br/>/{id}/complete-analysis]:::portMiniApp
+        F4 --> F5[📱 报告详情<br/>/{id}]:::portMiniApp
+        F5 --> F6[📱 废弃草稿<br/>/{id}/discard]:::portMiniApp
+        F6 --> F7[📱 报告列表<br/>/dan-report/list]:::portMiniApp
     end
 
     subgraph 结果查询与对比
-        F7 --> G1[📱 最新测评结果<br>/assessment/latest-result]:::portMiniApp
-        G1 --> G2[📱 测评历史<br>/assessment/history]:::portMiniApp
+        F7 --> G1[📱 最新测评结果<br/>/assessment/latest-result]:::portMiniApp
+        G1 --> G2[📱 测评历史<br/>/assessment/history]:::portMiniApp
         G2 --> G3{📱 对比分析}:::portMiniApp
-        G3 -->|孩子整体对比| G4[📱 首次vs最新<br>/compare/by-child]:::portMiniApp
-        G3 -->|单维度变化| G5[📱 维度对比<br>/compare/by-child-dimension]:::portMiniApp
-        G3 -->|家庭对比| G6[📱 家庭对比<br>/compare/by-family]:::portMiniApp
-        G3 -->|综合分析| G7[📱 综合分析<br>/compare/narrative]:::portMiniApp
-        G4 --> G8[📱 我的报告列表<br>/assessment/my-results]:::portMiniApp
+        G3 -->|孩子整体对比| G4[📱 首次vs最新<br/>/compare/by-child]:::portMiniApp
+        G3 -->|单维度变化| G5[📱 维度对比<br/>/compare/by-child-dimension]:::portMiniApp
+        G3 -->|家庭对比| G6[📱 家庭对比<br/>/compare/by-family]:::portMiniApp
+        G3 -->|综合分析| G7[📱 综合分析<br/>/compare/narrative]:::portMiniApp
+        G4 --> G8[📱 我的报告列表<br/>/assessment/my-results]:::portMiniApp
         G5 --> G8
         G6 --> G8
         G7 --> G8
-        G8 --> G9[📋 下级规划师报告<br>/assessment/child-results]:::portGuide
+        G8 --> G9[📋 下级规划师报告<br/>/assessment/child-results]:::portGuide
     end
 
     subgraph 家长端自评
-        G9 --> H1[📱 创建自评<br>/parent/assessment/create]:::portMiniApp
-        H1 --> H2[📱 当前进度<br>/parent/assessment/current]:::portMiniApp
-        H2 --> H3[📱 提交自评<br>/parent/assessment/complete/{recordId}]:::portMiniApp
-        H3 --> H4[📱 自评记录<br>/parent/assessment/records]:::portMiniApp
+        G9 --> H1[📱 创建自评<br/>/parent/assessment/create]:::portMiniApp
+        H1 --> H2[📱 当前进度<br/>/parent/assessment/current]:::portMiniApp
+        H2 --> H3[📱 提交自评<br/>/parent/assessment/complete/{recordId}]:::portMiniApp
+        H3 --> H4[📱 自评记录<br/>/parent/assessment/records]:::portMiniApp
     end
 
     subgraph 规划师端评估管理
-        H4 --> I1[📋 家庭测评列表<br>/guide/assessment/families]:::portGuide
-        I1 --> I2[📋 家庭详情<br>/family/{familyId}]:::portGuide
-        I2 --> I3[📋 启用/禁用<br>/family/{familyId}/disable]:::portGuide
-        I3 --> I4[📋 培训计划<br>/guide/training-plans]:::portGuide
+        H4 --> I1[📋 家庭测评列表<br/>/guide/assessment/families]:::portGuide
+        I1 --> I2[📋 家庭详情<br/>/family/{familyId}]:::portGuide
+        I2 --> I3[📋 启用/禁用<br/>/family/{familyId}/disable]:::portGuide
+        I3 --> I4[📋 培训计划<br/>/guide/training-plans]:::portGuide
     end
 
     %% 角色标注

+ 4 - 4
docs/flows/family-management-flow.md

@@ -44,7 +44,7 @@ flowchart TD
     subgraph 家庭成员管理
         B8 --> C1[📱 添加成员 /member/add]:::portMiniApp
         C1 --> C2[📱 成员列表 /member/list<br/>可见成员 /user/members/visible]:::portMiniApp
-        C2 --> C3[📱 更新信息 /member/update<br>孩子更新 /user/children/update]:::portMiniApp
+        C2 --> C3[📱 更新信息 /member/update<br/>孩子更新 /user/children/update]:::portMiniApp
         C3 --> C4[📱 更新可见性 /user/members/update-visibility]:::portMiniApp
         C4 --> C5[📱 切换成员视图 /member/switch]:::portMiniApp
         C5 --> C6[📱 检查可编辑性 /member/editable]:::portMiniApp
@@ -55,7 +55,7 @@ flowchart TD
     subgraph 家庭设置
         C8 --> D1[📱 转让管理员 /invite/transfer-admin]:::portMiniApp
         D1 --> D2[📱 吊销邀请 /invite/revoke]:::portMiniApp
-        D2 --> D3[📱 创建孩子 /user/children<br>孩子列表 /user/children/list]:::portMiniApp
+        D2 --> D3[📱 创建孩子 /user/children<br/>孩子列表 /user/children/list]:::portMiniApp
         D3 --> D4[📱 家庭成员列表 /user/family-members]:::portMiniApp
     end
 
@@ -71,7 +71,7 @@ flowchart TD
         F1 --> F2[📱 质量评分 /relationship/scores]:::portMiniApp
         F2 --> F3[📱 健康预警 /relationship/health-alerts]:::portMiniApp
         F3 --> F4[📱 里程碑 /relationship/milestones]:::portMiniApp
-        F4 --> F5[📱 家庭属性 /attributes/get<br>计算 /attributes/calculate · 更新 /attributes/update]:::portMiniApp
+        F4 --> F5[📱 家庭属性 /attributes/get<br/>计算 /attributes/calculate · 更新 /attributes/update]:::portMiniApp
     end
 
     subgraph 互动记录
@@ -82,7 +82,7 @@ flowchart TD
 
     subgraph 规划师绑定
         G3 --> H1[📱 待审批绑定 /teacher-bindings/pending]:::portMiniApp
-        H1 --> H2[📱 审批通过 /teacher-bindings/approve<br>拒绝 /teacher-bindings/reject]:::portMiniApp
+        H1 --> H2[📱 审批通过 /teacher-bindings/approve<br/>拒绝 /teacher-bindings/reject]:::portMiniApp
         H2 --> H3[📱 我的请求 /teacher-bindings/my-requests]:::portMiniApp
         H3 --> H4[📱 取消绑定 /teacher-bindings/cancel]:::portMiniApp
         H4 --> H5[📋 规划师绑定 /guide-bind]:::portGuide

+ 5 - 5
docs/flows/guide-system-flow.md

@@ -23,7 +23,7 @@ flowchart TD
         A2 -->|是| A5[📋 登录 → 查看状态 /applications]:::portGuide
         A4 --> A6[🖥 管理员审批]:::portAdmin
         A6 --> A7{审批结果}
-        A7 -->|通过| A8[📋 规划师激活<br>查看激活记录 /application/{id}/records]:::portGuide
+        A7 -->|通过| A8[📋 规划师激活<br/>查看激活记录 /application/{id}/records]:::portGuide
         A7 -->|驳回| A9[📋 撤回 /withdraw · 重新提交 /resubmit]:::portGuide
         A9 --> A4
         A8 --> A10[📋 查看我的申请 /applications/my]:::portGuide
@@ -33,7 +33,7 @@ flowchart TD
         A10 --> B1[📋 我的信息 /my]:::portGuide
         B1 --> B2[📋 我的套餐 /my/packages]:::portGuide
         B2 --> B3[📋 上级规划师 /parent-guide]:::portGuide
-        B3 --> B4[📋 下级列表 /child-guides<br>全部下级 /all-child-guides]:::portGuide
+        B3 --> B4[📋 下级列表 /child-guides<br/>全部下级 /all-child-guides]:::portGuide
     end
 
     subgraph 团队管理
@@ -63,7 +63,7 @@ flowchart TD
         E3 --> E4[📋 待审核 /children/{childId}/pending-review]:::portGuide
         E4 --> E5[📋 任务审核 /families/{familyId}/tasks/{taskId}/review]:::portGuide
         E5 --> E6[📋 批量审核 /tasks/batch-review]:::portGuide
-        E6 --> E7[📋 任务详情 /tasks/{taskId}<br>删除 /tasks/{taskId}/delete]:::portGuide
+        E6 --> E7[📋 任务详情 /tasks/{taskId}<br/>删除 /tasks/{taskId}/delete]:::portGuide
     end
 
     subgraph 任务模板管理
@@ -72,11 +72,11 @@ flowchart TD
         F2 --> F3[📋 更新模板 /packages/update]:::portGuide
         F3 --> F4[📋 更新状态 /packages/update-status]:::portGuide
         F4 --> F5[📋 模板列表 /packages/list]:::portGuide
-        F5 --> F6[📋 模板详情 /packages/detail<br>模板定价 /packages/template-detail]:::portGuide
+        F5 --> F6[📋 模板详情 /packages/detail<br/>模板定价 /packages/template-detail]:::portGuide
         F6 --> F7[📋 增加销量 /packages/increment-sales]:::portGuide
         F7 --> F8[📋 等级筛选 /packages/level/{level}]:::portGuide
         F8 --> F9[📋 套餐包列表 /guide-packages /package/templates]:::portGuide
-        F9 --> F10[📋 添加套餐 /package/add · 查看 /package/{packageId}<br>更新 /package/{packageId}/update · 删除 /package/{packageId}/delete]:::portGuide
+        F9 --> F10[📋 添加套餐 /package/add · 查看 /package/{packageId}<br/>更新 /package/{packageId}/update · 删除 /package/{packageId}/delete]:::portGuide
     end
 
     subgraph 活动管理

+ 13 - 13
docs/flows/health-detection-flow.md

@@ -17,9 +17,9 @@ flowchart TD
     classDef portSystem fill:#f3e5f5,stroke:#6a1b9a,stroke-width:1px,stroke-dasharray:3 2
 
     subgraph 注册与家庭
-        A1(("👤 家长<br>开始")):::portMiniApp --> A2[📱 微信授权登录]:::portMiniApp
+        A1(("👤 家长<br/>开始")):::portMiniApp --> A2[📱 微信授权登录]:::portMiniApp
         A2 --> A3[📱 创建/加入家庭]:::portMiniApp
-        A3 --> A4[📱 添加家庭成员<br>(孩子/老人等)]:::portMiniApp
+        A3 --> A4[📱 添加家庭成员<br/>(孩子/老人等)]:::portMiniApp
     end
 
     subgraph 数据采集入口
@@ -32,15 +32,15 @@ flowchart TD
     end
 
     subgraph AI解析层
-        B1 --> C1[⚙️ PDF解析引擎<br>PdfParseService]:::portSystem
-        C1 --> C2{⚙️ 是否匹配到<br>家庭成员?}:::portSystem
-        C2 -->|自动匹配<br>姓名+性别+年龄| C3[⚙️ 标记到对应成员]:::portSystem
+        B1 --> C1[⚙️ PDF解析引擎<br/>PdfParseService]:::portSystem
+        C1 --> C2{⚙️ 是否匹配到<br/>家庭成员?}:::portSystem
+        C2 -->|自动匹配<br/>姓名+性别+年龄| C3[⚙️ 标记到对应成员]:::portSystem
         C2 -->|匹配失败| C4[📱 提示家长手动绑定]:::portMiniApp
 
         B2 --> C5[⚙️ OCR/结构化解析]:::portSystem
-        C5 --> C6[⚙️ 提取指标: 身高/体重/<br>血常规/视力等]:::portSystem
+        C5 --> C6[⚙️ 提取指标: 身高/体重/<br/>血常规/视力等]:::portSystem
 
-        B3 --> C7[⚙️ 舌诊AI分析<br>TongueDiagnosisService]:::portSystem
+        B3 --> C7[⚙️ 舌诊AI分析<br/>TongueDiagnosisService]:::portSystem
         C7 --> C8[⚙️ 舌苔/舌色/齿痕分析]:::portSystem
 
         B4 --> C9[⚙️ 问卷评分计算]:::portSystem
@@ -48,11 +48,11 @@ flowchart TD
     end
 
     subgraph 报告预览与确认
-        C3 --> D1[📱 生成解析预览<br>Phase 1 /parse-preview]:::portMiniApp
-        D1 --> D2{📱 家长确认<br>数据是否正确?}:::portMiniApp
+        C3 --> D1[📱 生成解析预览<br/>Phase 1 /parse-preview]:::portMiniApp
+        D1 --> D2{📱 家长确认<br/>数据是否正确?}:::portMiniApp
         D2 -->|修改| D3[📱 家长在线编辑指标]:::portMiniApp
         D3 --> D2
-        D2 -->|确认| D4[📱 正式入库<br>Phase 2 /confirm]:::portMiniApp
+        D2 -->|确认| D4[📱 正式入库<br/>Phase 2 /confirm]:::portMiniApp
         C6 --> D1
         C8 --> D1
     end
@@ -67,16 +67,16 @@ flowchart TD
 
     subgraph AI教练解读
         E5 --> F1[📱 家长查看健康报告]:::portMiniApp
-        F1 --> F2{📱 是否需要<br>AI解读?}:::portMiniApp
+        F1 --> F2{📱 是否需要<br/>AI解读?}:::portMiniApp
         F2 -->|是| F3[📱 AI聊天解读报告]:::portMiniApp
-        F3 --> F4[📱 AI解析报告指标<br>生成改善建议]:::portMiniApp
+        F3 --> F4[📱 AI解析报告指标<br/>生成改善建议]:::portMiniApp
         F4 --> F5[📱 AI生成任务计划]:::portMiniApp
         F5 --> F6[📱 家长查看解读结果]:::portMiniApp
         F2 -->|否| G1
     end
 
     subgraph 专业身份介入
-        F6 --> G1{📱 是否需要<br>深度介入?}:::portMiniApp
+        F6 --> G1{📱 是否需要<br/>深度介入?}:::portMiniApp
         G1 -->|健康问题咨询| G2[📱 申请营养师服务]:::portMiniApp
         G1 -->|全方位服务| G3[📱 申请管家服务]:::portMiniApp
         G1 -->|成长规划| G4[📱 规划师查看报告]:::portMiniApp