知识库页面路由和 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
六、注意事项
- 路由配置: 所有路由已在
src/store/route.tsx 中配置完成
- Mock 数据: 所有 API 接口已配置 Mock 数据,无需后端即可测试
- 弹出层: 所有弹出层组件均为页面内组件,不需要单独路由
- 路由参数: 知识库详情页面使用
:knowledgeId/:createBy 作为路由参数
- 权限控制: 页面中的操作按钮根据用户权限和配置显示/隐藏
七、文件清单
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 支持)