你的需求是否与某个问题相关? (Is your feature request related to a problem?)
extBirdge 的设计强制了小程序侧只能调用 wx.extBirdge('methodName') 与 Native 通信,这对外部开发者来说并不友好。
场景如下:
- 实现 Dimina 中未实现的 API 时,更希望是直接挂载在
wx.[method] 上面。比如要实现 wx.login 等等方法。
- 当于 Dimina BaseAPI 实现不一致是,无法重载掉 Dimina 已实现的 API
描述你想要的解决方案 (Describe the solution you'd like)
根据目前 iOS,Android 和 Harmony 已经实现的 API 来看,直接使用已有的方法就可以重载掉内部实现。
iOS: DMPContainerApi.registerMethod(name:handler:) 是 public,可以直接使用
Android: MiniApp.getInstance().registerApi(AudioApi()) 也可以直接使用
Harmony: registerCustomModule() 方法本身是 public 的,将 DMPContainerBridgesModule, DMPAppModuleManager 导出就行 (待实现)
H5: #189 新增一个 registryAPI
也可以将这些 register Method 的 API 名统一,提高一致性。
描述你考虑过的替代方案 (Describe alternatives you've considered)
No response
平台 (Platform)
补充信息 (Additional context)
No response
你的需求是否与某个问题相关? (Is your feature request related to a problem?)
extBirdge 的设计强制了小程序侧只能调用
wx.extBirdge('methodName')与 Native 通信,这对外部开发者来说并不友好。场景如下:
wx.[method]上面。比如要实现wx.login等等方法。描述你想要的解决方案 (Describe the solution you'd like)
根据目前 iOS,Android 和 Harmony 已经实现的 API 来看,直接使用已有的方法就可以重载掉内部实现。
iOS: DMPContainerApi.registerMethod(name:handler:) 是 public,可以直接使用
Android: MiniApp.getInstance().registerApi(AudioApi()) 也可以直接使用
Harmony: registerCustomModule() 方法本身是 public 的,将 DMPContainerBridgesModule, DMPAppModuleManager 导出就行 (待实现)
H5: #189 新增一个 registryAPI
也可以将这些 register Method 的 API 名统一,提高一致性。
描述你考虑过的替代方案 (Describe alternatives you've considered)
No response
平台 (Platform)
补充信息 (Additional context)
No response