Commit 240641a7 authored by Xuguangxing's avatar Xuguangxing

feat: 处理活动页用户新橙时的导航链接参数传递

parent cb299a12
export const home = {
app: 'xyqb://homepage',
wxmp: '/pages/index/index',
h5: 'https://xincheng.q-gp.com/'
h5: 'https://xincheng.q-gp.com'
};
export const shopcart = {
......
......@@ -277,8 +277,27 @@ export default class Activity extends Mixins(TransformStyleMixin, BottomNavStyle
}
}
}
// 添加或修改url中的参数
addOrEditUrlParams(url, paramName, replaceWith) {
if (url.indexOf(paramName) > -1) {
const re = /(' + paramName + '=)([^&]*)/gi;
url = url.replace(re, paramName + '=' + replaceWith);
} else {
const paraStr = paramName + '=' + replaceWith;
const idx = url.indexOf('?');
if (idx < 0) {
url += '?';
} else if (idx >= 0 && idx !== url.length - 1) {
url += '&';
}
url = url + paraStr;
}
return url;
}
handleNavUrl(nav, isCurrent) {
if (isCurrent) { return; }
// 用于传递新橙参数,避免新橙H5活动中含有遮罩层
const { vccChannel, fromHost} = this.$route.query;
const { pageType, pageUrl } = nav;
console.log(isApp, isWxMp, pageType);
let nativeBridge;
......@@ -304,7 +323,10 @@ export default class Activity extends Mixins(TransformStyleMixin, BottomNavStyle
mpBridge.openNewUrl(jumpConfig);
mpBridge = null;
} else {
window.location.href = home.h5;
let url = home.h5;
if (vccChannel) { url = this.addOrEditUrlParams(url, 'vccChannel', vccChannel); }
if (fromHost) { url = this.addOrEditUrlParams(url, 'fromHost', fromHost); }
window.location.href = url;
}
}
if (pageUrl === 'shopcart') {
......@@ -327,7 +349,10 @@ export default class Activity extends Mixins(TransformStyleMixin, BottomNavStyle
mpBridge.openNewUrl(jumpConfig);
mpBridge = null;
} else {
window.location.href = shopcart.h5;
let url = shopcart.h5;
if (vccChannel) { url = this.addOrEditUrlParams(url, 'vccChannel', vccChannel); }
if (fromHost) { url = this.addOrEditUrlParams(url, 'fromHost', fromHost); }
window.location.href = url;
}
}
if (pageUrl === 'user') {
......@@ -350,7 +375,10 @@ export default class Activity extends Mixins(TransformStyleMixin, BottomNavStyle
mpBridge.openNewUrl(jumpConfig);
mpBridge = null;
} else {
window.location.href = user.h5;
let url = user.h5;
if (vccChannel) { url = this.addOrEditUrlParams(url, 'vccChannel', vccChannel); }
if (fromHost) { url = this.addOrEditUrlParams(url, 'fromHost', fromHost); }
window.location.href = url;
}
}
return;
......@@ -373,9 +401,11 @@ export default class Activity extends Mixins(TransformStyleMixin, BottomNavStyle
mpBridge.openNewUrl(jumpConfig);
mpBridge = null;
} else {
window.location.href = pageUrl;
let url = pageUrl;
if (vccChannel) { url = this.addOrEditUrlParams(url, 'vccChannel', vccChannel); }
if (fromHost) { url = this.addOrEditUrlParams(url, 'fromHost', fromHost); }
window.location.href = url;
}
// 活动页面及导航页面
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment