码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 基于Java+SpringBoot+Vue3+Uniapp前后端分离考试学习一体机设计与实现2.0版本(视频讲解,已发布上线)


    博主介绍:✌全网粉丝4W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

    博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

    🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用ChatGPT,微信支付,扫码加群

    点击这里预览

    🍅开源项目免费哦(有vue2与vue3版本):点击这里克隆或者下载  🍅

    🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

    Java项目案例《100套》

    https://blog.csdn.net/qq_57756904/category_12173599.html
    uniapp小程序《100套》

    https://blog.csdn.net/qq_57756904/category_12199600.html

    目录

    一、前言

    二、系统设计

    1、系统运行环境

    2、系统架构(参考笔者前期作品)

    三、需求分析简介(小部分)

    1、考试学员

    四、数据库设计 

    1、用户信息属性

    2、考试信息属性 

    3、试题信息属性 

     五、功能截图  

    uniapp:

    1、首页

    2、扫一扫(使用首页扫一扫功能,扫描系统生成的二维码加入群聊)

    3、群聊

    4、智能CAI

    5、分享好友

    6、全部收藏

    7、全部错题

    8、题库

    9、详情

    10、顺序练习

    11、随机练习

    12、模拟考试

    13、题卡

    14、统计答题结果

    15、微信支付

    16、我的

    17、意见反馈

    18、关于我

    后台PC端: 

    1、登录

    2、题库中心

    2.1、我的题库

    2.2、试题管理 

    2.3、添加试题 

    3、考试中心

    3.1、考试发布

    3.2、创建考试  

    3.3、试题设置 

    4、学习资料 

    5、租户列表 

    6、app配置 

    7、个人中心  

    六、实现代码    

    1、用户控制器

    2、用户服务接口

    3、服务实现类

    七、uniapp教程(需求分析、各模块及其节点文档、各模块案例)另外一个项目

    八、获取源码


    一、前言

        【诚海网络技术】uniapp微信小程序的亮点有:高性能、服务稳定、信息安全,提供的服务有面试题练习、软件考试真题练习与模拟考试、微信支付,可以在【C聊】聊天、探讨技术问题等,【智能CAI】具备在您的学习、工作、生活、情感等方面提供帮助的能力,助您一臂之力、减轻负担、更加轻松,可以成为您的导师。如果您需要写报告、写长篇稿件、工作心得、策划活动、学习提纲、组织语言等等,几百字、几千字、几万字、几十万字等,有【智能CAI】在手通通轻轻松松搞定。如果想体验,可以扫描上面的小程序码、或者微信搜索【诚海网络技术】进入小程序即可。
       

        考试管理系统是一个信息处理的库系统,通过调用编程语言的库函数来进行编写考试管理系统,能够提高编程效率,降低开发成本。计算机的快速发展已经为考试管理系统在社会发展奠定了基础。落后的手工服务也不能够满足广大用户的需求,随着计算机的快速发展,学校开始突破传统的模式,和计算机技术相结合。紧密联系社会的需求,提供的服务是信息化的,能够满足用户的需求,简化了考试管理系统,间接提高了系统的安全性。随着大数据时代来临,信息存储要比以往大得多。在计算机快速发展的今天,有必要采用一套智能化高,操作简单的考试管理系统,这样可以方便管理员和用户,所以开发一个便于操作的管理系统是很有必要的。

        21世纪是大数据时代,在信息管理方面,数据量非常多,因此要对大量数据进行处理,所以人们利用计算机开发大量管理系统。计算机的最大好处在于自动化,因此使用计算机处理数据,大大地提高了效率,还提高了系统的安全性。对于越复杂的数据处理,就越能体现计算机的优势。考试管理系统中数据众多,需要处理很多数据。刚开始,对信息处理方式主要是手工的方式进行管理。由于数据量巨大并且还用人工的方式进行管理,则容易出现问题。而且当数据量多起来的时候,数据容易丢失,查找起来也不容易。这样会导致效率低下。

      CeaM在线考试学习一体机系统应运而生,是一款基于JAVA开发的,使用SpringBoot+Vue开发的一款多角色在线培训考试系统平台,系统集成了用户管理、角色管理、部门管理、题库管理、试题管理、试题导入导出、考试管理、在线考试、错题训练等功能,考试流程完善
     

    二、系统设计


    1、系统运行环境

    开发系统:Windows10

    架构模式:MVC/前后端分离

    JDK版本:Java JDK1.8

    开发工具:IDEA

    数据库版本: mysql5.7

    数据库可视化工具: SQL yog或Navicat for MySQL

    服务器:SpringBoot自带 apache tomcat

    主要技术:Java、SpringBoot、MyBatis-plus、SpringSecurity、Redis、Redisson、MySQL、定时任务、Uniapp、Vue3、TypeScript、Html等

    2、系统架构(参考笔者前期作品)

    3、现有数据库表

    截至今天有28张表,下图为部分截图

    三、需求分析简介(小部分)

    1、考试学员


        考试学员首先要完成注册登录,才可以使用系统功能。登录后可以维护自己的个人信息,可以修改密码等。完善个人信息后,可以参与考试,考生应该认证浏览试题信息按要求答题,交卷后系统将自动评卷并且返回学员考试结果。考试学员可以查看自己的考试结果。

    2、系统管理员

        系统管理员首先要完成注册登录,才可以使用系统功能。登录后可以维护自己的个人信息,可以修改密码等。系统管理员负责试题管理,包括设置试题题目、设置选项、答案解析等。负责考试的设置,包括考试名称、考试描述、总分数、及格线、考试时长等的设置维护。系统管理员还可以设置系统信息,管理部门、用户以及角色等信息。
     

    四、数据库设计 

    部分数据库实体E-R图:

    1、用户信息属性

    2、考试信息属性 

    3、试题信息属性 

     五、功能截图  

    uniapp:

    1、首页

    2、扫一扫(使用首页扫一扫功能,扫描系统生成的二维码加入群聊)

    点击【C聊】

    点击

    3、群聊

    4、智能CAI

    提问java的CAS

    提问女朋友生气了

    5、分享好友

    可以发送给好友,好友点击你发送的卡片可以进入到小程序;还可以分享到微信朋友圈。

    6、全部收藏

    7、全部错题

    8、题库

    9、详情

    10、顺序练习

    11、随机练习

    12、模拟考试

    13、题卡

    可以显示未做题、已做题、做错题等

    14、统计答题结果

    15、微信支付

    16、我的

    17、意见反馈

    18、关于我

    后台PC端: 

    1、登录

    2、题库中心

    2.1、我的题库

    2.2、试题管理 

    2.3、添加试题 

    3、考试中心

    3.1、考试发布

    3.2、创建考试  

    3.3、试题设置 

    4、学习资料 

    5、租户列表 

    6、app配置 

    7、个人中心  

    六、实现代码    

    1、用户控制器

    1. @Slf4j
    2. @RestController
    3. @AllArgsConstructor
    4. @RequestMapping("/api/users")
    5. public class CeamSysUserController {
    6. private final ICeamSysUserService ceamSysUserService;
    7. @GetMapping
    8. public ResponseEntity page(PageableDTO pageableDTO) {
    9. IPage ceaMSysUserVOIPage = ceamSysUserService.pageCeaMSysUserVO(pageableDTO);
    10. return ResponseEntity.ok(ceaMSysUserVOIPage);
    11. }
    12. @PostMapping
    13. public ResponseEntity add(@RequestBody CeaMSysUserDTO data) {
    14. ceamSysUserService.add(data);
    15. return ResponseEntity.ok("成功");
    16. }
    17. @PutMapping
    18. public ResponseEntity edit(@RequestBody CeaMSysUserDTO data) {
    19. ceamSysUserService.edit(data);
    20. return ResponseEntity.ok("成功");
    21. }
    22. @DeleteMapping
    23. public ResponseEntity add(@RequestParam String id) {
    24. ceamSysUserService.remove(Long.parseLong(id));
    25. return ResponseEntity.ok("成功");
    26. }
    27. }
    28. 2、用户服务接口

      1. /**
      2. *

      3. * 用户表 服务类
      4. *

      5. *
      6. * @author CeaM
      7. * @since 2023-01-28
      8. */
      9. public interface ICeamSysUserService extends IService {
      10. /**
      11. * 分页查询
      12. *
      13. * @param pageableDTO 分页入参
      14. * @return 分页数据
      15. */
      16. IPage pageCeaMSysUserVO(PageableDTO pageableDTO);
      17. /**
      18. * 根据账号加载用户信息
      19. *
      20. * @param userName 用户账号
      21. * @return CeaMSysUserDTO
      22. */
      23. CeaMSysUserDTO loadUserInfo(String userName);
      24. /**
      25. * 添加用户
      26. *
      27. * @param data 前端入参
      28. */
      29. void add(CeaMSysUserDTO data);
      30. /**
      31. * 修改用户
      32. *
      33. * @param data 前端入参
      34. */
      35. void edit(CeaMSysUserDTO data);
      36. /**
      37. * 根据用户ID删除用户
      38. *
      39. * @param id userId
      40. */
      41. void remove(Long id);
      42. }

      3、服务实现类

      1. @Service
      2. public class CeamSysUserServiceImpl
      3. extends ServiceImpl implements ICeamSysUserService {
      4. @Override
      5. public IPage pageCeaMSysUserVO(PageableDTO pageableDTO) {
      6. LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery()
      7. .eq(CeamSysUser::getDeleted, GlobalConstants.FALSE);
      8. Page page = new Page<>(pageableDTO.getPage(), pageableDTO.getSize());
      9. page.setCurrent((long)pageableDTO.getPage() + GlobalConstants.ONE);
      10. Page ceamSysUserPage = page(page, queryWrapper);
      11. IPage ceaMSysUserVOIPage = PageVOUtil.copyToPageVO(ceamSysUserPage, CeaMSysUserVO.class);
      12. return ceaMSysUserVOIPage;
      13. }
      14. @Override
      15. public CeaMSysUserDTO loadUserInfo(String userName) {
      16. LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery()
      17. .eq(CeamSysUser::getUsername, userName);
      18. CeamSysUser ceamSysUser = baseMapper.selectOne(queryWrapper);
      19. if (ObjectUtils.isEmpty(ceamSysUser)) {
      20. throw new ServiceException("账号不存在");
      21. }
      22. if (ceamSysUser.getStatus() == GlobalConstants.ONE) {
      23. throw new ServiceException("账号已禁用");
      24. }
      25. CeaMSysUserDTO ceaMSysUserDTO = BeanCopyUtil.copyProperties(ceamSysUser, CeaMSysUserDTO.class);
      26. return ceaMSysUserDTO;
      27. }
      28. @Override
      29. public void add(CeaMSysUserDTO data) {
      30. CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);
      31. save(ceamSysUser);
      32. }
      33. @Override
      34. public void edit(CeaMSysUserDTO data) {
      35. CeamSysUser ceamSysUser = BeanCopyUtil.copyProperties(data, CeamSysUser.class);
      36. updateById(ceamSysUser);
      37. }
      38. @Override
      39. public void remove(Long id) {
      40. removeById(id);
      41. }
      42. }

      七、uniapp教程(需求分析、各模块及其节点文档、各模块案例)另外一个项目

      另外一个项目基于Java+SpringBoot+Vue+Uniapp(有教程)前后端分离健身预约系统设计与实现

      八、获取源码

       大家点赞、收藏、关注、评论啦 、需要收些费用关注下方公众号获取联系方式👇🏻👇🏻

    29. 相关阅读:
      从React源码分析看useEffect
      docker 安装nacos,使用自定义mysql
      sql语句查询数据库字段和表字段数量
      使用遗传算法优化的BP神经网络实现自变量降维
      uv坐标反投影到相机坐标系
      AcWing 836. 合并集合 —— 递推递归一起食用效果更佳哦~
      java计算机毕业设计高校教材征订管理系统MyBatis+系统+LW文档+源码+调试部署
      java计算机毕业设计ssm+vue灰灰宠物美容网站
      echarts折线图修改特定点的颜色
      Kubernetes — 核心资源对象 — 网络
    30. 原文地址:https://blog.csdn.net/qq_57756904/article/details/133268314
      • 最新文章
      • 攻防演习之三天拿下官网站群
        数据安全治理学习——前期安全规划和安全管理体系建设
        企业安全 | 企业内一次钓鱼演练准备过程
        内网渗透测试 | Kerberos协议及其部分攻击手法
        0day的产生 | 不懂代码的"代码审计"
        安装scrcpy-client模块av模块异常,环境问题解决方案
        leetcode hot100【LeetCode 279. 完全平方数】java实现
        OpenWrt下安装Mosquitto
        AnatoMask论文汇总
        【AI日记】24.11.01 LangChain、openai api和github copilot
      • 热门文章
      • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
        奉劝各位学弟学妹们,该打造你的技术影响力了!
        五年了,我在 CSDN 的两个一百万。
        Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
        面试官都震惊,你这网络基础可以啊!
        你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
        心情不好的时候,用 Python 画棵樱花树送给自己吧
        通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
        13 万字 C 语言从入门到精通保姆级教程2021 年版
        10行代码集2000张美女图,Python爬虫120例,再上征途
      Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
      正则表达式工具 cron表达式工具 密码生成工具

      京公网安备 11010502049817号