更新记录
0.0.6(2022-03-08)
下载此版本
发布0.0.6,可用npm安装:npm i uni-http-interface
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
app-vue app-nvue |
√ |
√ |
√ |
√ |
√ |
√ |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
uni-http-interface
使用方法
第一步:配置封装拦截器和基础路径:http.js
import http from 'uni-http-interface';
// 公共配置项,三种api通用
http.config = {
baseUrl: 'http://baidu.com', // 基础路径
timeout: 6000, // 超时时间
}
// 对应接口配置项
http.requestConfig {
// uni.request(OBJECT)的 OBJECT 参数: https://uniapp.dcloud.io/api/request/request.html#request
...
}
http.uploadFileConfig {
// uni.uploadFile(OBJECT)的 OBJECT 参数: https://uniapp.dcloud.io/api/request/network-file.html#uploadfile
...
}
http.downloadFileConfig {
// uni.downloadFile(OBJECT)的 OBJECT 参数: https://uniapp.dcloud.io/api/request/network-file.html#downloadfile
...
}
http.interceptor.invoke = config => {
// 请求拦截前触发
return config
}
http.interceptor.success = res => {
// 请求成功回调拦截
// 成功回调
return Promise.resolve(response.data)
// 走失败回调
return Promise.reject(response)
}
http.interceptor.fail = err => {
// 请求失败回调拦截
// 走失败回调
return Promise.reject(response)
}
http.interceptor.complete = res => {
// 请求完成回调拦截
// 成功回调
return Promise.resolve(response.data)
// 走失败回调
return Promise.reject(response)
}
// 已封装:get,post,put,delete,upload,download请求,如需其他请求自行在下方封装
export default http
第二步:使用http.js
import http from '@/utils/http'
// 接口请求拦截
let interceptor = {
invoke: config => {
// 请求拦截前触发,同:http.interceptor.invoke,该配置存在会最终取该配置的参数
return config
},
success: response => {
// 请求拦截前触发,同:http.interceptor.success,该配置存在会优先执行
// 请求成功回调拦截
// 成功回调
return Promise.resolve(response.data)
// 走失败回调
return Promise.reject(response)
},
fail: error => {
// 请求拦截前触发,同:http.interceptor.fail,该配置存在会优先执行
// 走失败回调
return Promise.reject(error)
},
complete: response => {
// 请求拦截前触发,同:http.interceptor.complete,该配置存在会优先执行
// 请求成功回调拦截
// 成功回调
return Promise.resolve(response.data)
// 走失败回调
return Promise.reject(response)
}
}
// 请求的参数
let data = {
...,
}
// OBJECT参数
let option = {
...,
}
// 发出get请求
http.get('/user/userInfo', data, option, interceptor)
// 发出post请求
http.post('/user/login', data option, interceptor)
// 发出put请求
http.put('/user/userInfo', data option, interceptor)
// 发出delete请求
http.delete('/user/userInfo', data option, interceptor)
// 上传文件请求
http.upload('/upload/file', {
file, // 上传文件字段,三选一即可:https://uniapp.dcloud.io/api/request/network-file.html#uploadfile
...option // option参数
}, interceptor)
// 下载文件
http.download('/download/file', option, interceptor)