feat: 资产营销平台路由初始化
This commit is contained in:
@ -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, // 工作台
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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 };
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
172
src/router/routes/modules/propertyMarketing.ts
Normal file
172
src/router/routes/modules/propertyMarketing.ts
Normal 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;
|
||||||
1
src/views/property-marketing/README.md
Normal file
1
src/views/property-marketing/README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
## 资产营销平台
|
||||||
11
src/views/property-marketing/repository/test/index.vue
Normal file
11
src/views/property-marketing/repository/test/index.vue
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<template>
|
||||||
|
<h2>品牌物料</h2>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user