From f34035f0b4a7c0292d8c04e0f4ed8b50a0448874 Mon Sep 17 00:00:00 2001 From: lifetime have you <121815889@qq.com> Date: Sun, 26 Jan 2025 00:17:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96h5=E5=9F=9F=E5=90=8D=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E5=BD=93=E5=9F=9F=E5=90=8D=E6=9C=AA=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=88=96=E9=85=8D=E7=BD=AE=E6=9C=89=E8=AF=AF=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E9=BB=98=E8=AE=A4=E5=9F=9F=E5=90=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sheep/config/index.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/sheep/config/index.js b/sheep/config/index.js index 7940e04e..1f0e8186 100644 --- a/sheep/config/index.js +++ b/sheep/config/index.js @@ -17,11 +17,14 @@ export const websocketPath = import.meta.env.SHOPRO_WEBSOCKET_PATH; // 判断是否在小程序环境中 const isMiniProgram = typeof wx !== 'undefined' && typeof wx.getSystemInfoSync === 'function' && typeof window === 'undefined'; -// 解析逗号分隔的域名 -const parseCommaSeparatedUrls = (urls) => { +// 默认域名 +const DEFAULT_DOMAIN = 'https://doc.iocoder.cn/'; + +// 解析域名并设置默认值 +const parseDomain = (urls, defaultDomain) => { if (!urls) { console.warn('未配置分享链接,使用默认域名'); - return null; + return defaultDomain; } const urlList = urls .split(',') // 按逗号分割 @@ -29,24 +32,23 @@ const parseCommaSeparatedUrls = (urls) => { .filter(url => url); // 过滤空字符串 if (urlList.length === 0) { console.warn('分享链接配置为空或无效,使用默认域名'); - return null; + return defaultDomain; } console.log('可用域名列表:', urlList); // 打印可用域名列表 - return urlList[Math.floor(Math.random() * urlList.length)]; // 随机选择一个域名 + 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 - ? 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/'; // 如果配置错误,设置为默认值 -} + ? 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);