总有一些奇葩的需求,在公众号中,如果你写的模块是一个公众号的子模块,那么当你在模块的第一级时,再点返回,应该是返回到公众号的主页,也就是模块区域,而不是返回你上一个地址,直接上代码
1-先监听到物理返回键,
在mounted钩子定义,再去destroyed重定向
mounted() {
// 重定向移动端物理键
if (window.history && window.history.pushState) {
history.pushState(null, null, document.URL);
window.addEventListener('popstate', this.goBack, false);
}
},
destroyed() {
// 重定向移动端物理键
window.removeEventListener('popstate', this.goBack, false);
},
methods:{
// 重定向移动端物理键
goBack() {
// WeixinJSBridge.call("closeWindow");
let _this = this;
let securityCode = "",
backUrl = "";
for (let i = 0; i < _this.utils.schoolInfos.length; i++) {
if (_this.school_id == _this.utils.schoolInfos[i].id) {
securityCode = _this.utils.schoolInfos[i].securityCode;
}
}
if (_this.utils.isProduct) {
// 生产跳转这个
backUrl =
"https://testUrl/index.html?school=" +
securityCode +
"#/AppMore";
} else {
// 测试跳转这个
backUrl =
"https://testUrl/index.html?school=" +
securityCode +
"#/AppMore";
}
setTimeout(() => {
window.location.href = backUrl;
}, 300);
},
}