# Capability: Similar Case Recommendation(类案推荐) ## MODIFIED Requirements ### Requirement: 类案与法条推荐API数据集成 系统SHALL在用户点击"类案与法条推荐"工具时自动调用RecommendAPIService获取真实的推荐数据。 #### Scenario: 工具点击触发数据加载 - **WHEN** 用户点击右侧工具栏中的"类案与法条推荐"工具项 - **THEN** 系统自动调用RecommendAPIService.getComprehensiveRecommendations接口 - **AND** 使用CaseDataContext中的timeline数据构建请求参数 - **AND** 显示Loading状态直到数据加载完成 #### Scenario: 成功获取推荐数据 - **WHEN** API调用成功返回cases和laws数据 - **THEN** 系统将类案数据格式化并动态渲染到左侧推荐列表中 - **AND** 将法条数据格式化并动态渲染到右侧推荐列表中 - **AND** 保持原有的UI样式和布局不变 #### Scenario: 请求参数构建 - **WHEN** 系统准备调用推荐API时 - **THEN** 从timeline中提取以下字段构建请求: - `caseDes` → 合并到caseContent参数 - `case_claim` → 合并到caseContent参数 - `case_id` → 映射为caseId参数 - **AND** 设置caseTopK=3, lawTopK=10作为推荐数量 #### Scenario: API调用失败处理 - **WHEN** RecommendAPIService.getComprehensiveRecommendations调用失败 - **THEN** 系统显示友好的错误提示信息 - **AND** 不使用mock数据进行降级展示 - **AND** 在控制台输出详细的错误日志供调试 #### Scenario: Loading状态管理 - **WHEN** 数据正在加载过程中 - **THEN** 在推荐内容区域显示Ant Design Spin组件 - **AND** Loading状态在数据加载完成后自动消失 - **AND** 组件保持响应式布局不受影响 ### Requirement: 推荐数据结构映射 系统SHALL将API返回的推荐数据正确映射到UI组件所需的数据结构。 #### Scenario: 类案数据字段映射 - **WHEN** 处理API返回的类案推荐数据 - **THEN** 将case对象的字段映射到UI组件需要的格式 - **AND** 保持现有的卡片展示样式和交互逻辑 - **AND** 支持案例的展开/收起功能 #### Scenario: 法条数据字段映射 - **WHEN** 处理API返回的法条推荐数据 - **THEN** 将law对象的字段映射到UI组件需要的格式 - **AND** 保持现有的列表展示样式和选中状态管理 - **AND** 支持法条的点击查看详细内容功能