初始化本地仓库

This commit is contained in:
2026-08-31 11:33:59 +08:00
commit 663f74b633
2390 changed files with 402918 additions and 0 deletions
@@ -0,0 +1,58 @@
import { AppRouteRecord } from '@/types/router'
export const articleRoutes: AppRouteRecord = {
name: 'DemoArticle',
path: '/demo-article',
meta: {
title: 'menus.article.title',
icon: 'ri:article-line',
roles: ['R_SUPER', 'R_ADMIN'],
module: 'demo'
},
children: [
{
path: 'list',
name: 'DemoArticleList',
component: '/article/list',
meta: {
title: 'menus.article.list',
icon: 'ri:list-unordered',
keepAlive: false,
module: 'demo'
}
},
{
path: 'detail',
name: 'DemoArticleDetail',
component: '/article/detail',
meta: {
title: 'menus.article.detail',
icon: 'ri:file-text-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'publish',
name: 'DemoArticlePublish',
component: '/article/publish',
meta: {
title: 'menus.article.publish',
icon: 'ri:edit-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'comment',
name: 'DemoArticleComment',
component: '/article/comment',
meta: {
title: 'menus.article.comment',
icon: 'ri:message-3-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,48 @@
import { AppRouteRecord } from '@/types/router'
export const dashboardRoutes: AppRouteRecord = {
name: 'DemoDashboard',
path: '/demo-dashboard',
meta: {
title: 'menus.dashboard.title',
icon: 'ri:pie-chart-line',
roles: ['R_SUPER', 'R_ADMIN'],
module: 'demo'
},
children: [
{
path: 'console',
name: 'DemoConsole',
component: '/dashboard/console',
meta: {
title: 'menus.dashboard.console',
icon: 'ri:home-smile-2-line',
keepAlive: false,
fixedTab: false,
module: 'demo'
}
},
{
path: 'analysis',
name: 'DemoAnalysis',
component: '/dashboard/analysis',
meta: {
title: 'menus.dashboard.analysis',
icon: 'ri:align-item-bottom-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'ecommerce',
name: 'DemoEcommerce',
component: '/dashboard/ecommerce',
meta: {
title: 'menus.dashboard.ecommerce',
icon: 'ri:bar-chart-box-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,100 @@
import { AppRouteRecord } from '@/types/router'
export const examplesRoutes: AppRouteRecord = {
name: 'DemoExamples',
path: '/demo-examples',
meta: {
title: 'menus.examples.title',
icon: 'ri:sparkling-line',
module: 'demo'
},
children: [
{
path: 'forms',
name: 'DemoForms',
component: '/examples/forms',
meta: {
title: 'menus.examples.forms.title',
icon: 'ri:form-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'tables',
name: 'DemoTables',
component: '/examples/tables',
meta: {
title: 'menus.examples.tables.title',
icon: 'ri:table-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'tabs',
name: 'DemoTabs',
component: '/examples/tabs',
meta: {
title: 'menus.examples.tabs.title',
icon: 'ri:folder-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'socket-chat',
name: 'DemoSocketChat',
component: '/examples/socket-chat',
meta: {
title: 'menus.examples.socketChat.title',
icon: 'ri:chat-3-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'permission',
name: 'DemoPermission',
meta: {
title: 'menus.examples.permission.title',
icon: 'ri:fingerprint-line',
module: 'demo'
},
children: [
{
path: 'switch-role',
name: 'DemoPermissionSwitchRole',
component: '/examples/permission/switch-role',
meta: {
title: 'menus.examples.permission.switchRole',
icon: 'ri:contacts-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'button-auth',
name: 'DemoPermissionButtonAuth',
component: '/examples/permission/button-auth',
meta: {
title: 'menus.examples.permission.buttonAuth',
icon: 'ri:mouse-line',
keepAlive: true,
module: 'demo',
authList: [
{ title: '新增', authMark: 'add' },
{ title: '编辑', authMark: 'edit' },
{ title: '删除', authMark: 'delete' },
{ title: '导出', authMark: 'export' },
{ title: '查看', authMark: 'view' },
{ title: '发布', authMark: 'publish' },
{ title: '配置', authMark: 'config' },
{ title: '管理', authMark: 'manage' }
]
}
}
]
}
]
}
@@ -0,0 +1,49 @@
import { AppRouteRecord } from '@/types/router'
export const exceptionRoutes: AppRouteRecord = {
name: 'DemoException',
path: '/demo-exception',
meta: {
title: 'menus.exception.title',
icon: 'ri:error-warning-line',
module: 'demo'
},
children: [
{
path: '403',
name: 'Demo403',
component: '/exception/403',
meta: {
isFullPage: true,
title: 'menus.exception.403',
icon: 'ri:forbid-line',
keepAlive: false,
module: 'demo'
}
},
{
path: '404',
name: 'Demo404',
component: '/exception/404',
meta: {
isFullPage: true,
title: 'menus.exception.404',
icon: 'ri:file-search-line',
keepAlive: false,
module: 'demo'
}
},
{
path: '500',
name: 'Demo500',
component: '/exception/500',
meta: {
isFullPage: true,
title: 'menus.exception.500',
icon: 'ri:server-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,24 @@
import { AppRouteRecord } from '@/types/router'
export const helpRoutes: AppRouteRecord = {
name: 'DemoHelp',
path: '/demo-help',
meta: {
title: 'menus.help.title',
icon: 'ri:question-line',
module: 'demo'
},
children: [
{
path: 'change-log',
name: 'DemoChangeLog',
component: '/change/log',
meta: {
title: 'menus.help.changeLog',
icon: 'ri:file-list-3-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,36 @@
import { AppRouteRecord } from '@/types/router'
import { dashboardRoutes } from './dashboard'
import { templateRoutes } from './template'
import { articleRoutes } from './article'
import { examplesRoutes } from './examples'
import { systemRoutes } from './system'
import { widgetsRoutes } from './widgets'
import { exceptionRoutes } from './exception'
import { resultRoutes } from './result'
import { safeguardRoutes } from './safeguard'
import { helpRoutes } from './help'
import { RoutesAlias } from '@/router/routesAlias'
import { $t } from '@/locales'
export default {
path: '/demo-playground',
name: 'DemoPlayground',
component: RoutesAlias.Layout,
meta: {
title: $t('demo.demo.playground.title'),
icon: 'ri:play-circle-line',
module: 'demo'
},
children: [
dashboardRoutes,
templateRoutes,
articleRoutes,
examplesRoutes,
systemRoutes,
widgetsRoutes,
exceptionRoutes,
resultRoutes,
safeguardRoutes,
helpRoutes
]
} as AppRouteRecord
@@ -0,0 +1,35 @@
import { AppRouteRecord } from '@/types/router'
export const resultRoutes: AppRouteRecord = {
name: 'DemoResult',
path: '/demo-result',
meta: {
title: 'menus.result.title',
icon: 'ri:checkbox-circle-line',
module: 'demo'
},
children: [
{
path: 'success',
name: 'DemoSuccess',
component: '/result/success',
meta: {
title: 'menus.result.success',
icon: 'ri:checkbox-circle-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'fail',
name: 'DemoFail',
component: '/result/fail',
meta: {
title: 'menus.result.fail',
icon: 'ri:close-circle-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,24 @@
import { AppRouteRecord } from '@/types/router'
export const safeguardRoutes: AppRouteRecord = {
name: 'DemoSafeguard',
path: '/demo-safeguard',
meta: {
title: 'menus.safeguard.title',
icon: 'ri:shield-keyhole-line',
module: 'demo'
},
children: [
{
path: 'server',
name: 'DemoServer',
component: '/safeguard/server',
meta: {
title: 'menus.safeguard.server',
icon: 'ri:server-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,113 @@
import { AppRouteRecord } from '@/types/router'
export const systemRoutes: AppRouteRecord = {
name: 'DemoSystem',
path: '/demo-system',
meta: {
title: 'menus.system.title',
icon: 'ri:settings-3-line',
roles: ['R_SUPER', 'R_ADMIN'],
module: 'demo'
},
children: [
{
path: 'user',
name: 'DemoUser',
component: '/system/user',
meta: {
title: 'menus.system.user',
icon: 'ri:user-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'role',
name: 'DemoRole',
component: '/system/role',
meta: {
title: 'menus.system.role',
icon: 'ri:admin-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'menu',
name: 'DemoMenu',
component: '/system/menu',
meta: {
title: 'menus.system.menu',
icon: 'ri:menu-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'nested',
name: 'DemoNested',
meta: {
title: 'menus.system.nested',
icon: 'ri:node-tree',
module: 'demo'
},
children: [
{
path: 'menu1',
name: 'DemoMenu1',
component: '/system/nested/menu1',
meta: {
title: 'menus.system.nested.menu1',
icon: 'ri:menu-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'menu2',
name: 'DemoMenu2',
component: '/system/nested/menu2',
meta: {
title: 'menus.system.nested.menu2',
icon: 'ri:menu-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'menu3',
name: 'DemoMenu3',
meta: {
title: 'menus.system.nested.menu3',
icon: 'ri:menu-line',
module: 'demo'
},
children: [
{
path: 'menu3-2',
name: 'DemoMenu3-2',
component: '/system/nested/menu3/menu3-2',
meta: {
title: 'menus.system.nested.menu3-2',
icon: 'ri:menu-line',
keepAlive: false,
module: 'demo'
}
}
]
}
]
},
{
path: 'user-center',
name: 'DemoUserCenter',
component: '/system/user-center',
meta: {
title: 'menus.system.userCenter',
icon: 'ri:user-settings-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,91 @@
import { AppRouteRecord } from '@/types/router'
export const templateRoutes: AppRouteRecord = {
name: 'DemoTemplate',
path: '/demo-template',
meta: {
title: 'menus.template.title',
icon: 'ri:layout-3-line',
roles: ['R_SUPER', 'R_ADMIN'],
module: 'demo'
},
children: [
{
path: 'banners',
name: 'DemoBanners',
component: '/template/banners',
meta: {
title: 'menus.template.banners',
icon: 'ri:image-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'calendar',
name: 'DemoCalendar',
component: '/template/calendar',
meta: {
title: 'menus.template.calendar',
icon: 'ri:calendar-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'cards',
name: 'DemoCards',
component: '/template/cards',
meta: {
title: 'menus.template.cards',
icon: 'ri:card-view',
keepAlive: false,
module: 'demo'
}
},
{
path: 'charts',
name: 'DemoCharts',
component: '/template/charts',
meta: {
title: 'menus.template.charts',
icon: 'ri:bar-chart-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'chat',
name: 'DemoChat',
component: '/template/chat',
meta: {
title: 'menus.template.chat',
icon: 'ri:chat-1-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'map',
name: 'DemoMap',
component: '/template/map',
meta: {
title: 'menus.template.map',
icon: 'ri:map-pin-line',
keepAlive: false,
module: 'demo'
}
},
{
path: 'pricing',
name: 'DemoPricing',
component: '/template/pricing',
meta: {
title: 'menus.template.pricing',
icon: 'ri:price-tag-3-line',
keepAlive: false,
module: 'demo'
}
}
]
}
@@ -0,0 +1,156 @@
import { AppRouteRecord } from '@/types/router'
export const widgetsRoutes: AppRouteRecord = {
name: 'DemoWidgets',
path: '/demo-widgets',
meta: {
title: 'menus.widgets.title',
icon: 'ri:apps-2-line',
module: 'demo'
},
children: [
{
path: 'context-menu',
name: 'DemoContextMenu',
component: '/widgets/context-menu',
meta: {
title: 'menus.widgets.contextMenu',
icon: 'ri:menu-2-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'count-to',
name: 'DemoCountTo',
component: '/widgets/count-to',
meta: {
title: 'menus.widgets.countTo',
icon: 'ri:number-1',
keepAlive: true,
module: 'demo'
}
},
{
path: 'drag',
name: 'DemoDrag',
component: '/widgets/drag',
meta: {
title: 'menus.widgets.drag',
icon: 'ri:drag-move-2-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'excel',
name: 'DemoExcel',
component: '/widgets/excel',
meta: {
title: 'menus.widgets.excel',
icon: 'ri:file-excel-2-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'demo-fireworks',
name: 'DemoFireworks',
component: '/widgets/fireworks',
meta: {
title: 'menus.widgets.fireworks',
icon: 'ri:fire-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'icon',
name: 'DemoIcon',
component: '/widgets/icon',
meta: {
title: 'menus.widgets.icon',
icon: 'ri:emotion-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'image-crop',
name: 'DemoImageCrop',
component: '/widgets/image-crop',
meta: {
title: 'menus.widgets.imageCrop',
icon: 'ri:crop-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'qrcode',
name: 'DemoQrcode',
component: '/widgets/qrcode',
meta: {
title: 'menus.widgets.qrcode',
icon: 'ri:qr-code-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'text-scroll',
name: 'DemoTextScroll',
component: '/widgets/text-scroll',
meta: {
title: 'menus.widgets.textScroll',
icon: 'ri:text-wrap',
keepAlive: true,
module: 'demo'
}
},
{
path: 'video',
name: 'DemoVideo',
component: '/widgets/video',
meta: {
title: 'menus.widgets.video',
icon: 'ri:video-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'wang-editor',
name: 'DemoWangEditor',
component: '/widgets/wang-editor',
meta: {
title: 'menus.widgets.wangEditor',
icon: 'ri:edit-box-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'watermark',
name: 'DemoWatermark',
component: '/widgets/watermark',
meta: {
title: 'menus.widgets.watermark',
icon: 'ri:water-percent-line',
keepAlive: true,
module: 'demo'
}
},
{
path: 'image-selector',
name: 'DemoImageSelector',
component: '/widgets/image-selector',
meta: {
title: '图片选择器',
icon: 'ri:image-line',
keepAlive: true,
module: 'demo'
}
}
]
}