@aocoding/mini-axios
TypeScript icon, indicating that this package has built-in type declarations

0.1.4 • Public • Published

miniAxios

小程序 request 增强库,api 参考 axios,提供完整的 ts 支持

支持平台

微信小程序
微信小程序
支付宝小程序
支付宝小程序
钉钉小程序
钉钉小程序
百度小程序
百度小程序
QQ 小程序
QQ 小程序
字节跳动
字节跳动 小程序

引入:

  1. npm i @aocoding/mini-axios
  2. import miniAxios from '@aocoding/mini-axios';

使用:

// http.js
import miniAxios from './libs/wxAxios.min.js'
miniAxios.get(url).then(res => {
    console.log(res )
})
// 或者
miniAxios.defaults.baseURL = 'https://xxx.com/'   // 配置默认地址
miniAxios.get(url).then(res => {
    console.log(res)
})

请求配置:

部分参数请参考小程序本身配置,如默认配置不能满足要求,可以直接传入配置。(对修改开放)

参数 说明 类型 默认值
method 请求方法 string GET
baseURL 默认请求基础地址 ''
timeout 超时时间 number 3000
headers 请求发送时候的请求头 object {'Content-Type': 'application/json'}
dataType 返回时的数据类型 string JSON
transformRequest 请求数据转换 array [ function(data: any, headers: any): any { return data } ]
transformResponse 返回数据转换 array [ function(data: any): any { return data } ]
validateStatus 返回数据状态验证 function validateStatus(status: number): boolean { return status >= 200 && status < 300 }

拦截器

request

// 1.第一个 request 的拦截器
miniAxios.interceptors.request.use(config => {
    config.data.companyId = 1
    // ...do something
    return config
})
// 2.第二个 request 的拦截器,
miniAxios.interceptors.request.use(config => {
    config.data.token = wx.getStorageSync('token')
    // ...do something
    return config
})

response

// 1.第一个 response 的拦截器
axios.interceptors.response.use(response => {
   if (response.statusCode === 200) {
      // ...do something
   }
   console.log(response.header);
    return response
})
// 2.第二个 response 的拦截器,
axios.interceptors.response.use(function (response) {
    if (response.status === 400) {
      // ...do something
   }
    return response
})

Bug,反馈

请在Issues中发帖

License


MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @aocoding/mini-axios

Weekly Downloads

8

Version

0.1.4

License

MIT

Unpacked Size

80.9 kB

Total Files

43

Last publish

Collaborators

  • aocoding