diff --git a/build/plugins/router.ts b/build/plugins/router.ts index 35c338a..4998540 100644 --- a/build/plugins/router.ts +++ b/build/plugins/router.ts @@ -9,7 +9,7 @@ export function setupElegantRouter() { blank: 'src/layouts/blank-layout/index.vue' }, customRoutes: { - names: [] + names: ['document'] }, routePathTransformer(routeName, routePath) { const key = routeName as RouteKey; diff --git a/public/iconify/mdi.json b/public/iconify/mdi.json index 593dc7a..09abcd6 100644 --- a/public/iconify/mdi.json +++ b/public/iconify/mdi.json @@ -16,6 +16,9 @@ }, "format-horizontal-align-left": { "body": "" + }, + "file-document-multiple-outline": { + "body": "" } } } diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts index e68e57d..0ca093e 100644 --- a/src/locales/langs/en-us.ts +++ b/src/locales/langs/en-us.ts @@ -317,6 +317,7 @@ const local: App.I18n.Schema = { log: 'Log', home: 'Home', about: 'About', + document: 'Document', pods: 'Online Machine', namespace: 'Namespace', notify: 'Notify', diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts index 18ae387..b4a6f8a 100644 --- a/src/locales/langs/zh-cn.ts +++ b/src/locales/langs/zh-cn.ts @@ -317,6 +317,7 @@ const local: App.I18n.Schema = { log: '日志', home: '首页', about: '关于', + document: '文档', pods: '在线机器', namespace: '命名空间', group: '组管理', diff --git a/src/plugins/iconify.ts b/src/plugins/iconify.ts index 8d52c26..7363b6f 100644 --- a/src/plugins/iconify.ts +++ b/src/plugins/iconify.ts @@ -1,4 +1,4 @@ -import { addAPIProvider } from '@iconify/vue'; +import { addAPIProvider, enableCache } from '@iconify/vue'; /** Setup the iconify offline */ export function setupIconifyOffline() { @@ -6,5 +6,7 @@ export function setupIconifyOffline() { if (VITE_ICONIFY_URL) { addAPIProvider('', { resources: [VITE_ICONIFY_URL] }); + + enableCache('all'); } } diff --git a/src/router/elegant/routes.ts b/src/router/elegant/routes.ts index c311a56..fca8ec7 100644 --- a/src/router/elegant/routes.ts +++ b/src/router/elegant/routes.ts @@ -46,7 +46,7 @@ export const generatedRoutes: GeneratedRoute[] = [ meta: { title: 'about', i18nKey: 'route.about', - order: 1000, + order: 999, icon: 'material-symbols:help-outline-rounded' } }, @@ -58,7 +58,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'group', i18nKey: 'route.group', order: 30, - icon: 'material-symbols:group-work-outline' + icon: 'material-symbols:group-work-outline', + keepAlive: true } }, { @@ -69,7 +70,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'home', i18nKey: 'route.home', icon: 'material-symbols:dashboard-outline-rounded', - order: 1 + order: 1, + keepAlive: true } }, { @@ -93,7 +95,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'job', i18nKey: 'route.job', order: 50, - icon: 'eos-icons:cronjob' + icon: 'eos-icons:cronjob', + keepAlive: true }, children: [ { @@ -104,7 +107,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'job_batch', i18nKey: 'route.job_batch', icon: 'carbon:batch-job', - order: 20 + order: 20, + keepAlive: true } }, { @@ -115,7 +119,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'job_task', i18nKey: 'route.job_task', icon: 'octicon:tasklist', - order: 10 + order: 10, + keepAlive: true } } ] @@ -152,7 +157,8 @@ export const generatedRoutes: GeneratedRoute[] = [ i18nKey: 'route.namespace', icon: 'eos-icons:namespace', order: 20, - roles: ['R_ADMIN'] + roles: ['R_ADMIN'], + keepAlive: true } }, { @@ -163,7 +169,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'notify', i18nKey: 'route.notify', order: 100, - icon: 'material-symbols:notifications-active-outline-rounded' + icon: 'material-symbols:notifications-active-outline-rounded', + keepAlive: true }, children: [ { @@ -173,7 +180,8 @@ export const generatedRoutes: GeneratedRoute[] = [ meta: { title: 'notify_config', i18nKey: 'route.notify_config', - icon: 'cbi:scene-dynamic' + icon: 'cbi:scene-dynamic', + keepAlive: true } }, { @@ -183,7 +191,8 @@ export const generatedRoutes: GeneratedRoute[] = [ meta: { title: 'notify_recipient', i18nKey: 'route.notify_recipient', - icon: 'fluent:people-call-20-filled' + icon: 'fluent:people-call-20-filled', + keepAlive: true } } ] @@ -196,7 +205,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'pods', i18nKey: 'route.pods', icon: 'ant-design:database-outlined', - order: 10 + order: 10, + keepAlive: true } }, { @@ -207,7 +217,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'retry', i18nKey: 'route.retry', order: 70, - icon: 'carbon:retry-failed' + icon: 'carbon:retry-failed', + keepAlive: true }, children: [ { @@ -218,7 +229,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'retry_dead-letter', i18nKey: 'route.retry_dead-letter', icon: 'streamline:interface-arrows-synchronize-warning-arrow-fail-notification-sync-warning-failure-synchronize-error', - order: 30 + order: 30, + keepAlive: true } }, { @@ -229,7 +241,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'retry_log', i18nKey: 'route.retry_log', icon: 'tabler:logs', - order: 20 + order: 20, + keepAlive: true } }, { @@ -240,7 +253,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'retry_scene', i18nKey: 'route.retry_scene', icon: 'cbi:scene-dynamic', - order: 1 + order: 1, + keepAlive: true } }, { @@ -251,7 +265,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'retry_task', i18nKey: 'route.retry_task', icon: 'octicon:tasklist', - order: 10 + order: 10, + keepAlive: true } } ] @@ -265,7 +280,8 @@ export const generatedRoutes: GeneratedRoute[] = [ i18nKey: 'route.user', order: 900, icon: 'material-symbols:manage-accounts', - roles: ['R_ADMIN'] + roles: ['R_ADMIN'], + keepAlive: true }, children: [ { @@ -277,7 +293,8 @@ export const generatedRoutes: GeneratedRoute[] = [ i18nKey: 'route.user_manager', icon: 'streamline:interface-user-multiple-close-geometric-human-multiple-person-up-user', order: 900, - roles: ['R_ADMIN'] + roles: ['R_ADMIN'], + keepAlive: true } } ] @@ -290,7 +307,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'workflow', i18nKey: 'route.workflow', order: 60, - icon: 'lucide:workflow' + icon: 'lucide:workflow', + keepAlive: true }, children: [ { @@ -301,7 +319,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'workflow_batch', i18nKey: 'route.workflow_batch', icon: 'carbon:batch-job', - order: 10 + order: 10, + keepAlive: true } }, { @@ -373,7 +392,8 @@ export const generatedRoutes: GeneratedRoute[] = [ title: 'workflow_task', i18nKey: 'route.workflow_task', icon: 'octicon:tasklist', - order: 1 + order: 1, + keepAlive: true } } ] diff --git a/src/router/routes/index.ts b/src/router/routes/index.ts index 5a295d8..cd1401a 100644 --- a/src/router/routes/index.ts +++ b/src/router/routes/index.ts @@ -12,7 +12,22 @@ const customRoutes: CustomRoute[] = []; /** create routes when the auth route mode is static */ export function createStaticRoutes() { - const constantRoutes: ElegantRoute[] = []; + const constantRoutes: ElegantRoute[] = [ + { + name: 'document', + path: '/document', + component: 'layout.blank$view.iframe-page', + props: { + url: 'https://snailjob.opensnail.com/' + }, + meta: { + title: 'document', + i18nKey: 'route.document', + order: 1000, + icon: 'mdi:file-document-multiple-outline' + } + } + ]; const authRoutes: ElegantRoute[] = [];