收藏
回答

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的方法没调用,出现这个问题,没什么思路.


最后一次编辑于  03-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 拾忆
    拾忆
    03-21

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

    改口

    03-21
    赞同
    回复 8
    • 卢霄霄
      卢霄霄
      03-21

      坐等你改口

      03-21
      回复
    • 拾忆
      拾忆
      03-21回复卢霄霄
      03-21
      回复
    • 杨帅
      杨帅
      03-21

      不是吧

      03-21
      回复
    • 拾忆
      拾忆
      03-21回复杨帅

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

      03-21
      回复
    • 杨帅
      杨帅
      03-21回复拾忆

      看的后台的日志啊

      03-21
      回复
    查看更多(3)
  • 阿亮
    阿亮
    03-22

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

    03-22
    赞同
    回复