Javascript

《JMU-json2ics》源码解读

本文主要是介绍《JMU-json2ics》源码解读,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

曾神在群里分享了一个开源项目 《JMU-json2ics》 。可以用我们学校的课表生成 ics日历 文件。
这个小项目引发了我的兴趣,遂决定阅读一遍源码,顺便复习下python语法。

第一部分:json文件结构解读

总体结构

课程信息主要保存在 ”adminclass“ 条录下

{
  "studentTableVm": {
    "id": 22471, 
    "name": "陈煜晗", //学生姓名
    "code": "2020*****104",//学生学号
    "grade": "2020", //年级
    "department": "计算机工程学院", //学院
    "major": "计算机科学与技术", //专业
    "adminclass": "计算2014",//班级
    "credits": 25.75, //学分
    "totalRetakeCredits": 0, //已确认学分
    "activities": [...], //!!!课程列表!!!。
    "lessonSearchVms": [...],//下列不表。
    "practiceLessonSearchVms": [...], 
    "arrangedLessonSearchVms":[...],
    "timeTableLayout": {"id": 1...},
    "courseTablePrintConfigs": [...],
    "lessonNamePrint": false
  }
}

课程信息 adminclass

以列表形式保存课程信息。
在这里插入图片描述
对于每一个课程,以字典形式保存基本信息

{
        "lessonId": 62937, //课程代号?
        "lessonCode": "D000607-0006",//课程编号
        "lessonName": "21-22-01大学英语三级综合06", //课程班名称
        "courseCode": "D000607",
        "courseName": "大学英语 (3)", //课程名称
        "weeksStr": "5~13(单)", //上课周次描述信息
        "weekIndexes": [5, 7, 9, 11, 13],//上课周次
        "room": "汉水0306",//教室
        "building": "庄汉水楼",//教学楼
        "campus": "主校区",//教学校区
        "weekday": 1,//周几上课
        "startUnit": 7,//第几节课开始
        "endUnit": 8,//第几节课结束
        "lessonRemark": null,//重修
        "teachers": ["林瑞芳"],//授课教师
        "courseType": null,//课程类型 默认?
        "credits": 2.5,//学分
        "periodInfo": {"total": 40...},//进阶信息,下表。
        "stdCount": 66,//学生人数
        "limitCount": 80,//限制人数
        "tableShowAdminclass": [...],
        "adminclassVms": [...],
        "activityRoomTypeSign": null,
        "activityRoomTimesOrUnits": null,
        "taskPeopleNum": null
},

”periodInfo“ 是课程的进阶信息。 这里没有用到,仅作猜测,不保证正确性。

"periodInfo": {
   "total": 40,
   "weeks": 16,
   "theory": 40,//课时
   "theoryUnit": "HOUR",//课时单位
   "requireTheory": 40,//要求课时
   "practice": null, //实践课时
   "practiceUnit": null,//实践课时单位
   "requirePractice": null,//需要实践课时
   "focusPractice": null,//需要实践课时单位
   "focusPracticeUnit": null,
   "dispersedPractice": null,
   "test": null,//小测
   "testUnit": null,//小测单位
   "requireTest": null,//要求小测
   "experiment": null,//实验课时
   "experimentUnit": null,//实验课时单位
   "requireExperiment": null,//要求实验课时
   "machine": null,//机器
   "machineUnit": null,//机器单位
   "requireMachine": null,//需要机器单位 (上机?)
   "design": null,//课程设计课时
   "designUnit": null,//课程设计课时单位
   "requireDesign": null,//要求课程设计课时
   "periodsPerWeek": 0, //每周周期
   "extra": null,//额外课时
   "extraUnit": null,//额外课时单位
   "requireExtra": null//要求额外课时
 },

第二部分 :《JMU-json2ics》源码解读

待更。

这篇关于《JMU-json2ics》源码解读的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!