feat: 添加MSW模拟服务和数据源集成
refactor: 重构页面组件移除冗余Layout组件 feat: 实现WebSocket和事件总线系统 feat: 添加队列和调度系统 docs: 更新架构文档和服务映射 style: 清理重复接口定义使用数据源 chore: 更新依赖项配置 feat: 添加运行时系统和领域引导 ci: 配置ESLint边界检查规则 build: 添加Redis和WebSocket依赖 test: 添加MSW浏览器环境入口 perf: 优化数据获取逻辑使用统一数据源 fix: 修复类型定义和状态管理问题
This commit is contained in:
@@ -321,6 +321,83 @@ Step 5: 完成后释放占用
|
||||
|
||||
---
|
||||
|
||||
## 11. Mock数据规范(AI上下文安全)
|
||||
|
||||
### 11.1 Mock数据原则
|
||||
|
||||
**核心目标**: 实现"不污染代码、AI上下文安全"的Mock方案
|
||||
|
||||
#### ❌ 禁止做法
|
||||
- **硬编码Mock数据**: 在业务组件中直接写死数据
|
||||
```typescript
|
||||
// 禁止!
|
||||
const data = [{ id: 1, name: 'Mock商品' }]
|
||||
```
|
||||
- **if判断切换**: 在业务代码中通过if判断切换Mock/真实数据
|
||||
```typescript
|
||||
// 禁止!
|
||||
if (isDev) return mockData
|
||||
```
|
||||
|
||||
#### ✅ 正确做法
|
||||
- **DataSource抽象层**: 通过数据源抽象层获取数据
|
||||
```typescript
|
||||
// 正确!
|
||||
const data = await certificateDataSource.list()
|
||||
```
|
||||
- **环境变量控制**: 通过 `REACT_APP_USE_MOCK` 环境变量控制
|
||||
- **目录隔离**: 所有Mock文件必须放在 `/mock` 目录
|
||||
|
||||
### 11.2 Mock文件规范
|
||||
|
||||
#### 目录结构
|
||||
```
|
||||
/dashboard/src
|
||||
/mock ← 所有Mock相关
|
||||
/data ← Mock数据定义
|
||||
msw.ts ← MSW配置
|
||||
browser.ts ← 浏览器入口
|
||||
README.md ← Mock使用说明
|
||||
/services ← DataSource抽象层
|
||||
*DataSource.ts
|
||||
```
|
||||
|
||||
#### 文件标记
|
||||
所有Mock文件必须包含以下标记:
|
||||
```typescript
|
||||
/**
|
||||
* [MOCK-XXX] 功能描述
|
||||
* AI注意: 这是Mock实现,不是真实业务逻辑
|
||||
* 仅在USE_MOCK=true时启用
|
||||
*/
|
||||
|
||||
// 或者
|
||||
|
||||
// [MOCK] 此文件为Mock数据,AI请勿当作真实业务逻辑
|
||||
```
|
||||
|
||||
### 11.3 AI识别规则
|
||||
|
||||
AI在分析代码时:
|
||||
- ✅ **忽略** `/mock` 目录下所有文件
|
||||
- ✅ **忽略** 包含 `[MOCK]` 标记的文件
|
||||
- ✅ **忽略** `__MOCK__` 变量为真的代码路径
|
||||
- ✅ **优先** 分析 `/services` 下的DataSource层
|
||||
|
||||
### 11.4 环境变量
|
||||
|
||||
| 变量名 | 开发环境 | 生产环境 | 说明 |
|
||||
|--------|----------|----------|------|
|
||||
| REACT_APP_USE_MOCK | `true` | `false` | 前端Mock开关 |
|
||||
| USE_MOCK | `true` | `false` | 后端Mock开关 |
|
||||
|
||||
### 11.5 参考文档
|
||||
|
||||
- [Mock架构设计](../../docs/01_Architecture/Mock_Architecture.md)
|
||||
- [前端DataSource实现](../../dashboard/src/services/certificateDataSource.ts)
|
||||
|
||||
---
|
||||
|
||||
## 快速参考
|
||||
|
||||
| 规则类别 | 关键约束 | 违反后果 |
|
||||
@@ -334,6 +411,7 @@ Step 5: 完成后释放占用
|
||||
| **逻辑集中化** | **所有业务逻辑必须在Service层** | **AI维护困难,数据不一致** |
|
||||
| **任务领取** | **优先领任务包,最小2个任务** | **碎片化等待** |
|
||||
| **协作防撞** | **必须声明占用,先声明优先** | **重复开发** |
|
||||
| **Mock规范** | **Mock数据必须隔离,禁止硬编码** | **AI上下文污染,维护困难** |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user