飞道的博客

基于微信小程序的自驾游拼团小程序

729人阅读  评论(0)

文末联系获取源码

开发语言:Java

框架:ssm

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

小程序框架:uniapp

小程序开发软件:HBuilder X

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

一、前言介绍

目前想要旅游的人选择最多的方式为自驾游,自驾游时间宽松、自由。但单人购买景点门票费用昂贵,如果可以参与别人的旅行团就可以买到便宜的团购票。但一般的团体票都是需要报名旅行社才可以享受,想只享受团体价非常困难。本系统就是针对自驾旅的拼团而设计,拼团可以实现旅游的高性价比。

本自驾游拼团小程序采用Java语言和Eclipse+微信小程序软件进行设计,数据库采用Mysql。本系统实现了旅游的拼团,包括前台和后台两部分。在前台展示旅游景点、拼团信息、论坛。用户注册登录后可以参与拼团和了解景点信息以及发布帖子和评论,发起人登录后可以发起拼团和管理拼团订单。在后台展示个人中心管理、用户管理、发起人管理、景点管理、分类管理、拼团旅游管理、拼团订单管理、评论信息管理和论坛管理、系统管理。本系统实现了旅游拼团的网上参与,帮助想要旅游的用户预约拼团,同时帮助管理员管理订单信息和景点信息等。

二、系统功能分析

本系统的功能包括前台和后台两方面,前台的功能为旅游景点信息、拼团信息、旅游资讯信息、论坛信息等,用户可以参与拼团,发起者可以发起拼团和管理拼团订单、参团信息。后台的功能为用户管理、评价管理、景点信息管理、拼团旅游管理等。在前台的主要操作人员为注册用户和发起人,都可以发布帖子参与讨论,在后台的主要操作人员为管理员,负责用户信息、发起人信息和前台信息的管理。 

三、小程序端

3.1小程序首页 

在前台界面里的主要使用人员为用户、发起人,游客可以通过注册成为用户和发起人,在前台里展示的信息有资讯信息、旅游景点信息、论坛信息等。前台界面的实现效果如下图

3.2发起拼团功能的实现界面

发起人填写具体的资料后就可以实现拼团的发起。发起拼团功能的实现界面如下图

3.3参与拼团功能的实现

用户可以参与拼团,参与拼团功能的实现界面如下图

3.4我的功能界面实现

我的功能里可以管理参团信息、拼团订单、评价信息、收藏信息、帖子信息、拼团旅游等。我的功能实现界面如下图

 

四、管理员功能模块

4.1管理员登录功能的实现界面

管理员登录功能设计在前台界面里,管理员点击后台管理功能可以进入管理员登录功能界面里,在此界面里可以看到所有元素,管理员输入必要的信息完成验证后就可以进入自己的操作界面。管理员登录界面的设计效果如下图

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

管理员可以管理个人资料和密码。管理员修改密码的实现界面如下图

4.3论坛管理功能的界面实现

本功能可以实现审核论坛和帖子的目的,管理员在本功能里可以实现帖子的回复和册除、修改等。管理员查询论坛的实现界面如下图

4.4拼团旅游管理功能的实现界面

本功能可以实现拼团旅游的更新管理,拼团旅游可以使用户参团。管理员查询拼团旅游功能的实现界面如下图

4.5评价信息管理功能的界面实现

管理员在此功能里可以查看到用户的评价内容和进行回复、删除。管理员查询评价信息的实现界面如下图

4.6用户管理功能的界面实现

游客注册后的信息都会流动到本功能里,管理员需要审核用户的注册资料后才可以正式成为用户,管理员审核用户信息的实现界面如下图

4.7参团信息管理功能的界面实现

管理员也可以查看具体的参团信息,管理员负责删除参团信息。管理员查询参团信息功能的实现界面如下图

4.7拼团订单管理功能的实现界面

管理员可以查询拼团的组织情况以及参团的用户详情,并对拼团订单信息进行删除、查询。拼团订单功能的实现界面如下图

五、部分核心代码

5.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. getMima(). equals(password)) {
  9. return R. error( "账号或密码不正确");
  10. }
  11. String token = tokenService. generateToken(user. getId(), username, "yonghu", "用户" );
  12. return R. ok(). put( "token", token);
  13. }

5.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/128749930
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场