飞道的博客

基于微信小程序的优选驾考小程序

609人阅读  评论(0)

文末联系获取源码

开发语言:Java

框架:ssm

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

一、前言介绍 

进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的脚脚落落。这就促使小程序的发展。网上办公可以实现远程处理事务,远程提交工作和随时追踪工作的状态,小程序给人们带来前所未有的体验,满足了新时代人们的办公需求,所以网上小程序的管理模式得到大力发展。

本系统为优选驾考小程序,是采用微信技术和网络技术进行开发的在线驾考管理平台,可以实现报名驾校、预约练车、在线考试、试卷管理、考试场地管理等。本系统采用Java语言,数据库为mysql,运行环境为Eclipse。使用角色分为用户、管理员、驾校,本系统的功能包括驾考文章管理、学员管理、报名管理、练车预约管理、考试场地管理、考试预约管理、考试管理、用户管理、驾校管理等。其中,用户负责浏览信息、预约考试、报名驾校、预约练车、在线考试等,驾校可以管理学员、处理练车信息、报名信息、考试信息等。本系统实现了驾考的在线预约与审核,方便了用户和管理员、驾校三方的利益,提高预约的效率,更符合现代人生活。 

二、系统功能分析

本人参考大量的驾校管理软件,以及充分调查需要驾考的用户和管理员,驾校需求,设计出的本优选驾考小程序使用角色为用户,管理员,驾校,框架界面分为用户操作界面、管理员操作界面和驾校操作界面。

2.1用户的功能设计

(1)个人资料管理功能,可以针对自己的信息资料进行修改管理; 

(2)报名入口功能,本界面里展示了不同的驾校信息,可以按照要求进行报名﹔

(3)学员报名管理功能,本界面里展示了自己所有报名的驾校,可以根据具体情祝进行修改; 

(4)练车预约功能,可以根据自己的时间进行预约练车; 

(5)考试信息功能,可以浏览自己需要参加的考试以及要求进行自我安排;

(6)考试预约功能,在线填写预约信息实现考试的预约; 

(7)我的收藏管理功能,管理自己收藏的所有信息;

(8)试卷列表功能,可以查询所有的试卷,选择适合自己的试卷进行考试;

(9)理论考试记录功能,查询考试记录信息; 

(10)错题本功能,自己曾经做错的题目都在本界面保存,方便用户进行针对性的学习。

2.2管理员的功能设计

(1)驾考文章管理功能,可以发布、编辑、删除驾考文章信息;

(2)个人中心功能,本功能可以修改管理员的个人资料﹔

(3)学员管理功能,此功能可以对用户的账号、资料等进行审核管理;

(4)驾校管理功能,对驾校的账号、密码等进行管理;

(5)驾照类型管理功能,对不同型号的车需要考不同的驾照,本功能负责类型的管理;

(6)报名入口管理功能,实现学员报名入口信息的审核管理;

(7)学员报名管理功能,实现审核学员报名的功能;

(8)练车预约功能,可以审核学员的预约练车信息;

(9)考试场地管理功能,安排考试的场地;

(10)考试场次管理,安排考试的不同场次;

(11)考试信息管理功能,对考试的内容进行安排:

(12)考试预约管理功能,审核学员的考试预约;

(13)试卷管理功能,可以设置试卷;

(14)试题管理功能,对试题信息进行添加管理;

(15)系统管理功能,发布和管理公告信息、轮播图。

2.3驾校的功能设计

(1)个人中心功能,实现对驾校资料的管理;

(2)学员管理功能,实现对自己学员信息的资料管理;

(3)驾考文章管理功能,实现浏览文章信息和管理文章信息;

(4)报名入口管理功能,发布报名信息和管理报名信息;

(5)学员报名管理功能,查询和处理学员的报名;

(6)练车预约功能,审核学员的练车预约并进行安排;

(7)考试信息管理功能,实现考试内容信息的安排管理;

(8)考试预约管理功能,审核学员的预约考试。 

2.4系统功能结构

系统的功能结构是系统实现的框架,本系统的主要结构为管理员和用户、驾校。本优选驾考小程序功能结构图如下图所示: 

三、小程序端

3.1用户注册功能的界面实现 

用户在使用本系统时需要先进行注册,注册界面里需要填写用户名、密码、姓名、性别、手机号、身份证号。用户注册功能的运行界面如下图所示: 

3.2登录功能的界面实现 

用户注册后,需要登录。登录界面设计的目的是保证当前的使用角色等级。管理员、驾校同样需要登录后才可以进行操作。在管理员、驾校的登录界面里加入了权限的选择,在登录时只需要填写用户账号和密码就可以实现。用户登录的运行界面如下图所示:

