课程实时推送的消息

课程包括了LMS的各项活动,目前提供实时消息推送的活动和内容包括:

  • 作业提交
  • 作业成绩
  • 测验成绩
  • 答题卡成绩

作业提交推送

推送时机:学生提交作业后触发实时推送

字段 类型 说明
Cmd String 消息类型:HomeworkSubmit
SID Int64 机构ID
CourseID Int64 班级ID
CourseName String 班级名称
Data 对象 作业内容
└ UnitId Int64 单元ID
└ UnitName String 单元名称
└ ActivityId Int64 活动(作业)ID
└ ActivityName String 活动(作业)标题
StudentTotal Int64 当前活动布置人数 10
SubmitTotal Int64 已提交人数 6
SubmissionTime Int64 作业提交时间时间戳
IsSubmitLate Int64 0否 1是
IsRevision Int64 0否 1是
Content String 作业文本内容 html格式
Files 对象 作业附件列表
└ Src String 文件下载地址
└ FileName String 文件名
└ FileExtension String 文件格式
StudentInfo 对象 学生信息
└ StudentUid Int64 学生UID
└ StudentName String 学生姓名:客户端作业模块展示的姓名
└ StudentAccount String 学生账号:有手机号时推送手机号,没有手机号推送邮箱
TeacherInfo 对象 活动教师信息
└ TeacherUid Int64 教师UID
└ TeacherName String 教师姓名:客户端作业模块展示的姓名
└ TeacherAccount String 教师账号:有手机号时推送手机号,没有手机号推送邮箱

{
    "ActionTime": 1741334951,
    "CourseID": 26901289,
    "TimeStamp": 1741335551,
    "SafeKey": "d9a20c9bf3ac660766ddbfac4988ca31",
    "Cmd": "HomeworkSubmit",
    "CourseName": "test course",
    "SID": 1068502,
    "_id": "67caa9a7976eb388db162139",
    "Data": {
        "UnitId": 255618,
        "UnitName": "test unit",
        "ActivityId": 54911996,
        "ActivityName": "Magic Key",
        "StudentTotal": 2,
        "SubmitTotal": 1,
        "SubmissionTime": 1741334950,
        "Content": "<section class=\"eeo-editor-wrapper\" style=\"font-size:15px;color:#38404A;\"><p>start\u00a0</p></section>",
        "IsSubmitLate": 1,
        "IsRevision": 0,
        "Files": [
            {
                "FileExtension": "png",
                "src": "https://static.eeo.cn/upload/files/file01/20250307/03_0-0cc8-577183e60485_1741334949147.png",
                "fileName": "eeo.png"
            }
        ],
        "TeacherInfo": {
            "TeacherName": "Lucy",
            "TeacherAccount": "001-38102248",
            "TeacherUid": 10602
        },
        "StudentInfo": {
            "StudentName": "GoodGuy",
            "StudentAccount": "001-72340105",
            "StudentUid": 102494
        }
    }
}

作业成绩推送

推送时机:作业成绩产生/变更时,一般是老师批阅之后。

字段 类型 说明
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;计算逻辑:学生得分/满分
└ GradingPlan String 评分显示方法
└ StudentScore String 学生按评分方式的打分
└ ReviewDetails 对象 详细成绩内容
  └ Correct Int64 正确个数
  └ Wrong Int64 错误个数
  └ Trophy Int64 奖杯个数
  └ Excellent Int64 0表示不是优秀,1表示优秀
  └ Comment String 评语
└ TeacherInfo 对象 批阅教师信息
  └ TeacherUid Int64 教师UID
  └ TeacherName String 教师姓名:客户端作业模块展示的姓名
  └ TeacherAccount String 教师账号:有手机号时推送手机号,没有手机号推送邮箱

实例


{
    "Cmd" : "HomeworkScore",
    "SID" : 2803666,
    "CourseID" : 2279909,
    "CourseName" : "Test",
    "Data" : {
        "UnitId" : 256,
        "UnitName" : "Unit One",
        "ActivityId" : 185647,
        "ActivityName" : "Test Homework",
        "Score" : 100, 
        "StudentScore": "90", 
        "ReviewDetails": {
            "Trophy": 9,
            "Comment": "<section class=\"eeo-editor-wrapper\" style=\"font-size: 15px; color: #38404a;\"><p>good job *2\u00a0</p></section>",
            "Wrong": 6,
            "Correct": 10,
            "Excellent": 1
        },
        "StudentInfo" : {
                "StudentUid" : 1000083,
                "StudentName" : "Amy",
                "StudentAccount" : "13451113311"
        },
        "SubmissionTime" : 1713053774,
        "GradingPlan": "\u5206\u6570\u5236",
        "CorrectionTime" : 1713083674,
        "StudentScoringRate" : 0.9,
        "TeacherInfo" : {
                "TeacherUid" : 1000082,
                "TeacherName" : "Mike",
                "TeacherAccount" : "13466668866"
        }
    }
}

