收藏
回答

wx.login登录失败login:fail login no response

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS ios ios 6.7.1

- 当前 Bug 的表现(可附上截图)



在进入小程序的时候出现登录失败(wx.login走的失败)。退出进程重新进也是这种情况。已知是出现两例都是ios


目前没找到任何原因,小程序是上线运行的,有一定的用户量。


网上找过一些资料,没有找到什么好的答案。


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

2 个回答

  • 飞
    2020-08-12

    我这也碰到过,偶发,也是ios手机,微信版本新的,很奇怪~

    2020-08-12
    有用
    回复
  • 灵芝
    灵芝
    2018-09-25

    你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2018-09-25
    有用
    回复 7
    • 不懼歲月
      不懼歲月
      2018-09-25

      是ios手机。微信6.7.1。是用户那边出现的问题,如果我这边能复现问题就不会再这里提问了。


      能提供的是下面的代码了,用的是wepy框架。



      import wepy from 'wepy';
      import urls from './urls.js';
      import defer from './defer.js';
      import global from './global.js';
      import header from './header';

      // 登录流程
      function doLogin(svrLogin) {
      const deferred = defer();

       wxLogin();

       // 微信登录
       function wxLogin() {
      wepy.login({
      success: function(res) {
      if (!res.code) {
      deferred.reject({
      success: false,
                 errMsg: '微信登录失败!' + res.errMsg
      })
      return;
             }
      serverLogin(res.code);
           },
           fail: function(res) {
      wepy.showModal({
      content: 'wx.login[' + res.errMsg + ']微信登录失败',
               showCancel: false,
               confirmText: '再试一次',

               success: function(res) {
      if (res.confirm) {
      wxLogin();
                 }
      }
      })

      deferred.reject({
      success: false,
               errMsg: '微信登录失败'
             })
      }
      });
       }

      // 获取用户信息成功后向服务器请求登录
       function serverLogin(code) {
      wepy.request({
      url: urls.login,
           data: {
      code,
           },
           method: 'POST',
           header: {
      // 设置请求的 header
             ...header(),
             'Accept': 'application/json',
             'content-type': 'application/x-www-form-urlencoded;charset=utf-8'
           },
           success: function(res) {
      if (typeof res.data === 'string') {
      res.data = JSON.parse(res.data);
             }
      if (res.header && res.header['X-SESSION-ID']) {
      // 自动记录sessionId
               global.sessionId = res.header['X-SESSION-ID'];
               wx.setStorageSync('session_id', global.sessionId);
             }
      // success
             if (res.data && res.data.success === true) {
      console.log('微信登录成功')

      deferred.resolve({
      success: true,
                 ...global,
               })
      } else {
      wepy.showModal({
      content: (res.data && res.data.msg) ? res.data.msg : '微信登录失败',
                 showCancel: false,
                 confirmText: '知道了',
               })

      console.log('微信登录失败', res.data)
      deferred.reject({
      success: false,
                 code: res.data.code,
                 msg: res.data.msg
      })
      }
      },
           fail: function(res) {
      wepy.showModal({
      content: '似乎出错了,请稍后再试。',
               showCancel: false,
               confirmText: '知道了',
             })

      deferred.reject({
      success: false,
               msg: res.errMsg
      })
      }
      })
      }

      return deferred.promise;
      }

      // 超时登录回调
      async function timeoutLogin() {
      if (global.logining === true) {
      return;
       }
      global.logining = true;

       await doLogin();

       (global.loginCallback || []).forEach(d => d());

       delete global.logining;
       delete global.loginCallback;
      };

      export default timeoutLogin;


      2018-09-25
      回复
    • 灵芝
      灵芝
      2018-09-25回复不懼歲月

      是不是基础库版本太低了,有些方法不适用导致的失败呢?

      2018-09-25
      回复
    • 不懼歲月
      不懼歲月
      2018-09-26回复灵芝

      应该不会,他手机上微信版本是6.7.1差不多是最新版了。基础库不会低吧。

      主要问题是现在只发现两例ios的,其它的手机都很正常。

      2018-09-26
      回复
    • 灵芝
      灵芝
      2018-09-26回复不懼歲月

      这个看起来就版本库挺低的了呀


      2018-09-26
      回复
    • 不懼歲月
      不懼歲月
      2018-09-26回复灵芝

      嗯嗯,谢谢你。我们遇到用户在确认一下了

      2018-09-26
      回复
    查看更多(2)
登录 后发表内容