封装方法,搭建项目

This commit is contained in:
2025-04-01 16:04:54 +08:00
parent e181408248
commit 6f8ddc1daa
15 changed files with 210 additions and 2990 deletions

85
src/utils/axios.js Normal file
View File

@@ -0,0 +1,85 @@
/**
* 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