目录
全栈码农以及毕业设计实战开发,大学生项目毕设实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末
一、前言
"在数字化教育浪潮的推动下,微信小程序以其便捷性、即用即走的特点,正逐步渗透至高校教学管理的每一个角落。本高校课堂教学管理系统,旨在通过微信小程序平台,为师生打造一个高效、互动、个性化的教学环境。系统集成了课程管理、作业布置与提交、在线考勤、课堂互动、成绩查询等功能模块,不仅简化了传统教学管理流程,还促进了师生间的即时沟通与反馈。通过这一创新模式,我们期望能够激发学生的学习兴趣,提升教学质量,让高校课堂焕发新的活力与效率。"
二、技术介绍
末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端框架:VUE
数据库:MySQL5.7
服务器:Tomcat8.5
后端开发软件:IDEA / Eclipse前端开发软件:HBuilderX / WeChat_devtools
是否Maven项目:是
三、系统实现
课程资源学生可以点击想要查看的资源进行观看。
课程分类学生可以按照自己想要的分类进行搜索并且进行观看。
在我的,可以查看我的收藏管理、测试记录、错题本、我的发帖等
修改个人信息
老师和管理员都可以在后台进行登录。
管理员输入账号密码登录后可以看到以下功能首页、个人中心、教师管理、学生管理、课程分类管理、课程资源管理、互动论坛、系统管理
四、系统功能
基于微信小程序的高校课堂教学管理系统主要包括三大功能模块,即学生、教师、管理员。
(1)管理员:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:首页、个人中心、教师管理、学生管理、课程分类管理、课程资源管理、互动论坛、系统管理。
(2)教师:首页、个人中心、课程资源管理、试题管理、课堂测试管理。
(3)学生:首页、课程资源、测试、互动论坛、我的
五、核心代码
package com.controller;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;
/**
* 上传文件映射表
*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
@Autowired
private ConfigService configService;
/**
* 上传文件
*/
@RequestMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
/**
* 下载文件
*/
@IgnoreAuth
@RequestMapping("/download")
public ResponseEntity<byte[]> download(@RequestParam String fileName) {
try {
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
File file = new File(upload.getAbsolutePath()+"/"+fileName);
if(file.exists()){
/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
getResponse().sendError(403);
}*/
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", fileName);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
}
} catch (IOException e) {
e.printStackTrace();
}
return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
六、源码获取
感谢大家点赞、收藏、关注、评论啦 、获取联系方式在个人简介绿泡泡