# Claude Project Rules - jk-rag-platform
## 项目概述
建科小智开放平台 - React + TypeScript + Vite + Ant Design
## 样式修改规范
### 1. 全局变量优先原则
- **必须使用** `src/styles/variables.less` 中定义的变量
- **禁止硬编码**颜色值、间距值、圆角值等
- 所有组件样式文件必须以 LESS 格式,导入全局变量
### 2. 间距控制规范
- 使用 `@spacing-*` 系列变量(4px 基准)
- 页面容器:`.page-container { padding: @spacing-4 @spacing-6 }`
- 内容区块:`.content-section { margin-bottom: @spacing-6; padding: @spacing-5 }`
### 3. 色彩使用规范 (v3.6)
- **主色**: `@primary-color: #005D80` (企业蓝,WCAG AAA)
- **渐变仅用于背景** - 不得用于文字
- **文字必须使用纯色** - 确保对比度安全
### 4. 组件样式结构
```less
// src/components/xxx/index.less
@import '@/styles/variables.less';
.xxx-component {
// 使用全局变量
padding: @spacing-4;
background: @bg-secondary;
}
```
## Mock 数据规范
### 1. Mock 数据位置
- 主文件:`src/mock/index.ts`
- API 特定 Mock: `src/mock/{apiName}.ts`
### 2. Mock 数据类型
- 应用列表 (`mockAppList`)
- 知识库列表 (`mockKnowledgeLibList`)
- 系统管理数据
- 用户数据 (`mockCurrentUser`)
### 3. 启用/禁用 Mock
在 `src/apis/api.ts` 中修改:
```typescript
const USE_MOCK = true; // 启用 Mock
```
## Git 操作规范
### 1. 提交前检查
- 确认所有必要的文件已存在或已删除
- 避免误删重要组件文件
- 备份关键配置文件
### 2. 分支管理
- 主分支:`master`
- 开发分支:当前分支 (如 `zy`)
- 不要直接 push 到 master
## 页面路由规范
### 1. 标准列表页结构
```tsx
...
{/* 可选 */}
{/* 可选 */}
...
```
### 2. 卡片网格页结构
```tsx
```
## 技术栈版本
- React: 18.2.0
- TypeScript: 5.7.0
- Vite: 7.1.11
- Ant Design: 5.23.0
- Zustand: 5.0.12
- Less: 4.2.0
## Mock 数据实现状态
### ✅ 已完成的 Mock 配置
#### 1. API 拦截器 - `src/apis/api.ts` (USE_MOCK = true)
Mock 处理器映射 (`mockHandlerMap`) 包含以下接口:
**知识库管理 API:**
- ✅ `POST /bigmodel/api/knowledgeList` → `mockFetchKnowledgeLibList`
- ✅ `GET /bigmodel/api/detailKnowledge/:id` → `mockFetchKnowledgeLibDetail`
- ✅ `POST /bigmodel/api/createKnowledge` → `mockCreateKnowledgeLib`
- ✅ `PUT /bigmodel/api/updateKnowledge/:id` → `mockModifyKnowledgeLib`
- ✅ `DELETE /bigmodel/api/delKnowledge/:id` → `mockDeleteKnowledgeLib`
- ✅ `GET /bigmodel/api/embedding` → `mockFetchEmbeddingList`
**文档管理 API:**
- ✅ `POST /bigmodel/api/documentList` → `mockFetchDocumentLibList`
- ✅ `GET /bigmodel/api/documentDetail/:id` → `mockFetchDocumentLibDetail`
- ✅ `PUT /bigmodel/api/updateDocument/:id` → `mockModifyDocumentLib`
- ✅ `DELETE /bigmodel/api/delDocument/:id` → `mockDeleteDocumentLib`
- ✅ `POST /bigmodel/api/uploadDocument/:knowledgeId` → `mockUploadDocument`
- ✅ `GET /bigmodel/api/documentSetting/:id` → `mockFetchDocumentSetting`
- ✅ `PUT /bigmodel/api/updateDocumentSetting/:id` → `mockModifyDocumentSetting`
**切片管理 API:**
- ✅ `POST /bigmodel/api/getSliceList` → `mockFetchSliceList`
- ✅ `GET /bigmodel/api/getSliceDetail/:sliceId/:knowledgeId` → `mockFetchSliceDetail`
- ✅ `POST /bigmodel/api/add/slice` → `mockAddSlice`
- ✅ `PUT /bigmodel/api/updateSliceInfo` → `mockModifySlice`
- ✅ `DELETE /bigmodel/api/deleteSlice/:sliceId/:knowledgeId/:documentId` → `mockDeleteSlice`
**修订工具 API:**
- ✅ `GET /deepseek/revise/pageList` → `mockFetchReviseToolList`
- ✅ `GET /deepseek/revise/list` → `mockFetchReviseToolAllList`
- ✅ `GET /deepseek/revise/sliceList` → `mockFetchReviseToolSliceList`
- ✅ `PUT /deepseek/revise/reviseSlice` → `mockSubmitReviseSlice`
- ✅ `GET /deepseek/revise/reviseHistoryList` → `mockFetchReviseHistoryList`
**字典数据 API:**
- ✅ `GET /deepseek/api/standard_classification` → `mockFetchTakaiAppTypeList`
- ✅ `GET /deepseek/api/parsing_type` → `mockFetchTakaiAppTypeList`
- ✅ `GET /deepseek/api/splitting_type` → `mockFetchTakaiAppTypeList`
- ✅ `GET /deepseek/api/revision_status` → `mockFetchTakaiAppTypeList`
**聊天记录 API:**
- ✅ `POST /bigmodel/api/chatHistory/list` → `mockFetchChatHistoryList`
- ✅ `POST /bigmodel/api/dialog/export/:id` → `mockExportChatHistory`
#### 2. Mock 数据文件 - `src/mock/knowledgeApi.ts`
包含所有知识库相关 Mock 数据和 API 实现:
- `mockKnowledgeLibList` - 知识库列表 (8 条)
- `mockDocumentList` - 文档列表 (5 条)
- `mockSliceList` - 切片列表 (5 条)
- `mockReviseToolList` - 修订工具列表 (3 条)
- `mockChatHistoryList` - 聊天记录 (2 条)
#### 3. Mock 数据文件 - `src/mock/index.ts`
全局 Mock 数据管理:
- ✅ `mockAppList` - 应用卡片数据
- ✅ `mockCurrentUser` - 当前登录用户
- ✅ `getAppsByPageType()` - 按页面类型获取应用
- ✅ `getPageConfig()` - 获取页面配置
### ⚠️ 需要补充的 Mock 数据
#### 1. 首页相关 API (未实现)
| 接口 | 方法 | 当前状态 | 优先级 |
|------|------|---------|--------|
| `/deepseek/overview/topData` | GET | ❌ 未实现 | 高 |
| `/deepseek/overview/onlineUserData` | GET | ❌ 未实现 | 中 |
| `/deepseek/overview/conversationData` | GET | ❌ 未实现 | 中 |
| `/deepseek/overview/conversationDetailData` | GET | ❌ 未实现 | 低 |
| `/deepseek/overview/overviewTokenData` | GET | ❌ 未实现 | 低 |
| `/deepseek/overview/overviewAppData` | GET | ❌ 未实现 | 中 |
| `/deepseek/overview/overviewKnowledgeData` | GET | ❌ 未实现 | 中 |
#### 2. 应用相关 API (未实现)
| 接口 | 方法 | 当前状态 | 优先级 |
|------|------|---------|--------|
| `/bigmodel/api/getApplicationList` | POST | ⚠️ 需要添加 Mock | 高 |
| `/bigmodel/api/selectApplication/:id` | GET | ❌ 未实现 | 中 |
| `/bigmodel/api/createApplication` | POST | ❌ 未实现 | 中 |
| `/bigmodel/api/updateApplication/:id` | PUT | ❌ 未实现 | 低 |
| `/bigmodel/api/delApplication/:id` | DELETE | ❌ 未实现 | 低 |
#### 3. 数据集和评测 API (未实现)
| 接口 | 方法 | 当前状态 | 优先级 |
|------|------|---------|--------|
| `/deepseek/dataset/pageList` | GET | ❌ 未实现 | 中 |
| `/deepseek/dataset/create` | POST | ❌ 未实现 | 低 |
| `/deepseek/evaluation/pageList` | GET | ❌ 未实现 | 低 |
#### 4. 审核相关 API (部分实现)
| 接口 | 方法 | 当前状态 | 优先级 |
|------|------|---------|--------|
| `/deepseek/api/app/audit/list` | POST | ⚠️ 需要添加 Mock | 高 |
| `/deepseek/api/app/auditHistory/list` | POST | ❌ 未实现 | 中 |
#### 5. 用户和系统 API (部分实现)
| 接口 | 方法 | 当前状态 | 优先级 |
|------|------|---------|--------|
| `/system/user/getInfo` | GET | ⚠️ 需要添加 Mock | 高 |
| `/auth/login` | POST | ⚠️ 已配置加密但无 Mock | 高 |
| `/auth/code` | GET | ❌ 未实现 | 中 |
### 📋 Mock 数据优先级计划
**第一阶段 - 核心页面 (必须):**
1. 登录 API (`/auth/login`, `/auth/code`)
2. 首页统计 API (`/deepseek/overview/topData`)
3. 应用列表 API (`/bigmodel/api/getApplicationList`)
4. 知识库列表 API (✅ 已完成)
**第二阶段 - 主要功能:**
5. 用户信息 API (`/system/user/getInfo`)
6. 审核列表 API (`/deepseek/api/app/audit/list`)
7. 应用详情 API (`/bigmodel/api/selectApplication/:id`)
**第三阶段 - 辅助功能:**
8. 数据集管理 API
9. 评测任务 API
10. 其他统计图表数据
## Git 操作规范
### 1. 提交前检查
- 确认所有必要的文件已存在或已删除
- 避免误删重要组件文件
- 备份关键配置文件
### 2. 分支管理
- 主分支:`master`
- 开发分支:当前分支 (如 `zy`)
- 不要直接 push 到 master
## 页面路由规范
### 1. 标准列表页结构
```tsx
...
{/* 可选 */}
{/* 可选 */}
...
```
### 2. 卡片网格页结构
```tsx
```
## 技术栈版本
- React: 18.2.0
- TypeScript: 5.7.0
- Vite: 7.1.11
- Ant Design: 5.23.0
- Zustand: 5.0.12
- Less: 4.2.0
## 启动命令
```bash
npm run start:demo # Demo 模式(静态)
npm run start # 开发模式(带 API)
npm run build:demo # 构建 Demo 版本
```