在线考试系统源码,线上即可完成考试+刷题+练习等功能的学习系统

在线考试系统源码,线上即可完成考试+刷题+练习等功能的学习系统在线考试是当前软件开发商研究的一个热门。通过在线考试系统源码搭建的考试系统,皆可实现题目生成,试卷提交,成绩批阅等,让学员在线上即可完成考试+刷题+练习,既摆脱了时间、空间的限制,减轻教师工作负担,同时也提高了其作业批改效率和教学质量。抛开新冠疫情动不动停课不谈,线下考试大多经过教师出题、人工分发试题、学生考试、人工阅卷、成绩及错题分析等几个步骤。其中考试类型越来越复杂,对于考试的要求也越来越高,教师的工作量逐渐增大。而且容错率非常高,稍不注意出错了题目,之前印发的十几份甚至几十份试卷全部浪费,如此也浪费

在线考试是当前软件开发商研究的一个热门。 通过在线考试系统源码搭建的考试系统,皆可实现题目生成,试卷提交,成绩批阅等,让学员在线上即可完成考试+刷题+练习,既摆脱了时间、空间的限制,减轻教师工作负担,同时也提高了其作业批改效率和教学质量。

3a264c163581aa67cb1ec7b6d66becee.jpeg

抛开新冠疫情动不动停课不谈,线下考试大多经过教师出题、人工分发试题、学生考试、人工阅卷、成绩及错题分析等几个步骤。其中考试类型越来越复杂,对于考试的要求也越来越高,教师的工作量逐渐增大。而且容错率非常高,稍不注意出错了题目,之前印发的十几份甚至几十份试卷全部浪费,如此也浪费了纸张。总之,线下考试存在着大大小小的限制,已经不再满足现代考试的需求。

因此,利用在线考试系统源码搭建的学习系统出现,在远程教育的行业背景下顺势发展,把教师从繁重的工作中解脱出来。实际上,远程教育在我国现已发展成熟,其包含很多环节,比如教学系统、在线考试系统、知识付费平台等,再结合成熟的开发技术手段,彻底杜绝线下考试,作弊、打小抄等不良手段,让考试变得更加公正、公平。现如今,很多著名的计算机公司所认证的认证考试,大多都是借用这种在线考试学习系统来实现的。

这种在线学习系统,支持模拟考试、期中考试、期末考试等多个类型,题型包括选择、判断、填空等,考试题目支持从题库导入。如此一来,教师只需要精心设计题目,把带有题目的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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注