在vue中的src文件下创建一个新文件,将公共的数据放在这个文件里
import axios from 'axios'
import qs from "qs"
// axios公共配置
// axios.defaults.baseURL = 'http://192.168.109.6:8000',
axios.defaults.baseURL = 'http://114.116.39.121:8000',
axios.defaults.timeout = 5000
// 拦截器
// 添加拦截请求`
axios.interceptors.request.use(
function (config) {
// 在发送请求之前做些什么
// 登录鉴权:http是无状态的,用户登录后再发送请求时,后端需要知道是谁发的,此时需要把用户的身份凭证传给后台,告诉后台是我发的
// 在每次发送请求的时候把用户登录时获取到的token取出来,放置在请求头中携带过去
const token = localStorage.getItem('token')
if (token) {
config.headers.Authorization = token
}
return config
},
function (error) {
// 对请求错误做些什么
return Promise.reject(error)
}
)
// 响应拦截器
axios.interceptors.response.use(response => {
// 全局异常处理
return response.data
}, err => {
// 全局异常处理
console.error(err)
})
function get(url, params) {
return new Promise((resolve, reject) => {
return axios.get(url, {
params
}).then(res => {
console.log('全局成功的提示')
resolve(res)
}).catch(err => {
reject(err)
console.error(err)
})
})
}
function post(url, data) {
return new Promise((resolve, reject) => {
return axios.post(url, qs.stringify(data)).then(res => {
resolve(res)
console.log('全局成功的提示')
}).catch(err => {
reject(err)
console.error(err)
})
})
}
export default {
get,
post,
}