feat: 资产营销平台路由初始化

This commit is contained in:
rd
2025-06-24 18:19:34 +08:00
parent bce406d2ca
commit 62190c346c
7 changed files with 313 additions and 129 deletions

View File

@ -6,80 +6,82 @@ import { IconBookmark } from '@arco-design/web-vue/es/icon';
import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants';
const COMPONENTS: AppRouteRecordRaw = {
path: 'dataEngine',
name: 'dataEngine',
redirect: 'dataEngine/hotTranslation',
meta: {
locale: '全域数据引擎',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.DATA_ENGINE_ID,
const COMPONENTS: AppRouteRecordRaw[] = [
{
path: '/dataEngine',
name: 'DataEngine',
redirect: 'dataEngine/hotTranslation',
meta: {
locale: '全域数据引擎',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.DATA_ENGINE_ID,
},
children: [
{
path: 'hotTranslation',
name: 'DataEngineHotTranslation',
meta: {
locale: '行业热门话题洞察',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/hotTranslation.vue'),
},
{
path: 'hotCloud',
name: 'DataEngineHotCloud',
meta: {
locale: '行业词云',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/hotCloud.vue'),
},
{
path: 'keyWord',
name: 'DataEngineKeyWord',
meta: {
locale: '行业关键词动向',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/keyWord.vue'),
},
{
path: 'userPainPoints',
name: 'DataEngineUserPainPoints',
meta: {
locale: '用户痛点观察',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/userPainPoints.vue'),
},
{
path: 'keyBrandMovement',
name: 'DataEngineKeyBrandMovement',
meta: {
locale: '重点品牌动向',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/keyBrandMovement.vue'),
},
{
path: 'userPersona',
name: 'DataEngineUserPersona',
meta: {
locale: '用户画像',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/userPersona.vue'),
},
],
},
children: [
{
path: 'hotTranslation',
name: '行业热门话题洞察',
meta: {
locale: '行业热门话题洞察',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/hotTranslation.vue'),
},
{
path: 'hotCloud',
name: '行业词云',
meta: {
locale: '行业词云',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/hotCloud.vue'),
},
{
path: 'keyWord',
name: '行业关键词动向',
meta: {
locale: '行业关键词动向',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/keyWord.vue'),
},
{
path: 'userPainPoints',
name: '用户痛点观察',
meta: {
locale: '用户痛点观察',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/userPainPoints.vue'),
},
{
path: 'keyBrandMovement',
name: '重点品牌动向',
meta: {
locale: '重点品牌动向',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/keyBrandMovement.vue'),
},
{
path: 'userPersona',
name: '用户画像',
meta: {
locale: '用户画像',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/components/dataEngine/userPersona.vue'),
},
],
};
];
export default COMPONENTS;

View File

@ -6,50 +6,52 @@ import { IconBookmark } from '@arco-design/web-vue/es/icon';
import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants';
const COMPONENTS: AppRouteRecordRaw = {
path: 'management',
name: 'management',
redirect: 'management/person',
meta: {
locale: '管理中心',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.MANAGEMENT_ID,
const COMPONENTS: AppRouteRecordRaw[] = [
{
path: '/management',
name: 'Management',
redirect: 'management/person',
meta: {
locale: '管理中心',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.MANAGEMENT_ID,
},
children: [
{
path: 'person',
name: 'ManagementPerson',
component: () => import('@/views/components/management/person'),
meta: {
locale: '个人信息',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'enterprise',
name: 'ManagementEnterprise',
component: () => import('@/views/components/management/enterprise'),
meta: {
locale: '企业信息',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'account',
name: 'ManagementAccount',
component: () => import('@/views/components/management/account'),
meta: {
locale: '账号管理',
requiresAuth: true,
roles: ['*'],
},
},
],
},
children: [
{
path: 'person',
name: '个人信息',
component: () => import('@/views/components/management/person'),
meta: {
locale: '个人信息',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'enterprise',
name: '企业信息',
component: () => import('@/views/components/management/enterprise'),
meta: {
locale: '企业信息',
requiresAuth: true,
roles: ['*'],
},
},
{
path: 'account',
name: '账号管理',
component: () => import('@/views/components/management/account'),
meta: {
locale: '账号管理',
requiresAuth: true,
roles: ['*'],
},
},
],
};
];
export default COMPONENTS;

View File

@ -0,0 +1,172 @@
/**
* 资产营销平台
*/
import { IconBookmark } from '@arco-design/web-vue/es/icon';
import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants';
const COMPONENTS: AppRouteRecordRaw[] = [
{
path: '/repository',
name: 'Repository',
redirect: 'repository/brandMaterials',
meta: {
locale: '企业知识库',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'brandMaterials',
name: 'RepositoryBrandMaterials',
meta: {
locale: '品牌物料',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
],
},
{
path: '/media-account',
name: 'MediaAccount',
redirect: 'media-account/accountManagement',
meta: {
locale: '新媒体账号管理',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'accountManagement',
name: 'MediaAccountAccountManagement',
meta: {
locale: '账号管理',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
{
path: 'accountDashboard',
name: 'MediaAccountAccountDashboard',
meta: {
locale: '账号看板',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
{
path: 'accountDetails',
name: 'MediaAccountAccountDetails',
meta: {
locale: '账号详情',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
],
},
{
path: '/put-account',
name: 'PutAccount',
redirect: 'put-account/accountManagement',
meta: {
locale: '投放账户管理',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'accountManagement',
name: 'PutAccountAccountManagement',
meta: {
locale: '账号管理',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
{
path: 'accountData',
name: 'PutAccountAccountData',
meta: {
locale: '账号数据',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
{
path: 'accountDashboard',
name: 'PutAccountAccountDashboard',
meta: {
locale: '账号看板',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
{
path: 'investmentGuidelines',
name: 'PutAccountInvestmentGuidelines',
meta: {
locale: '投放指南',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
],
},
{
path: '/intelligent-solution',
name: 'IntelligentSolution',
redirect: 'intelligent-solution/businessAnalysisReport',
meta: {
locale: '智能方案管理',
icon: IconBookmark,
requiresAuth: true,
roles: ['*'],
requiresSidebar: true,
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'businessAnalysisReport',
name: 'IntelligentSolutionBusinessAnalysisReport',
meta: {
locale: '业务分析报告',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
{
path: 'competitiveProductAnalysisReport',
name: 'IntelligentSolutionCompetitiveProductAnalysisReport',
meta: {
locale: '竟品分析报告',
requiresAuth: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/repository/test'),
},
],
},
];
export default COMPONENTS;