swx-request
v0.1.3
Published
miniprogram npm
Downloads
4
Readme
swx微信网络请求库
axios风格
示例
默认配置
{
/**
* 默认url前缀或别名
* 例如:
* {
* baseUrl: 'https://www.xxx.com/api'
* }
* 或者
* {
* baseUrl: 'auth'
* }
*/
baseUrl: '',
/**
* 多个url可以配置别名
* 例如:{
* demo: 'https://www.demo.com/api',
* auth: 'https://auth.demo.com/api',
* sub1: 'https://www.sub1.com/api'
* }
*/
baseUrlMap: {}
}
初始化
import request from 'swx-request'
// 初始化默认配置
request.defaultConf.baseUrl = 'https://www.aa.com/api'
// 初始化拦截器
request.interceptors.request.use(conf => {
conf.data = conf.data || {}
const { data } = conf
// 公共参数
// data.common = '333'
// 过滤空参数
// eslint-disable-next-line no-restricted-syntax
for (const k in data) {
if (data[k] === undefined || data[k] === null) {
delete data[k]
}
}
return conf
})
request.interceptors.response.use(rs => {
if (rs && rs.statusCode !== 200) {
return {
success: false,
code: rs.statusCode
}
}
const { data: resp, reqConf } = rs
// reqConf 请求配置对象,用于追踪请求
// 格式化后台接口转成前端标准格式
// todo
return resp
})
请求
import request from 'swx-request'
// get post put (url, data, conf)
request.get('demo', { param1: 1 }).then(data=>{})
request.post('demo', { param1: 1 }).then(data=>{})
// delete head options (url, conf)