直接展示代码 1、微信分享 1.1、安装 fluwx插件,去pub.dev下载最新的, 点击去 1.2、初始化fluwx, 在main.dart页面中的main方法执行一下代码
Fluwx fluwx = Fluwx();
// 注册微信API
fluwx.registerApi(
appId: Config.wxAppId, // 你的微信AppID
universalLink: Config.universalLink // iOS必填
);
1.3 分享代码
bool isWeChatInstalled = await fluwx.isWeChatInstalled; // 一定到判断是否安装微信
// 分享到微信会话
void shareToWeChat(String type) async {
if (!isWeChatInstalled) {
Fluttertoast.showToast(
msg: "请安装微信客户端后再试",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Colors.white,
textColor: Colors.black,
fontSize: 14.0,
);
return;
}
try {
// 加载缩略图 二进制数据
final response = await http.get(Uri.parse('网络图片地址'));
Uint8List thumbnailData = response.bodyBytes;
WeChatScene scene = WeChatScene.session;
if (type == 'session') {
// 好友
scene = WeChatScene.session;
}
if (type == 'timeline') {
//朋友圈
scene = WeChatScene.timeline;
}
String url = 'https://oceantech2023.cn/invite?code=$invitationCode';
final result = await fluwx.share(
WeChatShareWebPageModel(
url, // 要分享的网页链接(String)不是必填
title: '注册获7天免费会员!', // 分享标题 不是必填
description: """🎉 好消息!我为你带来了独享的福利!🎉 !""", // 描述说明 不是必填
thumbData: thumbnailData, //分享时的小图标(Uint8List 类型的图片二进制数据,推荐 <32KB) 不是必填
scene: scene,// 分享的目标场景(微信好友/朋友圈等)
),
);
print('分享结果: $result');
} catch (e) {
logger.e("分享失败: $e");
Fluttertoast.showToast(
msg: "分享失败",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Colors.black,
textColor: Colors.white,
fontSize: 14.0,
);
}
}
2、QQ分享 2.1、安装tencent_kit 插件,去pub.dev下载最新的, 点击去 2.2、初始化tencent_kit, 在main.dart页面中的main方法执行一下代码
WidgetsFlutterBinding.ensureInitialized();
await Tencent.instance.registerApp(appId: '你的QQ AppID');
2.3、分享代码
void shareToQQ(String type) async {
TencentScene scene = TencentScene.kScene_QQ;
final bool isInstalled = await Tencent.instance.isQQInstalled();
if (!isInstalled) {
Fluttertoast.showToast(
msg: "请安装QQ客户端后再试",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: Colors.white,
textColor: Colors.black,
fontSize: 14.0,
);
return;
}
if (type == 'kScene_QQ') {
// 好友
scene = WeChatScene.kScene_QQ;
}
if (type == 'kScene_QZone') {
//朋友圈
scene = WeChatScene.kScene_QZone;
}
final result = await Tencent.instance.shareWebpage(
scene: scene, // 分享给QQ好友
title: '注册得7天超级会员!', // ✅ 必填
summary: '填写邀请码立即获得会员体验,限时福利速来!', // ✅ 必填
targetUrl: 'https://yourdomain.com/invite?code=XXX', // ✅ 必填
imageUri: Uri.parse('https://yourcdn.com/cover.jpg'), // ✅ 可选:缩略图
);