IOS-M0-03 Import Candidate 候选知识点审批 #3

Closed
opened 2026-05-28 19:54:59 +08:00 by wangdl · 1 comment
Owner

目标

AI 解析文档后会生成候选知识点,iOS 端提供审批界面:接受/拒绝/编辑候选。

背景说明

后端 RAG Worker 解析文档 → 生成 ImportCandidate → 需要用户确认后才变成正式 KnowledgeItem。iOS 端完全没有这个页面。

后端接口

方法 路径 说明
GET /knowledge-sources/:sourceId/import-candidates 候选列表
GET /import-candidates/:id 候选详情
PATCH /import-candidates/:id 编辑候选(修改标题/内容后接受)
POST /import-candidates/:id/accept 接受 → 生成 KnowledgeItem
POST /import-candidates/:id/reject 拒绝
POST /import-candidates/batch-accept 批量接受

模块职责

  1. 新建 ImportReviewPage:
    • 候选列表(标题 + 内容片段 + 置信度)
    • 点击查看详情
  2. 候选详情/编辑:
    • 显示 AI 提取的标题、内容
    • 可编辑后确认
  3. 操作:
    • 左滑拒绝 / 右滑接受
    • 批量选择 + 批量接受
  4. 导入状态刷新后自动跳转到此页面

禁止事项

  • 禁止跳过审批直接生成 KnowledgeItem
## 目标 AI 解析文档后会生成候选知识点,iOS 端提供审批界面:接受/拒绝/编辑候选。 ## 背景说明 后端 RAG Worker 解析文档 → 生成 ImportCandidate → 需要用户确认后才变成正式 KnowledgeItem。iOS 端完全没有这个页面。 ## 后端接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | /knowledge-sources/:sourceId/import-candidates | 候选列表 | | GET | /import-candidates/:id | 候选详情 | | PATCH | /import-candidates/:id | 编辑候选(修改标题/内容后接受) | | POST | /import-candidates/:id/accept | 接受 → 生成 KnowledgeItem | | POST | /import-candidates/:id/reject | 拒绝 | | POST | /import-candidates/batch-accept | 批量接受 | ## 模块职责 1. 新建 ImportReviewPage: - 候选列表(标题 + 内容片段 + 置信度) - 点击查看详情 2. 候选详情/编辑: - 显示 AI 提取的标题、内容 - 可编辑后确认 3. 操作: - 左滑拒绝 / 右滑接受 - 批量选择 + 批量接受 4. 导入状态刷新后自动跳转到此页面 ## 禁止事项 - 禁止跳过审批直接生成 KnowledgeItem
wangdl added this to the M0:iOS C 端核心功能补全 milestone 2026-05-28 19:54:59 +08:00
Author
Owner

IOS-M0-03 修复完成

问题

AI 解析文档后生成的候选知识点(ImportCandidate)没有审批界面,用户无法确认哪些内容应该成为正式 KnowledgeItem。

修改

文件 变更
Core/Models/APIModels.swift 新增 ImportCandidateBatchAcceptRequest 模型
Core/Services/APIService.swift 新增 ImportCandidateServicelistBySource()accept()reject()batchAccept() 等 6 个方法
Core/Navigation/Route.swift 新增 importReview(sourceId:) 路由
Features/Library/LibrarySubpages.swift 新增 ImportReviewPage 审批页面

行为变化

功能 修改前 修改后
候选审批 无页面 ImportReviewPage 展示所有候选
单个操作 点击展开 → 接受/拒绝按钮
批量操作 全部接受按钮 → POST /import-candidates/batch-accept
置信度 绿色 >70% / 黄色混显示置信度标签

接入的后端接口

方法 路径 用途
GET /knowledge-sources/:sourceId/import-candidates 候选列表
POST /import-candidates/:id/accept 单个接受 → 生成 KnowledgeItem
POST /import-candidates/:id/reject 单个拒绝
POST /import-candidates/batch-accept 批量接受 (by sourceId)

后续

IOS-M0-04 Knowledge Source 将为知识源列表页面,可从那里导航到本审批页面。

## ✅ IOS-M0-03 修复完成 ### 问题 AI 解析文档后生成的候选知识点(ImportCandidate)没有审批界面,用户无法确认哪些内容应该成为正式 KnowledgeItem。 ### 修改 | 文件 | 变更 | |------|------| | `Core/Models/APIModels.swift` | 新增 `ImportCandidate`、`BatchAcceptRequest` 模型 | | `Core/Services/APIService.swift` | 新增 `ImportCandidateService`:`listBySource()`、`accept()`、`reject()`、`batchAccept()` 等 6 个方法 | | `Core/Navigation/Route.swift` | 新增 `importReview(sourceId:)` 路由 | | `Features/Library/LibrarySubpages.swift` | 新增 `ImportReviewPage` 审批页面 | ### 行为变化 | 功能 | 修改前 | 修改后 | |------|--------|--------| | 候选审批 | 无页面 | `ImportReviewPage` 展示所有候选 | | 单个操作 | 无 | 点击展开 → 接受/拒绝按钮 | | 批量操作 | 无 | 全部接受按钮 → `POST /import-candidates/batch-accept` | | 置信度 | 无 | 绿色 >70% / 黄色混显示置信度标签 | ### 接入的后端接口 | 方法 | 路径 | 用途 | |------|------|------| | GET | `/knowledge-sources/:sourceId/import-candidates` | 候选列表 | | POST | `/import-candidates/:id/accept` | 单个接受 → 生成 KnowledgeItem | | POST | `/import-candidates/:id/reject` | 单个拒绝 | | POST | `/import-candidates/batch-accept` | 批量接受 (by sourceId) | ### 后续 `IOS-M0-04 Knowledge Source` 将为知识源列表页面,可从那里导航到本审批页面。
Sign in to join this conversation.
No description provided.