前端hook项目pc总结笔记-ts封装axios方法

import axios, { AxiosRequestConfig, AxiosError } from "axios"
import { getToken, removeToken } from '../utils/auth';
import { message } from "antd";
const axiosBaseQuery =
(
{ baseUrl }: { baseUrl: string } = { baseUrl: '' },
): BaseQueryFn<
{
url: string,
method: AxiosRequestConfig['method'],
data?: AxiosRequestConfig['data'],
params?: AxiosRequestConfig['params'],
responseType?: AxiosRequestConfig['params'],
},
unknown,
unknown
> => async ({ url, method, data, params, responseType }) => {
try {
let headers = { Prefer: 'return=representation',
Authorization: getToken() || "" }; //配置header,包括JWT的token
const result = await axios({ url: baseUrl + url,
method, data, params, headers, responseType });
return { data: result.data } //在这里控制是否返回response的全部数据
} catch (axiosError) {
let err = axiosError as AxiosError
return {
error: {
status: err.response?.status,
data: err.response?.data || err.message,
},
}
}
}

ts写法对axios的封装

posted @   前端导师歌谣  阅读(53)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示