欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 小程序如何获取群聊的openGid以及名称

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:736

高端HTML5响应式企业通用网

2020-05-06   浏览:517

html5响应式外贸网站英文版

2020-05-08   浏览:505

HTML5自适应律师工作室类网

2020-04-04   浏览:501

HTML5影视传媒文化公司类网

2020-05-12   浏览:494

小程序如何获取群聊的openGid以及名称

发布时间:2020-10-15  

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

方案:微信在更新分享接口后,原有的在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.

本文标签

:备案管家服务帮您把复杂流程变简单,解决您在进行网站备案过程中遇到的效率低下和成功率不高的问题。个人300/2个域名,企业500/5个域名,qq1650004.