From 1443f0049507c2f1515eb40843e993484ef8472e Mon Sep 17 00:00:00 2001 From: kronecker <2026692687@qq.com> Date: Mon, 5 Oct 2026 01:50:02 +0800 Subject: [PATCH] feat(frontend): add account and community page previews Add profiles, discussions, team creation, authentication forms and the about page. Validate preview forms and display the available platform health endpoint. --- frontend/src/router/index.ts | 33 ++++++ frontend/src/views/AboutView.vue | 81 +++++++++++++++ frontend/src/views/AuthView.vue | 100 +++++++++++++++++++ frontend/src/views/CreateTeamView.vue | 69 +++++++++++++ frontend/src/views/DiscussionDetailView.vue | 40 ++++++++ frontend/src/views/DiscussionsView.vue | 77 ++++++++++++++ frontend/src/views/LogoutView.vue | 13 +++ frontend/src/views/ProfileView.vue | 105 ++++++++++++++++++++ frontend/src/views/TeamsView.vue | 61 ++++++++++++ 9 files changed, 579 insertions(+) create mode 100644 frontend/src/views/AboutView.vue create mode 100644 frontend/src/views/AuthView.vue create mode 100644 frontend/src/views/CreateTeamView.vue create mode 100644 frontend/src/views/DiscussionDetailView.vue create mode 100644 frontend/src/views/DiscussionsView.vue create mode 100644 frontend/src/views/LogoutView.vue create mode 100644 frontend/src/views/ProfileView.vue create mode 100644 frontend/src/views/TeamsView.vue diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index f4524b4..b9da1e3 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -54,6 +54,39 @@ export const router = createRouter({ meta: { title: '排名' }, component: () => import('../views/RankingsView.vue'), }, + { + path: '/discussions', + meta: { title: '讨论' }, + component: () => import('../views/DiscussionsView.vue'), + }, + { + path: '/discussions/:id', + meta: { title: '讨论详情' }, + component: () => import('../views/DiscussionDetailView.vue'), + }, + { path: '/teams', meta: { title: '团队' }, component: () => import('../views/TeamsView.vue') }, + { + path: '/teams/create', + meta: { title: '创建团队' }, + component: () => import('../views/CreateTeamView.vue'), + }, + { + path: '/users/:username', + meta: { title: '个人主页' }, + component: () => import('../views/ProfileView.vue'), + }, + { path: '/login', meta: { title: '登录' }, component: () => import('../views/AuthView.vue') }, + { + path: '/register', + meta: { title: '注册' }, + component: () => import('../views/AuthView.vue'), + }, + { + path: '/logout', + meta: { title: '退出登录' }, + component: () => import('../views/LogoutView.vue'), + }, + { path: '/about', meta: { title: '关于' }, component: () => import('../views/AboutView.vue') }, { path: '/:pathMatch(.*)*', name: 'not-found', diff --git a/frontend/src/views/AboutView.vue b/frontend/src/views/AboutView.vue new file mode 100644 index 0000000..a6df682 --- /dev/null +++ b/frontend/src/views/AboutView.vue @@ -0,0 +1,81 @@ + + diff --git a/frontend/src/views/AuthView.vue b/frontend/src/views/AuthView.vue new file mode 100644 index 0000000..6f550a7 --- /dev/null +++ b/frontend/src/views/AuthView.vue @@ -0,0 +1,100 @@ + + diff --git a/frontend/src/views/CreateTeamView.vue b/frontend/src/views/CreateTeamView.vue new file mode 100644 index 0000000..0b219c1 --- /dev/null +++ b/frontend/src/views/CreateTeamView.vue @@ -0,0 +1,69 @@ + + diff --git a/frontend/src/views/DiscussionDetailView.vue b/frontend/src/views/DiscussionDetailView.vue new file mode 100644 index 0000000..c5a9f42 --- /dev/null +++ b/frontend/src/views/DiscussionDetailView.vue @@ -0,0 +1,40 @@ + + diff --git a/frontend/src/views/DiscussionsView.vue b/frontend/src/views/DiscussionsView.vue new file mode 100644 index 0000000..3ed69ef --- /dev/null +++ b/frontend/src/views/DiscussionsView.vue @@ -0,0 +1,77 @@ + + diff --git a/frontend/src/views/LogoutView.vue b/frontend/src/views/LogoutView.vue new file mode 100644 index 0000000..59cc64c --- /dev/null +++ b/frontend/src/views/LogoutView.vue @@ -0,0 +1,13 @@ + + diff --git a/frontend/src/views/ProfileView.vue b/frontend/src/views/ProfileView.vue new file mode 100644 index 0000000..f310ba8 --- /dev/null +++ b/frontend/src/views/ProfileView.vue @@ -0,0 +1,105 @@ + + diff --git a/frontend/src/views/TeamsView.vue b/frontend/src/views/TeamsView.vue new file mode 100644 index 0000000..b1a2cb0 --- /dev/null +++ b/frontend/src/views/TeamsView.vue @@ -0,0 +1,61 @@ + +