From 62190c346cf044bdd109e6ea19295dc1b681c89a Mon Sep 17 00:00:00 2001
From: rd <>
Date: Tue, 24 Jun 2025 18:19:34 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B5=84=E4=BA=A7=E8=90=A5=E9=94=80?=
=?UTF-8?q?=E5=B9=B3=E5=8F=B0=E8=B7=AF=E7=94=B1=E5=88=9D=E5=A7=8B=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/constants.ts | 7 +-
src/router/index.ts | 11 +-
src/router/routes/modules/dataEngine.ts | 150 +++++++--------
src/router/routes/modules/management.ts | 90 ++++-----
.../routes/modules/propertyMarketing.ts | 172 ++++++++++++++++++
src/views/property-marketing/README.md | 1 +
.../repository/test/index.vue | 11 ++
7 files changed, 313 insertions(+), 129 deletions(-)
create mode 100644 src/router/routes/modules/propertyMarketing.ts
create mode 100644 src/views/property-marketing/README.md
create mode 100644 src/views/property-marketing/repository/test/index.vue
diff --git a/src/router/constants.ts b/src/router/constants.ts
index 1110fe7..cf67bb6 100644
--- a/src/router/constants.ts
+++ b/src/router/constants.ts
@@ -18,7 +18,8 @@ export const DEFAULT_ROUTE = {
};
export const MENU_GROUP_IDS = {
- DATA_ENGINE_ID: 1,
- MANAGEMENT_ID: -1,
- WORK_BENCH_ID: -99,
+ DATA_ENGINE_ID: 1, // 全域数据分析
+ MANAGEMENT_ID: -1, // 管理中心
+ PROPERTY_ID: 2, // 资产营销平台
+ WORK_BENCH_ID: -99, // 工作台
};
diff --git a/src/router/index.ts b/src/router/index.ts
index 600ddfb..ea87ab5 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -48,14 +48,9 @@ const router = createRouter({
requiresAuth: false,
},
},
- {
- path: '/',
- name: '',
- children: [...appRoutes, REDIRECT_MAIN, NOT_FOUND_ROUTE],
- meta: {
- requiresAuth: true,
- },
- },
+ ...appRoutes,
+ REDIRECT_MAIN,
+ NOT_FOUND_ROUTE,
],
scrollBehavior() {
return { top: 0 };
diff --git a/src/router/routes/modules/dataEngine.ts b/src/router/routes/modules/dataEngine.ts
index d190af5..3c3859d 100644
--- a/src/router/routes/modules/dataEngine.ts
+++ b/src/router/routes/modules/dataEngine.ts
@@ -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;
diff --git a/src/router/routes/modules/management.ts b/src/router/routes/modules/management.ts
index cd1c644..eafde1a 100644
--- a/src/router/routes/modules/management.ts
+++ b/src/router/routes/modules/management.ts
@@ -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;
diff --git a/src/router/routes/modules/propertyMarketing.ts b/src/router/routes/modules/propertyMarketing.ts
new file mode 100644
index 0000000..5f9ba46
--- /dev/null
+++ b/src/router/routes/modules/propertyMarketing.ts
@@ -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;
diff --git a/src/views/property-marketing/README.md b/src/views/property-marketing/README.md
new file mode 100644
index 0000000..e3dcbcd
--- /dev/null
+++ b/src/views/property-marketing/README.md
@@ -0,0 +1 @@
+## 资产营销平台
diff --git a/src/views/property-marketing/repository/test/index.vue b/src/views/property-marketing/repository/test/index.vue
new file mode 100644
index 0000000..a1edfd8
--- /dev/null
+++ b/src/views/property-marketing/repository/test/index.vue
@@ -0,0 +1,11 @@
+
+ 品牌物料
+
+
+
+
+