mini-program-axios
v1.0.1
Published
小程序网络请求类库
Downloads
5
Maintainers
Readme
mini-program-axios
小程序原生网络请求api没有类似axios请求类库的一些功能,如:请求,响应拦截器功能,以及没有请求,响应数据转换功能;mini-program-axios是一个类似axios的请求模块,默认支持微信,支付宝小程序,如果你还需要支持其他小程序,你需要更新请求适配器adapter
axios 与 mini-program-axios
| 功能点 | axios | mini-program-axios | --- | --- | --- | 适配器 | 默认支持浏览器与node端 | 默认支持微信,支付宝小程序端 请求/响应拦截器 | 支持 | 支持 transformRequest | 支持 | 支持 处理headers['content-type'] | 根据请求数据data | 小程序原生处理 transformResponse | 支持(可模拟响应数据结构,测试非常有用) | 支持(可模拟响应数据结构,测试非常有用) get,post,put...快捷方法 | 支持 | 不支持,与小程序原生api用法保持一致
备注:小程序请求api设置请求超时无效
安装
npm i mini-program-axios -S
yarn add mini-program-axios
使用
import axios from 'mini-program-axios'
/**
* 小程序请求默认配置
* api文档:https://opendocs.alipay.com/mini/api/owycmh
*/
const request = axios.create({
timeout: 30000, // ms
dataType: 'json',
method: 'GET',
headers: {
'content-type': 'application/json'
},
});
// 设置请求拦截器,响应拦截器
request.interceptors.request.use(
setRequestConfig,
error => Promise.reject(error)
);
request.interceptors.response.use(
handlerResponse,
error => Promise.reject(error)
);
request.interceptors.response.use(
data => data,
error => Promise.reject(error)
);
// 同微信/支付宝小程序请求参数
request({
url: '/api/xxx',
method: 'POST',
data: {},
headers: {},
dataType: 'json',
})
.then(res => {
// TODO res
})
.catch(err => {
// TODO err
})