@baukit/purchases-core

中文文档
0.19.1发布于 2026/11/08MITTypeScriptES Module构建来源已验证近 30 天下载 2210

存储中性移动购买:一个购买端口,一个不开放的客户端,一个等待套房身份和刷新权益的购买流程,以及特色钥匙的接钩.

中文使用文档

@baukit/purchases-core

Baukit 移动应用程序的商店中性购买流程。 它定义 PurchasesPort 用于构建没有存储密钥的不开放端口,以及 PurchaseFlow 产品后端所核查的属性。 它从来不读商店的权利。 Schlüsselbund拥有应享待遇,所以在刷新票上写明之前,商店收据不会给任何东西.

该套件没有"博览会"(Expo, React Industrial)或"ForwardCat"的进口. @baukit/purchases-revenuecat 是“ForwardCat”适配器.

import {
  PurchaseFlow,
  createNoopPurchasesPort,
  createAccountPlanBackend,
} from '@baukit/purchases-core';

const flow = new PurchaseFlow({
  port: createNoopPurchasesPort(),
  backend: createAccountPlanBackend({ baseUrl: `${apiOrigin}/api/v1`, fetch, headers: authHeaders }),
});

await flow.identify(suiteSubject);
const { current } = await flow.offerings();
const outcome = await flow.purchase(current!.packages[0]!);
  • identify(suiteSubject) 必须在前完成 purchase, (中文(简体) ), restore 或者说 purchaseCreditPack没有它,他们就拒绝 not_identified。 。 。 .
  • signOut() 清州并召入港口 reset。 。 。 .
  • purchase 返回时 granted 一旦后端通过更新修订为应享权利服务,或 pending 之后 refreshAttempts 改为(默认5,相隔2秒).
  • restore 返回时 granted 或者说 unchanged。 。 。 .
  • purchaseCreditPack 仅接受 one_time 软件包和返回 credited 贷方余额订正垫款,或 pending。 。 。 .
  • 一次只买一次 第二个人拒绝 busy。 。 。 .
  • 失败的是 PurchaseError 与 code cancelled, (中文(简体) ), pending, (中文(简体) ), network, (中文(简体) ), store, (中文(简体) ), unavailable, (中文(简体) ), not_identified, (中文(简体) ), identity_changed, (中文(简体) ), subject_mismatch, (中文(简体) ), invalid_subject, (中文(简体) ), not_credit_pack 或者说 busy。 。 。 .

createAccountPlanBackend 读取 GET /me/entitlement 财务报告和审定财务报表 GET /me/credits 路线 baukit-suite是因为 account_plan_router 服务。 它治疗 suite_identity_missing 没有权利 和提高 AccountPlanError 与 code 财务报告和审定财务报表 retryAfterSeconds 否则。 一个验证票本身的客户 entitlementFromTicket(claims, plansUrl)。 。 。 .

@baukit/purchases-core/react 已经 PurchasesProvider (与 flow 财务报告和审定财务报表 productId, (中文(简体) ), usePurchaseFlow, (中文(简体) ), usePurchaseState, (中文(简体) ), useEntitlement, (中文(简体) ), useFeature(key) 财务报告和审定财务报表 LockedFeature。 。 。 . useFeature 返回时 loading, (中文(简体) ), unavailable, (中文(简体) ), granted,或 locked 带个活墙 装入和不能装入既未显示特性, 也未显示购买, 且刷新失败后, 保留了最后核实的应享权利 . paywallFor 把票翻开 billing 索赔转入 purchase, (中文(简体) ), manage (网络和存储计划,从来没有第二次购买), covered (家庭和组织)或 none (独立). plansLink 构建 Schlüsselbund C17 链接 /plans?from=<product id>&feature=<feature key> 减少 feature 无 from。 。 。 .

读取 Baukit 的 docs/platform/mobile-purchases.md 为全线.

版本与发布记录

@baukit/purchases-core 共发布 15 个版本,首次发布于 2026/10/31;过去 12 个月发布了 15 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.19.1latest2026/11/08今天
0.19.02026/11/08今天
0.18.32026/11/071 天前
0.18.22026/11/062 天前
0.18.12026/11/062 天前
0.18.02026/11/053 天前

关于 @baukit/purchases-core 的常见问题

@baukit/purchases-core 是什么?

存储中性移动购买:一个购买端口,一个不开放的客户端,一个等待套房身份和刷新权益的购买流程,以及特色钥匙的接钩.

如何安装 @baukit/purchases-core?

在项目目录运行 npm install @baukit/purchases-core,或使用 pnpm add / yarn add / bun add。

@baukit/purchases-core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@baukit/purchases-core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@baukit/purchases-core 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@baukit/purchases-core 可以商用吗?

@baukit/purchases-core 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@baukit/purchases-core 的下载量有多少?

根据 npm 官方下载统计,@baukit/purchases-core 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,210 次,日均约 74 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@baukit/purchases-core 还在维护吗?

最新版本 0.19.1 发布于 2026/11/08(今天);至今共发布 15 个版本,其中过去 12 个月发布了 15 个;首次发布于 2026/10/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。