🕐 测试时钟

测试版使用说明

双击本文件即可在浏览器打开,无需微信开发者工具。数据存于浏览器本地,可随时重置。
① 状态流转图
提交→ 待学生处审核→ 待门卫核验出校→ 已出校·未返校→ 已销假完成
待学生处审核→驳回→ 已驳回→改后重提→ 待学生处审核
待门卫核验→人证不符→ 门卫拦截·已终止 (终态,须重新申请)
任一前序状态→班主任撤销→ 已撤销
已销假完成→管理员退回(误销假纠错)→ 已出校·未返校→门卫重登记→ 已销假完成
② 建议按此顺序测一遍
  1. 班主任 · 发起请假:姓名输入 张明轩 → 自动带出班级与家长信息; 家长确认开关默认不勾,需手动勾选后提交 → 状态变「待学生处审核」
  2. 班主任:再提交一条不勾家长确认的单据,留着测门卫拦截
  3. 学生处 · 待审核:按年级分层,点开「高一」→ 再点「高一(3)班」才看到单据; 对第 1 条点「同意」;对第 2 条点「驳回」不填意见看是否被拦
  4. 门卫 · 待出校:同样年级分层。点开班主任照片与现场学生比对; 不点人证选项看放行按钮是否置灰;选「一致」后按钮变绿并呼吸高亮 → 点「确认出校」
  5. 门卫:对第 2 条(家长未确认)看是否禁止放行;再对另一条选「人证不一致」→ 填拦截说明 → 单据进入终态
  6. 门卫 · 待返校:对已出校单据点「登记返校」完成销假
  7. 超时预警:让某单据处于「已出校」,顶部时钟点 +130分 → 二级预警红色提示
  8. 学生处:用「紧急放行登记」开单 → 门卫可直接放行 → 班主任补录材料
  9. 管理员:看统计看板,改预警阈值,最后点「重置演示数据」
演示学籍名册:张明轩、李思彤、陈子航、孙晓阳、林清和、王浩然、吴梓豪、 郑书瑶、赵一诺、何嘉树、周雨桐、黄乐乐。输入姓名即可自动带出。
③ 已实现的制度硬约束
  • 家长知情确认须班主任手动勾选(默认不勾);未确认 → 门卫禁止放行, 学生处审核时提前预警,避免「批了却放不了」
  • 学生处与门卫端均按年级 → 班级两级分层展示,不堆长列表
  • 驳回必须填意见,否则无法提交
  • 门卫未选人证核验结果,放行按钮置灰
  • 门卫可点开班主任上传的照片与现场学生比对,确认人证一致后再放行
  • 家长来接方式须班主任提交前二选一(有家长来校接领 / 学生自行回家);未选任何一项将无法提交
  • 人证不符 → 单据强制终止,说明必填,且不可撤销/重新放行
  • 家长未确认知情 → 门卫禁止放行
  • 紧急放行单不可撤销、不可重复审核,24 小时内须补录
  • 请假 ≥3 天自动标记长时请假,提示须德育处复核备案
  • 超过计划返校 60/120 分钟 → 一级/二级预警
  • 门卫误销假 → 管理员可将「已销假完成」单据退回门卫,撤销误登记的返校记录,由门卫重新核验登记(须填退回原因,入纠错台账)
  • 已撤销 / 门卫拦截为真正终态,任何角色均不可再流转;已销假单据仅管理员可走上述退回纠错
④ 测试版不做的事(正式版必补)
  • 无登录鉴权:任意切换角色,正式版须按角色分配账号与数据权限
  • 无服务器:数据存在浏览器 localStorage,换浏览器/清缓存即丢失
  • 无微信服务通知:家长确认、审批结果、超时预警的推送需对接订阅消息
  • 照片仅压缩存本地,正式版须上传对象存储并做敏感信息保护
业务逻辑内核在 leave-core.js,已通过 83 项断言测试(node _test_core.js)。 正式开发时把它换成后端接口即可,函数签名不用改;其中 lookupStudent / findStudents 对应学籍档案查询接口, groupByGrade 对应后端的年级分组查询。