基于ssm的翻转课堂项目发布的微信小程序(源码+调试文档)

目录

系统框架

运行环境

功能介绍及页面

项目技术介绍:

核心代码参考

数据库sql

为什么选我

获取码源


系统框架

系统采用前端、后端、mysql数据库的模式进行代码分层开发,方便代码的维护和功能的扩展,下面是系统架构设计图:

运行环境

开发语言:Java
数据库:MySQL
系统架构:B/S
后端:SpringBoot
前端:Vue
工具:IDEA,JDK1.8,Maven

功能介绍及页面

小程序学生
1、注册,上传个人信息,密码MD5加密
2、知识视频,查看知识视频和视频分类,可以收藏,评论,观看视频
3、教学资料,查看教学资料信息,可以收藏
4、课堂任务,查看课堂任务信息,可以选取任务
5、考试,查看试卷信息,可以进行考试
6、任务选取,查看任务选取信息,完成后更新状态
7、任务完成,查看任务完成信息,审核状态
8、我的收藏管理,查看我的收藏信息
9、考试记录,查看我的考试记录信息
10、错题本,查看我的错题本信息
11、留言反馈,可以留言反馈问题,等待回复


网页端教师
1、个人中心,修改个人信息及密码
2、教学资料管理,新增修改删除教学资料,上传文件
3、知识视频管理,新增修改删除知识视频,查看评论
4、课堂任务管理,新增修改删除课堂任务信息
5、任务选取管理,查看学生任务选取信息,任务状态
6、任务完成管理,查看任务完成信息,审核任务完成
7、试卷管理,新增修改删除试卷信息
8、试题管理,新增修改删除试题信息
9、考试管理,查看错题本,试卷列表,考试记录
网页端管理员
1、个人中心,修改个人信息及密码
2、学生管理,新增修改删除学生信息
3、教师管理,新增修改删除教师信息
4、视频分类管理,新增修改删除视频分类
5、教学资料管理,查看教学资料,可以修改删除
6、知识视频管理,查看知识视频,可以修改删除
7、课堂任务管理,查看课堂任务,可以修改删除
8、任务选取管理,查看任务选取,可以修改删除
9、任务完成管理,查看任务完成,可以修改删除
10、留言反馈,查看留言反馈信息,可以修改删除,回复信息
11、试卷管理,新增修改删除试卷信息
12、试题管理,新增修改删除试题信息
13、系统管理,新增修改删除公告信息,修改轮播图信息
14、考试管理,查看考试记录,错题本,试卷列表

项目技术介绍:

Java介绍:


  Java的主要特点是简单性、面向对象、分布式、健壮性、安全性和可移植性。Java的设计初衷是让程序员能够以优雅的方式编写复杂的程序。它支持 Internet 应用的开发,并内建了网络应用编程接口,极大地便利了网络应用的开发。同时,Java的强类型机制和异常处理功能确保了程序的健壮性。Java分为三个主要版本:Java SE(标准版),主要用于桌面应用程序开发;Java EE(企业版),用于开发企业级应用;Java ME(微型版),专门用于嵌入式系统和移动设备应用开发。这些版本让Java能够适应不同的开发需求。总的来说,Java因其广泛的应用场景和稳定的性能,在全球范围内拥有庞大的开发者社区和支持,各种开源项目也为Java开发提供了极大的便利和资源[^3^]。这使得Java不仅在互联网和企业应用中占据重要地位,还在大数据和Android移动开发中有着广泛应用。

Mysql数据库介绍:


  MySQL主要用于在各种流行操作系统平台上进行数据存储和管理,采用客户端/服务器模式运行。这种架构支持高效的数据操作和管理,使得MySQL在Web应用、企业应用和移动应用中广泛使用。MySQL使用结构化查询语言(SQL),这是一种标准化的语言,用于访问和维护数据库。由于其开源特性,MySQL对大多数个人用户来说是免费的,并且易于下载和安装。这使得它成为许多中小型企业和开发者的首选数据库系统。

MySQL具有多种显著优点。首先,它支持多线程操作,可以充分利用CPU资源,提高性能。其次,MySQL提供多种API,支持多种编程语言如C、C++、Python、Java等,使其可以轻松集成到不同的应用程序中。此外,MySQL还支持多种存储引擎,如InnoDB和MyISAM,以满足不同的应用需求。

核心代码参考

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private TokenService tokenService;
 
    /**
     * 登录
     */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String role, HttpServletRequest request) {
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("权限不正常");
            }
            if(user==null || !user.getPassword().equals(password)) {
                return R.error("账号或密码不正确");
            }
            String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
            return R.ok().put("token", token);
        }else{
            return R.error("账号或密码或权限不对");
        }
 
    }
    
    /**
     * 注册
     */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 退出
     */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return R.ok("退出成功");
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
    @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user==null) {
            return R.error("账号不存在");
        }
        user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
    
    /**
     * 列表
     */

数据库sql


DROP TABLE IF EXISTS `users`;
 
CREATE TABLE `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(100) NOT NULL COMMENT '用户名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
 
/*Data for the table `users` */
 
insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2022-05-01 00:00:00');

为什么选我

博主是从事软件开发多年的学长,和小伙伴一起接点单,纯个人,避免中介对接累计开发或辅导多名同学,有丰富的项目开发和文档编写经验、同学们有任何项目问题都可以联系我,专注于学生毕业项目实战。

获取码源

文章下方名片联系我即可~

大家点赞、收藏、关注、评论啦 、查看👇🏻点击获取联系方式👇🏻,暗号:000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值