收藏
回答

微信小程序,分享私密信息后,被分享者打开链接后没有获取到正确值?

做了一个小程序有如下场景,分享页面给指定用户后,希望能查看该链接的是指定用户,而不是其他用户,比如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) {
      
      }
    })
},




回答关注问题邀请回答
收藏

1 个回答

  • 艺术
    艺术
    2024-12-04

    你好请问问题解决了吗 我也是相同的问题


    2024-12-04
    有用
    回复
登录 后发表内容