diff --git a/main.js b/main.js index dd738d2..7c642f6 100644 --- a/main.js +++ b/main.js @@ -1,12 +1,17 @@ import App from './App' import store from './store' +import initRouter from '@/router/router.js' + import uView from '@/uni_modules/uview-ui' import taskCard from "@/components/taskCard/taskCard.vue" import company from "@/components/company/company.vue" Vue.use(uView) Vue.use(taskCard) Vue.use(company) + +initRouter() + // #ifndef VUE3 import Vue from 'vue' Vue.config.productionTip = false diff --git a/router/router.js b/router/router.js new file mode 100644 index 0000000..7e4782f --- /dev/null +++ b/router/router.js @@ -0,0 +1,38 @@ +import { Toast } from "../libs/uniApi"; + +const functionList = ['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'] + +const whiteList = ['/','/pages/oaHome/oaHome', '/pages/oaExamine/oaExamine', '/pages/oaTask/oaTask', '/pages/oaMy/oaMy', + '/pages/oaLogin/oaLogin', '/pages/oaManager/oaManager' +] + +const hasPermission = (url) => { + if (whiteList.indexOf(url) !== -1 || uni.getStorageSync("TOKEN")) { + return true; + } + return false; +} + +const initRouter = () => { + functionList.forEach(item => { + uni.addInterceptor(item, { + invoke(args) { + if (!hasPermission(args.url)) { + Toast('登录后查看更多') + return false; + } + return true; + }, + success(args) { + }, + fail(err) { + console.log('拦截失败', err) + }, + complete(res) { + } + }) + }) + +} + +export default initRouter; \ No newline at end of file