收藏
回答

wx.login 在android 6.0.1中 无法获取到code值吗?

这是用户那边的手机,我们这边没法去测试,我想问一下,大部分人都是可以正常授权使用的,但是有比较小的一部分人无法授权登录,这是其中一个,我在页面上设置了code值得显示,但是现在没有,fail的提示信息也没有,应该走的success,我这应该怎么办,


下边的代码我在页面上也做了判断 canIUseGetUserProfile ,两种授权方式都有,项目运行了一年多了,以前没有这情况,自从更新了getUserProfile,这种情况就变多了,每一百人里大概有2-4个这种情况,大部分应该都是型号比较老的手机,上面的是其中一个,我想知道是什么问题

getUserProfile(e) {
        wx.getUserProfile({
          desc: '用于完善用户资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
          success: (res) => {
            wx.showLoading()
            var userInfo = res.userInfo
            let e = {
              detail: {
                userInfo:userInfo
              }
            }
            this.getinfo(e)
          }
        })
      },
      getinfo(e) {
        if (e.detail.userInfo) {
          var userInfo = e.detail.userInfo
          wx.showLoading()
          wx.login({
            success: (rescode) => {
              if(!rescode.code) {
                wx.showModal({
                  content: 'code获取错误,请重试',
                  showCancel: false,
                })
                return false
              }
              wx.request({
                url: host + '/index.php/index/service/login',
                method: 'post',
                data: {
                  code: rescode.code
                },
                success: (res) => {
                  if(!res.data.session_key) {
                    wx.showModal({
                      content: 'session_key获取错误,请重试',
                      showCancel: false,
                    })
                    return false
                  }
                  wx.setStorageSync('session_key', res.data.session_key)
                  wx.request({
                    url: host + '/index.php/index/service/dologin',
                    data: {
                      openid: res.data.openid,
                      nickname: userInfo.nickName,
                      headpic: userInfo.avatarUrl,
                      sex: userInfo.gender,
                      province: userInfo.province
                    },
                    method: 'post',
                    success: (res2) => {
                      if (res2.data.code == 1) {
                        //登录成功
                      }else{
                        wx.showModal({
                          content: res2.data.msg,
                          showCancel: false,
                        })
                      }
                    }
                  });
                }
              })
            },
            fail: () => {
              wx.showToast({
                title: '登录失败',
                icon: 'none',
                duration: 2000
              })
            }
          })
        } else {
          wx.showToast({
            title: '登录失败',
            icon: 'none',
            duration: 2000
          })
        }


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

2 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2021-08-16

    2.10.4 以下基础库不支持使用 wx.getUserProfile 获取用户信息,采用 wx.getUserInfo 原有获取流程不受影响。打印下login返回结果或是上传下日志看看

    2021-08-16
    有用
    回复 5
    • 成涛
      成涛
      2021-08-18
      login结果在日志中记录的是null,你说的getUserInfo我也是做了兼容的,而且上面说的手机的基础库版本是2.19.1,应该执行getUserProfile,后来用户中又出现的问题手机型号是oppo A57,微信版本号是8.0.9,基础库是2.19.1,系统是6.0.1,所以我就是想问问是不是和安卓系统6.0.1有关系
      2021-08-18
      回复
    • 成涛
      成涛
      2021-08-18
      code值是null,login结果没有打印
      2021-08-18
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2021-08-18回复成涛
      上传下日志看看
      2021-08-18
      1
      回复
    • 成涛
      成涛
      2021-08-20回复社区技术运营专员-Jahozheng
      找到问题了,前端获取到的值都是正常的,但是后端接口在android 6.0.1中无法使用,估计应该是证书的问题
      2021-08-20
      回复
    • MT🐾
      MT🐾
      2021-09-02回复成涛
      我们也遇到了相同问题,请问是怎么解决的?感谢啦
      2021-09-02
      回复
  • 醽酃*&%#*-林
    醽酃*&%#*-林
    2021-08-16

    同求解答 vivo NEX S基础库2.19.1遇到同样的问题 获取不到code

    2021-08-16
    有用
    回复 1
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2021-08-18
      你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
      2021-08-18
      回复
登录 后发表内容