当前位置: 首页 > news >正文

西安企业建站系统模板常用的网络编程技术

西安企业建站系统模板,常用的网络编程技术,百度联盟做网站赚钱吗,建网站赚钱简介 本系统基于 Spring Boot 搭建的方便易用、高颜值的教学管理平台#xff0c;提供多租户、权限管理、考试、练习、在线学习等功能。主要功能为在线考试、练习、刷题#xff0c;在线学习。课程内容支持图文、视频#xff0c;考试类型支持考试、练习、问卷。 源码下载 网…简介 本系统基于 Spring Boot 搭建的方便易用、高颜值的教学管理平台提供多租户、权限管理、考试、练习、在线学习等功能。主要功能为在线考试、练习、刷题在线学习。课程内容支持图文、视频考试类型支持考试、练习、问卷。 源码下载 网盘链接 密码8418 题型支持单选题、多选题、判断题、简答题、视频、语音题目内容支持图文、视频等。支持题库、刷题功能。 本版本为 Spring Boot 版本没有太多中间件依赖使用、部署都非常方便并且持续更新维护。 架构设计 功能概述 项目分 web 前台、后台管理、小程序三部分前台、小程序主要提供考试功能后台提供基础管理、考试管理功能。 web 前台主要功能提供在线考试、课程学习、练习等功能。 后台主要功能系统管理单位管理、用户管理、部门管理、角色管理、菜单管理、操作日志、代码生成考务管理课程管理、考试管理、题库管理、成绩管理。 部署指南 1. 新建数据库 我们可以使用 navicat 新建数据库数据库名可以自定义字符集和排序规则是确定的。 2. 运行 SQL 文件 我们导入源码中 init.sql 新建相关表初始化数据。 3. 修改配置文件 我们把两个 yml 配置文件复制到 sg-user-service 目录中的 resource 目录中按需进行修改比如 MySQL 数据库用户名密码redis 密码等。 4. 编译 jar 包 我们要检查电脑上是否安装 gradle运行以下指令测试。 gradle -v ------------------------------------------------------------ Gradle 8.5 ------------------------------------------------------------Build time: 2023-11-29 14:08:57 UTC Revision: 28aca86a7180baa17117e0e5ba01d8ea9feca598Kotlin: 1.9.20 Groovy: 3.0.17 Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023 JVM: 17.0.9 (Oracle Corporation 17.0.911-LTS-jvmci-23.0-b21) OS: Windows 11 10.0 amd64我们直接在根目录下运行打包指令并跳过测试。 gradle build -x test生成的 jar 包在 build/libs 目录下运行 java -jar xxx.jar后端的部署就完成了。 5. 运行前端 我们再进入 frontend/sg-exam-app 目录运行 npm install 下载依赖下载完成后运行npm run dev 启动运行。 后台管理项目存放在 frontend/sg-exam-app-admin 目录运行 pnpm install 下载依赖下载完成后运行npm run dev 启动运行。 前端部署完成。 代码讲解 下面这段代码是用来展示后台首页数据其中 userVo 用来查询用户数量dto 返回给客户端做数据展示功能。 首页数据 /*** 获取管控台首页数据*/GetMappingOperation(summary 后台首页数据展示, description 后台首页数据展示)public RDashboardDto dashboard() {String tenantCode SysUtil.getTenantCode();DashboardDto dto new DashboardDto();// 查询用户数量UserVo userVo new UserVo();userVo.setTenantCode(tenantCode);dto.setOnlineUserNumber(userService.userCount(userVo).toString());// 租户数量dto.setTenantCount(tenantService.tenantCount().toString());// 查询考试数量ExaminationDashboardDto dashboardDto examRecordService.findExamDashboardData(tenantCode);if (dashboardDto ! null) {if (dashboardDto.getExaminationCount() ! null) {dto.setExaminationNumber(dashboardDto.getExaminationCount().toString());}if (dashboardDto.getExamUserCount() ! null) {dto.setExamUserNumber(dashboardDto.getExamUserCount().toString());}if (dashboardDto.getExaminationRecordCount() ! null) {dto.setExaminationRecordNumber(dashboardDto.getExaminationRecordCount().toString());}}return R.success(dto);}考试管理 这段代码是一个使用Java语言和Spring框架编写的RESTful API控制器。它定义了一系列的HTTP GET和POST请求方法用于处理与考试信息管理相关的业务逻辑。下面是对这段代码的详细解释 Slf4j这是一个日志注解用于在控制类中注入一个日志对象方便记录日志。AllArgsConstructor这是一个Lombok注解用于自动生成所有字段的构造函数。Tag(name 考试信息管理)这是一个自定义注解用于标记这个控制器属于哪个功能模块。RestController表示这是一个RESTful风格的控制器它将返回JSON格式的数据。 接下来是部分方法的解释 canStart这个方法通过GET请求方式提供查询是否能开始考试的功能。它接受一个Long类型的参数id表示考试的ID。方法内部会查询该ID对应的考试信息并检查考试是否已经开始以及是否有结束时间限制。examination这个方法通过GET请求方式提供根据考试ID获取考试信息的功能。detail这个方法通过GET请求方式提供根据考试ID获取考试详细信息的功能。getMembers这个方法通过GET请求方式提供根据考试ID获取考试成员ID的功能。anonymousUserGet这个方法通过GET请求方式提供根据考试ID获取考试信息的功能但是这个方法专门为匿名用户设计。 Slf4j AllArgsConstructor Tag(name 考试信息管理) RestController RequestMapping(/v1/examination) public class ExaminationController extends BaseController {private final IExaminationService examinationService;private final IExamPermissionService examPermissionService;GetMapping(canStart)Operation(summary 查询是否能开始考试, description 查询是否能开始考试)public RBoolean canStart(RequestParam Long id) {boolean canStart false;Examination examination examinationService.get(id);if (examination ! null) {if (examination.getStartTime() ! null examination.getEndTime() ! null) {long currentMillis System.currentTimeMillis();canStart ((currentMillis examination.getStartTime().getTime()) (examination.getEndTime().getTime() currentMillis));} else {// 没有限制考试时间canStart true;}}return R.success(canStart);}GetMapping(/{id})Operation(summary 获取考试信息, description 根据考试 ID 获取考试信息)public RExamination examination(PathVariable Long id) {return R.success(examinationService.get(id));}GetMapping(/{id}/detail)Operation(summary 获取考试详细信息, description 根据考试 id 获取考试详细信息)public RExaminationDto detail(PathVariable Long id) {return R.success(examinationService.getDetail(id));}GetMapping(/{id}/getMembers)Operation(summary 获取考试成员 ID, description 根据考试 ID 获取考试成员 ID)public RMemberDto getMembers(PathVariable Long id) {return R.success(examPermissionService.getMembers(ExamConstant.PERMISSION_TYPE_EXAM, id));}GetMapping(/anonymousUser/{id})Operation(summary 获取考试信息, description 根据考试 id 获取考试详细信息)public RExamination anonymousUserGet(PathVariable Long id) {return R.success(examinationService.get(id));}GetMapping(examinationList)Operation(summary 获取考试列表)public RPageInfoExaminationDto examinationList(RequestParam MapString, Object condition,RequestParam(value PAGE, required false, defaultValue PAGE_DEFAULT) int pageNum,RequestParam(value PAGE_SIZE, required false, defaultValue PAGE_SIZE_DEFAULT) int pageSize) {return R.success(examinationService.examinationList(condition, pageNum, pageSize));}GetMapping(userExaminationList)Operation(summary 获取用户有权限的考试列表)public RPageInfoExaminationDto userExaminationList(RequestParam MapString, Object condition,RequestParam(value PAGE, required false, defaultValue PAGE_DEFAULT) int pageNum,RequestParam(value PAGE_SIZE, required false, defaultValue PAGE_SIZE_DEFAULT) int pageSize) {return R.success(examinationService.userExaminationList(condition, pageNum, pageSize));}RequestMapping(subjectList)Operation(summary 获取题目列表)public RPageInfoSubjectDto subjectList(RequestParam MapString, Object condition,RequestParam(value PAGE, required false, defaultValue PAGE_DEFAULT) int pageNum,RequestParam(value PAGE_SIZE, required false, defaultValue PAGE_SIZE_DEFAULT) int pageSize,SubjectDto subjectDto) {return R.success(examinationService.findSubjectPageById(subjectDto, condition, pageNum, pageSize));}PostMappingOperation(summary 创建考试, description 创建考试)SgLog(value 创建考试, operationType OperationType.INSERT)public RBoolean add(RequestBody Valid ExaminationDto examinationDto) {examinationDto.setCommonValue();return R.success(examinationService.insertExamination(examinationDto) 0);}PutMapping({id})Operation(summary 更新考试信息, description 根据考试 ID 更新考试的基本信息)SgLog(value 更新考试, operationType OperationType.UPDATE)public RBoolean update(PathVariable Long id, RequestBody Valid ExaminationDto examinationDto) {examinationDto.setId(id);examinationDto.setCommonValue();return R.success(examinationService.updateExamination(examinationDto) 0);}DeleteMapping({id})Operation(summary 删除考试, description 根据 ID 删除考试)SgLog(value 删除考试, operationType OperationType.DELETE)public RBoolean delete(PathVariable Long id) {Examination examination examinationService.get(id);if (examination ! null) {examination.setCommonValue();return R.success(examinationService.delete(examination) 0);}return R.success(Boolean.FALSE);}PostMapping(deleteAll)Operation(summary 批量删除考试, description 根据考试 id 批量删除考试)SgLog(value 删除考试, operationType OperationType.DELETE)public RBoolean deleteAll(RequestBody Long[] ids) {return R.success(examinationService.deleteAll(ids) 0);}GetMapping(nexSubjectNo/{id})Operation(summary 获取下一题的序号)public RInteger nexSubjectNo(PathVariable Long id) {return R.success(examinationService.nextSubjectNo(id));}PostMapping(batchAddSubjects/{id})Operation(summary 批量添加题目)SgLog(value 批量添加题目, operationType OperationType.INSERT)public RBoolean batchAddSubjects(PathVariable Long id, RequestBody ListSubjectDto subjects) {return R.success(examinationService.batchAddSubjects(id, subjects));}PostMapping(randomAddSubjects/{id})Operation(summary 随机添加题目)SgLog(value 随机添加题目, operationType OperationType.INSERT)public RBoolean randomAddSubjects(PathVariable Long id, RequestBody RandomSubjectDto params) {return R.success(examinationService.randomAddSubjects(id, params));} }
http://www.dnsts.com.cn/news/82154.html

