直接上代码,如下:
/*
* 找到自己系统工程中,对应的router文件(如:src/router/index.js),然后加入 routerErrorEach 的监听即可
*/
import { RouterMount, createRouter } from 'uni-simple-router';
import permission from './permission';
let num = 0;
const router = createRouter({
platform: process.env.VUE_APP_PLATFORM,
routes: [...ROUTES],
routerErrorEach: (error, router) => {
// uni-simple-router把uniapp默认的退出应用的效果给拦截了,因此需要手动单独处理一下
if (error.uniActualData.from === 'backbutton') {
num++;
if (num > 1) {
plus.runtime.quit();
} else {
plus.nativeUI.toast('再按一次退出应用');
}
setTimeout(() => {
num = 0;
}, 1500);
}
// 路由跳转解锁,否则首页点击物理返回键后,路由锁定,跳转失败...
if (error.type === 3) {
router.$lockStatus = false;
}
},
});
permission(router);
export { router, RouterMount };
官网-解锁:https://www.hhyang.cn/v2/start/cross/navLock.html
官网-routerErrorEach:https://www.hhyang.cn/v2/api/routerInsatll.html#routererroreach-v-2-0-0