河南理工大學課程庫API

河南理工大學課程庫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提取數據即可"
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章