/** * axios请求封装 * https://rudon.blog.csdn.net/ */ import axios from 'axios' import { getToken, setToken, removeToken } from '@/utils/storage' // 请求地址前缀 let baseURL = '' if (process.env.NODE_ENV === 'production') { // 生产环境 baseURL = "" } else { // 开发环境 baseURL = "" } // 请求拦截器 axios.interceptors.request.use((config) => { if (getToken()) { config.headers['token'] = getToken(); } // 请求超时时间 - 毫秒 config.timeout = 10000 config.baseURL = baseURL // 自定义Content-type // config.headers['Content-type'] = 'application/json' return config; }, (error) => { return Promise.reject(error) }) // 响应拦截器 axios.interceptors.response.use((response) => { /** * 可添加请求响应的处理逻辑, 例如接口自定义的response.data.code不是200代表失败。 * 错误的话 return Promise.reject(response) * 正确的话 return response */ return response }, (error) => { // 可添加请求失败后的处理逻辑 return Promise.reject(error) }) // axios的get请求 // 导出一个函数,用于发送GET请求 // 返回一个Promise对象 export function getAxios({ url, params }) { // 使用axios发送GET请求 return new Promise((resolve, reject) => { axios.get(url, { params // 请求成功,将返回的数据传递给resolve函数 }).then(res => { resolve(res.data) // 请求失败,将错误信息传递给reject函数 }).catch(err => { console.log(err) reject(err) }) }) } // axios的post请求 export function postAxios({ url, data }) { return new Promise((resolve, reject) => { axios.post( url, data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } ).then(res => { resolve(res.data) }).catch(err => { reject(err) }) }) } export default axios