知岁OS提供标准化的RESTful API接口,第三方服务商通过AES-256-GCM加密方式获取用户授权的院校应用数据
| 协议 | HTTPS |
| 格式 | JSON / UTF-8 |
| 认证 | Token机制 |
| 加密 | AES-256-GCM |
第三方服务商对接的核心接口。用户在知岁OS小程序获取数据Token后,服务商通过加密请求获取授权的应用数据。
{
"code": 1,
"msg": "ok",
"data": "加密数据(需使用对应密钥解密)"
}
简单4步即可完成数据对接
在知岁OS后台注册,获取 uuid 和 secretkey
用户通过知岁OS小程序完成院校登录,调用数据接口获取 token
使用 secretkey 对 UUID+Token 进行 AES-256-GCM 加密
调用 useToken 接口,解密响应数据得到用户授权的院校信息
用户(小程序) 第三方服务商 知岁OS平台
│ │ │
│ 1.院校登录+选择数据 │ │
│─────────────────────────────────────────────────────▶│
│ │ │
│ 2.获取数据Token │ │
│◀────────────────────────────────────────────────────│
│ │ │
│ 3.提供Token给服务商 │ │
│─────────────────────────▶│ │
│ │ │
│ │ 4.AES加密(UUID+Token) │
│ │─────────────────────────▶│
│ │ │
│ │ 5.加密的院校数据 │
│ │◀─────────────────────────│
│ │ │
│ │ 6.AES解密获得原始数据 │
AES-256-GCM 端到端加密,确保数据传输安全
data 参数
data
所有校区接口返回的数据严格遵循以下格式规范
获取用户的基本校园身份信息
| 字段 | 类型 | 说明 |
|---|---|---|
| username | string | 姓名 |
| gender | string | 性别 |
| department | string | 院系 |
| major | string | 专业 |
| enrollment_year | string | 入学年份 |
| student_id | string | 学号 |
{
"username": "张三",
"gender": "男",
"department": "计算机学院",
"major": "软件工程",
"enrollment_year": "2023",
"student_id": "2023010101"
}
获取当前学期的课程表信息
| 字段 | 类型 | 说明 |
|---|---|---|
| name | string | 课程名称 |
| start | int | 开始节次 |
| end | int | 结束节次 |
| floor | string | 教室位置 |
| weeks | int[] | 上课周次数组 |
| week | int | 星期几(1-7) |
| teacher | string | 教师姓名 |
[
{
"name": "高等数学",
"start": 1,
"end": 2,
"floor": "教学楼A-101",
"weeks": [1, 2, 3, 4, 5, 6, 7, 8],
"week": 1,
"teacher": "李教授"
},
{
"name": "大学英语",
"start": 3,
"end": 4,
"floor": "外语楼-203",
"weeks": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
"week": 3,
"teacher": "王老师"
}
]
获取各学年学期的成绩信息
| 字段 | 类型 | 说明 |
|---|---|---|
| 外层:学年 → 学期 | ||
| course | string | 课程名 |
| credit | string | 学分 |
| gpa | string | 绩点 |
| achievement | string | 成绩 |
{
"2023": {
"1": [
{
"course": "高等数学",
"credit": "4.0",
"gpa": "3.5",
"achievement": "85"
}
],
"2": []
}
}
获取学业进度详情
| 字段 | 类型 | 说明 |
|---|---|---|
| gpa | string | 总绩点 |
| all | int | 总课程数 |
| pass | int | 已通过 |
| fail | int | 未通过 |
| unfinished | int | 未修 |
| studying | int | 在修 |
| time | string | 更新时间 |
| courses | object | 课程列表(含4类) |
{
"gpa": "3.52",
"all": 50,
"pass": 45,
"fail": 2,
"unfinished": 3,
"studying": 5,
"time": "2026-05-20 10:30:00",
"courses": {
"compulsory": [
{
"academicYear": "2023-2024",
"semester": "1",
"name": "高等数学",
"status": "已通过"
}
],
"elective": [],
"restricted": [],
"other": []
}
}
获取指定日期和教学楼的空闲教室信息
| 字段 | 类型 | 说明 |
|---|---|---|
| 外层:教学楼名称 → 教室列表 | ||
| name | string | 教室名称 |
| status | array | 各节课占用状态(0=空闲,1=占用) |
{
"教学楼A": [
{
"name": "A-101",
"status": [0, 0, 1, 1, 0, 0, 0, 0]
},
{
"name": "A-102",
"status": [0, 1, 1, 0, 0, 0, 1, 0]
}
],
"教学楼B": [
{
"name": "B-201",
"status": [0, 0, 0, 0, 1, 1, 0, 0]
}
]
}
获取当前学期的考试安排信息
| 字段 | 类型 | 说明 |
|---|---|---|
| name | string | 考试科目 |
| date | string | 考试日期 |
| time | string | 考试时间 |
| location | string | 考试地点 |
| seat | string | 座位号 |
| type | string | 考试类型(如闭卷/开卷) |
[
{
"name": "高等数学",
"date": "2026-06-20",
"time": "09:00-11:00",
"location": "教学楼A-301",
"seat": "15",
"type": "闭卷"
},
{
"name": "大学英语",
"date": "2026-06-22",
"time": "14:00-16:00",
"location": "外语楼-105",
"seat": "22",
"type": "闭卷"
}
]