mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
add: routes to menus
Signed-off-by: Kaifuny <superbiger.github@gmail.com>
This commit is contained in:
parent
20026e0016
commit
0a91e3c543
@ -29,7 +29,10 @@ export enum ROUTE_NAME {
|
|||||||
SEATS_CHATMANAGE_INDEX = 'SEATS_CHATMANAGE_INDEX', // 会话管理
|
SEATS_CHATMANAGE_INDEX = 'SEATS_CHATMANAGE_INDEX', // 会话管理
|
||||||
SEATS_LEAVEMANAGE_INDEX = 'SEATS_LEAVEMANAGE_INDEX', // 留言管理
|
SEATS_LEAVEMANAGE_INDEX = 'SEATS_LEAVEMANAGE_INDEX', // 留言管理
|
||||||
SEATS_SEATSMANAGE_INDEX = 'SEATS_SEATSMANAGE_INDEX', // 坐席管理
|
SEATS_SEATSMANAGE_INDEX = 'SEATS_SEATSMANAGE_INDEX', // 坐席管理
|
||||||
SEATS_ROBOTMANAGE_INDEX = 'SEATS_ROBOTMANAGE_INDEX', // 机器人管理
|
SEATS_ROBOT_INDEX = 'SEATS_ROBOT_INDEX', // 机器人管理
|
||||||
|
SEATS_ROBOT_DASHBOARD_INDEX = 'SEATS_ROBOTMANAGE_DASHBOARD_INDEX', // 机器人数据统计
|
||||||
|
SEATS_ROBOT_MANAGE_INDEX = 'SEATS_ROBOTMANAGE_MANAGE_INDEX', // 机器人管理
|
||||||
|
SEATS_ROBOT_SETTING_INDEX = 'SEATS_ROBOT_SETTING_INDEX', // 机器人设置
|
||||||
|
|
||||||
// 组织管理模块
|
// 组织管理模块
|
||||||
ORGANIZATION_INDEX = 'ORGANIZATION_INDEX',
|
ORGANIZATION_INDEX = 'ORGANIZATION_INDEX',
|
||||||
@ -39,16 +42,21 @@ export enum ROUTE_NAME {
|
|||||||
|
|
||||||
// 企业设置模块
|
// 企业设置模块
|
||||||
ENTERPRISE_INDEX = 'ENTERPRISE_INDEX',
|
ENTERPRISE_INDEX = 'ENTERPRISE_INDEX',
|
||||||
ENTERPRISE_KEFU_INDEX = 'ENTERPRISE_KEFU_INDEX', // 客服设置
|
ENTERPRISE_KEFU_INDEX = 'ENTERPRISE_KEFU_INDEX', // 客服入口设置
|
||||||
ENTERPRISE_CHANNEL_INDEX = 'ENTERPRISE_CHANNEL_INDEX', // 接入
|
ENTERPRISE_CHANNEL_INDEX = 'ENTERPRISE_CHANNEL_INDEX', // 渠道接入
|
||||||
ENTERPRISE_CHAT_INDEX = 'ENTERPRISE_CHAT_INDEX', // 对话
|
|
||||||
ENTERPRISE_CUSTOMER_INDEX = 'ENTERPRISE_CUSTOMER_INDEX', // 客户
|
|
||||||
ENTERPRISE_KNOWLEDGE_INDEX = 'ENTERPRISE_KNOWLEDGE_INDEX', // 知识库
|
ENTERPRISE_KNOWLEDGE_INDEX = 'ENTERPRISE_KNOWLEDGE_INDEX', // 知识库
|
||||||
ENTERPRISE_WORKORDER_INDEX = 'ENTERPRISE_WORKORDER_INDEX', // 工单
|
ENTERPRISE_QUALITY_INDEX = 'ENTERPRISE_QUALITY_INDEX', // 质检
|
||||||
ENTERPRISE_LEAVEMESSAGE_INDEX = 'ENTERPRISE_LEAVEMESSAGE_INDEX', // 留言
|
ENTERPRISE_CHAT_INDEX = 'ENTERPRISE_CHAT_INDEX', // 对话
|
||||||
ENTERPRISE_ADMIN_INDEX = 'ENTERPRISE_ADMIN_INDEX', // 管理员 - 组织管理设置
|
ENTERPRISE_ADMIN_INDEX = 'ENTERPRISE_ADMIN_INDEX', // 管理员 - 组织管理设置
|
||||||
ENTERPRISE_USERS_INDEX = 'ENTERPRISE_USERS_INDEX', // 账号管理
|
ENTERPRISE_USERS_INDEX = 'ENTERPRISE_USERS_INDEX', // 账号管理
|
||||||
ENTERPRISE_ROLES_INDEX = 'ENTERPRISE_ROLES_INDEX', // 角色管理
|
ENTERPRISE_ROLES_INDEX = 'ENTERPRISE_ROLES_INDEX', // 角色管理
|
||||||
|
ENTERPRISE_ORGANIZATIONS_INDEX = 'ENTERPRISE_ORGANIZATIONS_INDEX', // 组织架构管理
|
||||||
|
ENTERPRISE_FEATURE_INDEX = 'ENTERPRISE_FEATURE_INDEX', // 客户
|
||||||
|
ENTERPRISE_CHAT_SETTING_INDEX = 'ENTERPRISE_CHAT_SETTING_INDEX', // 对话设置
|
||||||
|
ENTERPRISE_CUSTOMER_SETTING_INDEX = 'ENTERPRISE_CUSTOMER_SETTING_INDEX', // 客户设置
|
||||||
|
ENTERPRISE_WORKORDER_SETTING_INDEX = 'ENTERPRISE_WORKORDER_SETTING_INDEX', // 工单设置
|
||||||
|
ENTERPRISE_LEAVEMESSAGE_SETTING_INDEX = 'ENTERPRISE_LEAVEMESSAGE_SETTING_INDEX', // 留言设置
|
||||||
|
|
||||||
// 系统设置模块
|
// 系统设置模块
|
||||||
SYSTEM_INDEX = 'SYSTEM_INDEX',
|
SYSTEM_INDEX = 'SYSTEM_INDEX',
|
||||||
SYSTEM_INFO_INDEX = 'SYSTEM_INFO_INDEX', // 系统信息
|
SYSTEM_INFO_INDEX = 'SYSTEM_INFO_INDEX', // 系统信息
|
||||||
|
@ -1,68 +1,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ROUTE_NAME } from '@cskefu/models'
|
|
||||||
import { MenusLayout } from '@cskefu/shared-ui'
|
import { MenusLayout } from '@cskefu/shared-ui'
|
||||||
import { MenuOption, NMenu } from 'naive-ui'
|
import { MenuOption, NMenu } from 'naive-ui'
|
||||||
|
|
||||||
const menuOptions: MenuOption[] = [
|
import routes from '../routes'
|
||||||
{
|
import { routesToMenus } from '@cskefu/shared-utils'
|
||||||
label: '企业服务',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
const menuOptions: MenuOption[] = routesToMenus(routes)
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '客服设置',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_KEFU_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '渠道接入',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_CHANNEL_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '知识库',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_KNOWLEDGE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '质检',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_KNOWLEDGE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '账号管理',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '账号管理',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_USERS_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '角色管理',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_ROLES_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '组织架构',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_ROLES_INDEX,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '功能设置',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '对话设置',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_CHANNEL_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '客户设置',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_CHANNEL_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '工单设置',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_CHANNEL_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '留言设置',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_CHANNEL_INDEX,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<MenusLayout>
|
<MenusLayout>
|
||||||
|
@ -14,6 +14,139 @@ const routes: RouteRecordRaw[] = [
|
|||||||
path: 'index',
|
path: 'index',
|
||||||
name: ROUTE_NAME.ENTERPRISE_INDEX,
|
name: ROUTE_NAME.ENTERPRISE_INDEX,
|
||||||
component: () => import('../views/HomeView.vue'),
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '企业服务',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'chat',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_KEFU_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '客服入口设置',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'channel',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_CHANNEL_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '渠道接入',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'knowledge',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_KNOWLEDGE_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '知识库',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'quality',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_QUALITY_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '质检',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'ou',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_ADMIN_INDEX,
|
||||||
|
meta: {
|
||||||
|
title: '组织/成员',
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'users',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_USERS_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '账号管理',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'roles',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_ROLES_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '角色管理',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'organization',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_ORGANIZATIONS_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '组织架构',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'feature',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_FEATURE_INDEX,
|
||||||
|
meta: {
|
||||||
|
title: '功能设置',
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_CHAT_SETTING_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '对话设置',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_CUSTOMER_SETTING_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '客户设置',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_WORKORDER_SETTING_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '工单设置',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.ENTERPRISE_LEAVEMESSAGE_SETTING_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '留言设置',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -1,43 +1,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ROUTE_NAME } from '@cskefu/models'
|
|
||||||
import { MenusLayout } from '@cskefu/shared-ui'
|
import { MenusLayout } from '@cskefu/shared-ui'
|
||||||
import { MenuOption, NMenu } from 'naive-ui'
|
import { MenuOption, NMenu } from 'naive-ui'
|
||||||
|
|
||||||
const menuOptions: MenuOption[] = [
|
import routes from '../routes'
|
||||||
{
|
import { routesToMenus } from '@cskefu/shared-utils'
|
||||||
label: '坐席看板',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
const menuOptions: MenuOption[] = routesToMenus(routes)
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '会话管理',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '留言管理',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '坐席管理',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '机器人管理',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: '数据统计',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '机器人管理',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '机器人设置',
|
|
||||||
key: ROUTE_NAME.ENTERPRISE_INDEX,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<MenusLayout>
|
<MenusLayout>
|
||||||
|
@ -12,8 +12,82 @@ const routes: RouteRecordRaw[] = [
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'index',
|
path: 'index',
|
||||||
name: ROUTE_NAME.SEATS_INDEX,
|
name: ROUTE_NAME.SEATS_DASHBOARD_INDEX,
|
||||||
component: () => import('../views/HomeView.vue'),
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '坐席看板',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_CHATMANAGE_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '会话管理',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_LEAVEMANAGE_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '留言管理',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_SEATSMANAGE_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '坐席管理',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_ROBOT_INDEX,
|
||||||
|
meta: {
|
||||||
|
title: '机器人管理',
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_ROBOT_DASHBOARD_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '数据统计',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_ROBOT_MANAGE_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '机器人管理',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'index',
|
||||||
|
name: ROUTE_NAME.SEATS_INDEX,
|
||||||
|
component: () => import('../views/HomeView.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '机器人设置',
|
||||||
|
isAuth: true,
|
||||||
|
icon: 'el-icon-setting',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -4,13 +4,9 @@ import { MenuOption, NMenu } from 'naive-ui'
|
|||||||
|
|
||||||
import routes from '../routes'
|
import routes from '../routes'
|
||||||
|
|
||||||
const menuOptions: MenuOption[] = routes[0]?.children?.map((route) => {
|
import { routesToMenus } from '@cskefu/shared-utils'
|
||||||
return {
|
|
||||||
label: route.meta?.title,
|
const menuOptions: MenuOption[] = routesToMenus(routes)
|
||||||
key: route.name,
|
|
||||||
disabled: route.meta?.disabled,
|
|
||||||
}
|
|
||||||
}) as MenuOption[]
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<MenusLayout>
|
<MenusLayout>
|
||||||
|
@ -2,5 +2,13 @@
|
|||||||
"name": "@cskefu/shared-utils",
|
"name": "@cskefu/shared-utils",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"type": "module"
|
"type": "module",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"import": {
|
||||||
|
"node": "./src/index.ts",
|
||||||
|
"default": "./src/index.ts"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
1
contact-frontend/packages/shared/utils/src/index.ts
Normal file
1
contact-frontend/packages/shared/utils/src/index.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './routes'
|
29
contact-frontend/packages/shared/utils/src/routes.ts
Normal file
29
contact-frontend/packages/shared/utils/src/routes.ts
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import { MenuOption } from 'naive-ui'
|
||||||
|
import { RouteRecordRaw } from 'vue-router'
|
||||||
|
|
||||||
|
export function routesToMenus(
|
||||||
|
routes: RouteRecordRaw[],
|
||||||
|
isNotRoot?: boolean
|
||||||
|
): MenuOption[] {
|
||||||
|
const result: MenuOption[] = []
|
||||||
|
const array = isNotRoot ? routes : routes[0].children
|
||||||
|
if (array) {
|
||||||
|
array.forEach((route: RouteRecordRaw) => {
|
||||||
|
if (route.children) {
|
||||||
|
result.push({
|
||||||
|
label: route.meta?.title,
|
||||||
|
key: route.path,
|
||||||
|
children: routesToMenus(route.children, true),
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
result.push({
|
||||||
|
label: route.meta?.title,
|
||||||
|
key: route.name as string,
|
||||||
|
disabled: route.meta?.disabled as boolean,
|
||||||
|
comingSoon: route.meta?.comingSoon,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user