相关文章:

  • 儿童教育网站源码WordPress虚拟商城插件
  • 上海商地网站建设公司手机网站开发学习
  • 能通过淘宝网站做淘宝客吗网站建设引言
  • 杨凌做网站的公司阜阳网站开发
  • 网站改版 收录网站规划要点
  • 网站推广专家十年乐云seo购物网站的设计
  • 网站建设新手教程视频WordPress报价表
  • iis 网站绑定域名注册资金多少有什么利弊
  • 无锡网站建设的公司网店美工具体要求
  • 阿里云上怎么做网页网站贵州网站建设服务平台
  • 五屏网站建设如何建设商城网站
  • 聚化网网站唐山移动互联网开发
  • 南通建设厅网站做面包国外网站
  • 如何做网站截流优化公司股权结构
  • 网站论文首页布局技巧深圳注册公司需要什么资料
  • 俄语网站建设公司wordpress函数大全
  • 做网站用ui好还是psapp和小程序的区别
  • 静态网页毕业设计论文富阳网站优化
  • 网站标题 关键字怎么设置代码网站中的搜索框图标怎么做的
  • 摄影师作品网站有哪些去成都旅游攻略及费用
  • 免费视频网站app使用排名品牌营销策略包括哪些
  • 网站访问量wordpress免费企业模板下载
  • 网络运营学校怎么对网站做seo优化
  • 小程序健康码怎么在网站上做seo
  • 昭通网站seowordpress 生成pdf
  • 高校网站建设花费营销网络是指公司在国内外寻找战略伙伴和同盟者
  • 做网站视频网站品牌推广
  • 建设电影网站的教程丘北网站建设
  • 网站空间源码如何做好网站内连
  • 龙岗区网站建设公司义乌做站外推广的公司