# @aifeatures/react 中文文档

规范地址：https://npmcn.com/package/%40aifeatures/react/

版本：0\.21\.0
npm 元数据更新时间：2026-11-05T01:44:38.158Z
中文译文更新时间：2026-11-05T22:38:17.921Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aifeatures/react
原文对照：https://npmcn.com/package/%40aifeatures/react/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：914 kB，10 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：react \>=18，react-dom \>=18
- 首次发布：2025-12-23T02:09:04.470Z
- 最新版本发布：2026-11-05T01:44:37.981Z
- 近 30 天下载量：11417（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 35 个）

## 中文简介

生活网站的响应组件: CAPTCHA( Cloudflare Turnstile),无头支付(产品价格,购买按钮,订单确认),和饼干同意(地理适应标语,类格脚本,偏好)

## 安装

```sh
npm install @aifeatures/react
```

也可以使用：`pnpm add @aifeatures/react`、`yarn add @aifeatures/react`、`bun add @aifeatures/react`

## README

# @ aifatures/反应

## 公共功能 API 配置

`AifeaturesProvider` 配置公共 API 基础, 用于表格和 captcha、 产品、 推车、 结账、 订单状态、 地理建议和客户账户 :

```tsx
import { AifeaturesProvider } from '@aifeatures/react';

<AifeaturesProvider apiUrl="/_ls">
  <App />
</AifeaturesProvider>
```

每个特性组件和钩子按此顺序解决其 API 基础: 明确 `apiUrl`时,最接近 `AifeaturesProvider`,则 `https://aifeatures.dev`。没有供应商,现有的已安装源在升级后保留其平台请求。 添加一个提供者是一个明确的源变化;升级包不会迁移表单或重写 URL. 在安全部门改革和水分化期间,相对碱基仍然相对;解析器不读 `window`。 。 。 .

授权的形式动作和 `fetch` 电话必须使用相同的基础 与他们的captcha。 提供者不能重写已存在的窗体动作 。 使用 `useAifeaturesApiUrl(explicitApiUrl?)` 在提交文件的组件中:

```tsx
import { AifeaturesCaptcha, useAifeaturesApiUrl } from '@aifeatures/react';

function ContactForm({ formId, apiUrl: explicitApiUrl }: {
  formId: string;
  apiUrl?: string;
}) {
  const apiUrl = useAifeaturesApiUrl(explicitApiUrl);
  return (
    <form action={`${apiUrl}/f/${formId}`} method="POST">
      <input name="email" type="email" required />
      <AifeaturesCaptcha formId={formId} apiUrl={explicitApiUrl} />
      <button type="submit">Send</button>
    </form>
  );
}
```

传递基础 URL 而无需后继斜线 . `apiUrl=""` 明确选择 root API 路径。 Opted- in 制作主机和预览必须服务 `/_ls` ; 本地开发需要同样的可信转发路径。 提供者只更改请求目的地 。 支付重定向和Turnstile的外部脚本保留了他们现有的行为;失败的提交不会回落到不同的API来源.

`ConsentProvider` 有独立的配置:其已存在的默认保留 `/_ls`,即使没有 `AifeaturesProvider`,并明确 `apiUrl` 仍然赢了.

## 产品审查

审查内容是有待于2008年1月1日之后的少量释放的一部分 `0.9.0` (预计 `0.10.0`) (中文(简体) ). 它们可在这个工作空间建筑中找到;在更新客户网站或增加进口之前,核查已公布的软件包出口.

在产品页面上挂载一名作曲家,使用实际产品ID:

```tsx
import { ProductRating, ProductReviews, ProductReviewForm } from '@aifeatures/react';

function Reviews({ productId }: { productId: string }) {
  return <>
    <ProductRating productId={productId} />
    <ProductReviews productId={productId} />
    <ProductReviewForm productId={productId} />
  </>;
}
```

这些组件使用相同的可选 `apiUrl` 财务报告和审定财务报表 `AifeaturesProvider` 作为其他特征. `ProductRating` 在产品名称之外有用; `ProductReviews` 包括自己的摘要、分发、过滤器、页码和商家答复。 经确认的客户突变刷新了同一产品的订阅部件。 公开文本作为隐藏文本提供。 没有显示客户邮件或订单标识符 .

保留 `AccountPage` 挂载在已出版的 `/account` 路线。 作曲者开始电子邮件登录; `AccountPage` 交换代码,保存现有的同源客户会话,并返回验证的产品路由 `#product-review-form`. 账户审查历史提供产品链接和提取,不设第二编辑. 签入必须完成 商店的犬类服务源:上, `www`,二级域不共享浏览器会话或草稿.

服务器检查仓库准备情况,站点收集设置,生产Turnstile密钥,以及全球收集开关. 过 `preview` 改为 `ProductReviews` 财务报告和审定财务报表 `ProductReviewForm` 预览中;服务器也拒绝预览写入。 一个被禁用的商店设置会暂停新的审查和重新提交,同时保留公共审查、退出和在活跃的产品页面上保护编辑。 全球收藏暂停会停止所有内容的写作 。 经核实的购买徽章来源于该商店过去购买的准确产品;它从未由浏览器提供.

