/*
|
* @Date: 2022-11-09 12:37:25
|
* @LastEditors: Sneed
|
* @LastEditTime: 2024-02-02 22:01:56
|
* @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/utils/ajax.js
|
*/
|
import axios from 'axios'
|
import { Message } from 'element-ui'
|
import store from '../store'
|
import { getToken, setToken } from '@/utils/auth'
|
import qs from 'qs'
|
const URL_CFG = {
|
BASE_URL: '/mdc',
|
WEB_SOCKET_URL: ''
|
}
|
|
// 创建axios实例
|
const service = axios.create({
|
// baseURL: process.env.BASE_API, // api的base_url
|
timeout: 30000 // 请求超时时间
|
})
|
|
// request拦截器
|
service.interceptors.request.use(config => {
|
config.url = `${URL_CFG.BASE_URL}${config.url}`
|
if (getToken().value) {
|
config.headers['mdc-token'] = getToken().value // 让每个请求携带自定义token 请根据实际情况自行修改
|
}
|
if (config.mytype == 'json') {
|
config.headers = {
|
'Content-Type':'application/json; charset=UTF-8',
|
['mdc-token']: getToken().value
|
}
|
}
|
config.transformRequest = [function(data) {
|
// debugger
|
if (config.mytype == 'json') {
|
return JSON.stringify(data)
|
}
|
return qs.stringify(data)
|
}]
|
return config
|
}, error => {
|
// Do something with request error
|
// console.log(error) // for debug
|
Promise.reject(error)
|
})
|
// respone拦截器
|
service.interceptors.response.use(
|
response => {
|
// 更新token有效时间与服务端同步
|
setToken(getToken().value)
|
/**
|
* status为非200时抛错 可结合自己业务进行修改
|
*/
|
const status = response.status
|
if (status !== 200) {
|
// Message({
|
// message: '服务连接异常,请稍后重试或联系管理员',
|
// type: 'error',
|
// duration: 5 * 1000
|
// })
|
return Promise.reject('error')
|
} else {
|
// const data = response.data || {}
|
// if (data.errCode === '402' || data.errCode === '401') {
|
// store.dispatch('LogOut').then(() => {
|
// Message({
|
// message: '由于您长时间没有操作,需重新登录!',
|
// type: 'error',
|
// duration: 2 * 1000
|
// })
|
// })
|
// setTimeout(() => {
|
// location.reload() // 为了重新实例化vue-router对象 避免bug
|
// }, 2000)
|
// } else {
|
// return response.data
|
// }
|
if (response.data.result === 'SUCCESS') {
|
return response.data
|
} else {
|
Message({
|
message: response.data.msg,
|
type: 'error',
|
duration: 600
|
})
|
return Promise.reject('error')
|
}
|
}
|
},
|
error => {
|
// console.log('err' + error)// for debug
|
Message({
|
message: '服务连接异常,请稍后重试或联系管理员',
|
type: 'error',
|
duration: 600
|
})
|
return Promise.reject(error)
|
}
|
)
|
export default {
|
URL_CFG,
|
// post请求
|
post: function(url, params) {
|
console.log(url,'url')
|
return service({
|
url: url,
|
method: 'post',
|
data: params
|
})
|
},
|
postJson: function(url, params) {
|
console.log(url,'url')
|
return service({
|
mytype: 'json',
|
url: url,
|
method: 'post',
|
data: params
|
})
|
},
|
// get请求
|
get: function(url, params) {
|
return service({
|
url: url,
|
method: 'get',
|
params: params
|
})
|
}
|
}
|