tencent cloud

文档反馈

自定义小程序 API

最后更新时间:2024-09-10 18:52:42
如果在小程序中需要调用某些宿主应用提供的能力,在小程序 SDK 未实现或无法实现时,开发者可以通过注册扩展(自定义) API 来实现相关能力,使得小程序能够调用宿主应用中提供的自定义 API 能力。
定义自定义的小程序 api 并关联 api 处理程序。apiName:自定义 api 的名称,小程序可通过调用 wx.invokeNativePlugin()使用此 api。
apiHandler: 处理此 api 调用的函数。
void registerMiniAppApi(String apiName, TcmppMiniAppApiHandler apiHandler)
示例代码:
final _tcmppFlutterPlugin = TcmppFlutter();

...

@override
void initState() {
super.initState();

...

/// 必须在小程序启动前注册
_tcmppFlutterPlugin.registerMiniAppApi("myApiName",myApiHandler);
}
小程序会通过 wx.invokeNativePlugin 的方式传入 api_name 去调用 flutter 注册的 myApiName。
小程序代码的调用示例:
example code:
/// Mini Program Call
var opts = {
api_name: 'myApiName',
success: function(res) {
log(res);
},
fail: function(res) {
log(res);
},
complete: function(res) {
log(res);
},
data: {
name : 'kka',
age : 22
}
}
wx.invokeNativePlugin(opts);
在 flutter 侧实现 myApiHandler 函数:
/// 客户端 API
Future<Map<String, dynamic>?> myApiHandler(MiniApiCall call) async {
print("API : ${call.apiName}");
print("AppInfo: ${call.appInfo}");
print("WebView ID: ${call.webViewId}");
print("params: ${call.params}");
return {"result": "success","method":"myApiHandler"};
}

联系我们

联系我们,为您的业务提供专属服务。

技术支持

如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

7x24 电话支持