java基于微信小程序的英语在线学习考试系统 uniapp 小程序
网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,对于微信小程序的英语学习激励系统将又是一个传统管理到智能化信息管理的典型案例,对于传统的英语学习激励管理,所包括的信息内容比较多,用户想要对这些数据进行管理维护需要花费很大的时间,而且数据的存储比较麻烦,想要查找某一相关的数据信息比较繁琐,随着互联网大潮的到来,决定开发一套智能化、信息化的微信小程序的英语学习激励系统,主要对首页,个人中心,用户管理,单词分类管理,单词本管理,学习清单管理,试卷管理,试题管理,系统管理,考试管理等功能模块的研发。
环境需要
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+微信开发者工具混合开发模式
微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。
机型选择:小程序以智能手机的屏幕尺寸为设计标准,进行切图。
预览界面:写好视图布局后点击编译,用来刷新视图界面。
控制台:方便调试打印输出信息。
上传代码:上传到腾讯服务器,提交审核必经步骤。上传代码时可以填写版本号和备注信息。
资源文件:一般可以在资源文件进行对应项目的文件目录的断点调试。
显示远程调试:手机端和PC端开发工具联调对用户而言是非常实用的。
本地数据存储:显示的是本地存储的数据。
视图调试:标组件以子父层级结构呈现,方便调试。
微信限制在2M 以内的代码体积;开发中一般不校验合法域名信息;小程序后台要做配置服务器域名。
以上就是在开发过程中微信开发者工具常用到的功能,微信开发者工具也在不断的完善。
本课题要求实现一套微信小程序的英语学习激励系统,系统主要包括管理员和用户两大模块
(a) 管理员:管理员进入系统主要功能包括首页,个人中心,用户管理,单词分类管理,单词本管理,学习清单管理,试卷管理,试题管理,系统管理,考试管理等功能并进行操作。
(b) 用户:用户进入系统主要功能包括单词本,学习清单,错题本,试卷列表,考试记录,反馈中心等功能并进行操作。
`
/**
登录相关
*/
@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().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().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().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 ew = new EntityWrapper();
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 ew = new EntityWrapper();
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().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
- 登录
java基于微信小程序的英语在线学习考试系统 uniapp 小程序相关推荐
- 微信小程序 Springboot 英语单词学习激励系统uniapp
开发语言:Java 框架:ssm Springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclips ...
- SSM框架英语在线学习考试网站四级六级八级等级考试职称考试自测托福TOEFL测试雅思IELTS-GRE(idea开发javaweb-javaee-j2ee-springboot)
0.效果展示 1.概述 通过本系统,备考人员能够摒弃传统的学习方式,提高学习兴趣和学习质量:系统对录入数据的严格审核流程,确保了数据的真实性和可靠性,为备考人员充分准备考试提供方便的渠道:不同的用户, ...
- 基于Springboot vue前后端分离在线培训考试系统源码
# 云帆培训考试系统 管理账号:admin/admin 学员账号:person/person # 介绍 一款多角色在线培训考试系统,系统集成了用户管理.角色管理.部门管理.题库管理.试题管理.试题导入 ...
- java基于微信小程序的在线考试系统 uniapp 小程序
随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受学生的喜爱,微信在线考试系统被学生普遍使用,为方便学生能够可以随时 ...
- java+ssm基于微信小程序的校内商铺购物商城系统 uniapp 小程序
网络购物己经成为一个常态化的消费手段,足不出户即可享受互联网发展的红利,对于购物商城的应用,普通消费者目前普遍使用.商品作为一个大众消费的商品,由于其健康的特点,也越来越为大家喜欢,本系统是一个垂直电 ...
- java基于微信小程序的课堂点名签到请假系统 uniapp 小程序
随着我国教育改革的开放,以及各大高校不断的扩招,大学生的数量也在不断的增加.相对应的就需要各大高校在管理方面提高.很明显传统的教育管理模式已经不能够适应当代高速发展的教育速度.所以一定要通过现代化,智 ...
- 微信小程序springboot英语在线学习系统-uniapp
框架:uniapp 开发软件:微信开发者工具 开发模式:混合开发 络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,对于微信小程序的英语学习激励系统将又是一个传统管理到智 ...
- 微信小程序的校园二手物品交易平台系统 uniapp 小程序
在大学校园里,存在着很多的二手商品,但是由于信息资源的不流通以及传统二手商品信息交流方式的笨拙,导致了很多仍然具有一定价值或者具有非常价值的二手商品的囤积,乃至被当作废弃物处理.现在通过微信小程序的校 ...
- 基于springboot的智慧学习(在线学习考试)系统
博主主页:猫头鹰源码 博主简介:Java领域优质创作者.CSDN博客专家.公司架构师.全网粉丝5万+.专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等).简历模 ...
最新文章
- acm经典题Mark
- GT Transceiver中的重要时钟及其关系(6)TXUSRCLK以及TXUSRCLK2的用途与关系
- 震惊!Canvas原来还能这么搞!代码画一个时钟出来
- 进入社会,我们要做哪些准备?
- 漫画:程序员之间的真爱,好暖啊!
- 【写给以前的自己】python中,既生list何生tuple?简论学习数据结构(e.g.哈希化)对自己的提升
- PHPStorm 设置背景图片
- w10打开网络计算机退出,Win10网络发现已关闭怎么办?|Win10启用网络发现方法
- C# 通过126邮箱发送邮件
- 自建CA 颁发证书
- 【VINS-MONO测试】安卓手机采集mono+imu数据
- iTutorGroup学员获2018全国青少年创意编程大赛一等奖
- 冒烟测试的7个好处,你是否经常用到它?
- 简述矩阵的秩和向量组的秩的定义 从定义出发分析两者之间的相互关系
- 导出带有合计行的excel
- java环境变量设置 java_home
- 实现邮箱验证码发送代码(直接cv,3分钟解决)
- winPE下的PECMD命令详解 -----PECMD.INI 文件配置(2)
- 论我的dfs经验总结
- 如何快速阅读别人的源代码