Просмотр исходного кода

feat: 家庭加入审批流程与统一知识库DB化(合并rebase后本地改动)

- family_join_requests 表 + FamilyJoinRequest 实体/Mapper/Service(迁移164)
- 统一知识库 knowledge_base_section 表 + UnifiedKnowledgeBaseService(迁移165,DB为查询源,classpath种子兜底)
- HealthKnowledgeBaseController 新增 /unified/* 系列端点
- 控制器增加家庭ID解析与成员归属校验辅助方法
- JwtInterceptor/Result/api.js 同步增强
asus 1 месяц назад
Родитель
Сommit
0b19fd3629
43 измененных файлов с 10113 добавлено и 267 удалено
  1. 8 0
      cfc-backend/src/main/java/com/etotem/cfc/common/Result.java
  2. 38 0
      cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java
  3. 4 5
      cfc-backend/src/main/java/com/etotem/cfc/config/JwtInterceptor.java
  4. 5 2
      cfc-backend/src/main/java/com/etotem/cfc/controller/BadgeController.java
  5. 22 7
      cfc-backend/src/main/java/com/etotem/cfc/controller/DanAssessmentController.java
  6. 23 14
      cfc-backend/src/main/java/com/etotem/cfc/controller/EnergyController.java
  7. 8 6
      cfc-backend/src/main/java/com/etotem/cfc/controller/FamilyChallengeController.java
  8. 6 5
      cfc-backend/src/main/java/com/etotem/cfc/controller/FamilyHealthController.java
  9. 4 4
      cfc-backend/src/main/java/com/etotem/cfc/controller/FoodRecommendController.java
  10. 30 13
      cfc-backend/src/main/java/com/etotem/cfc/controller/HealthCircleController.java
  11. 6 4
      cfc-backend/src/main/java/com/etotem/cfc/controller/HealthInteractionController.java
  12. 157 0
      cfc-backend/src/main/java/com/etotem/cfc/controller/HealthKnowledgeBaseController.java
  13. 21 14
      cfc-backend/src/main/java/com/etotem/cfc/controller/HealthReportController.java
  14. 13 11
      cfc-backend/src/main/java/com/etotem/cfc/controller/PromotionController.java
  15. 10 4
      cfc-backend/src/main/java/com/etotem/cfc/controller/ReportStatsController.java
  16. 4 3
      cfc-backend/src/main/java/com/etotem/cfc/controller/ShareController.java
  17. 3 9
      cfc-backend/src/main/java/com/etotem/cfc/controller/assessment/AssessmentComparisonController.java
  18. 112 25
      cfc-backend/src/main/java/com/etotem/cfc/controller/family/FamilyInviteController.java
  19. 17 15
      cfc-backend/src/main/java/com/etotem/cfc/controller/family/InteractionLogController.java
  20. 38 43
      cfc-backend/src/main/java/com/etotem/cfc/controller/family/RelationshipQualityController.java
  21. 9 4
      cfc-backend/src/main/java/com/etotem/cfc/controller/growth/GrowthRecordController.java
  22. 4 5
      cfc-backend/src/main/java/com/etotem/cfc/controller/guide/GuideAssessmentController.java
  23. 3 3
      cfc-backend/src/main/java/com/etotem/cfc/controller/guide/GuideController.java
  24. 2 2
      cfc-backend/src/main/java/com/etotem/cfc/controller/guide/PlanReviewController.java
  25. 6 3
      cfc-backend/src/main/java/com/etotem/cfc/controller/guide/TeacherMessageController.java
  26. 5 2
      cfc-backend/src/main/java/com/etotem/cfc/controller/mind/TraditionalMirrorController.java
  27. 5 4
      cfc-backend/src/main/java/com/etotem/cfc/controller/recommendation/ProductRecommendationController.java
  28. 15 6
      cfc-backend/src/main/java/com/etotem/cfc/controller/tianpan/TianpanController.java
  29. 2 3
      cfc-backend/src/main/java/com/etotem/cfc/controller/wish/WishController.java
  30. 21 0
      cfc-backend/src/main/java/com/etotem/cfc/dto/FamilyJoinRequestDTO.java
  31. 46 0
      cfc-backend/src/main/java/com/etotem/cfc/entity/FamilyJoinRequest.java
  32. 38 0
      cfc-backend/src/main/java/com/etotem/cfc/entity/KnowledgeBaseSection.java
  33. 9 0
      cfc-backend/src/main/java/com/etotem/cfc/mapper/FamilyJoinRequestMapper.java
  34. 7 0
      cfc-backend/src/main/java/com/etotem/cfc/mapper/KnowledgeBaseSectionMapper.java
  35. 223 0
      cfc-backend/src/main/java/com/etotem/cfc/service/FamilyJoinRequestService.java
  36. 690 0
      cfc-backend/src/main/java/com/etotem/cfc/service/UnifiedKnowledgeBaseService.java
  37. 8399 0
      cfc-backend/src/main/resources/knowledge-base/统一知识库.json
  38. 28 0
      cfc-backend/src/main/resources/schema.sql
  39. 0 1
      cfc-frontend/App.vue
  40. 0 2
      cfc-frontend/pages/invite/join.vue
  41. 0 2
      cfc-frontend/pages/login/login.vue
  42. 72 20
      cfc-frontend/utils/api.js
  43. 0 26
      web/articles/tap-water-pollution.html

+ 8 - 0
cfc-backend/src/main/java/com/etotem/cfc/common/Result.java

@@ -41,6 +41,14 @@ public class Result<T> implements Serializable {
         return result;
     }
 
+    /** 用户无家庭(请先创建或加入家庭)*/
+    public static <T> Result<T> noFamily(String message) {
+        Result<T> result = new Result<>();
+        result.setCode(5001);
+        result.setMessage(message != null ? message : "请先创建或加入家庭");
+        return result;
+    }
+
     public static <T> Result<T> error(Integer code, String message) {
         Result<T> result = new Result<>();
         result.setCode(code);

+ 38 - 0
cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java

@@ -7727,5 +7727,43 @@ private void runMigration100() {
 		// 迁移166: payment_orders 添加 group_no/period_no 列(会员拆单支付,配置驱动拆单)
 		ensureColumn("payment_orders", "group_no", "VARCHAR(64) COMMENT '拆单组号(同一拆单组共享)'");
 		ensureColumn("payment_orders", "period_no", "INT DEFAULT 1 COMMENT '期数序号(1开始)'");
+		// 迁移167: 创建 family_join_requests 表(家庭加入请求待审批)
+		try {
+			jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS family_join_requests (" +
+					"id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+					"requester_user_id BIGINT NOT NULL COMMENT '申请加入的用户ID', " +
+					"target_family_id BIGINT NOT NULL COMMENT '目标家庭ID', " +
+					"join_method VARCHAR(20) NOT NULL COMMENT '加入方式: by_code/by_token', " +
+					"invite_ref VARCHAR(50) COMMENT '邀请码或令牌', " +
+					"status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/approved/rejected/cancelled', " +
+					"approver_user_id BIGINT COMMENT '审批人ID', " +
+					"comment TEXT COMMENT '审批备注', " +
+					"created_at DATETIME DEFAULT CURRENT_TIMESTAMP, " +
+					"updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, " +
+					"INDEX idx_requester (requester_user_id), " +
+					"INDEX idx_target_family (target_family_id), " +
+					"INDEX idx_status (status) " +
+					") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='家庭加入请求(待审批)'");
+			log.info("已创建family_join_requests表");
+		} catch (Exception e) {
+			// 表已存在,忽略
+		}
+
+		// 迁移168: 创建 knowledge_base_section 表(统一知识库按模块存储JSON,DB为查询源,classpath种子兜底)
+		try {
+			jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS knowledge_base_section (" +
+					"id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+					"module_key VARCHAR(100) NOT NULL COMMENT '模块键(如 食物营养库/菌属功能库/报告指标分级标准)', " +
+					"module_name VARCHAR(200) COMMENT '模块中文名', " +
+					"content LONGTEXT COMMENT '模块内容(JSON序列化)', " +
+					"version VARCHAR(50) COMMENT '数据版本(来自元数据.版本)', " +
+					"created_at DATETIME DEFAULT CURRENT_TIMESTAMP, " +
+					"updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, " +
+					"UNIQUE KEY uk_module_key (module_key) " +
+					") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统一知识库 - 按模块存储JSON'");
+			log.info("已创建knowledge_base_section表");
+		} catch (Exception e) {
+			// 表已存在,忽略
+		}
 	}
 }

+ 4 - 5
cfc-backend/src/main/java/com/etotem/cfc/config/JwtInterceptor.java

