最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

微信小程序如何获取群聊的openGid以及名称详解

来源:懂视网 责编:小采 时间:2020-11-27 21:53:39
文档

微信小程序如何获取群聊的openGid以及名称详解

微信小程序如何获取群聊的openGid以及名称详解:背景:由于公司可能需要在微信群里面使用打卡功能,因此做了个技术调研。 方案:微信在更新分享接口后,原有的在onShareAppMessage中直接拿shareTicket已不复存在。根据最新文档显示,需要在App.onLaunch()跟App.onShow()中获取。 Demo核
推荐度:
导读微信小程序如何获取群聊的openGid以及名称详解:背景:由于公司可能需要在微信群里面使用打卡功能,因此做了个技术调研。 方案:微信在更新分享接口后,原有的在onShareAppMessage中直接拿shareTicket已不复存在。根据最新文档显示,需要在App.onLaunch()跟App.onShow()中获取。 Demo核

背景:由于公司可能需要在微信群里面使用打卡功能,因此做了个技术调研。

方案:微信在更新分享接口后,原有的在onShareAppMessage中直接拿shareTicket已不复存在。根据最新文档显示,需要在App.onLaunch()跟App.onShow()中获取。

Demo核心代码:

index.js

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
 })
 })
 }
})

index.wxml

<!--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>

app.js

//app.js
App({
 globalData: {
 shareTicket: '',
 openGid: ''
 },
 onLaunch: function (options) {

 },
 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')
 }
 }
})

注意事项

1:必须调用这个接口wx.showShareMenu({withShareTicket: true}),否则在App.onLaunch()跟App.onShow()时,你拿不到shareTicket.

2:微信开发者工具可以模拟1044的场景,但是不会显示群名称,因为你不在群里。所以测试的时候,自己拉个微信群,然后分享到测试群,就能拿到群名称。

文档

微信小程序如何获取群聊的openGid以及名称详解

微信小程序如何获取群聊的openGid以及名称详解:背景:由于公司可能需要在微信群里面使用打卡功能,因此做了个技术调研。 方案:微信在更新分享接口后,原有的在onShareAppMessage中直接拿shareTicket已不复存在。根据最新文档显示,需要在App.onLaunch()跟App.onShow()中获取。 Demo核
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top