¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * å
¨ç«æéé
ç½® |
| | | * |
| | | */ |
| | | 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()) { |
| | | //æ¿å°æ¬å°åå¨çå¯ç çç¥ä¿®æ¹å¼ |
| | | const updataid=JSON.parse(localStorage.getItem("updataid")) |
| | | if (store.getters.isLock && to.path !== lockPage) { //å¦æç³»ç»æ¿æ´»éå±ï¼å
¨é¨è·³è½¬å°éå±é¡µ |
| | | next({path: lockPage}) |
| | | } else if (to.path === '/login' && updataid.strategyUpdateStatus !=0) {//妿ç»å½æå访é®ç»å½é¡µè·³è½¬å°ä¸»é¡µ |
| | | //è¿éåå ä¸å¤æ 妿å¯ç çç¥ä¿®æ¹åæ²¡ææ¹å¯ç çæ
åµä¸å·æ°é¡µé¢ä¸ä¼è¿å
¥é¦é¡µ |
| | | 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); |
| | | }); |