Skip to content

Latest commit

 

History

History
79 lines (46 loc) · 2.77 KB

接口.md

File metadata and controls

79 lines (46 loc) · 2.77 KB

1. 登录请求流程

  • 获取jessionid

  • 获取真实登陆url

  • 从真实登陆url处获取response

  • 从response中获取cookies和form

  • 使用cookies获取验证码图片

  • 从图片构建真实登录表单

  • 使用真实登录表单和cookies登陆

  • 请求接口/eams/homeExt.action

  • 需要返回内容:1.cookies 2.form 3.bitmap(验证码)

2. 常规接口

  • 【GET方法】最近登录ip及设备

    /eams/homeExt!main.action

  • 【GET方法】学籍信息

    /eams/stdDetail.action

  • 【GET方法】获取课表前数据请求接口

    /eams/courseTableForStd.action

  • 【GET方法】课程表

    /eams/courseTableForStd!courseTable.action

3. 重要接口

/eams/courseTableForStd.action

  • 【GET方法】获取一部分课表初始化参数

  • 【返回值】response,可从中获取以下内容

    tagId = html 界面中的学期选择条id,由请求后返回的response中所得,使用正则表达式 semesterBar\d+Semester 匹配,返回多个相同字符串

    semester.id = 学期id,由请求后返回的cookies中所得,默认为最新学期

    ids = 课表id 由请求后返回的response中所得,使用正则表达式 (?<=form,"ids",")\d+(?=") 匹配,返回两个字符串,第一个内容为个人课表id,第二个为班级课表id

/eams/dataQuery.action

  • 【POST方法】 获取project.id

    dataType = projectId

  • 【返回值】Int 计划id(用于区分为本科还是研究生等),一般为1

/eams/dataQuery.action

  • 【POST方法】 获取所有学期的semester.id,学年名称,学期名称

    tagId = html界面中的学期选择条id,填入由eams/courseTableForStd.action获得的tagId

    dataType = semesterCalendar

    value = 学期id,填入填入由eams/courseTableForStd.actio获得的semester.id

    empty = false

  • 【返回值】JSON,包含所有学期的semester.id,学年名称,学期名称

/eams/courseTableForStd!courseTable.action

  • 【POST方法】 获取指定课表

    ignoreHead=不明,没看出来影响,默认为1

    setting.kind=课表类型。必须与ids配套使用,std为个人课表(一般为必修+选修),class为班级课表(一般为必修)

    startWeek=课表所显示的教学周。可空,为空时无论课程是否分单双周,均显示在课表上,为数字时显示指定周课表(单周不显示双周课,双周不显示单周课)

    project.id=计划id(用于区分为本科还是研究生等)。由eams/dataQuery.action获得,默认为1

    semester.id=学期。最新学期ID由eams/courseTableForStd.action获得,所有学期ID由eams/dataQuery.action获得

    ids=课表id。必须与setting.kind配套使用,由eams/courseTableForStd.action获得

【返回值】课程表response(课表内容在最下方的javascript中)