Files
martial-admin-mini/config/env.config.js
宅房 7ec9a77c2a 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行代码
- 完整的注释和使用说明
2025-12-11 14:06:03 +08:00

76 lines
1.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 环境配置文件
* 控制应用的数据源模式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)
*/