65 lines
2.1 KiB
JavaScript
65 lines
2.1 KiB
JavaScript
// 开发环境配置
|
||
export let baseUrl;
|
||
export let version;
|
||
if (process.env.NODE_ENV === 'development') {
|
||
baseUrl = import.meta.env.SHOPRO_DEV_BASE_URL;
|
||
} else {
|
||
baseUrl = import.meta.env.SHOPRO_BASE_URL;
|
||
}
|
||
version = import.meta.env.SHOPRO_VERSION;
|
||
console.log(`[芋道商城 ${version}] http://doc.iocoder.cn`);
|
||
|
||
export const apiPath = import.meta.env.SHOPRO_API_PATH;
|
||
export const staticUrl = import.meta.env.SHOPRO_STATIC_URL;
|
||
export const tenantId = import.meta.env.SHOPRO_TENANT_ID;
|
||
export const websocketPath = import.meta.env.SHOPRO_WEBSOCKET_PATH;
|
||
|
||
// 判断是否在小程序环境中
|
||
const isMiniProgram = typeof wx !== 'undefined' && typeof wx.getSystemInfoSync === 'function' && typeof window === 'undefined';
|
||
|
||
// 默认域名
|
||
const DEFAULT_DOMAIN = 'http://127.0.0.1:3000/';
|
||
|
||
// 解析域名并设置默认值
|
||
const parseDomain = (urls, defaultDomain) => {
|
||
if (!urls) {
|
||
console.warn('未配置分享链接,使用默认域名');
|
||
return defaultDomain;
|
||
}
|
||
const urlList = urls
|
||
.split(',') // 按逗号分割
|
||
.map(url => url.trim()) // 去除空白
|
||
.filter(url => url); // 过滤空字符串
|
||
if (urlList.length === 0) {
|
||
console.warn('分享链接配置为空或无效,使用默认域名');
|
||
return defaultDomain;
|
||
}
|
||
console.log('可用域名列表:', urlList); // 打印可用域名列表
|
||
const selectedDomain = urlList[Math.floor(Math.random() * urlList.length)]; // 随机选择一个域名
|
||
if (!selectedDomain.startsWith('http')) {
|
||
console.warn('域名必须是完整的 URL,不能是路径,使用默认域名');
|
||
return defaultDomain;
|
||
}
|
||
return selectedDomain;
|
||
};
|
||
|
||
// 获取 H5 分享链接
|
||
// 普通浏览器:使用 SHOPRO_H5SHARE_URL
|
||
// 小程序环境:使用 SHOPRO_MINI_BASE_URL
|
||
export let h5shareUrl = isMiniProgram
|
||
? parseDomain(import.meta.env.SHOPRO_MINI_BASE_URL, DEFAULT_DOMAIN)
|
||
: parseDomain(import.meta.env.SHOPRO_H5SHARE_URL, DEFAULT_DOMAIN);
|
||
|
||
// 调试信息
|
||
console.log('当前环境:', process.env.NODE_ENV);
|
||
console.log('isMiniProgram:', isMiniProgram);
|
||
console.log('h5shareUrl:', h5shareUrl);
|
||
|
||
export default {
|
||
baseUrl,
|
||
apiPath,
|
||
staticUrl,
|
||
tenantId,
|
||
websocketPath,
|
||
h5shareUrl,
|
||
}; |