3.2 KiB
3.2 KiB
Mock API 服务系统
基于 OpenAPI 规范生成模拟响应数据,用于前端开发过程中的数据模拟。
概述
Mock API 服务系统旨在为前端开发提供一个完整的模拟后端环境,使前端开发可以独立于后端进行,提高开发效率。
功能特性
1. Mock 数据生成器
generateMockUser(): 生成符合规范的用户模拟数据generateMockRole(): 生成符合规范的角色模拟数据generateMockMenu(): 生成符合规范的菜单模拟数据generatePageResult(): 生成分页结果successResponse(): 生成成功响应errorResponse(): 生成错误响应randomDelay(): 生成随机网络延迟
2. Mock 服务器
- 模拟完整的 CRUD 操作
- 支持所有主要的 API 端点
- 模拟认证流程
- 支持查询参数和分页
3. Mock 拦截器
- 自动拦截 API 请求
- 在开发环境中自动启用
- 可随时切换到真实 API
API 端点支持
用户管理
GET /sys/user- 获取用户列表POST /sys/user- 创建用户PUT /sys/user- 更新用户GET /sys/user/{id}- 获取用户详情DELETE /sys/user/{id}- 删除用户GET /sys/user/username/{username}- 根据用户名获取用户
角色管理
GET /sys/role- 获取角色列表POST /sys/role- 创建角色PUT /sys/role- 更新角色GET /sys/role/{id}- 获取角色详情DELETE /sys/role/{id}- 删除角色GET /sys/role/roleKey/{roleKey}- 根据角色键获取角色GET /sys/role/user/{userId}- 获取用户的角色
菜单管理
GET /sys/menu- 获取菜单列表POST /sys/menu- 创建菜单PUT /sys/menu- 更新菜单GET /sys/menu/{id}- 获取菜单详情DELETE /sys/menu/{id}- 删除菜单GET /sys/menu/user/{userId}- 获取用户的菜单
认证
POST /sys/auth/login- 用户登录POST /sys/auth/logout- 用户登出POST /sys/auth/refresh/{token}- 刷新令牌
使用方法
自动启用
在开发环境中,Mock 系统会自动启用,无需任何配置。
手动控制
可以通过环境变量控制 Mock 系统:
# 启用 Mock(开发环境默认)
VITE_MOCK_ENABLED=true
# 禁用 Mock
VITE_MOCK_ENABLED=false
模拟数据定制
如果需要特定的模拟数据,可以直接使用 Mock 数据生成器:
import { generateMockUser, successResponse } from "@/mocks/mock-data";
// 生成特定用户
const user = generateMockUser(123);
// 生成成功响应
const response = successResponse(user, "User retrieved successfully");
测试覆盖
Mock 系统已全面测试,覆盖以下场景:
- 正常请求 - 所有 API 端点的正常操作
- 异常处理 - 错误响应、无效输入等
- 边界情况 - 空结果、大页码、特殊参数等
- 数据一致性 - 响应格式与真实 API 保持一致
无缝切换
当后端 API 准备就绪时,只需:
- 设置
VITE_MOCK_ENABLED=false - 确保后端服务运行在正确的地址
- 前端代码无需任何修改即可连接真实 API
开发注意事项
- Mock 数据遵循与真实 API 相同的数据结构
- 响应格式与真实 API 完全一致
- HTTP 状态码模拟真实行为
- 网络延迟模拟真实用户体验