@@ -113,8 +135,20 @@ function handleClickNav(name: string) {
-
diff --git a/contact-frontend/packages/modules/services/system/src/layouts/MenusLayout.vue b/contact-frontend/packages/modules/services/system/src/layouts/MenusLayout.vue
index a0c59d60..bd6d3436 100644
--- a/contact-frontend/packages/modules/services/system/src/layouts/MenusLayout.vue
+++ b/contact-frontend/packages/modules/services/system/src/layouts/MenusLayout.vue
@@ -2,7 +2,15 @@
import { MenusLayout } from '@cskefu/shared-ui'
import { MenuOption, NMenu } from 'naive-ui'
-const menuOptions: MenuOption[] = []
+import routes from '../routes'
+
+const menuOptions: MenuOption[] = routes[0]?.children?.map((route) => {
+ return {
+ label: route.meta?.title,
+ key: route.name,
+ disabled: route.meta?.disabled,
+ }
+}) as MenuOption[]
diff --git a/contact-frontend/packages/modules/services/system/src/routes/index.ts b/contact-frontend/packages/modules/services/system/src/routes/index.ts
index 3333615b..eb1bea51 100644
--- a/contact-frontend/packages/modules/services/system/src/routes/index.ts
+++ b/contact-frontend/packages/modules/services/system/src/routes/index.ts
@@ -14,46 +14,107 @@ const routes: RouteRecordRaw[] = [
path: 'index',
name: ROUTE_NAME.SYSTEM_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '系统信息',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
},
{
path: 'social',
name: ROUTE_NAME.SYSTEM_SOCIAL_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '第三方登录',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
},
{
path: 'oss',
name: ROUTE_NAME.SYSTEM_OSS_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '对象存储设置',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
},
{
path: 'cdn',
name: ROUTE_NAME.SYSTEM_CDN_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: 'CDN 设置',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
},
{
path: 'sms',
name: ROUTE_NAME.SYSTEM_SMS_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '短信平台设置',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ comingSoon: true,
+ disabled: true,
+ },
},
{
path: 'call',
name: ROUTE_NAME.SYSTEM_CALL_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '呼叫平台设置',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ comingSoon: true,
+ disabled: true,
+ },
},
{
path: 'gpt',
name: ROUTE_NAME.SYSTEM_GPT_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: 'GPT 设置',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ comingSoon: true,
+ disabled: true,
+ },
},
{
path: 'source',
name: ROUTE_NAME.SYSTEM_SOURCE_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '元数据',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
},
{
path: 'notification',
name: ROUTE_NAME.SYSTEM_NOTIFICATION_INDEX,
component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '通知设置',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
+ },
+ {
+ path: 'notification',
+ name: ROUTE_NAME.SYSTEM_LOG_INDEX,
+ component: () => import('../views/HomeView.vue'),
+ meta: {
+ title: '日志查看',
+ isAuth: true,
+ icon: 'el-icon-setting',
+ },
},
],
},
diff --git a/contact-frontend/packages/shared/ui/src/components/Menus.vue b/contact-frontend/packages/shared/ui/src/components/Menus.vue
new file mode 100644
index 00000000..e69de29b