guhongwei 4 years ago
parent
commit
fd44647e63
1 changed files with 11 additions and 1 deletions
  1. 11 1
      src/router/index.js

+ 11 - 1
src/router/index.js

@@ -1,6 +1,7 @@
 import Vue from 'vue';
 import VueRouter from 'vue-router';
 import store from '@/store/index';
+const jwt = require('jsonwebtoken');
 
 Vue.use(VueRouter);
 
@@ -222,10 +223,19 @@ const router = new VueRouter({
 router.beforeEach(async (to, form, next) => {
   if (to.name == 'user_index') {
     let res = await store.dispatch('login/toGetUser');
+    console.log(res);
     if (res && res.uid) {
+      console.log('1');
       next();
     } else {
-      next({ name: 'login' });
+      let key = sessionStorage.getItem('token');
+      let user = jwt.decode(key);
+      if (user && user.uid) {
+        store.commit('setUser', user, { root: true });
+        next();
+      } else {
+        next({ name: 'login' });
+      }
     }
   } else {
     let res = await store.dispatch('login/toGetUser');