小程序 request 增强库,api 参考 axios,提供完整的 ts 支持
微信小程序
|
支付宝小程序
|
钉钉小程序
|
百度小程序
|
QQ 小程序
|
字节跳动 小程序
|
npm i @aocoding/mini-axios
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 } |
// 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
})
// 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
})
请在Issues
中发帖
MIT