1.首先需要在分享方法里面设置
wx.showShareMenu({
withShareTicket: true
});
2.在分享成功返回后调用微信获取群信息方法来获取必要的参数
if (res.from === 'button') {//页面内转发
return {
title: "标题",
path: "pages/sqpage/sqpage",
success: function (res) {
var shareTickets = res.shareTickets;
if (shareTickets.length == 0) {
return false;
}
wx.getShareInfo({
shareTicket: shareTickets[0],
success: function (res) {
console.log(res);
var encryptedData = res.encryptedData;
encryptedData = decodeURIComponent(encryptedData);//解密获取的encryptedData
var iv = res.iv;
iv = decodeURIComponent(iv);//解密获取的iv
}
3.调用微信登录方法来获取code值然后和后台配合来解析出Gopenid
wx.login({
success: function (res) {
var code = res.code;
var signature = signa.signaturetik('token=' + token, 'userAccessToken=' + userAccessToken, 'code=' + code, 'encryptedData=' + encryptedData, 'iv=' + iv);
wx.request({
url: "------------",//写上你后台服务器路径(用途:解析出Gopenid)
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST',
data: { 'code': code, 'encryptedData': encryptedData, "iv": iv, 'userAccessToken': userAccessToken, 'signature': signature, 'token': token},
success: function (res) {
console.log(res);
}
})
}
})
4.整体流程效果
onShareAppMessage: function (res) {
console.log(res);
var that = this;
wx.showShareMenu({
withShareTicket: true
});
if (res.from === 'button') {
return {
title: "电力发布小程序",
path: "pages/sqpage/sqpage",
success: function (res) {
console.log(res);
var shareTickets = res.shareTickets;
if (shareTickets.length == 0) {
return false;
}
wx.getShareInfo({
shareTicket: shareTickets[0],
success: function (res) {
console.log(res);
var encryptedData = res.encryptedData;
encryptedData = decodeURIComponent(encryptedData);
var iv = res.iv;
iv = decodeURIComponent(iv);
var token = signa.tokenmake();
wx.login({
success: function (res) {
var code = res.code;
var signature = signa.signaturetik('token=' + token, 'userAccessToken=' + userAccessToken, 'code=' + code, 'encryptedData=' + encryptedData, 'iv=' + iv);
wx.request({
url: "后台服务器路径",//写上你后台服务器路径(用途:解析出Gopenid)
header: {
'content-type': 'application/x-www-form-urlencoded'
},
method: 'POST',
data: { 'code': code, 'encryptedData': encryptedData, "iv": iv, 'userAccessToken': userAccessToken, 'signature': signature, 'token': token},
success: function (res) {
console.log(res);
}
})
}
})
}
})
},
fail: function () {
}
}
}
}