小程序怎么动态修改默认的启动页?

目前遇到了一种业务场景:
1、小程序的默认启动页,设置为页面A,当用户没有登录时,进入页面A,因为此时没有token,后端会返回403,前端会自动重定向到登录页
2、用户从登录页登录后,后端会返回当前用户的角色信息,前端会把角色信息存储在小程序的storage缓存里
3、如果是角色a,则跳转到页面A;如果是角色b,则跳转到页面B

如果是上面的正常流程,逻辑是没问题的,但是如果用户当前角色是b,然后进入到页面B后,进行一些操作后,把小程序切换到后台,再此进入时,小程序又会重新打开默认的启动页A,而此时其实用户是没有页面A的权限的,因为只有角色a才能访问页面A

我目前对这个问题的处理方案是在页面A进入时就用缓存里的角色信息进行判断,如果是角色a就不做处理,如果是角色b就重定向到B页面去,可是感觉这样处理很麻烦,也不规范,那么能不能动态的设置小程序的默认启动页呢,可是app.json貌似是不能动态修改的,这种问题有没有比较优雅的解决方案呢?

我能想到的另外一种方案,就是单独做一个空白的启动页C作为默认页,在这个C页面去判断用户角色,然后跳转到对应页面,但是这样也会有一个重定向的过程,体验和第一种办法差不多,有更好的办法吗?

阅读 234
评论
    1 个回答
    • 925

    A页面和B页面当作组件,在C页面显示。 通过状态判断显示A组件还是B组件

      撰写回答

      登录后参与交流、获取后续更新提醒

      相似问题

      微信开放生态 相关的技术问题交流平台

      推荐文章