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

@ -18,7 +18,8 @@ export const DEFAULT_ROUTE = {
}; };
export const MENU_GROUP_IDS = { export const MENU_GROUP_IDS = {
DATA_ENGINE_ID: 1, DATA_ENGINE_ID: 1, // 全域数据分析
MANAGEMENT_ID: -1, MANAGEMENT_ID: -1, // 管理中心
WORK_BENCH_ID: -99, PROPERTY_ID: 2, // 资产营销平台
WORK_BENCH_ID: -99, // 工作台
}; };

View File

@ -48,14 +48,9 @@ const router = createRouter({
requiresAuth: false, requiresAuth: false,
}, },
}, },
{ ...appRoutes,
path: '/', REDIRECT_MAIN,
name: '', NOT_FOUND_ROUTE,
children: [...appRoutes, REDIRECT_MAIN, NOT_FOUND_ROUTE],
meta: {
requiresAuth: true,
},
},
], ],
scrollBehavior() { scrollBehavior() {
return { top: 0 }; return { top: 0 };

View File

@ -6,80 +6,82 @@ import { IconBookmark } from '@arco-design/web-vue/es/icon';
import type { AppRouteRecordRaw } from '../types'; import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants'; import { MENU_GROUP_IDS } from '@/router/constants';
const COMPONENTS: AppRouteRecordRaw = { const COMPONENTS: AppRouteRecordRaw[] = [
path: 'dataEngine', {
name: 'dataEngine', path: '/dataEngine',
redirect: 'dataEngine/hotTranslation', name: 'DataEngine',
meta: { redirect: 'dataEngine/hotTranslation',
locale: '全域数据引擎', meta: {
icon: IconBookmark, locale: '全域数据引擎',
requiresAuth: true, icon: IconBookmark,
roles: ['*'], requiresAuth: true,
requiresSidebar: true, roles: ['*'],
id: MENU_GROUP_IDS.DATA_ENGINE_ID, 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; export default COMPONENTS;

View File

@ -6,50 +6,52 @@ import { IconBookmark } from '@arco-design/web-vue/es/icon';
import type { AppRouteRecordRaw } from '../types'; import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants'; import { MENU_GROUP_IDS } from '@/router/constants';
const COMPONENTS: AppRouteRecordRaw = { const COMPONENTS: AppRouteRecordRaw[] = [
path: 'management', {
name: 'management', path: '/management',
redirect: 'management/person', name: 'Management',
meta: { redirect: 'management/person',
locale: '管理中心', meta: {
icon: IconBookmark, locale: '管理中心',
requiresAuth: true, icon: IconBookmark,
roles: ['*'], requiresAuth: true,
requiresSidebar: true, roles: ['*'],
id: MENU_GROUP_IDS.MANAGEMENT_ID, 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; 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;

View File

@ -0,0 +1 @@
## 资产营销平台

View File

@ -0,0 +1,11 @@
<template>
<h2>品牌物料</h2>
</template>
<script setup lang="ts">
</script>
<style lang="less" scoped>
</style>