docs: 新增 README(项目说明与三仓互链)
补充技术栈、目录结构、开发(含 Django 代理前缀)与 deploy.ps1 部署要点,并互链 ViperWebSite / VenomWebSite。
This commit is contained in:
1 parent
e27d6de1a8
commit
b3b899663a
1 file changed
+72
@@ -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)
|
||||
Reference in new issue
Block a user