index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * Hello Module - 示例扩展模块
  3. *
  4. * 这是一个完整的示例,展示如何在 six-shop/hello 扩展包中实现前端模块化
  5. */
  6. export default {
  7. // 路由配置 - 单个路由对象
  8. routes: {
  9. path: '/hello',
  10. name: 'HelloModule',
  11. component: () => import('@/layout/index.vue'),
  12. redirect: '/hello/index', // 添加默认重定向
  13. meta: {
  14. title: 'Hello 示例',
  15. icon: 'Sunny',
  16. permission: 'hello',
  17. priority: 50 // 中等优先级
  18. },
  19. children: [
  20. {
  21. path: 'index',
  22. name: 'HelloIndex',
  23. component: () => import('./views/Index.vue'),
  24. meta: {
  25. title: '你好世界',
  26. icon: 'Home'
  27. }
  28. },
  29. {
  30. path: 'about',
  31. name: 'HelloAbout',
  32. component: () => import('./views/About.vue'),
  33. meta: {
  34. title: '关于模块',
  35. icon: 'InfoFilled'
  36. }
  37. },
  38. {
  39. path: 'demo',
  40. name: 'HelloDemo',
  41. component: () => import('./views/Demo.vue'),
  42. meta: {
  43. title: '功能演示',
  44. icon: 'Grid',
  45. keepAlive: true // 启用页面缓存
  46. }
  47. }
  48. ]
  49. },
  50. // 菜单配置 - 与路由对应
  51. menus: [
  52. {
  53. path: '/hello',
  54. title: 'Hello 示例',
  55. icon: 'Sunny',
  56. permission: 'hello',
  57. children: [
  58. {
  59. path: '/hello/index',
  60. title: '你好世界',
  61. icon: 'Home'
  62. },
  63. {
  64. path: '/hello/about',
  65. title: '关于模块',
  66. icon: 'InfoFilled'
  67. },
  68. {
  69. path: '/hello/demo',
  70. title: '功能演示',
  71. icon: 'Grid'
  72. }
  73. ]
  74. }
  75. ]
  76. }