2024-01-18 23:37:03 +08:00

191 lines
4.3 KiB
TypeScript

import { $t } from "@/plugins/i18n";
import { able } from "@/router/enums";
export default {
path: "/able",
redirect: "/able/watermark",
meta: {
icon: "ubuntuFill",
title: $t("menus.hsAble"),
rank: able
},
children: [
{
path: "/able/watermark",
name: "WaterMark",
component: () => import("@/views/able/watermark.vue"),
meta: {
title: $t("menus.hsWatermark")
}
},
{
path: "/able/print",
name: "Print",
component: () => import("@/views/able/print/index.vue"),
meta: {
title: $t("menus.hsPrint")
}
},
{
path: "/able/download",
name: "Download",
component: () => import("@/views/able/download.vue"),
meta: {
title: $t("menus.hsDownload")
}
},
{
path: "/able/excel",
name: "Excel",
component: () => import("@/views/able/excel.vue"),
meta: {
title: $t("menus.hsExcel")
}
},
{
path: "/able/debounce",
name: "Debounce",
component: () => import("@/views/able/debounce.vue"),
meta: {
title: $t("menus.hsDebounce")
}
},
{
path: "/able/directives",
name: "Directives",
component: () => import("@/views/able/directives.vue"),
meta: {
title: $t("menus.hsOptimize")
}
},
{
path: "/able/draggable",
name: "Draggable",
component: () => import("@/views/able/draggable.vue"),
meta: {
title: $t("menus.hsdraggable"),
transition: {
enterTransition: "animate__zoomIn",
leaveTransition: "animate__zoomOut"
}
}
},
{
path: "/able/pdf",
name: "Pdf",
component: () => import("@/views/able/pdf.vue"),
meta: {
title: $t("menus.hsPdf")
}
},
{
path: "/able/barcode",
name: "BarCode",
component: () => import("@/views/able/barcode.vue"),
meta: {
title: $t("menus.hsBarcode")
}
},
{
path: "/able/qrcode",
name: "QrCode",
component: () => import("@/views/able/qrcode.vue"),
meta: {
title: $t("menus.hsQrcode")
}
},
{
path: "/able/map",
name: "MapPage",
component: () => import("@/views/able/map.vue"),
meta: {
title: $t("menus.hsmap"),
keepAlive: true,
transition: {
name: "fade"
}
}
},
{
path: "/able/wavesurfer",
name: "Wavesurfer",
component: () => import("@/views/able/wavesurfer/index.vue"),
meta: {
title: $t("menus.hsWavesurfer")
}
},
{
path: "/able/video",
name: "VideoPage",
component: () => import("@/views/able/video.vue"),
meta: {
title: $t("menus.hsvideo")
}
},
{
path: "/able/video-frame",
name: "VideoFrame",
component: () => import("@/views/able/video-frame/index.vue"),
meta: {
title: $t("menus.hsVideoFrame")
}
},
{
path: "/able/danmaku",
name: "Danmaku",
component: () => import("@/views/able/danmaku/index.vue"),
meta: {
title: $t("menus.hsdanmaku")
}
},
{
path: "/able/infinite-scroll",
name: "InfiniteScroll",
component: () => import("@/views/able/infinite-scroll.vue"),
meta: {
title: $t("menus.hsInfiniteScroll")
}
},
{
path: "/able/menu-tree",
name: "MenuTree",
component: () => import("@/views/able/menu-tree.vue"),
meta: {
title: $t("menus.hsMenuTree")
}
},
{
path: "/able/line-tree",
name: "LineTree",
component: () => import("@/views/able/line-tree.vue"),
meta: {
title: $t("menus.hsLineTree")
}
},
{
path: "/able/typeit",
name: "Typeit",
component: () => import("@/views/able/typeit.vue"),
meta: {
title: $t("menus.hstypeit")
}
},
{
path: "/able/sensitive",
name: "Sensitive",
component: () => import("@/views/able/sensitive.vue"),
meta: {
title: $t("menus.hsSensitive")
}
},
{
path: "/able/pinyin",
name: "Pinyin",
component: () => import("@/views/able/pinyin.vue"),
meta: {
title: $t("menus.hsPinyin")
}
}
]
} satisfies RouteConfigsTable;