Introduction
目标
- 必须能同时在C/S 端使用
- 能明确的错误分层
- 能区分获取值是否存在 空
null
- 能区分是否是错误
- 能区分获取值是否存在 空
- 方便使用
设计
- 在
axios
基础上进行封装 满足多端使用 -
Option
Result
分别表示值是否存在
以及结果是否错误
- 以方便为主,所以封装写死很多配置降低灵活度。但是要提供尽量多的option参数
Http.get(url)
Http.get(url,options)
let option = new Options(
header, // 头部信息
body // 需要传输的数据
)
缓存使用
Http.get(url, options)
Http.post(url, data, options)
需要缓存的话,下面三个参数传在options中
option?: AxiosRequestConfig & IStoreKey<T>
- 开启缓存
isCache
字段,bool类型 -
isProtoOK: (data: T) => boolean
针对特殊协议回调。不传使用默认协议 code msg data,code===0 时进行sessionStorage缓存 -
storageKey
sessionStorage的key,可选参数,不传默认key为url.
interface IStoreKey<T> {
isCache?: boolean; // 是否缓存
isProtoOK?: (res: T) => boolean; // 回调参数返回请求成功对象,传回bool类型,判断使用默认协议,可选参数
storageKey?: string; // sessionStorage的key,可选参数,不传默认key为url
}