💗博主介绍:✌全网粉丝15W+,CSDN全栈领域优质创作者,博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战,以及程序定制化开发、文档编写、答疑辅导等。
👇🏻 精彩专栏 推荐订阅👇🏻
计算机毕业设计精品项目案例(持续更新)
🌟文末获取源码+数据库+文档🌟
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和学长沟通,希望帮助更多的人
一.前言
随着人们生活水平的提高和交通工具的普及,自驾游已成为一种广受欢迎的旅行方式。然而,自驾游过程中常面临路线规划、交通信息获取、住宿预订等挑战。为了提升自驾游的便利性和体验感,利用微信小程序这一便捷平台,为自驾游者提供实时交通信息、路线规划、住宿预订等一站式服务,成为当前研究的热点。通过微信小程序,自驾游者可以更加高效地规划行程,享受更加顺畅和个性化的旅行体验。
本基于微信小程序的自驾游小程序前端使用微信开发者工具设计,对应小程序的基本组件和页面,通过微信官方的控件属性或者自设属性填充wxss,然后根据业务流程确定各页面逻辑js。数据库使用mysql,小程序框架使用Uni-weixin,管理员界面联系之前所学的web开发相关知识,使用eclipse设计出管理员登录和管理界面,服务器用tomcat8.0搭建。使用springboot框架开发。
二.技术环境
jdk版本:1.8 及以上
ide工具:Eclipse或者 IDEA,微信小程序开发工具
数据库: mysql5.7 (必须5.7)
编程语言: Java
java框架:SpringBoot
maven: 3.6.1
详细技术:HTML+CSS+JAVA+SpringBoot+MYSQL+VUE+MAVEN+微信开发工具
三.功能设计
本系统有三个角色:管理员、旅行社服务端和自驾游用户微信端,要求具备以下功能:
(a) 管理员;管理员使用本系统涉到的功能主要有:系统首页、驾游用户、旅行社、景点分类、旅游景点、行程定制、行程购买、租车服务、车辆租借、旅游攻略、游记分享、轮播图管理、个人中心等功能。管理员用例图如图所示。
(b) 旅行社;旅行社使用本系统涉到的功能主要有:系统首页、景点分类、旅游景点、行程定制、行程购买、租车服务、车辆租借、旅游攻略、个人中心等功能。旅行社用例图如图所示。
© 自驾游用户;进入系统可以实现首页、旅游景点、行程定制、租车服务、游记分享、我的等功能进行操作。自驾游用户用例图如图所示。
系统总体功能结构图如下所示:
程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
四.数据设计
数据库概念模型的设计是为了抽象真实世界的信息,并对信息世界进行建模。它是数据库设计的强大工具。数据库概念模型设计可以通过E-R图描述现实世界的概念模型。而且Mysql数据库是自我保护能力比较强的数据库,限于篇幅要求,仅列出关键部分实体属性图和E-R图,如下所述。
五.部分效果展示
5.1自驾游用户微信端功能实现效果
注册界面,第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将自驾游用户信息录入注册表,确认信息正确后,页面才会跳转到登录界面,自驾游用户登录成功后可使用本小程序所提供的所有功能,如图所示。
系统首页是自驾游用户注册登录后进入的第一个界面,自驾游用户可通过小程序端首页进入对应的页面或者通过小程序最下面的那一行导航栏中的“首页、旅游景点、行程定制、租车服务、游记分享、我的”,也可以点击“我的”进入我的页面,在我的页面可以对行程购买、车辆租借、游记分享、我的收藏管理等进行详细操作,如图所示。
自驾游用户点击旅游景点,在旅游景点页面的输入栏景点名称,进行搜索,还可以查看景点名称、景点分类、星级等级、景点图片、景区门票/位、服务电话、详情地址、景点介绍、账号、旅行社名称等信息。如有需要可以进行赞、踩、收藏评论等操作。如图所示。
自驾游用户点击行程定制,在行程定制页面可以查看行程名称、行程类型、出行时间、乘坐交通、住宿酒店、行程价格、行程路线、游玩攻略、行程图片、账号、旅行社名称、赞、踩、评论数、收藏数等信息,如有需要可以进行购买、赞、踩、收藏评论等操作。如图所示。
自驾游用户点击租车服务,在租车服务页面可以查看车牌号、类型、品牌、颜色、图片、日租金、租用情况、座位、数量、汽车详情、账号、旅行社名称、赞、踩、评论数、收藏数等信息,如有需要可以进行租车、赞、踩、收藏评论等操作。如图所示。
在我的功能界面,用户点击“我的”进入我的页面,在我的页面可以对行程购买、车辆租借、游记分享、我的收藏管理等进行详细操作,如图所示。
5.2管理员服务端功能实现效果
管理员的登陆界面包括管理员的账号、密码,其中就是已有的账号,还有需要注册的账号。只要管理员在账号上注册,注册信息就会被录入 MySQL数据库,有一个资料库,只要输入成功,就可以登陆,然后进入主页的管理。管理员登录界面如图所示。
管理员登录到自驾游微信小程序可以查看系统首页、驾游自驾游用户、旅行社、景点分类、旅游景点、行程定制、行程购买、租车服务、车辆租借、旅游攻略等功能进行详细操作,如图所示。
在旅行社信息的输入栏中输入旅行社名称、规模进行查找,可以查看到旅行社详细信息,并根据需要进行修改或者删除等操作。如图所示。
管理员点击旅游景点;在旅游景点页面对景点名称,进行搜索,还可以查看景点名称、景点分类、星级等级、景点图片、景区门票/位、服务电话、详情地址、景点介绍、账号、旅行社名称、评论数、收藏数等信息,进行查找、景点分类统计、景点门票统计、修改或删除旅游景点等操作;如图所示。
管理员点击行程定制;在行程定制页面对行程名称、行程类型、出行时间、乘坐交通、住宿酒店、行程价格、行程路线、游玩攻略、行程图片、账号、旅行社名称、评论数、收藏数等信息,进行查找、修改、查看评论或删除行程定制等操作;如图所示。
管理员点击行程购买;在行程购买页面对行程名称、行程类型、乘坐交通、住宿酒店、帐号、旅行社名称、行程价格、用户帐号、用户姓名、行程图片、是否支付等信息,进行查找、行程分析、修改或删除等操作;如图所示。
管理员点击游记分享;在游记分享页面对游记标题、景区图片、内容、用户姓名、分类标签、发布时间、评论数、收藏数、审核回复、审核状态等信息,进行查找、审核、查看评论或游记分享等操作;如图所示。
5.3旅行社服务端功能实现效果
旅行社登录系统后,可以对系统首页、景点分类、旅游景点、行程定制、行程购买、租车服务、车辆租借、旅游攻略、个人中心等功能进行相应操作,如图所示。
部分功能代码
/**
* 上传文件
*/
@RequestMapping("/upload")
@IgnoreAuth
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
if (file.isEmpty()) {
throw new EIException("上传文件不能为空");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {
upload.mkdirs();
}
String fileName = new Date().getTime()+"."+fileExt;
if(StringUtils.isNotBlank(type) && type.contains("_template")) {
fileName = type + "."+fileExt;
new File(upload.getAbsolutePath()+"/"+fileName).deleteOnExit();
}
File dest = new File(upload.getAbsolutePath()+"/"+fileName);
file.transferTo(dest);
if(StringUtils.isNotBlank(type) && type.equals("1")) {
ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
if(configEntity==null) {
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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 UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
源码及文档获取
文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻
最新计算机毕业设计选题篇-选题推荐
小程序毕业设计精品项目案例-200套
Java毕业设计精品项目案例-200套
Python毕业设计精品项目案例-200套
大数据毕业设计精品项目案例-200套
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。