Просмотр исходного кода

router.beforeEach 时,token处理

yx 4 лет назад
Родитель
Сommit
55a55e9557
1 измененных файлов с 9 добавлено и 4 удалено
  1. 9 4
      src/router/index.js

+ 9 - 4
src/router/index.js

@@ -88,12 +88,17 @@ const router = new VueRouter({
 })
 const ignore = ['/404']
 router.beforeEach(async (to, from, next) => {
+    // 取出刷新时的 ssoToken, 路由拦截时app.vue 生命周期还没有执行,store中还没有数据,
+    let beforeunload = localStorage.getItem('beforeunload'),
+        __token = null
+    beforeunload && (__token = JSON.parse(beforeunload).ssoToken)
     if (!ignore.includes(to.path)) {
-        let token = store.getters['ssoToken'] || query().token;
+        let token = __token || store.getters['ssoToken'] || query().token
         // 开发环境模式token有模式值
-        if(process.env.NODE_ENV=='aly'|| process.env.NODE_ENV=='serve'){
+        if (process.env.NODE_ENV == 'aly' || process.env.NODE_ENV == 'serve') {
             token = 'admin:chuyushu'
-         }
+        }
+        // console.log('token====', token)
         if (token) {
             store.commit('SETSSOTOKEN', token)
             if (to.path == '/') {
@@ -118,7 +123,7 @@ router.beforeEach(async (to, from, next) => {
             }
             store.commit('SETLASTROUTER', lastRoute)
             let ssoServer = 'http://oauth.wanda-dev.cn'
-            if(process.env.NODE_ENV=="wanda_build"){
+            if (process.env.NODE_ENV == 'wanda_build') {
                 ssoServer = 'http://oauth.wanda.cn'
             }
             let systemcode = 'CAD156',