当前位置: 首页>后端>正文

D--replacement-src-utils-request.js

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


https://www.xamrdz.com/backend/3q31924739.html

相关文章: