java基于微信小程序的在线作业提交批改系统 uniapp 小程序

随着信息技术的发展和网络教学的广泛应用,越来越多的教师选择让学生提交电子作业。提交电子作业的方式不仅方便简捷,还高效率,节省时间。但现在的许多大学,学生提交电子作业的形式,大都是通过发送邮件进行的,作业管理比较混乱,教师下载邮件中的作业也比较繁琐,工作量比较大。因此,开发一个省力,高效,方便地学生作业管理系统来解决作业管理混乱的局面就显得必要了。同时,学生作业管理系统可以让学生提交作业和老师批阅作业更加灵活,系统的规模可能不是很庞大,但功能完善后可以代替人工进行许多繁杂的劳动,节省资源,减轻教师的工作量和学生的学习任务,提高教师的工作效率和学生的学习效率。请添加图片描述请添加图片描述
现如今,国内外对作业管理的管理方式通常有两种:一种是通过U盘或邮箱,微信等方式完成作业,另一种则是存储在教师计算机上的共享目录中。然而,这两种方法都有各自的缺点:前者方法不便于携带以及易破损等;后一种方法虽然解决了上述问题。但是有一个更致命的缺点:学生可以随意检查、修改和删除其他学生的作业,造成很多事情,比如抄写作业,恶意删除或修改其他学生的作业。当老师帮助学生修改作业时,很难发现作业是否改正以及混淆新作业与旧作业。虽然有些可以用严格的纪律来实现管理,但仍然会给学生和老师带来很多麻烦。本作业管理系统可以有效地解决这一系列问题,使教师能够高效、科学地管理作业。
请添加图片描述
系统主要功能模块的具体描述:
(1)管理员部分的主要功能:管理员登陆功能,根据权限进入管理员相应的页面的功能;管理员管理学生、教师、作业、课程,具有添加、删除、修改、查看的功能;管理员查看,管理公告的功能;管理员修改个人资料的功能。
(2)教师部分的主要功能:教师登录功能,根据权限进入教师页面;教师具有发布、管理公告、在线作业布置、批改作业功能、个人信息修改、查看学生名单、网上交流等功能。
(3)学生部分的主要功能:学生登录功能,根据权限进入学生相应的页面的功能;学生具有查看公告、下载教师布置的作业,提交作业的功能。查看老师对作业的批改和打分、个人信息修改、网上交流功能,学生必须在每个作业的有效期内提交,过期无法提交作业。

请添加图片描述
请添加图片描述
环境需要
1.运行环境:微信开发者工具,最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本或以上版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
小程序端:uni-app+微信开发者工具混合开发模式

请添加图片描述
随着时代发展,传统的作业模式已经被组件的替代。当下很多学校都是通过微信等方式来进行作业布置,这样一方面可以让家长知道作业内容对学生进行监督和辅导作用,另一方面也减轻了教师的工作量。本学生作业管理系统是一个专门为学生和教师服务的,教师可以直接在本系统内发布作业,学生在看到作业之后进行完成,之后通过上传的方式交给老师进行审阅。为了能够使教师科学规范地管理学生作业并且及时地给学生反馈,提高学校的管理水平,一个实用的作业管理系统用来规范的管理作业就显得格外的重要。这样既可以简化教师的工作,也便于教师科学地管理作业,同时学生可以及时得到反馈。使学校的管理水平提高,实现资源效益的做大化。
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述


/**
 * 登录相关
 */
@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 captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		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);
	}
	
	/**
	 * 注册
	 */
	@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");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@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();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值