对于小程序中的 app.js和app.json,有些疑惑?

app.js 是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。

app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口
背景色,配置导航条样式,配置默认标题。

"pages": [
    "pages/welcome/welcome"
    "pages/index/index",
    "pages/logs/index"
  ],
  

pages:接受一个数组,每一项都是字符串,来指定小程序由哪些页面组成。每一项代表对应页面的【路径+文件名】信息,

数组的第一项代表小程序的初始页面。小程序中新增/减少页面,都需要对 pages 数组进行修改。

我的问题:
如果用户首次登陆,经过welcome;如果再次登陆,跳过welcome,直接进入index/index。
所以我在app.js中进行判断,如下:

           

 if(getStorageSync(user))//小程序客户端缓存中有用户信息
  {redirectTo:'index'}
   else//小程序客户端缓存中没有用户信息
  {redirectTo:'welcome'}
  

如果这样,app.js中就能改变初始页面,这和app.json中初始页面的设置会有冲突吗?

阅读 10k
2 个回答

不冲突,在初始页面判断即可,但是可能会闪一下进行redirect,可以用加载中之类的来遮盖这段判断的跳转。

目前还有一个坑是这样,假如你的首页(app.json中的第一个页面)是带有 tabBar 的话,你用 wx.redirectTo 跳转的话,等你登录好了,再回去后会发现 tabBar 不见了。

如果你用 wx.navigateTo 的话,用户又可以按左上角的返回,回到首页。

这种纠结的心,你明白不????

所以,如果你需要 tabBar 给你的建议了,放弃欢迎页哈。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题