From 3ac8162d9c308a154fa68f883c9cf0fb73057683 Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Tue, 14 Jul 2026 17:58:02 +0800 Subject: [PATCH] =?UTF-8?q?fix(util):=20=E4=BF=AE=E5=A4=8D=E5=AD=90?= =?UTF-8?q?=E5=8C=85URL=E8=BF=9E=E7=BB=AD=E6=96=9C=E6=9D=A0=E8=BF=87?= =?UTF-8?q?=E5=A4=9A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增逻辑将路径中3个及以上连续斜杠收敛为2个,避免破坏scheme部分,修正不规范的URL路径格式 --- common/js/util.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/js/util.js b/common/js/util.js index 4cb24d3..21c39c8 100644 --- a/common/js/util.js +++ b/common/js/util.js @@ -524,7 +524,10 @@ export const adaptSubpackageUrl = (url) => { }); } - return replacePrefix(url); + // 兜底:把 3 个及以上的连续 `/` 收敛为 2 个,只动 path 部分(避免影响 `https://` 这种 scheme) + // 例如把 `/pages//webview///webview?x=1` 修正成 `/pages//webview//webview?x=1` + const collapsed = url.replace(/([^:])\/{3,}/g, '$1//'); + return replacePrefix(collapsed); } // 归一化任意路径:确保以 '/' 开头,去除 query,适配子包