河南理工大學課程庫API
河南理工大學課程表對外開放接口,本數據基於河南理工大學官網公示的課程Excel表格,作者使用腳本將其錄入到個人數據庫中,現在開放出來,以供移動開發者交流學習使用
- 收錄了河南理工大學2017-2018第二學期的全校課程庫
- 23個學院、901個班級、5647個課程、20241條課程記錄
- 蹭課功能
- 分享課程
- 掃碼導入
- 無需賬號登錄
Resource
如果喜歡這些項目,就去點個star
收藏一下吧~~
提示
- 下列接口中的請求地址不是完整的請求地址,API服務已部署在我的服務器上。
所以使用API時要加上一個基地址http://www.liuzhuangfei.com/timetable/
- 下列API的參數請求均爲POST方式
- 狀態碼只需要知道200爲成功即可,其他狀態時只需要Toast msg的內容即可
- 各個接口的測試頁面爲
http://www.liuzhuangfei.com/timetable/post.html
,如果返回結果與以下示例有出入,以測試頁面結果爲準 - 如果想將項目部署在自己的服務器上,要導入數據庫結構,數據庫是extras文件夾下的timetable.sql文件,建立一個名爲timetable的數據庫,導入該文件即可.
API
1.搜索專業
Url:
index.php?c=Timetable&a=findMajor
Params:
major:關鍵字
Return Example:(參數 major:軟件)
{
"code": 200,
"msg": "成功",
"data": [{
"id": "775",
"name": "軟件15-1"
}, {
"id": "776",
"name": "軟件15-2"
}, {
"id": "777",
"name": "軟件15-3"
}, {
"id": "778",
"name": "軟件15-4"
}, {
"id": "779",
"name": "軟件16-1"
}, {
"id": "780",
"name": "軟件16-2"
}, {
"id": "781",
"name": "軟件16-3"
}, {
"id": "782",
"name": "軟件16-4"
}]
}
2.按專業搜索課程
返回的data
有兩類,havetime
表示有時間安排的課程,此時start
,step
,day
都不爲0,當這三個值爲0時表示該課程沒有時間安排
notime
表示沒有時間安排的課程,day=1
表示的是週一上課,start=1
表示第一節開始,step=2
表示該課程維持的節數
Url:
index.php?c=Timetable&a=getByMajor
Params:
major:專業全稱
Return Example:(參數 major:軟件15-1)
{
"code": 200,
"msg": "成功",
"data": {
"havetime": [{
"id": "4952",
"term": "2017-2018學年秋",
"name": "編譯原理",
"room": "計算機綜合樓205",
"major": "軟件15-1",
"teacher": "陳峯",
"weeks": "1-12週上",
"start": "1",
"step": "2",
"day": "1"
}, {
"id": "4953",
"term": "2017-2018學年秋",
"name": "物聯網移動應用開發",
"room": "計算機綜合樓202",
"major": "軟件15-1",
"teacher": "劉永利",
"weeks": "6-12,14週上",
"start": "3",
"step": "2",
"day": "1"
}, {
"id": "4954",
"term": "2017-2018學年秋",
"name": "創業基礎與就業指導",
"room": "3號教學樓3303",
"major": "軟件15-1",
"teacher": "邵水軍",
"weeks": "1-12週上",
"start": "5",
"step": "2",
"day": "1"
}, {
"id": "4955",
"term": "2017-2018學年秋",
"name": "網絡與信息安全",
"room": "計算機綜合樓106",
"major": "軟件15-1",
"teacher": "湯永利",
"weeks": "1-6週上",
"start": "9",
"step": "2",
"day": "1"
}, {
"id": "4956",
"term": "2017-2018學年秋",
"name": "操作系統",
"room": "計算機綜合樓203",
"major": "軟件15-1",
"teacher": "張磊",
"weeks": "1-12週上",
"start": "3",
"step": "2",
"day": "2"
}, {
"id": "4957",
"term": "2017-2018學年秋",
"name": "遊戲編程",
"room": "計算機綜合樓110",
"major": "軟件15-1",
"teacher": "趙英剛",
"weeks": "1-9週上",
"start": "9",
"step": "2",
"day": "2"
}, {
"id": "4958",
"term": "2017-2018學年秋",
"name": "編譯原理",
"room": "計算機綜合樓205",
"major": "軟件15-1",
"teacher": "陳峯",
"weeks": "1-12週上",
"start": "1",
"step": "2",
"day": "3"
}, {
"id": "4959",
"term": "2017-2018學年秋",
"name": "軟件質量保證與測試",
"room": "計算機綜合樓202",
"major": "軟件15-1",
"teacher": "魯保雲",
"weeks": "1-12週上",
"start": "3",
"step": "2",
"day": "3"
}, {
"id": "4960",
"term": "2017-2018學年秋",
"name": "物流管理",
"room": "經管綜合樓1104",
"major": "軟件15-1",
"teacher": "範志強",
"weeks": "1-8週上",
"start": "5",
"step": "2",
"day": "3"
}, {
"id": "4961",
"term": "2017-2018學年秋",
"name": "網絡與信息安全",
"room": "計算機綜合樓106",
"major": "軟件15-1",
"teacher": "湯永利",
"weeks": "1-6週上",
"start": "9",
"step": "2",
"day": "3"
}, {
"id": "4962",
"term": "2017-2018學年秋",
"name": "操作系統",
"room": "計算機綜合樓202",
"major": "軟件15-1",
"teacher": "張磊",
"weeks": "1-12週上",
"start": "1",
"step": "2",
"day": "4"
}, {
"id": "4963",
"term": "2017-2018學年秋",
"name": "遊戲編程",
"room": "計算機綜合樓110",
"major": "軟件15-1",
"teacher": "趙英剛",
"weeks": "1-9週上",
"start": "3",
"step": "2",
"day": "4"
}, {
"id": "4964",
"term": "2017-2018學年秋",
"name": "物流管理",
"room": "經管綜合樓1104",
"major": "軟件15-1",
"teacher": "範志強",
"weeks": "1-8週上",
"start": "5",
"step": "2",
"day": "4"
}, {
"id": "4965",
"term": "2017-2018學年秋",
"name": "物聯網移動應用開發",
"room": "計算機綜合樓106",
"major": "軟件15-1",
"teacher": "劉永利",
"weeks": "6-12,14週上",
"start": "1",
"step": "2",
"day": "5"
}, {
"id": "4966",
"term": "2017-2018學年秋",
"name": "軟件質量保證與測試",
"room": "計算機綜合樓202",
"major": "軟件15-1",
"teacher": "魯保雲",
"weeks": "1-12週上",
"start": "3",
"step": "2",
"day": "5"
}, {
"id": "4967",
"term": "2017-2018學年秋",
"name": "形勢與政策-5",
"room": "2號教學樓2106",
"major": "軟件15-1",
"teacher": "張秀麗",
"weeks": "6週上",
"start": "5",
"step": "4",
"day": "7"
}, {
"id": "4968",
"term": "2017-2018學年秋",
"name": "程序設計模式",
"room": "計算機綜合樓202",
"major": "軟件15-1",
"teacher": "馬永強",
"weeks": "9-12,14-17週上",
"start": "9",
"step": "2",
"day": "1"
}, {
"id": "4969",
"term": "2017-2018學年秋",
"name": "程序設計模式",
"room": "計算機綜合樓202",
"major": "軟件15-1",
"teacher": "馬永強",
"weeks": "9-12,14-17週上",
"start": "9",
"step": "2",
"day": "3"
}],
"notime": [{
"id": "201",
"term": "2017-2018學年秋",
"name": "當前環境熱點問題",
"room": "",
"major": "軟件15-1",
"teacher": "王明仕",
"weeks": "全週上課",
"start": "0",
"step": "0",
"day": "0"
}]
}
}
2.按課程名搜索課程
返回的data
中,start
,step
,day
都不爲0,表示有時間安排的課程,當這三個值爲0時表示該課程沒有時間安排,major=null
表示該課是選修課
day=1
表示的是週一上課,start=1
表示第一節開始,step=2
表示該課程維持的節數
Url:
index.php?c=Timetable&a=getByName
Params:
name:關鍵字
Return Example:(參數 name:計算機在化學)
{
"code": 200,
"msg": "成功",
"data": [{
"id": "238",
"term": "2017-2018學年秋",
"name": "計算機在化學中的應用",
"room": "理化綜合樓207",
"major": null,
"teacher": "趙曉雷",
"weeks": "16週上",
"start": "3",
"step": "2",
"day": "2"
}, {
"id": "239",
"term": "2017-2018學年秋",
"name": "計算機在化學中的應用",
"room": "理化綜合樓207",
"major": null,
"teacher": "趙曉雷",
"weeks": "10-12,14-15週上",
"start": "3",
"step": "2",
"day": "2"
}, {
"id": "247",
"term": "2017-2018學年秋",
"name": "計算機在化學中的應用",
"room": "理化綜合樓207",
"major": null,
"teacher": "趙曉雷",
"weeks": "10-12,14-15週上",
"start": "1",
"step": "2",
"day": "4"
}]
}
3.存儲
本接口可以用於課表掃碼導入的功能,當分享課程時,可以將數據存儲到數據庫,將返回的id生成二維碼,當導入時只需要根據該id提取數據即可
Url:
index.php?c=Timetable&a=putValue
Params:
value:內容
Return Example:(參數 value:本接口可以用於課表掃碼導入的功能,當分享課程時,可以將數據存儲到數據庫,將返回的id生成二維碼,當導入時只需要根據該id提取數據即可")
{
"code": 200,
"msg": "成功",
"data": {
"id": "11314891510b664ac8e20938c9c715ba",
"value": "本接口可以用於課表掃碼導入的功能,當分享課程時,可以將數據存儲到數據庫,將返回的id生成二維碼,當導入時只需要根據該id提取數據即可"
}
}
4.提取
Url:
index.php?c=Timetable&a=getValue
Params:
id:標識
Return Example:(參數 id:11314891510b664ac8e20938c9c715ba)
{
"code": 200,
"msg": "成功",
"data": {
"id": "11314891510b664ac8e20938c9c715ba",
"value": "本接口可以用於課表掃碼導入的功能,當分享課程時,可以將數據存儲到數據庫,將返回的id生成二維碼,當導入時只需要根據該id提取數據即可"
}
}