封装post,get,文件上传post,每次请求携带token
import axios from 'axios'
import qs from 'qs'
import store from '../store/index';
axios.defaults.baseURL = '/apis'
axios.timeout = 1000 * 12
// instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
axios.interceptors.request.use(
config => {
const token = store.state.token;
token && (config.headers.token = token);
return config;
}
)
function post (url, params) {
return new Promise((resolve, reject) => {
axios.post(url, qs.stringify(params), { headers: { ContentType: 'application/x-www-form-urlencoded;charset=utf-8' } })
.then(response => {
resolve(response.data)
})
.catch((error) => {
console.log(error)
console.log('error')
reject(error.data)
})
})
}
function put (url, params) {
return new Promise((resolve, reject) => {
axios.put(url, qs.stringify(params), { headers: { ContentType: 'application/x-www-form-urlencoded;charset=utf-8' } })
.then(response => {
resolve(response.data)
})
.catch((error) => {
console.log(error)
console.log('error')
reject(error.data)
})
})
}
function Get (url, param) {
return new Promise((resolve, reject) => {
axios.get(url, { params: param })
.then(response => {
resolve(response.data)
})
.catch((error) => {
console.log(error)
reject(error.data)
})
})
}
function uploadFile (url, param) {
console.log(param)
return new Promise((resolve, reject) => {
axios.post(url, param, { headers: { 'Content-Type': 'multipart/form-data' } })
.then(response => {
resolve(response.data)
})
.catch((error) => {
console.log(error)
reject(error.data)
})
})
}
export default { post, Get, put, uploadFile }