tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

定制分享能力

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");
}
}


帮助和支持

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

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

文档反馈