1.首先,安装axios和@types/axios(用于提供类型定义):
npm install axios @types/axios
2.创建一个名为api.ts的文件,并导入axios和相关类型:
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'; // 定义接口请求的返回类型 interface ApiResponse<T> { code: number; message: string; data: T; } // 定义你的API接口 interface YourApi { getUser(id: number): Promise<ApiResponse<User>>; // 其他接口... } // 创建axios实例 const instance = axios.create({ baseURL: 'https://api.example.com', // 设置基础URL timeout: 5000, // 设置请求超时时间 }); // 封装你的API接口 const api: YourApi = { getUser(id: number) { const url = `/users/${id}`; return instance.get<User>(url).then(handleResponse); // 其他接口的实现... }; // 处理响数据 function handleResponse<T>(response: AxiosResponse<ApiResponse<T>>): T { const { code, message, data } = response.data; if (code === 200) { return data; } else { throw new Error(message); } } export default api;
3.在其他文件中使用封装好的api.ts:
import api from './api'; api.getUser(1) .then(user => { console.log(user); }) .catch(error => { console.error(error); });