2.1.4 • Published 3 years ago
cnfapi v2.1.4
cnfapi
author: bugszhou | Email:bugszhou@outlook.com description: A lib project with ziu
cnfapi是基于axios的小程序http库
Features
- 支持 promise API
- 拦截请求和响应
- 自动转换 JSON 数据
安装
npm install -S cnfapi-miniprogram
Example
import Api from 'cnfapi-miniprogram';
const api = new Api({
baseURL: 'https://prj1.demo.com',
env: 'browser', // 使用环境:browser - 浏览器
timeout: 10000, // 10s超时
headers: {
'Content-Type': 'application/json',
},
resSuccessCallback(data, next) {
// next接受3个参数
// 第一个参数是代表error
// 第二个参数是代表传递给 resolve 的数据
// 第三个参数是自定义数据
if (data.code === 200) {
next(null, data.data, data.code);
} else {
next({
msg: data.msg,
retcode: data.code,
}, {}, data.code);
}
},
}, {
getList: {
interval: 2000, // 每隔2秒重试一次
retryTimes: 10, // 重试10次
apiName: '/test/prj/getList', // 接口pathurl
desc: '', // 接口描述
method: 'POST',
params: {
// post参数
post: [{
param: 'param1', // 参数名
isNeed: 1, // 是否必须 1 为必须、0为非必须
}],
// get参数
get: [{
param: 'param2', // 参数名
isNeed: 0, // 是否必须 1 为必须、0为非必须
}],
},
},
// restful模式
getOrders: {
interval: 2000, // 每隔2秒重试一次
retryTimes: 10, // 重试10次
apiName: '/test/prj/getOrders/{orderid}', // 接口pathurl
desc: '', // 接口描述
method: 'POST',
params: {},
},
});
// http请求调用方式
// 1. 常规方式
api.getList({
data: {
param1: 'param1',
param2: 'param2',
}
})
.then(({ data }) => {
// 服务端数据
console.log(data);
})
.catch(err => {
console.log(err);
});
// 2. restful方式
api.getOrders({
restful: {
orderid: 'param1',
}
})
.then(({ data }) => {
// 服务端数据
console.log(data);
})
.catch(err => {
console.log(err);
});
request拦截器
api._before = function _before(apiOpts, apiConf, next) {
// apiOpts为调用时传入的参数,如:
/*
{
data: {
param1: 123
}
}
*/
// apiConf 该接口调用的配置参数
// 可在_before内对参数做处理
next(apiOpts);
};
2.1.4
3 years ago
2.1.2
4 years ago
2.1.1
4 years ago
2.1.3
4 years ago
2.1.0
4 years ago
2.0.2
5 years ago
2.0.1
5 years ago
2.0.0
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.11
5 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago