主页 > 前端 > javascript >
来源:未知 时间:2019-07-18 11:20 作者:小飞侠 阅读:次
[导读] 今天给大家带来微信小程序获取群聊的openGid和名称详解,下面进入文章讲解。 背景: 由于公司可能需要在微信群里面使用打卡功能,因此做了个技术调研。 方案: 微信在更新分享接...
|
今天给大家带来微信小程序获取群聊的openGid和名称详解,下面进入文章讲解。 背景:由于公司可能需要在微信群里面使用打卡功能,因此做了个技术调研。 方案:微信在更新分享接口后,原有的在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和名称详解感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com