From 5089d5249c696380b2a20c7f63e44c8acd38ba0f Mon Sep 17 00:00:00 2001 From: inter Date: Tue, 16 Sep 2025 10:38:23 +0800 Subject: [PATCH] Add File --- permission.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 permission.js diff --git a/permission.js b/permission.js new file mode 100644 index 0000000..a41a5e6 --- /dev/null +++ b/permission.js @@ -0,0 +1,39 @@ +import { getToken } from '@/utils/auth' + +// 登录页面 +const loginPage = "/pages/login" + +// 页面白名单 +const whiteList = [ + '/pages/login', '/pages/register', '/pages/common/webview/index' +] + +// 检查地址白名单 +function checkWhite(url) { + const path = url.split('?')[0] + return whiteList.indexOf(path) !== -1 +} + +// 页面跳转验证拦截器 +let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"] +list.forEach(item => { + uni.addInterceptor(item, { + invoke(to) { + if (getToken()) { + if (to.url === loginPage) { + uni.reLaunch({ url: "/" }) + } + return true + } else { + if (checkWhite(to.url)) { + return true + } + uni.reLaunch({ url: loginPage }) + return false + } + }, + fail(err) { + console.log(err) + } + }) +})