背景
xbase壳子,里面嵌套vue2项目,因为详情页涉及音视频等,依赖较多。崩溃后自动刷新页面,会涉及很多问题,如sdk获取、数据获取时序问题等,所以检测到崩溃,弹出弹窗,引导返回列表页。
涉及工具
forcecrash.exe 用作模拟进程崩溃
代码检测崩溃
因为我们是二级页面,正常情况是是从别的页面跳转过来的,所以可以利用vue-router的beforeRouteEnter,判断一下from,是不是有值,如果没有,那说明是重新刷新页面了,然后就弹窗。
beforeRouteEnter (to, from, next) {
next((vm) => {
if (!from.name) {
// 本地开发环境热更新,看自己需求需不要判断热更新的情况
// if (process.env.NODE_ENV !== 'development') {
vm.changeReloadAndShowTip();
// }
}
});
},
methods:{
changeReloadAndShowTip(){
//打开弹窗
}
}
因为beforeRouteEnter的next中不能直接使用this,vm是当前组件的实例,所以用vm来代替。