@bubblesjs/request
@bubblesjs/request 是一个基于 Alova 的请求封装。它把公共请求头、响应转换、业务码判断、消息提示、缓存适配器和单次请求覆盖配置集中到一处管理。
安装
快速开始
默认情况下,成功的包裹响应形如:
最终返回值是 responseDataKey 配置的字段,所以上面的响应会解析成 { id: 1 }。
双重调用实例
createDualCallInstance 会返回一个默认 Alova 实例,同时这个实例也可以作为函数调用,用临时配置创建新的请求实例。
配置项
匹配规则
statusMap.success 和 statusMap.unAuthorized 支持数字、数字数组或函数:
codeMap.success 和 codeMap.unAuthorized 支持数字或字符串数组:
单次请求 meta 覆盖
以下配置可以通过单个请求的 meta 覆盖:
isWrappedisTransformResponseisShowSuccessMessageisShowErrorMessage
响应结构
默认 fetch 适配器会返回 Response,内部会根据 content-type 解析。JSON 响应使用 json(),文本响应使用 text(),可解析的 JSON 字符串会自动转换。
同时也支持 Axios 风格和 Taro 风格的响应:
对于 Taro 上传接口这类把 data 返回为 JSON 字符串的场景,会先解析字符串,再应用 codeMap 和 responseDataKey。
自定义适配器
可以传入任意 Alova 请求适配器。如果适配器同时暴露缓存适配器,可以通过 l2Cache 或 storageAdapter 传入。