wx.login()没执行是什么原因啊?
发布于 6 年前 作者 leitang 5660 次浏览 来自 问答
  • 当前 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 回复

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

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

改口

回到顶部