作曲家拥有其领域,JSON请求,验证,和草稿恢复. 草稿的范围为经认证的身份和产品,在目前浏览器内24小时后失效。 CAPTCHA挑战到期或失败保留了草案. 一个不确定的写法触发了在另一次尝试之前读取的被保存的审查;一个过时的修订要求客户审查最新的状态.

只有软件包-内部旋转部件生命周期和服务器验证适配器与联系表共享. `AifeaturesCaptcha` 保留其 `formId` 配置、隐藏响应字段、同意行为,以及 `/f/:formId` 合同。 审查使用情况 `/v1/p/...` 财务报告和审定财务报表 `/v1/account/...` JSON终点. 未来的预订功能可以重新使用小型的CAPTCHA适配器,同时拥有自己的可用性,容量,预定,日历和通知行为.

见 [产品审查操作和出厂门](https://npmcn.com/package/docs/OPERATIONS.md#product-reviews--release-and-operations) 在启用收藏之前.

## 同意运行时间

`ConsentProvider` 请求 `/_ls/v1/geo` 财务报告和审定财务报表 `/_ls/v1/prefs/{configId}` 默认的当前网站来源。 已公布的网站、共享/编辑预览以及地方发展必须通过网站服务为这两条道路服务。 在生成的站点代码中不需要主机名 :

```tsx
<ConsentProvider configId={consentConfigId}>
  <App />
  <ConsentBanner />
</ConsentProvider>
```

明确 `apiUrl` 仍然选择另一个基础URL,包括现有的公共API和"故事本"的模拟主机. 反应机构必须符合同意合同,包括: `country`, (中文(简体) ), `region`,以及 `shape` 关于地理反应。 遗留下来的仅以国家为主的地缘反应无效,造成严格的倒置. 附加响应头是诊断信息;缺少或不熟悉的版本不会覆盖一个有效的机构.

## 在 DevTools 中查看一个决定

在提供者挂载后在浏览器控制台中运行 :

```js
window.__LS_CONSENT_DEBUG__()
```

函数返回最多十个活动提供者当前快照的副本,由网站的 `configId`。它不接受命令,不更改同意,并删除未挂载的提供者快照。 任何事物都不会持续下去或被送到任何地方。 抓图中没有任何国家、区域、实施伙伴、节省的赠款、访客身份识别或请求/答复机构.

每个快照包括:

-   `mode` 和最后决定 `shape`两者都是 `null` 在返回的访客的零请求路径上,因为保存的选择在不解决地理或所有者模式的情况下适用.
-   `reason`数字 : `unresolved`, (中文(简体) ), `stored-choice`, (中文(简体) ), `renewal-required`, (中文(简体) ), `geo`, (中文(简体) ), `unknown-geo`, (中文(简体) ), `strict-everywhere`, (中文(简体) ), `off`, (中文(简体) ), `prefs-fallback`,或 `geo-fallback`. 所拯救的选择和延期优先于先前解决的判决.
-   `storedChoice`数字 : `unread`, (中文(简体) ), `none`, (中文(简体) ), `valid`, (中文(简体) ), `revision-mismatch`, (中文(简体) ), `taxonomy-version`, (中文(简体) ), `expired`, (中文(简体) ), `unverified-mirror`,或 `malformed`· ; `renewalRequired` 表示无法读取或过时的选择力量何时选择使用。 真正到期使用现行先行先访政策.
-   `requests.prefs` 财务报告和审定财务报表 `requests.geo`数字 : `outcome` 实值 `not-requested`, (中文(简体) ), `pending`, (中文(简体) ), `success`, (中文(简体) ), `timeout`, (中文(简体) ), `http-error`, (中文(简体) ), `network-error`,或 `invalid-contract`每份报告 `httpStatus`, (中文(简体) ), `version` (单位:千美元)`X-LS-Consent-Version`, (中文(简体) ), `requestId` (单位:千美元)`X-LS-Request-Id`),以及 `geoSource` (单位:千美元)`cloudflare`, (中文(简体) ), `unknown`,或 `null`) (中文(简体) ). 缺少信头是 `null`;版本和请求的ID值仅限于128个字符.

请求的期限为两秒钟,涵盖标题和正文。 故障产生控制台警告 安全请求诊断。 配置失败使用保守的严格倒置;地理失败使用解析后所有者设置下现有的保守判断. 有效的保存选择仍然会发出零自动请求 。 在没有烤出政策路径的情况下打开遗留安装的首选项可能获取显示配置;该请求也报告.

这个机制是用于DevTools的故障排除. 应用程序集成应继续使用 `useConsent()` 以及共同同意的内容.

## 常见问题

### @aifeatures/react 是什么？

生活网站的响应组件: CAPTCHA\( Cloudflare Turnstile\),无头支付\(产品价格,购买按钮,订单确认\),和饼干同意\(地理适应标语,类格脚本,偏好\)

### 如何安装 @aifeatures/react？

在项目目录运行 npm install @aifeatures/react，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=18）、react-dom（\>=18）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @aifeatures/react 支持 TypeScript 吗？

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

### @aifeatures/react 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @aifeatures/react 可以商用吗？

@aifeatures/react 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @aifeatures/react 的下载量有多少？

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

### @aifeatures/react 还在维护吗？

最新版本 0\.21\.0 发布于 2026/11/05（1 天前）；至今共发布 35 个版本，其中过去 12 个月发布了 35 个；首次发布于 2025/12/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

