Skip to content

FastAxios 容器

createFastAxios(options?, newInstance?) 创建

创建或更新 FastAxios 配置容器。

ts
const fastAxios = createFastAxios({
	baseUrl: "https://api.example.com",
	timeout: 30_000,
	headers: { Authorization: "Bearer <token>" },
	requestCipher: false,
});
参数类型默认值说明
options.baseUrlstring""创建 Axios 请求实例时使用的 baseURL
options.timeoutnumber60000请求超时,单位毫秒。
options.headersRecord<string, AxiosHeaderValue>{}跨请求共享的公共请求头;重复设置时按字段合并。
options.requestCipherbooleantrue单次请求未覆盖时使用的加解密开关。
newInstancebooleanfalsetrue 时返回独立容器,不写入全局单例。

axiosUtil.request() 始终读取全局单例。独立容器不会自动参与请求流程。

重复调用单例模式的 createFastAxios() 会保留现有处理器,并通过 setOptions() 合并本次基础配置。

useFastAxios() 实例

返回已经初始化的全局容器。尚未调用 createFastAxios() 时抛出 Error

setOptions(options?) 配置

更新基础配置并返回当前容器;链式调用时 TypeScript 会保留容器的具体子类型。headers 按字段合并;其他显式传入的值直接覆盖。空字符串、0false 都是有效值。

addErrorCode() 错误码

添加或覆盖错误提示:

ts
fastAxios.addErrorCode(40101, "登录状态已失效");

fastAxios.addErrorCode({
	40102: "账号已停用",
	CUSTOM_ERROR: "自定义错误",
});

支持 HTTP 状态码、Axios error code 和 Fast 业务 code。单值重载缺少 message 时抛出 TypeError

createFastAxios 创建

创建或更新全局 FastAxios 容器,也可以返回不写入单例的独立容器。

签名

ts
createFastAxios(options?: InitializeOptions, newInstance?: boolean): FastAxios;

示例

ts
import { createFastAxios } from "@fast-china/axios";

const result = createFastAxios({ baseUrl: "/api", timeout: 30_000, requestCipher: false });

输入

输入值输入值类型必填/默认值输入值说明
optionsInitializeOptions基础地址、超时、公共请求头和全局加解密开关。
newInstanceboolean否,默认 falsetrue 时创建不影响全局单例的独立容器。

返回

返回值返回值类型返回值说明
resultFastAxios全局单例或新建的独立配置容器。

useFastAxios 实例

取得已经初始化的 FastAxios 全局单例。

签名

ts
useFastAxios(): FastAxios;

示例

ts
import { createFastAxios, useFastAxios } from "@fast-china/axios";

createFastAxios({ baseUrl: "/api" });
const result = useFastAxios();

输入

该方法没有输入参数。

返回

返回值返回值类型返回值说明
resultFastAxios已初始化的全局容器;尚未初始化时抛出 Error

fastAxios.setOptions 配置

合并基础配置;Headers 按字段合并,其他显式值直接覆盖。

签名

ts
setOptions(options?: InitializeOptions): this;

示例

ts
import { createFastAxios } from "@fast-china/axios";

const fastAxios = createFastAxios({ baseUrl: "/api" }, true);

const result = fastAxios.setOptions({ timeout: 15_000, headers: { Authorization: "Bearer token" } });

输入

输入值输入值类型必填/默认值输入值说明
optionsInitializeOptions否,默认 {}需要更新的基础配置。

返回

返回值返回值类型返回值说明
resultthis当前容器,支持链式调用。

fastAxios.addErrorCode 错误码

添加或覆盖单个错误提示;也支持一次传入错误码映射。

签名

ts
addErrorCode(key: string | number, message: string): FastAxios;
addErrorCode(codes: Record<string | number, string>): FastAxios;

示例

ts
import { createFastAxios } from "@fast-china/axios";

const fastAxios = createFastAxios({ baseUrl: "/api" }, true);

fastAxios.addErrorCode(40101, "登录状态已失效");
const result = fastAxios.addErrorCode({ 40102: "账号已停用", CUSTOM_ERROR: "自定义错误" });

输入

输入值输入值类型必填/默认值输入值说明
keystring | number单值重载必填HTTP、Axios 或 Fast 业务错误码。
messagestring单值重载必填展示给用户的提示。
codesRecord<string | number, string>映射重载必填批量错误码与提示映射。

返回

返回值返回值类型返回值说明
resultFastAxios当前容器,支持链式调用。