知识库路由和 Mock 数据说明.md 9.6 KB

知识库页面路由和 Mock 数据说明

一、知识库页面路由结构

1. 主路由 /knowledge

  • 面包屑名称: 知识库管理
  • 显示: 是

2. 二级路由

2.1 知识库列表 /knowledge/knowledgeLib

  • 面包屑名称: 知识库
  • 显示: 是
  • 页面文件: src/pages/knowledgeLib/list/index.tsx
  • 子路由:
    • /knowledge/knowledgeLib (列表首页)
    • /knowledge/knowledgeLib/create (创建知识库)
    • /knowledge/knowledgeLib/:knowledgeId/:createBy (知识库详情)

2.2 修订工具 /knowledge/revisionTool

  • 面包屑名称: 修订工具
  • 显示: 是
  • 页面文件: src/pages/knowledgeLib/revisionTool/list/index.tsx

3. 三级页面和弹出层

3.1 知识库详情页面 /knowledge/knowledgeLib/:knowledgeId/:createBy

  • 面包屑名称: 知识库详情
  • 显示: 否(隐藏)
  • 页面文件: src/pages/knowledgeLib/detail/index.tsx
  • 功能:
    • 文档列表管理
    • 文档上传
    • 文档编辑
    • 文档删除
    • 文档配置
    • 切片管理
    • 引用知识库

3.2 弹出层组件

3.2.1 InfoModal
  • 用途: 文档重命名
  • 文件: src/pages/knowledgeLib/detail/components/InfoModal.tsx
3.2.2 InfoModalSetting
  • 用途: 文档配置设置
  • 文件: src/pages/knowledgeLib/detail/components/InfoModalSetting.tsx
3.2.3 UploadModal
  • 用途: 文档上传
  • 文件: src/pages/knowledgeLib/detail/components/UploadModal.tsx
3.2.4 MdModal
  • 用途: 切片查看和编辑
  • 文件: src/pages/knowledgeLib/detail/components/MdModal.tsx
3.2.5 QuoteModal
  • 用途: 引用知识库
  • 文件: src/pages/knowledgeLib/detail/components/QuoteModal.tsx
3.2.6 PrevewSlice
  • 用途: 切片预览
  • 文件: src/pages/knowledgeLib/detail/components/prevewSlice.tsx

3.3 修订工具页面组件

3.3.1 ReviseDrawer
  • 用途: 修订抽屉组件
  • 文件: src/pages/knowledgeLib/revisionTool/components/reviseDrawer.tsx
3.3.2 RevisionHistory
  • 用途: 修订历史记录
  • 文件: src/pages/knowledgeLib/revisionTool/components/revisionHistory.tsx

二、API 接口 Mock 数据

1. Mock 数据文件

1.1 主 Mock 数据文件

  • 文件: src/mock/index.ts
  • 包含数据:
    • mockKnowledgeLibList: 知识库列表数据(8 条)
    • mockKnowledgeLibDetail: 知识库详情数据
    • mockDocumentList: 文档列表数据(5 条)
    • mockSliceList: 切片列表数据(5 条)
    • mockReviseToolList: 修订工具列表数据(3 条)
    • mockReviseHistoryList: 修订历史数据(2 条)
    • mockEmbeddingList: 向量化模型列表(3 条)
    • mockParsingTypeList: 解析类型列表(4 条)
    • mockSplittingTypeList: 切分规则列表(4 条)
    • mockStandardClassificationList: 标准分类列表(3 条)
    • mockRevisionStatusList: 修订状态列表(2 条)
    • mockChatHistoryList: 聊天记录列表(2 条)

1.2 Mock API 拦截器

  • 文件: src/mock/knowledgeApi.ts
  • 功能: 提供所有知识库相关 API 的 Mock 实现

2. Mock API 接口列表

2.1 知识库管理 API

接口 方法 Mock 函数 说明
/bigmodel/api/knowledgeList POST mockFetchKnowledgeLibList 获取知识库列表
/bigmodel/api/detailKnowledge/:id GET mockFetchKnowledgeLibDetail 获取知识库详情
/bigmodel/api/createKnowledge POST mockCreateKnowledgeLib 创建知识库
/bigmodel/api/updateKnowledge/:id PUT mockModifyKnowledgeLib 修改知识库
/bigmodel/api/delKnowledge/:id DELETE mockDeleteKnowledgeLib 删除知识库
/bigmodel/api/embedding GET mockFetchEmbeddingList 获取向量化模型列表

2.2 文档管理 API

接口 方法 Mock 函数 说明
/bigmodel/api/documentList POST mockFetchDocumentLibList 获取文档列表
/bigmodel/api/documentDetail/:id GET mockFetchDocumentLibDetail 获取文档详情
/bigmodel/api/updateDocument/:id PUT mockModifyDocumentLib 修改文档
/bigmodel/api/delDocument/:id DELETE mockDeleteDocumentLib 删除文档
/bigmodel/api/uploadDocument/:knowledgeId POST mockUploadDocument 上传文档
/bigmodel/api/documentSetting/:id GET mockFetchDocumentSetting 获取文档配置
/bigmodel/api/updateDocumentSetting/:id PUT mockModifyDocumentSetting 修改文档配置

2.3 切片管理 API

