快速上手

介绍

通过本章节你可以了解到 ZebraAxios 的安装方法和基本使用方式。

安装

通过 npm 安装

axios版本最高支持1.6.8,高于此版本在支付宝小程序中会出现异常。zebra-axios-adapter已经通过peerDependencies做了限制。

如果你已经在之前安装了axios,请先卸载后重新安装。

在现有项目中使用 ZebraAxios 时,可以通过 npm 进行安装(同时安装axios):

npm i @zebra-ui/axios-adapter axios

也可以通过 pnpm 进行安装:

# 通过 pnpm 安装
pnpm add @zebra-ui/axios-adapter axios

之后引入适配器

import { uniappAdapter, createRequest } from '@zebra-ui/axios-adapter'

使用适配器

// 创建 axios 实例
const axiosInstance = axios.create({
  baseURL: 'https://jsonplaceholder.typicode.com',
  timeout: 10000,
  adapter: uniappAdapter
})

通过 uni_modules 安装

zebra-axios已经在uniapp的插件市场发布。

如果使用的IDEHbuilderX,则可以通过uniapp的插件市场进行sdk导入。

import { uniappAdapter, createRequest } from '@/uni_modules/zebra-axios-adapter'

快速编写一个拦截器

// 创建 axios 实例
const axiosInstance = axios.create({
  baseURL: 'https://jsonplaceholder.typicode.com',
  timeout: 10000,
  adapter: uniappAdapter
})

// 请求拦截器
axiosInstance.interceptors.request.use(
  (config) => {
    // 在这里可以添加token等通用请求头
    // config.headers = {
    //   token: "1234567890",
    // };
    console.log('请求配置:', config)
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)

// 响应拦截器
axiosInstance.interceptors.response.use(
  (response) => {
    // 可以统一处理响应数据
    console.log('响应数据:', response)
    return response.data
  },
  (error) => {
    console.log('error', error)
    // 统一错误处理
    uni.showToast({
      title: error.message || '请求失败',
      icon: 'none'
    })
    return Promise.reject(error)
  }
)

// 创建请求工具
export const request = createRequest(axiosInstance)
export default axiosInstance