2024-08-09 10:57:46 +08:00
|
|
|
import type { RouteRecordRaw } from 'vue-router';
|
|
|
|
|
|
|
|
import { $t } from '#/locales';
|
|
|
|
|
|
|
|
const routes: RouteRecordRaw[] = [
|
|
|
|
{
|
|
|
|
meta: {
|
|
|
|
icon: 'ion:layers-outline',
|
|
|
|
keepAlive: true,
|
|
|
|
order: 1000,
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.title'),
|
2024-08-09 10:57:46 +08:00
|
|
|
},
|
|
|
|
name: 'Examples',
|
|
|
|
path: '/examples',
|
|
|
|
children: [
|
2024-09-10 21:48:51 +08:00
|
|
|
{
|
|
|
|
name: 'FormExample',
|
|
|
|
path: '/examples/form',
|
|
|
|
meta: {
|
2024-09-11 16:23:24 +08:00
|
|
|
icon: 'mdi:form-select',
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.title'),
|
2024-09-10 21:48:51 +08:00
|
|
|
},
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: 'FormBasicExample',
|
|
|
|
path: '/examples/form/basic',
|
|
|
|
component: () => import('#/views/examples/form/basic.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.basic'),
|
2024-09-10 21:48:51 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'FormQueryExample',
|
|
|
|
path: '/examples/form/query',
|
|
|
|
component: () => import('#/views/examples/form/query.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.query'),
|
2024-09-10 21:48:51 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'FormRulesExample',
|
|
|
|
path: '/examples/form/rules',
|
|
|
|
component: () => import('#/views/examples/form/rules.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.rules'),
|
2024-09-10 21:48:51 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'FormDynamicExample',
|
|
|
|
path: '/examples/form/dynamic',
|
|
|
|
component: () => import('#/views/examples/form/dynamic.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.dynamic'),
|
2024-09-10 21:48:51 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'FormCustomExample',
|
|
|
|
path: '/examples/form/custom',
|
|
|
|
component: () => import('#/views/examples/form/custom.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.custom'),
|
2024-09-10 21:48:51 +08:00
|
|
|
},
|
|
|
|
},
|
2024-09-19 21:56:49 +08:00
|
|
|
{
|
|
|
|
name: 'FormApiExample',
|
|
|
|
path: '/examples/form/api',
|
|
|
|
component: () => import('#/views/examples/form/api.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.api'),
|
2024-09-19 21:56:49 +08:00
|
|
|
},
|
|
|
|
},
|
2024-09-25 18:11:02 +08:00
|
|
|
{
|
|
|
|
name: 'FormMergeExample',
|
|
|
|
path: '/examples/form/merge',
|
|
|
|
component: () => import('#/views/examples/form/merge.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.form.merge'),
|
2024-09-25 18:11:02 +08:00
|
|
|
},
|
|
|
|
},
|
2024-09-10 21:48:51 +08:00
|
|
|
],
|
|
|
|
},
|
2024-10-04 23:05:28 +08:00
|
|
|
{
|
|
|
|
name: 'VxeTableExample',
|
|
|
|
path: '/examples/vxe-table',
|
|
|
|
meta: {
|
|
|
|
icon: 'lucide:table',
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.title'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: 'VxeTableBasicExample',
|
|
|
|
path: '/examples/vxe-table/basic',
|
|
|
|
component: () => import('#/views/examples/vxe-table/basic.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.basic'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableRemoteExample',
|
|
|
|
path: '/examples/vxe-table/remote',
|
|
|
|
component: () => import('#/views/examples/vxe-table/remote.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.remote'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableTreeExample',
|
|
|
|
path: '/examples/vxe-table/tree',
|
|
|
|
component: () => import('#/views/examples/vxe-table/tree.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.tree'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableFixedExample',
|
|
|
|
path: '/examples/vxe-table/fixed',
|
|
|
|
component: () => import('#/views/examples/vxe-table/fixed.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.fixed'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableCustomCellExample',
|
|
|
|
path: '/examples/vxe-table/custom-cell',
|
|
|
|
component: () =>
|
|
|
|
import('#/views/examples/vxe-table/custom-cell.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.custom-cell'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableFormExample',
|
|
|
|
path: '/examples/vxe-table/form',
|
|
|
|
component: () => import('#/views/examples/vxe-table/form.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.form'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableEditCellExample',
|
|
|
|
path: '/examples/vxe-table/edit-cell',
|
|
|
|
component: () => import('#/views/examples/vxe-table/edit-cell.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.editCell'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableEditRowExample',
|
|
|
|
path: '/examples/vxe-table/edit-row',
|
|
|
|
component: () => import('#/views/examples/vxe-table/edit-row.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.editRow'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'VxeTableVirtualExample',
|
|
|
|
path: '/examples/vxe-table/virtual',
|
|
|
|
component: () => import('#/views/examples/vxe-table/virtual.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.vxeTable.virtual'),
|
2024-10-04 23:05:28 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2024-09-21 20:52:36 +08:00
|
|
|
{
|
|
|
|
name: 'CaptchaExample',
|
|
|
|
path: '/examples/captcha',
|
|
|
|
meta: {
|
|
|
|
icon: 'logos:recaptcha',
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.captcha.title'),
|
2024-09-21 20:52:36 +08:00
|
|
|
},
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: 'DragVerifyExample',
|
|
|
|
path: '/examples/captcha/slider',
|
|
|
|
component: () =>
|
|
|
|
import('#/views/examples/captcha/slider-captcha.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.captcha.sliderCaptcha'),
|
2024-09-21 20:52:36 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'RotateVerifyExample',
|
|
|
|
path: '/examples/captcha/slider-rotate',
|
|
|
|
component: () =>
|
|
|
|
import('#/views/examples/captcha/slider-rotate-captcha.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.captcha.sliderRotateCaptcha'),
|
2024-09-21 20:52:36 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'CaptchaPointSelectionExample',
|
|
|
|
path: '/examples/captcha/point-selection',
|
|
|
|
component: () =>
|
|
|
|
import('#/views/examples/captcha/point-selection-captcha.vue'),
|
|
|
|
meta: {
|
2024-10-19 14:28:21 +08:00
|
|
|
title: $t('examples.captcha.pointSelection'),
|
2024-09-21 20:52:36 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2024-10-20 22:34:11 +08:00
|
|
|
{
|
|
|
|
name: 'ModalExample',
|
|
|
|
path: '/examples/modal',
|
|
|
|
component: () => import('#/views/examples/modal/index.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'system-uicons:window-content',
|
|
|
|
title: $t('examples.modal.title'),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'DrawerExample',
|
|
|
|
path: '/examples/drawer',
|
|
|
|
component: () => import('#/views/examples/drawer/index.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'iconoir:drawer',
|
|
|
|
title: $t('examples.drawer.title'),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'EllipsisExample',
|
|
|
|
path: '/examples/ellipsis',
|
|
|
|
component: () => import('#/views/examples/ellipsis/index.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'ion:ellipsis-horizontal',
|
|
|
|
title: $t('examples.ellipsis.title'),
|
|
|
|
},
|
|
|
|
},
|
2024-11-13 15:43:17 +08:00
|
|
|
{
|
|
|
|
name: 'VueResizeDemo',
|
|
|
|
path: '/demos/resize/basic',
|
|
|
|
component: () => import('#/views/examples/resize/basic.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'material-symbols:resize',
|
|
|
|
title: $t('examples.resize.title'),
|
|
|
|
},
|
|
|
|
},
|
2024-12-19 20:37:42 +08:00
|
|
|
{
|
|
|
|
name: 'ColPageDemo',
|
|
|
|
path: '/examples/layout/col-page',
|
|
|
|
component: () => import('#/views/examples/layout/col-page.vue'),
|
|
|
|
meta: {
|
|
|
|
badge: 'Alpha',
|
|
|
|
badgeVariants: 'destructive',
|
|
|
|
icon: 'material-symbols:horizontal-distribute',
|
|
|
|
title: $t('examples.layout.col-page'),
|
|
|
|
},
|
|
|
|
},
|
2025-01-11 17:35:59 +08:00
|
|
|
{
|
|
|
|
name: 'TippyDemo',
|
|
|
|
path: '/examples/tippy',
|
|
|
|
component: () => import('#/views/examples/tippy/index.vue'),
|
|
|
|
meta: {
|
2025-01-11 20:42:38 +08:00
|
|
|
icon: 'mdi:message-settings-outline',
|
2025-01-11 17:35:59 +08:00
|
|
|
title: 'Tippy',
|
|
|
|
},
|
|
|
|
},
|
2025-02-16 22:57:00 +08:00
|
|
|
{
|
|
|
|
name: 'JsonViewer',
|
|
|
|
path: '/examples/json-viewer',
|
|
|
|
component: () => import('#/views/examples/json-viewer/index.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'tabler:json',
|
|
|
|
title: 'JsonViewer',
|
|
|
|
},
|
|
|
|
},
|
2025-02-17 17:57:15 +08:00
|
|
|
{
|
|
|
|
name: 'Motion',
|
|
|
|
path: '/examples/motion',
|
|
|
|
component: () => import('#/views/examples/motion/index.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'mdi:animation-play',
|
|
|
|
title: 'Motion',
|
|
|
|
},
|
|
|
|
},
|
2025-02-17 21:16:10 +08:00
|
|
|
{
|
|
|
|
name: 'CountTo',
|
|
|
|
path: '/examples/count-to',
|
|
|
|
component: () => import('#/views/examples/count-to/index.vue'),
|
|
|
|
meta: {
|
|
|
|
icon: 'mdi:animation-play',
|
|
|
|
title: 'CountTo',
|
|
|
|
},
|
|
|
|
},
|
2024-08-09 10:57:46 +08:00
|
|
|
],
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
export default routes;
|