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

收到 401 响应则跳转到 /login

reghao 2 лет назад
Родитель
Сommit
83fee4d2c1
3 измененных файлов с 33 добавлено и 0 удалено
  1. 8 0
      src/router/index.js
  2. 8 0
      src/utils/request.js
  3. 17 0
      src/views/login.vue

+ 8 - 0
src/router/index.js

@@ -433,6 +433,14 @@ const routes = [
     name: 'Vip',
     component: Vip
   },
+  {
+    path: '/login',
+    name: 'Login',
+    component: () => import('@/views/login.vue'),
+    meta: {
+      title: 'login'
+    }
+  },
   {
     path: '*',
     name: '404',

+ 8 - 0
src/utils/request.js

@@ -1,6 +1,7 @@
 import axios from 'axios'
 import store from '@/store'
 import Vue from 'vue'
+import router from '@/router'
 import { getAccessToken, removeAll } from '@/utils/auth'
 
 const instance = axios.create({
@@ -62,6 +63,13 @@ instance.interceptors.response.use(
           store.commit('USER_LOGOUT')
           store.commit('delToken')
           removeAll()
+
+          router.replace({
+            path: '/login',
+            query: {
+              redirect: router.currentRoute.fullPath
+            }
+          })
           break
         case 404:
           console.log('404 错误')

+ 17 - 0
src/views/login.vue

@@ -0,0 +1,17 @@
+<template>
+  <div style="text-align: center;">
+    <h1>Login Page</h1>
+    <p>
+      <a href="/">Go home?</a>
+    </p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Login'
+}
+</script>
+
+<style>
+</style>