feat: 添加Mock版本保护机制 - 基础架构完成
完成内容: ✅ 第一层保护: Git分支隔离 - 创建 v1.0-mock 标签 - 创建 feature/api-integration 分支 ✅ 第二层保护: 配置开关控制 - config/env.config.js (环境配置,支持Mock/API模式切换) ✅ 第三层保护: 代码架构分离 - utils/request.js (网络请求封装,支持Blade-Auth) - utils/dataAdapter.js (核心适配器,自动选择数据源) ✅ Mock数据模块 (4个文件): - mock/index.js (统一入口) - mock/login.js (登录Mock数据) - mock/athlete.js (选手Mock数据,含场地、项目) - mock/score.js (评分Mock数据,含扣分项、详情、修改) ✅ API接口模块 (4个文件): - api/index.js (统一入口) - api/auth.js (认证API,含后端接口规范) - api/athlete.js (选手API,含SQL示例) - api/score.js (评分API,含实现逻辑说明) 特性: - 通过修改 config/env.config.js 的 dataMode 即可切换Mock/API模式 - Mock模式: 完全离线,无需后端,UI功能完整 - API模式: 调用真实后端接口(需后端实现5个专用接口) - 零UI修改: 原有页面代码完全保护,仅替换数据源 下一步: - 修改5个页面使用 dataAdapter - 测试Mock模式功能 - 后端开发5个小程序专用接口 代码统计: - 新增11个文件 - 约1000行代码 - 完整的注释和使用说明
This commit is contained in:
75
config/env.config.js
Normal file
75
config/env.config.js
Normal file
@@ -0,0 +1,75 @@
|
||||
/**
|
||||
* 环境配置文件
|
||||
* 控制应用的数据源模式(Mock数据 或 真实API)
|
||||
*
|
||||
* 使用说明:
|
||||
* 1. Mock模式(UI演示、前端独立开发):设置 dataMode: 'mock'
|
||||
* 2. API模式(真实数据对接):设置 dataMode: 'api'
|
||||
* 3. 可在代码中动态切换模式
|
||||
*/
|
||||
|
||||
const ENV_CONFIG = {
|
||||
// 开发环境配置
|
||||
development: {
|
||||
// 数据模式: 'mock' | 'api'
|
||||
// mock - 使用本地Mock数据(保护UI版本)
|
||||
// api - 调用真实后端接口
|
||||
dataMode: 'mock',
|
||||
|
||||
// API基础路径(dataMode为'api'时使用)
|
||||
apiBaseURL: 'http://localhost:8080',
|
||||
|
||||
// 是否开启调试模式
|
||||
debug: true,
|
||||
|
||||
// 请求超时时间(毫秒)
|
||||
timeout: 30000,
|
||||
|
||||
// 是否模拟网络延迟(仅Mock模式)
|
||||
mockDelay: 300
|
||||
},
|
||||
|
||||
// 测试环境配置
|
||||
test: {
|
||||
dataMode: 'api',
|
||||
apiBaseURL: 'http://test-api.yourdomain.com',
|
||||
debug: true,
|
||||
timeout: 30000,
|
||||
mockDelay: 0
|
||||
},
|
||||
|
||||
// 生产环境配置
|
||||
production: {
|
||||
dataMode: 'api',
|
||||
apiBaseURL: 'https://api.yourdomain.com',
|
||||
debug: false,
|
||||
timeout: 30000,
|
||||
mockDelay: 0
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前环境(开发/测试/生产)
|
||||
const env = process.env.NODE_ENV || 'development'
|
||||
|
||||
// 导出当前环境的配置
|
||||
export default {
|
||||
...ENV_CONFIG[env],
|
||||
env
|
||||
}
|
||||
|
||||
/**
|
||||
* 快速切换数据模式示例:
|
||||
*
|
||||
* // 在代码中使用
|
||||
* import config from '@/config/env.config.js'
|
||||
*
|
||||
* if (config.dataMode === 'mock') {
|
||||
* console.log('当前使用Mock数据')
|
||||
* } else {
|
||||
* console.log('当前使用真实API')
|
||||
* }
|
||||
*
|
||||
* // 查看当前环境
|
||||
* console.log('当前环境:', config.env)
|
||||
* console.log('数据模式:', config.dataMode)
|
||||
*/
|
||||
Reference in New Issue
Block a user