微信小程序,分享私密信息后,被分享者打开链接后没有获取到正确值?
做了一个小程序有如下场景,分享页面给指定用户后,希望能查看该链接的是指定用户,而不是其他用户,比如A发分享给B,那么只能B查看,如果B将信息转发给C,C则不能查看该信息(不采用禁止分享的方式)。 代码如下: onShareAppMessage: function (options) {
let that = this
return new Promise(resolve => {
http.httpGet('ShareBus/wx_getActivityId',
function (res) {
if (res) {
if (res.success && res.msgType == 200) { //业务正确
let rectiveId = res.resultSet
//设置私密消息,在群聊中也不可转发
wx.updateShareMenu({
withShareTicket: true, //分享时是否携带ShareTicket
isPrivateMessage: false,//只是做禁止分享可以不用activityId
activityId: rectiveId
})
resolve(that.handleShare(options))
}
}
}
)
})
},
handleShare(options) {
let cardObj = options.target.dataset.obj
let title = "您好,我是" + cardObj.name + ",这是我的名片"
// 设置菜单中的转发按钮触发转发事件时的转发内容
let shareObj = {
title: title,
path: '/pages/busCard/home/home',
imageUrl: cardObj.bigProfileUrl,
};
return shareObj;
},
然后我想在[代码]app.js[代码]里面[代码]onShow[代码]判断查看当前分享的用户是否能够查看私密信息: 但是 [代码]shareTicket[代码] 获取到的一直都是 undefined
onShow(options) {
const { shareTicket,referrerInfo } = options
//获取到的 shareTicket 一直是 undefined
if(shareTicket){
this.authPrivate(shareTicket)
}
},
authPrivate(shareTicket,callback){
let that = this
wx.authPrivateMessage({
shareTicket: shareTicket,
success(res) {
if(res.valid == true){
//提示这个人是私密分享的接受者 可以参与活动
}else{
//提示这个人是不是私密分享的接受者
}
},
fail(res) {
}
})
},