收藏
回答

wx.login()没执行是什么原因啊?

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows v1.02.1902010

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


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


var reqObj = {};

    wx.login({

      success: res => {

        // 发送 res.code 到后台换取 openId, sessionKey, unionId

        //发起网络请求

        reqObj.jsCode = res.code;

        reqObj.client = 'wx';

        

        wx.request({

          method: 'GET',

          url: 'xxxxxxx/minip/wx/openid',

          header: {

            'content-type': 'application/x-www-form-urlencoded'

          },

          data: {

            data: utils.getBase64String(reqObj)

          },

          success: function (res) {

            if (res.data.result == 200) {

              wx.setStorageSync('openId', res.data.object);

            } 

            if (res.data.result == 500){

              wx.showToast({

                title: '获取openid失败',

                icon: 'none',

                duration: 2000

              })

            }

          },

          fail: function (res) {

            console.log(res)

          }

        })

      }

    })

wx.login()方法写在的app.js的onLaunch()方法里面了,然后在login()方法里面 去服务端获取的openId,现在发现有时候会出现获取openId的方法没调用,出现这个问题,没什么思路.


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

2 个回答

  • 阿亮
    阿亮
    2019-03-22

    先规则:登录不是要用户授权吗?用按钮,手动触发

    2019-03-22
    有用
    回复
  • 拾忆
    拾忆
    2019-03-21

    onLaunch()不是每次访问的时候都会执行的,是这个原因么

    改口

    2019-03-21
    有用
    回复 8
    • 卢霄霄
      卢霄霄
      2019-03-21

      坐等你改口

      2019-03-21
      回复
    • 拾忆
      拾忆
      2019-03-21回复卢霄霄
      2019-03-21
      回复
    • 2019-03-21

      不是吧

      2019-03-21
      回复
    • 拾忆
      拾忆
      2019-03-21回复

      那你是怎么判定哪些时候openId的方法没调用

      2019-03-21
      回复
    • 2019-03-21回复拾忆

      看的后台的日志啊

      2019-03-21
      回复
    查看更多(3)
登录 后发表内容