3.3报名功能的界面实现 

用户的功能主要为报名驾校、预约练车、预约考试、在线考试。在报名时需要选择好要报名的驾校、驾照类型。报名功能的运行界面如下图所示: 

3.4预约考试功能的实现界面 

用户在查询到考试信息后可以在线预约考试。预约考试功能的运行界面如下图所示: 

3.5预约练车功能的实现界面 

在报名成功后,用户可以预约练车。用户预约练车功能的实现界面如下图所示: 

3.6在线考试功能的实现 

在试卷列表里可以选择试卷进行在线考试,实现界面如下图所示: 

3.7我的功能界面实现 

我的功能界面相关于用户中心,展示了用户的所有操作内容。我的功能界面实现如下图所示: 

四、管理员功能的设计实现

在登录的界面中包含的元素有系统题目、输入框、登录按钮、选择框。本系统的使用权限为管理员和用户、驾校。管理员登录的运行界面如下图所示: 

4.1学员管理功能的实现界面 

学员的信息可由管理员添加,本功能设计的目的是添加和审核学员的资料,当发现不当的使用用户可以删除其账号。当删除用户信息后相对应的用户信息表里的信息也会随着删除掉。查询学员信息.功能的运行界面如下图所示: 

4.2个人中心管理功能的实现界面 

个人中心管理的内容包括管理个人资料和修改密码,本系统中可以拥有多个管理员。个人中心功能的运行界面如下图所示: 

4.3试卷管理功能的实现界面

用户浏览的试卷都是由管理员在此功能里进行维护添加的,同样当管理员添加、编辑试卷信息后,数据库表中的试卷信息表也会发生改变。试卷信息管理功能的运行界面如下图所示: 

在添加试卷信息时可以重置和提交。发布新试卷的运行界面如下图所示:

五、驾校角色功能的实现界面 

驾校的功能与管理员的功能相似,没有管理员的权力大,可以管理学员信息、报名信息、考试预约信息、考试信息、驾考文章信息、练车预约信息、考试预约信息。实现界面如下图所示: 

六、部分核心代码

6.1登录系统主要代码


  
  1. / **
  2. * 登录
  3. * /
  4. @IgnoreAuth
  5. @RequestMapping( value = "/login")
  6. public R login( String username, String password, String captcha, HttpServletRequest request) {
  7. YonghuEntity user = yonghuService.selectOne(new EntityWrapper <YonghuEntity >().eq( "yonghuzhanghao", username));
  8. if(user = = null || !user.getMim a().equals(password)) {
  9. return R. error( "账号或密码不正确");
  10. }
  11. String token = tokenService.generateToken(user.getId(), username, "yonghu", "用户" );
  12. return R.ok().put( "token", token);
  13. }

6.2上传文件关键代码


  
  1. @RequestMapping( "/upload")
  2. public R upload(@RequestParam( "file") MultipartFile file, String type) throws Exception {
  3. if ( file.isEmpty()) {
  4. throw new EIException( "上传文件不能为空");
  5. }
  6. String fileExt = file.getOriginalFilename().substring( file.getOriginalFilename().lastIndexOf( ".") + 1);
  7. File path = new File(ResourceUtils.getURL( "classpath:static").getPath());
  8. if(!path.exists()) {
  9. path = new File( "");
  10. }
  11. File upload = new File(path.getAbsolutePath(), "/upload/");
  12. if(!upload.exists()) {
  13. upload.mkdirs();
  14. }
  15. String fileName = new Date().getTime() + "." +fileExt;
  16. File dest = new File(upload.getAbsolutePath() + "/" +fileName);
  17. file.transferTo(dest);
  18. / **
  19. * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开
  20. * 请将以下的 "D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替换成你本地项目的upload路径,
  21. * 并且项目路径不能存在中文、空格等特殊字符
  22. * /
  23. / / FileUtils.copyFile(dest, new File( "D:\\springbootq33sd\\src\\main\\resources\\static\\upload" + "/" +fileName)); / **修改了路径以后请将该行最前面的 / /注释去掉 ** /
  24. if(StringUtils.isNotBlank( type) & & type.equals( "1")) {
  25. ConfigEntity configEntity = configService.selectOne(new EntityWrapper <ConfigEntity >().eq( "name", "faceFile"));
  26. if(configEntity = = null) {
  27. configEntity = new ConfigEntity();
  28. configEntity.setName( "faceFile");
  29. configEntity.setValue(fileName);
  30. } else {
  31. configEntity.setValue(fileName);
  32. }
  33. configService.insertOrUpdate(configEntity);
  34. }
  35. return R.ok().put( "file", fileName);
  36. }

转载:https://blog.csdn.net/qq_61827376/article/details/129032808
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场