没有调用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没有调用。
求大神帮我看看!!!!!!!!!
我也遇到这个问题,稍加研究了一下,情况是这样的。
如果点开分享卡片的用户,之前已经打开过小程序,且没有销毁,就只会触发App.onShow。如果用户之前没有打开过小程序(小程序不在进程中),则会触发App.onLaunch和App.onShow。
所以你测试的时候,如果自己分享出去,在不关闭小程序的情况下,点击自己的分享卡片,由于自己的小程序没有销毁,就只会触发onShow,对方如果进程中没有该小程序,就能触发onLaunch
你好,可以调试小程序看下,正式版调试方式:先在开发版或体验版打开调试,再切到正式版就能看到vConsole