Module概述

大约 1 分钟约 386 字

Module概述

Kuikly作为一个跨端的UI框架, 他本身不具备调用平台API的能力, 但是Kuikly提供了一套Module机制,你可以通过Module机制将平台的API暴露给Kuikly侧调用。 Kuikly内置了一些通用的Module, 如果这些Module不满足你业务诉求时, 你可以通过扩展原生API来自定义Module, 将更多的宿主平台API暴露给Kuikly侧使用。 下面是Kuikly内置的Module

Module 基类能力

自定义 Module 继承 Module 后,可复用基类提供的通信能力:

方法说明
syncToNativeMethod(methodName, data: JSONObject?, callbackFn: CallbackFn?) / syncToNativeMethod(methodName, args: Array<Any>, callbackFn: AnyCallbackFn?)同步调用端侧方法(JSON 参数版 / 原子参数版)
asyncToNativeMethod(methodName, data: JSONObject?, callbackFn: CallbackFn?) / asyncToNativeMethod(methodName, args: Array<Any>, callbackFn: AnyCallbackFn?)异步调用端侧方法(JSON 参数版 / 原子参数版)
toNative(keepCallbackAlive, methodName, param, callback, syncCall)通用端侧调用通道,回参自动转 JSONObject
toTDFNative(keepCallbackAlive, methodName, params, successCallback, errorCallback, syncCall)TDF 双回调通道,自动解包 result 字段
removeCallback(callbackRef)销毁全局回调引用

模块名需通过 moduleName() 返回,自定义 Module 在 Pager.createExternalModules() 中注册,详见扩展原生 API。