java基于微信小程序的英语在线学习考试系统 uniapp 小程序

网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,对于微信小程序的英语学习激励系统将又是一个传统管理到智能化信息管理的典型案例,对于传统的英语学习激励管理,所包括的信息内容比较多,用户想要对这些数据进行管理维护需要花费很大的时间,而且数据的存储比较麻烦,想要查找某一相关的数据信息比较繁琐,随着互联网大潮的到来,决定开发一套智能化、信息化的微信小程序的英语学习激励系统,主要对首页,个人中心,用户管理,单词分类管理,单词本管理,学习清单管理,试卷管理,试题管理,系统管理,考试管理等功能模块的研发。

java基于微信小程序的英语在线学习考试系统 uniapp 小程序_第1张图片
环境需要
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+微信开发者工具混合开发模式

java基于微信小程序的英语在线学习考试系统 uniapp 小程序_第2张图片

微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。
机型选择:小程序以智能手机的屏幕尺寸为设计标准,进行切图。
预览界面:写好视图布局后点击编译,用来刷新视图界面。
控制台:方便调试打印输出信息。
上传代码:上传到腾讯服务器,提交审核必经步骤。上传代码时可以填写版本号和备注信息。
资源文件:一般可以在资源文件进行对应项目的文件目录的断点调试。
显示远程调试:手机端和PC端开发工具联调对用户而言是非常实用的。
本地数据存储:显示的是本地存储的数据。
视图调试:标组件以子父层级结构呈现,方便调试。
微信限制在2M 以内的代码体积;开发中一般不校验合法域名信息;小程序后台要做配置服务器域名。
以上就是在开发过程中微信开发者工具常用到的功能,微信开发者工具也在不断的完善。java基于微信小程序的英语在线学习考试系统 uniapp 小程序_第3张图片
本课题要求实现一套微信小程序的英语学习激励系统,系统主要包括管理员和用户两大模块
(a) 管理员:管理员进入系统主要功能包括首页,个人中心,用户管理,单词分类管理,单词本管理,学习清单管理,试卷管理,试题管理,系统管理,考试管理等功能并进行操作。
(b) 用户:用户进入系统主要功能包括单词本,学习清单,错题本,试卷列表,考试记录,反馈中心等功能并进行操作。

java基于微信小程序的英语在线学习考试系统 uniapp 小程序_第4张图片`
/**

  • 登录相关
    */
    @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 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,vue.js,uni-app)