授权页面和主页面加载顺序
发布于 6 年前 作者 hsu 12436 次浏览 来自 问答

app.js

wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                     
                    console.log("app.js页面,已授权")
                    wx.switchTab({
                        url: '../../pages/home/index',
                        success: (result) => {
         
                        },
                        fail: () => {},
                        complete: () => {}
                    });
                }else{
                    console.log("app.js页面,没有授权")
                    wx.switchTab({
                        url: '../../pages/index/index',
                        success: (result) => {
         
                        },
                        fail: () => {},
                        complete: () => {}
                    });
                }
            }
        })

index.js(授权登录页面)

onLoad: function (options) {
        console.log("进入授权页面")
}

home.js(tab主页面)

onLoad: function (options) {
  console.log("进入home页面")
}

app.json

"pages": [
   "pages/index/index",
   "pages/home/index",
 ]

未授权状态时:

 或者  

授权后:

 

问题:因为我是将授权登录页单独写成了一个页面,所以app.json也注册了这个页面,而且写在了第一的位置,小程序会在进入home页面前,先进入        index页面。

但为什么不是先将app.js代码执行完再去由 wx.switchTab 判断进入哪一个页面

已知解决方案:将index页面和home页面放到同一页,然后由hide判断index页面是否显示

回到顶部