SuperAPI AI 工具集

kuikly-expand-api

编程与开发

查看项目

更新于 10-15 23:43

技能介绍

用途:Kuikly 自定义 Module 开发助手,指导如何创建自定义 Module、扩展原生 API。Kuikly 自身不具备平台相关能力,通过 Module 机制把 Native API 暴露给 Kuikly 侧调用。自定义 Module 需双端实现:Kuikly 侧定义 API 接口,Native 侧(Android/iOS/鸿蒙/H5/小程序)实现具体逻辑,通过 moduleName 关联,名字必须全端一致。

主要能力:Kuikly 侧新建 Module 类继承 Module 并实现 moduleName(),编写业务 API 方法;通信方法包括同步 syncToNativeMethod(Kuikly 线程执行)、异步 asyncToNativeMethod(主线程执行)与底层 toNative;支持 JSONObject 参数、基本类型数组(String/Int/Float/ByteArray)等;支持带回调、常驻回调(keepCallbackAlive=true 需手动 removeCallback)。注册方式:在 Pager 或 ComposeContainer 的 createExternalModules() 中注册,两种 DSL 一致;使用上通过 acquireModule 获取。

使用方式:Kuikly DSL 在 created() 及之后获取 Module;Compose DSL 在 @Composable 中通过 LocalActivity.current.getPager().acquireModule 获取。Native 侧只需实现业务需要支持的平台,在宿主工程创建 Module 类、实现 call 方法分发 method、再注册到框架。

限制:同步调用在 Kuikly 线程执行,应避免耗时操作;syncToNativeMethod 与 asyncToNativeMethod 传入 JSONObject 会序列化为 JSON 字符串,不支持 ByteArray,二进制传输请使用 Array<Any> 重载;iOS 通过类名动态创建 Module,类名必须与 moduleName 一致,Swift 实现需 @objc 注解。各平台 Native 实现细节详见 MODULE_IMPLEMENT.md,本次资料未提供其内容。