@saco/axios
v0.21.5
Published
```javascript npm install @saco/axios ```
Readme
依赖安装
npm install @saco/axios初始化
import sacoAxios from '@saco/axios'
const request = new sacoAxios({
/** 网络与拦截配置 */
successStatus: 200, // 数字类型 或 数字数组,若设置了则会判断http响应的status字段
successCodeKey: 'code', // 响应对象的标志字段,需要与successCode搭配使用
successCode: 200, // 数字类型 或 数字数组,若设置了则会判断http响应体的[successCodeKey]字段
interceptorsRequest: (config) => {}, // 请求拦截
interceptorsRequestError: (error) => {}, // 请求失败拦截
interceptorsResponse: (config) => {}, // 响应拦截
interceptorsResponseError: (error) => {}, // 响应失败拦截
/** axios配置项 */
// baseURL、timeout、dataType ......
})请求方法
GET/POST/PUT/DELETE
若需更改参数所放位置,可防在config配置项里(即也可不使用第二个参数,直接使用config配置项)
request.get(url, params, config)
request.post(url, data, config)
request.put(url, data, config)
request.delete(url, params, config)配置项说明
文件上传
const config = {
// 需要注意的是,当该项为true时,参数自动转为formData格式
upload: true,
// 上传进度监听:仅当upload为true时生效
uploadProgress: (e) => {}
}文件下载
const config = {
// 需要注意的是,当该项为true时responseType会自动设置为 blob,若想修改,请使用 interceptorsRequest 中间回调函数
download: true,
// 下载进度监听:仅当download为true时生效
downloadProgress: (e) => {},
// 设置文件名:仅当download为true时生效(参数为响应头的 content-disposition 字段)
setDownloadFileName: (cd) => { return '文件名' }
}取消请求
const config = {
// c 为取消函数
cancel: (c) => {
}
}