feat(web): register acp-sessions routes + fix route param convention to slug/wsSlug

This commit is contained in:
2026-05-07 18:07:19 +08:00
parent d558aed27e
commit 422e730502
3 changed files with 23 additions and 5 deletions
+18
View File
@@ -62,6 +62,24 @@ const routes: RouteRecordRaw[] = [
component: () => import('@/views/workspaces/WorkspaceHomeView.vue'), component: () => import('@/views/workspaces/WorkspaceHomeView.vue'),
meta: { requiresAuth: true }, meta: { requiresAuth: true },
}, },
{
path: '/p/:slug/w/:wsSlug/acp-sessions',
name: 'acp-sessions-list',
component: () => import('@/views/acp/AcpSessionListView.vue'),
meta: { requiresAuth: true },
},
{
path: '/p/:slug/w/:wsSlug/acp-sessions/new',
name: 'acp-sessions-new',
component: () => import('@/views/acp/AcpSessionCreateView.vue'),
meta: { requiresAuth: true },
},
{
path: '/p/:slug/w/:wsSlug/acp-sessions/:sessionId',
name: 'acp-sessions-detail',
component: () => import('@/views/acp/AcpSessionDetailView.vue'),
meta: { requiresAuth: true },
},
{ {
path: '/chat', path: '/chat',
name: 'chat-home', name: 'chat-home',
+3 -3
View File
@@ -22,7 +22,7 @@ const errorMsg = ref<string | null>(null)
onMounted(async () => { onMounted(async () => {
await acpStore.listAgentKinds(false) await acpStore.listAgentKinds(false)
if (wsStore.list.length === 0) { if (wsStore.list.length === 0) {
await wsStore.fetchByProject(route.params.projectSlug as string) await wsStore.fetchByProject(route.params.slug as string)
} }
}) })
@@ -54,7 +54,7 @@ async function submit() {
const sess = await acpStore.createSession(req) const sess = await acpStore.createSession(req)
router.push( router.push(
`/p/${route.params.projectSlug}/workspaces/${route.params.wsSlug}/acp-sessions/${sess.id}`, `/p/${route.params.slug}/w/${route.params.wsSlug}/acp-sessions/${sess.id}`,
) )
} catch (e) { } catch (e) {
errorMsg.value = `Create failed: ${e instanceof Error ? e.message : 'unknown'}` errorMsg.value = `Create failed: ${e instanceof Error ? e.message : 'unknown'}`
@@ -65,7 +65,7 @@ async function submit() {
function cancel() { function cancel() {
router.push( router.push(
`/p/${route.params.projectSlug}/workspaces/${route.params.wsSlug}/acp-sessions`, `/p/${route.params.slug}/w/${route.params.wsSlug}/acp-sessions`,
) )
} }
</script> </script>
+2 -2
View File
@@ -14,13 +14,13 @@ onMounted(() => {
function open(id: string) { function open(id: string) {
router.push( router.push(
`/p/${route.params.projectSlug}/workspaces/${route.params.wsSlug}/acp-sessions/${id}`, `/p/${route.params.slug}/w/${route.params.wsSlug}/acp-sessions/${id}`,
) )
} }
function newSession() { function newSession() {
router.push( router.push(
`/p/${route.params.projectSlug}/workspaces/${route.params.wsSlug}/acp-sessions/new`, `/p/${route.params.slug}/w/${route.params.wsSlug}/acp-sessions/new`,
) )
} }