# 长征电子护照 · 教师后台使用说明

教师后台入口为活动网站的 `/admin/`，由单个教师管理员账号管理。初始教师密码由部署人员单独提供，不写在本说明中。

## 登录与首次改密

1. 使用教师账号 `admin` 和单独交付的密码登录。
2. 首次登录必须修改初始密码。新密码至少 8 个字符，建议组合字母、数字和符号。
3. 后续可通过左侧“修改密码”更换密码；使用完毕点击“退出登录”。

学生账号不能进入教师后台。登录失效时页面会收起名单并要求重新登录。请使用可信的个人电脑，避免在公共设备上留存账号口令。

## 创建与开放活动

1. 在“活动设置”填写正式活动名称，点击“创建活动”。新活动默认未开放。
2. 在“导入名单”导入本次报名学生并核对。
3. 回到“活动设置”，点击“开放当前活动”。开放后报名学生才可领取护照、完成任务和集章。

同一时间只开放一个活动。开放新活动会自动关闭原来的开放活动；确认框会明确提示受影响的活动名称。关闭活动后不删除名单、印章或照片，学生仍可查看和导出自己的历史护照。后台不提供活动删除入口，也不提供重新开放已关闭活动的按钮。

每个批次单独保存报名关系和进度。新活动需要重新导入报名名单；同一学生账号可沿用，不会自动复制历史印章。

## 导入 CSV / XLSX 名单

1. 下载后台提供的空白 XLSX 或 CSV 模板。模板由服务器下载，不含示例学生。
2. 填写“班级、姓名、学号”。学号须按文本填写，保留前导零；建议优先使用 XLSX 模板。**每次最多导入 200 名学生，较大名单请按班级分批上传。**
3. 选择文件，点击“上传并预览名单”。此步骤只校验，不创建账号或写入报名关系。
4. 核对预览中的姓名、班级、学号以及新账号 / 已有账号数量，再点击“确认导入”。超过 100 行时页面显示前 100 行，但确认会导入预览中的全部有效行。
5. 如果有新账号，立即下载页面上方的初始密码 CSV。已有账号保留原密码，不会被本次导入重置。

超过 200 名的名单会整批拒绝，不会部分导入，已有账号、报名关系和活动记录保持不变。请拆分为每批不超过 200 名后重新上传。空字段、重复学号等错误由服务器返回，请按提示修改文件后重新预览。切换活动或文件会取消旧预览，避免将旧名单误导入另一活动。已关闭的活动不能导入名单。

CSV 本身不能保存 Excel 的列类型。填写 CSV 时，请通过 Excel“数据 → 从文本 / CSV”导入，并将学号列设置为文本；直接双击 CSV 后，Excel 可能自动将学号转为数字。上传前请核对前导零确实存在。

## 初始密码的下载与保管

服务器只在本次创建新账号或显式重置密码时返回初始明文，不提供再次查询。后台仅将这批口令临时保存在当前页面内存中，不写入本地存储。

- 点击“下载初始密码 CSV”后，页面立即清除这批明文，并显示“已发起下载”。请自行确认浏览器已将文件保存到电脑。
- 下载前退出或刷新会丢失这批口令，页面会提示尚未下载。文件丢失后需重置相应学生密码，不能找回原初始密码。
- 学号与密码字段使用英文单引号作为表格文本标记，保留前导零并防止公式执行；有些 CSV 软件会显示这枚标记。**标记不属于学号或密码；如软件显示，复制时仅移除最前面的一枚标记，不删除其后的前导零或其他字符。**
- 下载文件含登录口令，请通过适当方式单独发给相应学生，不放入公开网盘、公开群文件或网站目录。

本次口令尚未下载时，后台会阻止继续导入或重置其他密码，避免覆盖尚未保存的口令。

## 查看与导出进度

在“学生进度”选择活动，可按班级筛选，也可搜索姓名或学号。八站矩阵中红色实心点表示已完成，灰色点表示未完成。鼠标悬停标记可查看完成时间；手机端可左右滑动表格。

“报名人数、八站完成、累计印章”显示服务器返回的活动统计。表格上方会标明当前显示人数及是否筛选。点击“刷新数据”重新读取服务器进度。

“导出活动进度 CSV”导出当前活动的全部学生，包含班级、姓名、学号、领取状态、完成数量及八站完成时间；不受当前页面筛选影响。教师后台不默认展示学生照片。

学生进度由服务器判定。第六站须答题后完成听歌选曲，第八站须完成拍照与手写签名。旧版浏览器中的本地印章不会自动迁入新活动。

## 重置密码、停用与启用

- “重置密码”：生成新的初始密码、撤销学生已有登录，并要求下次登录修改密码。已有活动进度保留。重置后从页面上方下载该学生的一次性口令 CSV。
- “停用”：立即撤销该账号登录，并阻止再次登录；不会删除学生、报名关系或历史进度。
- “启用”：恢复登录资格。学生使用原有有效密码；如密码遗失，可另外重置。

学生账号属于整个系统。密码重置、停用或启用会影响该账号在所有活动中的登录资格，不仅限于当前选择的活动。

## 网络或操作异常

页面加载或请求失败时会显示具体提示，不会用示例名单或示例统计替代真实数据。请求超时后，操作可能已到达服务器，请先点击“刷新数据”核对结果，再决定是否重试。

如果导入已成功但响应丢失，重新导入不会再次返回原初始密码；请先核对已有账号，必要时为未收到口令的学生逐个重置。批量使用前应完成管理员登录、CSV / XLSX 导入、学生换浏览器登录、活动关闭和历史查看的实际集成验证。
