五一節(jié)前上線了微信小程序分享到不同的群領紅包活動固翰,痛點:
1,用戶授權(quán)羹呵,
部分接口需要獲得用戶授權(quán)同意后才能調(diào)用骂际。此類接口調(diào)用時:
image.png
如果用戶未接受或拒絕過此權(quán)限,會彈窗詢問用戶冈欢,用戶點擊同意后方可調(diào)用接口歉铝;
如果用戶已授權(quán),可以直接調(diào)用接口凑耻;
如果用戶已拒絕授權(quán)太示,則短期內(nèi)不會出現(xiàn)彈窗,而是直接進入接口 fail 回調(diào)香浩。請開發(fā)者兼容用戶拒絕授權(quán)的場景类缤。
對于小程序活動而言,用戶拒絕之后再次提醒弃衍,再次取消則退出小程序
wepy.showModal({
title: '授權(quán)提示',
content: '小程序需要您的授權(quán)才能正常使用',
success: res => {
if (res.confirm) {
console.log('用戶點擊確定')
wepy.openSetting({
success: res => {
console.log('打開設置')
if (res.authSetting['scope.userInfo']) {
wepy.getUserInfo({
withCredentials: true,
success: (res) => {
// this.globalData.userInfo = res.userInfo;
resolve(res)
}
})
}
}
})
} else if (res.cancel) {
console.log('用戶點擊取消')
resolve(false) //退出小程序
}
}
})
2,unionId突然不能獲取的踩坑記錄
image.png
3, onShareAppMessage轉(zhuǎn)發(fā)分享
為了得到分享到群詳細信息坚俗,需要添加
wx.showShareMenu({
withShareTicket: true
})
然后得到 res.shareTickets 再通過微信的wxGetshareinfo得到 群詳細信息encryptedData和iv 轉(zhuǎn)碼后得到群的唯一openGId镜盯。通過判斷群的唯一openGId。來判斷分享到不同的群猖败。
// 解密得到openGId
getopenGId(encryptedData, iv) {
let that = this
return new Promise((resolve, reject) => {
common.post({
url: '/xinyang/passport/weixindecrypt',
data: {
'sessionKey': that.session_key,
'encryptedData': encryptedData,
'iv': iv
},
success(res) {
resolve(res)
},
fail(res) {
reject(res)
}
})
})
}
4, js小坑 注意的地方速缆。
JSON.parse('{"order_id":25150000000020075}')
控制臺敲一敲。這是為啥恩闻?