feat:新增pure-admin前端
This commit is contained in:
215
Yi.Pure.Vue3/src/router/modules/able.ts
Normal file
215
Yi.Pure.Vue3/src/router/modules/able.ts
Normal file
@@ -0,0 +1,215 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { able } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/able",
|
||||
redirect: "/able/watermark",
|
||||
meta: {
|
||||
icon: "ri:ubuntu-fill",
|
||||
title: $t("menus.pureAble"),
|
||||
rank: able
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/able/mqtt-client",
|
||||
name: "MqttClient",
|
||||
component: () => import("@/views/able/mqtt-client.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureMqtt"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/verify",
|
||||
name: "Verify",
|
||||
component: () => import("@/views/able/verify.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureVerify")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/watermark",
|
||||
name: "WaterMark",
|
||||
component: () => import("@/views/able/watermark.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureWatermark")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/print",
|
||||
name: "Print",
|
||||
component: () => import("@/views/able/print/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.purePrint")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/download",
|
||||
name: "Download",
|
||||
component: () => import("@/views/able/download.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDownload")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/excel",
|
||||
name: "Excel",
|
||||
component: () => import("@/views/able/excel.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureExcel")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/ripple",
|
||||
name: "Ripple",
|
||||
component: () => import("@/views/able/ripple.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureRipple")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/debounce",
|
||||
name: "Debounce",
|
||||
component: () => import("@/views/able/debounce.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDebounce")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/directives",
|
||||
name: "Directives",
|
||||
component: () => import("@/views/able/directives.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureOptimize")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/draggable",
|
||||
name: "Draggable",
|
||||
component: () => import("@/views/able/draggable.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDraggable"),
|
||||
transition: {
|
||||
enterTransition: "animate__zoomIn",
|
||||
leaveTransition: "animate__zoomOut"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/pdf",
|
||||
name: "Pdf",
|
||||
component: () => import("@/views/able/pdf.vue"),
|
||||
meta: {
|
||||
title: $t("menus.purePdf")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/barcode",
|
||||
name: "BarCode",
|
||||
component: () => import("@/views/able/barcode.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureBarcode")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/qrcode",
|
||||
name: "QrCode",
|
||||
component: () => import("@/views/able/qrcode.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureQrcode")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/map",
|
||||
name: "MapPage",
|
||||
component: () => import("@/views/able/map.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureMap"),
|
||||
keepAlive: true,
|
||||
transition: {
|
||||
name: "fade"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/wavesurfer",
|
||||
name: "Wavesurfer",
|
||||
component: () => import("@/views/able/wavesurfer/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureWavesurfer")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/video",
|
||||
name: "VideoPage",
|
||||
component: () => import("@/views/able/video.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureVideo")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/video-frame",
|
||||
name: "VideoFrame",
|
||||
component: () => import("@/views/able/video-frame/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureVideoFrame")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/danmaku",
|
||||
name: "Danmaku",
|
||||
component: () => import("@/views/able/danmaku/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDanmaku")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/infinite-scroll",
|
||||
name: "InfiniteScroll",
|
||||
component: () => import("@/views/able/infinite-scroll.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureInfiniteScroll")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/menu-tree",
|
||||
name: "MenuTree",
|
||||
component: () => import("@/views/able/menu-tree.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureMenuTree")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/line-tree",
|
||||
name: "LineTree",
|
||||
component: () => import("@/views/able/line-tree.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureLineTree")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/typeit",
|
||||
name: "Typeit",
|
||||
component: () => import("@/views/able/typeit.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTypeit")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/sensitive",
|
||||
name: "Sensitive",
|
||||
component: () => import("@/views/able/sensitive.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSensitive")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/able/pinyin",
|
||||
name: "Pinyin",
|
||||
component: () => import("@/views/able/pinyin.vue"),
|
||||
meta: {
|
||||
title: $t("menus.purePinyin")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
22
Yi.Pure.Vue3/src/router/modules/about.ts
Normal file
22
Yi.Pure.Vue3/src/router/modules/about.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { about } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/about",
|
||||
redirect: "/about/index",
|
||||
meta: {
|
||||
icon: "ri:file-info-line",
|
||||
title: $t("menus.pureAbout"),
|
||||
rank: about
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/about/index",
|
||||
name: "About",
|
||||
component: () => import("@/views/about/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureAbout")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
25
Yi.Pure.Vue3/src/router/modules/board.ts
Normal file
25
Yi.Pure.Vue3/src/router/modules/board.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { board } from "@/router/enums";
|
||||
const IFrame = () => import("@/layout/frame.vue");
|
||||
|
||||
export default {
|
||||
path: "/board",
|
||||
redirect: "/board/index",
|
||||
meta: {
|
||||
icon: "ri:artboard-line",
|
||||
title: $t("menus.pureBoard"),
|
||||
rank: board
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/board/index",
|
||||
name: "FrameBoard",
|
||||
component: IFrame,
|
||||
meta: {
|
||||
title: $t("menus.pureBoard"),
|
||||
keepAlive: true,
|
||||
frameSrc: "https://songlh.top/paint-board/"
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
265
Yi.Pure.Vue3/src/router/modules/components.ts
Normal file
265
Yi.Pure.Vue3/src/router/modules/components.ts
Normal file
@@ -0,0 +1,265 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { components } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/components",
|
||||
redirect: "/components/dialog",
|
||||
meta: {
|
||||
icon: "ep:menu",
|
||||
title: $t("menus.pureComponents"),
|
||||
rank: components
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/components/dialog",
|
||||
name: "DialogPage",
|
||||
component: () => import("@/views/components/dialog/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDialog")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/message",
|
||||
name: "Message",
|
||||
component: () => import("@/views/components/message.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureMessage")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/upload",
|
||||
name: "PureUpload",
|
||||
component: () => import("@/views/components/upload/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureUpload")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/check-card",
|
||||
name: "CheckCard",
|
||||
component: () => import("@/views/components/check-card.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureCheckCard"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/date-picker",
|
||||
name: "DatePicker",
|
||||
component: () => import("@/views/components/date-picker.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDatePicker")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/datetime-picker",
|
||||
name: "DateTimePicker",
|
||||
component: () => import("@/views/components/datetime-picker.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureDateTimePicker")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/time-picker",
|
||||
name: "TimePicker",
|
||||
component: () => import("@/views/components/time-picker.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTimePicker")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/icon-select",
|
||||
name: "IconSelect",
|
||||
component: () => import("@/views/components/icon-select.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureIconSelect")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/animatecss",
|
||||
name: "AnimateCss",
|
||||
component: () => import("@/views/components/animatecss.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureAnimatecss")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/cropping",
|
||||
name: "Cropping",
|
||||
component: () => import("@/views/components/cropping/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureCropping")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/segmented",
|
||||
name: "Segmented",
|
||||
component: () => import("@/views/components/segmented.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSegmented")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/text",
|
||||
name: "PureText",
|
||||
component: () => import("@/views/components/text.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureText"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/el-button",
|
||||
name: "PureButton",
|
||||
component: () => import("@/views/components/el-button.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureElButton")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/check-button",
|
||||
name: "CheckButton",
|
||||
component: () => import("@/views/components/check-button.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureCheckButton"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/button",
|
||||
name: "ButtonPage",
|
||||
component: () => import("@/views/components/button.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureButton")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/progress",
|
||||
name: "PureProgress",
|
||||
component: () => import("@/views/components/progress.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureProgress")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/tag",
|
||||
name: "PureTag",
|
||||
component: () => import("@/views/components/tag.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTag")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/statistic",
|
||||
name: "Statistic",
|
||||
component: () => import("@/views/components/statistic.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureStatistic")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/collapse",
|
||||
name: "Collapse",
|
||||
component: () => import("@/views/components/collapse.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureCollapse")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/cascader",
|
||||
name: "Cascader",
|
||||
component: () => import("@/views/components/cascader.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureCascader")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/color-picker",
|
||||
name: "ColorPicker",
|
||||
component: () => import("@/views/components/color-picker.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureColorPicker")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/selector",
|
||||
name: "Selector",
|
||||
component: () => import("@/views/components/selector.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSelector")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/waterfall",
|
||||
name: "Waterfall",
|
||||
component: () => import("@/views/components/waterfall/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureWaterfall")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/split-pane",
|
||||
name: "SplitPane",
|
||||
component: () => import("@/views/components/split-pane.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSplitPane")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/swiper",
|
||||
name: "Swiper",
|
||||
component: () => import("@/views/components/swiper.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSwiper")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/timeline",
|
||||
name: "TimeLine",
|
||||
component: () => import("@/views/components/timeline.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTimeline")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/count-to",
|
||||
name: "CountTo",
|
||||
component: () => import("@/views/components/count-to.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureCountTo")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/contextmenu",
|
||||
name: "ContextMenu",
|
||||
component: () => import("@/views/components/contextmenu/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureContextmenu")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/json-editor",
|
||||
name: "JsonEditor",
|
||||
component: () => import("@/views/components/json-editor.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureJsonEditor")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/seamless-scroll",
|
||||
name: "SeamlessScroll",
|
||||
component: () => import("@/views/components/seamless-scroll.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSeamless")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/components/virtual-list",
|
||||
name: "VirtualList",
|
||||
component: () => import("@/views/components/virtual-list/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureVirtualList")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
23
Yi.Pure.Vue3/src/router/modules/editor.ts
Normal file
23
Yi.Pure.Vue3/src/router/modules/editor.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { editor } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/editor",
|
||||
redirect: "/editor/index",
|
||||
meta: {
|
||||
icon: "ep:edit",
|
||||
title: $t("menus.pureEditor"),
|
||||
rank: editor
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/editor/index",
|
||||
name: "Editor",
|
||||
component: () => import("@/views/editor/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureEditor"),
|
||||
keepAlive: true
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
39
Yi.Pure.Vue3/src/router/modules/error.ts
Normal file
39
Yi.Pure.Vue3/src/router/modules/error.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { error } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/error",
|
||||
redirect: "/error/403",
|
||||
meta: {
|
||||
icon: "ri:information-line",
|
||||
// showLink: false,
|
||||
title: $t("menus.pureAbnormal"),
|
||||
rank: error
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/error/403",
|
||||
name: "403",
|
||||
component: () => import("@/views/error/403.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureFourZeroOne")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/error/404",
|
||||
name: "404",
|
||||
component: () => import("@/views/error/404.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureFourZeroFour")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/error/500",
|
||||
name: "500",
|
||||
component: () => import("@/views/error/500.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureFive")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
22
Yi.Pure.Vue3/src/router/modules/flowchart.ts
Normal file
22
Yi.Pure.Vue3/src/router/modules/flowchart.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { flowchart } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/flow-chart",
|
||||
redirect: "/flow-chart/index",
|
||||
meta: {
|
||||
icon: "ep:set-up",
|
||||
title: $t("menus.pureFlowChart"),
|
||||
rank: flowchart
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/flow-chart/index",
|
||||
name: "FlowChart",
|
||||
component: () => import("@/views/flow-chart/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureFlowChart")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
23
Yi.Pure.Vue3/src/router/modules/form.ts
Normal file
23
Yi.Pure.Vue3/src/router/modules/form.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { form } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/form",
|
||||
redirect: "/form/index",
|
||||
meta: {
|
||||
icon: "ri:edit-box-line",
|
||||
title: $t("menus.pureSchemaForm"),
|
||||
rank: form
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/form/index",
|
||||
name: "SchemaForm",
|
||||
component: () => import("@/views/schema-form/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSchemaForm"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
27
Yi.Pure.Vue3/src/router/modules/formdesign.ts
Normal file
27
Yi.Pure.Vue3/src/router/modules/formdesign.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { formdesign } from "@/router/enums";
|
||||
const IFrame = () => import("@/layout/frame.vue");
|
||||
|
||||
export default {
|
||||
path: "/form-design",
|
||||
redirect: "/form-design/index",
|
||||
meta: {
|
||||
icon: "ri:terminal-window-line",
|
||||
title: $t("menus.pureFormDesign"),
|
||||
rank: formdesign
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/form-design/index",
|
||||
name: "FormDesign",
|
||||
component: IFrame,
|
||||
meta: {
|
||||
title: $t("menus.pureFormDesign"),
|
||||
keepAlive: true,
|
||||
frameSrc:
|
||||
"https://haixin-fang.github.io/vue-form-design/playground/index.html",
|
||||
frameLoading: false
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
23
Yi.Pure.Vue3/src/router/modules/ganttastic.ts
Normal file
23
Yi.Pure.Vue3/src/router/modules/ganttastic.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { ganttastic } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/ganttastic",
|
||||
redirect: "/ganttastic/index",
|
||||
meta: {
|
||||
icon: "ri:bar-chart-horizontal-line",
|
||||
title: $t("menus.pureGanttastic"),
|
||||
rank: ganttastic
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/ganttastic/index",
|
||||
name: "Ganttastic",
|
||||
component: () => import("@/views/ganttastic/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureGanttastic"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
22
Yi.Pure.Vue3/src/router/modules/guide.ts
Normal file
22
Yi.Pure.Vue3/src/router/modules/guide.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { guide } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/guide",
|
||||
redirect: "/guide/index",
|
||||
meta: {
|
||||
icon: "ep:guide",
|
||||
title: $t("menus.pureGuide"),
|
||||
rank: guide
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/guide/index",
|
||||
name: "Guide",
|
||||
component: () => import("@/views/guide/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureGuide")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
27
Yi.Pure.Vue3/src/router/modules/home.ts
Normal file
27
Yi.Pure.Vue3/src/router/modules/home.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { home } from "@/router/enums";
|
||||
const { VITE_HIDE_HOME } = import.meta.env;
|
||||
const Layout = () => import("@/layout/index.vue");
|
||||
|
||||
export default {
|
||||
path: "/",
|
||||
name: "Home",
|
||||
component: Layout,
|
||||
redirect: "/welcome",
|
||||
meta: {
|
||||
icon: "ep:home-filled",
|
||||
title: $t("menus.pureHome"),
|
||||
rank: home
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/welcome",
|
||||
name: "Welcome",
|
||||
component: () => import("@/views/welcome/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureHome"),
|
||||
showLink: VITE_HIDE_HOME === "true" ? false : true
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
24
Yi.Pure.Vue3/src/router/modules/list.ts
Normal file
24
Yi.Pure.Vue3/src/router/modules/list.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { list } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/list",
|
||||
redirect: "/list/card",
|
||||
meta: {
|
||||
icon: "ri:list-check",
|
||||
title: $t("menus.pureList"),
|
||||
rank: list
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/list/card",
|
||||
name: "CardList",
|
||||
component: () => import("@/views/list/card/index.vue"),
|
||||
meta: {
|
||||
icon: "ri:bank-card-line",
|
||||
title: $t("menus.pureCardList"),
|
||||
showParent: true
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
22
Yi.Pure.Vue3/src/router/modules/menuoverflow.ts
Normal file
22
Yi.Pure.Vue3/src/router/modules/menuoverflow.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { menuoverflow } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/menuoverflow",
|
||||
redirect: "/menuoverflow/index",
|
||||
meta: {
|
||||
title: $t("menus.pureMenuOverflow"),
|
||||
rank: menuoverflow
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/menuoverflow/index",
|
||||
name: "MenuOverflow",
|
||||
component: () => import("@/views/menuoverflow/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureChildMenuOverflow"),
|
||||
showParent: true
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
25
Yi.Pure.Vue3/src/router/modules/mind.ts
Normal file
25
Yi.Pure.Vue3/src/router/modules/mind.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { mind } from "@/router/enums";
|
||||
const IFrame = () => import("@/layout/frame.vue");
|
||||
|
||||
export default {
|
||||
path: "/mind-map",
|
||||
redirect: "/mind-map/index",
|
||||
meta: {
|
||||
icon: "ri:mind-map",
|
||||
title: $t("menus.pureMindMap"),
|
||||
rank: mind
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/mind-map/index",
|
||||
name: "FrameMindMap",
|
||||
component: IFrame,
|
||||
meta: {
|
||||
title: $t("menus.pureMindMap"),
|
||||
keepAlive: true,
|
||||
frameSrc: "https://wanglin2.github.io/mind-map/#/"
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
81
Yi.Pure.Vue3/src/router/modules/nested.ts
Normal file
81
Yi.Pure.Vue3/src/router/modules/nested.ts
Normal file
@@ -0,0 +1,81 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { nested } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/nested",
|
||||
redirect: "/nested/menu1/menu1-1",
|
||||
meta: {
|
||||
title: $t("menus.pureMenus"),
|
||||
icon: "ep:histogram",
|
||||
rank: nested
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/nested/menu1",
|
||||
meta: {
|
||||
title: $t("menus.pureMenu1"),
|
||||
keepAlive: true
|
||||
},
|
||||
redirect: "/nested/menu1/menu1-1",
|
||||
children: [
|
||||
{
|
||||
path: "/nested/menu1/menu1-1",
|
||||
component: () => import("@/views/nested/menu1/menu1-1/index.vue"),
|
||||
name: "Menu1-1",
|
||||
meta: {
|
||||
title: $t("menus.pureMenu1-1"),
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/nested/menu1/menu1-2",
|
||||
redirect: "/nested/menu1/menu1-2/menu1-2-1",
|
||||
meta: {
|
||||
title: $t("menus.pureMenu1-2"),
|
||||
keepAlive: true
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/nested/menu1/menu1-2/menu1-2-1",
|
||||
component: () =>
|
||||
import("@/views/nested/menu1/menu1-2/menu1-2-1/index.vue"),
|
||||
name: "Menu1-2-1",
|
||||
meta: {
|
||||
title: $t("menus.pureMenu1-2-1"),
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/nested/menu1/menu1-2/menu1-2-2",
|
||||
component: () =>
|
||||
import("@/views/nested/menu1/menu1-2/menu1-2-2/index.vue"),
|
||||
name: "Menu1-2-2",
|
||||
meta: {
|
||||
title: $t("menus.pureMenu1-2-2"),
|
||||
keepAlive: true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: "/nested/menu1/menu1-3",
|
||||
component: () => import("@/views/nested/menu1/menu1-3/index.vue"),
|
||||
name: "Menu1-3",
|
||||
meta: {
|
||||
title: $t("menus.pureMenu1-3"),
|
||||
keepAlive: true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: "/nested/menu2",
|
||||
name: "Menu2",
|
||||
component: () => import("@/views/nested/menu2/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureMenu2"),
|
||||
keepAlive: true
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
25
Yi.Pure.Vue3/src/router/modules/ppt.ts
Normal file
25
Yi.Pure.Vue3/src/router/modules/ppt.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ppt } from "@/router/enums";
|
||||
const IFrame = () => import("@/layout/frame.vue");
|
||||
|
||||
export default {
|
||||
path: "/ppt",
|
||||
redirect: "/ppt/index",
|
||||
meta: {
|
||||
icon: "ri:file-ppt-2-line",
|
||||
title: "PPT",
|
||||
rank: ppt
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/ppt/index",
|
||||
name: "FramePpt",
|
||||
component: IFrame,
|
||||
meta: {
|
||||
title: "PPT",
|
||||
keepAlive: true,
|
||||
frameSrc: "https://pipipi-pikachu.github.io/PPTist/",
|
||||
frameLoading: false
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
52
Yi.Pure.Vue3/src/router/modules/remaining.ts
Normal file
52
Yi.Pure.Vue3/src/router/modules/remaining.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
const Layout = () => import("@/layout/index.vue");
|
||||
|
||||
export default [
|
||||
{
|
||||
path: "/login",
|
||||
name: "Login",
|
||||
component: () => import("@/views/login/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureLogin"),
|
||||
showLink: false,
|
||||
rank: 101
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/redirect",
|
||||
component: Layout,
|
||||
meta: {
|
||||
title: $t("status.pureLoad"),
|
||||
showLink: false,
|
||||
rank: 102
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/redirect/:path(.*)",
|
||||
name: "Redirect",
|
||||
component: () => import("@/layout/redirect.vue")
|
||||
}
|
||||
]
|
||||
},
|
||||
// 下面是一个无layout菜单的例子(一个全屏空白页面),因为这种情况极少发生,所以只需要在前端配置即可(配置路径:src/router/modules/remaining.ts)
|
||||
{
|
||||
path: "/empty",
|
||||
name: "Empty",
|
||||
component: () => import("@/views/empty/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureEmpty"),
|
||||
showLink: false,
|
||||
rank: 103
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/account-settings",
|
||||
name: "AccountSettings",
|
||||
component: () => import("@/views/account-settings/index.vue"),
|
||||
meta: {
|
||||
title: $t("buttons.pureAccountSettings"),
|
||||
showLink: false,
|
||||
rank: 104
|
||||
}
|
||||
}
|
||||
] satisfies Array<RouteConfigsTable>;
|
||||
30
Yi.Pure.Vue3/src/router/modules/result.ts
Normal file
30
Yi.Pure.Vue3/src/router/modules/result.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { result } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/result",
|
||||
redirect: "/result/success",
|
||||
meta: {
|
||||
icon: "ri:checkbox-circle-line",
|
||||
title: $t("menus.pureResult"),
|
||||
rank: result
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/result/success",
|
||||
name: "Success",
|
||||
component: () => import("@/views/result/success.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureSuccess")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/result/fail",
|
||||
name: "Fail",
|
||||
component: () => import("@/views/result/fail.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureFail")
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
48
Yi.Pure.Vue3/src/router/modules/table.ts
Normal file
48
Yi.Pure.Vue3/src/router/modules/table.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import { $t } from "@/plugins/i18n";
|
||||
import { table } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/table",
|
||||
redirect: "/table/index",
|
||||
meta: {
|
||||
icon: "ri:table-line",
|
||||
title: $t("menus.pureTable"),
|
||||
rank: table
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/table/index",
|
||||
name: "PureTable",
|
||||
component: () => import("@/views/table/index.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTableBase")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/table/high",
|
||||
name: "PureTableHigh",
|
||||
component: () => import("@/views/table/high.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTableHigh")
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/table/edit",
|
||||
name: "PureTableEdit",
|
||||
component: () => import("@/views/table/edit.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureTableEdit"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/table/virtual",
|
||||
name: "VxeTable",
|
||||
component: () => import("@/views/table/virtual.vue"),
|
||||
meta: {
|
||||
title: $t("menus.pureVxeTable"),
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
22
Yi.Pure.Vue3/src/router/modules/vueflow.ts
Normal file
22
Yi.Pure.Vue3/src/router/modules/vueflow.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { vueflow } from "@/router/enums";
|
||||
|
||||
export default {
|
||||
path: "/vue-flow",
|
||||
redirect: "/vue-flow/index",
|
||||
meta: {
|
||||
icon: "ep:set-up",
|
||||
title: "vue-flow",
|
||||
rank: vueflow
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/vue-flow/index",
|
||||
name: "VueFlow",
|
||||
component: () => import("@/views/vue-flow/layouting/index.vue"),
|
||||
meta: {
|
||||
title: "vue-flow",
|
||||
extraIcon: "IF-pure-iconfont-new svg"
|
||||
}
|
||||
}
|
||||
]
|
||||
} satisfies RouteConfigsTable;
|
||||
Reference in New Issue
Block a user