@clgg/clgg-uni-request
v1.0.0
Published
uni-app 网络请求的封装 已适配openAPI的使用
Readme
clgg-uni-request
介绍
clgg-uni-request 是对 uni-app 框架中 uni.request 网络请求方法的封装。封装目的:@umijs/openapi 根据 umi 中 request 请求 API 生成代码,不能适配 uni.request。
安装
npm install @clgg/clgg-uni-request --save
# or
pnpm add @clgg/clgg-uni-request
# or
yern add @clgg/clgg-uni-request
使用说明
调用
通过 import request from "@clgg/clgg-uni-request" 可以使用请求方法。 request 接收的 options 为 uni-request 的 config, 但排除 success、fail、complete、url 属性,除此之外还添加了两个可选属性 cancelToken、skipErrorHander;
// requst(url,option)
request('/api/user', {
params: { name : 1 },
timeout: 2000,
// 是否跳过统一错误处理
skipErrorHandler: true,
}请求和响应拦截器
通过 import {addRequestInterceptor,addResponseInterceptor} from "@clgg/clgg-uni-request" 可以添加拦截器
import {
addRequestInterceptor,
addResponseInterceptor,
} from "@clgg/clgg-uni-request";错误统一处理
通过 import {errorHandler} from "@clgg/clgg-uni-request" 处理错误。
import { errorHandler } from "@clgg/clgg-uni-request";
errorHandler((error) => {
if (error.response) {
// 请求成功发出且服务器也响应了状态码,但状态代码超出了 2xx 的范围
} else if (error.name === "BizError") {
// 状态码200 但接口数据为{succee:false,code:……}
} else if (error.name === "ConnectionError") {
//后端服务挂了或者 网路离线的情况
}
});请求取消
通过 import {CancelTokenSource} from "@clgg/clgg-uni-request" 来取消请求
import {CancelTokenSource} from "@clgg/clgg-uni-request";
const source = new CancelTokenSource();
request('/api/user', {
params: { name : 1 },
cancelToken:source
}
//取消任务
source.cancel();