feat: 实现剧本创作与拆解前端工作台
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
|
||||
/** 按 graph 分路由,项目布局保留共享数据与长请求状态。 */
|
||||
export const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: [
|
||||
{ path: '/', redirect: '/projects' },
|
||||
{
|
||||
path: '/projects',
|
||||
component: () => import('../features/projects/ProjectsPage.vue'),
|
||||
meta: { title: '我的剧本' }
|
||||
},
|
||||
{
|
||||
path: '/projects/:projectId',
|
||||
component: () => import('../features/projects/ProjectLayout.vue'),
|
||||
redirect: to => `/projects/${String(to.params.projectId)}/create-drama`,
|
||||
children: [
|
||||
{
|
||||
path: 'create-drama',
|
||||
component: () => import('../features/create-drama/CreateDramaPage.vue'),
|
||||
meta: { title: '剧本创作' }
|
||||
},
|
||||
{
|
||||
path: 'breakdown',
|
||||
component: () => import('../features/breakdown/BreakdownPage.vue'),
|
||||
meta: { title: '剧本拆解' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/:pathMatch(.*)*',
|
||||
component: () => import('../components/NotFoundPage.vue'),
|
||||
meta: { title: '页面不存在' }
|
||||
}
|
||||
],
|
||||
scrollBehavior: () => ({ top: 0 })
|
||||
})
|
||||
|
||||
/** 路由切换同步浏览器标题,不依赖页面组件主动修改。 */
|
||||
router.afterEach(to => {
|
||||
document.title = `${String(to.meta.title || '工作空间')} · 短剧工作台`
|
||||
})
|
||||
Reference in New Issue
Block a user