uniapp的群聊openGid和群名的获取

本文详细介绍了在微信小程序中如何利用云开发获取分享ticket并进一步获取用户的openid。通过onLoad设置wx.showShareMenu,然后在app.js中监听onShow事件,结合wx.getShareInfo和wx.login云函数调用来实现这一过程。主要涉及的技术点包括wx.cloud.init、wx.getShareInfo、wx.login以及云函数调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//我使用的云开发

第一步,首先去你分享的页面里的onLoad设置

   wx.showShareMenu({
	  	withShareTicket: true,	  
   })



   app.getShareTiket(function (globalData) {
      that.setData({
        openGid: globalData.openGid
      })
    })

第二步 app.js里面写这些


wx.cloud.init();
App({
  onShow: function (options) {
    let that = this;
    if (options && options.scene == 1044) {
      //获取shareTicket
      that.globalData.shareTicket = options.shareTicket
     
    }
    console.log('onShow---options=--->' + JSON.stringify(options))
  },
  getShareTiket: function (cb) {
    let that = this
    
    if (that.globalData.shareTicket) {
      wx.getShareInfo({
        shareTicket: that.globalData.shareTicket,
        success: function (res) {
          console.log('getShareTiket---shareTicket-->' + JSON.stringify(res))
          //获取encryptedData、iv
          let js_encryptedData = res.encryptedData
          let js_iv = res.iv
          wx.login({
            success: function (res) {
             
              //获取code
              console.log('code-->' + res.code)
             
              //调用云函数,**opengid
              wx.cloud.callFunction({
                name: 'opengid',
                data: {
                  js_code: res.code,
                  appId: 'wxd425c9f085d6cf07',
                  encryptedData: js_encryptedData,
                  iv: js_iv
                },
                success: function (res) {
                  wx.showModal({
                    title: '提示1',
                    content: JSON.stringify(res.result),
                    success (res) {
                    }
                  })
                  console.log('打印opengid' + res.result.openGId);                
                  console.log('res' + JSON.stringify(res));
                  that.globalData.openGid = res.result.openGId
                  console.log('getShareTiket---openGid' + that.globalData.openGid)
                  typeof cb == "function" && cb(that.globalData)
                },
                fail: function (err) {
                  wx.showModal({
                    title: '提示2',
                    content: JSON.stringify(err),
                    success (res) {
                    }
                  })
                  console.log('getShareTiket---err' + JSON.stringify(err))
                }             
              })
            }
          })
        }
      })
    } else {
      console.log('不存在shareTicket')
    }
  },
 
  globalData: {
    shareTicket: '',
    openGid: ''
   }
})

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值