2026-10-06 16:27:44 +08:00
|
|
|
|
---
|
|
|
|
|
|
title: 叫人
|
|
|
|
|
|
description: 老师点名让学生过来:普通与紧急两档、快捷短语、谁能叫谁,以及它在教室里的表现。
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# 叫人
|
|
|
|
|
|
|
|
|
|
|
|
「叫人」是老师点名让某位同学来一趟 —— 它**不是**一条普通通知,因为它有一个明确的收件人和一个明确的动作
|
|
|
|
|
|
(学生会点「收到」)。
|
|
|
|
|
|
|
|
|
|
|
|
## 在哪发
|
|
|
|
|
|
|
|
|
|
|
|
| 入口 | 谁能用 |
|
|
|
|
|
|
| --------------- | ------------ |
|
|
|
|
|
|
| 通知发布 → 叫人 | 教师、管理员 |
|
|
|
|
|
|
| 学生管理 → 叫人 | 管理员 |
|
|
|
|
|
|
|
|
|
|
|
|
学生管理页是管理员专属,但班主任与科任老师同样需要叫人,所以给老师留的入口在「通知发布 → 叫人」。
|
|
|
|
|
|
|
|
|
|
|
|
## 两档
|
|
|
|
|
|
|
2026-10-17 03:06:46 +08:00
|
|
|
|
| 级别 | 落库级别 | ClassHelper 班级端行为 |
|
2026-10-06 16:27:44 +08:00
|
|
|
|
| ------------ | -------- | ----------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
| **普通叫人** | `HIGH` | 课间先显示「叫人」胶囊,点击展开;**上课时段只进队列、不打断课堂**,下课后自动弹出详情(90 秒后收起) |
|
|
|
|
|
|
| **紧急叫人** | `URGENT` | **无视上课时段立即展开**,上课时被收起后仍保留胶囊、可再次点开 |
|
|
|
|
|
|
|
|
|
|
|
|
两档的卡片都是「请 XXX 同学找 XXX 老师」+ 具体事由,徽标是「叫人」,按钮是「收到」
|
|
|
|
|
|
(复用通知的已读机制)。
|
|
|
|
|
|
|
|
|
|
|
|
> **是否立即展开只由 `priority` 决定**,与普通通知共用同一条排队 / 隐藏 / 下课弹出路径。
|
|
|
|
|
|
|
|
|
|
|
|
## 怎么说
|
|
|
|
|
|
|
|
|
|
|
|
两种输入方式,**自定义消息优先于快捷短语**:
|
|
|
|
|
|
|
|
|
|
|
|
- **快捷短语**(8 条,点击选中、再点取消):请到办公室找我 / 请到讲台找我 / 请到实验室找我 /
|
|
|
|
|
|
请到门卫处找我 / 请带上作业本找我 / 请带上试卷找我 / 请到教室门口等我 / 请马上来一趟;
|
|
|
|
|
|
- **自定义消息**:最长 200 字,例如「带上昨天的数学作业到办公室」。
|
|
|
|
|
|
|
|
|
|
|
|
## 谁能叫谁
|
|
|
|
|
|
|
|
|
|
|
|
| 角色 | 限制 |
|
|
|
|
|
|
| ------ | ---------------------------------------------------------- |
|
|
|
|
|
|
| 学生 | 调用被拒(403) |
|
|
|
|
|
|
| 教师 | 只能叫**自己班级**的学生;跨班、或学生不在本班 → 400 / 403 |
|
|
|
|
|
|
| 管理员 | 任意班级 |
|
|
|
|
|
|
|
|
|
|
|
|
## 服务端做了什么
|
|
|
|
|
|
|
|
|
|
|
|
`POST /api/calls`(教师 / 管理员)→ `urgent: true` 落库成 `URGENT`,否则 `HIGH`,
|
|
|
|
|
|
然后广播两个事件:
|
|
|
|
|
|
|
|
|
|
|
|
- `notification:new` 到班级房间(通知中心与灵动岛都靠它);
|
|
|
|
|
|
- `call:new` 定向到被叫学生 / 班级设备。
|
|
|
|
|
|
|
2026-10-17 03:06:46 +08:00
|
|
|
|
叫人通过实时通道送达本班客户端与灵动岛。
|