axios请求
npm install @syzlm/axios基于公司统一规范响应code码,对axios二次封装,业务线在使用时不需要再对axios进行请求拦截以及响应拦截。安装@nuo-common/axios即可使用。
1. 安装
1. `` npm install @nuo-common/axios --registry http://192.168.210.169:7001/ ``
2. yarn add @nuo-common/axios --registry http://192.168.210.169:7001/`
2. 引用
` javascript `
import Ajax from @nuo-common/axios;
import {message} from 'antd';
// 全局配置
Ajax.setOptions({
// 全局路径
baseURL:'/',
// 诺税通CSRF
CSRF:'NEED_CSRF',
//
timeout:process.env.NODE_ENV === 'development'?1000:60000,
// 开启mock ,搭配YAPI使用
useMock:false,
// YAPI 项目id
mockId: "",
// toast 提示函数
message:message.error,
// 错误码
ErrorCode: {
Login: 402,
Authorized: 403,
Method: 10002,
},
// 返回数据过滤(请求code=200,默认返回接口服务端返回值,可自定义)
resolveFilter: undefined,
})
Ajax.post('requestUrl',{a:1}).then(res=>{
console.log('res',res)
})
Ajax.postForm('requestUrl',{a:1}).then(res=>{
console.log('res',res)
})
Ajax.get('requestUrl',{params:{a:1},baseURL:''}).then(res=>{
console.log('res',res)
})
ps:get请求默认两个参数,第一个参数为地址,第二个参数为 options,请求参数使用params传递` {params:{param1:'',param2:''}}`,axios需要其它参数使用方法` {params:{param1:'',param2:''},baseURL:'',timeout:20000} `API
setOptions 配置字段描述
| name | 类型 | 是否必填 | 描述 | 默认值 |
| ---------------------- | ---------------- | -------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| message | Function | 是 | 请求错误提醒函数 | (msg)=>undefined |
| baseURL | String | 否 | 全局url,同axios baseURL | '/' |
| timeout | Number | 否 | 接口超时时间 | 1000 |
| CSRF | NEED_CSRF|Function | 否 | csrf只能为函数,或者"NEED_CSRF" | (config)=>undefined |
| useMock | Boolean | 否 | 开启mock需搭配YAPI使用,并且需要配置mockId | false |
| mockId | String | 否 | YAPI mock请求id | '' |
| ErrorCode | Object | 否 | 请求错误码 | ` {Login: 402,// 未登录 Authorized: 403,// 权限不足 Method: 10002,// 请求方法不对} `` |
| resolveFilter | Function | 否 | 请求服务端返回code===200时,自定义返回数据,参数为服务端返回结果 | undefined |
| openEncode | Boolean | 否 | get请求参数开启encodeURIComponent,默认不开启 | false |
| debug | Boolean | 否 | 开启打印调试 | false |
| interceptorsRequestUse | Function | 否 | 请求统一拦 | null |
| version | string | 否 | 版本号截 | undefined |
| sleepCode | string /number | 否 | 需要假死的错误code | undefined |
调用API同axios(参考)
注意当前npm 包只对外暴露 post、get、postForm、postFile(未测试)、requestStream 方法