删除部署文档和交接文档
按项目负责人要求移除 DEPLOY.md 和 交接文档.md。 技术总监从 README.md 和 AGENTS.md 了解项目即可。
This commit is contained in:
133
DEPLOY.md
133
DEPLOY.md
@@ -1,133 +0,0 @@
|
|||||||
# 脑晴测 H5 部署说明(自有服务器 + Node.js)
|
|
||||||
|
|
||||||
更新时间:2026-07-28
|
|
||||||
|
|
||||||
## 一、项目简介
|
|
||||||
|
|
||||||
- 中文、免登录的认知能力测评 H5
|
|
||||||
- 含四项游戏 + AI 生成报告(DeepSeek)
|
|
||||||
- 前端 React 19 + Vite,已构建为静态文件
|
|
||||||
- 服务端是零依赖单文件 Node.js(`server.mjs`)
|
|
||||||
|
|
||||||
## 二、仓库结构
|
|
||||||
|
|
||||||
```
|
|
||||||
.
|
|
||||||
├── brain-h5/
|
|
||||||
│ ├── dist/client/ # 预构建前端(已含,无需再 build)
|
|
||||||
│ ├── server.mjs # Node.js 服务器入口(零依赖)
|
|
||||||
│ ├── src/ # 前端源码(仅二次开发时需要)
|
|
||||||
│ ├── worker/index.js # Cloudflare Worker 版本(本方案不用)
|
|
||||||
│ └── ...
|
|
||||||
├── 交接文档.md
|
|
||||||
└── DEPLOY.md # 本文件
|
|
||||||
```
|
|
||||||
|
|
||||||
## 三、部署步骤(自有服务器 + Node.js)
|
|
||||||
|
|
||||||
### 1. 系统要求
|
|
||||||
|
|
||||||
- Node.js v18 或更高(推荐 v20+)
|
|
||||||
- 任何能跑 Node.js 的操作系统(Linux/Windows/macOS)
|
|
||||||
|
|
||||||
不需要 npm install,不需要 pnpm,不需要 React 开发环境。
|
|
||||||
|
|
||||||
### 2. 克隆仓库
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone <仓库地址>
|
|
||||||
cd Brain
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. 配置 API Key
|
|
||||||
|
|
||||||
`DEEPSEEK_API_KEY` 通过环境变量传入,**不要写入任何文件**。
|
|
||||||
|
|
||||||
Linux/macOS:
|
|
||||||
```bash
|
|
||||||
export DEEPSEEK_API_KEY=sk-你的key
|
|
||||||
```
|
|
||||||
|
|
||||||
Windows PowerShell:
|
|
||||||
```powershell
|
|
||||||
$env:DEEPSEEK_API_KEY = "sk-你的key"
|
|
||||||
```
|
|
||||||
|
|
||||||
或者用 systemd / pm2 / docker 等进程管理工具注入环境变量。
|
|
||||||
|
|
||||||
### 4. 启动服务
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd brain-h5
|
|
||||||
node server.mjs
|
|
||||||
```
|
|
||||||
|
|
||||||
默认监听 `0.0.0.0:4173`。可通过环境变量改:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
PORT=8080 HOST=127.0.0.1 node server.mjs
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. 反向代理(推荐)
|
|
||||||
|
|
||||||
如果服务器有 Nginx,建议反代到 Node 服务:
|
|
||||||
|
|
||||||
```nginx
|
|
||||||
server {
|
|
||||||
listen 80;
|
|
||||||
server_name your.domain.com;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
proxy_pass http://127.0.0.1:4173;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### 6. 进程守护(生产环境)
|
|
||||||
|
|
||||||
推荐用 pm2:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install -g pm2
|
|
||||||
cd brain-h5
|
|
||||||
DEEPSEEK_API_KEY=sk-你的key pm2 start server.mjs --name brain-h5
|
|
||||||
pm2 save
|
|
||||||
pm2 startup
|
|
||||||
```
|
|
||||||
|
|
||||||
## 四、健康检查
|
|
||||||
|
|
||||||
部署完成后应能通过:
|
|
||||||
|
|
||||||
| 检查项 | 期望结果 |
|
|
||||||
|---|---|
|
|
||||||
| `GET /` | 返回 HTML(200) |
|
|
||||||
| `GET /assets/index-*.js` | 返回 JS bundle(200) |
|
|
||||||
| `POST /api/analyze`(带 JSON body) | 返回 JSON 报告(200) |
|
|
||||||
| 未配置 Key 时 `POST /api/analyze` | 返回 503 `{"error":"AI service is not configured..."}` |
|
|
||||||
|
|
||||||
## 五、关键安全约束
|
|
||||||
|
|
||||||
- `DEEPSEEK_API_KEY` **必须**通过环境变量传入,**不要**写入仓库、commit、或前端 bundle。
|
|
||||||
- `.env` 文件已在 `.gitignore` 中排除,不会进入仓库。
|
|
||||||
- Key 由项目负责人通过私密渠道单独发送。
|
|
||||||
|
|
||||||
## 六、本地开发(可选,技术总监无需操作)
|
|
||||||
|
|
||||||
如需修改源码并重新构建:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd brain-h5
|
|
||||||
pnpm install # 或 npm install
|
|
||||||
pnpm run dev # 本地开发服务器
|
|
||||||
pnpm run build # 重新构建到 dist/client/
|
|
||||||
```
|
|
||||||
|
|
||||||
## 七、联系人
|
|
||||||
|
|
||||||
- 项目负责人:MingNian
|
|
||||||
- 项目根目录:`D:\GMS project`
|
|
||||||
162
交接文档.md
162
交接文档.md
@@ -1,162 +0,0 @@
|
|||||||
# 脑晴测 H5 项目交接文档
|
|
||||||
|
|
||||||
更新时间:2026-07-23
|
|
||||||
|
|
||||||
## 1. 新对话首先要知道的事情
|
|
||||||
|
|
||||||
- 项目以后只以 **D 盘版本**为准。
|
|
||||||
- 项目根目录:`D:\GMS project`
|
|
||||||
- 前端目录:`D:\GMS project\brain-h5`
|
|
||||||
- 一键启动入口:`D:\GMS project\一键启动脑晴测.bat`
|
|
||||||
- 开始修改前,必须完整阅读:`D:\GMS project\brain-h5\AGENTS.md`
|
|
||||||
- 默认产品是铺满浏览器的响应式 H5 网页,不允许重新套上黑色手机外框、状态栏、摄像头开孔或设备选择器。
|
|
||||||
- 桌面浏览器使用横向完整布局;手机浏览器自动变成适合竖屏操作的布局。
|
|
||||||
- 项目是中文、免登录的认知能力训练/测评原型,文案避免疾病诊断和医疗结论。
|
|
||||||
|
|
||||||
给新 Codex 对话的建议开场指令:
|
|
||||||
|
|
||||||
> 我们继续开发 `D:\GMS project` 里的脑晴测 H5。请先完整阅读项目根目录的 `交接文档.md` 和 `brain-h5\AGENTS.md`,以后只操作 D 盘项目,不再使用 C 盘旧目录。先检查现状,再继续我的新需求。
|
|
||||||
|
|
||||||
## 2. 用户提供的参考资料
|
|
||||||
|
|
||||||
原始录屏位于:
|
|
||||||
|
|
||||||
- `D:\QQ2026722-17165.mp4`
|
|
||||||
- `D:\QQ2026722-172534.mp4`
|
|
||||||
|
|
||||||
录屏用于理解游戏规则、节奏和元素之间的逻辑关系,不要照抄对方的品牌、文案或视觉资产。
|
|
||||||
|
|
||||||
已从录屏总结出的核心规则:
|
|
||||||
|
|
||||||
1. 符号匹配:顶部出现目标符号,用户根据固定映射表输入对应数字。
|
|
||||||
2. 交替连线:顺序为“1 → 最小扇形 → 2 → 大一档扇形……→ 10 → 最大扇形/完整圆形”;节点位置应有邻近关系,不能完全随机乱放。
|
|
||||||
3. 飞机注意力:飞机持续移动,用户按照指定颜色识别目标;飞机数量与难度逐轮增加,并体现机头方向。
|
|
||||||
4. 购物记忆:先记购物清单,再让商品在传送带上依次移动出现,用户选择目标商品。
|
|
||||||
5. 金额计算:显示目标金额、可选纸币/硬币和已选金额区;已选货币可再次点击移除,然后提交答案。
|
|
||||||
|
|
||||||
## 3. 当前已经完成的内容
|
|
||||||
|
|
||||||
### 产品外壳
|
|
||||||
|
|
||||||
- `src\App.tsx` 已改为直接渲染 `Prototype`。
|
|
||||||
- 默认页面不再使用原开发模板的 `MobileRuntime` 或 `PhoneFrame`。
|
|
||||||
- 已实现全浏览器响应式布局,桌面和手机共用同一个网页入口。
|
|
||||||
|
|
||||||
### 页面流程
|
|
||||||
|
|
||||||
当前包含:
|
|
||||||
|
|
||||||
- 首页
|
|
||||||
- 用户资料选择
|
|
||||||
- 测评总览
|
|
||||||
- 符号匹配
|
|
||||||
- 交替连线
|
|
||||||
- 飞机注意力
|
|
||||||
- 购物工作记忆
|
|
||||||
- 金额计算
|
|
||||||
- 综合报告
|
|
||||||
|
|
||||||
### 游戏交互
|
|
||||||
|
|
||||||
- 符号匹配包含教学/练习门槛、固定映射、数字键盘和正式题目。
|
|
||||||
- 连线游戏使用受约束的节点路径,数字与不同大小扇形交替连接,并显示 SVG 连线。
|
|
||||||
- 飞机会使用 CSS 动画持续飞行,支持蓝色/橙色目标和逐轮增加数量。
|
|
||||||
- 商品会在传送带上移动,可点击选择,并显示选中状态。
|
|
||||||
- 购物轮次结束后进入金额计算,可添加和移除纸币/硬币。
|
|
||||||
- 已有结果报告卡片与分级摘要。
|
|
||||||
|
|
||||||
### 视觉表现
|
|
||||||
|
|
||||||
- 使用珍珠白底色、青色/紫色/珊瑚色光谱渐变。
|
|
||||||
- 采用玻璃质感、柔和阴影和轻量 2.5D 元素。
|
|
||||||
- 有桌面端和手机端断点,手机端已确认无横向溢出。
|
|
||||||
|
|
||||||
## 4. 主要代码位置
|
|
||||||
|
|
||||||
- 主界面与全部游戏逻辑:
|
|
||||||
`D:\GMS project\brain-h5\src\Prototype.tsx`
|
|
||||||
- 产品专属样式:
|
|
||||||
`D:\GMS project\brain-h5\src\prototype.css`
|
|
||||||
- 应用入口:
|
|
||||||
`D:\GMS project\brain-h5\src\App.tsx`
|
|
||||||
- 全局样式:
|
|
||||||
`D:\GMS project\brain-h5\src\styles.css`
|
|
||||||
- 内部启动脚本:
|
|
||||||
`D:\GMS project\brain-h5\scripts\start-local.cmd`
|
|
||||||
- 根目录双击启动脚本:
|
|
||||||
`D:\GMS project\一键启动脑晴测.bat`
|
|
||||||
|
|
||||||
项目目前主要集中在一个较大的 `Prototype.tsx` 中。后续功能继续增长时,可以在不改变现有行为的前提下,将各游戏逐步拆分到独立组件和数据文件,但不要为了拆分而破坏当前可运行版本。
|
|
||||||
|
|
||||||
## 5. 启动方式
|
|
||||||
|
|
||||||
用户日常使用:
|
|
||||||
|
|
||||||
1. 双击 `D:\GMS project\一键启动脑晴测.bat`
|
|
||||||
2. 脚本会启动本地开发服务。
|
|
||||||
3. 浏览器自动打开 `http://127.0.0.1:4173/`
|
|
||||||
|
|
||||||
开发命令:
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
cd 'D:\GMS project\brain-h5'
|
|
||||||
pnpm run dev --host 127.0.0.1 --port 4173
|
|
||||||
```
|
|
||||||
|
|
||||||
如果系统没有全局 Node/pnpm,一键启动脚本会优先尝试 Codex 自带的运行环境。
|
|
||||||
|
|
||||||
## 6. 验证命令
|
|
||||||
|
|
||||||
每次重要修改后至少运行:
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
cd 'D:\GMS project\brain-h5'
|
|
||||||
pnpm run check:runtime
|
|
||||||
pnpm run build
|
|
||||||
pnpm run test:sites
|
|
||||||
```
|
|
||||||
|
|
||||||
上一轮已经通过:
|
|
||||||
|
|
||||||
- Runtime 完整性检查
|
|
||||||
- TypeScript 与 Vite 生产构建
|
|
||||||
- Sites Worker 测试 4/4
|
|
||||||
- 桌面浏览器交互检查
|
|
||||||
- 390 × 844 手机视口响应式检查
|
|
||||||
- 浏览器控制台无报错
|
|
||||||
|
|
||||||
`App.tsx` 和 `styles.css` 曾因移除手机预览壳而被用户明确授权修改,对应 runtime lock 已更新。以后如果再次修改受保护运行时文件,必须先确认确有必要,验证后再更新 lock;不要通过关闭检查来绕过。
|
|
||||||
|
|
||||||
## 7. 关键产品决策
|
|
||||||
|
|
||||||
- 真正用户打开的是普通网页,不是嵌在手机模型里的演示画面。
|
|
||||||
- H5 本身自适应:电脑打开是完整网页,手机打开仍然可以正常使用。
|
|
||||||
- 游戏不能只是静态摆放;飞机、传送带商品等必须真正运动。
|
|
||||||
- 连线节点的位置、顺序和大小关系必须符合游戏逻辑。
|
|
||||||
- 视觉需要高级、精致、有层次,但不能为了装饰影响题目识别和老年用户操作。
|
|
||||||
- 按钮和可点击目标应保持足够大的触控面积。
|
|
||||||
- 原始录屏只作为逻辑参考,最终产品应拥有原创视觉。
|
|
||||||
- DeepSeek 或其他模型密钥只能保存在服务端,不能放进 `VITE_` 环境变量或前端包。
|
|
||||||
- 未经用户明确要求,不部署到公网。
|
|
||||||
|
|
||||||
## 8. 下一阶段建议
|
|
||||||
|
|
||||||
当前版本已经可以完整演示,但后续仍可继续打磨:
|
|
||||||
|
|
||||||
1. 根据用户逐项试玩反馈,调整每个游戏的题目节奏、动画速度和难度曲线。
|
|
||||||
2. 为连线游戏补充更严格的命中判定、错误提示、拖线轨迹与触屏容错。
|
|
||||||
3. 为飞机游戏增加更丰富但可控的飞行路线,避免目标重叠或飞出可操作区域。
|
|
||||||
4. 让传送带每轮商品队列、出现间隔和干扰项配置更系统化。
|
|
||||||
5. 完善计时、正确率、反应时和报告数据之间的真实关联,替换纯展示型结果。
|
|
||||||
6. 增加进度保存、重新开始、退出确认和异常恢复。
|
|
||||||
7. 做一轮真实手机触控测试,重点检查滑动、连线和快速点击。
|
|
||||||
8. 如果准备正式上线,再补充服务端、数据隐私说明、无障碍细节和部署配置。
|
|
||||||
|
|
||||||
## 9. C 盘旧目录说明
|
|
||||||
|
|
||||||
原项目目录曾位于:
|
|
||||||
|
|
||||||
`C:\Users\明年\Documents\GMS project`
|
|
||||||
|
|
||||||
其中项目文件已经清空。当前 Codex 任务可能暂时占用旧目录的空文件夹外壳;关闭当前任务或 Codex 后即可删除该空文件夹。后续开发不得再把文件写回该目录。
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user