feat: 素材中心成品库-写手端处理

This commit is contained in:
rd
2025-08-23 15:04:24 +08:00
parent 786d36ab0d
commit 23becf5884
57 changed files with 5614 additions and 141 deletions

View File

@ -1,115 +1,115 @@
import type { AppRouteRecordRaw } from '../types';
import IconContentManuscript from '@/assets/svg/svg-contentManuscript.svg';
import { MENU_GROUP_IDS } from '@/router/constants';
// 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;
// // 内容稿件-写手端
// 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;

View File

@ -0,0 +1,121 @@
import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants';
import IconContentManuscript from '@/assets/svg/svg-contentManuscript.svg';
export const GROUP_WRITER_NAME = 'GroupWriterMaterialCenter';
const COMPONENTS: AppRouteRecordRaw[] = [
{
path: '/writer/material-center',
name: 'WriterMaterialCenter',
redirect: '/writer/material-center/finished-products',
meta: {
locale: '素材中心',
icon: IconContentManuscript,
requiresAuth: true,
requireLogin: true,
roles: ['*'],
group: GROUP_WRITER_NAME,
id: MENU_GROUP_IDS.CREATIVE_GENERATION_WORKSHOP_ID,
},
children: [
{
path: 'finished-products/:writerCode',
name: 'WriterMaterialCenterFinishedProducts',
meta: {
locale: '成品库',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
group: GROUP_WRITER_NAME,
},
component: () => import('@/views/writer-material-center/index.vue'),
},
{
path: 'raw-material/:writerCode',
name: 'WriterMaterialCenterRawMaterial',
meta: {
locale: '原料库',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
group: GROUP_WRITER_NAME,
},
component: () => import('@/views/writer-material-center/index.vue'),
},
{
path: 'upload/:writerCode',
name: 'WriterManuscriptUpload',
meta: {
locale: '稿件上传',
requiresAuth: false,
requireLogin: false,
hideFooter: true,
roles: ['*'],
hideInMenu: true,
activeMenu: 'WriterMaterialCenterFinishedProducts',
},
component: () => import('@/views/writer-material-center/components/finished-products/manuscript/upload/index.vue'),
},
{
path: 'edit/:writerCode/:id',
name: 'WriterManuscriptEdit',
meta: {
locale: '稿件编辑',
requiresAuth: false,
requireLogin: false,
hideFooter: true,
roles: ['*'],
hideInMenu: true,
activeMenu: 'WriterMaterialCenterFinishedProducts',
},
component: () => import('@/views/writer-material-center/components/finished-products/manuscript/edit/index.vue'),
},
{
path: 'detail/:writerCode/:id',
name: 'WriterManuscriptDetail',
meta: {
locale: '稿件详情',
requiresAuth: false,
requireLogin: false,
hideFooter: true,
roles: ['*'],
hideInMenu: true,
activeMenu: 'WriterMaterialCenterFinishedProducts',
},
component: () => import('@/views/writer-material-center/components/finished-products/manuscript/detail/index.vue'),
},
{
path: 'check-list/detail/:id/:writerCode',
name: 'WriterManuscriptCheckListDetail',
meta: {
locale: '内容稿件审核详情',
requiresAuth: false,
requireLogin: false,
hideFooter: true,
hideInMenu: true,
roles: ['*'],
activeMenu: 'WriterMaterialCenterFinishedProducts',
},
component: () => import('@/views/writer-material-center/components/finished-products/manuscript/detail/index.vue'),
},
{
path: 'check/:writerCode',
name: 'WriterManuscriptCheck',
meta: {
locale: '稿件审核',
requiresAuth: false,
requireLogin: false,
hideFooter: true,
roles: ['*'],
hideInMenu: true,
activeMenu: 'WriterMaterialCenterFinishedProducts',
},
component: () => import('@/views/writer-material-center/components/finished-products/manuscript/check/index.vue'),
},
],
},
];
export default COMPONENTS;

View File

@ -57,7 +57,7 @@ const COMPONENTS: AppRouteRecordRaw[] = [
path: 'edit/:id',
name: 'ManuscriptEdit',
meta: {
locale: '账号详情',
locale: '稿件编辑',
requiresAuth: true,
requireLogin: true,
hideFooter: true,

View File

@ -18,5 +18,6 @@ declare module 'vue-router' {
isAgentRoute?: boolean;
requireLogin?: boolean; // 是否需要登陆才能访问
independent?: boolean; // 独立于layout的路由
group?: string; // 路由分组
}
}