# Company Celebration 项目指南 ## 项目概述 年会庆典系统,包含投票、抽奖、大屏展示等功能。 ## 技术栈 - **前端**: Vue 3 + TypeScript + Vite - **后端**: Node.js + Express + Socket.IO - **数据库**: MySQL + Redis - **部署**: PM2 ## 项目结构 ``` packages/ ├── client-mobile/ # 移动端(投票、扫码登录) ├── client-screen/ # 大屏端(展示、管理控制台) ├── server/ # 后端服务 └── shared/ # 共享类型和常量 ``` --- ## 运维部署流程 ### 服务器信息 - **SSH 别名**: `vote` - **项目目录**: `/root/company-celebration` - **进程管理**: PM2 (`gala-server`) ### 标准部署流程 ```bash # 1. 本地提交并推送 git add git commit -m "commit message" git push origin main # 2. SSH 到服务器拉取代码 ssh vote "cd /root/company-celebration && git pull" # 3. 构建项目 ssh vote "cd /root/company-celebration && pnpm build" # 4. 重启服务 ssh vote "pm2 restart all && pm2 status" ``` ### 常见问题处理 #### 服务器有本地修改冲突 ```bash ssh vote "cd /root/company-celebration && git stash && git pull" ``` #### 构建失败 1. 检查 TypeScript 类型错误 2. 本地修复后重新提交推送 3. 服务器重新拉取构建 #### 查看服务状态 ```bash ssh vote "pm2 status" ssh vote "pm2 logs gala-server --lines 50" ``` --- ## 开发规范 ### 类型定义 - 共享类型定义在 `packages/shared/src/types/` - 修改类型后需确保所有引用处同步更新 ### 提交规范 使用 Conventional Commits: - `feat`: 新功能 - `fix`: 修复 - `chore`: 杂项 - `refactor`: 重构