浏览代码

登录 token校验

yanzili 4 年之前
父节点
当前提交
bec50fadaa
共有 3 个文件被更改,包括 23 次插入27 次删除
  1. 2 5
      report-ui/src/api/axios.js
  2. 1 1
      report-ui/src/router/index.js
  3. 20 21
      report-ui/src/utils/request.js

+ 2 - 5
report-ui/src/api/axios.js

@@ -17,13 +17,10 @@ service.interceptors.request.use(
   config => {
   config => {
     // 在发送请求之前做些什么
     // 在发送请求之前做些什么
     var token = getItem('token');
     var token = getItem('token');
-    // config = signUtil.sign(token, deepClone(config));
-    console.log(config, 'config')
     return config
     return config
   },
   },
   error => {
   error => {
-    // Do something with request error
-    console.log(error) // for debug
+    // Do something with request error 
     Promise.reject(error)
     Promise.reject(error)
   }
   }
 )
 )
@@ -35,6 +32,7 @@ service.interceptors.response.use(
     if (res.code == 200) {
     if (res.code == 200) {
       return res
       return res
     }
     }
+
     else if (res.code == '50014') {
     else if (res.code == '50014') {
       //登录超时或被登出,弹确认框,用户确认后,跳转到登录页面
       //登录超时或被登出,弹确认框,用户确认后,跳转到登录页面
       MessageBox({
       MessageBox({
@@ -45,7 +43,6 @@ service.interceptors.response.use(
         sessionStorage.clear();
         sessionStorage.clear();
         localStorage.clear();
         localStorage.clear();
         delItem('token')
         delItem('token')
-        // location.reload();
         window.location.href = "/";
         window.location.href = "/";
       }).catch(err => {
       }).catch(err => {
       })
       })

+ 1 - 1
report-ui/src/router/index.js

@@ -98,7 +98,7 @@ export const constantRouterMap = [
   //   ]
   //   ]
   // },
   // },
   { path: '/404', component: () => import('@/views/404'), hidden: true },
   { path: '/404', component: () => import('@/views/404'), hidden: true },
-  { path: '*', redirect: '/index', hidden: true },
+  { path: '*', redirect: '/login', hidden: true },
 ]
 ]
 
 
 export default new Router({
 export default new Router({

+ 20 - 21
report-ui/src/utils/request.js

@@ -2,7 +2,6 @@ import axios from 'axios'
 import { Message, MessageBox } from 'element-ui'
 import { Message, MessageBox } from 'element-ui'
 import store from '../store'
 import store from '../store'
 import { getToken } from '@/utils/auth'
 import { getToken } from '@/utils/auth'
-
 // 创建axios实例
 // 创建axios实例
 const service = axios.create({
 const service = axios.create({
   baseURL: process.env.BASE_API, // api 的 base_url
   baseURL: process.env.BASE_API, // api 的 base_url
@@ -17,7 +16,6 @@ service.interceptors.request.use(
   },
   },
   error => {
   error => {
     // Do something with request error
     // Do something with request error
-    console.log(error) // for debug
     Promise.reject(error)
     Promise.reject(error)
   }
   }
 )
 )
@@ -29,36 +27,37 @@ service.interceptors.response.use(
      * code为非20000是抛错 可结合自己业务进行修改
      * code为非20000是抛错 可结合自己业务进行修改
      */
      */
     const res = response.data
     const res = response.data
-    if (res.code !== '200') {
+    // 50008:非法的token; 50012:其他客户端登录了;  50014:Token 过期了;
+    if (res.code == '50008' || res.code == '50012' || res.code == '50014') {
+      MessageBox.confirm(
+        '你已被登出,可以取消继续留在该页面,或者重新登录',
+        '重新登录',
+        {
+          confirmButtonText: '重新登录',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }
+      ).then(() => {
+        // store.dispatch('FedLogOut').then(() => {
+        //   // location.reload() // 为了重新实例化vue-router对象 避免bug
+        //   window.location.href = "/";
+        // })
+        location.reload();
+        window.location.href = "/";
+      })
+    }
+    else if (res.code !== '200') {
       Message({
       Message({
         message: res.message,
         message: res.message,
         type: 'error',
         type: 'error',
         duration: 5 * 1000
         duration: 5 * 1000
       })
       })
-
-      // 50008:非法的token; 50012:其他客户端登录了;  50014:Token 过期了;
-      if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
-        MessageBox.confirm(
-          '你已被登出,可以取消继续留在该页面,或者重新登录',
-          '确定登出',
-          {
-            confirmButtonText: '重新登录',
-            cancelButtonText: '取消',
-            type: 'warning'
-          }
-        ).then(() => {
-          store.dispatch('FedLogOut').then(() => {
-            location.reload() // 为了重新实例化vue-router对象 避免bug
-          })
-        })
-      }
       return Promise.reject('error')
       return Promise.reject('error')
     } else {
     } else {
       return response.data
       return response.data
     }
     }
   },
   },
   error => {
   error => {
-    console.log('err' + error) // for debug
     Message({
     Message({
       message: error.message,
       message: error.message,
       type: 'error',
       type: 'error',