收藏
回答

7.0.0版本紧急重大bug!!!微信小程序重新授权登录切换不了账号









微信7.0.0版本,所有机型,未上线正在测试的体验版本,登录切换手机号无效,只登录取绑定手机号;切换手机号点击允许授权调wx.login()发送code到后台换取对应openId,后台反应该code还是原来绑定手机号的code !!


回答关注问题邀请回答
收藏

8 个回答

  • 周庄睡神
    周庄睡神
    2019-01-03

    我也遇到和你一样的问题 ,  怎么解决 ?  关注ing

    2019-01-03
    有用 4
    回复 14
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-01-03

      你好,请问是不是连续调用两次 wx.login code 没有更新?

      2019-01-03
      回复
    • y
      y
      2019-01-03回复疯狂的小辣椒

      只点了一次,未上线的体验版本,麻烦你去试下

      2019-01-03
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-01-03回复y

      这边测试了没有复现问题,code是有更新的,有在onShow 做了什么逻辑么?给个代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)看看

      2019-01-03
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-01-03回复y

      另外,再确认一点:

      “切换手机号点击允许授权调wx.login()发送code到后台换取对应openId,后台反应该code还是原来绑定手机号的code”

      所以这句话的意思是,上次 wx.login 调用拿到 code 和这次调用 wx.login 拿到的 code 一样是么……

      2019-01-03
      回复
    • y
      y
      2019-01-03回复疯狂的小辣椒

      描述错了,code是不一样的,但是去后台换取回来的用户是一样的

      2019-01-03
      回复
    查看更多(9)
  • 虎鲸云平台
    虎鲸云平台
    2019-01-03

    楼主贴代码比较累,我转个官方常用回复给你:

    必要时可提供代码片段 (https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)  

    2019-01-03
    有用 1
    回复
  • Hash
    Hash
    2019-01-21

    手机号码管理有什么作用呢?我第一次用code换取的unionid与切换手机号码后用code换取的unionid一毛一样,那我如何去做区分?

    2019-01-21
    有用
    回复
  • 挂浆小山竹
    挂浆小山竹
    2019-01-05

    麻烦回复下问题好吗 ???  https://developers.weixin.qq.com/community/develop/doc/000ec2bb19c168ecb0d73fe8c51800


    2019-01-05
    有用
    回复
  • 2019-01-05

    是不是没有清除缓存?

    2019-01-05
    有用
    回复
  • 水
    2019-01-04

    弹框授权时默认卸载了原页面,调用了onHide生命周期函数,你是不是在这里面把授权组件删除了?

    2019-01-04
    有用
    回复
  • y
    y
    2019-01-03
    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 => {
                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)
                let pages = getCurrentPages();//当前页面
                let prevPage = pages[pages.length - 2];//上一页面
                let currentPage = pages[pages.length - 1];//当前页面
                if (currentPage.options.needLoad == '1') {
                  let options = prevPage.options
                  prevPage.onLoad(options)
                }
                wx.navigateBack();
              })
            } else {
              wx.hideLoading();
              wx.showModal({
                title: '提示',
                content: '无法登录,请重试',
                showCancel: false
              })
              return;
            }
          }
        })
      }


    2019-01-03
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-01-03

    你好,请问是不是连续调用两次 wx.login code 没有更新?

    2019-01-03
    有用
    回复 1
    • y
      y
      2019-01-03

      没有啊,只调了一次,只有授权登录点击允许按钮才会调wx.login()

      2019-01-03
      回复
登录 后发表内容