From b38eb035c3782025257d9b582e5a0db45f7881b8 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期二, 02 四月 2024 10:39:16 +0800 Subject: [PATCH] 菜单跳转 --- Source/ProjectWeb/src/permission.js | 153 +++++++++++++++++++++++++------------------------- 1 files changed, 77 insertions(+), 76 deletions(-) diff --git a/Source/ProjectWeb/src/permission.js b/Source/ProjectWeb/src/permission.js index 8d64cd5..0b8137a 100644 --- a/Source/ProjectWeb/src/permission.js +++ b/Source/ProjectWeb/src/permission.js @@ -1,76 +1,77 @@ -// /** -// * 鍏ㄧ珯鏉冮檺閰嶇疆 -// * -// */ -// import router from './router/router' -// import store from './store' -// import {validatenull} from '@/util/validate' -// import {getToken} from '@/util/auth' -// import NProgress from 'nprogress' // progress bar -// import 'nprogress/nprogress.css' // progress bar style -// NProgress.configure({showSpinner: false}); -// const lockPage = store.getters.website.lockPage; //閿佸睆椤� -// router.beforeEach((to, from, next) => { -// const meta = to.meta || {}; -// const isMenu = meta.menu === undefined ? to.query.menu : meta.menu; -// store.commit('SET_IS_MENU', isMenu === undefined); -// if (getToken()) { -// if (store.getters.isLock && to.path !== lockPage) { //濡傛灉绯荤粺婵�娲婚攣灞忥紝鍏ㄩ儴璺宠浆鍒伴攣灞忛〉 -// next({path: lockPage}) -// } else if (to.path === '/login') { //濡傛灉鐧诲綍鎴愬姛璁块棶鐧诲綍椤佃烦杞埌涓婚〉 -// next({path: '/'}) -// } else { -// //濡傛灉鐢ㄦ埛淇℃伅涓虹┖鍒欒幏鍙栫敤鎴蜂俊鎭紝鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛岃烦杞埌鐧诲綍椤� -// if (store.getters.token.length === 0) { -// store.dispatch('FedLogOut').then(() => { -// next({path: '/login'}) -// }) -// } else { -// const value = to.query.src || to.fullPath; -// const label = to.query.name || to.name; -// const meta = to.meta || router.$avueRouter.meta || {}; -// const i18n = to.query.i18n; -// if (to.query.target) { -// window.open(value) -// } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) { -// store.commit('ADD_TAG', { -// label: label, -// value: value, -// params: to.params, -// query: to.query, -// meta: (() => { -// if (!i18n) { -// return meta -// } -// return { -// i18n: i18n -// } -// })(), -// group: router.$avueRouter.group || [] -// }); -// } -// next() -// } -// } -// } else { -// //鍒ゆ柇鏄惁闇�瑕佽璇侊紝娌℃湁鐧诲綍璁块棶鍘荤櫥褰曢〉 -// if (meta.isAuth === false) { -// next() -// } else { -// next('/login') -// } -// } -// }) -// -// router.afterEach(() => { -// NProgress.done(); -// let title = store.getters.tag.label; -// let i18n = store.getters.tag.meta.i18n; -// title = router.$avueRouter.generateTitle(title, i18n); -// //鍒ゆ柇鐧诲綍椤电殑鎯呭喌 -// if (router.history.current.fullPath === "/login") { -// title = "鐧诲綍"; -// } -// //鏍规嵁褰撳墠鐨勬爣绛句篃鑾峰彇label鐨勫�煎姩鎬佽缃祻瑙堝櫒鏍囬 -// router.$avueRouter.setTitle(title); -// }); + /** + * 鍏ㄧ珯鏉冮檺閰嶇疆 + * + */ + import router from './router/router' + import store from './store' + import {validatenull} from '@/util/validate' + import {getToken} from '@/util/auth' + import NProgress from 'nprogress' // progress bar + import 'nprogress/nprogress.css' // progress bar style + NProgress.configure({showSpinner: false}); + const lockPage = store.getters.website.lockPage; //閿佸睆椤� + router.beforeEach((to, from, next) => { + debugger; + const meta = to.meta || {}; + const isMenu = meta.menu === undefined ? to.query.menu : meta.menu; + store.commit('SET_IS_MENU', isMenu === undefined); + if (getToken()) { + if (store.getters.isLock && to.path !== lockPage) { //濡傛灉绯荤粺婵�娲婚攣灞忥紝鍏ㄩ儴璺宠浆鍒伴攣灞忛〉 + next({path: lockPage}) + } else if (to.path === '/login') { //濡傛灉鐧诲綍鎴愬姛璁块棶鐧诲綍椤佃烦杞埌涓婚〉 + next({path: '/'}) + } else { + //濡傛灉鐢ㄦ埛淇℃伅涓虹┖鍒欒幏鍙栫敤鎴蜂俊鎭紝鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛岃烦杞埌鐧诲綍椤� + if (store.getters.token.length === 0) { + store.dispatch('FedLogOut').then(() => { + next({path: '/login'}) + }) + } else { + const value = to.query.src || to.fullPath; + const label = to.query.name || to.name; + const meta = to.meta || router.$avueRouter.meta || {}; + const i18n = to.query.i18n; + if (to.query.target) { + window.open(value) + } else if (meta.isTab !== false && !validatenull(value) && !validatenull(label)) { + store.commit('ADD_TAG', { + label: label, + value: value, + params: to.params, + query: to.query, + meta: (() => { + if (!i18n) { + return meta + } + return { + i18n: i18n + } + })(), + group: router.$avueRouter.group || [] + }); + } + next() + } + } + } else { + //鍒ゆ柇鏄惁闇�瑕佽璇侊紝娌℃湁鐧诲綍璁块棶鍘荤櫥褰曢〉 + if (meta.isAuth === false) { + next() + } else { + next('/login') + } + } + }) + + router.afterEach(() => { + NProgress.done(); + let title = store.getters.tag.label; + let i18n = store.getters.tag.meta.i18n; + title = router.$avueRouter.generateTitle(title, i18n); + //鍒ゆ柇鐧诲綍椤电殑鎯呭喌 + if (router.history.current.fullPath === "/login") { + title = "鐧诲綍"; + } + //鏍规嵁褰撳墠鐨勬爣绛句篃鑾峰彇label鐨勫�煎姩鎬佽缃祻瑙堝櫒鏍囬 + router.$avueRouter.setTitle(title); + }); -- Gitblit v1.9.3