在线教育平台开发中,课堂测试功能是如何实现的

课堂测试发布是在线教育平台中一项不可或缺的功能。课堂测试问卷可自定义多种题型,并且讲师能在开课前预设问卷,在上课过程中随时调用。那么在在线教育平台开发过程中,课堂测试功能是如何通过代码实现的?
以下就是在线教育平台中,讲师发布课堂测试,学生作答提交的过程:
一、验证用户登录状态

{
$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();

六、存入数据库


```clike
$res= $model->setAnswer($data);

if(!$res){
    $rs['code'] = 1004;
    $rs['msg'] = \PhalApi\T('提交失败,请重试');
    return $rs;
}

以上就是在线教育平台开发中,课堂测试功能是如何通过代码实现的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值