ソースを参照

:zap: axios统一拦截逻辑优化

smallchill 6 年 前
コミット
908ede3402
1 ファイル変更17 行追加13 行削除
  1. 17 13
      src/router/axios.js

+ 17 - 13
src/router/axios.js

@@ -5,36 +5,39 @@
  * isSerialize是否开启form表单提交
  * isToken是否需要token
  */
-import axios from 'axios'
+import axios from 'axios';
 import store from '@/store/';
-import router from '@/router/router'
-import {serialize} from '@/util/util'
-import {getToken} from '@/util/auth'
-import {Message} from 'element-ui'
+import router from '@/router/router';
+import {serialize} from '@/util/util';
+import {getToken} from '@/util/auth';
+import {Message} from 'element-ui';
 import website from '@/config/website';
-import NProgress from 'nprogress' // progress bar
-import 'nprogress/nprogress.css' // progress bar style
+import NProgress from 'nprogress';
+import 'nprogress/nprogress.css';
 import {Base64} from 'js-base64';
 
+//默认超时时间
 axios.defaults.timeout = 10000;
-//返回其他状态
+//返回其他状态
 axios.defaults.validateStatus = function (status) {
-  return status >= 200 && status <= 500; // 默认的
+  return status >= 200 && status <= 500;
 };
 //跨域请求,允许保存cookie
 axios.defaults.withCredentials = true;
-// NProgress Configuration
+// NProgress 配置
 NProgress.configure({
   showSpinner: false
 });
 //http request拦截
 axios.interceptors.request.use(config => {
-  NProgress.start() // start progress bar
+  //开启 progress bar
+  NProgress.start();
   const meta = (config.meta || {});
   const isToken = meta.isToken === false;
   config.headers['Authorization'] = `Basic ${Base64.encode(`${website.clientId}:${website.clientSecret}`)}`;
   if (getToken() && !isToken) {
-    config.headers['Blade-Auth'] = 'bearer ' + getToken() // 让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
+    //让每个请求携带token--['Authorization']为自定义key 请根据实际情况自行修改
+    config.headers['Blade-Auth'] = 'bearer ' + getToken()
   }
   //headers中配置serialize为true开启序列化
   if (config.method === 'post' && meta.isSerialize === true) {
@@ -46,8 +49,9 @@ axios.interceptors.request.use(config => {
 });
 //http response 拦截
 axios.interceptors.response.use(res => {
+  //关闭 progress bar
   NProgress.done();
-  // 获取状态码
+  //获取状态码
   const status = res.data.code || res.status;
   const statusWhiteList = website.statusWhiteList || [];
   const message = res.data.msg || '未知错误';