0.3.9 • Published 2 years ago

@jimengio/api-base v0.3.9

Weekly downloads
85
License
ISC
Repository
-
Last release
2 years ago

API Base

公司项目 API 前端复用逻辑

包含功能:

  • 提供 API 调用简写语法,
  • 提供页面顶部显示的进度条,
  • 生成 API 报错信息(供外部的 UI 组件展示).

npm.io

注意事项

原先耦合的代码需要手动处理一遍, 搜则对应的逻辑会丢失:

  • 监听 EJimuApiEvent.ErrorUnauthorized 事件, 调用 clearUserInfoCache(),
  • 监听 EJimuApiEvent.ErrorMessage 事件, 调用 message.error(errorHumanized),
  • 监听 EJimuApiEvent.ErrorGotoSignin 调用 gotoSignin(signinPath, location.href).

Usages

npm.io

yarn add @jimengio/api-base
import { get } from "@jimengio/api-base";

get({
  baseURL: `http://my-api/api`,
  url: `/info`,
});

// 发送其他方法
get({
  method: "POST",
  baseURL: `http://my-api/api`,
  url: `/info`,
});
注册错误信息
import { addGlobalErrorMessages } from "@jimengio/api-base";

addGlobalErrorMessages({
  00001: "信息不合法",
});

对于特定的错误码定制错误信息(覆盖默认注册的错误信息):

put({
  url: `/plants/${plantId}/materials/${materialId}`,
  baseURL: coresBaseUrl,
  data: options,
  errorMessage: {
    [ApiErrorCode.DBDup]: lingual.materialCodeAlreadyExists,
  },
});

通过 false 可以关闭特定错误码的报错提示:

{
  errorMessage: {
    [ApiErrorCode.DBDup]: false,
  },
}

通过 axios 的 paramsSerializer 的参数可以对数组格式的 query 参数进行格式化:

{
  paramsSerializer: (params) => Qs.stringify(params, {arrayFormat: 'brackets'}),
}
监听 API 特殊的事件:
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 />;

API

  • get post put del patch, 基础 HTTP 请求
  • changeApisLingual, EApisLangKind 用于修改多语言配置
  • NetProgress 渲染网络状态的组件
  • addGlobalErrorMessages addGlobalStatusCodeErrorMessages 设置错误文案`
  • ApiError IJimuApiOption API 属性配置类型
  • BuiltinApiErrorCode 内置错误码, 偶尔会用到
  • 私有 generateCancelToken getApiBaseUrl setApiBaseUrl setApiDefaultHeader API 状态修改方法
  • 私有 globalErrorMessages globalStatusCodeErrorMessages(类型为 IErrorMessages) 读取全局错误文案配置
  • 私有 showError 触发错误
0.3.9

2 years ago

0.3.8

2 years ago

0.3.7

4 years ago

0.3.6

4 years ago

0.3.5

4 years ago

0.3.4

4 years ago

0.3.4-a5

4 years ago

0.3.4-a2

4 years ago

0.3.4-a4

4 years ago

0.3.4-a3

4 years ago

0.3.4-a1

4 years ago

0.3.3

4 years ago

0.3.3-a1

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.1-a2

4 years ago

0.3.1-a3

4 years ago

0.3.1-a1

4 years ago

0.3.0

4 years ago

0.3.0-a2

4 years ago

0.3.0-a1

4 years ago

0.2.7

4 years ago

0.2.7-a1

4 years ago

0.2.6

4 years ago

0.2.6-a1

4 years ago

0.2.5

4 years ago

0.2.5-a1

4 years ago

0.2.4

5 years ago

0.2.4-a1

5 years ago

0.2.3

5 years ago

0.2.3-a3

5 years ago

0.2.3-a2

5 years ago

0.2.3-a1

5 years ago

0.2.2

5 years ago

0.2.2-a2

5 years ago

0.2.2-a1

5 years ago

0.2.1

5 years ago

0.2.1-a3

5 years ago

0.2.1-a2

5 years ago

0.2.1-a1

5 years ago

0.2.0

5 years ago

0.2.0-a2

5 years ago

0.2.0-a1

5 years ago

0.1.0-a2

5 years ago