引入
npm install axios
axios的封装
import axios from 'axios';
import router from '@/router'
import store from "../store/index"
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
const service = axios.create({
baseURL: store.state.baseUrl,
timeout: 5000,
});
service.interceptors.request.use(
config => {
return config;
},
error => {
return Promise.reject(error);
})
service.interceptors.response.use(
response => {
if(response.config.responseType=="arraybuffer"){
return response
}
if (response.data.code == 501) {
router.push("/login")
} else if (response.data.code != 200) {
store.state.code =200
setTimeout(()=>{
store.state.msg = response.data.msg
store.state.code = response.data.code
},500)
return response.data;
} else {
return response.data;
}
},
error => {
store.state.code = ""
setTimeout(()=>{
store.state.msg = "网络错误,请重试"
},500)
return Promise.reject(error);
}
)
export function get(url) {
return service.get(url,);
}
export function post(url, data) {
return service.post(url, data);
}
export function post1(url, data) {
return service.post(url, data, {responseType: "arraybuffer"});
}
使用
import { get, post ,post1} from '@/utils/request';
export function xxx(params) {
return post("xxxx", params)
}