- 紧急重大bug!!!微信小程序重新授权登录切换不了账号
[图片] [图片] [图片] [图片] 问题描述:微信7.0.0版本,所有机型,未上线正在测试的体验版本,登录切换手机号无效,只能登录原来绑定手机号账号;切换手机号点击允许授权调wx.login()发送code到后台换取对应openId,后台反应换取的还是原来绑定账号的openId !! 代码断: wxml: [代码]<!-- 微信授权登录 -->[代码][代码]<view [代码][代码]class[代码][代码]=[代码][代码]"wxland"[代码][代码]>[代码][代码]<p><image src=[代码][代码]"../../images/land_page/wx.png"[代码][代码]></image></p>[代码][代码]<text>微信授权登录</text>[代码][代码]<button wx:[代码][代码]if[代码][代码]=[代码][代码]"{{canIUse}}"[代码] [代码]open-type=[代码][代码]"getPhoneNumber"[代码] [代码]bindgetphonenumber=[代码][代码]"getPhoneNumber"[代码][代码]></button>[代码][代码]</view>[代码] js: [代码]getPhoneNumber: [代码][代码]function[代码][代码](e) {[代码][代码] [代码][代码]if[代码] [代码](e.detail.errMsg === [代码][代码]'getPhoneNumber:ok'[代码][代码]) { [代码][代码]//用户同意授权[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]phoneInfo: e.detail[代码][代码] [代码][代码]})[代码][代码] [代码][代码]this[代码][代码].login()[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{ [代码][代码]//用户拒绝授权[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]//用户按了拒绝按钮[代码][代码] [代码][代码]}[代码][代码] [代码][代码]},[代码][代码] [代码][代码]login: [代码][代码]function[代码][代码](e) {[代码][代码] [代码][代码]let that = [代码][代码]this[代码][代码] [代码][代码]wx.login({[代码][代码] [代码][代码]success(res) {[代码][代码] [代码][代码]if[代码] [代码](res.code) {[代码][代码] [代码][代码]wxGetData({[代码][代码] [代码][代码]api: [代码][代码]'weixin/xcxLogin'[代码][代码], [代码][代码]//登录接[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]code: res.code,[代码][代码] [代码][代码]encryptedData: that.data.phoneInfo.encryptedData,[代码][代码] [代码][代码]iv: that.data.phoneInfo.iv[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}).then(res => {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]if[代码] [代码](!res.data || res.data.code != [代码][代码]'0'[代码][代码]) {[代码][代码] [代码][代码]wx.hideLoading();[代码][代码] [代码][代码]wx.showModal({[代码][代码] [代码][代码]title: [代码][代码]'提示'[代码][代码],[代码][代码] [代码][代码]content: res.data.message,[代码][代码] [代码][代码]showCancel: [代码][代码]false[代码][代码] [代码][代码]})[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]let userInfo = res.data.data.member[代码][代码] [代码][代码]wx.setStorageSync([代码][代码]'token'[代码][代码], res.data.data.access_token)[代码][代码] [代码][代码]wx.setStorageSync([代码][代码]'userInfo'[代码][代码], userInfo);[代码][代码] [代码][代码]wx.navigateBack();[代码][代码] [代码][代码]})[代码][代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]wx.hideLoading();[代码][代码] [代码][代码]wx.showModal({[代码][代码] [代码][代码]title: [代码][代码]'提示'[代码][代码],[代码][代码] [代码][代码]content: [代码][代码]'无法登录,请重试'[代码][代码],[代码][代码] [代码][代码]showCancel: [代码][代码]false[代码][代码] [代码][代码]})[代码][代码] [代码][代码]return[代码][代码];[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码] [代码] [代码] onLoad: function(options) {}, [代码][代码] onShow: function() {},
2019-01-03 - 7.0.0版本紧急重大bug!!!微信小程序重新授权登录切换不了账号
[图片] [图片] [图片] [图片] 微信7.0.0版本,所有机型,未上线正在测试的体验版本,登录切换手机号无效,只登录取绑定手机号;切换手机号点击允许授权调wx.login()发送code到后台换取对应openId,后台反应该code还是原来绑定手机号的code !!
2019-01-03 - 7.0.0版本小程序授权登录使用其他手机号登录无效
- 当前 Bug 的表现(可附上截图)[图片] [图片] [图片] [图片] - 预期表现 体验版本小程序授权登录切换手机号可以登录对应手机的界面,实际只能登录原来绑定手机号的账号 - 复现路径 体验版本小程序授权登录切换手机号可以登录对应手机的界面,实际只能登录原来绑定手机号的账号 - 提供一个最简复现 Demo getPhoneNumber: function(e) { if (e.detail.errMsg === 'getPhoneNumber:ok') { //用户同意授权 this.setData({ phoneInfo: e.detail }) this.login() } else { //用户拒绝授权 console.log(199) return; //用户按了拒绝按钮 } }, login: function(e) { let that = this wx.login({ success(res) { if (res.code) { wxGetData({ api: 'weixin/xcxLogin', //登录接 data: { code: res.code, encryptedData: that.data.phoneInfo.encryptedData, iv: that.data.phoneInfo.iv } }).then(res => { if (!res.data || res.data.code != '0') { wx.hideLoading(); wx.showModal({ title: '提示', content: '无法登录,请重试', showCancel: false }) return; } let userInfo = res.data.member wx.setStorageSync('token', res.data.data.access_token) wx.setStorageSync('userInfo', userInfo) wx.navigateBack(); }) } else { console.log('登录失败!' + res.errMsg) } } }) }
2019-01-03