request.js
// 引入axios库
import axios from 'axios';
// 创建一个axios实例
const instance = axios.create({
baseURL: 'https://example.com/api', // 设置请求的基础路径
timeout: 5000, // 设置请求超时时间
});
// 添加请求拦截器
instance.interceptors.request.use(
(config) => {
// 在请求发送之前做一些处理,比如添加token、修改请求头等
return config; // 返回处理后的config
},
(error) => {
// 请求错误时的回调函数,返回一个被拒绝的Promise对象
return Promise.reject(error);
}
);
// 添加响应拦截器
instance.interceptors.response.use(
(response) => {
// 在响应返回之前做一些处理,比如解析数据等
return response.data; // 返回处理后的响应数据
},
(error) => {
// 响应错误时的回调函数,返回一个被拒绝的Promise对象
return Promise.reject(error);
}
);
// 导出axios实例
export default instance;
api.js
// 引入axios实例
import {instance} from './request'
// 获取用户信息,参数为用户ID
export const getUserInfo = (userId) => {
return instance.get(`/users/${userId}`)
.then(response => response.data) // 返回响应数据
.catch(error => console.log(error)) // 处理错误信息
}
// 更新用户邮箱,参数为用户ID和新邮箱
export const updateUserEmail = (userId, email) => {
return instance.patch(`/users/${userId}`, {email})
.then(response => response.data)
.catch(error => console.log(error))
}
// 获取用户列表,参数为请求数据
export function getTeamsInfo(data){
return instance({
url:'/user', // 请求地址
method:'get', // 请求方法
data // 请求数据
})
}
// 继续添加其他需要的请求方法