请求上传
duxapp对请求上方法传进行了封装,增加了更丰富的功能,封装实现了下面的特性
- 请求拦截器(中间件)
- 错误提醒
- 加载中
- 防止过快请求
- 请求hook封装
- hook缓存
创建
// 定义一个请求配置,这个配置可以通用于请求和上传
const config = {
config: {
request: {
origin: config.origin, // 从用户配置读取请求域名
path: config.path, // 从用户配置读取请求二级路径
contentType: 'application/json'
},
result: {
code: 'statusCode',
data: ['data', 'data'],
succesCode: 200,
message: res => {
if (res.statusCode === 200) {
return res.data.message
}
return res.data
}
},
upload: {
api: 'member/upload', // 上传文件接口
requestField: 'file',
resultField: ['data', 'data', 0, 'url']
}
},
// 默认使用的中间件(请求拦截)
middle: {
}
}
const { request, throttleRequest, middle: requestMiddle } = createRequest(config)
const { upload, uploadTempFile, middle: uploadMiddle } = createRequest(config)
export {
request,
throttleRequest,
requestMiddle,
upload,
uploadTempFile,
uploadMiddle
}