g/1710.html" class="superseo">import axios from 'axios'
import { ElMessageBox, ElMessage, ElLoading, ElNotification } from 'element-plus'
import store from '@/store'
import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import { getUrl } from '@/utils/util'
import { systemConfig } from '../../public/systemConfig'
import qs from 'qs'
var loadingInstance = null
// 创建axios实例
const service = axios.create({
? ? ? ? // axios中请求配置有baseURL选项,表示请求URL公共部分
? ? ? ? // baseURL: process.env.VUE_APP_BASE_API,
? ? ? ? // 超时
? ? ? ? timeout: 10000
? ? })
? ? // request拦截器
service.interceptors.request.use(config => {
? ? let contentType = "application/json";
? ? if (config.isWWW) {
? ? ? ? contentType = "application/x-www-form-urlencoded";
? ? ? ? config.data = qs.stringify(config.data)
? ? }
? ? if (config.type == 100) {
? ? ? ? config.baseURL = systemConfig.url;
? ? } else {
? ? ? ? config.baseURL = getUrl(config.type)
? ? }
? ? config.headers['Content-Type'] = contentType;
? ? // 是否需要设置 token
? ? const isToken = (config.headers || {}).isToken === false
? ? if (getToken() && !isToken) {
? ? ? ? config.headers['Authorization'] = getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
? ? }
? ? if (!config.noLoading) {
? ? ? ? loadingInstance = ElLoading.service()
? ? }
? ? console.log("config:", config)
? ? return config
}, error => {
? ? // loadingInstance.close()
? ? console.log(error)
? ? Promise.reject(error)
})
// 响应拦截器
service.interceptors.response.use(res => {
? ? ? ? loadingInstance.close()
? ? ? ? ? ? // console.log("Res:", res)
? ? ? ? ? ? // 未设置状态码则默认成功状态
? ? ? ? const code = res.status;
? ? ? ? // 获取错误信息
? ? ? ? const msg = errorCode[code] || (res.data && res.data.msg) || errorCode['default'] || ''
? ? ? ? if (code === 401) {
? ? ? ? ? ? ElMessageBox.confirm(msg, '系统提示', {
? ? ? ? ? ? ? ? confirmButtonText: '重新登录',
? ? ? ? ? ? ? ? cancelButtonText: '取消',
? ? ? ? ? ? ? ? type: 'warning'
? ? ? ? ? ? }).then(() => {
? ? ? ? ? ? })
? ? ? ? } else if (code == 200) {
? ? ? ? ? ? return res.data
? ? ? ? ? ? ? ? // ? ? if (res.data && (res.data.result == undefined || res.data.result)) {
? ? ? ? ? ? // } else if (res.data && res.data.resultDesc) {
? ? ? ? ? ? // ? ? ElNotification({
? ? ? ? ? ? // ? ? ? ? title: '',
? ? ? ? ? ? // ? ? ? ? message: res.data.resultDesc,
? ? ? ? ? ? // ? ? ? ? type: 'warning',
? ? ? ? ? ? // ? ? ? ? position: 'bottom-right'
? ? ? ? ? ? // ? ? })
? ? ? ? ? ? // }
? ? ? ? ? ? // return Promise.reject('error')
? ? ? ? } else {
? ? ? ? ? ? if (!res.config.noErrorShow) {
? ? ? ? ? ? ? ? ElNotification({
? ? ? ? ? ? ? ? ? ? title: '',
? ? ? ? ? ? ? ? ? ? message: msg,
? ? ? ? ? ? ? ? ? ? type: 'warning',
? ? ? ? ? ? ? ? ? ? position: 'bottom-right'
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? ? ? return Promise.reject('error')
? ? ? ? }
? ? },
? ? error => {
? ? ? ? loadingInstance.close()
? ? ? ? let errorData, status, config;
? ? ? ? if (error && error.response) {
? ? ? ? ? ? errorData = error.response.data;
? ? ? ? ? ? status = error.response.status;
? ? ? ? ? ? config = error.response.config;
? ? ? ? }
? ? ? ? if (config && !config.noErrorShow) {
? ? ? ? ? ? let msg = String(error);
? ? ? ? ? ? error = String(error);
? ? ? ? ? ? if (error == "Network Error") {
? ? ? ? ? ? ? ? msg = "后端接口连接异常";
? ? ? ? ? ? } else if (error.includes("timeout")) {
? ? ? ? ? ? ? ? msg = "系统接口请求超时";
? ? ? ? ? ? } else if (errorData != '' && errorData != null) {
? ? ? ? ? ? ? ? msg = errorData.error_description || errorData.result || errorData.errorDesc || '后端接口连接异常'
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? let code = error.substr(error.length - 3);
? ? ? ? ? ? ? ? if (code == 401) {
? ? ? ? ? ? ? ? ? ? store.dispatch('LogOut');
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? msg = errorCode[code] || "系统接口" + code + "异常";
? ? ? ? ? ? }
? ? ? ? ? ? if (msg != "" && msg != null) {
? ? ? ? ? ? ? ? ElNotification({
? ? ? ? ? ? ? ? ? ? title: '',
? ? ? ? ? ? ? ? ? ? message: msg,
? ? ? ? ? ? ? ? ? ? type: 'warning',
? ? ? ? ? ? ? ? ? ? position: 'bottom-right'
? ? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return Promise.reject(error)
? ? }
)
export default service