Axios请求封装

#创作灵感

在项目开发中,进行简单的封装

当然不是本人手懒,

随便看看就好~

判断环境

const isMode = import.meta.env.MODE === "development"
export const baseURL = isMode ? "http://localhost:3030" : "http://localhost:3030"

封装请求

const request = ({
  url,
  path = "",
  params = {},
  data,
  method = "POST",
  ...rest
}: RequestOptions) => {
  return new Promise((resole, reject) => {
    return axios({
      method,
      url: baseURL + path || url,
      data: {
        ...data,
        ...params
      },
      ...rest
    })
      .then((res) => {
        resole(res && res.data)
      })
      .catch((error) => {
        reject(error)
      })
  })
}
export default request

声明类型

根据自己的需求进行动态调整,当然,最好不要用any,自己随便写写没什么

export interface RequestOptions {
  url: string
  path?: string
  params?: Record<string, any>
  data?: any
  method?: "GET" | "POST" | "PUT" | "DELETE"
}

使用方式

export const obj = { url: baseURL, params: {} }
export const getList = () =>
  request({
    ...obj,
    path: "/list",
    method: "GET"
  })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值