fix(util): 修复小程序跳转时未拼接参数的问题

修复uni.navigateToMiniProgram调用时未将page_params参数拼接进跳转path的问题,正确处理了参数过滤和url拼接逻辑
This commit is contained in:
2026-07-13 18:22:22 +08:00
parent 3d822ed641
commit 2708ac55d1

View File

@@ -1349,9 +1349,22 @@ export default {
} else if (link.appid) {
// 跳转其他小程序
// page_params 转 query string,拼到 path 后面(resolveLinkUrl 已把 wap_url 中的 query 合并到 page_params)
let path = link.page || '';
const pageParams = (link.page_params && typeof link.page_params === 'object') ? link.page_params : {};
const paramKeys = Object.keys(pageParams);
if (paramKeys.length > 0) {
const qs = paramKeys
.filter(k => pageParams[k] !== undefined && pageParams[k] !== null && pageParams[k] !== '')
.map(k => `${k}=${pageParams[k]}`)
.join('&');
if (qs) {
path += (path.indexOf('?') !== -1 ? '&' : '?') + qs;
}
}
uni.navigateToMiniProgram({
appId: link.appid,
path: link.page
path
})
} else if (link.name == 'MOBILE' && !link.wap_url) {