H5端使用自定义路径并拦截uni-app自带tabbar

    这时我们就需要通过拦截来给定一个指定路径,完成重定向。

    一串简单的配置,完成 Router 实例化。看的出是通过使用 uni-app 默认配置来完成页面渲染的。这是一个 uni-app 自带底部tabbar的示例,使用 aliasPath 重写 uni-app 路径时,底部菜单确实能加载出来。当点击底部tabbar时就会出现空白页面,那么这时我们在代码中加入这样的配置即可完成。

    1. const whitelist = { //声明了一个白名单
    2. '/pages/tabbar/tabbar-1/tabbar-1': 'tabbar-1',
    3. '/pages/tabbar/tabbar-2/tabbar-2': 'tabbar-2',
    4. '/pages/tabbar/tabbar-3/tabbar-3': 'tabbar-3',
    5. '/pages/tabbar/tabbar-4/tabbar-4': 'tabbar-4',
    6. }
    7. const router = new Router({
    8. routes:[
    9. {
    10. aliasPath:'/',
    11. path: "/pages/tabbar/tabbar-1/tabbar-1",
    12. name:'tabbar-1'
    13. },
    14. path: "/pages/tabbar/tabbar-2/tabbar-2",
    15. name:'tabbar-2'
    16. },
    17. {
    18. aliasPath:'/tabbar3',
    19. path: "/pages/tabbar/tabbar-3/tabbar-3",
    20. name:'tabbar-3'
    21. },
    22. {
    23. aliasPath:'/tabbar4',
    24. path: "/pages/tabbar/tabbar-4/tabbar-4",
    25. name:'tabbar-4'
    26. },
    27. {
    28. path: '/pages/test/404',
    29. name:'404'
    30. },
    31. path: '*',
    32. name: 'moddle',
    33. redirect:to=>{
    34. const name = whitelist[to.path];
    35. if(name){
    36. return {name}
    37. };
    38. return {name:'404'}
    39. }
    40. }
    41. });

    其实就这么简单,既可完成拦截和重定向。H5 端可以 配合 redirect通配符 完成你想要的骚操作。赶紧去试试吧