Files
Brain/交接文档.md
MingNian b0fce840a3 首次提交:脑晴测 H5 项目
包含前端源码、预构建产物(dist/)、零依赖 Node.js 服务器(server.mjs)、
Cloudflare Worker 版本(worker/)、部署文档(DEPLOY.md)和交接文档。

技术总监可直接 clone 后运行 node server.mjs 启动,无需安装 React 或 build。
DEEPSEEK_API_KEY 通过环境变量注入,未纳入仓库。
2026-07-28 10:24:47 +08:00

163 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 脑晴测 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 后即可删除该空文件夹。后续开发不得再把文件写回该目录。