学生打卡考勤
学生通过在电子班牌设备上刷学生卡,计入当前班级考勤
考勤流程
学生刷卡考勤时,应用能读取学生卡的ID,再根据教室ID完成考勤
1. 传入学生卡ID和教室ID考勤
POST /api/v1/studentcard/cards/:card_id/attendance
x-school-id: Number
classroom_id=112
原路径 /api/v1/studentcard/attendance 已变更
Parameters
参数名 | 类型 | 描述 |
---|---|---|
card_id | string | 学生卡片ID(应该在255字节内) |
classroom_id | number | 教室ID(即设备ID换取的教室ID),POST发送的参数 |
Response 200
返回的是考勤结果对象,包括考勤失败
字段名称 | 类型 | 描述 | 示例 |
---|---|---|---|
status | string | 结果状态,参见下表 | success |
title | string | 错误或成功考勤的标题 | 考勤成功 |
message | string | 错误或成功考勤的消息,可直接显示给用户 | 考勤时间: 2017-01-01 12:30:40 |
reflection | object | 学生卡绑定的学生资料 | 参见 3. 读取卡片ID并获取学生资料 |
klass | object | 当前考勤的班级信息,考勤失败时可能为空 | 参见 课表管理里班级对象的描述 |
各个状态的含义:
success
考勤成功exists
已有存在的考勤lated
已经迟到finished
停止考勤invalid
考勤无效(不在当前班级等)
响应示例:
{
"status": "invalid",
"title": "考勤无效",
"message": "当前没有上课中的班级",
"reflection": {
"id": 248672,
"usin": "T003",
"name": "测试3带头像",
"pinyin": "Ce Shi3daitouxiang",
"avatar_url": "https://platform.seiue.com/files/someone.jpg",
"gender": "m",
"status": 1,
"gender_label": "男",
"status_label": "正常",
"graduates_label": "0届"
}
}
Response 404
表示这个卡片还没绑定学生,需要跳转到登录界面,进行步骤2
2. 学生卡绑定学生资料
在学生登录界面,学生需要输入学号和密码,并且附带学生卡ID,完成绑定。
POST /api/v1/studentcard/cards
x-school-id: Number
card_id=12345678ABCD&username=20201234&password=password
原路径 /api/v1/studentcard/bind 已变更
Parameters
参数名 | 类型 | 描述 |
---|---|---|
username | string | 学生学号 |
password | string | 登录密码(原文,不用加密) |
card_id | string | 之前无绑定的学生卡片ID(应该在255字节内) |
请求header上,需要有
x-school-id: 学校ID
来分辨哪个学校。学校ID值来自设备初始化时选择并存储的学校。
Response 201
学号密码正确,登录并绑定成功。
Response 422
账号密码有错误,详见errors
字段的错误列表
Response 50X
服务器有问题,请稍后重试
学生卡管理
3. 读取卡片ID并获取学生资料
GET /api/v1/studentcard/cards/:card_id
x-school-id: Number
原路径 /api/v1/studentcard/bind?card_id=String 已变更
Parameters
参数名 | 类型 | 描述 |
---|---|---|
card_id | string | 学生卡片ID(应该在255字节内) |
Response 200
返回的是绑定的学生资料,对象主要字段有:
字段名称 | 是否显示 | 类型 | 描述 |
---|---|---|---|
rid | 否 | number | 学生ID,后续作为考勤的参数 |
name | 是 | string | 学生姓名 |
usin | 是 | string | 学号 |
avatar_url | 是 | string | 学生证件照图片地址,可能为空 |
gender | 否 | string | 性别(m男,f女) |
gender_label | 是 | string | 中文性别,可直接显示(为空就不显示) |
status_label | 是 | string | 中文状态,可直接显示(为空就不显示) |
graduates_label | 是 | string | 中文界别,可直接显示(为空就不显示) |
grade_name | 是 | string | 年级 |
对象完整字段示例:
{
"id": 123,
"usin": "20190001",
"name": "小明",
"pinyin": "Xiao ming",
"avatar_url": "https://platform.seiue.com/files/someone.jpg",
"gender": "f",
"status": 1,
"gender_label": "女",
"status_label": "正常",
"graduates_label": "2019届",
"grade_name": "高一",
}
Response 404
这个卡片还没绑定学生,需要跳转到登录界面,完成步骤2
4. 解除当前学生卡绑定的学生
解除学生卡绑定学生的关联,学生卡重新回到未绑定状态
DELETE /api/v1/studentcard/cards/:card_id
x-school-id: Number
原路径 /api/v1/studentcard/bind?card_id=String 已变更
Parameters
Name | Type | Description |
---|---|---|
card_id | string | 学生卡片ID |
Response 204
解除绑定成功,不返回任何内容
Response 422
解除绑定失败,可将响应的message
显示出来