zhuliu 11 月之前
父節點
當前提交
e7df8f941a
共有 2 個文件被更改,包括 50 次插入22 次删除
  1. 40 12
      src/router/index.js
  2. 10 10
      src/utils/axios.js

+ 40 - 12
src/router/index.js

@@ -94,6 +94,7 @@ const routes = [
             meta: {
               title: '专利文章',
               sign: 'patentDetails',
+              notReturn:true,
               // belong:'project'
             },
             component: () => import('@/views/project/patentDetails/index.vue')
@@ -680,7 +681,20 @@ const router = new VueRouter({
   routes
 })
 
+function savePreviousRoute(to){
+  if(to.meta.notReturn || to.path == '/login' || to.path == '/'){
+    return
+  }
+  var redirectUrl = {
+    userName:localStorage.getItem('username'),
+    path:to.path,
+    query:to.query,
+    params:to.params
+  }
+  localStorage.setItem('redirectUrl',JSON.stringify(redirectUrl))
+}
 router.beforeEach((to, from, next) => {
+  savePreviousRoute(to)
   if(to.path == '/login'){
     Cookies.remove("token")
     localStorage.removeItem('vuex')
@@ -711,18 +725,32 @@ router.beforeEach((to, from, next) => {
         if (to.meta.title) {
           document.title = to.meta.title;
         }
-        if(to.matched && to.matched.length>0){
-          var path = to.path
-          if(to.matched.findIndex(item=>{ return item.path == path}) !=-1){
-            var redirectUrl = {
-              userName:localStorage.getItem('username'),
-              path:to.path,
-              query:to.query,
-              params:to.params
-            }
-            localStorage.setItem('redirectUrl',JSON.stringify(redirectUrl))
-          }
-        }
+        // if(to.matched && to.matched.length>0){
+        //   var path = to.path
+          // var redirectUrl = null
+          // for(var i = to.matched.length-1;i>=0;i--){
+          //   var item = to.matched[i]
+          //   if(item.meta.notReturn){
+          //     continue
+          //   }
+          //   redirectUrl = {
+          //     userName:localStorage.getItem('username'),
+          //     path:to.path,
+          //     query:to.query,
+          //     params:to.params
+          //   }
+          //   break;
+          // }
+          // if(to.matched.findIndex(item=>{ return item.path == path}) !=-1){
+          //   var redirectUrl = {
+          //     userName:localStorage.getItem('username'),
+          //     path:to.path,
+          //     query:to.query,
+          //     params:to.params
+          //   }
+          //   localStorage.setItem('redirectUrl',JSON.stringify(redirectUrl))
+          // }
+        // }
         next({ name: 'Login' })
         break
       default:

+ 10 - 10
src/utils/axios.js

@@ -76,16 +76,16 @@ _axios.interceptors.response.use(
       return response.data
     }
     if (code === 401) {
-      var redirectUrl = Router.app._route
-      if(redirectUrl.path!='/login'){
-        var route1 = {
-          userName:localStorage.getItem('username'),
-          path:redirectUrl.path,
-          query:redirectUrl.query,
-          params:redirectUrl.params
-        }
-        storage.setObj('redirectUrl',route1)
-      }
+      // var redirectUrl = Router.app._route
+      // if(redirectUrl.path!='/login'){
+      //   var route1 = {
+      //     userName:localStorage.getItem('username'),
+      //     path:redirectUrl.path,
+      //     query:redirectUrl.query,
+      //     params:redirectUrl.params
+      //   }
+      //   storage.setObj('redirectUrl',route1)
+      // }
       Router.push({
         path: `/login`
       }).then(r => {})