/* * @Date: 2022-11-09 12:37:25 * @LastEditors: Sneed * @LastEditTime: 2024-01-16 23:18:23 * @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 (store.getters.token) { config.headers['mdc-token'] = getToken().value // 让每个请求携带自定义token 请根据实际情况自行修改 } if (config.mytype == 'json') { config.headers = { 'Content-Type':'application/json; charset=UTF-8' } } 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: 3 * 1000 }) return Promise.reject('error') } } }, error => { // console.log('err' + error)// for debug Message({ message: '服务连接异常,请稍后重试或联系管理员', type: 'error', duration: 5 * 1000 }) 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 }) } }