公司项目 API 前端复用逻辑
包含功能:
- 提供 API 调用简写语法,
- 提供页面顶部显示的进度条,
- 生成 API 报错信息(供外部的 UI 组件展示).
注意事项
原先耦合的代码需要手动处理一遍, 搜则对应的逻辑会丢失:
- 监听
EJimuApiEvent.ErrorUnauthorized事件, 调用clearUserInfoCache(), - 监听
EJimuApiEvent.ErrorMessage事件, 调用message.error(errorHumanized), - 监听
EJimuApiEvent.ErrorGotoSignin调用gotoSignin(signinPath, location.href).
yarn add @jimengio/api-baseimport { get } from "@jimengio/api-base";
get({
baseURL: `http://my-api/api`,
url: `/info`,
});
// 发送其他方法
get({
method: "POST",
baseURL: `http://my-api/api`,
url: `/info`,
});import { addGloablErrorMessages } from "@jimengio/api-base";
addGloablErrorMessages({
00001: "信息不合法",
});import { EJimuApiEvent } from "@jimengio/api-base";
JimuApisEventBus.on(EJimuApiEvent.ErrorMessage, (error: string) => {
console.error(error);
});export { changeApisLingual, EApisLangKind } from "@jimengio/api-base";
changeApisLingual(EApisLangKind.enUS);展示网络加载进度(不精确):
import { NetProgress } from "@jimengio/api-base";
<NetProgress />;getpostputdel, 基础 HTTP 请求changeApisLingual,EApisLangKind用于修改多语言配置NetProgress渲染网络状态的组件addGloablErrorMessagesaddGlobalStatusCodeErrorMessages设置错误文案`ApiErrorIJimuApiOptionAPI 属性配置类型BuiltinApiErrorCode内置错误码, 偶尔会用到- 私有
generateCancelTokengetApiBaseUrlsetApiBaseUrlsetApiDefaultHeaderAPI 状态修改方法 - 私有
globalErrorMessagesglobalStatusCodeErrorMessages(类型为IErrorMessages) 读取全局错误文案配置 - 私有
showError触发错误