Skip to content

luch-request4.0.0-alpha.1

让 uni-app 请求
保留原生能力,
获得明确类型。

面向传统 uni-app 的 TypeScript-first 请求库。围绕配置管线、原生 Task、 统一错误和跨平台边界重新设计。

REQUEST PIPELINE● TYPE SAFE
  1. 01NORMALIZEmerge config
  2. 02INTERCEPTasync · FIFO
  3. 03DISPATCHuni.* Task
  4. 04SETTLEresponse / error
ESM ONLYES2017TRADITIONAL UNI-APPZERO RUNTIME DEPSALPHA CONTRACT

01 / DESIGN

不是浏览器 HTTP client 的移植版

v4 从 uni-app 的 callback API、平台 Task 和多端差异出发,公共类型只承诺运行时真正能保证的内容。

01

类型从调用处开始

响应、data、params 与 nativeOptions 各自建模,常见调用保持短而清晰。

TResponse · TData · TParams
02

围绕 uni API 设计

request、upload、download 保留各自原生能力,不套用浏览器或 Node adapter。

uni.request · Task
03

错误上下文可判断

统一 code、config、response、task 与 cause,同时保留平台原始信息。

LuchRequestError
04

取消能力可独立传递

直接持有 Promise 时使用 abort;跨 service 层时使用 signal。

abort · signal

02 / CALL SITE

常见用法保持直接

users.tsTYPE CHECKED
interface UserListParams {
  page: number
  keyword?: string
}

const response = await http.get<
  User[],
  UserListParams
>('/users', {
  params: { page: 1 },
  luchMeta: { requiresAuth: true }
})

response.data[0].id

03 / DOC ROUTES

按你正在解决的问题进入

ALPHA / USE WITH VERIFICATION

v4 仍在收敛公共契约。

当前文档对应仓库中的 4.0.0-alpha.1。正式版前可能发生 breaking change; 生产项目请继续使用 v3,或先完成目标平台 smoke test。

v4 处于 Alpha 阶段,公共 API 仍可能调整。