@@ -135,15 +135,14 @@ public class JwtInterceptor implements HandlerInterceptor {
             request.setAttribute("role", role);
             request.setAttribute("roles", roles);
 
-// 设置familyId(查询用户所属家庭)
+ // 设置familyId(查询用户所属家庭)
             try {
                 User user = userMapper.selectById(userId);
-                if (user != null && user.getFamilyId() != null) {
-                    request.setAttribute("familyId", user.getFamilyId());
-                }
+                Long userFamilyId = (user != null) ? user.getFamilyId() : null;
+                request.setAttribute("familyId", userFamilyId);
             } catch (Exception e) {
                 log.warn("查询用户familyId失败: userId={}, error={}", userId, e.getMessage());
-            }
+            }
 
             // 设置currentMemberId:child角色自动从family_member表查找
             if ("child".equals(role) && request.getAttribute("familyId") != null) {

+ 5 - 2
cfc-backend/src/main/java/com/etotem/cfc/controller/BadgeController.java

@@ -122,8 +122,11 @@ public class BadgeController {
 
     @Operation(summary = "家庭勋章排行")
     @PostMapping("/ranking/family")
-    public Result<List<Map<String, Object>>> getFamilyRanking(@RequestBody Map<String, Object> body) {
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+    public Result<List<Map<String, Object>>> getFamilyRanking(@RequestBody Map<String, Object> body,
+                                                              @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         return Result.success(badgeService.getFamilyRanking(familyId));
     }
 }

+ 22 - 7
cfc-backend/src/main/java/com/etotem/cfc/controller/DanAssessmentController.java

@@ -85,8 +85,11 @@ public class DanAssessmentController {
 
     @Operation(summary = "启用家庭测评")
     @PostMapping("/family/enable")
-    public Result<String> enableFamilyAssessment(@RequestBody Map<String, Object> body) {
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+    public Result<String> enableFamilyAssessment(@RequestBody Map<String, Object> body,
+                                                  @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long materialId = body.get("materialId") != null
                 ? Long.valueOf(body.get("materialId").toString()) : null;
         Integer remindMonths = body.get("remindMonths") != null
@@ -99,8 +102,10 @@ public class DanAssessmentController {
 
     @Operation(summary = "禁用家庭测评")
     @PostMapping("/family/disable")
-    public Result<String> disableFamilyAssessment(@RequestBody Map<String, Object> body) {
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+    public Result<String> disableFamilyAssessment(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         boolean ok = assessmentService.disableFamilyAssessment(familyId);
         return ok ? Result.success("禁用成功") : Result.error("禁用失败");
     }
@@ -110,8 +115,11 @@ public class DanAssessmentController {
     @Operation(summary = "创建测评记录")
     @PostMapping("/record/create")
     public Result<AssessmentRecord> createRecord(@RequestBody Map<String, Object> body,
+                                                 @RequestAttribute("familyId") Long familyId,
                                                  @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long memberId = body.get("memberId") != null ? Long.valueOf(body.get("memberId").toString()) : currentMemberId;
         Long materialId = body.get("materialId") != null
                 ? Long.valueOf(body.get("materialId").toString()) : null;
@@ -263,8 +271,11 @@ public class DanAssessmentController {
     @Operation(summary = "创建测评订单(含预约)")
     @PostMapping("/order/create")
     public Result<AssessmentOrder> createOrder(@RequestBody Map<String, Object> body,
+                                               @RequestAttribute("familyId") Long familyId,
                                                @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
-        Long familyId = body.get("familyId") != null ? Long.valueOf(body.get("familyId").toString()) : null;
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long userId = body.get("userId") != null ? Long.valueOf(body.get("userId").toString()) : null;
         Long memberId = body.get("memberId") != null ? Long.valueOf(body.get("memberId").toString()) : currentMemberId;
         Long guideId = Long.valueOf(body.get("guideId").toString());
@@ -311,7 +322,11 @@ public class DanAssessmentController {
 
     @Operation(summary = "取消订单")
     @PostMapping("/order/cancel")
-    public Result<String> cancelOrder(@RequestBody Map<String, Object> body) {
+    public Result<String> cancelOrder(@RequestBody Map<String, Object> body,
+                                      @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         String orderNo = (String) body.get("orderNo");
         boolean ok = orderService.cancelOrder(orderNo);
         return ok ? Result.success("取消成功") : Result.error("取消失败");

+ 23 - 14
cfc-backend/src/main/java/com/etotem/cfc/controller/EnergyController.java

@@ -58,6 +58,7 @@ public class EnergyController {
     @PostMapping("/overview")
     public Result<Map<String, Object>> getEnergyOverview(
             @RequestBody(required = false) Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
         if (params == null) {
             return Result.error("请求体不能为空");
@@ -67,6 +68,9 @@ public class EnergyController {
         if (memberId == null) {
             return Result.error("memberId不能为空");
         }
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Map<String, Object> data = energyService.getOverview(memberId);
         return Result.success(data);
     }
@@ -78,12 +82,16 @@ public class EnergyController {
     @PostMapping("/logs")
     public Result<Page<EnergyLog>> getEnergyLogs(
             @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
         Long memberId = params.get("memberId") != null
                 ? Long.valueOf(params.get("memberId").toString()) : currentMemberId;
         if (memberId == null) {
             return Result.error("memberId不能为空");
         }
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         String dimensionCode = (String) params.get("dimensionCode");
         Integer page = params.get("page") != null
                 ? Integer.valueOf(params.get("page").toString()) : 1;
@@ -101,6 +109,7 @@ public class EnergyController {
     @PostMapping("/grant")
     public Result<EnergyLog> grantEnergy(
             @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
         Long memberId = params.get("memberId") != null
                 ? Long.valueOf(params.get("memberId").toString()) : currentMemberId;
@@ -113,6 +122,9 @@ public class EnergyController {
         if (memberId == null || taskId == null || amount == null) {
             return Result.error("memberId、taskId和amount不能为空");
         }
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
 
         EnergyLog energyLog = energyService.grantEnergy(memberId, taskId, amount, dimensionCode);
         return Result.success(energyLog);
@@ -125,6 +137,7 @@ public class EnergyController {
     @PostMapping("/deduct-for-wish")
     public Result<Boolean> deductForWish(
             @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
         Long memberId = params.get("memberId") != null
                 ? Long.valueOf(params.get("memberId").toString()) : currentMemberId;
@@ -136,6 +149,9 @@ public class EnergyController {
         if (memberId == null || wishId == null || amount == null) {
             return Result.error("memberId、wishId和amount不能为空");
         }
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
 
         Boolean result = energyService.deductForWish(memberId, wishId, amount);
         return Result.success(result);
@@ -148,6 +164,7 @@ public class EnergyController {
     @PostMapping("/configure")
     public Result<String> configureSourceRatios(
             @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute("userId") Long userId) {
         String sourceType = (String) params.get("sourceType");
         Long sourceId = params.get("sourceId") != null
@@ -157,6 +174,9 @@ public class EnergyController {
         if (sourceType == null || sourceId == null) {
             return Result.error("sourceType和sourceId不能为空");
         }
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
 
         @SuppressWarnings("unchecked")
         List<Map<String, Object>> ratios = (List<Map<String, Object>>) params.get("ratios");
@@ -191,21 +211,10 @@ public class EnergyController {
     @Operation(summary = "获取家庭五维聚合")
     @PostMapping("/family-score-history")
     public Result<java.util.Map<String, Integer>> getFamilyScoreHistory(
-            @RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
-        if (familyId == null) {
-            Long userId = params.get("userId") != null
-                    ? Long.valueOf(params.get("userId").toString()) : null;
-            if (userId != null) {
-                User user = userMapper.selectById(userId);
-                if (user != null) {
-                    familyId = user.getFamilyId();
-                }
-            }
-        }
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
         if (familyId == null) {
-            return Result.error("familyId或userId不能为空");
+            return Result.noFamily("请先创建或加入家庭");
         }
 
         java.util.Map<String, Integer> latest = fiveDimensionScoreService.getLatestByFamilyMap(familyId);

+ 8 - 6
cfc-backend/src/main/java/com/etotem/cfc/controller/FamilyChallengeController.java

@@ -17,16 +17,18 @@ public class FamilyChallengeController {
     private FamilyChallengeService familyChallengeService;
 
     @PostMapping("/list")
-    public Result<List<FamilyChallenge>> getList(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+    public Result<List<FamilyChallenge>> getList(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         return Result.success(familyChallengeService.getActiveChallenges(familyId));
     }
 
     @PostMapping("/history")
-    public Result<List<FamilyChallenge>> getHistory(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+    public Result<List<FamilyChallenge>> getHistory(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         return Result.success(familyChallengeService.getChallengeHistory(familyId));
     }
 

+ 6 - 5
cfc-backend/src/main/java/com/etotem/cfc/controller/FamilyHealthController.java

@@ -15,11 +15,12 @@ public class FamilyHealthController {
     private FamilyHealthScoreService familyHealthScoreService;
 
     @PostMapping("/ranking")
-    public Result<Map<String, Object>> getRanking(@RequestBody Map<String, Object> params,
-                                                   @RequestAttribute("userId") Long userId,
-                                                   @RequestAttribute("role") String role) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+    public Result<Map<String, Object>> getRanking(@RequestAttribute("familyId") Long familyId,
+                                                    @RequestAttribute("userId") Long userId,
+                                                    @RequestAttribute("role") String role) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Map<String, Object> ranking = familyHealthScoreService.getFamilyRanking(familyId, userId, role);
         return Result.success(ranking);
     }

+ 4 - 4
cfc-backend/src/main/java/com/etotem/cfc/controller/FoodRecommendController.java

@@ -46,10 +46,10 @@ public class FoodRecommendController {
 
     @Operation(summary = "按家庭分组获取食材推荐指数")
     @PostMapping("/by-family")
-    public Result<Map<Long, List<FoodRecommendIndex>>> getByFamily(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") instanceof Number
-            ? ((Number) params.get("familyId")).longValue()
-            : Long.parseLong(params.get("familyId").toString());
+    public Result<Map<Long, List<FoodRecommendIndex>>> getByFamily(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Map<Long, List<FoodRecommendIndex>> result = foodRecommendService.getByFamily(familyId);
         return Result.success(result);
     }

+ 30 - 13
cfc-backend/src/main/java/com/etotem/cfc/controller/HealthCircleController.java

@@ -17,40 +17,57 @@ public class HealthCircleController {
     private HealthCircleService healthCircleService;
 
     @PostMapping("/list")
-    public Result<List<HealthCircle>> list(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+    public Result<List<HealthCircle>> list(
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         return Result.success(healthCircleService.getUserCircles(familyId));
     }
 
     @PostMapping("/create")
-    public Result<HealthCircle> create(@RequestBody Map<String, Object> params) {
+    public Result<HealthCircle> create(
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         String name = params.get("name") != null ? params.get("name").toString() : null;
         String description = params.get("description") != null ? params.get("description").toString() : null;
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
         return healthCircleService.createCircle(name, description, familyId);
     }
 
     @PostMapping("/join")
-    public Result<Void> join(@RequestBody Map<String, Object> params) {
+    public Result<Void> join(
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         String inviteCode = params.get("inviteCode") != null ? params.get("inviteCode").toString() : null;
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
         return healthCircleService.joinCircle(inviteCode, familyId);
     }
 
     @PostMapping("/leave")
-    public Result<Void> leave(@RequestBody Map<String, Object> params) {
+    public Result<Void> leave(
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long circleId = params.get("circleId") != null
                 ? Long.valueOf(params.get("circleId").toString()) : null;
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
         return healthCircleService.leaveCircle(circleId, familyId);
     }
 
     @PostMapping("/ranking")
-    public Result<Map<String, Object>> ranking(@RequestBody Map<String, Object> params) {
+    public Result<Map<String, Object>> ranking(
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long circleId = params.get("circleId") != null
                 ? Long.valueOf(params.get("circleId").toString()) : null;
         return Result.success(healthCircleService.getCircleRanking(circleId));

+ 6 - 4
cfc-backend/src/main/java/com/etotem/cfc/controller/HealthInteractionController.java

@@ -16,16 +16,18 @@ public class HealthInteractionController {
 
     @PostMapping("/like")
     public Result<Void> like(@RequestBody Map<String, Object> params,
-                             @RequestAttribute("userId") Long userId,
-                             @RequestAttribute("role") String role) {
+                              @RequestAttribute("userId") Long userId,
+                              @RequestAttribute("role") String role,
+                              @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long toUserId = params.get("toUserId") != null
                 ? Long.valueOf(params.get("toUserId").toString()) : null;
         String actionType = params.get("actionType") != null
                 ? params.get("actionType").toString() : null;
         Long actionId = params.get("actionId") != null
                 ? Long.valueOf(params.get("actionId").toString()) : null;
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
         return healthInteractionService.like(userId, toUserId, actionType, actionId, familyId);
     }
 }

+ 157 - 0
cfc-backend/src/main/java/com/etotem/cfc/controller/HealthKnowledgeBaseController.java

@@ -5,6 +5,7 @@ import com.etotem.cfc.entity.HealthKnowledgeBase;
 import com.etotem.cfc.service.HealthKnowledgeBaseService;
 import com.etotem.cfc.service.KnowledgeBaseDataImporter;
 import com.etotem.cfc.service.KnowledgeBaseV3Service;
+import com.etotem.cfc.service.UnifiedKnowledgeBaseService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
@@ -31,6 +32,9 @@ public class HealthKnowledgeBaseController {
     @Resource
     private KnowledgeBaseV3Service knowledgeBaseV3Service;
 
+    @Resource
+    private UnifiedKnowledgeBaseService unifiedKnowledgeBaseService;
+
     @Operation(summary = "查询知识库条目")
     @PostMapping("/query")
     public Result<HealthKnowledgeBase> query(@RequestBody Map<String, String> params) {
@@ -153,4 +157,157 @@ public class HealthKnowledgeBaseController {
         Object data = knowledgeBaseV3Service.getSection(section);
         return Result.success(data);
     }
+
+    // ==================== 统一知识库端点(knowledge_base_section 表,DB为源) ====================
+
+    @Operation(summary = "统一知识库-模块概览(全部12模块及条目数)")
+    @PostMapping("/unified/overview")
+    public Result<Map<String, Object>> unifiedOverview() {
+        return Result.success(unifiedKnowledgeBaseService.getModuleOverview());
+    }
+
+    @Operation(summary = "统一知识库-按模块获取原始内容")
+    @PostMapping("/unified/section")
+    public Result<Map<String, Object>> unifiedSection(@RequestBody Map<String, String> params) {
+        String moduleKey = params.get("moduleKey");
+        if (moduleKey == null || moduleKey.isEmpty()) {
+            return Result.error("moduleKey不能为空");
+        }
+        Map<String, Object> data = unifiedKnowledgeBaseService.getSection(moduleKey);
+        if (data == null) {
+            return Result.error("模块不存在: " + moduleKey);
+        }
+        return Result.success(data);
+    }
+
+    @Operation(summary = "统一知识库-查询菌属功能(学名/中文名,支持属级回退)")
+    @PostMapping("/unified/bacteria/query")
+    public Result<Map<String, Object>> unifiedQueryBacteria(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupBacteria(name));
+    }
+
+    @Operation(summary = "统一知识库-批量查询菌属")
+    @PostMapping("/unified/bacteria/batch-query")
+    public Result<Map<String, Map<String, Object>>> unifiedBatchQueryBacteria(@RequestBody Map<String, Object> params) {
+        @SuppressWarnings("unchecked")
+        List<String> names = (List<String>) params.get("names");
+        if (names == null || names.isEmpty()) {
+            return Result.error("names不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.batchLookupBacteria(names));
+    }
+
+    @Operation(summary = "统一知识库-按分组获取菌属列表")
+    @PostMapping("/unified/bacteria/group")
+    public Result<List<Map<String, Object>>> unifiedBacteriaByGroup(@RequestBody Map<String, String> params) {
+        String group = params.get("group");
+        if (group == null || group.isEmpty()) {
+            return Result.error("group不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.getBacteriaByGroup(group));
+    }
+
+    @Operation(summary = "统一知识库-查询指标调整建议(遍历24类别)")
+    @PostMapping("/unified/indicator/query")
+    public Result<Map<String, Object>> unifiedQueryIndicator(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupIndicator(name));
+    }
+
+    @Operation(summary = "统一知识库-获取指标类别(含标准范围/状态分级/指标列表)")
+    @PostMapping("/unified/indicator/category")
+    public Result<Map<String, Object>> unifiedIndicatorCategory(@RequestBody Map<String, String> params) {
+        String category = params.get("category");
+        if (category == null || category.isEmpty()) {
+            return Result.error("category不能为空");
+        }
+        Map<String, Object> data = unifiedKnowledgeBaseService.getIndicatorCategory(category);
+        if (data == null) {
+            return Result.error("类别不存在: " + category);
+        }
+        return Result.success(data);
+    }
+
+    @Operation(summary = "统一知识库-查询食物营养数据")
+    @PostMapping("/unified/food/query")
+    public Result<Map<String, Object>> unifiedQueryFood(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupFood(name));
+    }
+
+    @Operation(summary = "统一知识库-查询营养素参考")
+    @PostMapping("/unified/nutrient/query")
+    public Result<Map<String, Object>> unifiedQueryNutrient(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupNutrient(name));
+    }
+
+    @Operation(summary = "统一知识库-查询菌-疾病关联(疾病键→关联菌种)")
+    @PostMapping("/unified/disease/query")
+    public Result<Map<String, Object>> unifiedQueryDisease(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupDisease(name));
+    }
+
+    @Operation(summary = "统一知识库-查询菌种综合信息")
+    @PostMapping("/unified/species-info/query")
+    public Result<Map<String, Object>> unifiedQuerySpeciesInfo(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupSpeciesInfo(name));
+    }
+
+    @Operation(summary = "统一知识库-查询菌种功能详细描述")
+    @PostMapping("/unified/species-desc/query")
+    public Result<Map<String, Object>> unifiedQuerySpeciesDesc(@RequestBody Map<String, String> params) {
+        String name = params.get("name");
+        if (name == null || name.isEmpty()) {
+            return Result.error("name不能为空");
+        }
+        return Result.success(unifiedKnowledgeBaseService.lookupSpeciesDesc(name));
+    }
+
+    @Operation(summary = "统一知识库-获取菌属-食材映射全量")
+    @PostMapping("/unified/genus-food-mapping/list")
+    public Result<List<Map<String, Object>>> unifiedGenusFoodMapping() {
+        return Result.success(unifiedKnowledgeBaseService.getGenusFoodMapping());
+    }
+
+    @Operation(summary = "统一知识库-获取营养素标准参考(状态分类+正常参考范围)")
+    @PostMapping("/unified/nutrient-standard/get")
+    public Result<Map<String, Object>> unifiedNutrientStandard() {
+        return Result.success(unifiedKnowledgeBaseService.getNutrientStandard());
+    }
+
+    @Operation(summary = "统一知识库-获取健康评分标准")
+    @PostMapping("/unified/health-score/get")
+    public Result<Map<String, Object>> unifiedHealthScore() {
+        return Result.success(unifiedKnowledgeBaseService.getHealthScoreStandard());
+    }
+
+    @Operation(summary = "统一知识库-从classpath种子重新导入(force=true强制覆盖DB)")
+    @PostMapping("/unified/import")
+    public Result<String> unifiedImport(@RequestBody(required = false) Map<String, String> params) {
+        boolean force = params != null && Boolean.parseBoolean(params.get("force"));
+        String msg = unifiedKnowledgeBaseService.importFromClasspath(force);
+        return Result.success(msg);
+    }
 }

+ 21 - 14
cfc-backend/src/main/java/com/etotem/cfc/controller/HealthReportController.java

@@ -116,8 +116,13 @@ public class HealthReportController {
     public Result<HealthReport> createReport(
             @RequestBody Map<String, Object> params,
             @RequestAttribute("userId") Long userId,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
 
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
+
         Long memberId = params.get("memberId") != null
                 ? Long.valueOf(params.get("memberId").toString()) : currentMemberId;
         if (memberId == null) {
@@ -194,7 +199,11 @@ public class HealthReportController {
     @PostMapping("/report/latest")
     public Result<HealthReport> getLatestReport(
             @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long memberId = params.get("memberId") != null
                 ? Long.valueOf(params.get("memberId").toString()) : currentMemberId;
         if (memberId == null) {
@@ -692,11 +701,9 @@ public class HealthReportController {
     @Operation(summary = "获取未绑定的报告列表")
     @PostMapping("/report/unlinked")
     public Result<List<HealthReport>> getUnlinkedReports(
-            @RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+            @RequestAttribute("familyId") Long familyId) {
         if (familyId == null) {
-            return Result.error("familyId不能为空");
+            return Result.noFamily("请先创建或加入家庭");
         }
         List<HealthReport> reports = healthReportService.getUnlinkedReports(familyId);
         return Result.success(reports);
@@ -890,10 +897,10 @@ public class HealthReportController {
 
     @Operation(summary = "获取家庭成员食材推荐(含完整营养数据)")
     @PostMapping("/foods/by-family")
-    public Result<Map<String, Object>> getFoodsByFamily(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") instanceof Number
-                ? ((Number) params.get("familyId")).longValue()
-                : Long.parseLong(params.get("familyId").toString());
+    public Result<Map<String, Object>> getFoodsByFamily(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
 
         Map<Long, List<FoodRecommendIndex>> byMember = foodRecommendService.getByFamily(familyId);
 
@@ -959,23 +966,23 @@ public class HealthReportController {
     @PostMapping("/report/auto-create-member")
     public Result<Map<String, Object>> autoCreateMember(
             @RequestBody Map<String, Object> params,
-            @RequestAttribute("userId") Long userId) {
+            @RequestAttribute("userId") Long userId,
+            @RequestAttribute("familyId") Long familyId) {
+
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
 
         String name = (String) params.get("name");
         String gender = (String) params.get("gender");
         Object ageObj = params.get("age");
         Integer age = ageObj != null ? Integer.parseInt(ageObj.toString()) : null;
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
         Long draftId = params.get("draftId") != null
                 ? Long.valueOf(params.get("draftId").toString()) : null;
 
         if (name == null || name.trim().isEmpty()) {
             return Result.error("姓名不能为空");
         }
-        if (familyId == null) {
-            return Result.error("familyId不能为空");
-        }
 
         try {
             String fileUrl = null;

+ 13 - 11
cfc-backend/src/main/java/com/etotem/cfc/controller/PromotionController.java

@@ -19,7 +19,11 @@ public class PromotionController {
     private FamilyCommissionService familyCommissionService;
 
     @PostMapping("/bind")
-    public Result<Object> bind(@RequestBody Map<String, Object> params) {
+    public Result<Object> bind(@RequestBody Map<String, Object> params,
+                               @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         String inviteCode = params.get("inviteCode") != null ? params.get("inviteCode").toString() : null;
         Long promoterFamilyId = params.get("promoterFamilyId") != null
                 ? Long.valueOf(params.get("promoterFamilyId").toString()) : null;
@@ -34,14 +38,13 @@ public class PromotionController {
     }
 
     @PostMapping("/commission/list")
-    public Result<Map<String, Object>> commissionList(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
-        int page = params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
-        int size = params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 20;
+    public Result<Map<String, Object>> commissionList(@RequestAttribute("familyId") Long familyId,
+                                                      @RequestBody Map<String, Object> params) {
         if (familyId == null) {
-            return Result.error("家庭ID不能为空");
+            return Result.noFamily("请先创建或加入家庭");
         }
+        int page = params.get("page") != null ? Integer.valueOf(params.get("page").toString()) : 1;
+        int size = params.get("size") != null ? Integer.valueOf(params.get("size").toString()) : 20;
         Page<FamilyCommission> pageResult = familyCommissionService.getCommissionList(familyId, page, size);
         Map<String, Object> result = new java.util.HashMap<>();
         result.put("records", pageResult.getRecords());
@@ -52,11 +55,10 @@ public class PromotionController {
     }
 
     @PostMapping("/bindings/list")
-    public Result<List> bindingsList(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+    public Result<List> bindingsList(@RequestAttribute("familyId") Long familyId,
+                                     @RequestBody Map<String, Object> params) {
         if (familyId == null) {
-            return Result.error("家庭ID不能为空");
+            return Result.noFamily("请先创建或加入家庭");
         }
         List bindings = familyCommissionService.getBindings(familyId);
         return Result.success(bindings);

+ 10 - 4
cfc-backend/src/main/java/com/etotem/cfc/controller/ReportStatsController.java

@@ -147,8 +147,11 @@ public class ReportStatsController {
 
     @Operation(summary = "家庭汇总统计")
     @PostMapping("/family/summary")
-    public Result<Map<String, Object>> familySummary(@RequestBody Map<String, Object> body) {
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+    public Result<Map<String, Object>> familySummary(@RequestBody Map<String, Object> body,
+                                                     @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         List<FamilyMember> children = familyMemberMapper.selectList(
                 new LambdaQueryWrapper<FamilyMember>().eq(FamilyMember::getFamilyId, familyId));
 
@@ -191,8 +194,11 @@ public class ReportStatsController {
 
     @Operation(summary = "积分排行榜(家庭内)")
     @PostMapping("/points/ranking")
-    public Result<List<Map<String, Object>>> pointsRanking(@RequestBody Map<String, Object> body) {
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+    public Result<List<Map<String, Object>>> pointsRanking(@RequestBody Map<String, Object> body,
+                                                           @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         List<FamilyMember> children = familyMemberMapper.selectList(
                 new LambdaQueryWrapper<FamilyMember>()
                         .eq(FamilyMember::getFamilyId, familyId)

+ 4 - 3
cfc-backend/src/main/java/com/etotem/cfc/controller/ShareController.java

@@ -107,9 +107,10 @@ public class ShareController {
 
     @Operation(summary = "获取家庭健康足迹(P3分享页)")
     @PostMapping("/family-footprint")
-    public Result<Map<String, Object>> familyFootprint(@RequestBody Map<String, Object> params) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
+    public Result<Map<String, Object>> familyFootprint(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         return Result.success(shareService.getFamilyFootprint(familyId));
     }
 

+ 3 - 9
cfc-backend/src/main/java/com/etotem/cfc/controller/assessment/AssessmentComparisonController.java

@@ -67,15 +67,9 @@ public class AssessmentComparisonController {
     @Operation(summary = "对比家庭所有孩子首次与最新测评")
     @PostMapping("/by-family")
     public Result<List<AssessmentComparisonService.CompareResult>> compareByFamily(
-            @RequestBody Map<String, Object> params,
-            @RequestAttribute(value = "userId", required = false) Long userId) {
-        Long familyId = params.get("familyId") != null
-                ? Long.valueOf(params.get("familyId").toString()) : null;
-        if (familyId == null && userId != null) {
-            User user = userMapper.selectById(userId);
-            if (user != null) {
-                familyId = user.getFamilyId();
-            }
+            @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
         }
         if (familyId == null) {
             return Result.error("familyId不能为空");

+ 112 - 25
cfc-backend/src/main/java/com/etotem/cfc/controller/family/FamilyInviteController.java

@@ -12,6 +12,7 @@ import com.etotem.cfc.entity.User;
 import com.etotem.cfc.mapper.FamilyMapper;
 import com.etotem.cfc.mapper.UserMapper;
 import com.etotem.cfc.service.FamilyInvitationService;
+import com.etotem.cfc.service.FamilyJoinRequestService;
 import com.etotem.cfc.service.QrCodeService;
 import com.etotem.cfc.service.WechatService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -48,6 +49,9 @@ public class FamilyInviteController {
     @Resource
     private FamilyInvitationService familyInvitationService;
 
+    @Resource
+    private FamilyJoinRequestService familyJoinRequestService;
+
     @Resource
     private WechatService wechatService;
 
@@ -95,11 +99,11 @@ public class FamilyInviteController {
     }
 
     /**
-     * 通过邀请码接受邀请并加入家庭
+     * 通过邀请码提交加入家庭请求(需管理员审批)
      */
-    @Operation(summary = "通过邀请码加入家庭")
-    @PostMapping("/accept-by-code")
-    public Result<String> acceptByCode(@RequestBody Map<String, String> body,
+    @Operation(summary = "通过邀请码申请加入家庭")
+    @PostMapping("/request-join-by-code")
+    public Result<Map<String, Object>> requestJoinByCode(@RequestBody Map<String, String> body,
         @RequestAttribute("userId") Long userId) {
         if (userId == null) {
             return Result.error("请先登录");
@@ -110,35 +114,118 @@ public class FamilyInviteController {
             return Result.error("邀请码不能为空");
         }
 
-        // 查找家庭
-        com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<Family> wrapper =
-                new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<>();
-        wrapper.eq(Family::getInviteCode, inviteCode.trim());
-        Family family = familyMapper.selectOne(wrapper);
+        try {
+            com.etotem.cfc.entity.FamilyJoinRequest request = familyJoinRequestService.createJoinRequest(userId, inviteCode);
+            Family family = familyMapper.selectById(request.getTargetFamilyId());
+            Map<String, Object> result = new HashMap<>();
+            result.put("requestId", request.getId());
+            result.put("familyName", family != null ? family.getName() : "");
+            return Result.success("申请已提交,等待家庭管理员审批", result);
+        } catch (Exception e) {
+            return Result.error(e.getMessage());
+        }
+    }
 
-        if (family == null) {
-            return Result.error("邀请码无效");
+    /**
+     * 管理员审批加入请求
+     */
+    @Operation(summary = "审批加入请求")
+    @PostMapping("/approve-request")
+    public Result<Void> approveJoinRequest(@RequestBody Map<String, Object> body,
+        @RequestAttribute("userId") Long adminUserId) {
+        if (adminUserId == null) {
+            return Result.error("请先登录");
+        }
+        Long requestId = body.get("requestId") != null ? Long.valueOf(body.get("requestId").toString()) : null;
+        String comment = body.get("comment") != null ? body.get("comment").toString() : "";
+        if (requestId == null) {
+            return Result.error("请求ID不能为空");
         }
+        try {
+            familyJoinRequestService.approveJoinRequest(requestId, adminUserId, comment);
+            return Result.success();
+        } catch (Exception e) {
+            return Result.error(e.getMessage());
+        }
+    }
 
-        User currentUser = userMapper.selectById(userId);
-        if (currentUser == null) {
-            return Result.error("用户不存在");
+    /**
+     * 管理员拒绝加入请求
+     */
+    @Operation(summary = "拒绝加入请求")
+    @PostMapping("/reject-request")
+    public Result<Void> rejectJoinRequest(@RequestBody Map<String, Object> body,
+        @RequestAttribute("userId") Long adminUserId) {
+        if (adminUserId == null) {
+            return Result.error("请先登录");
+        }
+        Long requestId = body.get("requestId") != null ? Long.valueOf(body.get("requestId").toString()) : null;
+        String comment = body.get("comment") != null ? body.get("comment").toString() : "";
+        if (requestId == null) {
+            return Result.error("请求ID不能为空");
+        }
+        try {
+            familyJoinRequestService.rejectJoinRequest(requestId, adminUserId, comment);
+            return Result.success();
+        } catch (Exception e) {
+            return Result.error(e.getMessage());
         }
+    }
 
-        if (currentUser.getFamilyId() != null) {
-            if (currentUser.getFamilyId().equals(family.getId())) {
-                return Result.success("已在该家庭中");
-            }
-            familyInvitationService.mergeIntoFamily(userId, family.getId());
-            return Result.success("加入家庭成功(已合并原家庭)");
+    /**
+     * 查询家庭待审批请求列表
+     */
+    @Operation(summary = "查询待审批加入请求")
+    @PostMapping("/pending-requests")
+    public Result<java.util.List<com.etotem.cfc.dto.FamilyJoinRequestDTO>> getPendingRequests(
+        @RequestAttribute("familyId") Long familyId,
+        @RequestAttribute("userId") Long userId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
+        // 验证管理员身份
+        User admin = userMapper.selectById(userId);
+        if (admin == null || !admin.getFamilyId().equals(familyId)
+                || !Boolean.TRUE.equals(admin.getIsFamilyAdmin())) {
+            return Result.error("只有家庭管理员才能查看待审批请求");
         }
+        return Result.success(familyJoinRequestService.getPendingRequests(familyId));
+    }
 
-        // 加入家庭
-        currentUser.setFamilyId(family.getId());
-        currentUser.setUpdatedAt(new Date());
-        userMapper.updateById(currentUser);
+    /**
+     * 查询用户自己的待审批请求
+     */
+    @Operation(summary = "查询我的加入请求")
+    @PostMapping("/my-request")
+    public Result<com.etotem.cfc.dto.FamilyJoinRequestDTO> getMyRequest(
+        @RequestAttribute("userId") Long userId) {
+        if (userId == null) {
+            return Result.error("请先登录");
+        }
+        com.etotem.cfc.dto.FamilyJoinRequestDTO dto = familyJoinRequestService.getMyPendingRequest(userId);
+        return Result.success(dto);
+    }
 
-        return Result.success("加入家庭成功");
+    /**
+     * 取消用户自己的加入请求
+     */
+    @Operation(summary = "取消加入请求")
+    @PostMapping("/cancel-request")
+    public Result<Void> cancelJoinRequest(@RequestBody Map<String, Object> body,
+        @RequestAttribute("userId") Long userId) {
+        if (userId == null) {
+            return Result.error("请先登录");
+        }
+        Long requestId = body.get("requestId") != null ? Long.valueOf(body.get("requestId").toString()) : null;
+        if (requestId == null) {
+            return Result.error("请求ID不能为空");
+        }
+        try {
+            familyJoinRequestService.cancelJoinRequest(userId, requestId);
+            return Result.success();
+        } catch (Exception e) {
+            return Result.error(e.getMessage());
+        }
     }
 
     /**

+ 17 - 15
cfc-backend/src/main/java/com/etotem/cfc/controller/family/InteractionLogController.java

@@ -65,24 +65,26 @@ public class InteractionLogController {
 @Operation(summary = "查询互动记录列表")
 @PostMapping("/list")
 public Result<Page<InteractionLogVO>> listInteractions(@RequestBody Map<String, Object> body,
- @RequestAttribute("userId") Long userId) {
+ @RequestAttribute("userId") Long userId,
+ @RequestAttribute("familyId") Long familyId) {
  if (userId == null) {
-   return Result.error("请先登录");
+  return Result.error("请先登录");
  }
-        Long familyId = body.get("familyId") != null
-                ? Long.valueOf(body.get("familyId").toString()) : null;
-        Long fromMemberId = body.get("fromMemberId") != null
-                ? Long.valueOf(body.get("fromMemberId").toString()) : null;
-        Long toMemberId = body.get("toMemberId") != null
-                ? Long.valueOf(body.get("toMemberId").toString()) : null;
-        Integer page = body.get("page") != null
-                ? Integer.valueOf(body.get("page").toString()) : 1;
-        Integer size = body.get("size") != null
-                ? Integer.valueOf(body.get("size").toString()) : 10;
+         if (familyId == null) {
+             return Result.noFamily("请先创建或加入家庭");
+         }
+         Long fromMemberId = body.get("fromMemberId") != null
+                 ? Long.valueOf(body.get("fromMemberId").toString()) : null;
+         Long toMemberId = body.get("toMemberId") != null
+                 ? Long.valueOf(body.get("toMemberId").toString()) : null;
+         Integer page = body.get("page") != null
+                 ? Integer.valueOf(body.get("page").toString()) : 1;
+         Integer size = body.get("size") != null
+                 ? Integer.valueOf(body.get("size").toString()) : 10;
 
-        if (familyId != null && !familyMemberService.isCallerInFamily(familyId, userId)) {
-          return Result.error("无权查看其他家庭的互动记录");
-        }
+         if (!familyMemberService.isCallerInFamily(familyId, userId)) {
+           return Result.error("无权查看其他家庭的互动记录");
+         }
         if (fromMemberId != null && !familyMemberService.isCallerInSameFamily(fromMemberId, userId)) {
           return Result.error("无权查看其他家庭成员的互动记录");
         }

+ 38 - 43
cfc-backend/src/main/java/com/etotem/cfc/controller/family/RelationshipQualityController.java

@@ -27,41 +27,15 @@ public class RelationshipQualityController {
     @Resource
     private UserMapper userMapper;
 
-private Long getFamilyIdFromRequest(Long userId, Map<String, Object> body) {
- // 优先从请求体获取
- if (body != null && body.get("familyId") != null) {
-   try {
-     return Long.valueOf(body.get("familyId").toString());
-   } catch (NumberFormatException e) {
-     // familyId不是有效数字(如前端传了{}),fallthrough到JWT用户推导
-   }
- }
- // 从JWT用户推导
- if (userId == null) {
-   return null;
- }
- User user = userMapper.selectById(userId);
- if (user == null) {
-   return null;
- }
- return user.getFamilyId();
-}
-
-@Operation(summary = "获取家庭成员关系质量评分")
-@PostMapping("/scores")
-public Result<List<RelationshipScoreVO>> getScores(@RequestBody Map<String, Object> body,
-@RequestAttribute("userId") Long userId) {
- if (userId == null) {
-   return Result.error("请先登录");
- }
- Long familyId = body.get("familyId") != null
- ? Long.valueOf(body.get("familyId").toString()) : null;
- if (familyId == null) {
-   return Result.error("familyId不能为空");
- }
- List<RelationshipScoreVO> scores = relationshipQualityService.getScores(familyId);
- return Result.success(scores);
-}
+    @Operation(summary = "获取家庭成员关系质量评分")
+    @PostMapping("/scores")
+    public Result<List<RelationshipScoreVO>> getScores(@RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
+        List<RelationshipScoreVO> scores = relationshipQualityService.getScores(familyId);
+        return Result.success(scores);
+    }
 
     @Operation(summary = "计算并保存成员关系质量评分")
     @PostMapping("/calculate")
@@ -82,32 +56,53 @@ public Result<List<RelationshipScoreVO>> getScores(@RequestBody Map<String, Obje
     @Operation(summary = "获取健康预警列表")
     @PostMapping("/health-alerts")
     public Result<List<HealthAlertVO>> getHealthAlerts(@RequestBody Map<String, Object> body,
-                                                       @RequestAttribute("userId") Long userId) {
+                                                      @RequestAttribute("userId") Long userId,
+                                                      @RequestAttribute("familyId") Long familyId) {
         if (userId == null) {
             return Result.error("请先登录");
         }
-        Long familyId = getFamilyIdFromRequest(userId, body);
-        if (familyId == null) {
+        Long familyIdFromAttr = getFamilyIdFromRequest(userId, body, familyId);
+        if (familyIdFromAttr == null) {
             return Result.success(Collections.emptyList());
         }
-        List<HealthAlertVO> alerts = relationshipQualityService.getHealthAlerts(familyId);
+        List<HealthAlertVO> alerts = relationshipQualityService.getHealthAlerts(familyIdFromAttr);
         return Result.success(alerts);
     }
 
     @Operation(summary = "获取即将到来的里程碑")
     @PostMapping("/milestones")
     public Result<List<MilestoneVO>> getMilestones(@RequestBody Map<String, Object> body,
-                                                   @RequestAttribute("userId") Long userId) {
+                                                    @RequestAttribute("userId") Long userId,
+                                                    @RequestAttribute("familyId") Long familyId) {
         if (userId == null) {
             return Result.error("请先登录");
         }
-        Long familyId = getFamilyIdFromRequest(userId, body);
-        if (familyId == null) {
+        Long familyIdFromAttr = getFamilyIdFromRequest(userId, body, familyId);
+        if (familyIdFromAttr == null) {
             return Result.success(Collections.emptyList());
         }
         Integer daysAhead = body != null && body.get("daysAhead") != null
                 ? Integer.valueOf(body.get("daysAhead").toString()) : 7;
-        List<MilestoneVO> milestones = relationshipQualityService.getMilestones(familyId, daysAhead);
+        List<MilestoneVO> milestones = relationshipQualityService.getMilestones(familyIdFromAttr, daysAhead);
         return Result.success(milestones);
     }
+
+    /**
+     * 解析请求中的家庭ID:优先请求体中的familyId,其次request attribute,最后回退用户所属家庭
+     */
+    private Long getFamilyIdFromRequest(Long userId, Map<String, Object> body, Long familyId) {
+        if (body != null && body.get("familyId") != null) {
+            return Long.valueOf(body.get("familyId").toString());
+        }
+        if (familyId != null) {
+            return familyId;
+        }
+        if (userId != null) {
+            User user = userMapper.selectById(userId);
+            if (user != null) {
+                return user.getFamilyId();
+            }
+        }
+        return null;
+    }
 }

+ 9 - 4
cfc-backend/src/main/java/com/etotem/cfc/controller/growth/GrowthRecordController.java

@@ -60,7 +60,11 @@ public class GrowthRecordController {
     public Result<Map<String, Object>> createRecordWithOrder(
             @RequestBody Map<String, Object> body,
             @RequestAttribute("userId") Long userId,
+            @RequestAttribute("familyId") Long familyId,
             @RequestAttribute(value = "currentMemberId", required = false) Long currentMemberId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         GrowthRecord record = new GrowthRecord();
         Long memberId = body.get("memberId") != null ? Long.valueOf(body.get("memberId").toString()) : currentMemberId;
         if (memberId != null) {
@@ -89,13 +93,14 @@ public class GrowthRecordController {
         result.put("order", null);
 
         if (alsoPurchase) {
-            Long familyId = body.get("familyId") != null
-                    ? Long.valueOf(body.get("familyId").toString()) : null;
             Long packageId = body.get("packageId") != null
                     ? Long.valueOf(body.get("packageId").toString()) : null;
 
-            if (familyId == null || packageId == null) {
-                return Result.error("购买测评需要 familyId 和 packageId");
+            if (packageId == null) {
+                return Result.error("购买测评需要 packageId");
+            }
+            if (familyId == null) {
+                return Result.noFamily("请先创建或加入家庭");
             }
 
             Family family = familyMapper.selectById(familyId);

+ 4 - 5
cfc-backend/src/main/java/com/etotem/cfc/controller/guide/GuideAssessmentController.java

@@ -33,18 +33,17 @@ public class GuideAssessmentController {
     @PostMapping("/family/enable")
     public Result<Boolean> enableFamilyAssessment(
             @RequestAttribute("userId") Long teacherId,
+            @RequestAttribute("familyId") Long familyId,
             @RequestBody Map<String, Object> body) {
 
-        Long familyId = Long.valueOf(body.get("familyId").toString());
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Long materialId = body.get("materialId") != null
             ? Long.valueOf(body.get("materialId").toString()) : null;
         Integer remindMonths = body.get("remindMonths") != null
             ? Integer.valueOf(body.get("remindMonths").toString()) : 12;
 
-        if (familyId == null) {
-            return Result.error("家庭ID不能为空");
-        }
-
         AssessmentMaterial material = assessmentService.getActiveMaterial();
         if (material != null && materialId == null) {
             materialId = material.getId();

+ 3 - 3
cfc-backend/src/main/java/com/etotem/cfc/controller/guide/GuideController.java

@@ -109,13 +109,13 @@ public class GuideController {
 
     @PostMapping("/parent-invite/generate")
     public Result<Map<String, Object>> generateParentInvite(@RequestBody Map<String, Object> params,
-        @RequestAttribute("userId") Long userId) {
+        @RequestAttribute("userId") Long userId,
+        @RequestAttribute("familyId") Long familyId) {
         if (userId == null) {
             return Result.error("未登录");
         }
-        Long familyId = params.get("familyId") != null ? Long.valueOf(params.get("familyId").toString()) : null;
         if (familyId == null) {
-            return Result.error("家庭ID不能为空");
+            return Result.noFamily("请先创建或加入家庭");
         }
         InviteCard card = inviteCardService.generate("parent_invite", familyId, userId);
         Map<String, Object> data = new java.util.HashMap<>();

+ 2 - 2
cfc-backend/src/main/java/com/etotem/cfc/controller/guide/PlanReviewController.java

@@ -38,11 +38,11 @@ public class PlanReviewController {
     @PostMapping("/family-list")
     public Result<List<TaskPlanInstance>> listFamilyPlans(@RequestBody Map<String, Object> body,
                                                            @RequestAttribute("userId") Long userId,
-                                                           @RequestAttribute("role") String role) {
+                                                           @RequestAttribute("role") String role,
+                                                           @RequestAttribute("familyId") Long familyId) {
         if (!"teacher".equals(role) && !"admin".equals(role)) {
             return Result.error("无权限");
         }
-        Long familyId = body.get("familyId") != null ? Long.valueOf(body.get("familyId").toString()) : null;
         String status = (String) body.get("status");
         if (familyId == null) return Result.error("familyId required");
         LambdaQueryWrapper<TaskPlanInstance> w = new LambdaQueryWrapper<TaskPlanInstance>()

+ 6 - 3
cfc-backend/src/main/java/com/etotem/cfc/controller/guide/TeacherMessageController.java

@@ -32,15 +32,18 @@ public class TeacherMessageController {
     @Operation(summary = "家长发送咨询")
     @PostMapping("/send")
     public Result<Long> sendMessage(@RequestAttribute("userId") Long parentId,
+                                     @RequestAttribute("familyId") Long familyId,
                                      @RequestBody Map<String, Object> body) {
-        if (body.get("familyId") == null || body.get("teacherId") == null) {
-            return Result.error("缺少必要参数: familyId/teacherId");
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
+        if (body.get("teacherId") == null) {
+            return Result.error("缺少必要参数: teacherId");
         }
         String content = (String) body.get("content");
         if (content == null || content.trim().isEmpty()) {
             return Result.error("消息内容不能为空");
         }
-        Long familyId = Long.valueOf(body.get("familyId").toString());
         Long teacherId = Long.valueOf(body.get("teacherId").toString());
 
         Long messageId = teacherMessageService.sendMessage(familyId, parentId, teacherId, content);

+ 5 - 2
cfc-backend/src/main/java/com/etotem/cfc/controller/mind/TraditionalMirrorController.java

@@ -11,6 +11,7 @@ import com.etotem.cfc.service.CompatibilityService;
 import com.etotem.cfc.service.FamilyMemberAttributeService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -83,9 +84,11 @@ public class TraditionalMirrorController {
      * Get family dashboard: all members + family wuxing + pairwise summaries + weekly insight
      */
     @PostMapping("/family-dashboard")
-    public Result<?> familyDashboard(@RequestBody Map<String, Object> params) {
+    public Result<?> familyDashboard(@RequestAttribute("familyId") Long familyId) {
         try {
-            Long familyId = Long.valueOf(params.get("familyId").toString());
+            if (familyId == null) {
+                return Result.noFamily("请先创建或加入家庭");
+            }
             FamilyDashboardVO dashboard = compatibilityService.getFamilyDashboard(familyId, null, null);
             return Result.success(dashboard);
         } catch (Exception e) {

+ 5 - 4
cfc-backend/src/main/java/com/etotem/cfc/controller/recommendation/ProductRecommendationController.java

@@ -26,15 +26,16 @@ public class ProductRecommendationController {
 
     @Operation(summary = "获取维度页推荐商品")
     @PostMapping("/dimension-products")
-    public Result<List<Map<String, Object>>> getDimensionProducts(@RequestBody Map<String, Object> params) {
+    public Result<List<Map<String, Object>>> getDimensionProducts(@RequestBody Map<String, Object> params,
+                                                                  @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         String dimensionCode = (String) params.get("dimensionCode");
         if (dimensionCode == null || dimensionCode.isEmpty()) {
             return Result.error("dimensionCode不能为空");
         }
 
-        Object familyIdObj = params.get("familyId");
-        Long familyId = familyIdObj != null ? toLong(familyIdObj) : null;
-
         Object memberIdObj = params.get("memberId");
         Long memberId = memberIdObj != null ? toLong(memberIdObj) : null;
 

+ 15 - 6
cfc-backend/src/main/java/com/etotem/cfc/controller/tianpan/TianpanController.java

@@ -29,8 +29,11 @@ public class TianpanController {
      * @return 天盘仪表盘数据
      */
     @PostMapping("/dashboard")
-    public Result<TianpanDashboardVO> dashboard(HttpServletRequest request, @RequestBody Map<String, Object> params) {
-        Long familyId = ((Number) params.get("familyId")).longValue();
+    public Result<TianpanDashboardVO> dashboard(HttpServletRequest request, @RequestBody Map<String, Object> params,
+                                                 @RequestAttribute("familyId") Long familyId) {
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Integer year = params.get("year") != null ? ((Number) params.get("year")).intValue() : null;
         Integer daysAhead = params.get("daysAhead") != null ? ((Number) params.get("daysAhead")).intValue() : 7;
         String viewerRole = (String) params.get("viewerRole");
@@ -157,9 +160,12 @@ public class TianpanController {
     @PostMapping("/daily-fortune")
     public Result<DailyFortuneVO> dailyFortune(
             HttpServletRequest request,
-            @RequestBody Map<String, Object> params) {
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
         
-        Long familyId = ((Number) params.get("familyId")).longValue();
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
 
         String role = (String) request.getAttribute("role");
         Long currentUserId = ((Number) request.getAttribute("userId")).longValue();
@@ -182,9 +188,12 @@ public class TianpanController {
     @PostMapping("/related-items")
     public Result<RelatedItemsVO> relatedItems(
             HttpServletRequest request,
-            @RequestBody Map<String, Object> params) {
+            @RequestBody Map<String, Object> params,
+            @RequestAttribute("familyId") Long familyId) {
         
-        Long familyId = ((Number) params.get("familyId")).longValue();
+        if (familyId == null) {
+            return Result.noFamily("请先创建或加入家庭");
+        }
         Integer daysAhead = params.get("daysAhead") != null ? ((Number) params.get("daysAhead")).intValue() : 7;
 
         String role = (String) request.getAttribute("role");

+ 2 - 3
cfc-backend/src/main/java/com/etotem/cfc/controller/wish/WishController.java

@@ -224,11 +224,10 @@ public class WishController {
     @PostMapping("/pending")
     public Result<List<WishDTO>> getPendingWishes(
             @RequestAttribute("userId") Long userId,
-            @RequestBody Map<String, Object> body) {
+            @RequestAttribute("familyId") Long familyId) {
         try {
-            Long familyId = body.get("familyId") != null ? Long.valueOf(body.get("familyId").toString()) : null;
             if (familyId == null) {
-                return Result.error("请指定家庭ID");
+                return Result.noFamily("请先创建或加入家庭");
             }
             List<WishDTO> wishes = wishService.getParentPendingWishes(familyId);
             return Result.success(wishes);

+ 21 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/FamilyJoinRequestDTO.java

@@ -0,0 +1,21 @@
+package com.etotem.cfc.dto;
+
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 家庭加入待审批请求 DTO
+ */
+@Data
+public class FamilyJoinRequestDTO implements Serializable {
+    private Long id;
+    private Long requesterUserId;
+    private String requesterNickname;
+    private String inviteCode;
+    private Long targetFamilyId;
+    private String targetFamilyName;
+    private String status; // pending / approved / rejected
+    private String adminComment;
+    private String createdAt;
+    private String updatedAt;
+}

+ 46 - 0
cfc-backend/src/main/java/com/etotem/cfc/entity/FamilyJoinRequest.java

@@ -0,0 +1,46 @@
+package com.etotem.cfc.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 家庭加入请求(待审批)
+ */
+@Data
+@TableName("family_join_requests")
+public class FamilyJoinRequest implements Serializable {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 请求加入的用户ID */
+    private Long requesterUserId;
+
+    /** 目标家庭ID */
+    private Long targetFamilyId;
+
+    /** 使用的方法:by_code / by_token */
+    private String joinMethod;
+
+    /** 邀请码或令牌 */
+    private String inviteRef;
+
+    /** 状态:pending / approved / rejected */
+    private String status;
+
+    /** 审批人(family admin)ID */
+    private Long approverUserId;
+
+    /** 审批备注 */
+    private String comment;
+
+    /** 创建时间 */
+    private Date createdAt;
+
+    /** 更新时间 */
+    private Date updatedAt;
+}

+ 38 - 0
cfc-backend/src/main/java/com/etotem/cfc/entity/KnowledgeBaseSection.java

@@ -0,0 +1,38 @@
+package com.etotem.cfc.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 统一知识库 — 按模块存储 JSON
+ * 12 个顶层模块各占一行(moduleKey 唯一),content 为该模块的 JSON 序列化内容
+ * DB 为查询源,classpath 种子文件兜底(首次启动自动导入)
+ */
+@Data
+@TableName("knowledge_base_section")
+public class KnowledgeBaseSection implements Serializable {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 模块键(如 食物营养库/菌属功能库/报告指标分级标准) */
+    private String moduleKey;
+
+    /** 模块中文名 */
+    private String moduleName;
+
+    /** 模块内容(JSON 序列化) */
+    private String content;
+
+    /** 数据版本(来自元数据.版本) */
+    private String version;
+
+    private Date createdAt;
+
+    private Date updatedAt;
+}

+ 9 - 0
cfc-backend/src/main/java/com/etotem/cfc/mapper/FamilyJoinRequestMapper.java

@@ -0,0 +1,9 @@
+package com.etotem.cfc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.etotem.cfc.entity.FamilyJoinRequest;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface FamilyJoinRequestMapper extends BaseMapper<FamilyJoinRequest> {
+}

+ 7 - 0
cfc-backend/src/main/java/com/etotem/cfc/mapper/KnowledgeBaseSectionMapper.java

@@ -0,0 +1,7 @@
+package com.etotem.cfc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.etotem.cfc.entity.KnowledgeBaseSection;
+
+public interface KnowledgeBaseSectionMapper extends BaseMapper<KnowledgeBaseSection> {
+}

+ 223 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/FamilyJoinRequestService.java

@@ -0,0 +1,223 @@
+package com.etotem.cfc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.etotem.cfc.dto.FamilyJoinRequestDTO;
+import com.etotem.cfc.entity.Family;
+import com.etotem.cfc.entity.FamilyJoinRequest;
+import com.etotem.cfc.entity.User;
+import com.etotem.cfc.mapper.FamilyJoinRequestMapper;
+import com.etotem.cfc.mapper.FamilyMapper;
+import com.etotem.cfc.mapper.UserMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+public class FamilyJoinRequestService {
+
+    @Resource
+    private FamilyJoinRequestMapper familyJoinRequestMapper;
+
+    @Resource
+    private FamilyMapper familyMapper;
+
+    @Resource
+    private UserMapper userMapper;
+
+    /**
+     * 创建家庭加入请求(待审批)
+     */
+    public FamilyJoinRequest createJoinRequest(Long userId, String inviteCode) {
+        // 查找家庭
+        Family family = familyMapper.selectOne(
+                new LambdaQueryWrapper<Family>()
+                        .eq(Family::getInviteCode, inviteCode.trim())
+        );
+        if (family == null) {
+            throw new RuntimeException("邀请码无效");
+        }
+
+        User currentUser = userMapper.selectById(userId);
+        if (currentUser == null) {
+            throw new RuntimeException("用户不存在");
+        }
+
+        // 检查用户是否已属于该家庭
+        if (currentUser.getFamilyId() != null && currentUser.getFamilyId().equals(family.getId())) {
+            throw new RuntimeException("您已是该家庭成员");
+        }
+
+        // 检查是否已有待审批的请求
+        FamilyJoinRequest existing = familyJoinRequestMapper.selectOne(
+                new LambdaQueryWrapper<FamilyJoinRequest>()
+                        .eq(FamilyJoinRequest::getRequesterUserId, userId)
+                        .eq(FamilyJoinRequest::getTargetFamilyId, family.getId())
+                        .eq(FamilyJoinRequest::getStatus, "pending")
+        );
+        if (existing != null) {
+            throw new RuntimeException("您已有待审批的加入请求,请勿重复提交");
+        }
+
+        // 创建请求
+        FamilyJoinRequest request = new FamilyJoinRequest();
+        request.setRequesterUserId(userId);
+        request.setTargetFamilyId(family.getId());
+        request.setJoinMethod("by_code");
+        request.setInviteRef(inviteCode.trim());
+        request.setStatus("pending");
+        request.setCreatedAt(new Date());
+        request.setUpdatedAt(new Date());
+        familyJoinRequestMapper.insert(request);
+
+        log.info("已创建家庭加入请求: userId={}, familyId={}, requestId={}", userId, family.getId(), request.getId());
+        return request;
+    }
+
+    /**
+     * 家庭管理员审批加入请求
+     */
+    public void approveJoinRequest(Long requestId, Long adminUserId, String comment) {
+        FamilyJoinRequest request = familyJoinRequestMapper.selectById(requestId);
+        if (request == null) {
+            throw new RuntimeException("加入请求不存在");
+        }
+        if (!"pending".equals(request.getStatus())) {
+            throw new RuntimeException("该请求已处理");
+        }
+
+        // 验证管理员身份
+        Family family = familyMapper.selectById(request.getTargetFamilyId());
+        if (family == null) {
+            throw new RuntimeException("目标家庭不存在");
+        }
+        User admin = userMapper.selectById(adminUserId);
+        if (admin == null || !admin.getFamilyId().equals(family.getId())
+                || !Boolean.TRUE.equals(admin.getIsFamilyAdmin())) {
+            throw new RuntimeException("只有家庭管理员才能审批");
+        }
+
+        // 审批通过:将用户加入家庭
+        User user = userMapper.selectById(request.getRequesterUserId());
+        if (user == null) {
+            throw new RuntimeException("请求用户不存在");
+        }
+        user.setFamilyId(family.getId());
+        user.setUpdatedAt(new Date());
+        userMapper.updateById(user);
+
+        request.setStatus("approved");
+        request.setApproverUserId(adminUserId);
+        request.setComment(comment);
+        request.setUpdatedAt(new Date());
+        familyJoinRequestMapper.updateById(request);
+
+        log.info("已审批通过加入请求: requestId={}, userId={}, adminId={}", requestId, user.getId(), adminUserId);
+    }
+
+    /**
+     * 家庭管理员拒绝加入请求
+     */
+    public void rejectJoinRequest(Long requestId, Long adminUserId, String comment) {
+        FamilyJoinRequest request = familyJoinRequestMapper.selectById(requestId);
+        if (request == null) {
+            throw new RuntimeException("加入请求不存在");
+        }
+        if (!"pending".equals(request.getStatus())) {
+            throw new RuntimeException("该请求已处理");
+        }
+
+        // 验证管理员身份
+        Family family = familyMapper.selectById(request.getTargetFamilyId());
+        if (family == null) {
+            throw new RuntimeException("目标家庭不存在");
+        }
+        User admin = userMapper.selectById(adminUserId);
+        if (admin == null || !admin.getFamilyId().equals(family.getId())
+                || !Boolean.TRUE.equals(admin.getIsFamilyAdmin())) {
+            throw new RuntimeException("只有家庭管理员才能审批");
+        }
+
+        request.setStatus("rejected");
+        request.setApproverUserId(adminUserId);
+        request.setComment(comment);
+        request.setUpdatedAt(new Date());
+        familyJoinRequestMapper.updateById(request);
+
+        log.info("已拒绝加入请求: requestId={}, userId={}, adminId={}, comment={}",
+                requestId, request.getRequesterUserId(), adminUserId, comment);
+    }
+
+    /**
+     * 查询家庭待审批请求列表
+     */
+    public List<FamilyJoinRequestDTO> getPendingRequests(Long familyId) {
+        List<FamilyJoinRequest> requests = familyJoinRequestMapper.selectList(
+                new LambdaQueryWrapper<FamilyJoinRequest>()
+                        .eq(FamilyJoinRequest::getTargetFamilyId, familyId)
+                        .eq(FamilyJoinRequest::getStatus, "pending")
+                        .orderByDesc(FamilyJoinRequest::getCreatedAt)
+        );
+
+        return requests.stream().map(req -> {
+            User user = userMapper.selectById(req.getRequesterUserId());
+            FamilyJoinRequestDTO dto = new FamilyJoinRequestDTO();
+            dto.setId(req.getId());
+            dto.setRequesterUserId(req.getRequesterUserId());
+            dto.setRequesterNickname(user != null ? user.getNickname() : "未知用户");
+            dto.setInviteCode(req.getInviteRef());
+            dto.setTargetFamilyId(req.getTargetFamilyId());
+            Family family = familyMapper.selectById(req.getTargetFamilyId());
+            dto.setTargetFamilyName(family != null ? family.getName() : "");
+            dto.setStatus(req.getStatus());
+            dto.setCreatedAt(req.getCreatedAt() != null ? req.getCreatedAt().toString() : "");
+            return dto;
+        }).collect(Collectors.toList());
+    }
+
+    /**
+     * 查询用户自己的待审批请求
+     */
+    public FamilyJoinRequestDTO getMyPendingRequest(Long userId) {
+        FamilyJoinRequest req = familyJoinRequestMapper.selectOne(
+                new LambdaQueryWrapper<FamilyJoinRequest>()
+                        .eq(FamilyJoinRequest::getRequesterUserId, userId)
+                        .eq(FamilyJoinRequest::getStatus, "pending")
+        );
+        if (req == null) {
+            return null;
+        }
+        Family family = familyMapper.selectById(req.getTargetFamilyId());
+        FamilyJoinRequestDTO dto = new FamilyJoinRequestDTO();
+        dto.setId(req.getId());
+        dto.setTargetFamilyId(req.getTargetFamilyId());
+        dto.setTargetFamilyName(family != null ? family.getName() : "");
+        dto.setStatus(req.getStatus());
+        dto.setInviteCode(req.getInviteRef());
+        dto.setCreatedAt(req.getCreatedAt() != null ? req.getCreatedAt().toString() : "");
+        return dto;
+    }
+
+    /**
+     * 取消用户自己的加入请求
+     */
+    public void cancelJoinRequest(Long userId, Long requestId) {
+        FamilyJoinRequest req = familyJoinRequestMapper.selectById(requestId);
+        if (req == null) {
+            throw new RuntimeException("请求不存在");
+        }
+        if (!req.getRequesterUserId().equals(userId)) {
+            throw new RuntimeException("无权操作");
+        }
+        if (!"pending".equals(req.getStatus())) {
+            throw new RuntimeException("请求已处理");
+        }
+        req.setStatus("cancelled");
+        req.setUpdatedAt(new Date());
+        familyJoinRequestMapper.updateById(req);
+    }
+}

+ 690 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/UnifiedKnowledgeBaseService.java

@@ -0,0 +1,690 @@
+package com.etotem.cfc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.etotem.cfc.entity.KnowledgeBaseSection;
+import com.etotem.cfc.mapper.KnowledgeBaseSectionMapper;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.io.InputStream;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * 统一知识库服务 — 12 个顶层模块按 JSON 存储于 knowledge_base_section 表
+ *
+ * 数据源:DB(knowledge_base_section)为查询源,classpath 种子文件兜底。
+ * 启动时:加载 DB 全部模块;若 DB 为空则从 classpath 统一知识库.json 导入并落库。
+ * 索引:食物(食材名)、菌属(学名,支持属级回退)、指标(名称,归一化部首)、
+ *       营养素(名称)、菌-疾病关联(疾病键)、菌种综合信息/详细描述、
+ *       菌属-食材映射、营养素标准参考、健康评分标准。
+ *
+ * 容错:DB 表未建或读写失败时降级为 classpath 内存模式,不阻塞启动。
+ */
+@Slf4j
+@Service
+public class UnifiedKnowledgeBaseService {
+
+    @Resource
+    private KnowledgeBaseSectionMapper knowledgeBaseSectionMapper;
+
+    @Resource
+    private ObjectMapper objectMapper;
+
+    /** classpath 种子文件(与 docs/参考资料/知识库/统一知识库.json 同源) */
+    private static final String SEED_CLASSPATH = "/knowledge-base/统一知识库.json";
+
+    /** 12 个顶层模块键(顺序固定) */
+    private static final List<String> MODULE_KEYS = Arrays.asList(
+            "元数据", "食物营养库", "菌-疾病关联", "营养素参考", "营养素标准参考",
+            "菌种综合信息", "菌种功能详细描述", "菌属功能库", "报告指标分级标准",
+            "菌属-食材映射", "菌属-食材映射_元数据", "健康评分标准");
+
+    /** 模块键 → 模块内容 Map(原始 JSON 结构) */
+    private final Map<String, Map<String, Object>> sectionMap = new ConcurrentHashMap<>();
+
+    /** 食物索引: 食材名 → 条目(食物营养库.食材) */
+    private final Map<String, Map<String, Object>> foodIndex = new ConcurrentHashMap<>();
+
+    /** 菌属索引: 学名 → 条目(菌属功能库.菌属[]) */
+    private final Map<String, Map<String, Object>> bacteriaIndex = new ConcurrentHashMap<>();
+
+    /** 菌属分组列表(菌属功能库) */
+    private final Set<String> bacteriaGroups = ConcurrentHashMap.newKeySet();
+
+    /** 指标索引: 指标名称 → 条目(报告指标分级标准.指标类别.*.指标[],含 category) */
+    private final Map<String, Map<String, Object>> indicatorIndex = new ConcurrentHashMap<>();
+
+    /** 指标类别列表(报告指标分级标准.指标类别 24 类) */
+    private final Set<String> indicatorCategories = ConcurrentHashMap.newKeySet();
+
+    /** 营养素索引: 营养素名 → 条目(营养素参考) */
+    private final Map<String, Map<String, Object>> nutrientIndex = new ConcurrentHashMap<>();
+
+    /** 菌-疾病关联: 疾病键 → 条目(菌-疾病关联) */
+    private final Map<String, Map<String, Object>> diseaseIndex = new ConcurrentHashMap<>();
+
+    /** 菌种综合信息: 菌名 → 条目(菌种综合信息.菌种) */
+    private final Map<String, Map<String, Object>> speciesInfoIndex = new ConcurrentHashMap<>();
+
+    /** 菌种功能详细描述: 学名 → 条目(菌种功能详细描述.菌种) */
+    private final Map<String, Map<String, Object>> speciesDescIndex = new ConcurrentHashMap<>();
+
+    /** 菌属-食材映射: 列表(菌属-食材映射[]) */
+    private volatile List<Map<String, Object>> genusFoodMapping = Collections.emptyList();
+
+    /** 营养素标准参考: 类别 → 正常参考范围(营养素标准参考.正常参考范围) */
+    private final Map<String, Map<String, Object>> nutrientStandardIndex = new ConcurrentHashMap<>();
+
+    /** 健康评分标准: 维度 → 评分标准(健康评分标准) */
+    private final Map<String, Map<String, Object>> healthScoreIndex = new ConcurrentHashMap<>();
+
+    /** 数据版本(元数据.版本) */
+    private volatile String version = "";
+
+    /** 数据来源说明(元数据.数据来源) */
+    private volatile String dataSource = "";
+
+    @PostConstruct
+    public void init() {
+        load();
+    }
+
+    /**
+     * 加载知识库:优先 DB,空则 classpath 种子导入落库
+     */
+    public synchronized void load() {
+        clearIndexes();
+        List<KnowledgeBaseSection> rows = null;
+        try {
+            rows = knowledgeBaseSectionMapper.selectList(null);
+        } catch (Exception e) {
+            log.warn("读取knowledge_base_section表失败(表可能未创建),降级为classpath内存模式: {}", e.getMessage());
+        }
+
+        if (rows == null || rows.isEmpty()) {
+            log.info("knowledge_base_section 为空,从classpath种子导入...");
+            try {
+                importFromClasspath(false);
+                rows = null;
+                try {
+                    rows = knowledgeBaseSectionMapper.selectList(null);
+                } catch (Exception ignore) {
+                    // 降级模式下 DB 仍不可用,用 classpath 已解析的内存数据
+                }
+            } catch (Exception e) {
+                log.warn("classpath种子导入失败: {}", e.getMessage());
+            }
+        }
+
+        if (rows != null) {
+            for (KnowledgeBaseSection row : rows) {
+                if (row.getContent() == null || row.getContent().isEmpty()) {
+                    continue;
+                }
+                try {
+                    Map<String, Object> content = objectMapper.readValue(row.getContent(),
+                            new TypeReference<Map<String, Object>>() {});
+                    sectionMap.put(row.getModuleKey(), content);
+                } catch (Exception e) {
+                    log.warn("解析模块[{}]内容失败: {}", row.getModuleKey(), e.getMessage());
+                }
+            }
+        }
+        buildIndexes();
+        log.info("统一知识库加载完成: {} 模块, 版本={}, 食物{} 菌属{} 指标{} 营养素{} 疾病{}",
+                sectionMap.size(), version, foodIndex.size(), bacteriaIndex.size(),
+                indicatorIndex.size(), nutrientIndex.size(), diseaseIndex.size());
+    }
+
+    /**
+     * 从 classpath 种子文件导入全部模块到 DB(幂等,存在则更新)
+     *
+     * @param force true=无论 DB 是否为空都重新导入并重载
+     * @return 导入摘要
+     */
+    public synchronized String importFromClasspath(boolean force) {
+        Map<String, Object> root;
+        try (InputStream is = getClass().getResourceAsStream(SEED_CLASSPATH)) {
+            if (is == null) {
+                return "classpath 种子文件不存在: " + SEED_CLASSPATH;
+            }
+            root = objectMapper.readValue(is, new TypeReference<Map<String, Object>>() {});
+        } catch (Exception e) {
+            log.error("读取classpath种子文件失败", e);
+            return "读取classpath种子文件失败: " + e.getMessage();
+        }
+
+        if (!force) {
+            Long count = null;
+            try {
+                count = knowledgeBaseSectionMapper.selectCount(null);
+            } catch (Exception ignore) {
+                // 降级模式:表不可用,仅加载内存
+            }
+            if (count != null && count > 0) {
+                log.info("knowledge_base_section 已有数据({}行),跳过种子导入", count);
+                return "已有数据(" + count + "行),跳过导入";
+            }
+        }
+
+        int imported = 0;
+        for (String key : MODULE_KEYS) {
+            Object content = root.get(key);
+            if (content == null) {
+                log.warn("种子文件中缺少模块: {}", key);
+                continue;
+            }
+            try {
+                String json = objectMapper.writeValueAsString(content);
+                String moduleVersion = null;
+                if ("元数据".equals(key) && content instanceof Map) {
+                    Object v = ((Map<String, Object>) content).get("版本");
+                    if (v != null) {
+                        moduleVersion = String.valueOf(v);
+                    }
+                }
+                KnowledgeBaseSection row = null;
+                try {
+                    row = knowledgeBaseSectionMapper.selectOne(
+                            new LambdaQueryWrapper<KnowledgeBaseSection>()
+                                    .eq(KnowledgeBaseSection::getModuleKey, key));
+                } catch (Exception ignore) {
+                    // 降级模式:表不可用
+                }
+                if (row == null) {
+                    row = new KnowledgeBaseSection();
+                    row.setModuleKey(key);
+                    row.setModuleName(key);
+                    row.setContent(json);
+                    row.setVersion(moduleVersion);
+                    try {
+                        knowledgeBaseSectionMapper.insert(row);
+                    } catch (Exception e) {
+                        log.warn("写入模块[{}]到DB失败(降级内存模式): {}", key, e.getMessage());
+                    }
+                } else {
+                    row.setContent(json);
+                    row.setVersion(moduleVersion);
+                    try {
+                        knowledgeBaseSectionMapper.updateById(row);
+                    } catch (Exception e) {
+                        log.warn("更新模块[{}]到DB失败(降级内存模式): {}", key, e.getMessage());
+                    }
+                }
+                imported++;
+            } catch (Exception e) {
+                log.warn("导入模块[{}]失败: {}", key, e.getMessage());
+            }
+        }
+
+        load();
+        return "统一知识库导入完成: " + imported + "/" + MODULE_KEYS.size() + " 模块, 版本=" + version;
+    }
+
+    // ==================== 索引构建 ====================
+
+    @SuppressWarnings("unchecked")
+    private void buildIndexes() {
+        // --- 元数据 ---
+        Map<String, Object> meta = sectionMap.get("元数据");
+        if (meta != null) {
+            Object v = meta.get("版本");
+            if (v != null) {
+                version = String.valueOf(v);
+            }
+            Object s = meta.get("数据来源");
+            if (s != null) {
+                dataSource = String.valueOf(s);
+            }
+        }
+
+        // --- 食物营养库: {食材数, 食材: {食材名: 条目}} ---
+        Map<String, Object> foodLib = sectionMap.get("食物营养库");
+        if (foodLib != null && foodLib.get("食材") instanceof Map) {
+            for (Map.Entry<String, Object> e : ((Map<String, Object>) foodLib.get("食材")).entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    foodIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+
+        // --- 菌属功能库: {说明, 菌属: [{学名, 中文名, 分组, 功能说明, ...}]} ---
+        Map<String, Object> flora = sectionMap.get("菌属功能库");
+        if (flora != null && flora.get("菌属") instanceof List) {
+            for (Object item : (List<Object>) flora.get("菌属")) {
+                if (item instanceof Map) {
+                    Map<String, Object> entry = (Map<String, Object>) item;
+                    String latin = (String) entry.get("学名");
+                    if (latin != null && !latin.isEmpty()) {
+                        bacteriaIndex.put(latin, entry);
+                        Object group = entry.get("分组");
+                        if (group != null) {
+                            bacteriaGroups.add(String.valueOf(group));
+                        }
+                    }
+                }
+            }
+        }
+
+        // --- 报告指标分级标准: {说明, 版本, 指标总数, 指标类别: {类别: {标准范围, 状态分级, 指标[]}}} ---
+        Map<String, Object> indicatorStd = sectionMap.get("报告指标分级标准");
+        if (indicatorStd != null && indicatorStd.get("指标类别") instanceof Map) {
+            for (Map.Entry<String, Object> e : ((Map<String, Object>) indicatorStd.get("指标类别")).entrySet()) {
+                String category = e.getKey();
+                indicatorCategories.add(category);
+                if (e.getValue() instanceof Map) {
+                    Object indicatorsRaw = ((Map<String, Object>) e.getValue()).get("指标");
+                    if (indicatorsRaw instanceof List) {
+                        for (Object item : (List<Object>) indicatorsRaw) {
+                            if (item instanceof Map) {
+                                Map<String, Object> entry = new LinkedHashMap<>((Map<String, Object>) item);
+                                String name = (String) entry.get("名称");
+                                if (name != null && !name.isEmpty()) {
+                                    entry.put("category", category);
+                                    indicatorIndex.put(normalizeIndicatorName(name), entry);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        // --- 营养素参考: {营养素名: {报告数, 正常, 偏低, 偏高, 参考范围}} ---
+        Map<String, Object> nutrientRef = sectionMap.get("营养素参考");
+        if (nutrientRef != null) {
+            for (Map.Entry<String, Object> e : nutrientRef.entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    nutrientIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+
+        // --- 菌-疾病关联: {疾病键: {菌种数, 菌种[]}} ---
+        Map<String, Object> diseaseRel = sectionMap.get("菌-疾病关联");
+        if (diseaseRel != null) {
+            for (Map.Entry<String, Object> e : diseaseRel.entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    diseaseIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+
+        // --- 菌种综合信息: {说明, 菌种: {菌名: {功能分类, 关联疾病, 检出报告数}}} ---
+        Map<String, Object> speciesInfo = sectionMap.get("菌种综合信息");
+        if (speciesInfo != null && speciesInfo.get("菌种") instanceof Map) {
+            for (Map.Entry<String, Object> e : ((Map<String, Object>) speciesInfo.get("菌种")).entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    speciesInfoIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+
+        // --- 菌种功能详细描述: {描述, 菌种: {学名: {中文名, 功能分类, 功能描述}}} ---
+        Map<String, Object> speciesDesc = sectionMap.get("菌种功能详细描述");
+        if (speciesDesc != null && speciesDesc.get("菌种") instanceof Map) {
+            for (Map.Entry<String, Object> e : ((Map<String, Object>) speciesDesc.get("菌种")).entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    speciesDescIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+
+        // --- 菌属-食材映射: [{拉丁名, 中文名, 分组, 功能分类, 功能说明, ...}] ---
+        Object mapping = sectionMap.get("菌属-食材映射");
+        if (mapping instanceof List) {
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (Object item : (List<Object>) mapping) {
+                if (item instanceof Map) {
+                    list.add((Map<String, Object>) item);
+                }
+            }
+            genusFoodMapping = list;
+        }
+
+        // --- 营养素标准参考: {营养评估状态分类, 正常参考范围: {类别: {指标: 范围}}} ---
+        Map<String, Object> nutrientStd = sectionMap.get("营养素标准参考");
+        if (nutrientStd != null && nutrientStd.get("正常参考范围") instanceof Map) {
+            for (Map.Entry<String, Object> e : ((Map<String, Object>) nutrientStd.get("正常参考范围")).entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    nutrientStandardIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+
+        // --- 健康评分标准: {健康总分, 菌群健康, 慢病控制, 营养均衡, 肠道年龄} ---
+        Map<String, Object> healthScore = sectionMap.get("健康评分标准");
+        if (healthScore != null) {
+            for (Map.Entry<String, Object> e : healthScore.entrySet()) {
+                if (e.getValue() instanceof Map) {
+                    healthScoreIndex.put(e.getKey(), (Map<String, Object>) e.getValue());
+                }
+            }
+        }
+    }
+
+    private void clearIndexes() {
+        sectionMap.clear();
+        foodIndex.clear();
+        bacteriaIndex.clear();
+        bacteriaGroups.clear();
+        indicatorIndex.clear();
+        indicatorCategories.clear();
+        nutrientIndex.clear();
+        diseaseIndex.clear();
+        speciesInfoIndex.clear();
+        speciesDescIndex.clear();
+        genusFoodMapping = Collections.emptyList();
+        nutrientStandardIndex.clear();
+        healthScoreIndex.clear();
+    }
+
+    // ==================== 模块级查询 ====================
+
+    /**
+     * 获取指定模块的原始内容(Map)
+     */
+    public Map<String, Object> getSection(String moduleKey) {
+        return sectionMap.get(moduleKey);
+    }
+
+    /**
+     * 获取全部模块键
+     */
+    public Set<String> getModuleKeys() {
+        return sectionMap.keySet();
+    }
+
+    /**
+     * 获取全部模块摘要(键 + 条目数)
+     */
+    public Map<String, Object> getModuleOverview() {
+        Map<String, Object> overview = new LinkedHashMap<>();
+        for (String key : MODULE_KEYS) {
+            Map<String, Object> content = sectionMap.get(key);
+            if (content == null) {
+                overview.put(key, 0);
+                continue;
+            }
+            int count;
+            if (key.equals("食物营养库") && content.get("食材数") != null) {
+                count = ((Number) content.get("食材数")).intValue();
+            } else if (key.equals("报告指标分级标准") && content.get("指标总数") != null) {
+                count = ((Number) content.get("指标总数")).intValue();
+            } else if (content.get("菌种") instanceof Map) {
+                count = ((Map<String, Object>) content.get("菌种")).size();
+            } else if (content.get("菌属") instanceof List) {
+                count = ((List<Object>) content.get("菌属")).size();
+            } else if (content.get("菌种") instanceof List) {
+                count = ((List<Object>) content.get("菌种")).size();
+            } else {
+                count = content.size();
+            }
+            overview.put(key, count);
+        }
+        return overview;
+    }
+
+    // ==================== 食物查询 ====================
+
+    /**
+     * 按食材名查询(精确匹配)
+     */
+    public Map<String, Object> lookupFood(String foodName) {
+        if (foodName == null || foodName.isEmpty()) {
+            return null;
+        }
+        return foodIndex.get(foodName);
+    }
+
+    /**
+     * 获取全部食物(名称 → 条目)
+     */
+    public Map<String, Map<String, Object>> getAllFoods() {
+        return Collections.unmodifiableMap(foodIndex);
+    }
+
+    // ==================== 菌属查询 ====================
+
+    /**
+     * 按学名/中文名查询菌属功能
+     * 匹配策略: 精确匹配 → 属级回退(取首词)
+     */
+    public Map<String, Object> lookupBacteria(String name) {
+        if (name == null || name.isEmpty()) {
+            return null;
+        }
+        Map<String, Object> result = bacteriaIndex.get(name);
+        if (result != null) {
+            return result;
+        }
+        // 中文名匹配(如 "梭菌属")
+        for (Map<String, Object> entry : bacteriaIndex.values()) {
+            if (name.equals(entry.get("中文名"))) {
+                return entry;
+            }
+        }
+        // 属级回退: 对种名取首词(如 "Bifidobacterium longum" → "Bifidobacterium")
+        String genus = name.split("\\s+")[0];
+        if (!genus.equals(name)) {
+            result = bacteriaIndex.get(genus);
+        }
+        return result;
+    }
+
+    /**
+     * 批量查询菌属
+     */
+    public Map<String, Map<String, Object>> batchLookupBacteria(List<String> names) {
+        Map<String, Map<String, Object>> results = new LinkedHashMap<>();
+        for (String name : names) {
+            Map<String, Object> entry = lookupBacteria(name);
+            if (entry != null) {
+                results.put(name, entry);
+            }
+        }
+        return results;
+    }
+
+    /**
+     * 按分组获取菌属列表
+     */
+    public List<Map<String, Object>> getBacteriaByGroup(String group) {
+        if (group == null) {
+            return new ArrayList<>();
+        }
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (Map<String, Object> entry : bacteriaIndex.values()) {
+            if (group.equals(entry.get("分组"))) {
+                list.add(entry);
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 获取全部菌属分组名称
+     */
+    public Set<String> getBacteriaGroups() {
+        return Collections.unmodifiableSet(bacteriaGroups);
+    }
+
+    // ==================== 指标查询 ====================
+
+    /**
+     * 按指标名查询(自动遍历所有类别,归一化部首变体)
+     */
+    public Map<String, Object> lookupIndicator(String indicatorName) {
+        if (indicatorName == null || indicatorName.isEmpty()) {
+            return null;
+        }
+        return indicatorIndex.get(normalizeIndicatorName(indicatorName));
+    }
+
+    /**
+     * 在指定类别下查询指标
+     */
+    public Map<String, Object> lookupIndicatorInCategory(String category, String indicatorName) {
+        Map<String, Object> entry = lookupIndicator(indicatorName);
+        if (entry != null && category != null && category.equals(entry.get("category"))) {
+            return entry;
+        }
+        return null;
+    }
+
+    /**
+     * 获取指定类别的全部指标(含标准范围/状态分级)
+     */
+    public Map<String, Object> getIndicatorCategory(String category) {
+        Map<String, Object> std = sectionMap.get("报告指标分级标准");
+        if (std == null || !(std.get("指标类别") instanceof Map)) {
+            return null;
+        }
+        Object rawObj = ((Map<String, Object>) std.get("指标类别")).get(category);
+        if (rawObj instanceof Map) {
+            return (Map<String, Object>) rawObj;
+        }
+        return null;
+    }
+
+    /**
+     * 获取全部指标类别名称
+     */
+    public Set<String> getIndicatorCategories() {
+        return Collections.unmodifiableSet(indicatorCategories);
+    }
+
+    // ==================== 营养素查询 ====================
+
+    /**
+     * 按营养素名查询参考(报告数/正常/偏低/偏高/参考范围)
+     */
+    public Map<String, Object> lookupNutrient(String nutrientName) {
+        if (nutrientName == null || nutrientName.isEmpty()) {
+            return null;
+        }
+        return nutrientIndex.get(nutrientName);
+    }
+
+    // ==================== 菌-疾病关联查询 ====================
+
+    /**
+     * 按疾病键查询关联菌种(如 "便秘相关菌")
+     */
+    public Map<String, Object> lookupDisease(String diseaseName) {
+        if (diseaseName == null || diseaseName.isEmpty()) {
+            return null;
+        }
+        return diseaseIndex.get(diseaseName);
+    }
+
+    /**
+     * 获取全部疾病关联键
+     */
+    public Set<String> getDiseaseKeys() {
+        return Collections.unmodifiableSet(diseaseIndex.keySet());
+    }
+
+    // ==================== 菌种综合信息 / 详细描述 ====================
+
+    /**
+     * 按菌名查询菌种综合信息(功能分类/关联疾病/检出报告数)
+     */
+    public Map<String, Object> lookupSpeciesInfo(String bacteriaName) {
+        if (bacteriaName == null || bacteriaName.isEmpty()) {
+            return null;
+        }
+        return speciesInfoIndex.get(bacteriaName);
+    }
+
+    /**
+     * 按学名查询菌种功能详细描述(中文名/功能分类/功能描述)
+     */
+    public Map<String, Object> lookupSpeciesDesc(String latinName) {
+        if (latinName == null || latinName.isEmpty()) {
+            return null;
+        }
+        return speciesDescIndex.get(latinName);
+    }
+
+    // ==================== 菌属-食材映射 ====================
+
+    /**
+     * 获取菌属-食材映射全量列表
+     */
+    public List<Map<String, Object>> getGenusFoodMapping() {
+        return genusFoodMapping;
+    }
+
+    /**
+     * 按拉丁名查询菌属-食材映射
+     */
+    public Map<String, Object> lookupGenusFoodMapping(String latinName) {
+        if (latinName == null || latinName.isEmpty()) {
+            return null;
+        }
+        for (Map<String, Object> entry : genusFoodMapping) {
+            if (latinName.equals(entry.get("拉丁名")) || latinName.equals(entry.get("中文名"))) {
+                return entry;
+            }
+        }
+        return null;
+    }
+
+    // ==================== 营养素标准参考 / 健康评分标准 ====================
+
+    /**
+     * 获取营养素标准参考(营养评估状态分类 + 正常参考范围)
+     */
+    public Map<String, Object> getNutrientStandard() {
+        Map<String, Object> result = new LinkedHashMap<>();
+        Map<String, Object> std = sectionMap.get("营养素标准参考");
+        if (std != null) {
+            result.putAll(std);
+        }
+        return result;
+    }
+
+    /**
+     * 获取健康评分标准(健康总分/菌群健康/慢病控制/营养均衡/肠道年龄)
+     */
+    public Map<String, Object> getHealthScoreStandard() {
+        Map<String, Object> result = new LinkedHashMap<>();
+        Map<String, Object> std = sectionMap.get("健康评分标准");
+        if (std != null) {
+            result.putAll(std);
+        }
+        return result;
+    }
+
+    // ==================== 元数据 ====================
+
+    public String getVersion() {
+        return version;
+    }
+
+    public String getDataSource() {
+        return dataSource;
+    }
+
+    // ==================== 字符归一化 ====================
+
+    /**
+     * 归一化指标名称:将 Kangxi 部首等变体转为标准 CJK 统一汉字
+     * 报告提取的文本中常出现部首形式(如 ⻔ U+2ED4),而 KB 储存标准汉字(门 U+95E8)
+     */
+    private String normalizeIndicatorName(String name) {
+        if (name == null || name.isEmpty()) {
+            return name;
+        }
+        // ⻔(U+2ED4)/⻼(U+2F3C) → 门(U+95E8)
+        name = name.replace('\u2ed4', '\u95e8');
+        name = name.replace('\u2f3c', '\u95e8');
+        return name;
+    }
+}

+ 8399 - 0
cfc-backend/src/main/resources/knowledge-base/统一知识库.json

@@ -0,0 +1,8399 @@
+{
+  "元数据": {
+    "名称": "肠道菌群健康知识库(统一版)",
+    "版本": "2.0",
+    "说明": "合并自菌群营养知识库v1.0(5报告汇总)、知识库v2.0(标准参考)、报告指标知识库v3.0(指标分级)、菌属-食材映射表v1.0。全部数据直接取自各源 JSON 原生结构化字段,无手工转写;菌种综合信息已过滤 OCR 噪声键。",
+    "数据来源": [
+      "501999942-某人.json",
+      "530010234-侯.json",
+      "547982403.json",
+      "儿童示例.json",
+      "朱评估报告.json",
+      "北京菌群报告(移植前/后)"
+    ],
+    "用途": "后台数据库通用知识底座:食物营养查询、菌-疾病关联、菌种功能描述、指标分级判定、菌属-食材推荐引擎",
+    "合并日期": "2026-08-05"
+  },
+  "食物营养库": {
+    "食材数": 226,
+    "食材": {
+      "三文鱼": {
+        "分类": "水产品",
+        "推荐指数": 11.6,
+        "能量KJ": 594.0,
+        "蛋白g": 19.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 55.0,
+        "来源报告数": 5
+      },
+      "冰淇淋": {
+        "分类": "乳制品",
+        "推荐指数": -8.0,
+        "能量KJ": 690.0,
+        "蛋白g": 1.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 32.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 8.0,
+        "来源报告数": 5
+      },
+      "凤尾鱼": {
+        "分类": "水产品",
+        "推荐指数": 12.4,
+        "能量KJ": 548.0,
+        "蛋白g": 20.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 60.0,
+        "来源报告数": 5
+      },
+      "利马豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 18.2,
+        "能量KJ": 1414.0,
+        "蛋白g": 21.0,
+        "脂肪g": "",
+        "碳水化合物g": 63.0,
+        "淀粉g": "",
+        "总膳食纤维g": 19.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "南瓜": {
+        "分类": "蔬菜",
+        "推荐指数": 59.0,
+        "能量KJ": 109.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "卷心菜": {
+        "分类": "蔬菜",
+        "推荐指数": 46.4,
+        "能量KJ": 103.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 5.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "哈密瓜": {
+        "分类": "水果",
+        "推荐指数": 12.0,
+        "能量KJ": 141.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 8.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "四季豆": {
+        "分类": "蔬菜",
+        "推荐指数": 63.8,
+        "能量KJ": 131.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "土豆": {
+        "分类": "蔬菜",
+        "推荐指数": 53.8,
+        "能量KJ": 322.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 17.0,
+        "淀粉g": 15.0,
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "土豆蔬菜汤": {
+        "分类": "汤",
+        "推荐指数": -2.8,
+        "能量KJ": 126.0,
+        "蛋白g": 1.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 1.0,
+        "来源报告数": 4
+      },
+      "土豆面粉": {
+        "分类": "蔬菜",
+        "推荐指数": 52.6,
+        "能量KJ": 1493.0,
+        "蛋白g": 6.0,
+        "脂肪g": "",
+        "碳水化合物g": 83.0,
+        "淀粉g": "",
+        "总膳食纤维g": 5.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "墨鱼": {
+        "分类": "水产品",
+        "推荐指数": 10.8,
+        "能量KJ": 331.0,
+        "蛋白g": 16.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 112.0,
+        "来源报告数": 5
+      },
+      "大比目鱼": {
+        "分类": "水产品",
+        "推荐指数": 13.3,
+        "能量KJ": 267.0,
+        "蛋白g": 19.0,
+        "脂肪g": 28.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 49.0,
+        "来源报告数": 3
+      },
+      "大氏目鱼": {
+        "分类": "水产品",
+        "推荐指数": 11.5,
+        "能量KJ": 382.0,
+        "蛋白g": 18.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 49.0,
+        "来源报告数": 2
+      },
+      "大白菜": {
+        "分类": "蔬菜",
+        "推荐指数": 68.4,
+        "能量KJ": 55.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "大蒜": {
+        "分类": "蔬菜",
+        "推荐指数": 45.0,
+        "能量KJ": 623.0,
+        "蛋白g": 6.0,
+        "脂肪g": "",
+        "碳水化合物g": 33.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "大西洋鳕鱼": {
+        "分类": "水产品",
+        "推荐指数": 0.0,
+        "能量KJ": 343.0,
+        "蛋白g": 17.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 43.0,
+        "来源报告数": 5
+      },
+      "大豆": {
+        "分类": "蔬菜",
+        "推荐指数": 65.8,
+        "能量KJ": 614.0,
+        "蛋白g": 12.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": 4.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "大豆面粉": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 10.0,
+        "能量KJ": 1816.0,
+        "蛋白g": 37.0,
+        "脂肪g": 20.0,
+        "碳水化合物g": 31.0,
+        "淀粉g": "",
+        "总膳食纤维g": 9.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "大麦": {
+        "分类": "主食",
+        "推荐指数": 13.8,
+        "能量KJ": 1481.0,
+        "蛋白g": 12.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 73.0,
+        "淀粉g": "",
+        "总膳食纤维g": 17.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "奶油": {
+        "分类": "乳制品",
+        "推荐指数": -9.8,
+        "能量KJ": 515.0,
+        "蛋白g": 3.0,
+        "脂肪g": 10.0,
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 35.0,
+        "来源报告数": 5
+      },
+      "奶酪": {
+        "分类": "乳制品",
+        "推荐指数": -1.2,
+        "能量KJ": 1552.0,
+        "蛋白g": 23.0,
+        "脂肪g": 29.0,
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 94.0,
+        "来源报告数": 5
+      },
+      "嫩豆腐": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 11.8,
+        "能量KJ": 253.0,
+        "蛋白g": 7.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 1.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "小南瓜": {
+        "分类": "蔬菜",
+        "推荐指数": 0.0,
+        "能量KJ": 69.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "小米": {
+        "分类": "主食",
+        "推荐指数": 5.6,
+        "能量KJ": 1582.0,
+        "蛋白g": 11.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": 72.0,
+        "淀粉g": "",
+        "总膳食纤维g": 8.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "小萝卜": {
+        "分类": "蔬菜",
+        "推荐指数": 65.8,
+        "能量KJ": 76.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "小麦": {
+        "分类": "主食",
+        "推荐指数": 5.0,
+        "能量KJ": 1423.0,
+        "蛋白g": 10.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 75.0,
+        "淀粉g": "",
+        "总膳食纤维g": 12.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "小麦面包": {
+        "分类": "主食",
+        "推荐指数": -10.2,
+        "能量KJ": 1116.0,
+        "蛋白g": 10.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 48.0,
+        "淀粉g": 36.0,
+        "总膳食纤维g": 4.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "小龙虾": {
+        "分类": "水产品",
+        "推荐指数": 12.0,
+        "能量KJ": 322.0,
+        "蛋白g": 15.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 114.0,
+        "来源报告数": 5
+      },
+      "山核桃": {
+        "分类": "干果",
+        "推荐指数": -12.0,
+        "能量KJ": 2889.0,
+        "蛋白g": 9.0,
+        "脂肪g": 71.0,
+        "碳水化合物g": 13.0,
+        "淀粉g": "",
+        "总膳食纤维g": 9.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "山核桃干": {
+        "分类": "干果",
+        "推荐指数": -4.6,
+        "能量KJ": 2749.0,
+        "蛋白g": 12.0,
+        "脂肪g": 64.0,
+        "碳水化合物g": 18.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "山药": {
+        "分类": "蔬菜",
+        "推荐指数": 52.4,
+        "能量KJ": 343.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 20.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "开心果": {
+        "分类": "干果",
+        "推荐指数": -9.8,
+        "能量KJ": 2392.0,
+        "蛋白g": 21.0,
+        "脂肪g": 45.0,
+        "碳水化合物g": 28.0,
+        "淀粉g": 1.0,
+        "总膳食纤维g": 10.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "意大利面": {
+        "分类": "主食",
+        "推荐指数": -2.0,
+        "能量KJ": 386.0,
+        "蛋白g": 1.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 13.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "扁豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 55.2,
+        "能量KJ": 1473.0,
+        "蛋白g": 24.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 63.0,
+        "淀粉g": 49.0,
+        "总膳食纤维g": 10.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "扇贝": {
+        "分类": "水产品",
+        "推荐指数": 3.8,
+        "能量KJ": 289.0,
+        "蛋白g": 12.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": 2.0,
+        "总膳食纤维g": "",
+        "胆固醇mg": 24.0,
+        "来源报告数": 5
+      },
+      "无花果": {
+        "分类": "水果",
+        "推荐指数": 9.2,
+        "能量KJ": 310.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 19.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "木薯": {
+        "分类": "蔬菜",
+        "推荐指数": 37.2,
+        "能量KJ": 667.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 38.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "李子": {
+        "分类": "水果",
+        "推荐指数": 11.4,
+        "能量KJ": 192.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "杏": {
+        "分类": "水果",
+        "推荐指数": 8.2,
+        "能量KJ": 201.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "杏仁": {
+        "分类": "干果",
+        "推荐指数": -2.8,
+        "能量KJ": 2423.0,
+        "蛋白g": 21.0,
+        "脂肪g": 49.0,
+        "碳水化合物g": 21.0,
+        "淀粉g": "",
+        "总膳食纤维g": 12.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "条纹鲈鱼": {
+        "分类": "水产品",
+        "推荐指数": 12.8,
+        "能量KJ": 406.0,
+        "蛋白g": 17.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 80.0,
+        "来源报告数": 5
+      },
+      "杨桃": {
+        "分类": "水果",
+        "推荐指数": 48.4,
+        "能量KJ": 128.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "松子": {
+        "分类": "干果",
+        "推荐指数": -12.6,
+        "能量KJ": 2816.0,
+        "蛋白g": 13.0,
+        "脂肪g": 68.0,
+        "碳水化合物g": 13.0,
+        "淀粉g": 1.0,
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "枣": {
+        "分类": "水果",
+        "推荐指数": 5.8,
+        "能量KJ": 1176.0,
+        "蛋白g": 4.0,
+        "脂肪g": "",
+        "碳水化合物g": 72.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "柠檬": {
+        "分类": "水果",
+        "推荐指数": 48.6,
+        "能量KJ": 121.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "柿子": {
+        "分类": "水果",
+        "推荐指数": 17.2,
+        "能量KJ": 293.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 18.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "栗子": {
+        "分类": "干果",
+        "推荐指数": 47.2,
+        "能量KJ": 1519.0,
+        "蛋白g": 6.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 79.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "核桃": {
+        "分类": "干果",
+        "推荐指数": -8.4,
+        "能量KJ": 2738.0,
+        "蛋白g": 15.0,
+        "脂肪g": 65.0,
+        "碳水化合物g": 13.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "桃": {
+        "分类": "水果",
+        "推荐指数": 8.2,
+        "能量KJ": 165.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "桑葚": {
+        "分类": "水果",
+        "推荐指数": 42.6,
+        "能量KJ": 180.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "梨": {
+        "分类": "水果",
+        "推荐指数": 36.8,
+        "能量KJ": 239.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 15.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "椰肉": {
+        "分类": "干果",
+        "推荐指数": 0.0,
+        "能量KJ": 1481.0,
+        "蛋白g": 3.0,
+        "脂肪g": 33.0,
+        "碳水化合物g": 15.0,
+        "淀粉g": "",
+        "总膳食纤维g": 9.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "榛子": {
+        "分类": "干果",
+        "推荐指数": 42.2,
+        "能量KJ": 2629.0,
+        "蛋白g": 14.0,
+        "脂肪g": 60.0,
+        "碳水化合物g": 16.0,
+        "淀粉g": "",
+        "总膳食纤维g": 9.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "榴莲": {
+        "分类": "水果",
+        "推荐指数": 41.8,
+        "能量KJ": 615.0,
+        "蛋白g": 1.0,
+        "脂肪g": 5.0,
+        "碳水化合物g": 27.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "樱桃": {
+        "分类": "水果",
+        "推荐指数": 20.0,
+        "能量KJ": 1395.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 80.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "橘子": {
+        "分类": "水果",
+        "推荐指数": 8.4,
+        "能量KJ": 197.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "橙汁": {
+        "分类": "水果",
+        "推荐指数": 41.8,
+        "能量KJ": 188.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 10.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "橙皮": {
+        "分类": "水果",
+        "推荐指数": 28.4,
+        "能量KJ": 405.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 25.0,
+        "淀粉g": "",
+        "总膳食纤维g": 10.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "橙菠萝汁": {
+        "分类": "水果",
+        "推荐指数": 8.8,
+        "能量KJ": 214.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 12.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "橡子": {
+        "分类": "干果",
+        "推荐指数": 40.2,
+        "能量KJ": 1619.0,
+        "蛋白g": 6.0,
+        "脂肪g": 23.0,
+        "碳水化合物g": 40.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "比萨": {
+        "分类": "快餐",
+        "推荐指数": -4.7,
+        "能量KJ": 785.0,
+        "蛋白g": 10.0,
+        "脂肪g": 12.0,
+        "碳水化合物g": 20.0,
+        "淀粉g": 19.0,
+        "总膳食纤维g": 32.0,
+        "胆固醇mg": 2747.0,
+        "来源报告数": 3
+      },
+      "氏萨": {
+        "分类": "快餐",
+        "推荐指数": -9.0,
+        "能量KJ": 1121.0,
+        "蛋白g": 10.0,
+        "脂肪g": 12.0,
+        "碳水化合物g": 29.0,
+        "淀粉g": 18.0,
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": 14.0,
+        "来源报告数": 2
+      },
+      "水煮蛋": {
+        "分类": "蛋类",
+        "推荐指数": -7.0,
+        "能量KJ": 597.0,
+        "蛋白g": 12.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 370.0,
+        "来源报告数": 5
+      },
+      "沙丁鱼": {
+        "分类": "水产品",
+        "推荐指数": 12.0,
+        "能量KJ": 347.0,
+        "蛋白g": "",
+        "脂肪g": 1.0,
+        "碳水化合物g": 19.0,
+        "淀粉g": "",
+        "总膳食纤维g": 5.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "油桃": {
+        "分类": "水果",
+        "推荐指数": 7.8,
+        "能量KJ": 185.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 10.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "洋葱": {
+        "分类": "蔬菜",
+        "推荐指数": 43.4,
+        "能量KJ": 166.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "海鲈鱼": {
+        "分类": "水产品",
+        "推荐指数": 6.8,
+        "能量KJ": 332.0,
+        "蛋白g": 15.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 52.0,
+        "来源报告数": 5
+      },
+      "火腿": {
+        "分类": "肉类",
+        "推荐指数": -3.2,
+        "能量KJ": 683.0,
+        "蛋白g": 16.0,
+        "脂肪g": 8.0,
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": 57.0,
+        "来源报告数": 5
+      },
+      "火鸡": {
+        "分类": "肉类",
+        "推荐指数": 5.6,
+        "能量KJ": 790.0,
+        "蛋白g": 28.0,
+        "脂肪g": 7.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 109.0,
+        "来源报告数": 5
+      },
+      "炒蘑菇": {
+        "分类": "蔬菜",
+        "推荐指数": 15.6,
+        "能量KJ": 110.0,
+        "蛋白g": 3.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "炒蛋": {
+        "分类": "蛋类",
+        "推荐指数": -11.4,
+        "能量KJ": 621.0,
+        "蛋白g": 9.0,
+        "脂肪g": 10.0,
+        "碳水化合物g": 1.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 277.0,
+        "来源报告数": 5
+      },
+      "炒香菇": {
+        "分类": "蔬菜",
+        "推荐指数": 11.0,
+        "能量KJ": 162.0,
+        "蛋白g": 3.0,
+        "脂肪g": "",
+        "碳水化合物g": 7.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "烟熏火腿": {
+        "分类": "肉类",
+        "推荐指数": -6.2,
+        "能量KJ": 591.0,
+        "蛋白g": 18.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 10.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 50.0,
+        "来源报告数": 5
+      },
+      "烤肉": {
+        "分类": "肉类",
+        "推荐指数": -5.0,
+        "能量KJ": 1512.0,
+        "蛋白g": 20.0,
+        "脂肪g": 30.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 105.0,
+        "来源报告数": 5
+      },
+      "烤鸭": {
+        "分类": "肉类",
+        "推荐指数": -3.6,
+        "能量KJ": 1410.0,
+        "蛋白g": 18.0,
+        "脂肪g": 28.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 84.0,
+        "来源报告数": 5
+      },
+      "烧鹅": {
+        "分类": "肉类",
+        "推荐指数": 0.4,
+        "能量KJ": 1276.0,
+        "蛋白g": 25.0,
+        "脂肪g": 21.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 91.0,
+        "来源报告数": 5
+      },
+      "热狗": {
+        "分类": "快餐",
+        "推荐指数": -8.8,
+        "能量KJ": 1167.0,
+        "蛋白g": 9.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 50.0,
+        "淀粉g": 36.0,
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "煎蛋": {
+        "分类": "蛋类",
+        "推荐指数": -12.6,
+        "能量KJ": 643.0,
+        "蛋白g": 10.0,
+        "脂肪g": 11.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 313.0,
+        "来源报告数": 5
+      },
+      "燕麦": {
+        "分类": "主食",
+        "推荐指数": 33.4,
+        "能量KJ": 297.0,
+        "蛋白g": 17.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": 66.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "牛奶": {
+        "分类": "乳制品",
+        "推荐指数": 6.0,
+        "能量KJ": 268.0,
+        "蛋白g": 3.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 14.0,
+        "来源报告数": 5
+      },
+      "牛肉汤": {
+        "分类": "肉类",
+        "推荐指数": -4.2,
+        "能量KJ": 25.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 4
+      },
+      "牛肉瘦": {
+        "分类": "肉类",
+        "推荐指数": 5.4,
+        "能量KJ": 488.0,
+        "蛋白g": 23.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 55.0,
+        "来源报告数": 5
+      },
+      "牛肉肥": {
+        "分类": "肉类",
+        "推荐指数": -19.2,
+        "能量KJ": 2845.0,
+        "蛋白g": 10.0,
+        "脂肪g": 70.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 95.0,
+        "来源报告数": 5
+      },
+      "牛蒡根": {
+        "分类": "蔬菜",
+        "推荐指数": 71.4,
+        "能量KJ": 302.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 17.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "牛蛙": {
+        "分类": "肉类",
+        "推荐指数": 6.2,
+        "能量KJ": 305.0,
+        "蛋白g": 16.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 50.0,
+        "来源报告数": 5
+      },
+      "牡蛎": {
+        "分类": "水产品",
+        "推荐指数": 12.2,
+        "能量KJ": 339.0,
+        "蛋白g": 9.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 50.0,
+        "来源报告数": 5
+      },
+      "猕猴桃": {
+        "分类": "水果",
+        "推荐指数": 31.6,
+        "能量KJ": 255.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 14.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "猪培根": {
+        "分类": "肉类",
+        "推荐指数": -19.0,
+        "能量KJ": 1744.0,
+        "蛋白g": 12.0,
+        "脂肪g": 39.0,
+        "碳水化合物g": 1.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 66.0,
+        "来源报告数": 5
+      },
+      "猪头肉": {
+        "分类": "肉类",
+        "推荐指数": -13.0,
+        "能量KJ": 658.0,
+        "蛋白g": 13.0,
+        "脂肪g": 10.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 69.0,
+        "来源报告数": 5
+      },
+      "猪瘦肉": {
+        "分类": "肉类",
+        "推荐指数": 9.8,
+        "能量KJ": 562.0,
+        "蛋白g": 21.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 64.0,
+        "来源报告数": 5
+      },
+      "猪耳朵": {
+        "分类": "肉类",
+        "推荐指数": 2.2,
+        "能量KJ": 695.0,
+        "蛋白g": 15.0,
+        "脂肪g": 10.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 90.0,
+        "来源报告数": 5
+      },
+      "猪肝": {
+        "分类": "肉类",
+        "推荐指数": 12.6,
+        "能量KJ": 690.0,
+        "蛋白g": 26.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 355.0,
+        "来源报告数": 5
+      },
+      "猪脑": {
+        "分类": "肉类",
+        "推荐指数": -11.0,
+        "能量KJ": 577.0,
+        "蛋白g": 12.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 2552.0,
+        "来源报告数": 5
+      },
+      "猪蹄": {
+        "分类": "肉类",
+        "推荐指数": -3.0,
+        "能量KJ": 889.0,
+        "蛋白g": 23.0,
+        "脂肪g": 12.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 88.0,
+        "来源报告数": 5
+      },
+      "玉米粒": {
+        "分类": "主食",
+        "推荐指数": 39.2,
+        "能量KJ": 298.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 14.0,
+        "淀粉g": 14.0,
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "玉米饼": {
+        "分类": "主食",
+        "推荐指数": 5.4,
+        "能量KJ": 912.0,
+        "蛋白g": 5.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 44.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "甘薯": {
+        "分类": "蔬菜",
+        "推荐指数": 37.8,
+        "能量KJ": 359.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 20.0,
+        "淀粉g": 12.0,
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "甜椒": {
+        "分类": "蔬菜",
+        "推荐指数": 60.0,
+        "能量KJ": 84.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "甜玉米": {
+        "分类": "蔬菜",
+        "推荐指数": 43.0,
+        "能量KJ": 360.0,
+        "蛋白g": 3.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 18.0,
+        "淀粉g": 5.0,
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "甜瓜": {
+        "分类": "水果",
+        "推荐指数": -0.6,
+        "能量KJ": 150.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "甜菜": {
+        "分类": "蔬菜",
+        "推荐指数": 61.6,
+        "能量KJ": 180.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "甜菜叶": {
+        "分类": "蔬菜",
+        "推荐指数": 65.8,
+        "能量KJ": 92.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "生姜": {
+        "分类": "蔬菜",
+        "推荐指数": 74.8,
+        "能量KJ": 75.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "生菜": {
+        "分类": "蔬菜",
+        "推荐指数": 61.2,
+        "能量KJ": 62.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "番木瓜": {
+        "分类": "水果",
+        "推荐指数": 31.6,
+        "能量KJ": 179.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 10.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "番茄汁": {
+        "分类": "蔬菜",
+        "推荐指数": 1.2,
+        "能量KJ": 72.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "番茄汤": {
+        "分类": "汤",
+        "推荐指数": 5.2,
+        "能量KJ": 165.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 4
+      },
+      "瘦羊肉": {
+        "分类": "肉类",
+        "推荐指数": 10.6,
+        "能量KJ": 862.0,
+        "蛋白g": 28.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 92.0,
+        "来源报告数": 5
+      },
+      "白菜": {
+        "分类": "蔬菜",
+        "推荐指数": 59.2,
+        "能量KJ": 48.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 1.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "白萝卜": {
+        "分类": "蔬菜",
+        "推荐指数": 70.0,
+        "能量KJ": 59.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "白蘑菇": {
+        "分类": "蔬菜",
+        "推荐指数": 56.8,
+        "能量KJ": 93.0,
+        "蛋白g": 3.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "白鲑": {
+        "分类": "水产品",
+        "推荐指数": 8.0,
+        "能量KJ": 611.0,
+        "蛋白g": 17.0,
+        "脂肪g": 8.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 65.0,
+        "来源报告数": 5
+      },
+      "石斑鱼": {
+        "分类": "水产品",
+        "推荐指数": 16.8,
+        "能量KJ": 385.0,
+        "蛋白g": 19.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 37.0,
+        "来源报告数": 5
+      },
+      "石榴": {
+        "分类": "水果",
+        "推荐指数": 39.0,
+        "能量KJ": 346.0,
+        "蛋白g": 1.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 18.0,
+        "淀粉g": "",
+        "总膳食纤维g": 4.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "秋葵": {
+        "分类": "蔬菜",
+        "推荐指数": 57.2,
+        "能量KJ": 138.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 7.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "章鱼": {
+        "分类": "水产品",
+        "推荐指数": 13.2,
+        "能量KJ": 343.0,
+        "蛋白g": 14.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 48.0,
+        "来源报告数": 5
+      },
+      "竹笋": {
+        "分类": "蔬菜",
+        "推荐指数": 69.4,
+        "能量KJ": 115.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 5.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "米饭": {
+        "分类": "主食",
+        "推荐指数": -4.8,
+        "能量KJ": 1527.0,
+        "蛋白g": 7.0,
+        "脂肪g": "",
+        "碳水化合物g": 79.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "素食蔬菜汤": {
+        "分类": "汤",
+        "推荐指数": -5.8,
+        "能量KJ": 119.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 4
+      },
+      "红心萝卜": {
+        "分类": "蔬菜",
+        "推荐指数": 69.0,
+        "能量KJ": 132.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 7.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "红苹果": {
+        "分类": "水果",
+        "推荐指数": 14.4,
+        "能量KJ": 247.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 14.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "红豆": {
+        "分类": "蔬菜",
+        "推荐指数": 28.6,
+        "能量KJ": 121.0,
+        "蛋白g": 4.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "纳豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 11.8,
+        "能量KJ": 883.0,
+        "蛋白g": 19.0,
+        "脂肪g": 11.0,
+        "碳水化合物g": 12.0,
+        "淀粉g": "",
+        "总膳食纤维g": 5.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "绿豆": {
+        "分类": "蔬菜",
+        "推荐指数": 26.8,
+        "能量KJ": 126.0,
+        "蛋白g": 3.0,
+        "脂肪g": "",
+        "碳水化合物g": 5.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "羽扇豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 19.2,
+        "能量KJ": 1554.0,
+        "蛋白g": 36.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": 40.0,
+        "淀粉g": "",
+        "总膳食纤维g": 18.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "羽衣甘蓝": {
+        "分类": "蔬菜",
+        "推荐指数": 71.4,
+        "能量KJ": 207.0,
+        "蛋白g": 4.0,
+        "脂肪g": "",
+        "碳水化合物g": 8.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "老豆腐": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 13.4,
+        "能量KJ": 326.0,
+        "蛋白g": 9.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "肉丸": {
+        "分类": "肉类",
+        "推荐指数": -17.6,
+        "能量KJ": 1196.0,
+        "蛋白g": 14.0,
+        "脂肪g": 22.0,
+        "碳水化合物g": 8.0,
+        "淀粉g": 2.0,
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": 66.0,
+        "来源报告数": 5
+      },
+      "肥猪肉": {
+        "分类": "肉类",
+        "推荐指数": -21.6,
+        "能量KJ": 2449.0,
+        "蛋白g": 10.0,
+        "脂肪g": 60.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 81.0,
+        "来源报告数": 5
+      },
+      "肥羊肉": {
+        "分类": "肉类",
+        "推荐指数": -21.6,
+        "能量KJ": 2782.0,
+        "蛋白g": 6.0,
+        "脂肪g": 70.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 90.0,
+        "来源报告数": 5
+      },
+      "胡萝卜": {
+        "分类": "蔬菜",
+        "推荐指数": 28.4,
+        "能量KJ": 173.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": 1.0,
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "脱脂牛奶": {
+        "分类": "乳制品",
+        "推荐指数": 10.2,
+        "能量KJ": 142.0,
+        "蛋白g": 3.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 2.0,
+        "来源报告数": 5
+      },
+      "腰果": {
+        "分类": "干果",
+        "推荐指数": -4.8,
+        "能量KJ": 2402.0,
+        "蛋白g": 15.0,
+        "脂肪g": 46.0,
+        "碳水化合物g": 32.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芋头": {
+        "分类": "蔬菜",
+        "推荐指数": 58.2,
+        "能量KJ": 469.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 26.0,
+        "淀粉g": "",
+        "总膳食纤维g": 4.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芒果": {
+        "分类": "水果",
+        "推荐指数": -2.8,
+        "能量KJ": 250.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 14.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芝麻": {
+        "分类": "蔬菜",
+        "推荐指数": 54.6,
+        "能量KJ": 2397.0,
+        "蛋白g": 17.0,
+        "脂肪g": 49.0,
+        "碳水化合物g": 23.0,
+        "淀粉g": "",
+        "总膳食纤维g": 11.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芝麻酱": {
+        "分类": "干果",
+        "推荐指数": 2.0,
+        "能量KJ": 2454.0,
+        "蛋白g": 18.0,
+        "脂肪g": 50.0,
+        "碳水化合物g": 24.0,
+        "淀粉g": "",
+        "总膳食纤维g": 5.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芥末": {
+        "分类": "蔬菜",
+        "推荐指数": 72.2,
+        "能量KJ": 114.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芦笋": {
+        "分类": "蔬菜",
+        "推荐指数": 64.8,
+        "能量KJ": 85.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "花椒": {
+        "分类": "蔬菜",
+        "推荐指数": 67.4,
+        "能量KJ": 80.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "花椰菜": {
+        "分类": "蔬菜",
+        "推荐指数": 59.6,
+        "能量KJ": 104.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "花生": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 2.4,
+        "能量KJ": 2374.0,
+        "蛋白g": 25.0,
+        "脂肪g": 49.0,
+        "碳水化合物g": 16.0,
+        "淀粉g": "",
+        "总膳食纤维g": 8.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "花生酱": {
+        "分类": "豆类及豆制品",
+        "推荐指数": -9.4,
+        "能量KJ": 2464.0,
+        "蛋白g": 24.0,
+        "脂肪g": 49.0,
+        "碳水化合物g": 21.0,
+        "淀粉g": 4.0,
+        "总膳食纤维g": 8.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "芹菜": {
+        "分类": "蔬菜",
+        "推荐指数": 54.8,
+        "能量KJ": 67.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 2.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "苋菜叶": {
+        "分类": "蔬菜",
+        "推荐指数": 41.2,
+        "能量KJ": 97.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "苦瓜": {
+        "分类": "蔬菜",
+        "推荐指数": 62.4,
+        "能量KJ": 126.0,
+        "蛋白g": 5.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "苹果": {
+        "分类": "水果",
+        "推荐指数": 11.6,
+        "能量KJ": 218.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 13.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "苹果汁": {
+        "分类": "水果",
+        "推荐指数": -19.4,
+        "能量KJ": 191.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "茄子": {
+        "分类": "蔬菜",
+        "推荐指数": 53.2,
+        "能量KJ": 104.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 5.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "草莓": {
+        "分类": "水果",
+        "推荐指数": 35.0,
+        "能量KJ": 136.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 7.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "荔枝": {
+        "分类": "水果",
+        "推荐指数": 20.6,
+        "能量KJ": 276.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 16.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "荞麦面粉": {
+        "分类": "主食",
+        "推荐指数": 0.4,
+        "能量KJ": 1402.0,
+        "蛋白g": 12.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 70.0,
+        "淀粉g": "",
+        "总膳食纤维g": 10.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "莲子": {
+        "分类": "干果",
+        "推荐指数": 48.6,
+        "能量KJ": 372.0,
+        "蛋白g": 4.0,
+        "脂肪g": "",
+        "碳水化合物g": 17.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "菊苣": {
+        "分类": "蔬菜",
+        "推荐指数": 69.4,
+        "能量KJ": 71.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "菜豆": {
+        "分类": "蔬菜",
+        "推荐指数": 65.6,
+        "能量KJ": 280.0,
+        "蛋白g": 6.0,
+        "脂肪g": "",
+        "碳水化合物g": 13.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "菠菜": {
+        "分类": "蔬菜",
+        "推荐指数": 53.8,
+        "能量KJ": 97.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "菠萝": {
+        "分类": "水果",
+        "推荐指数": 9.4,
+        "能量KJ": 209.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 13.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "菠萝蜜": {
+        "分类": "水果",
+        "推荐指数": 17.6,
+        "能量KJ": 397.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 23.0,
+        "淀粉g": 1.0,
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "葡萄": {
+        "分类": "水果",
+        "推荐指数": 35.4,
+        "能量KJ": 280.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 17.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "葡萄干": {
+        "分类": "水果",
+        "推荐指数": -26.8,
+        "能量KJ": 264.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 15.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "葡萄干浆即食谷物": {
+        "分类": "主食",
+        "推荐指数": 0.0,
+        "能量KJ": 1354.0,
+        "蛋白g": 7.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 78.0,
+        "淀粉g": "",
+        "总膳食纤维g": 13.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "葡萄柚": {
+        "分类": "水果",
+        "推荐指数": 46.0,
+        "能量KJ": 134.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 8.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "葵花子": {
+        "分类": "干果",
+        "推荐指数": -1.2,
+        "能量KJ": 2445.0,
+        "蛋白g": 20.0,
+        "脂肪g": 51.0,
+        "碳水化合物g": 20.0,
+        "淀粉g": "",
+        "总膳食纤维g": 8.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "蓝莓": {
+        "分类": "水果",
+        "推荐指数": 38.8,
+        "能量KJ": 240.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 14.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "蔓越莓": {
+        "分类": "水果",
+        "推荐指数": 24.4,
+        "能量KJ": 191.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "蕨类": {
+        "分类": "蔬菜",
+        "推荐指数": 69.8,
+        "能量KJ": 143.0,
+        "蛋白g": 4.0,
+        "脂肪g": "",
+        "碳水化合物g": 5.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "藜": {
+        "分类": "蔬菜",
+        "推荐指数": 73.4,
+        "能量KJ": 180.0,
+        "蛋白g": 4.0,
+        "脂肪g": "",
+        "碳水化合物g": 7.0,
+        "淀粉g": "",
+        "总膳食纤维g": 4.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "蘑菇": {
+        "分类": "蔬菜",
+        "推荐指数": 57.2,
+        "能量KJ": 141.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "虾": {
+        "分类": "水产品",
+        "推荐指数": 3.0,
+        "能量KJ": 297.0,
+        "蛋白g": 13.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 126.0,
+        "来源报告数": 5
+      },
+      "蚕豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 20.2,
+        "能量KJ": 1425.0,
+        "蛋白g": 26.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 58.0,
+        "淀粉g": "",
+        "总膳食纤维g": 25.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "蛤蜊": {
+        "分类": "水产品",
+        "推荐指数": 5.8,
+        "能量KJ": 360.0,
+        "蛋白g": 14.0,
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": 1.0,
+        "总膳食纤维g": "",
+        "胆固醇mg": 30.0,
+        "来源报告数": 5
+      },
+      "蟹": {
+        "分类": "水产品",
+        "推荐指数": 12.2,
+        "能量KJ": 364.0,
+        "蛋白g": 18.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 78.0,
+        "来源报告数": 5
+      },
+      "西兰花": {
+        "分类": "蔬菜",
+        "推荐指数": 66.2,
+        "能量KJ": 141.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "西瓜": {
+        "分类": "水果",
+        "推荐指数": 19.0,
+        "能量KJ": 127.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 7.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "西红柿": {
+        "分类": "蔬菜",
+        "推荐指数": 67.0,
+        "能量KJ": 74.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "覆盆子": {
+        "分类": "水果",
+        "推荐指数": 35.6,
+        "能量KJ": 220.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 11.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "豆浆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 10.4,
+        "能量KJ": 226.0,
+        "蛋白g": 3.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "豆芽": {
+        "分类": "蔬菜",
+        "推荐指数": 63.2,
+        "能量KJ": 510.0,
+        "蛋白g": 13.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "豇豆": {
+        "分类": "蔬菜",
+        "推荐指数": 65.0,
+        "能量KJ": 376.0,
+        "蛋白g": 2.0,
+        "脂肪g": "",
+        "碳水化合物g": 18.0,
+        "淀粉g": "",
+        "总膳食纤维g": 5.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "豌豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 68.0,
+        "能量KJ": 1435.0,
+        "蛋白g": 21.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 62.0,
+        "淀粉g": "",
+        "总膳食纤维g": 15.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "贻贝": {
+        "分类": "水产品",
+        "推荐指数": 7.8,
+        "能量KJ": 360.0,
+        "蛋白g": 11.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 28.0,
+        "来源报告数": 5
+      },
+      "辣椒": {
+        "分类": "蔬菜",
+        "推荐指数": 46.6,
+        "能量KJ": 88.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 5.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "金枪鱼": {
+        "分类": "水产品",
+        "推荐指数": 12.8,
+        "能量KJ": 602.0,
+        "蛋白g": 23.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 38.0,
+        "来源报告数": 5
+      },
+      "银杏坚果": {
+        "分类": "干果",
+        "推荐指数": -2.0,
+        "能量KJ": 1456.0,
+        "蛋白g": 10.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 72.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 4
+      },
+      "面包果酱": {
+        "分类": "水果",
+        "推荐指数": 10.0,
+        "能量KJ": 431.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 27.0,
+        "淀粉g": "",
+        "总膳食纤维g": 4.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "面条": {
+        "分类": "主食",
+        "推荐指数": -3.6,
+        "能量KJ": 1609.0,
+        "蛋白g": 14.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": 71.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": 84.0,
+        "来源报告数": 5
+      },
+      "韭菜": {
+        "分类": "蔬菜",
+        "推荐指数": 41.8,
+        "能量KJ": 126.0,
+        "蛋白g": 3.0,
+        "脂肪g": "",
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "香菇": {
+        "分类": "蔬菜",
+        "推荐指数": 58.6,
+        "能量KJ": 160.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": 3.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "香蕉": {
+        "分类": "水果",
+        "推荐指数": 14.4,
+        "能量KJ": 371.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 22.0,
+        "淀粉g": 5.0,
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "鱼子酱": {
+        "分类": "水产品",
+        "推荐指数": -6.2,
+        "能量KJ": 1105.0,
+        "蛋白g": 24.0,
+        "脂肪g": 17.0,
+        "碳水化合物g": 4.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 588.0,
+        "来源报告数": 5
+      },
+      "鱿鱼": {
+        "分类": "水产品",
+        "推荐指数": 8.8,
+        "能量KJ": 385.0,
+        "蛋白g": 15.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 233.0,
+        "来源报告数": 5
+      },
+      "鲈鱼": {
+        "分类": "水产品",
+        "推荐指数": 13.8,
+        "能量KJ": 381.0,
+        "蛋白g": 19.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 90.0,
+        "来源报告数": 5
+      },
+      "鲍鱼": {
+        "分类": "水产品",
+        "推荐指数": 8.0,
+        "能量KJ": 439.0,
+        "蛋白g": 17.0,
+        "脂肪g": "",
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 85.0,
+        "来源报告数": 5
+      },
+      "鲟鱼": {
+        "分类": "水产品",
+        "推荐指数": 9.8,
+        "能量KJ": 439.0,
+        "蛋白g": 16.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 60.0,
+        "来源报告数": 5
+      },
+      "鲤鱼": {
+        "分类": "水产品",
+        "推荐指数": 8.2,
+        "能量KJ": 531.0,
+        "蛋白g": 17.0,
+        "脂肪g": 5.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 66.0,
+        "来源报告数": 5
+      },
+      "鲭鱼": {
+        "分类": "水产品",
+        "推荐指数": 5.2,
+        "能量KJ": 858.0,
+        "蛋白g": 18.0,
+        "脂肪g": 13.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 70.0,
+        "来源报告数": 5
+      },
+      "鲱鱼": {
+        "分类": "水产品",
+        "推荐指数": 1.4,
+        "能量KJ": 661.0,
+        "蛋白g": 17.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 60.0,
+        "来源报告数": 5
+      },
+      "鲶鱼": {
+        "分类": "水产品",
+        "推荐指数": 13.6,
+        "能量KJ": 519.0,
+        "蛋白g": 20.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 59.0,
+        "来源报告数": 5
+      },
+      "鲷鱼": {
+        "分类": "水产品",
+        "推荐指数": 14.0,
+        "能量KJ": 418.0,
+        "蛋白g": 20.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 37.0,
+        "来源报告数": 5
+      },
+      "鲽鱼": {
+        "分类": "水产品",
+        "推荐指数": 4.8,
+        "能量KJ": 294.0,
+        "蛋白g": 12.0,
+        "脂肪g": 1.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 45.0,
+        "来源报告数": 5
+      },
+      "鳄梨": {
+        "分类": "水果",
+        "推荐指数": 33.2,
+        "能量KJ": 670.0,
+        "蛋白g": 2.0,
+        "脂肪g": 14.0,
+        "碳水化合物g": 8.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "鳕鱼": {
+        "分类": "水产品",
+        "推荐指数": 13.8,
+        "能量KJ": 364.0,
+        "蛋白g": 18.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 41.0,
+        "来源报告数": 5
+      },
+      "鳗鱼": {
+        "分类": "水产品",
+        "推荐指数": 4.4,
+        "能量KJ": 770.0,
+        "蛋白g": 18.0,
+        "脂肪g": 11.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 126.0,
+        "来源报告数": 5
+      },
+      "鳟鱼": {
+        "分类": "水产品",
+        "推荐指数": 9.4,
+        "能量KJ": 619.0,
+        "蛋白g": 20.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 58.0,
+        "来源报告数": 5
+      },
+      "鸡心": {
+        "分类": "肉类",
+        "推荐指数": 8.8,
+        "能量KJ": 640.0,
+        "蛋白g": 15.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 136.0,
+        "来源报告数": 5
+      },
+      "鸡汤": {
+        "分类": "肉类",
+        "推荐指数": -9.0,
+        "能量KJ": 26.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 2.0,
+        "来源报告数": 4
+      },
+      "鸡米花": {
+        "分类": "快餐",
+        "推荐指数": -11.6,
+        "能量KJ": 1469.0,
+        "蛋白g": 17.0,
+        "脂肪g": 21.0,
+        "碳水化合物g": 21.0,
+        "淀粉g": 18.0,
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": 40.0,
+        "来源报告数": 5
+      },
+      "鸡肉": {
+        "分类": "肉类",
+        "推荐指数": -0.6,
+        "能量KJ": 604.0,
+        "蛋白g": 28.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 86.0,
+        "来源报告数": 5
+      },
+      "鸡肝": {
+        "分类": "肉类",
+        "推荐指数": 8.0,
+        "能量KJ": 496.0,
+        "蛋白g": 16.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 345.0,
+        "来源报告数": 5
+      },
+      "鸡蛋": {
+        "分类": "蛋类",
+        "推荐指数": -6.0,
+        "能量KJ": 599.0,
+        "蛋白g": 12.0,
+        "脂肪g": 9.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 372.0,
+        "来源报告数": 5
+      },
+      "鸡蛋白": {
+        "分类": "蛋类",
+        "推荐指数": 8.4,
+        "能量KJ": 216.0,
+        "蛋白g": 10.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "鸡蛋面包": {
+        "分类": "主食",
+        "推荐指数": -3.8,
+        "能量KJ": 1201.0,
+        "蛋白g": 9.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": 47.0,
+        "淀粉g": "",
+        "总膳食纤维g": 2.0,
+        "胆固醇mg": 51.0,
+        "来源报告数": 5
+      },
+      "鸡蛋黄": {
+        "分类": "蛋类",
+        "推荐指数": -15.2,
+        "能量KJ": 1346.0,
+        "蛋白g": 15.0,
+        "脂肪g": 26.0,
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 1085.0,
+        "来源报告数": 5
+      },
+      "鹅肝": {
+        "分类": "肉类",
+        "推荐指数": 12.0,
+        "能量KJ": 556.0,
+        "蛋白g": 16.0,
+        "脂肪g": 4.0,
+        "碳水化合物g": 6.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 515.0,
+        "来源报告数": 5
+      },
+      "鹌鹑": {
+        "分类": "肉类",
+        "推荐指数": 6.2,
+        "能量KJ": 803.0,
+        "蛋白g": 19.0,
+        "脂肪g": 12.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 76.0,
+        "来源报告数": 5
+      },
+      "鹌鹑蛋": {
+        "分类": "蛋类",
+        "推荐指数": -6.4,
+        "能量KJ": 663.0,
+        "蛋白g": 13.0,
+        "脂肪g": 11.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 844.0,
+        "来源报告数": 5
+      },
+      "鹰嘴豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 11.2,
+        "能量KJ": 1581.0,
+        "蛋白g": 20.0,
+        "脂肪g": 6.0,
+        "碳水化合物g": 62.0,
+        "淀粉g": "",
+        "总膳食纤维g": 12.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "黄尾": {
+        "分类": "水产品",
+        "推荐指数": 12.4,
+        "能量KJ": 611.0,
+        "蛋白g": 23.0,
+        "脂肪g": 5.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 55.0,
+        "来源报告数": 5
+      },
+      "黄油": {
+        "分类": "乳制品",
+        "推荐指数": -33.6,
+        "能量KJ": 2999.0,
+        "蛋白g": "",
+        "脂肪g": 81.0,
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 215.0,
+        "来源报告数": 5
+      },
+      "黄瓜": {
+        "分类": "蔬菜",
+        "推荐指数": 54.2,
+        "能量KJ": 65.0,
+        "蛋白g": "",
+        "脂肪g": "",
+        "碳水化合物g": 3.0,
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "黄豆": {
+        "分类": "豆类及豆制品",
+        "推荐指数": 20.4,
+        "能量KJ": 1443.0,
+        "蛋白g": 22.0,
+        "脂肪g": 2.0,
+        "碳水化合物g": 60.0,
+        "淀粉g": "",
+        "总膳食纤维g": 25.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "黑莓": {
+        "分类": "水果",
+        "推荐指数": 55.2,
+        "能量KJ": 181.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 9.0,
+        "淀粉g": "",
+        "总膳食纤维g": 5.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "黑麦面包": {
+        "分类": "主食",
+        "推荐指数": -0.4,
+        "能量KJ": 1188.0,
+        "蛋白g": 9.0,
+        "脂肪g": 3.0,
+        "碳水化合物g": 53.0,
+        "淀粉g": "",
+        "总膳食纤维g": 6.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "龙眼": {
+        "分类": "水果",
+        "推荐指数": 49.2,
+        "能量KJ": 251.0,
+        "蛋白g": 1.0,
+        "脂肪g": "",
+        "碳水化合物g": 15.0,
+        "淀粉g": "",
+        "总膳食纤维g": 1.0,
+        "胆固醇mg": "",
+        "来源报告数": 5
+      },
+      "龙虾": {
+        "分类": "水产品",
+        "推荐指数": 7.6,
+        "能量KJ": 324.0,
+        "蛋白g": 16.0,
+        "脂肪g": "",
+        "碳水化合物g": "",
+        "淀粉g": "",
+        "总膳食纤维g": "",
+        "胆固醇mg": 127.0,
+        "来源报告数": 5
+      }
+    }
+  },
+  "菌-疾病关联": {
+    "便秘相关菌": {
+      "菌种数": 28,
+      "菌种": [
+        {
+          "名称": "Erysipelatoclostridium",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "Streptococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀",
+            "失眠"
+          ]
+        },
+        {
+          "名称": "下水道菌属 Cloacibacillus",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "乳杆菌属 Lactobacillus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "副拟杆菌属 Parabacteroides",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "卵形拟杆菌 Bacteroides ovatus",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "厌氧棍状菌属 Anaerotruncus",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "双歧杆菌属 Bifidobacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀",
+            "肥胖",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "史氏甲烷短杆菌 Methanobrevibacter smithii",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "埃希氏菌属 Escherichia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "肥胖",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "巨球形菌属 Megasphaera",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "普雷沃氏菌属 Prevotella",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀",
+            "失眠",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "梭杆菌属 Fusobacterium",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "梭菌属 Clostridium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀",
+            "失眠",
+            "抑郁",
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "母螺菌属 Lachnospira",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "毛螺菌属 Lachnospira",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "瘤胃球菌属 Ruminococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "粪杆菌属 Faecalibacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "失眠",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "粪球菌属 Coprococcus",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "经黏液真杆菌属 Blautia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "失眠",
+            "抑郁",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "肠杆菌属 Enterobacter",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "脆弱拟杆菌 Bacteroides fragilis",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "肥胖",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "臭气杆菌属 Odoribacter",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "臭水杆菌属 Odoribacter",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "葡萄球菌属 Staphylococcus",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "阿克曼氏菌属 Akkermansia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "失眠"
+          ]
+        },
+        {
+          "名称": "霍尔德曼氏菌属 Holdemania",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "肥胖",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "霍尔德曼穆尔菌属 Holdemanella",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        }
+      ]
+    },
+    "抑郁相关菌": {
+      "菌种数": 25,
+      "菌种": [
+        {
+          "名称": "克雷伯氏菌属 Klebsiella",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "过敏"
+          ]
+        },
+        {
+          "名称": "副拟杆菌属 Parabacteroides",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘"
+          ]
+        },
+        {
+          "名称": "副普雷沃氏菌属 Paraprevotella",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "副萨特氏菌属 Parasutterella",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "单形拟杆菌 Bacteroides uniformis",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "厌氧棒状菌属 Anaerostipes",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "双歧杆菌属 Bifidobacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "肥胖",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "另枝菌属 Alistipes",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "嗜血杆菌属 Haemophilus",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "嗜言杆菌属 Haemophilus",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "埃希氏菌属 Escherichia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "拟杆菌属 Bacteroides",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀",
+            "失眠"
+          ]
+        },
+        {
+          "名称": "放线菌属 Actinomyces",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "普氏栖粪杆菌 Faecalibacterium prausnitzii",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "普雷沃氏菌属 Prevotella",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "梭菌属 Clostridium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "肥胖",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "爱格士氏菌属 Eggerthella",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "示荣菌属 Veillonella",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "经黏液真杆菌属 Blautia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "脱硫弧菌属 Desulfovibrio",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "解黄酮菌属 Flavonifractor",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "震颤杆菌属 Oscillibacter",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "霍尔德曼氏菌属 Holdemania",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "韦荣菌属 Veillonella",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "食葡糖罗斯拜瑞氏菌 Roseburia inulinivorans",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        }
+      ]
+    },
+    "失眠相关菌": {
+      "菌种数": 20,
+      "菌种": [
+        {
+          "名称": "Lachnoclostridium",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "Streptococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "厚壁菌门 Firmicutes",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "变形菌门 Proteobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "腹胀",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "心脑言管疾病",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "拟杆菌属 Bacteroides",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "拟杆菌门 Bacteroidetes",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "放线菌门 Actinobacteria",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "普雷沃氏菌属 Prevotella",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "抑郁",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "梭菌属 Clostridium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "肥胖",
+            "抑郁",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "梭菌目 Clostridiales",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "疣微菌门 Verrucomicrobia",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "白双歧杆菌 Bifidobacterium longum",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "粪杆菌属 Faecalibacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "经黏液真杆菌属 Blautia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "过敏",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "色体免疫疾病",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "衣原体 Chlamydiae",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "长双歧杆菌 Bifidobacterium longum",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "阿克曼氏菌属 Akkermansia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘"
+          ]
+        },
+        {
+          "名称": "龙包茨氏菌属 Romboutsia",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        }
+      ]
+    },
+    "过敏相关菌": {
+      "菌种数": 14,
+      "菌种": [
+        {
+          "名称": "丙酸杆菌属 Propionibacterium",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "克雷伯氏菌属 Klebsiella",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "变形菌皮 Proteobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "变形菌门 Proteobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "腹胀",
+            "失眠"
+          ]
+        },
+        {
+          "名称": "枸橼酸杆菌属 Citrobacter",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "气单胞菌属 Aeromonas",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "水单胞菌属 Aeromonas",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "活泼瘤胃球菌 Ruminococcus gnavus",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "粪杆菌属 Faecalibacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠"
+          ]
+        },
+        {
+          "名称": "经黏液真杆菌属 Blautia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "肠杆菌科 Enterobacteriaceae",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "肠球菌属 Enterococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "脆弱拟杆菌 Bacteroides fragilis",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "莫拉氏菌属 Moraxella",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        }
+      ]
+    },
+    "腹胀相关菌": {
+      "菌种数": 18,
+      "菌种": [
+        {
+          "名称": "Streptococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠"
+          ]
+        },
+        {
+          "名称": "乳杆菌属 Lactobacillus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘"
+          ]
+        },
+        {
+          "名称": "产气荚膜梭菌 Clostridium perfringens",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "产水荚膜梭菌 Clostridium perfringens",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "双歧杆菌属 Bifidobacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "肥胖",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "变形菌皮 Proteobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "过敏"
+          ]
+        },
+        {
+          "名称": "变形菌门 Proteobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "失眠",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "史氏甲烷短杆菌 Methanobrevibacter smithii",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘"
+          ]
+        },
+        {
+          "名称": "拟杆菌属 Bacteroides",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "失眠",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "普雷沃氏菌属 Prevotella",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "梭菌属 Clostridium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "抑郁",
+            "肥胖"
+          ]
+        },
+        {
+          "名称": "母螺旋菌科 Lachnospiraceae",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "毛螺旋菌科 Lachnospiraceae",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "瘤胃球菌属 Ruminococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘"
+          ]
+        },
+        {
+          "名称": "肠球菌属 Enterococcus",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "过敏"
+          ]
+        },
+        {
+          "名称": "艰难梭菌 Clostridium difficile",
+          "检出报告数": 4,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "蓝藻皮 Cyanobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "蓝藻门 Cyanobacteria",
+          "检出报告数": 2,
+          "关联其他疾病": []
+        }
+      ]
+    },
+    "肥胖相关菌": {
+      "菌种数": 14,
+      "菌种": [
+        {
+          "名称": "丹毒丝菌科 Erysipelotrichaceae",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "厚壁菌皮 Firmicutes",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "厚壁菌门 Firmicutes",
+          "检出报告数": 2,
+          "关联其他疾病": [
+            "失眠"
+          ]
+        },
+        {
+          "名称": "双歧杆菌属 Bifidobacterium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "腹胀",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "嗜胆菌属 Bilophila",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "埃希氏菌属 Escherichia",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "巨单胞菌属 Megamonas",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "梭菌属 Clostridium",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "失眠",
+            "抑郁",
+            "腹胀"
+          ]
+        },
+        {
+          "名称": "牙龈卟啉单胞菌 Porphyromonas gingivalis",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "红蝽菌科 Coriobacteriaceae",
+          "检出报告数": 1,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "脆弱拟杆菌 Bacteroides fragilis",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "过敏"
+          ]
+        },
+        {
+          "名称": "阿德勒氏菌属 Adlercreutzia",
+          "检出报告数": 3,
+          "关联其他疾病": []
+        },
+        {
+          "名称": "震颤杆菌属 Oscillibacter",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "抑郁"
+          ]
+        },
+        {
+          "名称": "霍尔德曼氏菌属 Holdemania",
+          "检出报告数": 4,
+          "关联其他疾病": [
+            "便秘",
+            "抑郁"
+          ]
+        }
+      ]
+    },
+    "溃疡性结肠炎相关菌(北京菌群报告补充)": {
+      "菌种数": 5,
+      "菌种": [
+        {
+          "名称": "Fusobacterium varium(变形梭杆菌)",
+          "相关性": "正相关",
+          "说明": "超标→促进肠道炎症,风险增加",
+          "老报告可评估": false
+        },
+        {
+          "名称": "Akkermansia(阿克曼菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Bifidobacterium(双歧杆菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Lactobacillus(乳杆菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Prevotella(普雷沃氏菌科)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "克罗恩病相关菌(北京菌群报告补充)": {
+      "菌种数": 2,
+      "菌种": [
+        {
+          "名称": "Akkermansia(阿克曼菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Dialister(小杆菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "肾结石相关菌(北京菌群报告补充)": {
+      "菌种数": 4,
+      "菌种": [
+        {
+          "名称": "Phascolarctobacterium(考拉杆菌属)",
+          "相关性": "正相关",
+          "说明": "超标→风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Bifidobacterium(双歧杆菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Lactobacillus(乳杆菌属)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Prevotella(普雷沃氏菌科)",
+          "相关性": "负相关",
+          "说明": "缺失→保护不足,风险增加",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "精神分裂症相关菌(北京菌群报告补充)": {
+      "菌种数": 1,
+      "菌种": [
+        {
+          "名称": "Collinsella(柯林斯氏菌)",
+          "相关性": "正相关",
+          "说明": "超标→风险增加",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "抑郁评估相关菌(北京菌群报告补充)": {
+      "说明": "来源于北京菌群报告的职场心理障碍评估-抑郁症模块。9种关联菌的综合异常模式指示抑郁风险。评估逻辑:统计超标菌数量+缺乏菌数量,风险菌超标项越多且保护菌缺乏项越多,抑郁风险倾向越高。",
+      "菌种数": 9,
+      "菌种": [
+        {
+          "名称": "Alistipes(另枝菌属)",
+          "异常方向": "超标",
+          "说明": "超标→抑郁风险因素",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Bacteroides vulgatus(普通拟杆菌)",
+          "异常方向": "超标",
+          "说明": "超标→抑郁风险因素",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Eggerthella(伊格尔兹属)",
+          "异常方向": "超标",
+          "说明": "超标→抑郁风险因素",
+          "老报告可评估": false
+        },
+        {
+          "名称": "Flavonifractor(解黄酮菌属)",
+          "异常方向": "超标",
+          "说明": "超标→抑郁风险因素",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Parabacteroides(副拟杆菌属)",
+          "异常方向": "超标",
+          "说明": "超标→抑郁风险因素",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Bifidobacterium(双歧杆菌属)",
+          "异常方向": "缺乏",
+          "说明": "缺乏→保护不足",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Dialister(小杆菌属)",
+          "异常方向": "缺乏",
+          "说明": "缺乏→保护不足",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Lactobacillus(乳杆菌属)",
+          "异常方向": "缺乏",
+          "说明": "缺乏→保护不足",
+          "老报告可评估": true
+        },
+        {
+          "名称": "Prevotella(普雷沃氏菌科)",
+          "异常方向": "缺乏",
+          "说明": "缺乏→保护不足",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "压力评估相关菌(北京菌群报告补充)": {
+      "说明": "检查Lactobacillus丰度是否偏低或缺失。单一指标,仅供参考。",
+      "菌种数": 1,
+      "菌种": [
+        {
+          "名称": "Lactobacillus(乳杆菌属)",
+          "异常方向": "缺乏",
+          "说明": "缺乏→压力相关菌群特征",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "强迫症评估相关菌(北京菌群报告补充)": {
+      "说明": "检查Alistipes丰度是否超出正常范围。单一指标,仅供参考。",
+      "菌种数": 1,
+      "菌种": [
+        {
+          "名称": "Alistipes(另枝菌属)",
+          "异常方向": "超标",
+          "说明": "超标→强迫症相关菌群特征",
+          "老报告可评估": true
+        }
+      ]
+    },
+    "焦虑症评估相关菌(北京菌群报告补充)": {
+      "说明": "北京菌群报告标注为无异常肠菌,即该报告模型下焦虑症与特定菌群异常无明确关联。如有需要可参考通用知识库中已有的菌-焦虑关联研究。",
+      "菌种数": 0,
+      "菌种": []
+    }
+  },
+  "营养素参考": {
+    "丙氨酸": {
+      "报告数": 4,
+      "正常": 2,
+      "偏低": 2,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "丝氨酸": {
+      "报告数": 5,
+      "正常": 3,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "乳制品": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "叶酸": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "异亮氨酸": {
+      "报告数": 1,
+      "正常": 0,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "甘氨酸": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "碳水化合物": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "纤维素": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "组氨酸": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素A": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素B1": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素B12": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素B2": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素B5": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素B6": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素C": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "维生素D": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "缬氨酸": {
+      "报告数": 5,
+      "正常": 3,
+      "偏低": 2,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "胱氨酸": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "脂肪": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "脯氨酸": {
+      "报告数": 5,
+      "正常": 2,
+      "偏低": 3,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "苏氨酸": {
+      "报告数": 1,
+      "正常": 1,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "苯丙氨酸": {
+      "报告数": 5,
+      "正常": 3,
+      "偏低": 2,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "蛋氨酸": {
+      "报告数": 1,
+      "正常": 1,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "蛋白质": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "谷氨酸": {
+      "报告数": 5,
+      "正常": 4,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "赖氨酸": {
+      "报告数": 1,
+      "正常": 1,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "酪氨酸": {
+      "报告数": 5,
+      "正常": 5,
+      "偏低": 0,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "铁": {
+      "报告数": 5,
+      "正常": 2,
+      "偏低": 3,
+      "偏高": 0,
+      "参考范围": ""
+    },
+    "锌": {
+      "报告数": 5,
+      "正常": 3,
+      "偏低": 1,
+      "偏高": 0,
+      "参考范围": ""
+    }
+  },
+  "营养素标准参考": {
+    "营养评估状态分类": {
+      "营养素列表": [
+        "丙氨酸",
+        "丝氨酸",
+        "乳制品",
+        "叶酸",
+        "异亮氨酸",
+        "甘氨酸",
+        "碳水化合物",
+        "纤维素",
+        "组氨酸",
+        "维生素A",
+        "维生素B1",
+        "维生素B12",
+        "维生素B2",
+        "维生素B5",
+        "维生素B6",
+        "维生素C",
+        "维生素D",
+        "缬氨酸",
+        "胱氨酸",
+        "脂肪",
+        "脯氨酸",
+        "苏氨酸",
+        "苯丙氨酸",
+        "蛋氨酸",
+        "蛋白质",
+        "谷氨酸",
+        "赖氨酸",
+        "酪氨酸",
+        "铁",
+        "锌"
+      ],
+      "状态分类体系": [
+        "偏低",
+        "最佳",
+        "正常",
+        "缺乏",
+        "过高"
+      ],
+      "分值参考区间": {
+        "缺乏": [
+          0,
+          5
+        ],
+        "偏低": [
+          6,
+          14
+        ],
+        "正常": [
+          15,
+          99
+        ],
+        "最佳": [
+          70,
+          89
+        ],
+        "过高": [
+          90,
+          100
+        ]
+      },
+      "说明": "营养评估模块给出的是0-100打分,各状态对应分值区间如上。"
+    },
+    "正常参考范围": {
+      "短链脂肪酸": {
+        "丁酸盐(Butyrate)": "15-95",
+        "丙酸盐(Propionate)": "15-90",
+        "乙酸盐(Acetate)": "15-95",
+        "异戊酸盐(Isovaleric)": "5-85"
+      },
+      "神经递质及激素": {
+        "DOPAC": "15-95",
+        "γ-氨基丁酸(GABA)": "15-85",
+        "一氧化氮": "15-95",
+        "喹啉(Quinolinic)": "0-95",
+        "多巴胺": "15-95",
+        "组胺(Histamine)": "15-95",
+        "维生素K2": "15-99",
+        "肌醇(Inositol)": "15-99",
+        "色氨酸(Tryptophan)": "15-95",
+        "血清素(5-HT)": "15-95",
+        "谷氨酸(Glutamate)": "15-95"
+      },
+      "肠道屏障及代谢物": {
+        "吲哚": "15-90",
+        "对甲酚(p-Cresol)": "0-85",
+        "尸胺": "5-85",
+        "次级胆汁酸": "15-95",
+        "硫化氢": "5-85",
+        "肠道产气": "0-50",
+        "肠道屏障": "15-100",
+        "肠道炎症水平": "0-80",
+        "脂多糖LPS": "0-85",
+        "腐胺": "5-85",
+        "苯酚": "0-85"
+      }
+    }
+  },
+  "菌种综合信息": {
+    "说明": "菌种功能分类与关联疾病总览(含检出报告数;已过滤 OCR 噪声键)",
+    "菌种": {
+      "Erysipelatoclostridium": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "Lachnoclostridium": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 4
+      },
+      "Streptococcus": {
+        "功能分类": [
+          "有害菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "失眠",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "下水道菌属 Cloacibacillus": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "丙酸杆菌属 Propionibacterium": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "丹毒丝菌科 Erysipelotrichaceae": {
+        "功能分类": [],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 1
+      },
+      "乳杆菌属 Lactobacillus": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "产气荚膜梭菌 Clostridium perfringens": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 2
+      },
+      "产水荚膜梭菌 Clostridium perfringens": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 2
+      },
+      "优杆菌属 Eubacterium": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "克雷伯氏菌属 Klebsiella": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁",
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "副拟杆菌属 Parabacteroides": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘",
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "副普雷沃氏菌属 Paraprevotella": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "副萨特氏菌属 Parasutterella": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "单形拟杆菌 Bacteroides uniformis": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "卵形拟杆菌 Bacteroides ovatus": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "厌氧棍状菌属 Anaerotruncus": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "厌氧棒状菌属 Anaerostipes": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 1
+      },
+      "厚壁菌皮 Firmicutes": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 1
+      },
+      "厚壁菌门 Firmicutes": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [
+          "失眠",
+          "肥胖"
+        ],
+        "检出报告数": 2
+      },
+      "双歧杆菌属 Bifidobacterium": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "抑郁",
+          "肥胖",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "变形菌皮 Proteobacteria": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [
+          "腹胀",
+          "过敏"
+        ],
+        "检出报告数": 2
+      },
+      "变形菌门 Proteobacteria": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [
+          "失眠",
+          "腹胀",
+          "过敏"
+        ],
+        "检出报告数": 2
+      },
+      "另枝菌属 Alistipes": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "史氏甲烷短杆菌 Methanobrevibacter smithii": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "嗜胆菌属 Bilophila": {
+        "功能分类": [],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 1
+      },
+      "嗜血杆菌属 Haemophilus": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 2
+      },
+      "嗜言杆菌属 Haemophilus": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 2
+      },
+      "埃希氏菌属 Escherichia": {
+        "功能分类": [
+          "有害菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "抑郁",
+          "肥胖"
+        ],
+        "检出报告数": 4
+      },
+      "巨单胞菌属 Megamonas": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 1
+      },
+      "巨球形菌属 Megasphaera": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "弓形菌属 Arcobacter": {
+        "功能分类": [
+          "有害菌属"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "拟杆菌属 Bacteroides": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "失眠",
+          "抑郁",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "拟杆菌皮 Bacteroidetes": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "拟杆菌门 Bacteroidetes": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 1
+      },
+      "放线菌属 Actinomyces": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "放线菌皮 Actinobacteria": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "放线菌门 Actinobacteria": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 1
+      },
+      "普氏栖粪杆菌 Faecalibacterium prausnitzii": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "普雷沃氏菌属 Prevotella": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "失眠",
+          "抑郁",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "枸橼酸杆菌属 Citrobacter": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "柯林斯氏菌属 Collinsella": {
+        "功能分类": [
+          "其它重要菌属"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "梭杆菌属 Fusobacterium": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "梭杆菌皮 Fusobacteria": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "梭菌属 Clostridium": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "失眠",
+          "抑郁",
+          "肥胖",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "梭菌目 Clostridiales": {
+        "功能分类": [],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 4
+      },
+      "母螺旋菌科 Lachnospiraceae": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 2
+      },
+      "母螺菌属 Lachnospira": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 2
+      },
+      "毛螺旋菌科 Lachnospiraceae": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 2
+      },
+      "毛螺菌属 Lachnospira": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 2
+      },
+      "气单胞菌属 Aeromonas": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 2
+      },
+      "水单胞菌属 Aeromonas": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 2
+      },
+      "活泼瘤胃球菌 Ruminococcus gnavus": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "爱格士氏菌属 Eggerthella": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "牙龈卟啉单胞菌 Porphyromonas gingivalis": {
+        "功能分类": [],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 1
+      },
+      "疣微菌皮 Verrucomicrobia": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "疣微菌门 Verrucomicrobia": {
+        "功能分类": [],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 1
+      },
+      "瘤胃球菌属 Ruminococcus": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "白双歧杆菌 Bifidobacterium longum": {
+        "功能分类": [],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 2
+      },
+      "示荣菌属 Veillonella": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 2
+      },
+      "粪杆菌属 Faecalibacterium": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "失眠",
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "粪球菌属 Coprococcus": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "红蝽菌科 Coriobacteriaceae": {
+        "功能分类": [],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 1
+      },
+      "经黏液真杆菌属 Blautia": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [
+          "便秘",
+          "失眠",
+          "抑郁",
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "考拉杆菌属 Phascolarctobacterium": {
+        "功能分类": [
+          "核心菌属"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "肠杆菌属 Enterobacter": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "肠杆菌科 Enterobacteriaceae": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "肠球菌属 Enterococcus": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀",
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "脆弱拟杆菌 Bacteroides fragilis": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘",
+          "肥胖",
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "脱硫弧菌属 Desulfovibrio": {
+        "功能分类": [
+          "有害菌属"
+        ],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "臭气杆菌属 Odoribacter": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 2
+      },
+      "臭水杆菌属 Odoribacter": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 2
+      },
+      "艰难梭菌 Clostridium difficile": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 4
+      },
+      "莫拉氏菌属 Moraxella": {
+        "功能分类": [],
+        "关联疾病": [
+          "过敏"
+        ],
+        "检出报告数": 4
+      },
+      "葡萄球菌属 Staphylococcus": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "蓝藻皮 Cyanobacteria": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 2
+      },
+      "蓝藻门 Cyanobacteria": {
+        "功能分类": [],
+        "关联疾病": [
+          "腹胀"
+        ],
+        "检出报告数": 2
+      },
+      "螺旋体 Spirochaetes": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "螺杆菌属 Helicobacter": {
+        "功能分类": [
+          "有害菌属"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "衣原体 Chlamydiae": {
+        "功能分类": [],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 1
+      },
+      "解黄酮菌属 Flavonifractor": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "长双歧杆菌 Bifidobacterium longum": {
+        "功能分类": [],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 2
+      },
+      "阿克曼氏菌属 Akkermansia": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘",
+          "失眠"
+        ],
+        "检出报告数": 4
+      },
+      "阿德勒氏菌属 Adlercreutzia": {
+        "功能分类": [],
+        "关联疾病": [
+          "肥胖"
+        ],
+        "检出报告数": 3
+      },
+      "震颤杆菌属 Oscillibacter": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁",
+          "肥胖"
+        ],
+        "检出报告数": 4
+      },
+      "霍尔德曼氏菌属 Holdemania": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘",
+          "抑郁",
+          "肥胖"
+        ],
+        "检出报告数": 4
+      },
+      "霍尔德曼穆尔菌属 Holdemanella": {
+        "功能分类": [],
+        "关联疾病": [
+          "便秘"
+        ],
+        "检出报告数": 4
+      },
+      "韦荣菌属 Veillonella": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 2
+      },
+      "食葡糖罗斯拜瑞氏菌 Roseburia inulinivorans": {
+        "功能分类": [],
+        "关联疾病": [
+          "抑郁"
+        ],
+        "检出报告数": 4
+      },
+      "黏㬵球形菌皮 Lentisphaerae": {
+        "功能分类": [
+          "益生菌"
+        ],
+        "关联疾病": [],
+        "检出报告数": 0
+      },
+      "龙包茨氏菌属 Romboutsia": {
+        "功能分类": [],
+        "关联疾病": [
+          "失眠"
+        ],
+        "检出报告数": 4
+      }
+    }
+  },
+  "菌种功能详细描述": {
+    "描述": "以下22种核心菌属功能描述来源于北京肠道菌群检测报告(2025标准版),为通用科学知识,可用于报告解读知识支撑。",
+    "菌种": {
+      "Akkermansia": {
+        "中文名": "阿克曼菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "减轻肠炎症状,调节脾脏、肠道和肠系膜淋巴结的免疫应答,降低肠道的炎症水平,预防肠癌。与肥胖、糖尿病、代谢综合征负相关。"
+      },
+      "Alistipes": {
+        "中文名": "另枝菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "对肝纤维化、结肠炎、癌症的免疫治疗和心血管疾病有保护作用。"
+      },
+      "Bacteroides": {
+        "中文名": "拟杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "参与多种多糖发酵和氮代谢,对宿主免疫系统正常发育和维持至关重要。但当免疫功能降低时,可引起腹腔感染、脓肿、败血症等。"
+      },
+      "Bifidobacterium": {
+        "中文名": "双歧杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "对人体健康具有生物屏障、营养作用、抗肿瘤作用、增强免疫作用、改善胃肠道功能、抗衰老等生理功能。是肠道中重要的益生菌。"
+      },
+      "Blautia": {
+        "中文名": "经黏液真杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "与内脏脂肪面积负相关,通过产生细菌素防止病原体定植,上调调节性T细胞和SCFA产生,表现出抗炎特性和维持葡萄糖稳态作用。"
+      },
+      "Clostridium": {
+        "中文名": "梭菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "与肠道能量代谢相关,含量过高时可引发炎症。部分种(如C. butyricum)产丁酸,对肠道健康有益。"
+      },
+      "Coprococcus": {
+        "中文名": "粪球菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "可发酵碳水化合物,产生多种短链脂肪酸,保护肠道,降低炎症水平。同时抑制有害菌生长。"
+      },
+      "Dialister": {
+        "中文名": "小杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "代谢碳水化合物,产生琥珀酸和乙酸、丙酸、丁酸、组胺、过氧化氢酶。与抑郁症、自闭症、情绪控制、口腔疾病等相关。"
+      },
+      "Dorea": {
+        "中文名": "多尔氏菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "人体的主要产气菌,与肠易激综合征症状正相关。"
+      },
+      "Eubacterium": {
+        "中文名": "优杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "肠道中主要的丁酸产生菌之一,代谢产物丁酸是肠道上皮组织细胞再生和修复的主要营养物质。"
+      },
+      "Faecalibacterium": {
+        "中文名": "普氏栖粪杆菌",
+        "功能分类": "核心菌属",
+        "功能描述": "产生抗炎代谢物,在IBS、IBD、结直肠癌、糖尿病和虚弱的老年人中丰度降低。其种F. prausnitzii具有抗炎、改善肠道黏膜屏障、抑制致病菌、减轻肥胖等作用。"
+      },
+      "Lachnoclostridium": {
+        "中文名": "毛螺菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "构成人类肠道微生物群落的重要组成部分,可发挥抗炎作用,在体内平衡中发挥作用。"
+      },
+      "Lachnospira": {
+        "中文名": "毛螺菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "产短链脂肪酸,维持结肠细胞稳定从而抑制癌变,调节肠道菌群失衡和提高免疫力。"
+      },
+      "Lactobacillus": {
+        "中文名": "乳杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "提高营养物质的消化吸收,产生多种维生素,抑制肠道内腐败菌、致病菌的繁殖。是常见的益生菌。"
+      },
+      "Megamonas": {
+        "中文名": "巨单胞菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "发酵各种碳水化合物,终产物为乙酸、丙酸和乳酸。与IBD、结直肠癌、强直性脊柱炎、自闭症、肥胖等疾病密切相关。"
+      },
+      "Oscillospira": {
+        "中文名": "颤螺旋菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "与肥胖、消瘦、胆结石、慢性便秘等相关,能够产生丁酸盐等短链脂肪酸,被列为下一代益生菌候选者。"
+      },
+      "Parabacteroides": {
+        "中文名": "副拟杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "有助于消化高纤维饮食中的难消化成分。与宿主代谢和免疫调节相关。"
+      },
+      "Phascolarctobacterium": {
+        "中文名": "考拉杆菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "产生短链脂肪酸(乙酸和丙酸),参与机体代谢功能和调节人体情绪。"
+      },
+      "Prevotella": {
+        "中文名": "普雷沃氏菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "能分解多种纤维素、蛋白质和碳水化合物食物,对肥胖和糖尿病有改善作用。与高植物纤维饮食模式正相关。"
+      },
+      "Roseburia": {
+        "中文名": "罗斯氏菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "改善肠道生物多样性,提高葡萄糖耐受性,帮助减肥,使结肠细胞恢复活力。是重要的丁酸产生菌。"
+      },
+      "Ruminococcus": {
+        "中文名": "瘤胃球菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "在消化抗性淀粉方面起重要作用,但也与肠道疾病(IBS、IBD、克罗恩等)、免疫性疾病(过敏、湿疹、哮喘等)、神经系统疾病(自闭症、抑郁症等)相关。"
+      },
+      "Sutterella": {
+        "中文名": "萨特氏菌属",
+        "功能分类": "核心菌属",
+        "功能描述": "与溃疡性结肠炎缓解程度负相关,可损害肠道抗菌免疫反应功能。在自闭症儿童中含量较高。"
+      }
+    }
+  },
+  "菌属功能库": {
+    "说明": "所有菌属的功能说明、高低影响、调整方向。学名为主键,个人JSON用学名匹配",
+    "菌属": [
+      {
+        "学名": "Clostridium",
+        "中文名": "梭菌属",
+        "分组": "核心菌属",
+        "功能说明": "多导致⼈体炎症;致病;导致菌群失衡;产丁酸;肥胖⼈群丰度较⾼;参与胆汁酸代谢;对抗艰难梭菌;",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Prevotella",
+        "中文名": "普雷沃氏菌属",
+        "分组": "核心菌属",
+        "功能说明": "核心菌,健康的植物性饮食相关菌,在自闭症、多发性硬化中减少;丰度⾼促炎,加剧过敏、",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Ruminococcus",
+        "中文名": "瘤胃球菌属",
+        "分组": "核心菌属",
+        "功能说明": "消化抗性淀粉、纤维素,丰度⾼促进肠炎和过敏相关疾病,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bacteroides",
+        "中文名": "拟杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "基石菌,消化蔬菜和谷食,蛋白,降解复杂多糖,交叉喂养关键菌,维持免疫和肠道稳态,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Eubacterium",
+        "中文名": "优杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "基石菌,产短链脂肪酸尤其丁酸,有助于肠道健康,降解胆固醇、调节餐后血糖、",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lachnoclostridium",
+        "中文名": "",
+        "分组": "核心菌属",
+        "功能说明": "丁酸,与内脏脂肪积累相关,与肥胖、⾼血压、糖尿病正相关,与肠道炎症、肠癌和阿尔茨海默病进展有关,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Faecalibacterium",
+        "中文名": "粪杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Blautia",
+        "中文名": "经黏液真杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Dialister",
+        "中文名": "戴阿利斯特杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "代谢碳水化合物、产短链脂肪酸,许多种都可能导致感染,但是抑郁症患者缺乏,关节炎患者富集,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Roseburia",
+        "中文名": "罗氏菌属",
+        "分组": "核心菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Agathobacter",
+        "中文名": "直肠真杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "可利用抗性淀粉,具有抗炎和调节免疫功能的作用,类⻛湿性关节炎和溃疡性结肠炎⼈群显著减少。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Gemmiger",
+        "中文名": "吉米菌属",
+        "分组": "核心菌属",
+        "功能说明": "健康饮食,⾼果蔬、谷物及豆类饮食含量⾼,与雄激素分泌相关,缓解便秘,与脂肪堆积分布负相关,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Parabacteroides",
+        "中文名": "副拟杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "帮助糖脂代谢,改善⾼脂影响,产生强大的降解酶,参与胆碱代谢,顺产宝宝和⻓寿老⼈肠道丰富,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Alistipes",
+        "中文名": "另枝菌属",
+        "分组": "核心菌属",
+        "功能说明": "耐胆汁酸菌,丙酸,乙酸生产者,参与腐败途径产生氨、H2S、甲酚、吲哚和苯酚,诱发结直肠癌,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lachnospira",
+        "中文名": "母螺菌属",
+        "分组": "核心菌属",
+        "功能说明": "基石菌,发酵代谢膳食纤维,利用果蔬果㬵产生乙酸,丁酸,与睡眠质量呈负相关,过少与多种疾病相关,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Phascolarctobacterium",
+        "中文名": "考拉杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "东⽅⼈肠道的核心菌属,⾼易减肥,与水果蔬菜摄⼊相关,随年龄增加,在重度抑郁、阿尔茨海默病(AD)、自闭症⼉童富集,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Megamonas",
+        "中文名": "巨单胞菌属",
+        "分组": "核心菌属",
+        "功能说明": "发酵各种碳水化合物、产乙酸、丙酸、乳酸,自闭症谱系障碍、注意缺陷、多动障碍 (ADHD)急性脑卒中(AIS)",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Coprococcus",
+        "中文名": "粪球菌属",
+        "分组": "核心菌属",
+        "功能说明": "可产丁酸,抑制免疫反应,降低过敏,抑郁、帕金森、认知障碍、便秘,慢性肾病、虚弱者减少,过多导致菌群紊乱,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium",
+        "中文名": "双歧杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "最重要的",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus",
+        "中文名": "乳杆菌属",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus rogosae",
+        "中文名": "罗氏乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium adolescentis",
+        "中文名": "",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium longum",
+        "中文名": "",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus reuteri",
+        "中文名": "罗伊氏乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium bifidum",
+        "中文名": "双歧双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium catenulatum",
+        "中文名": "链状双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium pseudolongum",
+        "中文名": "假长双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium gallicum",
+        "中文名": "",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium stercoris",
+        "中文名": "排泄物双岐杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus paracasei",
+        "中文名": "副干酪乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus plantarum",
+        "中文名": "植物乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus johnsonii",
+        "中文名": "约氏乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus helveticus",
+        "中文名": "瑞一乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium animalis",
+        "中文名": "动物双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus fermentum",
+        "中文名": "发酵乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium breve",
+        "中文名": "短双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus rhamnosus",
+        "中文名": "",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus brevis",
+        "中文名": "短乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus delbrueckii",
+        "中文名": "德氏乳酸乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus acidophilus",
+        "中文名": "嗜酸乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Escherichia",
+        "中文名": "埃希氏菌属",
+        "分组": "有害菌属",
+        "功能说明": "正常菌属,条件致病菌,过多致病,导致菌群失衡",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Streptococcus",
+        "中文名": "",
+        "分组": "有害菌属",
+        "功能说明": "可引起化脓性炎症,个别菌为",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Desulfovibrio",
+        "中文名": "脱硫弧菌属",
+        "分组": "有害菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Helicobacter",
+        "中文名": "螺杆菌属",
+        "分组": "有害菌属",
+        "功能说明": "⾰兰氏阴性菌,微需氧菌,该菌属下的⼀些菌种被发现在⼈类上消化道内壁,部分种为致病菌,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Arcobacter",
+        "中文名": "",
+        "分组": "有害菌属",
+        "功能说明": "好氧菌,腹泻致病菌,与河流海洋污染相关的潜在病原菌,⼈畜共患菌",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Anaerobiospirillum",
+        "中文名": "厌氧螺菌",
+        "分组": "有害菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Enterococcus",
+        "中文名": "肠球菌属",
+        "分组": "有害菌属",
+        "功能说明": "常⻅上呼吸道,⼝腔或肠道的常居菌,也分布在畜、禽养殖环境,饲料或肠道,抑菌调节肠道菌群,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Neisseria",
+        "中文名": "奈瑟氏菌属",
+        "分组": "有害菌属",
+        "功能说明": "部分为⼈体病原菌,⼝腔,唾液,⿐腔,肺部正常菌,需氧,对干燥、热、消毒剂敏感,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Acinetobacter",
+        "中文名": "不动杆菌属",
+        "分组": "有害菌属",
+        "功能说明": "条件致病菌,医院感染病原体之⼀,尤其ICU,易引起呼吸道感染、泌尿道感染、创伤感染,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Pseudomonas",
+        "中文名": "假单胞菌属",
+        "分组": "有害菌属",
+        "功能说明": "属于变形菌⻔,在环境中⼴泛存在,代谢多变适应⼒强,好氧或微需,会导致感染和食物变质,医院获得性感染主要原因,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Holdemania",
+        "中文名": "霍尔德曼氏菌属",
+        "分组": "有害菌属",
+        "功能说明": "肠道共生菌,降解黏蛋白,机会致病菌,少数研究表明与痛⻛正相关,帕金森,双向情感障碍,过敏,抑郁患者富集",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Collinsella",
+        "中文名": "柯林斯氏菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "产气菌,与脂质代谢及心脑血管相关,过多可导致菌群紊乱,部分病原菌",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bilophila",
+        "中文名": "嗜胆菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "条件致病菌,与耐胆汁酸和脂肪摄⼊相关,便秘⼈群丰度更⾼",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Flavonifractor",
+        "中文名": "",
+        "分组": "其它重要菌属",
+        "功能说明": "参与肠道⼉茶素代谢,减轻免疫反应,产丁酸",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Dorea",
+        "中文名": "",
+        "分组": "其它重要菌属",
+        "功能说明": "消化碳水化合物,多发性硬化症、炎症性肠病、结直肠癌、自闭症谱系障碍以及肥胖⼈群中⾼丰度富集,",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Hungatella",
+        "中文名": "亨盖特氏菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "参与生成氧化三甲胺和牛磺酸。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Oscillospira",
+        "中文名": "颤螺菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "基石菌、核心菌群,帮助消化抗性淀粉,产丁酸,并在大肠中发酵。与⼉童过敏和肥胖呈负相关。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Citrobacter",
+        "中文名": "枸橼酸杆菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "常⻅菌,免疫⼒下降可能引发感染。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Akkermansia",
+        "中文名": "",
+        "分组": "其它重要菌属",
+        "功能说明": "基石菌,可降解淀粉,黏蛋白降解菌,可控制体重,改善代谢和炎症,过多导致肠粘膜屏障破坏。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Enterobacter",
+        "中文名": "肠杆菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "产酸产气,不引起腹泻,机会性感染,过多导致菌群紊乱和肥胖。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Turicibacter",
+        "中文名": "苏黎世杆菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "发酵生成乳酸,参与肌肉和疲劳调节。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Butyrivibrio",
+        "中文名": "丁酸弧菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "利用纤维素、淀粉和其他多聚糖生成丁酸,有助于维持肠道上皮,发挥抗炎、抗氧化作用。可调节体内的氨水平,影响免疫。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Christensenella",
+        "中文名": "克里斯滕森氏菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "过多:肥胖,代谢综合征,包括⾼血压、⾼血糖、异常胆固醇水平和腹部肥胖,胰岛素抵抗",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Haemophilus",
+        "中文名": "嗜血杆菌属",
+        "分组": "病原菌属",
+        "功能说明": "病原菌,过多可导致菌群紊乱,可引发呼吸道感染,常⻅于呼吸道感染",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Salmonella",
+        "中文名": "沙门氏菌属",
+        "分组": "病原菌属",
+        "功能说明": "是引起食物中毒和肠道感染的常⻅病原菌之⼀",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Sutterella",
+        "中文名": "萨特氏菌属",
+        "分组": "病原菌属",
+        "功能说明": "肠道共生菌,潜在病原菌,自闭症相关,减少IgA",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Corynebacterium",
+        "中文名": "棒杆菌属",
+        "分组": "病原菌属",
+        "功能说明": "可导致急性腹泻、腹痛、恶心",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Aeromonas",
+        "中文名": "气单胞菌属",
+        "分组": "病原菌属",
+        "功能说明": "病原菌",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Staphylococcus",
+        "中文名": "葡萄球菌属",
+        "分组": "病原菌属",
+        "功能说明": "利用碳水化合物或氨基酸,产生乳酸。部分产生毒素,如金黄色葡萄球菌,可能引发肠道炎症、并影响肠道屏障功能",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Vibrio",
+        "中文名": "",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bilophila wadsworthia",
+        "中文名": "沃氏嗜胆菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Salmonella enterica",
+        "中文名": "肠炎沙门氏菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Escherichia coli",
+        "中文名": "大肠杆菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bacteroides fragilis",
+        "中文名": "脆弱拟杆菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium adolescentis",
+        "中文名": "青春双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium longum",
+        "中文名": "长双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium gallicum",
+        "中文名": "高卢双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Bifidobacterium pseudolongum",
+        "中文名": "假长双歧杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Lactobacillus rhamnosus",
+        "中文名": "鼠李糖乳杆菌",
+        "分组": "益生菌",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Arcobacter",
+        "中文名": "弓形菌属",
+        "分组": "有害菌属",
+        "功能说明": "好氧菌,腹泻致病菌,与河流海洋污染相关的潜在病原菌,人畜共患菌",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Christensenella",
+        "中文名": "克里斯滕森氏菌属",
+        "分组": "其它重要菌属",
+        "功能说明": "过多:肥胖,代谢综合征,包括高血压、高血糖、异常胆固醇水平和腹部肥胖,胰岛素抵抗",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Salmonella",
+        "中文名": "沙门氏菌属",
+        "分组": "病原菌属",
+        "功能说明": "是引起食物中毒和肠道感染的常见病原菌之一",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Streptococcus sanguinis",
+        "中文名": "血链球菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Pseudomonas aeruginosa",
+        "中文名": "铜绿假单胞菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Actinomyces oris",
+        "中文名": "口腔放线菌",
+        "分组": "病原菌属",
+        "功能说明": "",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Coprobacter",
+        "中文名": "粪杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "肠道共生菌,参与短链脂肪酸代谢",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Paraprevotella",
+        "中文名": "副普雷沃氏菌属",
+        "分组": "核心菌属",
+        "功能说明": "肠道共生菌,与植物性饮食相关",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Parasutterella",
+        "中文名": "副萨特氏菌属",
+        "分组": "核心菌属",
+        "功能说明": "肠道共生菌,与宿主代谢相关",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Anaerotignum",
+        "中文名": "厌氧杆菌属",
+        "分组": "核心菌属",
+        "功能说明": "产丁酸菌,与肠道健康相关,参与膳食纤维发酵。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Eisenbergiella",
+        "中文名": "艾森伯格菌属",
+        "分组": "核心菌属",
+        "功能说明": "厚壁菌门成员,参与碳水化合物代谢。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Erysipelatoclostridium",
+        "中文名": "丹毒梭菌属",
+        "分组": "核心菌属",
+        "功能说明": "厚壁菌门成员,与肠道菌群平衡相关。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "Prevotellamassilia",
+        "中文名": "普雷沃氏马西利亚菌属",
+        "分组": "核心菌属",
+        "功能说明": "与肠道微生态相关,参与复杂碳水化合物降解。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "CAG-56",
+        "中文名": "候选属56",
+        "分组": "核心菌属",
+        "功能说明": "未分类候选属(Candidatus),与肠道菌群组成相关。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "CAG-81",
+        "中文名": "候选属81",
+        "分组": "核心菌属",
+        "功能说明": "未分类候选属(Candidatus),与肠道菌群组成相关。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      },
+      {
+        "学名": "CAG-180",
+        "中文名": "候选属180",
+        "分组": "核心菌属",
+        "功能说明": "未分类候选属(Candidatus),与肠道菌群组成相关。",
+        "偏高影响": "",
+        "偏低影响": "",
+        "调整方向": ""
+      }
+    ]
+  },
+  "报告指标分级标准": {
+    "说明": "各类报告指标的标准化范围、状态分级阈值、说明和调整建议",
+    "版本": "3.0",
+    "指标总数": 142,
+    "指标类别": {
+      "疾病风险评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 1
+        },
+        "状态分级": [
+          {
+            "状态": "低风险",
+            "最小值": 0,
+            "最大值": 0.3
+          },
+          {
+            "状态": "注意",
+            "最小值": 0.3,
+            "最大值": 0.5
+          },
+          {
+            "状态": "高风险",
+            "最小值": 0.5,
+            "最大值": 1
+          }
+        ],
+        "指标": [
+          {
+            "名称": "炎症性肠炎",
+            "说明": "肠道慢性炎症性疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制炎症性肠炎的风险水平。"
+          },
+          {
+            "名称": "肠易激综合征",
+            "说明": "功能性肠道疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制肠易激综合征的风险水平。"
+          },
+          {
+            "名称": "感染性腹泻",
+            "说明": "细菌/病毒感染性腹泻风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制感染性腹泻的风险水平。"
+          },
+          {
+            "名称": "自闭症",
+            "说明": "自闭症谱系障碍风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制自闭症的风险水平。"
+          },
+          {
+            "名称": "抑郁症",
+            "说明": "抑郁症风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制抑郁症的风险水平。"
+          },
+          {
+            "名称": "甲状腺疾病",
+            "说明": "甲状腺功能异常风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制甲状腺疾病的风险水平。"
+          },
+          {
+            "名称": "肺部感染或疾病",
+            "说明": "呼吸系统疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制肺部感染或疾病的风险水平。"
+          },
+          {
+            "名称": "肺部疾病",
+            "说明": "肺部疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制肺部疾病的风险水平。"
+          },
+          {
+            "名称": "自体免疫病",
+            "说明": "自身免疫性疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制自体免疫病的风险水平。"
+          },
+          {
+            "名称": "结直肠癌",
+            "说明": "结直肠癌风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制结直肠癌的风险水平。"
+          },
+          {
+            "名称": "肥胖",
+            "说明": "肥胖风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制肥胖的风险水平。"
+          },
+          {
+            "名称": "便秘",
+            "说明": "便秘风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制便秘的风险水平。"
+          },
+          {
+            "名称": "过敏",
+            "说明": "过敏性疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制过敏的风险水平。"
+          },
+          {
+            "名称": "失眠",
+            "说明": "睡眠障碍风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制失眠的风险水平。"
+          },
+          {
+            "名称": "肝病",
+            "说明": "肝脏疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制肝病的风险水平。"
+          },
+          {
+            "名称": "肾病",
+            "说明": "肾脏疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制肾病的风险水平。"
+          },
+          {
+            "名称": "胃病",
+            "说明": "胃部疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制胃病的风险水平。"
+          },
+          {
+            "名称": "胆病",
+            "说明": "胆囊/胆道疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制胆病的风险水平。"
+          },
+          {
+            "名称": "心脑血管疾病",
+            "说明": "心脑血管疾病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制心脑血管疾病的风险水平。"
+          },
+          {
+            "名称": "II型糖尿病",
+            "说明": "II型糖尿病风险评估",
+            "偏高影响": "",
+            "偏低影响": "低风险提示该疾病风险较低,保持现有健康状态即可。",
+            "调整建议": "维持健康的饮食和生活习惯,定期关注肠道菌群变化,有助于控制II型糖尿病的风险水平。"
+          }
+        ]
+      },
+      "主要营养评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "缺乏",
+            "最小值": 0,
+            "最大值": 5
+          },
+          {
+            "状态": "偏低",
+            "最小值": 5,
+            "最大值": 15
+          },
+          {
+            "状态": "正常",
+            "最小值": 15,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "碳水化合物",
+            "说明": "主要能量来源",
+            "偏高影响": "碳水化合物摄入偏高提示当前摄入充足,无需额外补充。",
+            "偏低影响": "碳水化合物摄入不足可能影响能量供给和身体机能。",
+            "调整建议": "保持均衡摄入,根据个人情况适当调整碳水化合物来源食物的比例。"
+          },
+          {
+            "名称": "蛋白质",
+            "说明": "机体构建和修复的重要营养素",
+            "偏高影响": "蛋白质摄入偏高提示当前摄入充足,无需额外补充。",
+            "偏低影响": "蛋白质摄入不足可能影响能量供给和身体机能。",
+            "调整建议": "保持均衡摄入,根据个人情况适当调整蛋白质来源食物的比例。"
+          },
+          {
+            "名称": "脂肪",
+            "说明": "必需脂肪酸来源,脂溶性维生素载体",
+            "偏高影响": "脂肪摄入偏高提示当前摄入充足,无需额外补充。",
+            "偏低影响": "脂肪摄入不足可能影响能量供给和身体机能。",
+            "调整建议": "保持均衡摄入,根据个人情况适当调整脂肪来源食物的比例。"
+          },
+          {
+            "名称": "纤维素",
+            "说明": "促进肠道蠕动,维持菌群健康",
+            "偏高影响": "纤维素摄入偏高提示当前摄入充足,无需额外补充。",
+            "偏低影响": "纤维素摄入不足可能影响能量供给和身体机能。",
+            "调整建议": "保持均衡摄入,根据个人情况适当调整纤维素来源食物的比例。"
+          },
+          {
+            "名称": "乳制品",
+            "说明": "钙质和优质蛋白来源",
+            "偏高影响": "乳制品摄入偏高提示当前摄入充足,无需额外补充。",
+            "偏低影响": "乳制品摄入不足可能影响能量供给和身体机能。",
+            "调整建议": "保持均衡摄入,根据个人情况适当调整乳制品来源食物的比例。"
+          }
+        ]
+      },
+      "氨基酸评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "缺乏",
+            "最小值": 0,
+            "最大值": 5
+          },
+          {
+            "状态": "偏低",
+            "最小值": 5,
+            "最大值": 15
+          },
+          {
+            "状态": "正常",
+            "最小值": 15,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "苏氨酸",
+            "说明": "必需氨基酸,参与蛋白质合成和免疫功能",
+            "偏高影响": "",
+            "偏低影响": "苏氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含苏氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "异亮氨酸",
+            "说明": "支链氨基酸,促进肌肉合成和能量代谢",
+            "偏高影响": "",
+            "偏低影响": "异亮氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含异亮氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "亮氨酸",
+            "说明": "支链氨基酸,激活肌肉蛋白合成通路",
+            "偏高影响": "",
+            "偏低影响": "亮氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含亮氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "赖氨酸",
+            "说明": "必需氨基酸,参与钙吸收和胶原蛋白合成",
+            "偏高影响": "",
+            "偏低影响": "赖氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含赖氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "蛋氨酸",
+            "说明": "含硫氨基酸,参与甲基化和解毒过程",
+            "偏高影响": "",
+            "偏低影响": "蛋氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含蛋氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "胱氨酸",
+            "说明": "非必需氨基酸,参与谷胱甘肽合成",
+            "偏高影响": "",
+            "偏低影响": "胱氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含胱氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "苯丙氨酸",
+            "说明": "必需氨基酸,多巴胺和肾上腺素前体",
+            "偏高影响": "",
+            "偏低影响": "苯丙氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含苯丙氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "酪氨酸",
+            "说明": "非必需氨基酸,甲状腺激素和黑色素前体",
+            "偏高影响": "",
+            "偏低影响": "酪氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含酪氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "缬氨酸",
+            "说明": "支链氨基酸,参与肌肉代谢和能量供应",
+            "偏高影响": "",
+            "偏低影响": "缬氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含缬氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "组氨酸",
+            "说明": "必需氨基酸,组胺前体,参与免疫调节",
+            "偏高影响": "",
+            "偏低影响": "组氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含组氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "丙氨酸",
+            "说明": "非必需氨基酸,参与葡萄糖-丙氨酸循环",
+            "偏高影响": "",
+            "偏低影响": "丙氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含丙氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "丝氨酸",
+            "说明": "非必需氨基酸,参与磷脂和核苷酸合成",
+            "偏高影响": "",
+            "偏低影响": "丝氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含丝氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "甘氨酸",
+            "说明": "最简单的氨基酸,参与胶原蛋白和胆汁酸合成",
+            "偏高影响": "",
+            "偏低影响": "甘氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含甘氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "脯氨酸",
+            "说明": "非必需氨基酸,胶原蛋白的重要组成成分",
+            "偏高影响": "",
+            "偏低影响": "脯氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含脯氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          },
+          {
+            "名称": "谷氨酸",
+            "说明": "兴奋性神经递质,参与氨代谢和解毒",
+            "偏高影响": "",
+            "偏低影响": "谷氨酸水平偏低可能影响蛋白质合成和相关代谢功能。",
+            "调整建议": "增加富含谷氨酸的蛋白质食物摄入,如肉类、蛋类、豆制品等。"
+          }
+        ]
+      },
+      "维生素评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "缺乏",
+            "最小值": 0,
+            "最大值": 5
+          },
+          {
+            "状态": "偏低",
+            "最小值": 5,
+            "最大值": 15
+          },
+          {
+            "状态": "正常",
+            "最小值": 15,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "维生素A",
+            "说明": "维持视力、免疫功能和皮肤健康",
+            "偏高影响": "",
+            "偏低影响": "维生素A不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素A的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素B1",
+            "说明": "硫胺素,参与能量代谢和神经功能",
+            "偏高影响": "",
+            "偏低影响": "维生素B1不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素B1的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素B2",
+            "说明": "核黄素,参与能量代谢和细胞生长",
+            "偏高影响": "",
+            "偏低影响": "维生素B2不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素B2的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素B5",
+            "说明": "泛酸,辅酶A的组成部分",
+            "偏高影响": "",
+            "偏低影响": "维生素B5不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素B5的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素B6",
+            "说明": "参与氨基酸代谢和神经递质合成",
+            "偏高影响": "",
+            "偏低影响": "维生素B6不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素B6的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "叶酸",
+            "说明": "维生素B9,参与DNA合成和细胞分裂",
+            "偏高影响": "",
+            "偏低影响": "叶酸不足可能影响相应的生理功能。",
+            "调整建议": "增加富含叶酸的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素B12",
+            "说明": "钴胺素,参与红细胞生成和神经功能",
+            "偏高影响": "",
+            "偏低影响": "维生素B12不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素B12的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素C",
+            "说明": "抗氧化,促进胶原蛋白合成和铁吸收",
+            "偏高影响": "",
+            "偏低影响": "维生素C不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素C的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素D",
+            "说明": "促进钙吸收,维持骨骼健康和免疫功能",
+            "偏高影响": "",
+            "偏低影响": "维生素D不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素D的食物摄入,必要时在专业指导下补充。"
+          },
+          {
+            "名称": "维生素K2",
+            "说明": "参与钙代谢和凝血功能",
+            "偏高影响": "",
+            "偏低影响": "维生素K2不足可能影响相应的生理功能。",
+            "调整建议": "增加富含维生素K2的食物摄入,必要时在专业指导下补充。"
+          }
+        ]
+      },
+      "微量元素评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "缺乏",
+            "最小值": 0,
+            "最大值": 5
+          },
+          {
+            "状态": "偏低",
+            "最小值": 5,
+            "最大值": 15
+          },
+          {
+            "状态": "正常",
+            "最小值": 15,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "铁",
+            "说明": "血红蛋白的重要组成部分,缺铁会导致贫血",
+            "偏高影响": "",
+            "偏低影响": "铁缺乏可能影响造血和免疫功能。",
+            "调整建议": "增加富含铁的食物摄入,如红肉、动物肝脏、海鲜等。"
+          },
+          {
+            "名称": "锌",
+            "说明": "参与免疫功能和伤口愈合,影响生长发育",
+            "偏高影响": "",
+            "偏低影响": "锌缺乏可能影响造血和免疫功能。",
+            "调整建议": "增加富含锌的食物摄入,如红肉、动物肝脏、海鲜等。"
+          }
+        ]
+      },
+      "抗生素风险评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "低风险",
+            "最小值": 0,
+            "最大值": 30
+          },
+          {
+            "状态": "注意",
+            "最小值": 30,
+            "最大值": 60
+          },
+          {
+            "状态": "高风险",
+            "最小值": 60,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "β-内酰胺酶类",
+            "说明": "青霉素类抗生素耐药基因水平",
+            "偏高影响": "β-内酰胺酶类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "氨基糖苷类",
+            "说明": "氨基糖苷类抗生素耐药基因水平",
+            "偏高影响": "氨基糖苷类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "大环内酯类",
+            "说明": "大环内酯类抗生素耐药基因水平",
+            "偏高影响": "大环内酯类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "呋喃类",
+            "说明": "呋喃类抗生素耐药基因水平",
+            "偏高影响": "呋喃类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "喹诺酮类",
+            "说明": "喹诺酮类抗生素耐药基因水平",
+            "偏高影响": "喹诺酮类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "磺胺类",
+            "说明": "磺胺类抗生素耐药基因水平",
+            "偏高影响": "磺胺类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "甲氧苄啶类",
+            "说明": "甲氧苄啶类抗生素耐药基因水平",
+            "偏高影响": "甲氧苄啶类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "氯霉素类",
+            "说明": "氯霉素类抗生素耐药基因水平",
+            "偏高影响": "氯霉素类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          },
+          {
+            "名称": "四环素类",
+            "说明": "四环素类抗生素耐药基因水平",
+            "偏高影响": "四环素类耐药基因水平偏高,提示可能携带相关耐药性。",
+            "偏低影响": "",
+            "调整建议": "合理使用抗生素,避免滥用,遵医嘱完成疗程。"
+          }
+        ]
+      },
+      "肠道屏障及代谢物": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "肠道炎症水平",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 80
+            },
+            "状态分级": [
+              {
+                "状态": "正常",
+                "最小值": 0,
+                "最大值": 80
+              },
+              {
+                "状态": "过高",
+                "最小值": 80,
+                "最大值": 100
+              }
+            ],
+            "说明": "肠道炎症程度评估",
+            "偏高影响": "肠道炎症水平水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "肠道产气",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 50
+            },
+            "状态分级": [
+              {
+                "状态": "正常",
+                "最小值": 0,
+                "最大值": 50
+              },
+              {
+                "状态": "轻度产气",
+                "最小值": 50,
+                "最大值": 80
+              },
+              {
+                "状态": "严重产气",
+                "最小值": 80,
+                "最大值": 100
+              }
+            ],
+            "说明": "肠道产气水平评估",
+            "偏高影响": "肠道产气水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "肠道屏障",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 100
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 100
+              }
+            ],
+            "说明": "肠道屏障功能评估",
+            "偏高影响": "",
+            "偏低影响": "肠道屏障水平偏低,可能影响肠道健康功能。",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "脂多糖LPS",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "正常",
+                "最小值": 0,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "内毒素水平评估",
+            "偏高影响": "脂多糖LPS水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "次级胆汁酸",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "胆汁酸代谢产物",
+            "偏高影响": "次级胆汁酸水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "次级胆汁酸水平偏低,可能影响肠道健康功能。",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "对甲酚(p-Cresol)",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "正常",
+                "最小值": 0,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "酪氨酸代谢产物,尿毒症毒素",
+            "偏高影响": "对甲酚(p-Cresol)水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "吲哚",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 90
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 90
+              },
+              {
+                "状态": "过高",
+                "最小值": 90,
+                "最大值": 100
+              }
+            ],
+            "说明": "色氨酸代谢产物",
+            "偏高影响": "吲哚水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "吲哚水平偏低,可能影响肠道健康功能。",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "苯酚",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "正常",
+                "最小值": 0,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "酪氨酸代谢产物",
+            "偏高影响": "苯酚水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "腐胺",
+            "标准范围": {
+              "最小值": 5,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "正常",
+                "最小值": 5,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "多胺类物质,与细胞增殖和炎症相关",
+            "偏高影响": "腐胺水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "腐胺水平偏低,可能影响肠道健康功能。",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "硫化氢",
+            "标准范围": {
+              "最小值": 5,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "正常",
+                "最小值": 5,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "含硫氨基酸代谢产物",
+            "偏高影响": "硫化氢水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "硫化氢水平偏低,可能影响肠道健康功能。",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          },
+          {
+            "名称": "尸胺",
+            "标准范围": {
+              "最小值": 5,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "正常",
+                "最小值": 5,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "组氨酸代谢产物,与肠道炎症相关",
+            "偏高影响": "尸胺水平偏高,提示肠道代谢环境异常。",
+            "偏低影响": "尸胺水平偏低,可能影响肠道健康功能。",
+            "调整建议": "建议均衡饮食,增加膳食纤维摄入,促进肠道菌群健康。"
+          }
+        ]
+      },
+      "短链脂肪酸": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "丁酸盐(Butyrate)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "肠道上皮细胞主要能量来源,抗炎",
+            "偏高影响": "丁酸盐(Butyrate)水平偏高,可能提示肠道发酵过度。",
+            "偏低影响": "丁酸盐(Butyrate)水平偏低,可能影响肠道上皮健康和抗炎能力。",
+            "调整建议": "增加膳食纤维摄入(全谷物、蔬菜、豆类),促进短链脂肪酸生成。"
+          },
+          {
+            "名称": "丙酸盐(Propionate)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 90
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 90
+              },
+              {
+                "状态": "过高",
+                "最小值": 90,
+                "最大值": 100
+              }
+            ],
+            "说明": "参与肝脏糖异生,调节食欲",
+            "偏高影响": "丙酸盐(Propionate)水平偏高,可能提示肠道发酵过度。",
+            "偏低影响": "丙酸盐(Propionate)水平偏低,可能影响肠道上皮健康和抗炎能力。",
+            "调整建议": "增加膳食纤维摄入(全谷物、蔬菜、豆类),促进短链脂肪酸生成。"
+          },
+          {
+            "名称": "乙酸盐(Acetate)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "最丰富的短链脂肪酸,参与脂质代谢",
+            "偏高影响": "乙酸盐(Acetate)水平偏高,可能提示肠道发酵过度。",
+            "偏低影响": "乙酸盐(Acetate)水平偏低,可能影响肠道上皮健康和抗炎能力。",
+            "调整建议": "增加膳食纤维摄入(全谷物、蔬菜、豆类),促进短链脂肪酸生成。"
+          },
+          {
+            "名称": "异戊酸盐(Isovaleric)",
+            "标准范围": {
+              "最小值": 5,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "正常",
+                "最小值": 5,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "支链脂肪酸,过量提示蛋白质腐败",
+            "偏高影响": "异戊酸盐(Isovaleric)水平偏高,可能提示肠道发酵过度。",
+            "偏低影响": "异戊酸盐(Isovaleric)水平偏低,可能影响肠道上皮健康和抗炎能力。",
+            "调整建议": "增加膳食纤维摄入(全谷物、蔬菜、豆类),促进短链脂肪酸生成。"
+          }
+        ]
+      },
+      "神经递质及激素": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "血清素(5-HT)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "情绪调节、睡眠和食欲相关",
+            "偏高影响": "血清素(5-HT)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "血清素(5-HT)水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "γ-氨基丁酸(GABA)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 85
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 85
+              },
+              {
+                "状态": "过高",
+                "最小值": 85,
+                "最大值": 100
+              }
+            ],
+            "说明": "抑制性神经递质,抗焦虑",
+            "偏高影响": "γ-氨基丁酸(GABA)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "γ-氨基丁酸(GABA)水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "谷氨酸(Glutamate)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "兴奋性神经递质,学习记忆相关",
+            "偏高影响": "谷氨酸(Glutamate)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "谷氨酸(Glutamate)水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "色氨酸(Tryptophan)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "血清素和褪黑素前体",
+            "偏高影响": "色氨酸(Tryptophan)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "色氨酸(Tryptophan)水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "DOPAC",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "多巴胺代谢产物",
+            "偏高影响": "DOPAC水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "DOPAC水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "多巴胺",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "奖赏、动机和运动控制相关",
+            "偏高影响": "多巴胺水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "多巴胺水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "组胺(Histamine)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "免疫反应和胃酸分泌调节",
+            "偏高影响": "组胺(Histamine)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "组胺(Histamine)水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "一氧化氮",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "血管舒张和神经信号传导",
+            "偏高影响": "一氧化氮水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "一氧化氮水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "喹啉(Quinolinic)",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 95
+            },
+            "状态分级": [
+              {
+                "状态": "正常",
+                "最小值": 0,
+                "最大值": 95
+              },
+              {
+                "状态": "过高",
+                "最小值": 95,
+                "最大值": 100
+              }
+            ],
+            "说明": "色氨酸代谢产物,NMDA受体激动剂",
+            "偏高影响": "喹啉(Quinolinic)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "维生素K2",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 99
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 99
+              },
+              {
+                "状态": "过高",
+                "最小值": 99,
+                "最大值": 100
+              }
+            ],
+            "说明": "钙代谢和凝血功能调节",
+            "偏高影响": "维生素K2水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "维生素K2水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          },
+          {
+            "名称": "肌醇(Inositol)",
+            "标准范围": {
+              "最小值": 15,
+              "最大值": 99
+            },
+            "状态分级": [
+              {
+                "状态": "缺乏",
+                "最小值": 0,
+                "最大值": 5
+              },
+              {
+                "状态": "不足",
+                "最小值": 5,
+                "最大值": 15
+              },
+              {
+                "状态": "正常",
+                "最小值": 15,
+                "最大值": 99
+              },
+              {
+                "状态": "过高",
+                "最小值": 99,
+                "最大值": 100
+              }
+            ],
+            "说明": "细胞信号传导和脂质代谢",
+            "偏高影响": "肌醇(Inositol)水平偏高,可能影响神经信号传导平衡。",
+            "偏低影响": "肌醇(Inositol)水平偏低,可能影响相关神经功能。",
+            "调整建议": "保持规律作息和均衡营养,必要时在专业指导下干预。"
+          }
+        ]
+      },
+      "主要消化道致病菌": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "未检出",
+            "最小值": 0,
+            "最大值": 0
+          },
+          {
+            "状态": "检出",
+            "最小值": 0,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "幽门螺杆菌",
+            "说明": "与胃炎、胃溃疡和胃癌相关",
+            "偏高影响": "",
+            "偏低影响": "",
+            "调整建议": ""
+          },
+          {
+            "名称": "艰难梭菌",
+            "说明": "抗生素相关性腹泻的主要病原菌",
+            "偏高影响": "",
+            "偏低影响": "",
+            "调整建议": ""
+          },
+          {
+            "名称": "沙门氏菌",
+            "说明": "食物中毒和肠道感染的常见病原菌",
+            "偏高影响": "",
+            "偏低影响": "",
+            "调整建议": ""
+          },
+          {
+            "名称": "志贺氏菌",
+            "说明": "细菌性痢疾的病原菌",
+            "偏高影响": "",
+            "偏低影响": "",
+            "调整建议": ""
+          },
+          {
+            "名称": "弯曲杆菌",
+            "说明": "常见的肠道感染病原菌",
+            "偏高影响": "",
+            "偏低影响": "",
+            "调整建议": ""
+          }
+        ]
+      },
+      "肠道微生物健康指数": {
+        "标准范围": null,
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "GMHI(肠道微生物健康指数)",
+            "说明": "GMHI评分五级分级",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 100
+            },
+            "状态分级": [
+              {
+                "状态": "不健康",
+                "最小值": 0,
+                "最大值": 20
+              },
+              {
+                "状态": "不健康倾向",
+                "最小值": 20,
+                "最大值": 40
+              },
+              {
+                "状态": "亚健康",
+                "最小值": 40,
+                "最大值": 80
+              },
+              {
+                "状态": "健康倾向",
+                "最小值": 80,
+                "最大值": 90
+              },
+              {
+                "状态": "健康",
+                "最小值": 90,
+                "最大值": 100
+              }
+            ],
+            "偏高影响": "",
+            "偏低影响": "偏低提示肠道菌群健康水平有待改善",
+            "调整建议": "增加膳食纤维多样性,必要时进行粪菌移植或益生菌干预"
+          }
+        ]
+      },
+      "肠道菌群表型评估": {
+        "标准范围": null,
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "革兰氏阳性菌",
+            "说明": "厚壁菌门为主的G+菌群比例",
+            "偏高影响": "异常",
+            "偏低影响": "异常",
+            "调整建议": "均衡饮食结构"
+          },
+          {
+            "名称": "革兰氏阴性菌",
+            "说明": "拟杆菌门为主的G-菌群比例",
+            "偏高影响": "异常",
+            "偏低影响": "异常",
+            "调整建议": "均衡饮食结构"
+          },
+          {
+            "名称": "生物膜合成",
+            "说明": "细菌生物膜形成能力",
+            "偏高影响": "异常",
+            "偏低影响": "",
+            "调整建议": "益生菌调节"
+          },
+          {
+            "名称": "好氧菌",
+            "说明": "需氧菌群比例",
+            "偏高影响": "异常",
+            "偏低影响": "",
+            "调整建议": "维持肠道厌氧环境"
+          },
+          {
+            "名称": "厌氧菌",
+            "说明": "厌氧菌群比例",
+            "偏高影响": "",
+            "偏低影响": "异常",
+            "调整建议": "增加膳食纤维"
+          },
+          {
+            "名称": "兼性厌氧菌",
+            "说明": "兼性厌氧菌群比例",
+            "偏高影响": "异常",
+            "偏低影响": "",
+            "调整建议": "益生菌调节"
+          },
+          {
+            "名称": "氧化胁迫耐受",
+            "说明": "菌群对氧化压力的耐受能力",
+            "偏高影响": "异常",
+            "偏低影响": "",
+            "调整建议": "增加抗氧化食物"
+          },
+          {
+            "名称": "致病潜力",
+            "说明": "菌群致病潜力综合评估",
+            "偏高影响": "异常提示潜在致病菌比例偏高",
+            "偏低影响": "",
+            "调整建议": "增加有益菌,减少高脂饮食"
+          }
+        ]
+      },
+      "肠道免疫评估": {
+        "标准范围": null,
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "肠道抗炎能力",
+            "说明": "肠道抗炎能力综合评分",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 100
+            },
+            "状态分级": [
+              {
+                "状态": "弱",
+                "最小值": 0,
+                "最大值": 20
+              },
+              {
+                "状态": "较弱",
+                "最小值": 20,
+                "最大值": 40
+              },
+              {
+                "状态": "中等",
+                "最小值": 40,
+                "最大值": 60
+              },
+              {
+                "状态": "较强",
+                "最小值": 60,
+                "最大值": 80
+              },
+              {
+                "状态": "强",
+                "最小值": 80,
+                "最大值": 100
+              }
+            ],
+            "偏高影响": "",
+            "偏低影响": "抗炎能力偏弱提示肠道炎症风险较高",
+            "调整建议": "增加抗炎饮食(Omega-3、多酚、膳食纤维),减少促炎食物(高脂、高糖)"
+          },
+          {
+            "名称": "肠道免疫力",
+            "说明": "肠道免疫功能综合评分",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 100
+            },
+            "状态分级": [
+              {
+                "状态": "弱",
+                "最小值": 0,
+                "最大值": 20
+              },
+              {
+                "状态": "较弱",
+                "最小值": 20,
+                "最大值": 40
+              },
+              {
+                "状态": "中等",
+                "最小值": 40,
+                "最大值": 60
+              },
+              {
+                "状态": "较强",
+                "最小值": 60,
+                "最大值": 80
+              },
+              {
+                "状态": "强",
+                "最小值": 80,
+                "最大值": 100
+              }
+            ],
+            "偏高影响": "",
+            "偏低影响": "免疫力偏弱提示肠道防御能力不足",
+            "调整建议": "补充益生菌、锌、维生素D,均衡营养"
+          },
+          {
+            "名称": "肠道膳食纤维需求",
+            "说明": "肠道对膳食纤维的需求评估",
+            "标准范围": {
+              "最小值": 0,
+              "最大值": 100
+            },
+            "状态分级": [
+              {
+                "状态": "需求偏低",
+                "最小值": 0,
+                "最大值": 60
+              },
+              {
+                "状态": "需求适中",
+                "最小值": 60,
+                "最大值": 80
+              },
+              {
+                "状态": "需求较高",
+                "最小值": 80,
+                "最大值": 100
+              }
+            ],
+            "偏高影响": "",
+            "偏低影响": "需求较高提示当前纤维摄入不足",
+            "调整建议": "增加全谷物、蔬菜、豆类摄入"
+          }
+        ]
+      },
+      "肠道黏膜屏障评估": {
+        "标准范围": null,
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "BE比值",
+            "说明": "双歧杆菌/肠杆菌科比值,评估肠道黏膜屏障功能",
+            "偏高影响": "",
+            "偏低影响": "BE<1提示肠屏障功能受损",
+            "调整建议": "补充双歧杆菌和膳食纤维,减少高脂饮食"
+          },
+          {
+            "名称": "肠道菌群多样性(Shannon指数)",
+            "说明": "Shannon指数评估菌群种类多样性",
+            "偏高影响": "",
+            "偏低影响": "偏低提示菌群种类减少,菌群脆弱",
+            "调整建议": "增加膳食纤维多样性,减少抗生素使用"
+          }
+        ]
+      },
+      "糖类代谢评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "葡萄糖(糖酵解途径)",
+            "说明": "糖酵解途径代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示碳水化合物代谢能力不足",
+            "调整建议": "调整碳水摄入结构"
+          },
+          {
+            "名称": "葡萄糖(磷酸戊糖途径)",
+            "说明": "磷酸戊糖途径代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示核苷酸合成相关代谢减弱",
+            "调整建议": "增加B族维生素摄入"
+          },
+          {
+            "名称": "果糖和甘露糖",
+            "说明": "果糖和甘露糖代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示果糖代谢能力不足",
+            "调整建议": "减少高果糖摄入"
+          },
+          {
+            "名称": "半乳糖",
+            "说明": "半乳糖代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示乳糖/半乳糖代谢减弱",
+            "调整建议": "调节乳制品摄入"
+          },
+          {
+            "名称": "淀粉和蔗糖",
+            "说明": "淀粉和蔗糖代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示复杂碳水分解能力减弱",
+            "调整建议": "增加全谷物,减少精制糖"
+          },
+          {
+            "名称": "氨基糖和核苷酸糖",
+            "说明": "氨基糖代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响肠黏膜修复",
+            "调整建议": "增加膳食纤维"
+          },
+          {
+            "名称": "丙酮酸",
+            "说明": "丙酮酸代谢水平",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响能量代谢",
+            "调整建议": "增加B族维生素"
+          }
+        ]
+      },
+      "脂类代谢评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "甘油酯",
+            "说明": "甘油酯代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响脂肪消化吸收",
+            "调整建议": "适量摄入优质脂肪"
+          },
+          {
+            "名称": "甘油磷脂",
+            "说明": "细胞膜磷脂代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响细胞膜功能",
+            "调整建议": "增加卵磷脂(蛋黄、大豆)"
+          },
+          {
+            "名称": "鞘脂类",
+            "说明": "神经鞘脂代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响神经功能",
+            "调整建议": "增加神经酸食物摄入"
+          },
+          {
+            "名称": "花生四烯酸",
+            "说明": "Omega-6脂肪酸前体",
+            "偏高影响": "偏高可能促进炎症",
+            "偏低影响": "偏低可能影响信号传导",
+            "调整建议": "平衡Omega-3/Omega-6比例"
+          },
+          {
+            "名称": "二十二碳六烯酸(DHA)",
+            "说明": "DHA代谢能力,大脑和视网膜关键脂肪酸",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响脑功能和视力健康",
+            "调整建议": "增加深海鱼油、藻油摄入"
+          },
+          {
+            "名称": "Omega-3脂肪酸",
+            "说明": "抗炎脂肪酸代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示抗炎脂肪酸代谢不足",
+            "调整建议": "增加亚麻籽、奇亚籽、深海鱼摄入"
+          },
+          {
+            "名称": "Omega-6脂肪酸",
+            "说明": "促炎/抗炎平衡相关脂肪酸",
+            "偏高影响": "偏高可能促进炎症倾向",
+            "偏低影响": "",
+            "调整建议": "平衡Omega-3/Omega-6比例"
+          }
+        ]
+      },
+      "嘌呤代谢评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "嘌呤代谢",
+            "说明": "嘌呤代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低可能影响尿酸代谢",
+            "调整建议": "控制高嘌呤食物(动物内脏、海鲜等)"
+          }
+        ]
+      },
+      "天然色素代谢评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "类胡萝卜素",
+            "说明": "抗氧化色素代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示抗氧化代谢减弱",
+            "调整建议": "增加胡萝卜、番茄、南瓜等摄入"
+          },
+          {
+            "名称": "花青素",
+            "说明": "花青素代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示抗氧化代谢减弱",
+            "调整建议": "增加蓝莓、紫薯、桑葚等摄入"
+          },
+          {
+            "名称": "类黄酮",
+            "说明": "类黄酮代谢能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示抗氧化代谢减弱",
+            "调整建议": "增加绿茶、洋葱、苹果等摄入"
+          },
+          {
+            "名称": "异黄酮素",
+            "说明": "异黄酮代谢能力(植物雌激素)",
+            "偏高影响": "",
+            "偏低影响": "偏低提示植物雌激素代谢减弱",
+            "调整建议": "增加豆制品摄入"
+          }
+        ]
+      },
+      "三肽代谢评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "谷胱甘肽",
+            "说明": "主要内源性抗氧化三肽",
+            "偏高影响": "",
+            "偏低影响": "偏低提示抗氧化能力减弱",
+            "调整建议": "增加含硫氨基酸食物(大蒜、洋葱、西兰花)"
+          }
+        ]
+      },
+      "胆汁酸代谢评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "胆汁酸代谢",
+            "说明": "胆汁酸代谢水平",
+            "偏高影响": "偏高可能影响脂肪消化",
+            "偏低影响": "偏低提示脂肪乳化能力减弱",
+            "调整建议": "适量摄入优质脂肪,必要时补充消化酶"
+          }
+        ]
+      },
+      "抗自由基与抗氧化评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "硫辛酸",
+            "说明": "线粒体关键抗氧化辅酶",
+            "偏高影响": "",
+            "偏低影响": "偏低提示抗氧化能力和线粒体功能减弱",
+            "调整建议": "增加西兰花、菠菜、动物内脏等摄入"
+          },
+          {
+            "名称": "辅酶Q",
+            "说明": "线粒体电子传递链关键辅酶",
+            "偏高影响": "",
+            "偏低影响": "偏低提示细胞能量代谢和抗氧化能力减弱",
+            "调整建议": "增加动物内脏、坚果、菠菜等摄入"
+          }
+        ]
+      },
+      "毒性物质清除能力评估": {
+        "标准范围": {
+          "最小值": 0,
+          "最大值": 100
+        },
+        "状态分级": [
+          {
+            "状态": "清除能力差",
+            "最小值": 0,
+            "最大值": 10
+          },
+          {
+            "状态": "清除能力稍弱",
+            "最小值": 10,
+            "最大值": 30
+          },
+          {
+            "状态": "清除能力偏弱",
+            "最小值": 30,
+            "最大值": 50
+          },
+          {
+            "状态": "清除能力中等",
+            "最小值": 50,
+            "最大值": 70
+          },
+          {
+            "状态": "清除能力正常",
+            "最小值": 70,
+            "最大值": 100
+          }
+        ],
+        "指标": [
+          {
+            "名称": "苯甲酸酯",
+            "说明": "防腐剂类毒性物质的肠道清除能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示该物质清除能力不足",
+            "调整建议": "减少加工食品摄入"
+          },
+          {
+            "名称": "二恶英",
+            "说明": "持久性有机污染物清除能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示该类毒素清除能力不足",
+            "调整建议": "减少高脂动物性食品,增加膳食纤维"
+          },
+          {
+            "名称": "双酚",
+            "说明": "塑料添加剂类环境激素清除能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示该类毒素清除能力不足",
+            "调整建议": "减少塑料容器使用"
+          },
+          {
+            "名称": "多环芳烃",
+            "说明": "烧烤/烟熏食品中多环芳烃清除能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示该类毒素清除能力不足",
+            "调整建议": "减少烧烤、烟熏食品"
+          },
+          {
+            "名称": "甲苯",
+            "说明": "有机溶剂类毒素清除能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示该类毒素清除能力不足",
+            "调整建议": "减少环境污染暴露"
+          },
+          {
+            "名称": "氯烷烃和氯烯烃",
+            "说明": "有机氯类环境毒素的清除能力",
+            "偏高影响": "",
+            "偏低影响": "偏低提示该类毒素清除能力不足",
+            "调整建议": "选择有机食品"
+          }
+        ]
+      },
+      "趣味肠菌评估": {
+        "标准范围": null,
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "认知能力评分",
+            "说明": "基于肠道菌群预测的认知功能评分",
+            "偏高影响": "",
+            "偏低影响": "偏低提示认知功能有提升空间",
+            "调整建议": "增加Omega-3(特别是DHA)、B族维生素、多酚类食物摄入"
+          },
+          {
+            "名称": "人格特征分析",
+            "说明": "基于肠道菌群的大五人格特征倾向",
+            "偏高影响": "",
+            "偏低影响": "",
+            "调整建议": "仅供参考,不作为诊断依据"
+          }
+        ]
+      },
+      "胃肠道感染病原体评估": {
+        "标准范围": null,
+        "状态分级": null,
+        "指标": [
+          {
+            "名称": "幽门螺杆菌",
+            "说明": "胃炎、胃溃疡和胃癌相关病原菌",
+            "偏高影响": "超标提示感染风险",
+            "偏低影响": "",
+            "调整建议": "必要时进行抗菌治疗"
+          },
+          {
+            "名称": "艰难梭菌",
+            "说明": "抗生素相关性腹泻主要病原菌",
+            "偏高影响": "超标提示感染风险",
+            "偏低影响": "",
+            "调整建议": "避免滥用抗生素"
+          },
+          {
+            "名称": "肺炎链球菌",
+            "说明": "呼吸道和肠道感染相关病原菌",
+            "偏高影响": "超标提示感染风险",
+            "偏低影响": "",
+            "调整建议": "增强免疫力"
+          },
+          {
+            "名称": "金黄色葡萄球菌",
+            "说明": "常见条件致病菌",
+            "偏高影响": "超标提示感染风险",
+            "偏低影响": "",
+            "调整建议": "注意饮食卫生"
+          },
+          {
+            "名称": "沙门氏菌属",
+            "说明": "食物中毒常见病原菌",
+            "偏高影响": "超标提示感染风险",
+            "偏低影响": "",
+            "调整建议": "注意食品卫生,避免生食"
+          }
+        ]
+      }
+    }
+  },
+  "菌属-食材映射": [
+    {
+      "拉丁名": "Akkermansia",
+      "中文名": "阿克曼菌属",
+      "分组": "核心菌属",
+      "功能分类": "黏液降解者",
+      "功能说明": "维持肠道屏障完整性,调节宿主代谢和免疫,降低肠道炎症水平",
+      "偏低时推荐": {
+        "推荐方向": "增加多酚类食物摄入",
+        "食材": [
+          "石榴",
+          "蔓越莓",
+          "葡萄皮(整粒葡萄)",
+          "红茶",
+          "蓝莓"
+        ],
+        "说明": "多酚类物质促进阿克曼菌增殖,鞣花酸和花青素效果显著"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高脂肪饮食",
+        "食材": [
+          "肥肉",
+          "黄油",
+          "油炸食品"
+        ],
+        "说明": "高脂肪饮食可能促进阿克曼菌过度生长"
+      },
+      "参考文献": "Dao et al. EBioMedicine 2016; Roopchand et al. mBio 2015"
+    },
+    {
+      "拉丁名": "Alistipes",
+      "中文名": "另枝菌属",
+      "分组": "核心菌属",
+      "功能分类": "蛋白质发酵者",
+      "功能说明": "参与蛋白质发酵,对肝纤维化、结肠炎、癌症免疫治疗有保护作用",
+      "偏低时推荐": {
+        "推荐方向": "适量增加膳食纤维",
+        "食材": [
+          "全谷物(燕麦、荞麦)",
+          "豆类",
+          "深色蔬菜"
+        ],
+        "说明": "高纤维饮食有助于维持另枝菌正常水平"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高动物蛋白和饱和脂肪",
+        "食材": [
+          "红肉(猪牛羊肉)",
+          "加工肉制品",
+          "黄油"
+        ],
+        "说明": "高动物蛋白饮食可能促进另枝菌超标,与菌群失衡相关"
+      },
+      "参考文献": "Zhao et al. Nat Rev Gastroenterol Hepatol 2022"
+    },
+    {
+      "拉丁名": "Bacteroides",
+      "中文名": "拟杆菌属",
+      "分组": "核心菌属",
+      "功能分类": "碳水化合物分解者",
+      "功能说明": "参与多种多糖发酵和氮代谢,对宿主免疫系统正常发育和维持至关重要",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维和复杂碳水来源",
+        "食材": [
+          "全谷物(燕麦、荞麦)",
+          "豆类(扁豆、鹰嘴豆)",
+          "蔬菜(洋葱、大蒜、韭菜)",
+          "坚果(杏仁、核桃)"
+        ],
+        "说明": "拟杆菌擅长分解复杂碳水化合物,高纤维饮食有助于其增殖"
+      },
+      "偏高时避免": {
+        "避免方向": "减少饱和脂肪和动物蛋白",
+        "食材": [
+          "高饱和脂肪(肥肉、黄油)",
+          "加工肉类",
+          "高动物蛋白饮食"
+        ],
+        "说明": "高脂高蛋白饮食可能促进拟杆菌过度生长,当超标时应减少"
+      },
+      "参考文献": "Wu et al. Science 2011; David et al. Nature 2014"
+    },
+    {
+      "拉丁名": "Bifidobacterium",
+      "中文名": "双歧杆菌属",
+      "分组": "益生菌",
+      "功能分类": "益生菌",
+      "功能说明": "生物屏障、营养作用、抗肿瘤、增强免疫、改善胃肠道功能,是重要的肠道益生菌",
+      "偏低时推荐": {
+        "推荐方向": "摄入低聚果糖和益生元",
+        "食材": [
+          "洋葱(生)",
+          "大蒜",
+          "香蕉(微青)",
+          "燕麦",
+          "菊苣根",
+          "芦笋",
+          "大豆低聚糖"
+        ],
+        "说明": "低聚果糖(FOS)是双歧杆菌的优选益生元,促进其选择性增殖"
+      },
+      "偏高时避免": {
+        "避免方向": "一般不需要刻意避免,异常偏高时减少益生元补充剂",
+        "食材": [
+          "益生元补充剂",
+          "高剂量低聚糖饮料"
+        ],
+        "说明": "双歧杆菌属有益菌,轻度偏高无需干预,异常高时可暂停益生元补充"
+      },
+      "参考文献": "Gibson et al. Nat Rev Gastroenterol Hepatol 2017"
+    },
+    {
+      "拉丁名": "Blautia",
+      "中文名": "经黏液真杆菌属(布劳特氏菌属)",
+      "分组": "核心菌属",
+      "功能分类": "短链脂肪酸生产者",
+      "功能说明": "与内脏脂肪面积负相关,通过产生细菌素防止病原体定植,抗炎,维持葡萄糖稳态",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维,特别是可溶性纤维",
+        "食材": [
+          "燕麦",
+          "大麦",
+          "豆类",
+          "苹果",
+          "胡萝卜"
+        ],
+        "说明": "可溶性膳食纤维促进Blautia增殖,改善代谢健康"
+      },
+      "偏高时避免": {
+        "避免方向": "减少精制碳水",
+        "食材": [
+          "白面包",
+          "白米饭",
+          "含糖饮料"
+        ],
+        "说明": "精制碳水可能促进Blautia过度生长"
+      },
+      "参考文献": "Ozato et al. Sci Rep 2019"
+    },
+    {
+      "拉丁名": "Clostridium",
+      "中文名": "梭菌属",
+      "分组": "核心菌属",
+      "功能分类": "条件致病菌/丁酸生产者",
+      "功能说明": "与肠道能量代谢相关,含量过高时可引发炎症。部分种(如C. butyricum)产丁酸有益",
+      "偏低时推荐": {
+        "推荐方向": "适量膳食纤维维持正常水平",
+        "食材": [
+          "全谷物",
+          "蔬菜",
+          "豆类"
+        ],
+        "说明": "适量膳食纤维维持梭菌属正常水平"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高动物蛋白和加工食品",
+        "食材": [
+          "加工肉制品",
+          "高蛋白肉类",
+          "油炸食品"
+        ],
+        "说明": "高动物蛋白饮食可能促进有害梭菌种生长"
+      },
+      "参考文献": "Lopetuso et al. Expert Rev Gastroenterol Hepatol 2013"
+    },
+    {
+      "拉丁名": "Coprococcus",
+      "中文名": "粪球菌属",
+      "分组": "核心菌属",
+      "功能分类": "丁酸盐生产者",
+      "功能说明": "发酵碳水化合物产生多种短链脂肪酸,保护肠道,降低炎症水平,抑制有害菌",
+      "偏低时推荐": {
+        "推荐方向": "增加抗性淀粉和膳食纤维",
+        "食材": [
+          "冷土豆(凉后食用)",
+          "青香蕉",
+          "全谷物",
+          "豆类"
+        ],
+        "说明": "抗性淀粉是粪球菌的优质底物,促进丁酸生成"
+      },
+      "偏高时避免": {
+        "避免方向": "避免高饱和脂肪饮食",
+        "食材": [
+          "高脂肪肉类",
+          "黄油",
+          "奶油"
+        ],
+        "说明": "高饱和脂肪可能改变粪球菌丰度平衡"
+      },
+      "参考文献": "Louis & Flint. FEMS Microbiol Lett 2017"
+    },
+    {
+      "拉丁名": "Dialister",
+      "中文名": "小杆菌属(戴阿利斯特杆菌属)",
+      "分组": "核心菌属",
+      "功能分类": "琥珀酸生产者",
+      "功能说明": "代谢碳水化合物产生琥珀酸和SCFA,与抑郁症、自闭症、情绪控制相关",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维和发酵食品",
+        "食材": [
+          "发酵蔬菜(泡菜、酸菜)",
+          "全谷物",
+          "豆类"
+        ],
+        "说明": "纤维和发酵食品可能有助于Dialister生长"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高脂肪高糖饮食",
+        "食材": [
+          "高糖食品",
+          "高脂零食",
+          "加工食品"
+        ],
+        "说明": "西方饮食模式可能影响Dialister平衡"
+      },
+      "参考文献": "Johnson et al. Psychopharmacology 2020"
+    },
+    {
+      "拉丁名": "Dorea",
+      "中文名": "多尔氏菌属",
+      "分组": "核心菌属",
+      "功能分类": "产气菌",
+      "功能说明": "人体的主要产气菌,与肠易激综合征症状正相关",
+      "偏低时推荐": {
+        "推荐方向": "适量增加可溶性纤维",
+        "食材": [
+          "燕麦",
+          "香蕉",
+          "苹果"
+        ],
+        "说明": "适量纤维维持正常水平,避免过量产气"
+      },
+      "偏高时避免": {
+        "避免方向": "减少容易产气的食物",
+        "食材": [
+          "豆类(扁豆、芸豆)",
+          "十字花科蔬菜(西兰花、卷心菜)",
+          "碳酸饮料"
+        ],
+        "说明": "Dorea偏高时减少易产气食物可减轻腹胀症状"
+      },
+      "参考文献": "Rajilić-Stojanović et al. Environ Microbiol 2011"
+    },
+    {
+      "拉丁名": "Eubacterium",
+      "中文名": "优杆菌属(真杆菌属)",
+      "分组": "核心菌属",
+      "功能分类": "丁酸盐生产者",
+      "功能说明": "肠道中主要的丁酸产生菌之一,丁酸是肠道上皮组织细胞再生和修复的主要营养物质",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维和抗性淀粉",
+        "食材": [
+          "全谷物(燕麦、大麦)",
+          "豆类",
+          "青香蕉",
+          "洋葱",
+          "大蒜"
+        ],
+        "说明": "膳食纤维促进Eubacterium增殖和丁酸生成,修复肠黏膜"
+      },
+      "偏高时避免": {
+        "避免方向": "一般无需干预",
+        "食材": [],
+        "说明": "Eubacterium偏低是更常见的临床问题,偏高较少见且通常无害"
+      },
+      "参考文献": "Mukherjee et al. Front Microbiol 2020"
+    },
+    {
+      "拉丁名": "Faecalibacterium",
+      "中文名": "普氏栖粪杆菌(粪杆菌属)",
+      "分组": "核心菌属",
+      "功能分类": "丁酸盐生产者",
+      "功能说明": "产生抗炎代谢物,在IBS、IBD、结直肠癌、糖尿病中丰度降低。其种F. prausnitzii具有抗炎、改善黏膜屏障等作用",
+      "偏低时推荐": {
+        "推荐方向": "增加抗性淀粉和丁酸前体食物",
+        "食材": [
+          "冷土豆",
+          "青香蕉",
+          "全谷物",
+          "洋葱",
+          "大蒜",
+          "豆类"
+        ],
+        "说明": "Faecalibacterium是肠道健康的关键菌,抗性淀粉是其主要能量来源"
+      },
+      "偏高时避免": {
+        "避免方向": "无需干预",
+        "食材": [],
+        "说明": "Faecalibacterium是核心有益菌,偏高是健康的信号,无需干预"
+      },
+      "参考文献": "Miquel et al. World J Gastroenterol 2013; Sokol et al. Proc Natl Acad Sci 2008"
+    },
+    {
+      "拉丁名": "Lachnoclostridium",
+      "中文名": "毛螺菌属(Lachnoclostridium)",
+      "分组": "核心菌属",
+      "功能分类": "短链脂肪酸生产者",
+      "功能说明": "肠道微生物群落的重要组成部分,发挥抗炎作用,在体内平衡中发挥作用",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维摄入",
+        "食材": [
+          "全谷物",
+          "蔬菜",
+          "豆类"
+        ],
+        "说明": "膳食纤维促进Lachnoclostridium生长和SCFA生成"
+      },
+      "偏高时避免": {
+        "避免方向": "减少精制碳水",
+        "食材": [
+          "精制谷物(白米、白面)",
+          "含糖饮料"
+        ],
+        "说明": "高精制碳水饮食可能促进其过度生长"
+      },
+      "参考文献": "Vacca et al. Nutrients 2020"
+    },
+    {
+      "拉丁名": "Lachnospira",
+      "中文名": "毛螺菌属(Lachnospira)",
+      "分组": "核心菌属",
+      "功能分类": "短链脂肪酸生产者",
+      "功能说明": "产短链脂肪酸,维持结肠细胞稳定抑制癌变,调节肠道菌群失衡和提高免疫力",
+      "偏低时推荐": {
+        "推荐方向": "增加可溶性和不溶性膳食纤维",
+        "食材": [
+          "燕麦",
+          "大麦",
+          "豆类",
+          "绿叶蔬菜"
+        ],
+        "说明": "纤维促进Lachnospira增殖和丁酸生成"
+      },
+      "偏高时避免": {
+        "避免方向": "均衡饮食",
+        "食材": [],
+        "说明": "Lachnospira通常是衡量肠道健康的正向指标"
+      },
+      "参考文献": "Reichardt et al. ISME J 2014"
+    },
+    {
+      "拉丁名": "Lactobacillus",
+      "中文名": "乳杆菌属",
+      "分组": "益生菌",
+      "功能分类": "益生菌",
+      "功能说明": "提高营养物质的消化吸收,产生多种维生素,抑制肠道内腐败菌和致病菌的繁殖",
+      "偏低时推荐": {
+        "推荐方向": "摄入发酵食品和益生元",
+        "食材": [
+          "无糖酸奶",
+          "开菲尔",
+          "泡菜",
+          "酸菜",
+          "发酵豆制品(豆豉、纳豆)",
+          "大蒜"
+        ],
+        "说明": "发酵食品直接提供乳杆菌,益生元促进其定植"
+      },
+      "偏高时避免": {
+        "避免方向": "一般无需干预",
+        "食材": [],
+        "说明": "乳杆菌是有益菌,偏高通常无害,严重偏高时暂停益生菌补充剂"
+      },
+      "参考文献": "Hill et al. Nat Rev Gastroenterol Hepatol 2014; Marco et al. Curr Opin Biotechnol 2017"
+    },
+    {
+      "拉丁名": "Megamonas",
+      "中文名": "巨单胞菌属",
+      "分组": "核心菌属",
+      "功能分类": "碳水化合物发酵者",
+      "功能说明": "发酵各种碳水化合物,终产物为乙酸、丙酸和乳酸。与IBD、结直肠癌、肥胖等密切相关",
+      "偏低时推荐": {
+        "推荐方向": "适量增加复杂碳水",
+        "食材": [
+          "全谷物",
+          "蔬菜",
+          "水果"
+        ],
+        "说明": "适量复杂碳水维持Megamonas正常水平"
+      },
+      "偏高时避免": {
+        "避免方向": "减少精制碳水和简单糖",
+        "食材": [
+          "含糖饮料",
+          "糕点甜食",
+          "白米白面"
+        ],
+        "说明": "高糖饮食可能促进Megamonas过度生长"
+      },
+      "参考文献": "Shang et al. J Microbiol 2022"
+    },
+    {
+      "拉丁名": "Oscillospira",
+      "中文名": "颤螺旋菌属",
+      "分组": "核心菌属",
+      "功能分类": "丁酸盐生产者",
+      "功能说明": "与肥胖、消瘦、胆结石、慢性便秘等相关,产生丁酸盐,被列为下一代益生菌候选",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维多样性",
+        "食材": [
+          "全谷物",
+          "绿叶蔬菜",
+          "豆类",
+          "坚果",
+          "种子类"
+        ],
+        "说明": "高纤维多样饮食促进Oscillospira增殖"
+      },
+      "偏高时避免": {
+        "避免方向": "减少饱和脂肪",
+        "食材": [
+          "高脂肉类",
+          "黄油",
+          "油炸食品"
+        ],
+        "说明": "高饱和脂肪饮食可能影响Oscillospira平衡"
+      },
+      "参考文献": "Konikoff & Gophna. Trends Microbiol 2016; Gophna et al. FEMS Microbiol Ecol 2017"
+    },
+    {
+      "拉丁名": "Parabacteroides",
+      "中文名": "副拟杆菌属",
+      "分组": "核心菌属",
+      "功能分类": "碳水化合物/蛋白质发酵者",
+      "功能说明": "有助于消化高纤维饮食中的难消化成分,与宿主代谢和免疫调节相关",
+      "偏低时推荐": {
+        "推荐方向": "增加高纤维食物",
+        "食材": [
+          "豆类",
+          "全谷物",
+          "蔬菜",
+          "菌菇类"
+        ],
+        "说明": "高纤维饮食促进Parabacteroides生长"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高动物蛋白",
+        "食材": [
+          "红肉",
+          "加工肉类"
+        ],
+        "说明": "高动物蛋白可能促进Parabacteroides超标"
+      },
+      "参考文献": "Wu et al. Science 2011"
+    },
+    {
+      "拉丁名": "Phascolarctobacterium",
+      "中文名": "考拉杆菌属",
+      "分组": "核心菌属",
+      "功能分类": "琥珀酸盐/丙酸盐生产者",
+      "功能说明": "产生短链脂肪酸(乙酸和丙酸),参与机体代谢功能和调节人体情绪",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维摄入",
+        "食材": [
+          "全谷物",
+          "豆类",
+          "绿叶蔬菜"
+        ],
+        "说明": "纤维促进Phascolarctobacterium生长和SCFA生成"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高纤维补充剂",
+        "食材": [
+          "高剂量纤维补充剂"
+        ],
+        "说明": "一般情况下偏高无需干预"
+      },
+      "参考文献": "Wu et al. Front Microbiol 2018"
+    },
+    {
+      "拉丁名": "Prevotella",
+      "中文名": "普雷沃氏菌属",
+      "分组": "核心菌属",
+      "功能分类": "纤维/碳水化合物分解者",
+      "功能说明": "分解多种纤维素、蛋白质和碳水化合物,对肥胖和糖尿病有改善作用,与高植物纤维饮食模式正相关",
+      "偏低时推荐": {
+        "推荐方向": "增加植物性食物比例",
+        "食材": [
+          "全谷物",
+          "豆类",
+          "绿叶蔬菜",
+          "水果"
+        ],
+        "说明": "普雷沃氏菌偏好植物性饮食,高纤维素食促进其生长"
+      },
+      "偏高时避免": {
+        "避免方向": "减少精制碳水",
+        "食材": [
+          "精制谷物",
+          "含糖饮料"
+        ],
+        "说明": "高精制碳水饮食可能促进Prevotella过度生长"
+      },
+      "参考文献": "De Filippo et al. PLoS One 2010; Gorvitovskaia et al. Nutr Rev 2016"
+    },
+    {
+      "拉丁名": "Roseburia",
+      "中文名": "罗斯氏菌属(罗氏菌属)",
+      "分组": "核心菌属",
+      "功能分类": "丁酸盐生产者",
+      "功能说明": "改善肠道生物多样性,提高葡萄糖耐受性,帮助减肥,使结肠细胞恢复活力。重要的丁酸产生菌",
+      "偏低时推荐": {
+        "推荐方向": "增加膳食纤维和全谷物",
+        "食材": [
+          "燕麦",
+          "大麦",
+          "全麦",
+          "豆类",
+          "蔬菜"
+        ],
+        "说明": "Roseburia是主要丁酸生产者,膳食纤维是其关键底物"
+      },
+      "偏高时避免": {
+        "避免方向": "无需干预",
+        "食材": [],
+        "说明": "Roseburia是有益菌,偏高是健康信号"
+      },
+      "参考文献": "Louis & Flint. FEMS Microbiol Lett 2017; Tamanai-Shacoori et al. Benef Microbes 2017"
+    },
+    {
+      "拉丁名": "Ruminococcus",
+      "中文名": "瘤胃球菌属",
+      "分组": "核心菌属",
+      "功能分类": "纤维分解者",
+      "功能说明": "消化抗性淀粉起重要作用,但也与肠道疾病(IBS/IBD/克罗恩)、免疫性疾病(过敏/湿疹)、神经系统疾病(自闭症/抑郁症)相关",
+      "偏低时推荐": {
+        "推荐方向": "增加抗性淀粉和膳食纤维",
+        "食材": [
+          "青香蕉",
+          "冷土豆",
+          "全谷物",
+          "豆类"
+        ],
+        "说明": "抗性淀粉促进Ruminococcus中有益菌种生长"
+      },
+      "偏高时避免": {
+        "避免方向": "减少精制碳水和加工食品",
+        "食材": [
+          "含糖饮料",
+          "白面包",
+          "加工零食"
+        ],
+        "说明": "西方饮食模式可能促进Ruminococcus中有害菌种生长"
+      },
+      "参考文献": "Biddle et al. ISME J 2013; La Reau et al. mSystems 2020"
+    },
+    {
+      "拉丁名": "Sutterella",
+      "中文名": "萨特氏菌属",
+      "分组": "核心菌属",
+      "功能分类": "条件致病菌/氨基酸代谢者",
+      "功能说明": "与溃疡性结肠炎缓解程度负相关,可损害肠道抗菌免疫反应功能。在自闭症儿童中含量较高",
+      "偏低时推荐": {
+        "推荐方向": "均衡饮食,无需特别促进",
+        "食材": [
+          "多样化蔬菜",
+          "全谷物"
+        ],
+        "说明": "Sutterella通常不是需要主动促进的菌属"
+      },
+      "偏高时避免": {
+        "避免方向": "减少高动物蛋白和饱和脂肪",
+        "食材": [
+          "红肉",
+          "加工肉制品",
+          "高脂乳制品"
+        ],
+        "说明": "高动物蛋白高脂饮食可能促进Sutterella生长"
+      },
+      "参考文献": "Williams et al. J Dev Orig Health Dis 2022"
+    }
+  ],
+  "菌属-食材映射_元数据": {
+    "名称": "菌属-食材映射表",
+    "版本": "1.0",
+    "说明": "基于公开科学文献, 将菌属与促进/抑制食材关联, 用于菌群报告的个性化食材推荐引擎",
+    "数据来源": "2份北京菌群检测报告(移植前/后) + 公开科学文献",
+    "覆盖菌属": 22,
+    "参考资料": "北京菌群报告核心菌属22种 + 菌群营养知识库功能描述"
+  },
+  "健康评分标准": {
+    "健康总分": {
+      "标准范围": {
+        "最小值": 0,
+        "最大值": 100
+      },
+      "状态分级": [
+        {
+          "状态": "需关注",
+          "最小值": 0,
+          "最大值": 40
+        },
+        {
+          "状态": "一般",
+          "最小值": 40,
+          "最大值": 60
+        },
+        {
+          "状态": "良好",
+          "最小值": 60,
+          "最大值": 80
+        },
+        {
+          "状态": "优秀",
+          "最小值": 80,
+          "最大值": 100
+        }
+      ],
+      "说明": "健康综合评分"
+    },
+    "菌群健康": {
+      "标准范围": {
+        "最小值": 0,
+        "最大值": 100
+      },
+      "说明": "反映肠道菌群整体健康程度"
+    },
+    "慢病控制": {
+      "标准范围": {
+        "最小值": 0,
+        "最大值": 100
+      },
+      "说明": "反映慢性疾病风险控制水平"
+    },
+    "营养均衡": {
+      "标准范围": {
+        "最小值": 0,
+        "最大值": 100
+      },
+      "说明": "反映营养摄入均衡程度"
+    },
+    "肠道年龄": {
+      "说明": "与实际年龄比较,反映肠道菌群的衰老/年轻程度"
+    }
+  }
+}

+ 28 - 0
cfc-backend/src/main/resources/schema.sql

@@ -3067,6 +3067,18 @@ CREATE TABLE IF NOT EXISTS `health_knowledge_base` (
     UNIQUE KEY `uk_item_type_name` (`item_type`, `item_name`),
     KEY `idx_item_type` (`item_type`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='健康知识库 - 菌属/营养素/指标说明';
+
+-- 统一知识库 — 按模块存储JSON(12个顶层模块,DB为查询源,classpath种子兜底)
+CREATE TABLE IF NOT EXISTS `knowledge_base_section` (
+    `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
+    `module_key` VARCHAR(100) NOT NULL COMMENT '模块键(如 食物营养库/菌属功能库/报告指标分级标准)',
+    `module_name` VARCHAR(200) COMMENT '模块中文名',
+    `content` LONGTEXT COMMENT '模块内容(JSON序列化)',
+    `version` VARCHAR(50) COMMENT '数据版本(来自元数据.版本)',
+    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
+    `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    UNIQUE KEY `uk_module_key` (`module_key`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统一知识库 - 按模块存储JSON';
 -- =============================================
 -- DAN报告上传独立化(拆分 PDF 报告生命周期与数值结果)
 -- =============================================
@@ -3919,3 +3931,19 @@ CREATE TABLE IF NOT EXISTS coupon_grant_log (
     INDEX idx_coupon (coupon_id),
     INDEX idx_user (user_id)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='优惠券发放流水表';
+-- 家庭加入请求(待管理员审批)
+CREATE TABLE IF NOT EXISTS family_join_requests (
+    id BIGINT AUTO_INCREMENT PRIMARY KEY,
+    requester_user_id BIGINT NOT NULL COMMENT '申请加入的用户ID',
+    target_family_id BIGINT NOT NULL COMMENT '目标家庭ID',
+    join_method VARCHAR(20) NOT NULL COMMENT '加入方式: by_code/by_token',
+    invite_ref VARCHAR(50) COMMENT '邀请码或令牌',
+    status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/approved/rejected/cancelled',
+    approver_user_id BIGINT COMMENT '审批人ID',
+    comment TEXT COMMENT '审批备注',
+    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    INDEX idx_requester (requester_user_id),
+    INDEX idx_target_family (target_family_id),
+    INDEX idx_status (status)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='家庭加入请求(待审批)';

+ 0 - 1
cfc-frontend/App.vue

@@ -67,7 +67,6 @@ export default {
       uni.setStorageSync('token', data.token)
       uni.setStorageSync('userId', data.userId)
       uni.setStorageSync('role', data.role)
-      uni.setStorageSync('familyId', data.familyId)
       // 自动登录后重置到真实登录角色,避免残留切换状态
       uni.setStorageSync('currentRole', data.role)
       uni.setStorageSync('isSwitchedChild', false)

+ 0 - 2
cfc-frontend/pages/invite/join.vue

@@ -260,8 +260,6 @@ export default {
           uni.setStorageSync('token', data.token)
           uni.setStorageSync('userId', data.userId)
           uni.setStorageSync('role', data.role)
-          uni.setStorageSync('familyId', data.familyId)
-          uni.setStorageSync('currentFamilyId', data.familyId)
           uni.setStorageSync('currentRole', data.role)
           uni.setStorageSync('isSwitchedChild', false)
           uni.setStorageSync('isSwitchedTeacher', false)

+ 0 - 2
cfc-frontend/pages/login/login.vue

@@ -134,8 +134,6 @@ export default {
           uni.setStorageSync('token', res.data.token)
           uni.setStorageSync('userId', res.data.userId)
           uni.setStorageSync('role', res.data.role)
-          uni.setStorageSync('familyId', res.data.familyId)
-          uni.setStorageSync('currentFamilyId', res.data.familyId)
           uni.setStorageSync('currentRole', res.data.role)
           uni.setStorageSync('isSwitchedChild', false)
           uni.setStorageSync('isSwitchedTeacher', false)

+ 72 - 20
cfc-frontend/utils/api.js

@@ -22,6 +22,22 @@ function _clearAuthAndRedirect() {
   }, 1500)
 }
 
+function _showNoFamilyDialog() {
+  uni.showModal({
+    title: '请先创建或加入家庭',
+    content: '您需要加入一个家庭才能使用全部功能。请选择:',
+    confirmText: '创建家庭',
+    cancelText: '加入家庭',
+    success: function(r) {
+      if (r.confirm) {
+        uni.navigateTo({ url: '/pages/profile-extra/family-members?action=create' })
+      } else if (r.cancel) {
+        uni.navigateTo({ url: '/pages/invite/join' })
+      }
+    }
+  })
+}
+
 const request = (url, method = 'POST', data = {}, options = {}) => {
   // Append query params from options to URL if provided (e.g., { guideId } for GET requests)
   if (options && Object.keys(options).length > 0) {
@@ -52,6 +68,13 @@ const request = (url, method = 'POST', data = {}, options = {}) => {
           reject(res.data)
           return
         }
+        // 5001: 用户无家庭 — 弹出创建/加入家庭对话框
+        if (res.data.code === 5001) {
+          console.warn('[API] 5001 ' + method + ' ' + fullUrl + ' — 无家庭')
+          _showNoFamilyDialog()
+          reject(res.data)
+          return
+        }
         if (res.data.code === 200) {
           resolve(res.data)
         } else {
@@ -201,8 +224,8 @@ export const getFamilyDetail = (id) => {
 }
 
 // 更新家庭地址
-export const updateFamilyAddress = (familyId, data) => {
-  return request(`/api/admin/families/${familyId}/update`, 'POST', data)
+export const updateFamilyAddress = (data) => {
+  return request(`/api/admin/families/update`, 'POST', data)
 }
 
 // 按街道ID列表统计家庭数量
@@ -504,8 +527,8 @@ export const approveParentWishlist = (id, pointsRequired) => {
 // ===
 // 家长心愿管理模块
 // ===
-export const getPendingWishes = (familyId) => {
-  return request('/api/wishes/pending', 'POST', { familyId })
+export const getPendingWishes = () => {
+  return request('/api/wishes/pending', 'POST', {})
 }
 
 export const getWishes = (params) => {
@@ -1189,6 +1212,36 @@ export const transferFamilyAdmin = (newAdminId) => {
   return request('/api/family/invite/transfer-admin', 'POST', { newAdminId })
 }
 
+// 通过邀请码申请加入家庭(需管理员审批)
+export const requestJoinByCode = (inviteCode) => {
+  return request('/api/family/invite/request-join-by-code', 'POST', { inviteCode: inviteCode })
+}
+
+// 查询待审批加入请求(管理员)
+export const getPendingJoinRequests = () => {
+  return request('/api/family/invite/pending-requests', 'POST', {})
+}
+
+// 审批加入请求(管理员)
+export const approveJoinRequest = (requestId, comment) => {
+  return request('/api/family/invite/approve-request', 'POST', { requestId: requestId, comment: comment || '' })
+}
+
+// 拒绝加入请求(管理员)
+export const rejectJoinRequest = (requestId, comment) => {
+  return request('/api/family/invite/reject-request', 'POST', { requestId: requestId, comment: comment || '' })
+}
+
+// 查询我的加入请求
+export const getMyJoinRequest = () => {
+  return request('/api/family/invite/my-request', 'POST', {})
+}
+
+// 取消我的加入请求
+export const cancelMyJoinRequest = (requestId) => {
+  return request('/api/family/invite/cancel-request', 'POST', { requestId: requestId })
+}
+
 // ===== AI 鑱婂ぉ =====
 export const aiSendMessage = (data) => {
   var query = data && data.query ? data.query : ''
@@ -1319,7 +1372,7 @@ export const aiSendHealthButlerMessage = (data) => {
   var conversationId = data && data.conversationId ? data.conversationId : ''
   var userId = uni.getStorageSync('userId') || ''
   var memberId = data && data.memberId ? data.memberId : null
-  var familyId = data && data.familyId ? data.familyId : null
+  var familyId = ''
   var langgraphBody = {
     query: query,
     user: userId,
@@ -1524,12 +1577,12 @@ export const getChildOverview = (memberId) => {
   return request('/api/stats/child/overview', 'POST', { memberId })
 }
 
-export const getFamilySummary = (familyId) => {
-  return request('/api/stats/family/summary', 'POST', { familyId })
+export const getFamilySummary = () => {
+  return request('/api/stats/family/summary', 'POST', {})
 }
 
-export const getPointsRanking = (familyId) => {
-  return request('/api/stats/points/ranking', 'POST', { familyId })
+export const getPointsRanking = () => {
+  return request('/api/stats/points/ranking', 'POST', {})
 }
 
 //  鍕嬬珷绯荤粺 
@@ -1557,8 +1610,8 @@ export const getChildBadgeStats = (memberId) => {
   return request('/api/badges/statistics/child', 'POST', { memberId })
 }
 
-export const getFamilyBadgeRanking = (familyId) => {
-  return request('/api/badges/ranking/family', 'POST', { familyId })
+export const getFamilyBadgeRanking = () => {
+  return request('/api/badges/ranking/family', 'POST', {})
 }
 
 // ===== 内容区块权限 =====
@@ -1963,7 +2016,7 @@ export const batchQueryKnowledgeBase = (queries) => request('/api/health/knowled
 
 
 // 闃舵1锛氫笂浼燩DF鈫掕В鏋愨啋瀛榙raft鈫掕繑鍥瀌raftId+payload+鎴愬憳鍖归厤锛堜笉钀藉簱锛?
-export const parseReportPreview = (filePath, memberId, familyId, type) => {
+export const parseReportPreview = (filePath, memberId, type) => {
   return new Promise((resolve, reject) => {
     const token = uni.getStorageSync('token')
     uni.uploadFile({
@@ -1971,8 +2024,7 @@ export const parseReportPreview = (filePath, memberId, familyId, type) => {
       filePath: filePath,
       name: 'file',
       formData: {
-        memberId: memberId || '',
-        familyId: familyId || ''
+        memberId: memberId || ''
       },
       header: {
         'Authorization': token ? 'Bearer ' + token : ''
@@ -2124,20 +2176,20 @@ export const completeMathQuiz = (data) => {
 }
 
 // ===== 鍏崇郴璐ㄩ噺璇勫垎 =====
-export const getRelationshipScores = (familyId) => {
-  return request('/api/family/relationship/scores', 'POST', { familyId })
+export const getRelationshipScores = () => {
+  return request('/api/family/relationship/scores', 'POST', {})
 }
 
 export const calculateRelationshipScore = (memberId) => {
   return request('/api/family/relationship/calculate', 'POST', { memberId })
 }
 
-export const getHealthAlerts = (familyId) => {
-  return request('/api/family/relationship/health-alerts', 'POST', { familyId })
+export const getHealthAlerts = () => {
+  return request('/api/family/relationship/health-alerts', 'POST', {})
 }
 
-export const getMilestones = (familyId, daysAhead) => {
-  return request('/api/family/relationship/milestones', 'POST', { familyId, daysAhead })
+export const getMilestones = (daysAhead) => {
+  return request('/api/family/relationship/milestones', 'POST', { daysAhead })
 }
 
 // ===== 浜掑姩璁板綍 =====

+ 0 - 26
web/articles/tap-water-pollution.html

@@ -896,7 +896,6 @@
       </ul>
       <p>这意味着抗生素污染已不仅仅是环境问题——它已经进入了人体,尤其是发育中的儿童体内。</p>
 
-<<<<<<< Updated upstream
       <div class="evidence-inline">
         <div class="evidence-title">👶 68.7% 上海学龄儿童体内检出抗生素 — STOTEN 2022</div>
         <div class="evidence-caption">
@@ -910,16 +909,6 @@
           来源:STOTEN 2022 · <a href="https://doi.org/10.1016/j.scitotenv.2022.153859" target="_blank">doi:10.1016/j.scitotenv.2022.153859</a>
         </div>
       </div>
-=======
-       <!-- 截图:抗生素→ARGs转移链 -->
-       <div class="screenshot-block">
-         <img src="../img/ref-screenshots/antibiotics-args-transfer.jpg" alt="抗生素残留→ARGs→人体传播链 - 医疗废水/养殖业/农业灌溉→水体选择压力→ARGs积累;水平基因转移示意图(敏感菌→耐药菌→人体肠道);底部WHO抗生素耐药数据">
-         <div class="caption">
-           <strong>📊 抗生素残留→抗生素抗性基因(ARGs)→人体传播链(示意)</strong><br>
-           抗生素进入水体的三条主要途径(医疗废水、养殖业、农业灌溉),在水体中形成低浓度选择压力(磺胺类10-50 ng/L、四环素类5-30 ng/L),筛选并积累抗生素抗性基因(ARGs)。通过水平基因转移(质粒转导),敏感细菌→耐药细菌→进入人体肠道→传给正常菌群→多重耐药菌(MDR),导致治疗性抗生素失效。底部WHO数据:耐药性可能导致到2050年全球死亡人数超过癌症,每年约127万人直接死于耐药性感染。
-         </div>
-       </div>
->>>>>>> Stashed changes
     </div>
   </section>
 
@@ -934,11 +923,7 @@
 
        <!-- 截图:EDCs 污染链 -->
        <div class="screenshot-block">
-<<<<<<< Updated upstream
           <img src="../img/ref-screenshots/edc-contamination-chain.png" alt="EDCs从水体到人体的迁移链 - 工业排放/生活污水/农业径流/垃圾渗滤液→地表水→自来水厂(EDCs去除有限)→家庭自来水→人体,底部三类健康影响:生殖系统/儿童发育/癌症与代谢疾病">
-=======
-         <img src="../img/ref-screenshots/edc-contamination-chain.jpg" alt="EDCs从水体到人体的迁移链 - 工业排放/生活污水/农业径流/垃圾渗滤液→地表水→自来水厂(EDCs去除有限)→家庭自来水→人体,底部三类健康影响:生殖系统/儿童发育/癌症与代谢疾病">
->>>>>>> Stashed changes
          <div class="caption">
            <strong>📊 环境内分泌干扰物(EDCs)从水体到人体的迁移链</strong><br>
            EDCs(双酚A、邻苯二甲酸酯、多氯联苯、农药代谢物、阻燃剂等)从四条主要来源(工业排放、生活污水、农业径流、垃圾渗滤液)进入地表水体,经自来水厂处理(常规工艺EDCs去除率仅40-70%)进入家庭自来水系统。家庭暴露途径包括直接饮用、皮肤吸收、蒸汽吸入。健康影响覆盖三大领域:生殖系统(不孕不育/PCOS/精子质量下降)、儿童发育(性早熟/神经系统发育异常)、癌症与代谢(乳腺癌/甲状腺疾病/前列腺癌)。
@@ -1101,8 +1086,6 @@
 
       <p>自来水厂使用氯或氯胺消毒杀灭病原微生物,这是保障饮用水安全的必要手段。但氯与水中天然有机物(腐殖酸、富里酸等)反应,生成<strong>消毒副产物(DBPs)</strong>——包括三卤甲烷(THMs)、卤乙酸(HAAs)、亚硝胺(NDMA)等数百种化合物。这些物质的致癌性和生殖毒性已被多项研究证实。</p>
 
-<<<<<<< Updated upstream
-=======
       <!-- 截图:DBP 空间分布图 -->
       <div class="screenshot-block">
         <img src="../img/ref-screenshots/chinas-dbps-spatial.jpg" alt="中国自来水消毒副产物(DBPs)区域分布 - 中国地图显示东北THMs高区(红色)、长江中游DBPs显著升高区(橙色)、上海华东低区(绿色)、西北适中区(黄色);底部三张卡片分别说明THMs/HAAs/NDMA的组成成分与健康风险">
@@ -1112,12 +1095,10 @@
         </div>
       </div>
 
->>>>>>> Stashed changes
       <h3>1. 里程碑研究:Nature Sustainability 2022</h3>
 
       <!-- 截图:氯消毒反应机制图(SVG重制) -->
       <div class="screenshot-block">
-<<<<<<< Updated upstream
         <svg viewBox="0 0 720 300" style="width:100%;max-width:720px;border-radius:8px;display:block;" xmlns="http://www.w3.org/2000/svg">
           <rect width="720" height="300" fill="#f8fafc" rx="8"/>
           <text x="360" y="28" text-anchor="middle" font-family="sans-serif" font-size="15" font-weight="700" fill="#1a1a2e">自来水余氯与有机污染物反应——氯消毒副产物生成机制</text>
@@ -1186,9 +1167,6 @@
           <rect x="130" y="272" width="460" height="20" rx="4" fill="#f0fdf4" stroke="#16a34a" stroke-width="1"/>
           <text x="360" y="286" text-anchor="middle" font-family="sans-serif" font-size="10" fill="#15803d">💡 Enagic 活性炭过滤:有效吸附余氯和 DBP 前体物,减少自来水中的 DBP 生成底物</text>
         </svg>
-=======
-        <img src="../img/ref-screenshots/ch2o-cl2-reaction.jpg" alt="自来水余氯与有机污染物反应机制 - 原水→自来水厂→加氯消毒→管网输送→家庭水龙头的流程图;底部说明化学反应机制Cl₂+有机物→DBPs,及影响DBP形成的四个关键因素(前体物浓度/氯投加量/卤素种类/水温pH)和家庭暴露途径(饮用56%/烹饪25%/洗浴12%)">
->>>>>>> Stashed changes
         <div class="caption">
           <strong>📊 自来水余氯与有机污染物反应——消毒副产物(DBPs)生成机制</strong><br>
           原水→加氯消毒(Cl₂+有机物→THMs/HAAs/NDMA)→管网输送持续积累→家庭水龙头。四个影响DBP形成的关键因素:前体物浓度、氯投加量与接触时间、卤素种类、水温与pH。家庭暴露三种途径:饮用(56%)、烹饪(25%)、洗浴/吸入(12%)——皮肤吸收和吸入是最容易被忽视但不可忽略的途径。
@@ -1327,11 +1305,7 @@
 
        <!-- 截图:肠道菌群破坏机制 -->
        <div class="screenshot-block">
-<<<<<<< Updated upstream
           <img src="../img/ref-screenshots/gut-microbiome-damage.png" alt="自来水污染物对肠道菌群的破坏 - 左侧列出进入体内的四类污染物(DBP/农药/EDC/抗生素),右侧展示健康菌群→失衡(Dysbiosis)的变化机制,底部四大健康后果:消化系统/代谢/免疫/神经发育">
-=======
-         <img src="../img/ref-screenshots/gut-microbiome-damage.jpg" alt="自来水污染物对肠道菌群的破坏 - 左侧列出进入体内的四类污染物(DBP/农药/EDC/抗生素),右侧展示健康菌群→失衡(Dysbiosis)的变化机制,底部四大健康后果:消化系统/代谢/免疫/神经发育">
->>>>>>> Stashed changes
          <div class="caption">
            <strong>📊 自来水污染物对肠道菌群的破坏机制(示意)</strong><br>
            四种污染物(DBPs/农药/EDCs/抗生素)进入人体后,对肠道微生物生态的四级破坏:①抗生素抗性基因(ARGs)传播 → ②有益菌被选择性抑制(双歧杆菌/乳酸菌减少) → ③肠道屏障功能受损(肠漏) → ④代谢产物异常(SCFA减少)。最终导致四方面健康后果:消化系统(IBD/IBS)、代谢(肥胖/糖尿病)、免疫(过敏/自身免疫)、神经发育(肠道-脑轴异常/认知迟缓)。