線上教育平臺開發中,課堂測試功能是如何實現的

萬嶽教育系統發表於2020-07-10

課堂測試釋出是線上教育平臺中一項不可或缺的功能。課堂測試問卷可自定義多種題型,並且講師能在開課前預設問卷,在上課過程中隨時呼叫。那麼在線上教育平臺開發過程中,課堂測試功能是如何透過程式碼實現的?

以下就是線上教育平臺中,講師釋出課堂測試,學生作答提交的過程:

一、驗證使用者登入狀態

{
$checkToken=\App\checkToken($uid,$token);
if($checkToken==700){
$rs['code'] = $checkToken;
$rs['msg'] = \PhalApi\T('您的登陸狀態失效,請重新登陸!');
return $rs;
}


二、驗證引數

if($liveuid<1 || $courseid<1 || $lessonid<1 || $examid<1 || $answer==''){
$rs['code'] = 1001;
$rs['msg'] = \PhalApi\T('資訊錯誤');
return $rs;
}
        
$checkdata=array(
'uid'=>$uid,
'token'=>$token,
'liveuid'=>$liveuid,
'courseid'=>$courseid,
'lessonid'=>$lessonid,
'examid'=>$examid,
'answer'=>$answer
);

  

三、驗籤

$issign=\App\checkSign($checkdata,$sign);
 
if(!$issign){
$rs['code']=1001;
$rs['msg']=\PhalApi\T('簽名錯誤');
return $rs;
}


 

四、檢驗課堂測試題目的有效性

$where2=[
'uid'=>$data['liveuid'],
'courseid'=>$data['courseid'],
'lessonid'=>$data['lessonid'],
'id'=>$data['examid'],
'type'=>0,
];
        
$info= $model->getInfo($where2);
if(!$info || $info['status']!=1){
$rs['code'] = 1002;
$rs['msg'] = \PhalApi\T('當前測試題無法答題');
return $rs;
}

五、判斷使用者是否已經作答

$where3=[
'uid'=>$data['uid'],
'liveuid'=>$data['liveuid'],
'courseid'=>$data['courseid'],
'lessonid'=>$data['lessonid'],
'examid'=>$data['examid'],
];
$isexist=$model->getAnswer($where3);
if($isexist){
$rs['code'] = 1003;
$rs['msg'] = \PhalApi\T('您已經答過題了~');
return $rs;
}
        
$data['addtime']=time();


        

六、存入資料庫

$res= $model->setAnswer($data);
        
if(!$res){
$rs['code'] = 1004;
$rs['msg'] = \PhalApi\T('提交失敗,請重試');
return $rs;
}


以上就是線上教育平臺開發中,課堂測試功能是如何透過程式碼實現的。

宣告:以上內容為作者本人原創,未經作者本人同意,禁止轉載,否則將追究相關法律責任。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968464/viewspace-2703750/,如需轉載,請註明出處,否則將追究法律責任。

相關文章