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 @@ + + + + +