1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
| /**
| * 多环境配置文件
| * 支持 dev/sit/uat/prd 四套环境
| */
|
| // 环境枚举
| export const ENV_TYPES = {
| DEV: 'dev',
| SIT: 'sit',
| UAT: 'uat',
| PRD: 'prd'
| };
|
| // 当前环境,默认为SIT测试环境
| const CURRENT_ENV = process.env.REACT_APP_ENV || ENV_TYPES.DEV;
|
| // 环境配置映射
| const ENV_CONFIG = {
| [ENV_TYPES.DEV]: {
| // 开发环境
| baseURL: 'http://localhost:9015',
| timeout: 30000,
| withCredentials: false, // 后端CORS配置为*时需关闭
| name: '开发环境'
| },
| [ENV_TYPES.SIT]: {
| // 集成测试环境 - 通过 Nginx 代理访问后端,避免跨域
| baseURL: '', // 使用相对路径,通过Nginx代理转发
| timeout: 30000,
| withCredentials: false,
| name: '集成测试环境'
| },
| [ENV_TYPES.UAT]: {
| // 用户验收环境
| baseURL: 'http://uat-api.example.com:9015',
| timeout: 30000,
| withCredentials: true,
| name: '用户验收环境'
| },
| [ENV_TYPES.PRD]: {
| // 生产环境 - 通过 Nginx 代理访问后端
| baseURL: '', // 使用相对路径,通过Nginx代理转发
| timeout: 30000,
| withCredentials: true,
| name: '生产环境'
| }
| };
|
| // 获取当前环境配置
| export const getCurrentEnvConfig = () => {
| return ENV_CONFIG[CURRENT_ENV] || ENV_CONFIG[ENV_TYPES.DEV];
| };
|
| // 获取当前环境名称
| export const getCurrentEnvName = () => {
| return ENV_CONFIG[CURRENT_ENV]?.name || '未知环境';
| };
|
| // 获取当前环境标识
| export const getCurrentEnv = () => {
| return CURRENT_ENV;
| };
|
| // 设置环境(主要用于测试)
| export const setEnv = (env) => {
| if (Object.values(ENV_TYPES).includes(env)) {
| // 注意:实际项目中应该通过环境变量设置,这里仅用于演示
| console.warn('环境切换仅在开发模式下可用');
| }
| };
|
| // 导出默认配置
| const config = {
| env: CURRENT_ENV,
| ...getCurrentEnvConfig()
| };
|
| export default config;
|
|