Elements-SY

modify

1 -import axios from 'axios' 1 +import axios from "axios";
2 -import { Message, MessageBox } from 'element-ui' 2 +import { Message, MessageBox } from "element-ui";
3 -import store from '@/store' 3 +import store from "@/store";
4 -import { getToken, setToken } from '@/utils/auth' 4 +import { getToken, setToken } from "@/utils/auth";
5 -import errorCode from '@/utils/errorCode' 5 +import errorCode from "@/utils/errorCode";
6 -import settings from "@/settings" 6 +import settings from "@/settings";
7 7
8 -axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' 8 +axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
9 // 创建axios实例 9 // 创建axios实例
10 const service = axios.create({ 10 const service = axios.create({
11 // axios中请求配置有baseURL选项,表示请求URL公共部分 11 // axios中请求配置有baseURL选项,表示请求URL公共部分
12 - baseURL: settings.baseURL, 12 + baseURL: settings.baseURL, //接口地址
13 // 超时 13 // 超时
14 - timeout: 90000, 14 + timeout: 30000,
15 -}) 15 +});
16 -
17 // request拦截器 16 // request拦截器
18 -service.interceptors.request.use(config => { 17 +service.interceptors.request.use(
18 + (config) => {
19 // 是否需要设置 token 19 // 是否需要设置 token
20 - const isToken = (config.headers || {}).isToken === false 20 + const isToken = (config.headers || {}).isToken === false;
21 if (getToken() && !isToken) { 21 if (getToken() && !isToken) {
22 - config.headers['Authorization'] = decodeURIComponent(getToken()) // 让每个请求携带自定义token 请根据实际情况自行修改 22 + config.headers["Authorization"] = getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
23 } 23 }
24 // get请求映射params参数 24 // get请求映射params参数
25 - if (config.method === 'get' && config.params) { 25 + if (config.method === "get" && config.params) {
26 - let url = config.url + '?'; 26 + let url = config.url + "?";
27 for (const propName of Object.keys(config.params)) { 27 for (const propName of Object.keys(config.params)) {
28 const value = config.params[propName]; 28 const value = config.params[propName];
29 var part = encodeURIComponent(propName) + "="; 29 var part = encodeURIComponent(propName) + "=";
30 - if (value !== null && typeof (value) !== "undefined") { 30 + if (value !== null && typeof value !== "undefined") {
31 - if (typeof value === 'object') { 31 + if (typeof value === "object") {
32 for (const key of Object.keys(value)) { 32 for (const key of Object.keys(value)) {
33 - let params = propName + '[' + key + ']'; 33 + let params = propName + "[" + key + "]";
34 var subPart = encodeURIComponent(params) + "="; 34 var subPart = encodeURIComponent(params) + "=";
35 url += subPart + encodeURIComponent(value[key]) + "&"; 35 url += subPart + encodeURIComponent(value[key]) + "&";
36 } 36 }
...@@ -43,73 +43,78 @@ service.interceptors.request.use(config => { ...@@ -43,73 +43,78 @@ service.interceptors.request.use(config => {
43 config.params = {}; 43 config.params = {};
44 config.url = url; 44 config.url = url;
45 } 45 }
46 - return config 46 + return config;
47 -}, error => { 47 + },
48 - console.log(error) 48 + (error) => {
49 - Promise.reject(error) 49 + console.log(error);
50 -}) 50 + Promise.reject(error);
51 + }
52 +);
51 53
52 // 响应拦截器 54 // 响应拦截器
53 -service.interceptors.response.use(res => { 55 +service.interceptors.response.use(
54 - if (res.headers['token']) { 56 + (res) => {
55 - setToken(res.headers['token']) 57 + if (res.headers["token"]) {
58 + setToken(decodeURI(res.headers["token"]));
56 } 59 }
57 // 未设置状态码则默认成功状态 60 // 未设置状态码则默认成功状态
58 const code = res.data.code || 200; 61 const code = res.data.code || 200;
59 // 获取错误信息 62 // 获取错误信息
60 - const msg = errorCode[code] || res.data.msg || errorCode['default'] 63 + const msg = errorCode[code] || res.data.msg || errorCode["default"];
61 if (code === 301) { 64 if (code === 301) {
62 - MessageBox.confirm('登录状态已过期,需重新登录!msg:' + msg, '系统提示', { 65 + MessageBox.confirm("登录状态已过期,需重新登录", "系统提示", {
63 closeOnClickModal: false, 66 closeOnClickModal: false,
64 showCancelButton: false, 67 showCancelButton: false,
65 - confirmButtonText: '重新登录', 68 + confirmButtonText: "重新登录",
66 - type: 'warning' 69 + type: "warning",
67 - } 70 + }).then(() => {
68 - ).then(() => { 71 + store.dispatch("LogOut").then(() => {
69 - store.dispatch('LogOut').then(() => { 72 + location.href = settings.routerBase + "/index";
70 - // location.href = '/'; 73 + });
71 - window.location.href = settings.loginURL;//wsso系统跳转
72 - })
73 }); 74 });
74 } else if (code === 403) { 75 } else if (code === 403) {
75 //无权限页面 76 //无权限页面
76 - location.href = '/401'; 77 + location.href = "/401";
77 - } 78 + } else if (code === 500) {
78 - else if (code === 500) {
79 Message({ 79 Message({
80 message: msg, 80 message: msg,
81 - type: 'error' 81 + type: "error",
82 - }) 82 + });
83 - return Promise.reject(new Error(msg)) 83 + return Promise.reject(new Error(msg));
84 - } else if (code !== 200 && code !== 201 && code !== 202 && code != 203 && code != 603 && code != 402) { 84 + } else if (
85 + code !== 200 &&
86 + code !== 201 &&
87 + code !== 202 &&
88 + code != 203 &&
89 + code != 603 &&
90 + code != 402
91 + ) {
85 Message({ 92 Message({
86 message: msg, 93 message: msg,
87 - type: 'error' 94 + type: "error",
88 - }) 95 + });
89 - return Promise.reject('error') 96 + return Promise.reject("error");
90 } else { 97 } else {
91 - return res.data 98 + return res.data;
92 } 99 }
93 -}, 100 + },
94 - error => { 101 + (error) => {
95 - console.log('err' + error) 102 + console.log("err" + error);
96 let { message } = error; 103 let { message } = error;
97 if (message == "Network Error") { 104 if (message == "Network Error") {
98 message = "网络连接异常"; 105 message = "网络连接异常";
99 - } 106 + } else if (message.includes("timeout")) {
100 - else if (message.includes("timeout")) {
101 message = "系统接口请求超时"; 107 message = "系统接口请求超时";
102 - } 108 + } else if (message.includes("Request failed with status code")) {
103 - else if (message.includes("Request failed with status code")) {
104 message = "系统接口" + message.substr(message.length - 3) + "异常"; 109 message = "系统接口" + message.substr(message.length - 3) + "异常";
105 } 110 }
106 Message({ 111 Message({
107 message: message, 112 message: message,
108 - type: 'error', 113 + type: "error",
109 - duration: 5 * 1000 114 + duration: 5 * 1000,
110 - }) 115 + });
111 - return Promise.reject(error) 116 + return Promise.reject(error);
112 } 117 }
113 -) 118 +);
114 119
115 -export default service 120 +export default service;
......