mall-uniapp/sheep/config/index.js

63 lines
2.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 开发环境配置
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 parseCommaSeparatedUrls = (urls) => {
if (!urls) {
console.warn('未配置分享链接,使用默认域名');
return null;
}
const urlList = urls
.split(',') // 按逗号分割
.map(url => url.trim()) // 去除空白
.filter(url => url); // 过滤空字符串
if (urlList.length === 0) {
console.warn('分享链接配置为空或无效,使用默认域名');
return null;
}
console.log('可用域名列表:', urlList); // 打印可用域名列表
return urlList[Math.floor(Math.random() * urlList.length)]; // 随机选择一个域名
};
// 获取 H5 分享链接
// 普通浏览器:使用 SHOPRO_H5SHARE_URL
// 小程序环境:使用 SHOPRO_MINI_BASE_URL
export let h5shareUrl = isMiniProgram
? parseCommaSeparatedUrls(import.meta.env.SHOPRO_MINI_BASE_URL) || 'https://doc.iocoder.cn/'
: parseCommaSeparatedUrls(import.meta.env.SHOPRO_H5SHARE_URL) || 'https://doc.iocoder.cn/';
// 确保 h5shareUrl 是完整的 URL
if (h5shareUrl && !h5shareUrl.startsWith('http')) {
console.warn('h5shareUrl 必须是完整的 URL不能是路径使用默认域名');
h5shareUrl = 'https://doc.iocoder.cn/'; // 如果配置错误,设置为默认值
}
// 调试信息
console.log('当前环境:', process.env.NODE_ENV);
console.log('isMiniProgram:', isMiniProgram);
console.log('h5shareUrl:', h5shareUrl);
export default {
baseUrl,
apiPath,
staticUrl,
tenantId,
websocketPath,
h5shareUrl,
};