學生錯題庫API
Jeff editou esta página 4 meses atrás

目錄

  1. 站點
  2. 取得錯題
  3. 錯題練習結果反饋
  4. 錯題生成
  5. 錯題數計算(IES5)
  6. 收藏錯題
  7. 計算各科目錯題數
  8. 錯題刪除

1.站點

  1. 國際站:
    1.1. 正式站:https://malearn.teammodel.net (DB:teammodelos)
    1.2. RC站:https://malearn-rc.teammodel.net (DB:cdhabookdep-free)
  2. 大陸站:
    2.1 正式站:https://malearn.teammodel.cn (DB:teammodelos)
    2.2 RC站:https://malearn-rc.teammodel.cn (DB:cdhabookdep-free)

站點連結DB:

站點 DB
國際正式站 teammodel
國際RC站 teammodel-test
大陸正式站 teammodelos
大陸RC站 cdhabookdep-free

2.取得錯題

{POST} [Domain]/api/qsquery
[Header] x-functions-key:{AccessToken}

参数名称 参数类型 是否必填 参数描述
sid string 學生:{學校ID}-{學生ID} [例] hbcn-202101001
TMID:{TMID}
是否為學校學生以選擇的課程性質(scope)決定;學校課程則加入{學校ID}。
unit_id string 科目ID 或 課程ID
(學校課程:科目ID 個人課程:科目ID)
t int 題目時間 只取得比此時間小的錯題 默認值為現在時間
mode string 計算模式
"1":預設為查詢需要複習的題目
"2":查詢題目狀態
"3":只取得最近的上次練習時間
number int 最大回傳數量 如無值則全取所有符合時間的題目

mode="1" 返回:

[
  {
    "qId": "d2f4bb93-e4e1-a5fc-48d5-9c4bf518bc50", //題目ID 與ErrorItems.its.id 同值
    "activityId": "0c6a3688-32da-4b96-98b7-9fe1f720762c", //評測ID 與ErrorItems.activityId 同值 ※無者為null
    "Q_s": -1, //之後繪製分析圖用數據,現在可忽視
    "unitId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e", //科目ID 或 課程ID 
    "nxtRev": 1678173526851 //錯題應練習時間 微秒數(十三位數)
  }
]

mode="2" 返回:

[
  {
    "qId": "c6ac97e7-6d34-6991-b1db-c49b51c8819d",
    "activityId": "0c6a3688-32da-4b96-98b7-9fe1f720762c",
    "Q_s": -1,
    "Q_lv": 2,  //之後繪製分析圖用數據,現在可忽視
    "unitId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",
    "startTime": 1679470796772.0, //上次練習時間 微秒數(十三位數)
    "nxtRev": 1678856252305
  }
]

mode="3" 返回:

[
  {
    "last_rev_time": 1682414060916, //上次練習時間
    "nxt_rev_time": 1678856252305, //建議下次複習時間
    "total_qs": 125, //總題數
    "well_done_qs": 20, //已熟練數
    "mid_qs": 15, //中熟練數
    "mid_rare_qs": 27, //低熟練數
    "rare_qs": 63 //不熟練數
  }
]

失敗返回:

{
    "err": "execution error"
}

※資料庫如新建或更新ErrorItems資料,則會自動產生以ErrorItems.its.id為ID的學生錯題資料 以下為部分資料架構:

{
    "pk": "MaLearn",
    "code": "MaLearn-hbcn-202101001",
    "id": "d2f4bb93-e4e1-a5fc-48d5-9c4bf518bc50",
    "type": "answer",
    "schoolId": "hbcn",
    "unitId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e",
    "qId": "d2f4bb93-e4e1-a5fc-48d5-9c4bf518bc50",
    "starttime": 1675390351736,
    ...[略]...
}

3.錯題練習結果反饋

{POST} [Domain]/api/mulrecup
[Header] x-functions-key:{AccessToken}

参数名称 参数类型 是否必填 参数描述
sid string 學生:{學校ID}-{學生ID} [例] hbcn-202101001
TMID:{TMID}
是否為學校學生以選擇的課程性質(scope)決定;學校課程則加入{學校ID}。
scoid string 學校ID
unit_id string 科目ID 或 課程ID
(學校課程:科目ID 個人課程:科目ID)
rs string 錯題練習結果 JSON字串

rs格式:

[
    {
        "qId":"e1ff0d15-7cff-497f-8efa-0032245dfaf6",  //題目ID
        "unitId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e", //科目ID 或 課程ID 
        "skillId": ["知識點A", "知識點B"],  //知識點
        "level": 5,  //難度
        "correctness":1, //是否正確 1:正確 0:錯誤 
        "startTime":1665651534, //起始時間 微秒數(十三位數)
        "endTime":1665651561, //結束時間 微秒數(十三位數)
        "confidenceLevel":4 //信心度 1~4 1:非常沒信心 4:非常有信心
    }
]

實際輸入例:

{
    "sid":"hbcn-202201047", 
    "scoid":"hbcn", 
    "unit_id":"856ae58d-6bac-4bb7-825c-9314bf6e0abf", 
    "rs":"[{\"qId\":\"c7656517-fdc1-4210-82dd-0b16dfbac367\",\"unitId\":\"subject_music\",\"skillId\": [\"知识点A\",\"知识点B\"],\"level\":5,\"correctness\":0,\"startTime\":1678636800111,\"endTime\":1678723200111,\"confidenceLevel\":3}]"
}

成功返回:

{
    "sid": "hbcn-202201047",
    "scoid": "hbcn",
    "unit_id": "856ae58d-6bac-4bb7-825c-9314bf6e0abf"
}

