mahjong_group/common/env.js
2025-12-02 14:05:38 +08:00

75 lines
2.0 KiB
JavaScript

/**
* 项目环境配置文件
* 集中管理所有环境相关的配置参数
*/
// 开发环境配置
const development = {
// API基础URL
// baseUrl: 'https://sqqp.zpc-xy.com',
// baseUrl: 'http://1.15.21.245:2401',
// host: ['https://sqqp.zpc-xy.com'],
baseUrl: 'http://192.168.1.21:2016',
host: ['http://192.168.1.21:2016'],
imageUrl: 'https://guyu-1308826010.cos.ap-shanghai.myqcloud.com',
};
// 生产环境配置
const production = {
baseUrl: 'https://guyu.zpc-xy.com',
host: ['https://guyu.zpc-xy.com', 'http://192.168.1.41:90'],
imageUrl: 'https://guyu-1308826010.cos.ap-shanghai.myqcloud.com',
};
// 根据环境变量选择对应配置
let currentEnv = development; //production;//testing;
const config = {
...currentEnv,
apiBaseUrl: currentEnv.baseUrl + '/api/',
// verificationHost: null,
};
//
export const verificationHost = async () => {
// if(){}
async function verification(host) {
const res = await uni.request({
url: host + "/api/common/h",
method: 'GET',
});
return { success: true, host, res };
}
if (currentEnv.host.length > 0) {
const timeoutPromise = new Promise((resolve, reject) =>
setTimeout(() =>
resolve({ success: false }),
5000
)
);
//将所有host地址转成请求
let requests = currentEnv.host.map(it => verification(it));
requests.push(timeoutPromise);
//判断host中哪一个请求最快
const result = await Promise.race(requests);
//返回最快的host
if (result.success) {
console.log("result", result.host);
config.baseUrl = result.host;
config.apiBaseUrl = result.host + "/api/";
return true;
} else {
console.log("访问网络失败");
return false;
}
}
return true;
}
// config.verificationHost = verificationHost;
// verificationHost();
// 衍生配置
export default config;