docs: 新增 README(项目说明与三仓互链)

补充技术栈、目录结构、开发(含 Django 代理前缀)与 deploy.ps1 部署要点,并互链 ViperWebSite / VenomWebSite。
This commit is contained in:
TermiNexus committed 2026-09-28 17:35:36 +08:00
1 parent e27d6de1a8
commit b3b899663a
1 file changed
+72
+72
View File
@@ -0,0 +1,72 @@
# GVSite
GVSDS 工作室官网([www.gvsds.com](https://www.gvsds.com))前端源码,同时承载 `invite` 子域页面。
后端由 Django 站点提供(API、鉴权、成员/项目数据),本仓库只含前端。
## 技术栈
- Vue 3(`<script setup>` + TypeScript)
- Vite 8(rolldown)
- Vue Router 5(`createWebHistory`,干净 URL)
- Pinia(站点状态)
- Tailwind CSS v4(`@tailwindcss/vite`)+ Element Plus
- axios(API)、marked(文档渲染)
- [Lenis](https://github.com/darkroomengineering/lenis) 全局平滑惯性滚动
- Font Awesome(图标)、`@element-plus/icons-vue`
## 目录结构
```
src/
├─ App.vue 根组件
├─ main.ts 入口
├─ router/index.ts 路由表(www + invite 子域)
├─ layouts/SiteLayout.vue 站点骨架:顶栏 + 超级菜单 + 页脚
├─ components/ CookieBanner / GerpUserDropdown / MegaMenu* / SiteFooter
├─ data/megaMenus.ts 超级菜单数据(栏目 → 子项)
├─ api/community.ts 社区接口
├─ stores/site.ts 站点状态
├─ assets/ 全局样式(main.css / gvsds-page.css / community.css / cookie.css)
└─ views/ 页面
├─ HomeView / AboutView / ContactView / SupportView / GalleryView / MembersView
├─ DocumentView / DocReaderView / IntegrityReportView / UserCardView / UnauthorizedView
├─ community/ 社区首页 / 帖子 / 发帖
├─ invite/ 邀请子域:首页 / 申请 / 面试 / 招聘
├─ members/ 成员卡:TermiNexus / YuanZe / BSmooth
├─ methodology/ 方法论:协同编码
├─ plan/ 计划:N.R.C. 10 年计划 / We Are The Future 计划
├─ project/ 项目
└─ errors/ 403 / 404 / 500 / 503
deploy.ps1 构建 + 部署脚本(见下)
```
## 开发
```powershell
npm install
npm run dev # http://localhost:5174(监听 0.0.0.0)
```
开发服务器把后端请求代理到本地 Django `http://127.0.0.1:8000`,代理前缀:`/api`、`/API`、`/Auth`、`/Query`、`/Modify`、`/assets`、`/Invite`、`/Members`、`/ProJect`。
**只起前端不起后端**:页面能打开,但依赖接口的部分(社区、成员、登录态)会失败。
## 构建与部署
```powershell
npm run build # vue-tsc -b 类型检查 + vite build → dist/
.\deploy.ps1 # 备份原站文件 → 全量编译 → 同步产物到 TempLate
```
要点:
- `vite.config.ts` 设置 `assetsDir: 'GVSite'`,产物收敛到 `dist/GVSite/`,页面内以 `GVSite/...` 相对路径引用;部署时同步到 `../TempLate/GVSite/`
- `deploy.ps1` 会先把「已被 Vue 页面替换的 TempLate 原始文件」备份到 `backup/www`,再清理旧产物目录、编译、同步
- 部署前**先提交源码**,避免产物领先于源码
> `deploy.ps1` 带 UTF-8 BOM:Windows PowerShell 5.1 会用 ANSI 代码页解析无 BOM 的 UTF-8 脚本,中文提示会乱码甚至解析失败。
## 相关仓库
- [ViperWebSite](https://git.gvsds.com/GVSDS/ViperWebSite) — Viper 语言官网(viper.gvsds.com)
- [VenomWebSite](https://git.gvsds.com/GVSDS/VenomWebSite) — Venom 包管理器官网(venom.gvsds.com)