一卡通系统对接

请求地址 /openapi/interface/icard/sync

请求方法 POST

数据类型 application/json

接口鉴权 在请求headers中加入appid和secret_key

"headers":{
    "appid":"XXXXXXXXXX",
    "secret_key":"XXXXXXXXXXXXXXXX"
}

请求参数

{"cards":[
    {
        "name":"张三",
        "sex":1,
        "card_num":"2534211111",
        "department":"",
        "position":"",
        "school_identify":"143254521",
        "start_time":"",
        "end_time":""
    }
]}

参数说明

字段名 字段类型 字段含义 是否必填 取值说明
cards Array IC卡信息集合
cards[n].name String 姓名 最长100个字符
cards[n].sex Int 性别 0 女 1男
cards[n].card_num String IC卡号 通常为十位数数字
cards[n].department String 部门
cards[n].position String 职务
cards[n].school_identify String 工号
cards[n].start_time Date 有效期开始时间 为空则立即生效,日期格式如YYYY-MM-DD hh:mm:ss
cards[n].end_time Date 有效期结束时间 为空则永久生效,日期格式如YYYY-MM-DD hh:mm:ss

教务系统对接

1.同步课室表

请求地址 /openapi/interface/room/sync

请求方法 POST

数据类型 application/json

接口鉴权 在请求headers中加入appid和secret_key

"headers":{
    "appid":"XXXXXXXXXX",
    "secret_key":"XXXXXXXXXXXXXXXX"
}

请求参数

{
  "rooms":[
    {
        "room_tag":"一教101",
        "room_desc": "智慧教室",
        "room_id":1
    }
  ]
}

参数说明

字段名 字段类型 字段含义 是否必填 取值说明
rooms Array 课室信息集合
rooms[n].room_tag String 教务系统课室名称
rooms[n].room_desc String 课室说明
rooms[n].room_id String 教务系统课室编号

课室数据同步完成后,管理员需要在后台数据配置->数据对接->教务系统对接页面中维护教务系统课室与本系统课室的对应关系

2.加载当前的学期信息

请求地址 /openapi/interface/term/last/load

请求方法 POST

数据类型 application/json

接口鉴权 在请求headers中加入appid和secret_key

"headers":{
    "appid":"XXXXXXXXXX",
    "secret_key":"XXXXXXXXXXXXXXXX"
}

请求参数

请求成功返回

{
  "id": 1,
  "year": 2023,
  "term": 0,
  "start_time": "2023-08-28",
  "end_time": "2024-01-18"
}

参数说明

字段名 字段类型 字段含义 取值说明
id Integer 学期id
year Integer 学年 2023-2024取值为2023
term Integer 学期 0 上学期 1 下学期
start_date String 学期开始日
end_date String 学期结束日
3.同步课表

请求地址 /openapi/interface/timetable/sync

请求方法 POST

数据类型 application/json

接口鉴权 在请求headers中加入appid和secret_key

"headers":{
    "appid":"XXXXXXXXXX",
    "secret_key":"XXXXXXXXXXXXXXXX"
}

请求参数

{
  "term_id":1,
  "timetable":[
      {
         "course_id": "课程编号",
         "course_name":"计算机组成与原理",
         "class_name": ["1班","2班"],
         "week":1,
         "duration":[1,16],
         "weekTag":0,
         "sections":[1,2],
         "teacher":{
             "name":"王老师",
             "card_num":"1546736262"
          }
      }
    ]
}

参数说明

字段名 字段类型 字段含义 是否必填 取值说明
term_id Integer 学期id 通过/openapi/interface/term/last/load接口获取
timetable Array 课表信息集合
timetable[n] Array 课程信息数组
timetable[n].room_id String 教务系统课室编号 需保证唯一
timetable[n].course_name String 课程名称
timetable[n].class_name String 上课班级 多个班级,","分开
timetable[n].week Integer 上课星期 1-7
timetable[n].weekTag Integer 单双周标识 0 不分单双周 1单周上课 2双周上课
timetable[n].duration Array 上课周次 [起周,止周]
timetable[n].sections Array 上课节次 [开始节次,..,结束节次] 期间节次将设置为连堂
timetable[n].teacher Object 老师信息
timetable[n].teacher.name String 教师的姓名
timetable[n].teacher.card_num String 教师的IC卡号 十位数字,不够前面补0
timetable[n].teacher.work_code String 教师的工号

第三方登录对接

1.登录认证

请求地址 /oauth2/authorize

请求方法 GET

参数说明

字段名 字段类型 字段含义 是否必填 取值说明
response_type String 请求类型 固定为code
app_id String 应用id 后台分配
redirect_uri String 回调地址
scope String 请求权限范围 固定为base

请求后,页面会跳转至登录页面。登录成功后,系统会跳转至redirect_uri地址,该地址后会拼接code参数。第三方应用需要拿到该code去获取用户信息。

2.获取登录用户信息

请求地址 /oauth2/resources

请求方法 POST

数据类型 application/json

参数说明

字段名 字段类型 字段含义 是否必填 取值说明
grant_type String 请求类型 固定为user_info
code String 登录认证获取的code
app_id String 应用id 后台分配
app_secret String 应用密钥 后台分配

返回示例

{
    "code":0,
    "data":{
        "account":"123",
        "name":"张三",
        "sex":1
    }
}

返回字段

字段名 字段类型 字段含义 取值说明
account String 用户账号
name String 用户姓名
sex String 性别 0女 1男

获取用户信息后,第三方应用需要在自身系统中创建同名同账号的用户,以达到免登录目的。

results matching ""

    No results matching ""