测验成绩推送

推送时机:测验成绩产生时。自动判分或者老师判分都会产生成绩。只产生部分成绩不会推送。如果修改答案导致成绩变化也会推送。 注: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
    }
}

答题卡成绩推送

推送时机:答题卡成绩产生时触发实时推送。自动判分或者老师判分都会产生成绩。只产生部分成绩不会推送。如果修改答案导致成绩变化也会推送。

字段 类型 描述
Cmd String 答题卡成绩,AnswerSheetScore
SID Int64 学校ID
CourseID Int64 课程ID
CourseName String 课程名称
Data Object 答题卡信息及分数
└ UnitId Int64 单元ID
└ UnitName String 单元名称
└ ActivityId Int64 活动(答题卡)ID
└ ActivityName String 活动(答题卡)标题
└ ClassId Int64 课时ID,当答题卡在课节中发布时才有,否则为0
└ Score float 满分分值
└ StudentInfo Object 学生信息
 └ StudentUid Int64 学生UID
 └ StudentName String 学生姓名(在ClassIn客户端作业模块显示的名字)
 └ StudentAccount String 学生账号(优先推送注册手机号,无手机号则推送邮箱)
└ SubmissionTime Int64 答题卡提交时间
└ AnswerDuration Int64 学生答题耗时 单位:秒
└ CorrectionTime Int64 批改时间
└ StudentScoringRate float 学生得分率(小数形式,如0.8;计算逻辑:学生得分/满分)
└ TopicDetails array[object] 题目详情数组
 └ TopicId int 题目ID(如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 子题目ID
   └ SubTopicType String 子题目类型(字符串类型):同TopicType定义
   └ SubTopicResult int[] 子题目结果数组(取值同TopicResult)
   └ SubTopicScore float 子题目得分
   └ SubTopicMaxScore int 子题目满分分值
└ TeacherInfo Object 保留字段-批改教师信息(当前为空)
 └ TeacherUid Int64 保留字段-教师UID(当前Uid值为0,后续版本会更新)
 └ TeacherName String 保留字段-教师姓名(在ClassIn客户端作业模块显示的名字,当前为空)
 └ TeacherAccount String 保留字段-教师账号(优先推送注册手机号,无手机号则推送邮箱;自动批改时为空)

实例

{
    "ActionTime": 1741332102,
    "CourseID": 269406477,
    "TimeStamp": 1741332702,
    "SafeKey": "3d8bc13a3ed4a7cb5474848055960ce3",
    "Cmd": "AnswerSheetScore",
    "elapsed": 4,
    "CourseName": "xx测试课程",
    "SID": 27897288,
    "_id": "67ca9e8664ab5ae364892c98",
    "Data": {
        "ClassId": 0,
        "TeacherInfo": {
            "TeacherName": "",
            "TeacherAccount": "",
            "TeacherUid": 0
        },
        "ActivityName": "答题卡 3月7日 星期五",
        "UnitName": "test",
        "AnswerDuration": 5,
        "ActivityId": 63919314,
        "StudentInfo": {
            "StudentName": "CN-张三",
            "StudentAccount": "001-12345678",
            "StudentUid": 27897298
        },
        "UnitId": 33376336,
        "MaximumScore": 14,
        "SubmissionTime": 1741332102,
        "TopicDetails": [
            {
                "TopicId": 1,
                "TopicType": "1",
                "SubTopicDetails": [

                ],
                "TopicResult": [
                    1
                ],
                "TopicMaxScore": 5,
                "TopicScore": 5
            },
            {
                "TopicId": 2,
                "TopicType": "2",
                "SubTopicDetails": [

                ],
                "TopicResult": [
                    3
                ],
                "TopicMaxScore": 4,
                "TopicScore": 2
            },
            {
                "TopicId": 3,
                "TopicType": "3",
                "SubTopicDetails": [

                ],
                "TopicResult": [
                    1
                ],
                "TopicMaxScore": 5,
                "TopicScore": 5
            }
        ],
        "StudentScoringRate": 0.857143,
        "CorrectionTime": 0
    }
}

results matching ""

    No results matching ""