@ 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() 以及共同同意的内容.