@aifeatures/react

中文文档
0.21.0发布于 2026/11/05TypeScriptESM + CJS近 30 天下载 1.1万

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

中文使用文档
文档目录4 节
  1. 公共功能 API 配置
  2. 产品审查
  3. 同意运行时间
  4. 在 DevTools 中查看一个决定

@ aifatures/反应

公共功能 API 配置

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

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

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

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

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

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:

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适配器,同时拥有自己的可用性,容量,预定,日历和通知行为.

见 产品审查操作和出厂门 在启用收藏之前.

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

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

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

在 DevTools 中查看一个决定

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

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 共发布 35 个版本,首次发布于 2025/12/23;过去 12 个月发布了 35 个版本。

版本发布日期距今
0.21.0latest2026/11/051 天前
0.20.02026/10/2215 天前
0.19.02026/10/1819 天前
0.18.02026/10/1621 天前
0.17.02026/10/1522 天前
0.16.02026/10/1225 天前

关于 @aifeatures/react 的常见问题

@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 和提交记录判断。