For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/lynx-native-api/lynx-load-meta.md.
Lynx
  • 简体中文
  • LynxLoadMeta

    LynxLoadMetaLynxView 用于加载模板的元数据结构,它将作为 loadTemplate 的入参,用户可以通过 LynxLoadMeta 来指定加载模板的诸多参数, 例如指定模板内容,模板初始数据,以及其他额外配置信息;

    Android:

    成员

    LynxLoadMeta 具有如下成员:

    • url: String : Bundle 文件路径;
    • binaryData: byte[]: Bundle 的二进制文件数据;
    • bundle: TemplateBundle: 通过 Bundle 的二进制文件数据提前解析出来的 TemplateBundle 对象;
    • initialData: TemplateData: 在首屏加载过程中客户端指定的初始数据;
    • globalProps: TemplateData: 全局属性,在模板加载完成后会同步到模板中;
    • loadMode: LynxLoadMode: 加载模式,默认值为 LynxLoadMode.NORMAL
    • loadOptions: EnumSet<LynxLoadOption>: 加载模板时的额外配置信息;
    • lynxViewConfig: Map<String, String>: 加载模板时传入的 Page Config 信息;
    Info

    url、binaryData、bundle 这三个成员是模板加载的必传参数,三个成员可以只传其一或者都传,优先级关系如下: bundle > binaryData > url

    Info

    loadOptions 是加载模板时的额外配置信息,目前支持如下配置项:

    • RECYCLE_TEMPLATE_BUNDLE: 在 LynxView 使用 url 或者 binaryData 加载之后,支持通过 LynxViewClient 回传一个 TemplateBundle 给调用方;
    • DUMP_ELEMENT: 在 LynxView 加载 Bundle 时,将 ElementBundle 拷贝至 TemplateBundle 中,并通过 LynxViewClient 回传;
    Info

    loadMode 是模板的加载模式,目前支持如下配置项:

    • NORMAL: 默认加载模式;
    • PRE_PAINTING:加载模板时挂起 JS 事件,事件将在更新时发送,布局将被阻塞直到更新完成;
    • PRE_PAINTING_DRAW:加载模板时挂起 JS 事件,事件将在更新时发送;

    构造

    Android 平台上需要利用 LynxLoadMeta.Builder 来构造 LynxLoadMeta 对象:

    LynxLoadMeta.Builder builder = new LynxLoadMeta.Builder();
    builder.setUrl();
    builder.setBinaryData();
    builder.setTemplateBundle();
    builder.setInitialData();
    builder.setGlobalProps();
    builder.setLoadMode();
    builder.addLoadOption();
    builder.setLynxViewConfig();
    LynxLoadMeta meta = builder.build();

    iOS

    成员

    LynxLoadMeta 具有如下成员:

    • url: NSString*: 模板文件路径;
    • binaryData: NSData*: 模板的二进制文件数据;
    • templateBundle: LynxTemplateBundle*: 通过模板的二进制文件数据提前解析出来的 TemplateBundle 对象;
    • initialData: LynxTemplateData*: 在首屏加载过程中客户端指定的初始数据;
    • globalProps: LynxTemplateData*: 全局属性,在模板加载完成后会同步到模板中;
    • loadMode: LynxLoadMode: 加载模式,默认值为 LynxLoadModeNormal
    • loadOption: LynxLoadOption: 加载模板时的额外配置信息;
    • lynxViewConfig: NSMutableDictionary<NSString*, id>*: 加载模板时传入的 Page Config 信息;
    Info

    url、binaryData、templateBundle 这三个成员是模板加载的必传参数,三个成员可以只传其一或者都传,优先级关系如下: templateBundle > binaryData > url

    Info

    loadOption 是加载模板时的额外配置信息,目前支持如下配置项:

    • RECYCLE_TEMPLATE_BUNDLE: 在 LynxView 使用 url 或者 binaryData 加载之后,支持通过 LynxViewClient 回传一个 TemplateBundle 给调用方;
    • DUMP_ELEMENT: 在 LynxView 加载 Bundle 时,将 ElementBundle 拷贝至 TemplateBundle 中,并通过 LynxViewClient 回传;
    Info

    loadMode 是模板的加载模式,目前支持如下配置项:

    • LynxLoadModeNormal: 默认加载模式;
    • LynxLoadModePrePainting:加载模板时挂起 JS 事件,事件将在更新时发送,布局将被阻塞直到更新完成;

    构造

    iOS 平台上构造 LynxLoadMeta 对象:

    LynxLoadMeta* meta = [LynxLoadMeta init];
    meta.url = @"";
    meta.binaryData = nil;
    meta.templateBundle = nil;
    meta.initialData = nil;
    meta.globalProps = nil;
    meta.loadMode = LynxLoadModeNormal;
    meta.loadOption = LynxLoadOptionDumpElement | LynxLoadOptionRecycleTemplateBundle;
    meta.lynxViewConfig = nil;

    Desktop (C++)

    使用默认构造函数创建 LynxLoadMeta,再通过 setter 配置:

    auto meta = std::make_shared<lynx::pub::LynxLoadMeta>();
    meta->SetUrl(url);
    meta->SetBinaryData(bytes);
    meta->SetTemplateBundle(bundle);
    meta->SetInitialData(initial_data);
    meta->SetGlobalProps(global_props);

    Desktop public API 的模板来源优先级与现有页面保持一致:

    template_bundle > binary_data > url

    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。