Blame view

src/router/routes/modules/demo/feat.ts 6.39 KB
陈文彬 authored
1
2
import type { AppRouteModule } from '/@/router/types';
3
import { getParentLayout, LAYOUT } from '/@/router/constant';
4
import { t } from '/@/hooks/web/useI18n';
陈文彬 authored
5
6
const feat: AppRouteModule = {
vben authored
7
8
9
10
11
  path: '/feat',
  name: 'FeatDemo',
  component: LAYOUT,
  redirect: '/feat/icon',
  meta: {
12
    icon: 'ion:git-compare-outline',
13
    title: t('routes.demo.feat.feat'),
陈文彬 authored
14
  },
vben authored
15
  children: [
陈文彬 authored
16
    {
vben authored
17
      path: 'icon',
vben authored
18
      name: 'IconDemo',
19
      component: () => import('/@/views/demo/feat/icon/index.vue'),
vben authored
20
      meta: {
21
        title: t('routes.demo.feat.icon'),
vben authored
22
23
24
      },
    },
    {
25
26
27
28
29
30
31
32
      path: 'ws',
      name: 'WebSocket',
      component: () => import('/@/views/demo/feat/ws/index.vue'),
      meta: {
        title: t('routes.demo.feat.ws'),
      },
    },
    {
vben authored
33
      path: 'tabs',
34
35
36
      name: 'TabsDemo',
      component: () => import('/@/views/demo/feat/tabs/index.vue'),
      meta: {
37
        title: t('routes.demo.feat.tabs'),
38
39
      },
    },
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
    {
      path: 'breadcrumb',
      name: 'BreadcrumbDemo',
      redirect: '/feat/breadcrumb/flat',
      component: getParentLayout('BreadcrumbDemo'),
      meta: {
        title: t('routes.demo.feat.breadcrumb'),
      },

      children: [
        {
          path: 'flat',
          name: 'BreadcrumbFlatDemo',
          component: () => import('/@/views/demo/feat/breadcrumb/FlatList.vue'),
          meta: {
            title: t('routes.demo.feat.breadcrumbFlat'),
          },
        },
        {
          path: 'flatDetail',
          name: 'BreadcrumbFlatDetailDemo',
          component: () => import('/@/views/demo/feat/breadcrumb/FlatListDetail.vue'),
          meta: {
            title: t('routes.demo.feat.breadcrumbFlatDetail'),
            hideMenu: true,
            hideTab: true,
            currentActiveMenu: '/feat/breadcrumb/flat',
          },
        },
        {
          path: 'children',
          name: 'BreadcrumbChildrenDemo',
          component: getParentLayout('BreadcrumbChildrenDemo'),
          redirect: '/feat/breadcrumb/children',
          meta: {
            title: t('routes.demo.feat.breadcrumbFlat'),
          },
          children: [
            {
              path: '',
              name: 'BreadcrumbChildren',
              component: () => import('/@/views/demo/feat/breadcrumb/ChildrenList.vue'),
              meta: {
                title: t('routes.demo.feat.breadcrumbChildren'),
84
                // hideBreadcrumb: true,
85
86
87
88
89
90
91
92
93
94
              },
            },
            {
              path: 'childrenDetail',
              name: 'BreadcrumbChildrenDetailDemo',
              component: () => import('/@/views/demo/feat/breadcrumb/ChildrenListDetail.vue'),
              meta: {
                currentActiveMenu: '/feat/breadcrumb/children',
                title: t('routes.demo.feat.breadcrumbChildrenDetail'),
                hideTab: true,
95
                // hideMenu: true,
96
97
98
99
100
101
              },
            },
          ],
        },
      ],
    },
102
103

    {
vben authored
104
      path: 'context-menu',
陈文彬 authored
105
106
107
      name: 'ContextMenuDemo',
      component: () => import('/@/views/demo/feat/context-menu/index.vue'),
      meta: {
108
        title: t('routes.demo.feat.contextMenu'),
陈文彬 authored
109
110
111
      },
    },
    {
vben authored
112
      path: 'download',
vben authored
113
114
115
      name: 'DownLoadDemo',
      component: () => import('/@/views/demo/feat/download/index.vue'),
      meta: {
116
        title: t('routes.demo.feat.download'),
vben authored
117
118
119
      },
    },
    {
vben authored
120
      path: 'click-out-side',
vben authored
121
      name: 'ClickOutSideDemo',
122
      component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
vben authored
123
      meta: {
124
        title: t('routes.demo.feat.clickOutSide'),
vben authored
125
126
127
      },
    },
    {
vben authored
128
      path: 'img-preview',
陈文彬 authored
129
130
131
      name: 'ImgPreview',
      component: () => import('/@/views/demo/feat/img-preview/index.vue'),
      meta: {
132
        title: t('routes.demo.feat.imgPreview'),
陈文彬 authored
133
134
135
      },
    },
    {
vben authored
136
      path: 'copy',
陈文彬 authored
137
138
139
      name: 'CopyDemo',
      component: () => import('/@/views/demo/feat/copy/index.vue'),
      meta: {
140
        title: t('routes.demo.feat.copy'),
陈文彬 authored
141
142
143
      },
    },
    {
vben authored
144
      path: 'msg',
陈文彬 authored
145
146
147
      name: 'MsgDemo',
      component: () => import('/@/views/demo/feat/msg/index.vue'),
      meta: {
148
        title: t('routes.demo.feat.msg'),
陈文彬 authored
149
150
151
      },
    },
    {
vben authored
152
      path: 'watermark',
陈文彬 authored
153
154
155
      name: 'WatermarkDemo',
      component: () => import('/@/views/demo/feat/watermark/index.vue'),
      meta: {
156
        title: t('routes.demo.feat.watermark'),
陈文彬 authored
157
158
159
      },
    },
    {
vben authored
160
161
162
163
164
165
166
167
      path: 'ripple',
      name: 'RippleDemo',
      component: () => import('/@/views/demo/feat/ripple/index.vue'),
      meta: {
        title: t('routes.demo.feat.ripple'),
      },
    },
    {
vben authored
168
      path: 'full-screen',
陈文彬 authored
169
170
171
      name: 'FullScreenDemo',
      component: () => import('/@/views/demo/feat/full-screen/index.vue'),
      meta: {
172
        title: t('routes.demo.feat.fullScreen'),
陈文彬 authored
173
174
      },
    },
vben authored
175
    {
vben authored
176
      path: 'error-log',
vben authored
177
178
179
      name: 'ErrorLog',
      component: () => import('/@/views/sys/error-log/index.vue'),
      meta: {
180
        title: t('routes.demo.feat.errorLog'),
vben authored
181
182
      },
    },
183
184
185
186
187
188
189
190
191
    {
      path: 'excel',
      name: 'Excel',
      redirect: '/feat/excel/customExport',
      component: getParentLayout('Excel'),
      meta: {
        // icon: 'mdi:microsoft-excel',
        title: t('routes.demo.excel.excel'),
      },
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
      children: [
        {
          path: 'customExport',
          name: 'CustomExport',
          component: () => import('/@/views/demo/excel/CustomExport.vue'),
          meta: {
            title: t('routes.demo.excel.customExport'),
          },
        },
        {
          path: 'jsonExport',
          name: 'JsonExport',
          component: () => import('/@/views/demo/excel/JsonExport.vue'),
          meta: {
            title: t('routes.demo.excel.jsonExport'),
          },
        },
        {
          path: 'arrayExport',
          name: 'ArrayExport',
          component: () => import('/@/views/demo/excel/ArrayExport.vue'),
          meta: {
            title: t('routes.demo.excel.arrayExport'),
          },
        },
        {
          path: 'importExcel',
          name: 'ImportExcel',
          component: () => import('/@/views/demo/excel/ImportExcel.vue'),
          meta: {
            title: t('routes.demo.excel.importExcel'),
          },
        },
      ],
    },
228
    {
vben authored
229
      path: 'testTab/:id',
vben authored
230
231
232
      name: 'TestTab',
      component: () => import('/@/views/demo/feat/tab-params/index.vue'),
      meta: {
233
        title: t('routes.demo.feat.tab'),
234
        carryParam: true,
vben authored
235
236
      },
    },
陈文彬 authored
237
  ],
238
239
240
};

export default feat;