接口 方法 Mock 函数 说明
/bigmodel/api/getSliceList POST mockFetchSliceList 获取切片列表
/bigmodel/api/getSliceDetail/:sliceId/:knowledgeId GET mockFetchSliceDetail 获取切片详情
/bigmodel/api/add/slice POST mockAddSlice 新增切片
/bigmodel/api/updateSliceInfo PUT mockModifySlice 修改切片
/bigmodel/api/deleteSlice/:sliceId/:knowledgeId/:documentId DELETE mockDeleteSlice 删除切片

2.4 修订工具 API

接口 方法 Mock 函数 说明
/deepseek/revise/pageList GET mockFetchReviseToolList 获取修订工具列表(分页)
/deepseek/revise/list GET mockFetchReviseToolAllList 获取修订工具列表(不分页)
/deepseek/revise/sliceList GET mockFetchReviseToolSliceList 获取修订切片列表
/deepseek/revise/reviseSlice PUT mockSubmitReviseSlice 提交修订切片
/deepseek/revise/reviseHistoryList GET mockFetchReviseHistoryList 获取修订历史列表

2.5 字典数据 API

接口 方法 Mock 函数 说明
/deepseek/api/standard_classification GET mockFetchTakaiAppTypeList 获取标准分类
/deepseek/api/parsing_type GET mockFetchTakaiAppTypeList 获取解析类型
/deepseek/api/splitting_type GET mockFetchTakaiAppTypeList 获取切分规则
/deepseek/api/revision_status GET mockFetchTakaiAppTypeList 获取修订状态

2.6 聊天记录 API

接口 方法 Mock 函数 说明
/bigmodel/api/chatHistory/list POST mockFetchChatHistoryList 获取聊天记录列表
/bigmodel/api/dialog/export/:id POST mockExportChatHistory 导出聊天记录

三、Mock 数据示例

3.1 知识库列表数据示例

{
  "knowledgeId": "kb001",
  "name": "政务公文知识库",
  "createBy": "admin",
  "standardClassification": "0",
  "splittingType": "1",
  "docCount": 128,
  "sliceCount": 1024,
  "createTime": "2024-01-15 10:30:00",
  "updateTime": "2024-01-19 10:30"
}

3.2 文档列表数据示例

{
  "id": "doc001",
  "name": "政务服务指南.pdf",
  "url": "/files/doc001.pdf",
  "length": 1024000,
  "sentenceSize": 150,
  "knowledgeType": 1,
  "customSeparator": ["\\n"],
  "embeddingStat": 1,
  "wordNum": 5000,
  "parseImage": 0,
  "createTime": "2024-01-15 10:30:00",
  "updateTime": "2024-01-19 10:30",
  "knowledgeId": "kb001",
  "knowledgeName": "政务公文知识库",
  "status": "completed"
}

3.3 切片列表数据示例

{
  "sliceId": "slice001",
  "knowledgeId": "kb001",
  "documentId": "doc001",
  "sliceText": "政务服务是指政府机关通过多种渠道和方式,为公民、法人和其他组织提供的各类公共服务。",
  "sliceNum": 1,
  "createTime": "2024-01-15 10:30:00",
  "updateTime": "2024-01-19 10:30",
  "status": "active"
}

四、启用/禁用 Mock

src/apis/api.ts 中修改 USE_MOCK 常量:

// 是否启用 Mock 模式
const USE_MOCK = true;  // 启用 Mock
// const USE_MOCK = false;  // 禁用 Mock,使用真实 API

五、测试路由

5.1 访问知识库列表

http://localhost:3100/knowledge/knowledgeLib

5.2 访问创建知识库页面

http://localhost:3100/knowledge/knowledgeLib/create

5.3 访问知识库详情页面

http://localhost:3100/knowledge/knowledgeLib/kb001/admin

5.4 访问修订工具页面

http://localhost:3100/knowledge/revisionTool

六、注意事项

  1. 路由配置: 所有路由已在 src/store/route.tsx 中配置完成
  2. Mock 数据: 所有 API 接口已配置 Mock 数据,无需后端即可测试
  3. 弹出层: 所有弹出层组件均为页面内组件,不需要单独路由
  4. 路由参数: 知识库详情页面使用 :knowledgeId/:createBy 作为路由参数
  5. 权限控制: 页面中的操作按钮根据用户权限和配置显示/隐藏

七、文件清单

7.1 路由文件

  • src/store/route.tsx - 路由配置

7.2 页面文件

  • src/pages/knowledgeLib/list/index.tsx - 知识库列表
  • src/pages/knowledgeLib/detail/index.tsx - 知识库详情
  • src/pages/knowledgeLib/revisionTool/list/index.tsx - 修订工具列表

7.3 组件文件

  • src/pages/knowledgeLib/detail/components/InfoModal.tsx
  • src/pages/knowledgeLib/detail/components/InfoModalSetting.tsx
  • src/pages/knowledgeLib/detail/components/UploadModal.tsx
  • src/pages/knowledgeLib/detail/components/MdModal.tsx
  • src/pages/knowledgeLib/detail/components/QuoteModal.tsx
  • src/pages/knowledgeLib/detail/components/prevewSlice.tsx
  • src/pages/knowledgeLib/revisionTool/components/reviseDrawer.tsx
  • src/pages/knowledgeLib/revisionTool/components/revisionHistory.tsx

7.4 Mock 文件

  • src/mock/index.ts - Mock 数据
  • src/mock/knowledgeApi.ts - Mock API 拦截器
  • src/apis/api.ts - API 配置(含 Mock 支持)