v1.0.0 高考志愿门户完整修复

变更摘要:
- [fix] 清理根目录 index.html 遗留代码(questionnaire-error + retryLoad 移除)
- [fix] 副标题同步更新为自估591分 + 候选志愿546条数据校准
- [fix] 页脚注入版本号 v1.0.0
- [fix] 部署版 index.html: 取消家长标签,统一 filler-tianheng
- [fix] Dashboard 文案修正(4份→2份线上问卷)
- [fix] 清理冗余部署脚本(v1-v4归档至 archived_scripts/)
- [fix] 等效位次工具纳入 deploy 目录
- [chore] .gitignore 初始化
- [init] Git 仓库初始化
This commit is contained in:
2026-06-24 13:11:34 +08:00
commit b6df028839
71 changed files with 22898 additions and 0 deletions
+119
View File
@@ -0,0 +1,119 @@
# 高考志愿家庭门户 — 群晖 NAS Docker 部署指南
## 架构概览
```
浏览器 ──→ NAS_IP:8080 ──→ Nginx (静态文件 + API反代) ──→ Flask (问卷后端 + SQLite)
```
| 组件 | 容器名 | 端口 | 作用 |
|------|--------|------|------|
| Nginx | gaokao-nginx | 8080→80 | 托管6份HTML报告 + 导航首页 + API反向代理 |
| Flask | gaokao-backend | 5000(内部) | 问卷API:创建/填写/汇总 |
## 部署步骤(群晖 Container Manager
### 第一步:上传文件到 NAS
1. 打开群晖 File Station
2.`docker/` 目录下创建文件夹 `gaokao-portal/`
3. 将整个 `deploy/` 目录下的内容(这个文件夹)上传到 `docker/gaokao-portal/`
最终目录结构:
```
docker/gaokao-portal/
├── docker-compose.yml
├── nginx/
│ ├── nginx.conf
│ └── html/
│ ├── index.html
│ ├── questionnaire.html
│ ├── results.html
│ ├── css/style.css
│ └── reports/
│ ├── 志愿填报预备报告.html
│ ├── 高考预测报告.html
│ ├── 高考后-志愿填报行动方案.html
│ ├── 中外合作办学专题分析报告.html
│ ├── 2026年浙江招生计划深度分析报告.html
│ └── 数字媒体技术院校深度调研报告.html
└── backend/
├── Dockerfile
├── requirements.txt
├── app.py
├── seed_data.py
└── data/ ← SQLite 数据库文件(启动后自动创建)
```
### 第二步:启动容器
1. 打开群晖 **Container Manager**Docker套件)
2. 左侧菜单 → **项目** → 点击 **新增**
3. 项目名称:`gaokao-portal`
4. 路径:选择 `docker/gaokao-portal/`
5. 来源:选择 **设置路径**(使用已有的 docker-compose.yml
6. 点击 **下一步****完成**
系统会自动拉取镜像并构建启动。首次启动约需 2~5 分钟(含镜像下载)。
### 第三步:验证部署
浏览器访问:`http://<NAS的局域网IP>:8080`
你应该看到:
- 顶部横幅 "天恒高考志愿 · 家庭门户"
- 6张报告卡片(点击可查看完整报告)
- 3张问卷卡片(填写/查看汇总按钮)
## 使用指南
### 查看报告
首页点击任意报告卡片 → 浏览器直接打开完整报告(仅需 Nginx,无需后端)。
### 填写问卷
1. 首页点击问卷卡片的 **📝 填写问卷** 按钮
2. 输入您的称呼(如:爸爸、妈妈、天恒)
3. 逐题作答,点击 **✅ 提交答卷**
### 查看汇总
1. 首页点击问卷卡片的 **📊 查看汇总** 按钮
2. 横向对比所有家人的答案
3. 橙色高亮的行 = 家人之间观点不一致的题目
### 问卷内容说明
| # | 问卷 | 题数 | 类型 | 用时 |
|---|------|------|------|------|
| 1 | Holland 职业兴趣快速评估 | 20题 | 5级自评 | ~5分钟 |
| 2 | 院校偏好问卷 | 10题 | 单选/多选 | ~5分钟 |
| 3 | 家庭期望对齐问卷 | 8题 | 混合 | ~5分钟 |
> **建议填写顺序**:天恒先填 Holland 评估 → 父母各自填 → 全家人一起填院校偏好和期望对齐 → 查看汇总讨论差异。
## 常见问题
### Q: 浏览器打不开 8080 端口?
A: 检查群晖防火墙 → 允许局域网访问 8080 端口;确认容器在 Container Manager 中显示"运行中"。
### Q: 问卷加载不出来(卡片显示"无法连接后端服务")?
A: 等 Flask 容器完全启动(首次构建 ~2分钟),刷新页面。
### Q: 数据存在哪里?换台电脑数据还在吗?
A: 数据存在 NAS 的 `backend/data/gaokao.db`(SQLite),容器重启/更新不会丢失。所有接入同一局域网的设备(手机/平板/电脑)都能访问同一份数据。
### Q: 怎么更新报告内容?
A: 替换 `nginx/html/reports/` 下的 HTML 文件,然后重启 Nginx 容器即可。无需重建。
### Q: 怎么导出问卷数据?
A: 在 Container Manager 中进入 `gaokao-backend` 容器的终端,执行:
```bash
sqlite3 /app/data/gaokao.db ".mode json" "SELECT * FROM responses;" > /app/data/export.json
```
## 安全说明
- 本服务仅供局域网使用,不暴露到公网
- 不涉及任何第三方云服务,数据完全在 NAS 本地
- 无用户密码认证(基于信任的局域网环境)
- 如需加强安全,可在群晖防火墙设置仅允许特定设备 IP 访问 8080 端口