收藏
回答

分享出去的小程序,新用户打开时候没有调用onLaunch?

没有调用onLaunch,导致没有调用wx.login结果无法获得首布局。

onLaunch: function(options) {
    console.log(options);
    var scene = decodeURIComponent(options.scene);
    if (scene.indexOf('@') != -1) {
      var arr = scene.split('@');
      if (arr.length >= 2)
        options.query.user_id = arr[1];
      if (arr.length >= 3)
        options.query.applet_id = arr[2];
    }
    this.globalData.share_data = options.query;
    this.onLogin();
    this.getAppBar();
  },
  onLogin() {
    try{
      // 登录
      wx.login({
        success: res => {
          this.globalData.code = res.code;
          // 获取用户信息
          wx.getSetting({
            success: res => {
              if (res.authSetting['scope.userInfo']) {
                // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
                wx.getUserInfo({
                  success: res => {
                    。。。。。
                    }, (data) => {
                      wx.reLaunch({
                        url: '/pages/user/register',
                      })
                    });
                  },
                  fail:res=>{
                    wx.reLaunch({
                      url: '/pages/user/register',
                    })
                  }
                })
              } else {
                wx.reLaunch({
                  url: '/pages/user/register',
                })
              }
            },
            fail: res => {
              wx.reLaunch({
                url: "/pages/user/register",
              })
            }
          })
        },
        timeout: res => {
          wx.reLaunch({
            url: "/pages/user/register",
          })
        },
        fail: res => {
          wx.reLaunch({
            url: "/pages/user/register",
          })
        }
      })
    }catch(e){
      wx.reLaunch({
        url: "/pages/user/register",
      })
    }
  },

按照如上逻辑 没有获取用户信息权限,肯定跳转到/pages/user/register,但是十个新用户 会出现一两个不跳转,一直在/pages/index/index,等待

if (this.userInfoReadyCallback) {
	this.userInfoReadyCallback(res);
}

因为我试过很多手机都没有出现,但是客户已经有好几个卡死主界面了,所以我怀疑是不是onLaunch没有调用。

求大神帮我看看!!!!!!!!!


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

2 个回答

  • 李立民
    李立民
    2021-01-13

    我也遇到这个问题,稍加研究了一下,情况是这样的。

    如果点开分享卡片的用户,之前已经打开过小程序,且没有销毁,就只会触发App.onShow。如果用户之前没有打开过小程序(小程序不在进程中),则会触发App.onLaunch和App.onShow。

    所以你测试的时候,如果自己分享出去,在不关闭小程序的情况下,点击自己的分享卡片,由于自己的小程序没有销毁,就只会触发onShow,对方如果进程中没有该小程序,就能触发onLaunch

    2021-01-13
    有用
    回复
  • 灵芝
    灵芝
    2020-04-14

    你好,可以调试小程序看下,正式版调试方式:先在开发版或体验版打开调试,再切到正式版就能看到vConsole

    2020-04-14
    有用
    回复 2
    • 😀壹坊科技-廖工😀
      😀壹坊科技-廖工😀
      2020-04-14
      主要是时常有问题,时常没有问题。我的手机试过很多次都没有问题。发给客户,十个中有个别会出现这种问题。
      2020-04-14
      1
      回复
    • 我是小肥
      我是小肥
      2020-11-04回复😀壹坊科技-廖工😀
      我也有这个问题,你的解决吗?加载onlaunch里面的SystemInfo有时候可以有时候不可以
      2020-11-04
      回复
登录 后发表内容
问题标签