失敗返回:

{
    "err": "execution error"
}

4.錯題生成

{POST} [Domain]/api/crtmabank
[Header] x-functions-key:{AccessToken}

輸入:

[
    { //錯題架構
        "its": [ //錯題目列表
            {
                "id": "5cf26cb2-9b20-478d-a777-23ab3ac67eae",  //錯題ID
                "blob": "/exam/f76a1535-f5df-465f-99ee-1b54d43240db/paper/a222367d-44a9-4cd2-edd2-e60c64889649", //錯題blob
                "level": 3, //難度
                "knowledge": [ //知識點
                    "后印象派"
                ]
            },
        ],
        "stuId": "202201026", //學生ID
        "school": "hbcn", //學校ID
        "activityId": "7aa8fba9-7132-47fa-86b0-b47a4663870d", //評測ID
        "subjectId": "8b94c6b6-2572-41e5-89b9-a82fcf13891e" //科目ID 或 課程ID
    },
    {
        "its": [ ... ],
        "stuId": 
        ...
    }
]

成功返回:

{
    "state": 200
}

失敗返回:

{
    "state": 1
}

5.錯題數計算(IES5)

{POST} [IES5 Domain]/common/exam/get-error-item-cnt

※註:每日凌晨會統計學校在學學生及TMID各科目當時的錯題數後記入Redis

参数名称 参数类型 是否必填 参数描述
stuId string 學生ID
subjectId string 科目ID 或 課程ID
(學校課程:科目ID 個人課程:科目ID)
code string 學校ID

成功返回:

{
    "record": 939, //目前該學生該科目紀錄的錯題數
    "avaliable": 1035  //現在可取得的該學生該科目的錯題數
}

6.收藏錯題

{POST} [Domain]/api/keep
[Header] x-functions-key:{AccessToken}

参数名称 参数类型 是否必填 参数描述
sid string 學生:{學校ID}-{學生ID} [例] hbcn-202101001
TMID:{TMID}
是否為學校學生以選擇的課程性質(scope)決定;學校課程則加入{學校ID}。
rs string 錯題收藏JSON字串,keep = 1:收藏;keep = 0:不收藏

rs格式:

[
    {
        "unit_id":"1",                                     //要收藏題目的id
        "itemid":"80a8e5b5-3549-4d10-8ec8-db45d9919e05",   //科目ID 或 課程ID (學校課程:科目ID 個人課程:科目ID)
        "keep": 0                                          //int, 收藏題目或不收藏題目
    }
]

實際輸入例:

{
    "sid":"1595321354", 
    "rs":"[{\"itemid\":\"c1c4a024-ba74-41bd-a6f3-023549152bf1\",\"unit_id\": \"2\",\"keep\":1},{\"itemid\":\"6fa33fcc-7938-ec6d-0578-9d38098897ef\",\"unit_id\": \"1\",\"keep\":0},{\"itemid\":\"8e86b4f3-8b53-ccf5-0fe9-359f47007543\",\"unit_id\": \"1\",\"keep\":0}]"
}

成功返回:

[
  {
    "sid": "1595321354",
    "unit_id": "2",
    "itemid": "063893a3-50e3-4dd5-9aa8-22027fa0feff",
    "keep": 1
  },
  {
    "sid": "1595321354",
    "unit_id": "1",
    "itemid": "9b71b07d-9c06-482f-96c5-af05a3c6ccf2",
    "keep": 0
  }
]

失敗返回:

{
    "err": "execution error"
}

7.計算各科目錯題數

{POST} [IES5 Domain]/student/get-malearn-itsnum-subj
無輸入項目,系統將由Login資訊取得學生ID及學校ID

成功返回:

[
 {
        "subjectId": "55624c51-a15a-9e80-2fe4-73d066b6fd1c", //科目ID
        "itsNum": 25 //可練習的錯題數 ※無法排除評量被刪除而無法取得的錯題數
  }
]

8.錯題刪除

{POST} [IES5 Domain]/common/exam/delete-wrong-item

参数名称 参数类型 是否必填 参数描述
sid string 學生:{學校ID}-{學生ID} [例] hbcn-202101001
TMID:{TMID}
是否為學校學生以選擇的課程性質(scope)決定;學校課程則加入{學校ID}。
data string 錯題JSON字串

實際輸入例:

{
    "sid":"hbcn-202101001",
    "data":
    [
        {
            "activityId": "c1c661c6-2337-48ae-bde6-9393f1c32dc7",
            "qId": "000a8df6-403c-4ef7-a3a4-2f3bf1034985",
            "unitId": "f2e769f0-970e-d19b-35d5-516c2dd9ca28"
        },
        {
            "activityId": "c1c661c6-2337-48ae-bde6-9393f1c32dc7",
            "qId": "e6fcd63d-ea82-41cf-932f-aa49840561a4",
            "unitId": "f2e769f0-970e-d19b-35d5-516c2dd9ca28"
        }
   ]
}

成功返回:

{
    "del": 1, //刪除成功Flag 1:成功 0:失敗
    "errors": [ //已刪除的錯題資料
        {
            "activityId": "c1c661c6-2337-48ae-bde6-9393f1c32dc7",
            "qId": "000a8df6-403c-4ef7-a3a4-2f3bf1034985",
            "unitId": "f2e769f0-970e-d19b-35d5-516c2dd9ca28"
        },
        {
            "activityId": "c1c661c6-2337-48ae-bde6-9393f1c32dc7",
            "qId": "e6fcd63d-ea82-41cf-932f-aa49840561a4",
            "unitId": "f2e769f0-970e-d19b-35d5-516c2dd9ca28"
        }
    ]
}