Skip to content

@mbjia/pure-request

Package

@mbjia/pure-request

轻量请求工具,主要给 Worker 或非 React 业务环境使用。它不依赖组件层,只封装 axios、站点环境和错误广播。

何时使用

场景是否适合
SharedWorker、ServiceWorker 或纯函数环境发请求适合
React 页面业务接口优先使用 @mbjia/services
需要统一 toast/鉴权错误广播适合

导出

ts
export * from '@mbjia/site-env'

export const handleNetworkError: (errStatus: number) => void
export const handleAuthError: (res: any) => boolean
export const pureRequest: (options: IReuest) => Promise<any>

pureRequest

ts
const res = await pureRequest({
  url: '/veasset/list',
  method: 'post',
  data: {
    token,
    page: 1,
    page_size: 20,
  },
})

入参:

ts
interface IReuest extends AxiosRequestConfig {
  requestType?: number
  data: {
    token: string
    [key: string]: any
  }
  method?: 'get' | 'post'
}
字段类型必填默认值说明
urlstring-请求路径,会拼接 API_ENV.host
method'get' | 'post''post'请求方法。源码同时兼容大写 GET
data.tokenstring-会写入请求头 user-token
dataobject-业务参数;token 会从请求体中剥离。
requestTypenumber1当前所有分支都使用 env.host

返回值:

字段类型说明
successboolean请求是否按业务成功。
messagestring服务端 message 或 HTTP statusText。
statusCodenumberHTTP 状态码。
其他字段any服务端 data.data 会被展开到返回对象上。

错误处理

pure-request 使用 BroadcastChannel('sw:uppy:event') 向外广播错误消息。

方法说明
handleNetworkError(errStatus)HTTP 状态码转中文错误提示,并广播 errorMsg
handleAuthError(res)处理登录过期、验证码错误、无权限、模板不存在等业务错误码。

鉴权错误码:

错误码提示
400684001540035登录状态已过期。
40008请输入正确的验证码。
40020商品不存在。
40114暂无操作权限。
40038模板不存在。

MBJIA Tools 文档