From ce0aec61101894f83538562153ebf456d0c7f635 Mon Sep 17 00:00:00 2001 From: Leon <147289645+LeoninCS@users.noreply.github.com> Date: Thu, 25 Dec 2025 22:40:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=89=8D=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/.vscode/extensions.json | 3 + frontend/README.md | 28 + frontend/index.html | 13 + frontend/package-lock.json | 1387 +++++++++++++++++++++ frontend/package.json | 27 + frontend/public/vite.svg | 1 + frontend/src/App.vue | 3 + frontend/src/api/account.ts | 34 + frontend/src/api/client.ts | 58 + frontend/src/api/comment.ts | 14 + frontend/src/api/feed.ts | 19 + frontend/src/api/like.ts | 14 + frontend/src/api/social.ts | 26 + frontend/src/api/types.ts | 77 ++ frontend/src/api/video.ts | 14 + frontend/src/assets/vue.svg | 1 + frontend/src/components/AppShell.vue | 321 +++++ frontend/src/components/FeedVideoCard.vue | 89 ++ frontend/src/components/HelloWorld.vue | 41 + frontend/src/components/JsonBox.vue | 17 + frontend/src/components/Toaster.vue | 73 ++ frontend/src/components/UserAvatar.vue | 54 + frontend/src/main.ts | 10 + frontend/src/router/index.ts | 27 + frontend/src/stores/auth.ts | 45 + frontend/src/stores/social.ts | 109 ++ frontend/src/stores/toast.ts | 40 + frontend/src/style.css | 207 +++ frontend/src/utils/jwt.ts | 28 + frontend/src/views/AccountView.vue | 479 +++++++ frontend/src/views/ChangePasswordView.vue | 72 ++ frontend/src/views/FeedView.vue | 262 ++++ frontend/src/views/HomeView.vue | 911 ++++++++++++++ frontend/src/views/RegisterView.vue | 67 + frontend/src/views/SettingsView.vue | 168 +++ frontend/src/views/UserProfileView.vue | 455 +++++++ frontend/src/views/VideoDetailView.vue | 686 ++++++++++ frontend/src/views/VideoView.vue | 225 ++++ frontend/tsconfig.app.json | 16 + frontend/tsconfig.json | 7 + frontend/tsconfig.node.json | 26 + frontend/vite.config.ts | 16 + 42 files changed, 6170 insertions(+) create mode 100644 frontend/.vscode/extensions.json create mode 100644 frontend/README.md create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/api/account.ts create mode 100644 frontend/src/api/client.ts create mode 100644 frontend/src/api/comment.ts create mode 100644 frontend/src/api/feed.ts create mode 100644 frontend/src/api/like.ts create mode 100644 frontend/src/api/social.ts create mode 100644 frontend/src/api/types.ts create mode 100644 frontend/src/api/video.ts create mode 100644 frontend/src/assets/vue.svg create mode 100644 frontend/src/components/AppShell.vue create mode 100644 frontend/src/components/FeedVideoCard.vue create mode 100644 frontend/src/components/HelloWorld.vue create mode 100644 frontend/src/components/JsonBox.vue create mode 100644 frontend/src/components/Toaster.vue create mode 100644 frontend/src/components/UserAvatar.vue create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/router/index.ts create mode 100644 frontend/src/stores/auth.ts create mode 100644 frontend/src/stores/social.ts create mode 100644 frontend/src/stores/toast.ts create mode 100644 frontend/src/style.css create mode 100644 frontend/src/utils/jwt.ts create mode 100644 frontend/src/views/AccountView.vue create mode 100644 frontend/src/views/ChangePasswordView.vue create mode 100644 frontend/src/views/FeedView.vue create mode 100644 frontend/src/views/HomeView.vue create mode 100644 frontend/src/views/RegisterView.vue create mode 100644 frontend/src/views/SettingsView.vue create mode 100644 frontend/src/views/UserProfileView.vue create mode 100644 frontend/src/views/VideoDetailView.vue create mode 100644 frontend/src/views/VideoView.vue create mode 100644 frontend/tsconfig.app.json create mode 100644 frontend/tsconfig.json create mode 100644 frontend/tsconfig.node.json create mode 100644 frontend/vite.config.ts diff --git a/frontend/.vscode/extensions.json b/frontend/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/frontend/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..696444f --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,28 @@ +# feedsystem_video_go frontend + +这是对接 `backend/`(Gin + GORM + MySQL + JWT)的一套 Vue3 前端调试 UI,覆盖全部后端路由: +- Account:注册 / 登录 / 改密码 / 查找 / 改名 / 登出 +- Video:发布 / 按作者列出 / 详情 +- Like:点赞 / 取消点赞 / 是否点赞 +- Comment:列表 / 发布 / 删除 +- Social:关注 / 取关 / 粉丝列表 / 关注列表 +- Feed:最新流 / 点赞数流 / 关注流 + +## 开发启动 + +先启动后端: + +```bash +cd backend +go run ./cmd +``` + +再启动前端: + +```bash +cd frontend +npm install +npm run dev +``` + +默认通过 Vite 代理转发请求:前端访问 `/api/...` → `http://localhost:8080/...`(见 `frontend/vite.config.ts`)。 diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..2b36112 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + +
+ + + +