场景描述
1.点击分享,判断是右上角分享,还是页面点击分享
2.分享了之后,判断是分享到群还是个人
3.用户点击分享的内容进来,然后进行其他操作如统计信息
效果图
1.分享群:
2.同样分享到个人
代码:
index.js
const app = getApp()
Page({
onLoad: function(e) {
//分享
wx.showShareMenu({
withShareTicket: true,
success: function(res) {
// 分享成功
console.log('index.js>>onLoad():showShareMenu');
console.log(res);
},
fail: function(res) {
// 分享失败
console.log(res)
}
});
//点击分享的面板进入的小程序
if (e && e.userShare) {
console.log("加载e对象");
console.log(e);
console.log("加载e对象中userShare");
console.log(e.userShare);
//转化json为对象
let userShare = JSON.parse(e.userShare);
console.log("对象中userShare.openId");
console.log(userShare.openId);
console.log("对象中userShare");
console.log(userShare.nickName);
}
},
//接口:分享功能
onShareAppMessage: function(res) {
var vm = this;
if (res.from === 'button') {
console.log("onShareAppMessage()==>>来自页面内转发按钮");
console.log(res.target);
} else {
console.log("onShareAppMessage()==>>来自右上角转发菜单")
}
//自定义信息
let sendinfo = {
openId: "111", //分享人的openId
nickName: "艾弗森", //分享人的昵称
}
let str = JSON.stringify(sendinfo);
return {
title: sendinfo.nickName + '分享了小程序"Allen Iverson"',
path: 'pages/index/index?userShare=' + str,
imageUrl: "../img/ai1.jpg",
success: function(res) {
console.log("分享success()");
console.log("onShareAppMessage()==>>转发成功", res);
//分享的是群还是个人
app.setInfo(res);
},
fail: (res) => {
console.log("onShareAppMessage()==>>转发失败", res);
}
}
},
})
app.js
App({
//接口:分享群或者个人
setInfo: function(res1) {
var vm = this;
wx.getSystemInfo({ //获取设备信息
success: function(d) {
console.log("获取设备信息");
console.log(d);
//判断用户手机是IOS还是Android
if (d.platform == 'android') {
wx.getShareInfo({ //获取群详细信息
shareTicket: res1.shareTickets,
success: function(res) {
//这里写你分享到群之后要做的事情,比如增加次数什么的
//查询群的信息
console.log("getShareInfo()>>android>>");
console.log(res.encryptedData);
console.log(res.iv);
wx.showModal({
title: '提示',
content: '分享群成功',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
},
fail: function(res) { //这个方法就是分享到的是好友,给一个提示
wx.showModal({
title: '提示',
content: '分享好友成功',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
})
}
if (d.platform == 'ios') { //如果用户的设备是IOS
if (res.shareTickets != undefined) {
console.log("分享的是群");
wx.getShareInfo({
shareTicket: res.shareTickets,
success: function(res) {
//分享到群之后你要做的事情
}
})
} else { //分享到个人要做的事情,我给的是一个提示
console.log("分享的是个人");
wx.showModal({
title: '提示',
content: '分享好友成功',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
}
}
})
},
})
分享之后,到群里的展示图如下:
其他人点击分享的面板,进入小程序,看看获得的信息:
获得信息中包含了,之前自己填写的信息!!!
到这里,分享功能就结束了!留言区等你哦!!!
获取群openGid并且展示群信息在我的这篇文章中:https://blog.youkuaiyun.com/qq_40670946/article/details/82843879