IPCUtil
最低版本: 2.1.0最后更新: 2021/1/22类说明:
跨 OPK IPC API 调用,需要目标 OPK 当前在前台。
支持平台:
平台 | 是否支持 |
豹小秘 | 否 |
豹大/花瓶 | 否 |
豹小秘Mini | 是 |
方法:
方法名 | 参数 | JS类型 | 必填 | 参数说明 | 方法说明 | 最低版本 | 支持平台 | ||
豹小秘 | 豹大/花瓶 | 豹小秘 Mini | |||||||
syncCallFunction | targetAppId | string | 是 | 目标 opk 的 appId | 跨 OPK 同步调用方法 | 2.1.0 | 否 | 否 | 是 |
callableModule | string | 是 | 目标 opk 注册的 module | ||||||
callableMethod | string | 是 | 目标 opk 注册的 method | ||||||
param | string | 是 | 调用方法参数 | ||||||
asyncCallFunction | targetAppId | string | 是 | 目标 opk 的 appId | 跨 OPK 异步调用方法 | 2.1.0 | 否 | 否 | 是 |
callableModule | string | 是 | 目标 opk 注册的 module | ||||||
callableMethod | string | 是 | 目标 opk 注册的 method | ||||||
param | string | 是 | 调用方法参数 |
示例代码:
// 在 appId: xxx1234 的 opk 中注册 module 和 方法
import BatchedBridge from 'react-native/Libraries/BatchedBridge/BatchedBridge';
BatchedBridge.registerCallableModule(
'TestModule',
TestModule
);
class TestModule {
public static testMethod(callerId: string, param: string) {
console.log(callerId,param);
}
}
// 在另外一个 opk 中调用方法
import { IPCUtil } from 'orionos-eve-core';
let callFunctionResult = IPCUtil.syncCallFunction(
'xxx1234',
'TestModule',
'testMethod',
JSON.stringify({
key1:89,
kery2:'string value'
})
);
console.log(
TAG,
'syncCallFunction TestModule testMethod result',
callFunctionResult
);