课程实时推送的消息
课程包括了LMS的各项活动,目前提供实时消息推送的活动和内容包括:作业成绩推送、测验成绩推送。后继活动消息还在持续开发中。
作业成绩推送
推送时机:作业成绩产生/变更时,一般是老师批阅之后。
字段 | 类型 | 说明 |
---|---|---|
Cmd | String | 消息类型:HomeworkScore |
SID | Int64 | 机构ID |
CourseID | Int64 | 班级ID |
CourseName | String | 班级名称 |
Data | 对象 | 作业内容和成绩 |
└ UnitId | Int64 | 单元ID |
└ UnitName | String | 单元名称 |
└ ActivityId | Int64 | 活动(作业)ID |
└ ActivityName | String | 活动(作业)标题 |
└ Score | float | 总分 |
└ StudentInfo | 对象 | 学生信息 |
└ StudentUid | Int64 | 学生UID |
└ StudentName | String | 学生姓名:客户端作业模块展示的姓名 |
└ StudentAccount | String | 学生账号:有手机号时推送手机号,没有手机号推送邮箱 |
└ SubmissionTime | Int64 | 作业提交时间 |
└ CorrectionTime | Int64 | 批阅时间 |
└ StudentScoringRate | float | 学生得分率:小数,例如0.8;计算逻辑:学生得分/满分 |
└ TeacherInfo | 对象 | 批阅教师信息 |
└ TeacherUid | Int64 | 教师UID |
└ TeacherName | String | 教师姓名:客户端作业模块展示的姓名 |
└ TeacherAccount | String | 教师账号:有手机号时推送手机号,没有手机号推送邮箱 |
实例
{
"Cmd" : "HomeworkScore",
"SID" : 2803666,
"CourseID" : 2279909,
"CourseName" : "Test",
"Data" : {
"UnitId" : 256,
"UnitName" : "第一单元",
"ActivityId" : 185647,
"ActivityName" : "Test Homework",
"Score" : 100,
"StudentInfo" : {
"StudentUid" : 1000083,
"StudentName" : "jiangdan",
"StudentAccount" : "13400008888"
},
"SubmissionTime" : 1713053774,
"CorrectionTime" : 1713083674,
"StudentScoringRate" : 0.9,
"TeacherInfo" : {
"TeacherUid" : 1000082,
"TeacherName" : "wupan",
"TeacherAccount" : "13456768888"
}
}
}
测验成绩推送
推送时机:测验成绩产生时。自动判分或者老师判分都会产生成绩。只产生部分成绩不会推送。如果修改答案导致成绩变化也会推送。 注:10月30日上线新字段。
字段 | 类型 | 说明 |
---|---|---|
Cmd | String | 消息类型:ExamScore |
SID | Int64 | 机构ID |
CourseID | Int64 | 班级ID |
CourseName | String | 班级名称 |
Data | 对象 | 测验内容和成绩 |
└ UnitId | Int64 | 单元ID |
└ UnitName | String | 单元名称 |
└ ActivityId | Int64 | 活动(测验)ID |
└ ActivityName | String | 活动(测验)标题 |
└ClassId | Int64 | 课节id(只有在课上新创建的测验才有) |
└ Score | float | 总分 |
└ StudentInfo | 对象 | 学生信息 |
└ StudentUid | Int64 | 学生UID |
└ StudentName | String | 学生姓名:客户端作业模块展示的姓名 |
└ StudentAccount | String | 学生账号:有手机号时推送手机号,没有手机号推送邮箱 |
└ SubmissionTime | Int64 | 测验提交时间 |
└ AnswerDuration | Int64 | 测验答题时长(秒) |
└ CorrectionTime | Int64 | 批阅时间 |
└ StudentScoringRate | float | 学生得分率:小数,例如0.8;计算逻辑:学生得分/满分 |
└ TeacherInfo | 对象 | 批阅教师信息 |
└ TeacherUid | Int64 | 教师UID,自动批阅则为0 |
└ TeacherName | String | 教师姓名:客户端作业模块展示的姓名,自动批阅则为空 |
└ TeacherAccount | String | 教师账号:有手机号时推送手机号,没有手机号推送邮箱,自动批阅则为空 |
└TopicDetails | array[object] | 数组 |
└TopicId | int | 题目序号,比如 “1” 为第一大题 |
└TopicType | String | 题目类型,传字符串 题型 1:单选,2:多选,3:判断,4:填空,5:问答,6:综合;如使用官方题库,此字段为空 |
└ TopicResult | int | 0 = 待批阅,1=正确,3=半对,2=错误,4=未答 |
└TopicScore | float | 题目总得分(可能会有小题) |
└TopicMaxScore | float | 这道题的满分 |
└SubTopicDetails | array[object] | 如果题目没有小题则没有这一项 没有小题时返回[],使用时需进行校验 |
└SubTopicId | int | 小题序号 |
└SubTopicType | String | 小题类型,传字符串 |
└SubTopicResult | int | 0 = 待批阅,1=正确,3=半对,2=错误,4=未答 |
└SubTopicScore | float | 小题得分 |
└SubTopicMaxScore | int | 小题的满分 |
实例
{
"CourseID": 429724,
"Cmd": "ExamScore",
"CourseName": "测试双师课",
"SID": 187286,
"Data": {
"ClassId": 34928113,
"TeacherInfo": {
"TeacherName": "我是44401",
"TeacherAccount": "444401",
"TeacherUid": 187286
},
"ActivityName": "测验 星期二",
"UnitName": "默认单元",
"AnswerDuration": 57,
"ActivityId": 32044258,
"Score": 24,
"StudentInfo": {
"StudentName": "",
"StudentAccount": "12133333301",
"StudentUid": 187268
},
"UnitId": 32014550,
"SubmissionTime": 1729576858,
"TopicDetails": [{
"TopicId": 1,
"TopicType": "1",
"SubTopicDetails": [],
"TopicResult": [2],
"TopicMaxScore": 5,
"TopicScore": 0
},
{
"TopicId": 2,
"TopicType": "5",
"SubTopicDetails": [],
"TopicResult": [3],
"TopicMaxScore": 4,
"TopicScore": 2
},
{
"TopicId": 3,
"TopicType": "4",
"SubTopicDetails": [],
"TopicResult": [2, 2, 2],
"TopicMaxScore": 6,
"TopicScore": 0
},
{
"TopicId": 4,
"TopicType": "6",
"SubTopicDetails": [{
"SubTopicId": 1,
"SubTopicType": "1",
"SubTopicResult": [2],
"SubTopicScore": 0,
"SubTopicMaxScore": 5
},
{
"SubTopicId": 2,
"SubTopicType": "2",
"SubTopicResult": [2],
"SubTopicScore": 0,
"SubTopicMaxScore": 4
}],
"TopicResult": [2],
"TopicMaxScore": 9,
"TopicScore": 0
}],
"StudentScoringRate": 0.083333,
"CorrectionTime": 1729576949
}
}