微信小程序> 微信小程序获取open-gid和群名称

微信小程序获取open-gid和群名称

浏览量:1457 时间: 来源:易伟律师

小程序开放了微信群能力,获取groupid是第一步,相关组件在组件的开放数据中,获取open-gid(微信群的groupid)就会自动获取群名称。

  1. <open-data type="groupName" open-gid="xxxxxx"></open-data>

open-gid通过wx.getShareInfo带参数shareTicket(页面内分享可获取)的callback得到加密数据encryptedData,经解密后即可获得。encryptedData解密需要appid,sessionKey,iv 。sessionKey需要通过

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

其中的JSCODE需要调用wx.login获取。解密需要在服务器端进行。


App.js代码如下:定义全局变量sessionKey

  1. App({

  2.  globalData: {

  3.    sessionKey: null,

  4.  }

  5. ,

  6.  onLaunch: function (ops) {

  7.    console.log(ops)

  8.    var that=this

  9.    wx.login({

  10.      success: function (res) {

  11.          console.log(res) // 使用这个 code 向微信换取 session_key

  12.        var js_code=res.code

  13.        wx.request({

  14.          url: 'http://www.st122.cn/xcx/php/getsec.php', //仅为示例,并非真实的接口地址

  15.          data: {

  16.            code: js_code,

  17.          },

  18.          success: function (res) {

  19.            console.log(res.data)

  20.            that.globalData.sessionKey = res.data

  21.          }

  22.        })

  23.      }

  24.    })

  25.  }

  26. })


hello.js文件如下,注意解密后的数据类型为str需转为obj。


  1. var app = getApp()

  2. Page({  

  3.  onShareAppMessage: function (res) {

  4.    var that=this    

  5.    if (res.from === 'button') {

  6.      // 来自页面内转发按钮

  7.      console.log(res)

  8.      console.log(app.globalData.sessionKey)

  9.    }

  10.    wx.showShareMenu({

  11.      withShareTicket: true

  12.    })

  13.    return {

  14.      title: '获取本群名称',

  15.      path: '/pages/hello/hello',

  16.      success: function (res) {

  17.        // 转发成功

  18.        console.log()

  19.        var ticket = res.shareTickets[0]

  20.        wx.getShareInfo({

  21.          shareTicket: ticket,

  22.           success: function (res) {            

  23.            console.log(res)

  24.            var encrypt = res.encryptedData

  25.            var iv=res.iv          

  26.            wx.request({

  27.              url: 'http://www.st122.cn/xcx/php/demo.php', //仅为示例,并非真实的接口地址

  28.              data: {

  29.                encrypt: encrypt,

  30.                iv:iv,

  31.                sessionKey: app.globalData.sessionKey

  32.              },

  33.              success: function (res) {

  34.                console.log(res)

  35.                console.log(res.data)

  36.                var x = res.data;

  37.                console.log(typeof(x))

  38.                var y = eval(

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