在线考试是当前软件开发商研究的一个热门。 通过在线考试系统源码搭建的考试系统,皆可实现题目生成,试卷提交,成绩批阅等,让学员在线上即可完成考试+刷题+练习,既摆脱了时间、空间的限制,减轻教师工作负担,同时也提高了其作业批改效率和教学质量。
抛开新冠疫情动不动停课不谈,线下考试大多经过教师出题、人工分发试题、学生考试、人工阅卷、成绩及错题分析等几个步骤。其中考试类型越来越复杂,对于考试的要求也越来越高,教师的工作量逐渐增大。而且容错率非常高,稍不注意出错了题目,之前印发的十几份甚至几十份试卷全部浪费,如此也浪费了纸张。总之,线下考试存在着大大小小的限制,已经不再满足现代考试的需求。
因此,利用在线考试系统源码搭建的学习系统出现,在远程教育的行业背景下顺势发展,把教师从繁重的工作中解脱出来。实际上,远程教育在我国现已发展成熟,其包含很多环节,比如教学系统、在线考试系统、知识付费平台等,再结合成熟的开发技术手段,彻底杜绝线下考试,作弊、打小抄等不良手段,让考试变得更加公正、公平。现如今,很多著名的计算机公司所认证的认证考试,大多都是借用这种在线考试学习系统来实现的。
这种在线学习系统,支持模拟考试、期中考试、期末考试等多个类型,题型包括选择、判断、填空等,考试题目支持从题库导入。如此一来,教师只需要精心设计题目,把带有题目的excel表或word文档上传到题库中,维护题库,节省了试卷下发、维持考试秩序、人工阅卷等流程,大大减轻了教师的工作负担。
<?php
namespace app\student\controller;
use cmf\controller\StudentBaseController;
use think\Db;
/**
* 我的
* Class MineController
* @package app\student\controller
*/
class MineController extends StudentBaseController
{
/**
* 我购买的
* @return mixed
*/
public function mybuy()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student');
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
//已购买的课程
$url = $this->siteUrl . '/api/?s=Course.GetMyBuy&uid=' . $uid . '&token=' . $token . '&p=1';
$list = curl_get($url);
$isMore = 0;
if (count($list['data']['info']) >= 20) {
$isMore = 1;
}
$this->assign([
'baseinfo' => $baseinfo['data']['info'][0],
'isMore' => $isMore,
'lists' => $list['data']['info'],
'mynavid' => 13,
'navid' => -1
]);
return $this->fetch();
}
/**
* 我的课程里面我的课程
* @return mixed
*/
public function index()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$baseinfoDataInfo = $baseinfo['data']['info'][0] ?? [];
$this->assign('baseinfo', $baseinfoDataInfo);
//我的全部课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=0';
$bothlist = curl_get($url);
$isMore0 = 0;
$bothlistDataInfo = $bothlist['data']['info'] ?? [];
if (count($bothlistDataInfo) >= 20) {
$isMore0 = 1;
}
$this->assign('isMore0', $isMore0);
$this->assign('bothlist', $bothlistDataInfo);
//我的未开始课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=1';
$nostartlist = curl_get($url);
$isMore1 = 0;
$nostartlistDataInfo = $nostartlist['data']['info'] ?? [];
if (count($nostartlistDataInfo) >= 20) {
$isMore1 = 1;
}
$this->assign('isMore1', $isMore1);
$this->assign('nostartlist', $nostartlistDataInfo);
//我的学习中课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=2';
$handlist = curl_get($url);
$isMore2 = 0;
$handlistDataInfo = $handlist['data']['info'] ?? [];
if (count($handlistDataInfo) >= 20) {
$isMore2 = 1;
}
$this->assign('isMore2', $isMore2);
$this->assign('handlist', $handlistDataInfo);
//已学完的课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=3';
$overlist = curl_get($url);
$isMore3 = 0;
$overlistDataInfo = $overlist['data']['info'] ?? [];
if (count($overlistDataInfo) >= 20) {
$isMore3 = 1;
}
$this->assign('isMore3', $isMore3);
$this->assign('overlist', $overlistDataInfo);
$this->assign('mynavid', 1);
$this->assign('navid', -1);
return $this->fetch();
}
/**
* 我的直播课程
* @return mixed
*/
public function livelist()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$baseinfoDataInfo = $baseinfo['data']['info'][0] ?? [];
//购买的直播
$url = $this->siteUrl . '/api/?s=Course.GetMyBuy&uid=' . $uid . '&token=' . $token . '&p=1&sort=2';
$bothlist = curl_get($url);
$isMore0 = 0;
$bothlistDataInfo = $bothlist['data']['info'] ?? [];
if (count($bothlistDataInfo) >= 20) {
$isMore0 = 1;
}
$this->assign([
'baseinfo' => $baseinfoDataInfo,
'isMore0' => $isMore0,
'bothlist' => $bothlistDataInfo,
'mynavid' => 2,
'navid' => -1
]);
return $this->fetch();
}
/**
* 我的内容课程
* @return mixed
*/
public function contlist()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$baseinfoDataInfo = $baseinfo['data']['info'][0] ?? [];
//内容
$url = $this->siteUrl . '/api/?s=Course.GetMyBuy&uid=' . $uid . '&token=' . $token . '&p=1&sort=-1';
$bothlist = curl_get($url);
$bothlistDataInfo = $bothlist['data']['info'] ?? [];
$isMore0 = 0;
if (count($bothlistDataInfo) >= 20) {
$isMore0 = 1;
}
$this->assign([
'baseinfo' => $baseinfoDataInfo,
'isMore0' => $isMore0,
'bothlist' => $bothlistDataInfo,
'mynavid' => 3,
'navid' => -1
]);
return $this->fetch();
}
/**
* 语音
*/
public function addAudio()
{
$file = $_FILES['file'];
/* var_dump($file); */
if (!$file) {
$this->error('请先录制语音');
}
$_FILES['file']['name'] = $_FILES['file']['name'] . '.mp3';
$res = upload($file, 'audio');
if ($res['code'] != 0) {
$this->error($res['msg']);
}
$url = get_upload_path($res['url']);
$this->success("发送成功!", '', $url);
}
/**
* 账号设置
* @return mixed
*/
public function mybase()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$this->assign('baseinfo', $baseinfo['data']['info'][0]);
$this->assign('mynavid', 5);
$this->assign('navid', -1);
return $this->fetch();
}
/**
* 上传头像
*/
public function uploadImg()
{
$data = $this->request->param();
$uid = session('student.id');
if (!$uid) {
$uid = $_SESSION['student']['id'] ?? 0;
}
if ($uid < 1) {
$this->error('您的登陆状态失效,请重新登陆!');
}
$file = $_FILES['file'];
if (!$file) {
$this->error('请选择图片');
}
$res = upload();
if ($res['code'] != 0) {
$this->error($res['msg']);
}
$data = [
'avatar' => $res['url'],
'url' => get_upload_path($res['url'])
];
$_SESSION['student']['avatar'] = get_upload_path($res['url']);
$_SESSION['student']['avatar_thumb'] = get_upload_path($res['url']);
$this->success('操作成功', '', $data);
}
/**
* 我的课件
* @return mixed
*/
public function message()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$this->assign('baseinfo', $baseinfo['data']['info'][0]);
//系统消息
$url = $this->siteUrl . '/api/?s=Message.GetList&uid=' . $uid . '&token=' . $token . '&type=0';
$syslist = curl_get($url);
$this->assign('syslist', $syslist['data']['info']);
//课程消息
$url = $this->siteUrl . '/api/?s=Message.GetList&uid=' . $uid . '&token=' . $token . '&type=1';
$classlist = curl_get($url);
$this->assign('classlist', $classlist['data']['info']);
//讲师消息
$url = $this->siteUrl . '/api/?s=Message.GetList&uid=' . $uid . '&token=' . $token . '&type=2';
$teacherlist = curl_get($url);
$this->assign('teacherlist', $teacherlist['data']['info']);
$this->assign('mynavid', 6);
$this->assign('navid', -1);
return $this->fetch();
}
/**
* 关注的讲师
* @return mixed
*/
public function follows()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$this->assign('baseinfo', $baseinfo['data']['info'][0]);
//关注的讲师
$url = $this->siteUrl . '/api/?s=User.GetFollow&uid=' . $uid . '&token=' . $token . '&p=1';
$followslist = curl_get($url);
$this->assign('followslist', $followslist['data']['info']);
$isMore = 0;
if (count($followslist['data']['info']) >= 50) {
$isMore = 1;
}
$this->assign('isMore', $isMore);
$this->assign('mynavid', -1);
$this->assign('navid', -1);
return $this->fetch();
}
}
当然,这给软件开发商提出了更高的技术要求,不仅要求在线考试系统源码质量要有所保障,还要求学习系统具有超强承载能力及稳定性,面对不同地区的学员进入同一个线上“考场”考试的时候,也不会出现卡顿、闪退等问题,耽误考试进度。如今市面上,开发搭建的考试系统功能多样,通过线上即可完成考试+刷题+练习等多个功能,满足学员线上考试需求,给教师、学生、教培机构、教育行业都带来极大的好处。你觉得在线考试系统会发展得长远吗?欢迎在评论下方留言交流!
今天的文章在线考试系统源码,线上即可完成考试+刷题+练习等功能的学习系统分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/24561.html