查看: 1164|回复: 10

[经验分享] 小程序获取群标识

[复制链接]
回帖奖励 5 MC币 回复本帖可获得 1 MC币奖励! 每人限 1 次(中奖概率 60%)

189

主题

201

帖子

1000

积分

管理员

子枫

Rank: 9Rank: 9Rank: 9

积分
1000
QQ
发表于 2020-3-24 10:40:02 | 显示全部楼层 |阅读模式
app.js
[AppleScript] 纯文本查看 复制代码
App({
  
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },



  globalData: {
    shareTicket: '',
    openGid: ''
  },

// 获取群shareTicket
  onShow: function (options) {
    let that = this
    if (options && options.scene == 1044) {
      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))
          let js_encryptedData = res.encryptedData
          let js_iv = res.iv
          wx.login({
            success: function (res) {
              let js_code = res.code
              console.log('code-->' + js_code)
              wx.request({
                url: 'xxxxxxxx',
                method: 'POST',
                data: {
                  code: js_code,
                  appId: 'xxxxx',
                  encryptedData: js_encryptedData,
                  iv: js_iv
                },
                success: function (res) {
                  that.globalData.openGid = res.data.openGId
                  console.log('getShareTiket---openGid' + that.globalData.openGid)
                  typeof cb == "function" && cb(that.globalData)
                },
                fail: function (err) {
                  console.log('getShareTiket---err' + JSON.stringify(err))
                }
              })
            }
          })
        }
      })
    } else {
      console.log('不存在shareTicket')
    }
  }
})

js
[AppleScript] 纯文本查看 复制代码
// pages/share/qun/qun.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    openGid: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    wx.showShareMenu({
      withShareTicket: true
    })
    app.getShareTiket(function (globalData) {
      console.log('clickReload---globalData-->' + JSON.stringify(globalData))
      that.setData({
        openGid: globalData.openGid
      })
    })
  },
  clickReload: function () {
    let that = this
    app.getShareTiket(function (globalData) {
      console.log('clickReload---globalData-->' + JSON.stringify(globalData))
      that.setData({
        openGid: globalData.openGid
      })
    })
  },

 
})

wxml
[AppleScript] 纯文本查看 复制代码
<!--index.wxml-->
<view wx:if="{{openGid}}" class='groupName'>
  群名称:<open-data type="groupName" open-gid="{{openGid}}"></open-data>
</view>

<view wx:else>
  <button bindtap='clickReload'>点击加载群名称</button>
</view>

<view>{{openGid ? openGid : '无'}}</view>



0

主题

11

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2020-3-24 10:40:25 | 显示全部楼层
学习了
回复

使用道具 举报

0

主题

9

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2020-3-24 10:41:16 | 显示全部楼层
学习了
回复

使用道具 举报

0

主题

11

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2020-3-24 10:41:19 | 显示全部楼层
谢谢
回复

使用道具 举报

0

主题

13

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2020-3-24 10:47:06 | 显示全部楼层
论坛有你更精彩!
回复

使用道具 举报

0

主题

12

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2020-3-24 10:57:32 | 显示全部楼层
好东西一定要看看!
回复

使用道具 举报

0

主题

17

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2020-3-24 11:04:41 | 显示全部楼层
楼上+1
回复

使用道具 举报

0

主题

11

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2020-3-24 11:10:21 | 显示全部楼层
不错
回复

使用道具 举报

0

主题

15

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-3-24 11:15:31 | 显示全部楼层
楼上+1
回复

使用道具 举报

0

主题

15

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2020-3-24 11:16:18 | 显示全部楼层
到此一游
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则