简易的支持自动域名替换、接口别名的请求模块
如果希望使用别名、自动域名替换、修改请求成功状态码、失败自动提示功能,需要在业务模块调用前使用模块 config 方法对模块进行设置。
config(config: ConfigOption): void;
config 对象支持配置参数:
successCode 请求成功时的状态码hosts 域名配置apis api 别名notifyMod 提示浮层import { config } from "@x-drive/request";
config({
// 将请求成功状态码修改为 233
"successCode": "233"
// 指定了 product 业务的地址
, "hosts": {
"product": "http://api.test.dev"
}
// 设置了 /home 业务的别名
, "apis": {
"/home": "/api/hahaha/home"
}
});
模块目前支持请求前及请求后钩子,该功能只支持实例级别的设置
ts
import Request from "@x-drive/request";
// 全局请求实例设置
Request.setting({
"hooks": {
onRequest(conf) {
console.log(conf);
}
, onResponse(raw) {
console.log(raw);
return raw;
}
}
});
require 或 import 方式引用
typescript
import Request from "@x-drive/request";
script 标签引用
html
¨K13K
注意这种方式如果直接在浏览器中使用时,模块名称会被重命名为 xRequest。get 发起一个 get 请求
get(url: string, param?: ReqParams, config?: ReqConf)
url 请求url或别名param 请求参数config 请求配置post 发起一个 post 请求
post(url: string, param?: ReqParams, data?: ReqData, config?: ReqConf)
url 请求url或别名param 请求参数data 请求数据config 请求配置run 执行任意类型请求
run<T>(type: string, url: string, params: ReqParams = {}, data: ReqData = {}, config: ReqConf = {}): Promise<T>
type 请求类型url 请求url或别名param 请求参数data 请求数据config 请求配置resolveUri 解析生成正确的数据请求地址
resolveUri(uri: string, params: object)
uri 接口别名或具体的请求地址params 请求参数对象cancel 放弃当前正在发起的所有请求
ts
cancel()
randomStr 生成一个 16 进制的随机数
ts
randomStr(): string
模块默认在全局会生成一个通用的请求实例,方便对所有的请求进行管理。同时也以 R 导出了模块,支持使用者单独实例化另外的请求实例用于其他用途。