870 lines
21 KiB
TypeScript
870 lines
21 KiB
TypeScript
import { RoutesAlias } from '../routesAlias'
|
||
import { AppRouteRecord } from '@/types/router'
|
||
|
||
/**
|
||
* 菜单列表、异步路由
|
||
*
|
||
* 支持两种模式:
|
||
* 1. 前端静态配置 - 直接使用本文件中定义的路由配置
|
||
* 2. 后端动态配置 - 后端返回菜单数据,前端解析生成路由
|
||
*
|
||
* 菜单标题(title):
|
||
* 可以是 i18n 的 key,也可以是字符串,比如:'用户列表'
|
||
*/
|
||
export const asyncRoutes: AppRouteRecord[] = [
|
||
// 仪表台
|
||
{
|
||
name: 'Dashboard',
|
||
path: '/dashboard',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.dashboard.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
{
|
||
path: 'console',
|
||
name: 'Console',
|
||
component: RoutesAlias.Dashboard,
|
||
meta: {
|
||
title: 'menus.dashboard.console',
|
||
keepAlive: false,
|
||
fixedTab: true
|
||
}
|
||
},
|
||
{
|
||
path: 'analysis',
|
||
name: 'Analysis',
|
||
component: RoutesAlias.Analysis,
|
||
meta: {
|
||
title: 'menus.dashboard.analysis',
|
||
keepAlive: false
|
||
}
|
||
},
|
||
{
|
||
path: 'ecommerce',
|
||
name: 'Ecommerce',
|
||
component: RoutesAlias.Ecommerce,
|
||
meta: {
|
||
title: 'menus.dashboard.ecommerce',
|
||
keepAlive: false
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 系统管理
|
||
{
|
||
path: '/system',
|
||
name: 'System',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.system.title',
|
||
icon: '',
|
||
roles: ['R_SUPER', 'R_ADMIN']
|
||
},
|
||
children: [
|
||
{
|
||
path: 'role',
|
||
name: 'Role',
|
||
component: RoutesAlias.Role,
|
||
meta: {
|
||
title: 'menus.system.role',
|
||
keepAlive: true,
|
||
roles: ['R_SUPER']
|
||
}
|
||
},
|
||
{
|
||
path: 'permission',
|
||
name: 'PermissionManagement',
|
||
component: RoutesAlias.Permission,
|
||
meta: {
|
||
title: 'menus.system.permission',
|
||
keepAlive: true,
|
||
roles: ['R_SUPER']
|
||
}
|
||
},
|
||
{
|
||
path: 'carrier-management',
|
||
name: 'CarrierManagement',
|
||
component: RoutesAlias.CarrierManagement,
|
||
meta: {
|
||
title: 'menus.system.carrierManagement',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
{
|
||
path: 'user-center',
|
||
name: 'UserCenter',
|
||
component: RoutesAlias.UserCenter,
|
||
meta: {
|
||
title: 'menus.system.userCenter',
|
||
isHide: true,
|
||
keepAlive: true,
|
||
isHideTab: true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 套餐管理
|
||
{
|
||
path: '/package-management',
|
||
name: 'PackageManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.packageManagement.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 套餐系列
|
||
{
|
||
path: 'package-series',
|
||
name: 'PackageSeries',
|
||
component: RoutesAlias.PackageSeries,
|
||
meta: {
|
||
title: 'menus.packageManagement.packageSeries',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 套餐系列详情
|
||
{
|
||
path: 'package-series/detail/:id',
|
||
name: 'PackageSeriesDetail',
|
||
component: RoutesAlias.PackageSeriesDetail,
|
||
meta: {
|
||
title: 'menus.packageManagement.packageSeriesDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 套餐列表
|
||
{
|
||
path: 'package-list',
|
||
name: 'PackageList',
|
||
component: RoutesAlias.PackageList,
|
||
meta: {
|
||
title: 'menus.packageManagement.packageList',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 套餐列表详情
|
||
{
|
||
path: 'package-list/detail/:id',
|
||
name: 'PackageDetail',
|
||
component: RoutesAlias.PackageDetail,
|
||
meta: {
|
||
title: 'menus.packageManagement.packageDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 代理系列授权
|
||
{
|
||
path: 'series-grants',
|
||
name: 'SeriesGrants',
|
||
component: RoutesAlias.SeriesGrants,
|
||
meta: {
|
||
title: 'menus.packageManagement.seriesGrants',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 系列授权详情
|
||
{
|
||
path: 'series-grants/detail/:id',
|
||
name: 'SeriesGrantsDetail',
|
||
component: RoutesAlias.SeriesGrantsDetail,
|
||
meta: {
|
||
title: 'menus.packageManagement.seriesGrantsDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 系列授权套餐列表
|
||
{
|
||
path: 'series-grants/packages/:id',
|
||
name: 'SeriesGrantPackages',
|
||
component: RoutesAlias.SeriesGrantPackages,
|
||
meta: {
|
||
title: 'menus.packageManagement.seriesGrantPackages',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 店铺管理
|
||
{
|
||
path: '/shop-management',
|
||
name: 'ShopManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.shopManagement.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 店铺列表
|
||
{
|
||
path: 'list',
|
||
name: 'Shop',
|
||
component: RoutesAlias.Shop,
|
||
meta: {
|
||
title: 'menus.shopManagement.shopList',
|
||
keepAlive: true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 账号管理
|
||
{
|
||
path: '/account-management',
|
||
name: 'AccountManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.accountManagement.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 账号列表
|
||
{
|
||
path: 'account',
|
||
name: 'Account',
|
||
component: RoutesAlias.Account,
|
||
meta: {
|
||
title: 'menus.accountManagement.account',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 企业客户
|
||
{
|
||
path: 'enterprise-customer',
|
||
name: 'EnterpriseCustomer',
|
||
component: RoutesAlias.EnterpriseCustomer,
|
||
meta: {
|
||
title: 'menus.accountManagement.enterpriseCustomer',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
//企业客户账号列表和店铺账号列表共用
|
||
{
|
||
path: 'enterprise-customer/customer-accounts/:id',
|
||
name: 'EnterpriseCustomerAccounts',
|
||
component: RoutesAlias.EnterpriseCustomerAccounts,
|
||
meta: {
|
||
title: 'menus.accountManagement.enterpriseCustomerAccounts',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 资产管理
|
||
{
|
||
path: '/asset-management',
|
||
name: 'AssetManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.assetManagement.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 资产信息
|
||
{
|
||
path: 'asset-information',
|
||
name: 'AssetInformation',
|
||
component: RoutesAlias.AssetInformation,
|
||
meta: {
|
||
title: 'menus.assetManagement.assetInformation',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// IoT卡管理
|
||
{
|
||
path: 'iot-card-management',
|
||
name: 'StandaloneCardList',
|
||
component: RoutesAlias.StandaloneCardList,
|
||
meta: {
|
||
title: 'menus.assetManagement.standaloneCardList',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 设备管理
|
||
{
|
||
path: 'devices',
|
||
name: 'DeviceList',
|
||
component: RoutesAlias.DeviceList,
|
||
meta: {
|
||
title: 'menus.assetManagement.devices',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 换货管理
|
||
{
|
||
path: 'exchange-management',
|
||
name: 'ExchangeManagement',
|
||
component: RoutesAlias.ExchangeManagement,
|
||
meta: {
|
||
title: 'menus.assetManagement.exchangeManagement',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 换货详情
|
||
{
|
||
path: 'exchange-management/detail/:id',
|
||
name: 'ExchangeDetail',
|
||
component: RoutesAlias.ExchangeDetail,
|
||
meta: {
|
||
title: 'menus.assetManagement.exchangeDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 记录管理
|
||
{
|
||
path: 'record-management',
|
||
name: 'RecordsManagement',
|
||
component: '',
|
||
meta: {
|
||
title: 'menus.assetManagement.recordsManagement',
|
||
keepAlive: true
|
||
},
|
||
children: [
|
||
// 资产分配
|
||
{
|
||
path: 'asset-assign',
|
||
name: 'AssetAssign',
|
||
component: RoutesAlias.AssetAssign,
|
||
meta: {
|
||
title: 'menus.assetManagement.assetAssign',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 授权记录
|
||
{
|
||
path: 'authorization-records',
|
||
name: 'AuthorizationRecords',
|
||
component: RoutesAlias.AuthorizationRecords,
|
||
meta: {
|
||
title: 'menus.assetManagement.authorizationRecords',
|
||
keepAlive: true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// 分配记录详情(放在 asset-management 层级)
|
||
{
|
||
path: 'record-management/asset-assign/detail/:id',
|
||
name: 'AssetAssignDetail',
|
||
component: RoutesAlias.AssetAssignDetail,
|
||
meta: {
|
||
title: 'menus.assetManagement.assetAssignDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 授权记录详情(放在 asset-management 层级)
|
||
{
|
||
path: 'record-management/authorization-records/detail/:id',
|
||
name: 'AuthorizationRecordDetail',
|
||
component: RoutesAlias.AuthorizationRecordDetail,
|
||
meta: {
|
||
title: 'menus.assetManagement.authorizationRecordDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 任务管理
|
||
{
|
||
path: 'task-management',
|
||
name: 'TaskManagement',
|
||
component: '',
|
||
meta: {
|
||
title: 'menus.assetManagement.taskManagement',
|
||
keepAlive: true
|
||
},
|
||
children: [
|
||
// IoT卡任务
|
||
{
|
||
path: 'iot-card-task',
|
||
name: 'IotCardTask',
|
||
component: RoutesAlias.IotCardTask,
|
||
meta: {
|
||
title: 'menus.assetManagement.iotCardTask',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 设备任务
|
||
{
|
||
path: 'device-task',
|
||
name: 'DeviceTask',
|
||
component: RoutesAlias.DeviceTask,
|
||
meta: {
|
||
title: 'menus.assetManagement.deviceTask',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 订单套餐批量作废任务
|
||
{
|
||
path: 'order-package-invalidate-task',
|
||
name: 'OrderPackageInvalidateTask',
|
||
component: RoutesAlias.OrderPackageInvalidateTask,
|
||
meta: {
|
||
title: 'menus.assetManagement.orderPackageInvalidateTask',
|
||
keepAlive: true
|
||
}
|
||
}
|
||
]
|
||
},
|
||
// 订单套餐作废任务详情
|
||
{
|
||
path: 'task-management/order-package-invalidate-task/detail',
|
||
name: 'OrderPackageInvalidateTaskDetail',
|
||
component: RoutesAlias.OrderPackageInvalidateTaskDetail,
|
||
meta: {
|
||
title: 'menus.assetManagement.orderPackageInvalidateTaskDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 任务详情(放在 asset-management 层级)
|
||
{
|
||
path: 'task-management/task-detail',
|
||
name: 'TaskDetail',
|
||
component: RoutesAlias.TaskDetail,
|
||
meta: {
|
||
title: 'menus.assetManagement.taskDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 导出管理
|
||
{
|
||
path: 'export-task-management',
|
||
name: 'ExportTaskManagement',
|
||
component: '',
|
||
meta: {
|
||
title: 'menus.assetManagement.exportTaskManagement',
|
||
keepAlive: true
|
||
},
|
||
children: [
|
||
{
|
||
path: 'export-device',
|
||
name: 'ExportDeviceTaskList',
|
||
component: RoutesAlias.ExportDeviceTaskList,
|
||
meta: {
|
||
title: 'menus.assetManagement.exportDevice',
|
||
exportTaskScene: 'device',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
{
|
||
path: 'export-iot-card',
|
||
name: 'ExportIotCardTaskList',
|
||
component: RoutesAlias.ExportIotCardTaskList,
|
||
meta: {
|
||
title: 'menus.assetManagement.exportIotCard',
|
||
exportTaskScene: 'iot_card',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
{
|
||
path: 'export-order',
|
||
name: 'ExportOrderTaskList',
|
||
component: RoutesAlias.ExportOrderTaskList,
|
||
meta: {
|
||
title: 'menus.assetManagement.exportOrder',
|
||
exportTaskScene: 'order',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
{
|
||
path: 'export-task-detail',
|
||
name: 'ExportTaskDetail',
|
||
component: RoutesAlias.ExportTaskDetail,
|
||
meta: {
|
||
title: 'menus.assetManagement.exportTaskDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
|
||
// 订单管理
|
||
{
|
||
path: '/order-management',
|
||
name: 'OrderManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.orderManagement.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 订单列表
|
||
{
|
||
path: 'order-list',
|
||
name: 'OrderList',
|
||
component: RoutesAlias.OrderList,
|
||
meta: {
|
||
title: 'menus.orderManagement.orderList',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 订单详情
|
||
{
|
||
path: 'order-list/detail/:id',
|
||
name: 'OrderDetail',
|
||
component: RoutesAlias.OrderDetail,
|
||
meta: {
|
||
title: 'menus.orderManagement.orderDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 财务管理
|
||
{
|
||
path: '/finance',
|
||
name: 'FinanceManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.financialManagement.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 代理充值
|
||
{
|
||
path: 'agent-recharge',
|
||
name: 'AgentRecharge',
|
||
component: RoutesAlias.AgentRecharge,
|
||
meta: {
|
||
title: 'menus.financialManagement.agentRecharge',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 充值详情
|
||
{
|
||
path: 'agent-recharge/detail/:id',
|
||
name: 'AgentRechargeDetailRoute',
|
||
component: RoutesAlias.AgentRechargeDetail,
|
||
meta: {
|
||
title: 'menus.financialManagement.agentRechargeDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 退款管理
|
||
{
|
||
path: 'refund',
|
||
name: 'RefundManagement',
|
||
component: RoutesAlias.RefundManagement,
|
||
meta: {
|
||
title: 'menus.financialManagement.refundManagement',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 退款详情
|
||
{
|
||
path: 'refund/detail/:id',
|
||
name: 'RefundDetailRoute',
|
||
component: RoutesAlias.RefundDetail,
|
||
meta: {
|
||
title: 'menus.financialManagement.refundDetail',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 佣金管理
|
||
{
|
||
path: '/commission',
|
||
name: 'CommissionManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.commission.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 提现审批
|
||
{
|
||
path: 'withdrawal-approval',
|
||
name: 'WithdrawalApproval',
|
||
component: RoutesAlias.WithdrawalApproval,
|
||
meta: {
|
||
title: 'menus.commission.withdrawal',
|
||
keepAlive: true,
|
||
roles: ['R_SUPER', 'R_ADMIN']
|
||
}
|
||
},
|
||
// 我的佣金
|
||
{
|
||
path: 'my-commission',
|
||
name: 'MyCommission',
|
||
component: RoutesAlias.MyCommission,
|
||
meta: {
|
||
title: 'menus.commission.myCommission',
|
||
keepAlive: true,
|
||
roles: ['R_AGENT']
|
||
}
|
||
},
|
||
// 代理商资金概况
|
||
{
|
||
path: 'agent-fund-overview',
|
||
name: 'AgentFundOverview',
|
||
component: RoutesAlias.AgentFundOverview,
|
||
meta: {
|
||
title: 'menus.commission.agentCommission',
|
||
keepAlive: true,
|
||
roles: ['R_SUPER', 'R_ADMIN']
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 设置管理
|
||
{
|
||
path: '/settings',
|
||
name: 'Settings',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: 'menus.settings.title',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 支付设置
|
||
{
|
||
path: 'payment-settings',
|
||
name: 'PaymentSettings',
|
||
component: RoutesAlias.PaymentSettings,
|
||
meta: {
|
||
title: 'menus.settings.paymentSettings',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 提现配置
|
||
{
|
||
path: 'withdrawal-settings',
|
||
name: 'WithdrawalSettings',
|
||
component: RoutesAlias.WithdrawalSettings,
|
||
meta: {
|
||
title: 'menus.settings.withdrawalSettings',
|
||
keepAlive: true,
|
||
roles: ['R_SUPER', 'R_ADMIN']
|
||
}
|
||
},
|
||
// 支付设置详情
|
||
{
|
||
path: 'payment-settings/detail/:id',
|
||
name: 'PaymentSettingsDetailRoute',
|
||
component: RoutesAlias.PaymentSettingsDetail,
|
||
meta: {
|
||
title: 'menus.settings.detailsOfPaymentConfiguration',
|
||
isHide: true,
|
||
keepAlive: false
|
||
}
|
||
},
|
||
// 操作密码设置
|
||
{
|
||
path: 'operation-password',
|
||
name: 'OperationPasswordSettings',
|
||
component: RoutesAlias.OperationPasswordSettings,
|
||
meta: {
|
||
title: 'menus.settings.passwordSettings',
|
||
keepAlive: true,
|
||
roles: ['R_SUPER']
|
||
}
|
||
}
|
||
]
|
||
},
|
||
|
||
// 轮询管理
|
||
{
|
||
path: '/polling-management',
|
||
name: 'PollingManagement',
|
||
component: RoutesAlias.Home,
|
||
meta: {
|
||
title: '轮询管理',
|
||
icon: ''
|
||
},
|
||
children: [
|
||
// 数据清理
|
||
{
|
||
path: 'data-cleanup',
|
||
name: 'DataCleanup',
|
||
component: RoutesAlias.DataCleanup,
|
||
meta: {
|
||
title: '数据清理',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 告警规则
|
||
{
|
||
path: 'alert-rules',
|
||
name: 'AlertRules',
|
||
component: RoutesAlias.AlertRules,
|
||
meta: {
|
||
title: '告警规则',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 告警历史
|
||
{
|
||
path: 'alert-history',
|
||
name: 'AlertHistory',
|
||
component: RoutesAlias.AlertHistory,
|
||
meta: {
|
||
title: '告警历史',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 并发控制
|
||
{
|
||
path: 'concurrency',
|
||
name: 'PollingConcurrency',
|
||
component: RoutesAlias.PollingConcurrency,
|
||
meta: {
|
||
title: '并发控制',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 轮询配置
|
||
{
|
||
path: 'config',
|
||
name: 'PollingConfig',
|
||
component: RoutesAlias.PollingConfig,
|
||
meta: {
|
||
title: '轮询配置',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 手动触发
|
||
{
|
||
path: 'manual-trigger',
|
||
name: 'ManualTrigger',
|
||
component: RoutesAlias.ManualTrigger,
|
||
meta: {
|
||
title: '手动触发',
|
||
keepAlive: true
|
||
}
|
||
},
|
||
// 轮询监控
|
||
{
|
||
path: 'monitor',
|
||
name: 'PollingMonitor',
|
||
component: RoutesAlias.PollingMonitor,
|
||
meta: {
|
||
title: '轮询监控',
|
||
keepAlive: true
|
||
}
|
||
}
|
||
]
|
||
}
|
||
|
||
// 组件中心
|
||
// {
|
||
// path: '/widgets',
|
||
// name: 'Widgets',
|
||
// component: RoutesAlias.Home,
|
||
// meta: {
|
||
// title: 'menus.widgets.title',
|
||
// icon: ''
|
||
// },
|
||
// children: [
|
||
// {
|
||
// path: 'wang-editor',
|
||
// name: 'WangEditor',
|
||
// component: RoutesAlias.WangEditor,
|
||
// meta: {
|
||
// title: 'menus.widgets.wangEditor',
|
||
// keepAlive: true
|
||
// }
|
||
// },
|
||
// {
|
||
// path: 'watermark',
|
||
// name: 'Watermark',
|
||
// component: RoutesAlias.Watermark,
|
||
// meta: {
|
||
// title: 'menus.widgets.watermark',
|
||
// keepAlive: true
|
||
// }
|
||
// },
|
||
// {
|
||
// path: 'context-menu',
|
||
// name: 'ContextMenu',
|
||
// component: RoutesAlias.ContextMenu,
|
||
// meta: {
|
||
// title: 'menus.widgets.contextMenu',
|
||
// keepAlive: true
|
||
// }
|
||
// },
|
||
// {
|
||
// path: 'qrcode',
|
||
// name: 'Qrcode',
|
||
// component: RoutesAlias.Qrcode,
|
||
// meta: {
|
||
// title: 'menus.widgets.qrcode',
|
||
// keepAlive: true
|
||
// }
|
||
// },
|
||
// {
|
||
// path: 'drag',
|
||
// name: 'Drag',
|
||
// component: RoutesAlias.Drag,
|
||
// meta: {
|
||
// title: 'menus.widgets.drag',
|
||
// keepAlive: true
|
||
// }
|
||
// }
|
||
// ]
|
||
// },
|
||
|
||
// 模板中心
|
||
// {
|
||
// path: '/template',
|
||
// name: 'Template',
|
||
// component: RoutesAlias.Home,
|
||
// meta: {
|
||
// title: 'menus.template.title',
|
||
// icon: ''
|
||
// },
|
||
// children: [
|
||
// {
|
||
// path: 'charts',
|
||
// name: 'Charts',
|
||
// component: RoutesAlias.Charts,
|
||
// meta: {
|
||
// title: 'menus.template.charts',
|
||
// keepAlive: false
|
||
// }
|
||
// },
|
||
// {
|
||
// path: 'map',
|
||
// name: 'Map',
|
||
// component: RoutesAlias.Map,
|
||
// meta: {
|
||
// title: 'menus.template.map',
|
||
// keepAlive: true
|
||
// }
|
||
// },
|
||
// {
|
||
// path: 'calendar',
|
||
// name: 'Calendar',
|
||
// component: RoutesAlias.Calendar,
|
||
// meta: {
|
||
// title: 'menus.template.calendar',
|
||
// keepAlive: true
|
||
// }
|
||
// }
|
||
// ]
|
||
// },
|
||
]
|