0.2.3 • Published 2 years ago
xbot-fe-request2 v0.2.3
前端网络请求库使用说明
背景
为了统一不同业务项目网络请求 本库基于 umi-requeset,结合业务项目统一业务场景封装一些通用方法 目前支持 node 与 web 环境
安装
npm i xbot-fe-request2
支持请求 API
原始 reqest: request.request(url,params,method,options)
get 请求: request.get(url,params,options)
post 请求: request.post(url,params,options)
delete 请求: request.delete(url,params,options)
put 请求: request.put(url,params,options)
patch 请求: request.patch(url,params,options)
上传文件: request.uploadFile(url,params,options)
上传到 oss: request.uploadOSS(url,params,options)
上传到 cos: request.uploadCOS(url,params,options)
轮询请求: request.cycleRequest(url,params,cycleType,method,options)
请求配置
请求参数说明
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
url | 请求地址 | string | -- | -- |
params | 请求参数 | object(key-value 形式) | -- | -- |
method | 请求方式 | string | get , post , put ... | get |
cycleType | 轮询类型,目前仅仅支持次数,咱不支持定时 | {num:number} | -- | {num:10} |
options | 请求可选参数 ,详情见下方 | options | -- | -- |
请求 options
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
canUnpack | 是否支持自动解包 | boolean | boolean、undefined | undefined |
autoServiceValidate | 是否支持自动拦截业务错误 | boolean | boolean、undefined | true |
useDefaultValidate | 是否使用自动验证 | boolean | boolean、undefined | true |
customShowErrorMessage | 自定义报错 | function | -- | -- |
okCodes | 正确业务码或 http 状态码 | number[] 、 string[] | -- | |
serviceErrorCodes | 业务码 | object | -- | -- |
resInterceptors | 响应拦截器 | function[] | -- | -- |
reqInterceptors | 请求拦截器 | function[] | -- | -- |
customLoading | 自定义 loading | boolean | -- | -- |
noAuthUrl | 非登陆态需要登陆地址 | string | -- | -- |
customMessage | 自定义消息实例 | MyMessage | -- | -- |
使用实例
正常使用(web或node)
import request from 'xbot-fe-request2'
request.get('xxxx', {})
.then((res) => {
console.log('~~~~~~ helo');
console.log(res);
});
完全定制message消息使用
class Tmp {
isDomReady(){
if (document.readyState === 'interactive' || document.readyState === 'complete') {
return true
}
return false
}
success(p) {
if(this.isDomReady()) message.success("success")
console.log('success', p);
}
warning(p) {
console.log('warning', p);
}
info(p) {
console.log('info', p);
}
loading(p) {
console.log("this.isDomReady()",this.isDomReady())
if(this.isDomReady()) {
console.log(document.getElementsByTagName('head')[0])
}
console.log('loading 1111', p);
}
close(p){
console.log('close', p);
}
}
import request from 'xbot-fe-request2'
request.setDefaultSetting({
customMessage:new Tmp()
});
request.get('xxxx', {})
.then((res) => {
console.log('~~~~~~ helo');
console.log(res);
});
半定制message
import request from 'xbot-fe-request2'
request.setDefaultSetting({
customLoading:true,
customShowErrorMessage:true
});
request.get('xxxx', {})
.then((res) => {
console.log('~~~~~~ helo');
console.log(res);
});