fix(util): 修复小程序跳转时未拼接参数的问题
修复uni.navigateToMiniProgram调用时未将page_params参数拼接进跳转path的问题,正确处理了参数过滤和url拼接逻辑
This commit is contained in:
@@ -1349,9 +1349,22 @@ export default {
|
|||||||
|
|
||||||
} else if (link.appid) {
|
} 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({
|
uni.navigateToMiniProgram({
|
||||||
appId: link.appid,
|
appId: link.appid,
|
||||||
path: link.page
|
path
|
||||||
})
|
})
|
||||||
|
|
||||||
} else if (link.name == 'MOBILE' && !link.wap_url) {
|
} else if (link.name == 'MOBILE' && !link.wap_url) {
|
||||||
|
|||||||
Reference in New Issue
Block a user