Skip to main content
Widget Light 配置以 WidgetLightConfig 对象的形式传递给 <LiFiWidgetLight>config prop。所有配置都必须可 JSON 序列化,因为它是通过 postMessage 发送到 iframe 的。

JSON 序列化约束

由于配置通过 postMessage(使用结构化克隆算法)跨越 iframe 边界,以下内容在 WidgetLightConfig不受支持
  • React 节点或 JSX 元素
  • 回调函数
  • 类实例
  • MUI 主题对象(palettecolorSchemesshapetypographycomponents
WidgetLightConfig 是完整 widget 配置的一个精选子集,仅暴露可序列化的字段 — 上述不可序列化的选项根本不属于该类型,因此传入它们会导致 TypeScript 错误。这是通过省略字段来实现约束,而非一种通用的可序列化性守卫,因此请确保你确实传入的任何嵌套值在运行时都是可 JSON 序列化的。 如果你需要包括 React 节点和 MUI 主题在内的完整配置能力,请改用 完整 widget

必需配置

唯一必填的字段是 integrator,它在 LI.FI 分析中标识你的项目:

配置参考

布局

外观

theme 对象支持针对特定容器的 CSS 属性。这不是 MUI 主题 — 只接受可序列化的 CSS 属性:
WidgetTheme 字段:

链和代币选择

API 和手续费

WidgetFeeConfig 字段:

路由

SDK 配置

sdkConfig 字段控制 API 和路由行为:
WidgetSDKConfig 字段: WidgetRouteOptions 字段:
feereferrerorderslippagesdkConfig.routeOptions 中不可用。请改用顶层的 feeConfigreferrerroutePriorityslippage 配置字段。

允许/拒绝列表

过滤哪些链、代币、桥接和交易所可用:

UI 控制

控制哪些 UI 元素可见、被禁用或必填。每个选项使用一个对象配置,其中键是 UI 元素名称,值是布尔值: hiddenUI 键: appearancedrawerCloseButtonhistorylanguagepoweredBytoAddressfromTokentoTokenwalletMenuintegratorStepDetailsreverseTokensButtonrouteTokenDescriptionrouteCardPriceImpactchainSelectchainSidebarbridgesSettingsaddressBookConnectedWalletslowAddressActivityConfirmationgasRefuelMessagesearchTokenInputinsufficientGasMessagecontactSupporthideSmallBalancesallNetworks disabledUI 键: fromAmountfromTokentoAddresstoToken requiredUI 键: toAddressaccountDeployedMessage

钱包配置

当你向组件传入 onConnect 时,walletConfig.useExternalWalletManagement 字段会被自动设置。你无需手动设置它。

国际化

支持的语言键:enesfrdeitptjakozhhibnthvitrukidpl

杂项

响应式配置更新

配置是响应式的。当你传入一个新的 config 对象时,widget 会实时更新而无需重新加载 iframe:
在初始握手之后,配置更改会通过 CONFIG_UPDATE 消息发送到 iframe。widget 会应用新配置而无需完整重新加载,并保留任何进行中的状态。