tencent cloud

定制分享能力

PDF
聚焦模式
字号
最后更新时间: 2025-07-04 16:48:08
开发人员可以自定义小程序操作面板中的按钮。其中包括分享按钮和其他功能按钮。目前,点击小程序右上方的更多按钮即可调出操作面板:
@override
Future<List<CustomMenu>> getCustomMenus() async {
CustomMenu menu1 = CustomMenu(
100, 'res/images/tcmpp_demo_share_whatsapp.jpeg', 'WhatsApp', true,shareKey: "whatsapp");
CustomMenu menu2 = CustomMenu(
101,
'res/images/tcmpp_demo_share_more.png',
'Custom',
false);

return [
menu1,
menu2,
];
}
开发人员也可以自定义wx.showShareImageMenu中显示的分享列表:
@override
Future<List<CustomMenu>> getImageShareCustomMenus() async {
CustomMenu menu1 = CustomMenu(200, '', 'Share To Friend', true);
CustomMenu menu2 = CustomMenu(201, '', 'Share To WhatsApp', true);

return [menu1, menu2];
}
点击菜单回调:
@override
Future<void> customMenuClick(int menuId, ShareData? shareMenu) async {
print("click menuId:$menuId shareMenu:$shareMenu");
Fluttertoast.showToast(msg: "click menuId:$menuId");

if (menuId == 101) {
// System share
String text = "This is the content to share:${shareMenu?.appTitle}";
await Share.share(text);
return;
}

if (menuId == 100) {
// Share to WhatsApp
String text = "This is the content to share${shareMenu?.appTitle}";
String whatsappUrl = "whatsapp://send?text=$text";
if (await canLaunchUrl(Uri.parse(whatsappUrl))) {
await launchUrl(Uri.parse(whatsappUrl));
} else {
await Share.share(text);
}
return;
}

if (menuId == 200) {
final imageUrl = shareMenu?.imageUrl;
if (imageUrl != null && imageUrl.isNotEmpty) {
await Share.shareXFiles([XFile(imageUrl)], text: "Share image");

final appId = shareMenu?.appId;
if(appId != null && appId.isNotEmpty) {
TcmppFlutter().moveMiniAppToFront(appId);
}

} else {
Fluttertoast.showToast(msg: "Image url not found");
}
return;
} else if(menuId == 201) {
Fluttertoast.showToast(msg: "Share to WhatsApp");
}
}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