Files
ClassHelper/docs/app/calls.md
T

2.7 KiB
Raw Blame History

title, description
title description
叫人 老师点名让学生过来:普通与紧急两档、快捷短语、谁能叫谁,以及它在教室里的表现。

叫人

「叫人」是老师点名让某位同学来一趟 —— 它不是一条普通通知,因为它有一个明确的收件人和一个明确的动作 (学生会点「收到」)。

在哪发

入口 谁能用
通知发布 → 叫人 教师、管理员
学生管理 → 叫人 管理员

学生管理页是管理员专属,但班主任与科任老师同样需要叫人,所以给老师留的入口在「通知发布 → 叫人」。

两档

级别 落库级别 ClassHelper 班级端行为
普通叫人 HIGH 课间先显示「叫人」胶囊,点击展开;上课时段只进队列、不打断课堂,下课后自动弹出详情(90 秒后收起)
紧急叫人 URGENT 无视上课时段立即展开,上课时被收起后仍保留胶囊、可再次点开

两档的卡片都是「请 XXX 同学找 XXX 老师」+ 具体事由,徽标是「叫人」,按钮是「收到」 (复用通知的已读机制)。

是否立即展开只由 priority 决定,与普通通知共用同一条排队 / 隐藏 / 下课弹出路径。

怎么说

两种输入方式,自定义消息优先于快捷短语:

  • 快捷短语(8 条,点击选中、再点取消):请到办公室找我 / 请到讲台找我 / 请到实验室找我 / 请到门卫处找我 / 请带上作业本找我 / 请带上试卷找我 / 请到教室门口等我 / 请马上来一趟;
  • 自定义消息:最长 200 字,例如「带上昨天的数学作业到办公室」。

谁能叫谁

角色 限制
学生 调用被拒(403)
教师 只能叫自己班级的学生;跨班、或学生不在本班 → 400 / 403
管理员 任意班级

服务端做了什么

POST /api/calls(教师 / 管理员)→ urgent: true 落库成 URGENT,否则 HIGH, 然后广播两个事件:

  • notification:new 到班级房间(通知中心与灵动岛都靠它);
  • call:new 定向到被叫学生 / 班级设备。

叫人通过实时通道送达本班客户端与灵动岛。