Merge remote-tracking branch 'origin/main' into feature/v1.3_主agent_rxd
# Conflicts: # pnpm-lock.yaml # vite.config.ts
This commit is contained in:
@ -1,20 +0,0 @@
|
||||
/*
|
||||
* @Author: RenXiaoDong
|
||||
* @Date: 2025-06-19 01:45:53
|
||||
*/
|
||||
import { appRoutes } from '../routes';
|
||||
|
||||
const mixinRoutes = [...appRoutes];
|
||||
|
||||
const appClientMenus = mixinRoutes.map((el) => {
|
||||
const { name, path, meta, redirect, children } = el;
|
||||
return {
|
||||
name,
|
||||
path,
|
||||
meta,
|
||||
redirect,
|
||||
children,
|
||||
};
|
||||
});
|
||||
|
||||
export default mixinRoutes;
|
||||
@ -23,8 +23,10 @@ export const DEFAULT_ROUTE = {
|
||||
|
||||
export const MENU_GROUP_IDS = {
|
||||
DATA_ENGINE_ID: 1, // 全域数据分析
|
||||
MANAGEMENT_ID: -1, // 管理中心
|
||||
PROPERTY_ID: 10, // 资产营销平台
|
||||
WORK_BENCH_ID: -99, // 工作台
|
||||
AGENT: 2, // 智能体
|
||||
AGENT: 2,
|
||||
MANAGEMENT_ID: 3, // 管理中心
|
||||
PROPERTY_ID: 4, // 资产营销平台
|
||||
WORK_BENCH_ID: 5, // 工作台
|
||||
WRITER_CREATIVE_GENERATION_WORKSHOP_ID: 6, // 内容稿件-写手侧
|
||||
CREATIVE_GENERATION_WORKSHOP_ID: 7 // 创意生成工坊
|
||||
};
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
*/
|
||||
import { createRouter, createWebHistory } from 'vue-router';
|
||||
import { appRoutes } from './routes';
|
||||
import { NOT_FOUND_ROUTE } from './routes/base';
|
||||
import NProgress from 'nprogress';
|
||||
import 'nprogress/nprogress.css';
|
||||
import { MENU_GROUP_IDS } from './constants';
|
||||
@ -18,7 +17,7 @@ export const router = createRouter({
|
||||
{
|
||||
path: '/login',
|
||||
name: 'UserLogin',
|
||||
component: () => import('@/views/components/login'),
|
||||
component: () => import('@/views/components/login/index.vue'),
|
||||
meta: {
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
@ -27,7 +26,7 @@ export const router = createRouter({
|
||||
{
|
||||
path: '/',
|
||||
name: 'Home',
|
||||
component: () => import('@/views/components/workplace'),
|
||||
component: () => import('@/views/components/workplace/index.vue'),
|
||||
meta: {
|
||||
hideSidebar: true,
|
||||
requiresAuth: false,
|
||||
@ -35,8 +34,18 @@ export const router = createRouter({
|
||||
id: MENU_GROUP_IDS.WORK_BENCH_ID,
|
||||
},
|
||||
},
|
||||
|
||||
...appRoutes,
|
||||
NOT_FOUND_ROUTE,
|
||||
{
|
||||
path: '/:pathMatch(.*)*',
|
||||
name: 'notFound',
|
||||
component: () => import('@/layouts/NotFound.vue'),
|
||||
meta: {
|
||||
requiresAuth: false,
|
||||
hideInMenu: true,
|
||||
hideSidebar: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
scrollBehavior() {
|
||||
return { top: 0 };
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
import type { RouteRecordRaw } from 'vue-router';
|
||||
import { REDIRECT_ROUTE_NAME } from '@/router/constants';
|
||||
|
||||
// export const REDIRECT_MAIN: RouteRecordRaw = {
|
||||
// path: '/redirect',
|
||||
// name: 'redirect',
|
||||
// meta: {
|
||||
// requiresAuth: false,
|
||||
// requireLogin: false,
|
||||
// hideInMenu: true,
|
||||
// },
|
||||
// children: [
|
||||
// {
|
||||
// path: '/redirect/:path',
|
||||
// name: REDIRECT_ROUTE_NAME,
|
||||
// component: () => import('@/layouts/Basic.vue'),
|
||||
// meta: {
|
||||
// requiresAuth: false,
|
||||
// requireLogin: false,
|
||||
// hideInMenu: true,
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
// };
|
||||
|
||||
export const NOT_FOUND_ROUTE: RouteRecordRaw = {
|
||||
path: '/:pathMatch(.*)*',
|
||||
name: 'notFound',
|
||||
component: () => import('@/layouts/NotFound.vue'),
|
||||
meta: {
|
||||
requiresAuth: false,
|
||||
hideInMenu: true,
|
||||
hideSidebar: true,
|
||||
},
|
||||
};
|
||||
138
src/router/routes/modules/creativeGenerationWorkshop.ts
Normal file
138
src/router/routes/modules/creativeGenerationWorkshop.ts
Normal file
@ -0,0 +1,138 @@
|
||||
import type { AppRouteRecordRaw } from '../types';
|
||||
import { MENU_GROUP_IDS } from '@/router/constants';
|
||||
|
||||
import IconContentManuscript from '@/assets/svg/svg-contentManuscript.svg';
|
||||
|
||||
const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
{
|
||||
path: '/manuscript',
|
||||
name: 'Manuscript',
|
||||
redirect: 'manuscript/list',
|
||||
meta: {
|
||||
locale: '内容稿件',
|
||||
icon: IconContentManuscript,
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
id: MENU_GROUP_IDS.CREATIVE_GENERATION_WORKSHOP_ID,
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'list',
|
||||
name: 'ManuscriptList',
|
||||
meta: {
|
||||
locale: '内容稿件列表',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/list/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'upload',
|
||||
name: 'ManuscriptUpload',
|
||||
meta: {
|
||||
locale: '稿件上传',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'ManuscriptList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/upload/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'edit/:id',
|
||||
name: 'ManuscriptEdit',
|
||||
meta: {
|
||||
locale: '账号详情',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'ManuscriptList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/edit/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'detail/:id',
|
||||
name: 'ManuscriptDetail',
|
||||
meta: {
|
||||
locale: '稿件详情',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'ManuscriptList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/detail/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'check-list',
|
||||
name: 'ManuscriptCheckList',
|
||||
meta: {
|
||||
locale: '内容稿件审核',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/check-list/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'check-list/detail/:id',
|
||||
name: 'ManuscriptCheckListDetail',
|
||||
meta: {
|
||||
locale: '内容稿件审核详情',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
hideFooter: true,
|
||||
hideInMenu: true,
|
||||
roles: ['*'],
|
||||
activeMenu: 'ManuscriptCheckList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/detail/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'check',
|
||||
name: 'ManuscriptCheck',
|
||||
meta: {
|
||||
locale: '稿件审核',
|
||||
requiresAuth: true,
|
||||
requireLogin: true,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'ManuscriptCheckList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript/check/index.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: '/explore/list/:shareCode',
|
||||
name: 'ExploreList',
|
||||
meta: {
|
||||
locale: '分享链接列表',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/explore/list/index.vue'),
|
||||
},
|
||||
{
|
||||
path: '/explore/detail/:shareCode/:id',
|
||||
name: 'ExploreDetail',
|
||||
meta: {
|
||||
locale: '分享链接详情',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/explore/detail/index.vue'),
|
||||
},
|
||||
];
|
||||
|
||||
export default COMPONENTS;
|
||||
@ -19,7 +19,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
{
|
||||
path: 'person',
|
||||
name: 'ManagementPerson',
|
||||
component: () => import('@/views/components/management/person'),
|
||||
component: () => import('@/views/components/management/person/index.vue'),
|
||||
meta: {
|
||||
locale: '个人信息',
|
||||
requiresAuth: false,
|
||||
@ -30,7 +30,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
{
|
||||
path: 'enterprise',
|
||||
name: 'ManagementEnterprise',
|
||||
component: () => import('@/views/components/management/enterprise'),
|
||||
component: () => import('@/views/components/management/enterprise/index.vue'),
|
||||
meta: {
|
||||
locale: '企业信息',
|
||||
requiresAuth: false,
|
||||
@ -41,7 +41,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
{
|
||||
path: 'account',
|
||||
name: 'ManagementAccount',
|
||||
component: () => import('@/views/components/management/account'),
|
||||
component: () => import('@/views/components/management/account/index.vue'),
|
||||
meta: {
|
||||
locale: '账号管理',
|
||||
requiresAuth: false,
|
||||
|
||||
115
src/router/routes/modules/manuscript-writer.ts
Normal file
115
src/router/routes/modules/manuscript-writer.ts
Normal file
@ -0,0 +1,115 @@
|
||||
import type { AppRouteRecordRaw } from '../types';
|
||||
import IconContentManuscript from '@/assets/svg/svg-contentManuscript.svg';
|
||||
import { MENU_GROUP_IDS } from '@/router/constants';
|
||||
|
||||
// 内容稿件-写手端
|
||||
const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
{
|
||||
path: '/writer/manuscript',
|
||||
name: 'WriterManuscript',
|
||||
redirect: 'writer/manuscript/list',
|
||||
meta: {
|
||||
locale: '内容稿件',
|
||||
icon: IconContentManuscript,
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
roles: ['*'],
|
||||
id: MENU_GROUP_IDS.WRITER_CREATIVE_GENERATION_WORKSHOP_ID,
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'list/:writerCode',
|
||||
name: 'WriterManuscriptList',
|
||||
meta: {
|
||||
locale: '内容稿件列表',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/list/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'upload/:writerCode',
|
||||
name: 'WriterManuscriptUpload',
|
||||
meta: {
|
||||
locale: '稿件上传',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'WriterManuscriptList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/upload/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'edit/:writerCode/:id',
|
||||
name: 'WriterManuscriptEdit',
|
||||
meta: {
|
||||
locale: '账号详情',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'WriterManuscriptList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/edit/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'detail/:writerCode/:id',
|
||||
name: 'WriterManuscriptDetail',
|
||||
meta: {
|
||||
locale: '稿件详情',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'ManuscriptList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/detail/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'check-list/:writerCode',
|
||||
name: 'WriterManuscriptCheckList',
|
||||
meta: {
|
||||
locale: '内容稿件审核',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/check-list/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'check-list/detail/:id/:writerCode',
|
||||
name: 'WriterManuscriptCheckListDetail',
|
||||
meta: {
|
||||
locale: '内容稿件审核详情',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
hideFooter: true,
|
||||
hideInMenu: true,
|
||||
roles: ['*'],
|
||||
activeMenu: 'WriterManuscriptCheckList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/detail/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'check/:writerCode',
|
||||
name: 'WriterManuscriptCheck',
|
||||
meta: {
|
||||
locale: '稿件审核',
|
||||
requiresAuth: false,
|
||||
requireLogin: false,
|
||||
hideFooter: true,
|
||||
roles: ['*'],
|
||||
hideInMenu: true,
|
||||
activeMenu: 'WriterManuscriptCheckList',
|
||||
},
|
||||
component: () => import('@/views/creative-generation-workshop/manuscript-writer/check/index.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
export default COMPONENTS;
|
||||
@ -60,7 +60,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/media-account/account-manage'),
|
||||
component: () => import('@/views/property-marketing/media-account/account-manage/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'dashboard',
|
||||
@ -71,7 +71,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/media-account/account-dashboard'),
|
||||
component: () => import('@/views/property-marketing/media-account/account-dashboard/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'detail/:id',
|
||||
@ -84,7 +84,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
hideInMenu: true,
|
||||
activeMenu: 'MediaAccountAccountDashboard',
|
||||
},
|
||||
component: () => import('@/views/property-marketing/media-account/account-detail'),
|
||||
component: () => import('@/views/property-marketing/media-account/account-detail/index.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -110,7 +110,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/put-account/account-manage'),
|
||||
component: () => import('@/views/property-marketing/put-account/account-manage/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'data',
|
||||
@ -121,7 +121,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/put-account/account-data'),
|
||||
component: () => import('@/views/property-marketing/put-account/account-data/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'account-dashboard',
|
||||
@ -132,7 +132,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/put-account/account-dashboard'),
|
||||
component: () => import('@/views/property-marketing/put-account/account-dashboard/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'investmentGuidelines',
|
||||
@ -143,7 +143,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/put-account/investment-guidelines'),
|
||||
component: () => import('@/views/property-marketing/put-account/investment-guidelines/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'detail/:id',
|
||||
@ -155,7 +155,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
roles: ['*'],
|
||||
activeMenu: 'PutAccountInvestmentGuidelines',
|
||||
},
|
||||
component: () => import('@/views/property-marketing/put-account/investment-guidelines/detail'),
|
||||
component: () => import('@/views/property-marketing/put-account/investment-guidelines/detail.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -181,7 +181,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
// requireLogin: true,
|
||||
// roles: ['*'],
|
||||
// },
|
||||
// component: () => import('@/views/property-marketing/intelligent-solution/businessAnalysisReport'),
|
||||
// component: () => import('@/views/property-marketing/intelligent-solution/businessAnalysisReport.vue'),
|
||||
// },
|
||||
// {
|
||||
// path: 'competitiveProductAnalysisReport',
|
||||
@ -192,7 +192,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
// requireLogin: true,
|
||||
// roles: ['*'],
|
||||
// },
|
||||
// component: () => import('@/views/property-marketing/intelligent-solution/competitiveProductAnalysisReport'),
|
||||
// component: () => import('@/views/property-marketing/intelligent-solution/competitiveProductAnalysisReport.vue'),
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
@ -218,7 +218,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
|
||||
requireLogin: true,
|
||||
roles: ['*'],
|
||||
},
|
||||
component: () => import('@/views/property-marketing/project-manage/project-list'),
|
||||
component: () => import('@/views/property-marketing/project-manage/project-list/index.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
1
src/router/typeings.d.ts
vendored
1
src/router/typeings.d.ts
vendored
@ -14,6 +14,7 @@ declare module 'vue-router' {
|
||||
noAffix?: boolean; // if set true, the tag will not affix in the tab-bar
|
||||
ignoreCache?: boolean; // if set true, the page will not be cached
|
||||
hideSidebar?: boolean;
|
||||
hideFooter?: boolean;
|
||||
isAgentRoute?:boolean;
|
||||
requireLogin?: boolean; // 是否需要登陆才能访问
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user