首先是封装axios请求
import axios from 'axios'
import { Notification, Message } from 'element-ui'
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL: '/api',
// 超时
timeout: 100000
})
// request拦截器
service.interceptors.request.use(config => {
return config
}, error => {
Promise.reject(error)
})
// 响应拦截器
service.interceptors.response.use(res => {
// 未设置状态码则默认成功状态
const code = res.data.code || res.code || 200;
// 获取错误信息
if (code === 500) {
Message({
message: '内部异常',
type: 'error'
})
return Promise.reject(new Error('内部异常'))
} else if (code >= 1000000) {
return res.data
} else if (code == 200) {
return res.data
} else {
// Notification.error({
// title: msg
// })
return Promise.reject('error sign')
}
},
error => {
console.log('err' + error)
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
}
else if (message.includes("timeout")) {
message = "系统接口请求超时";
}
else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
Message({
message: message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
export default service
配置文件中加入自定义 请求配置项
封装接口时引入
/* 引入请求文件 */
import request from '@/utils/request'
import axios from 'axios'
/* 自定义请求接口 */
export function sendMessage(params) {
return axios({
url: '/api/我去饿/我去饿我去w/aeqout/我去恶趣味',//配置项加上接口路径
method: 'get',
params
})
}