学生打卡考勤

学生通过在电子班牌设备上刷学生卡,计入当前班级考勤

考勤流程

学生刷卡考勤时,应用能读取学生卡的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 中文界别,可直接显示(为空就不显示)

对象完整字段示例:

{
    "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届"
}

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显示出来

results matching ""

    No results matching ""