ssm威宁草海旅游-计算机毕业设计源码24776

摘 要

随着互联网的快速发展,越来越多的游客开始通过手机APP或网站进行自助旅游规划。为了满足游客的需求,越来越多的景区开始重视移动端应用的开发。随着微信平台的广泛使用,微信云开发技术为各种应用和服务提供了强大的支持。威宁草海旅游项目位于我国贵州省威宁市,是一个以草海景观为主的自然风光景区。威宁草海作为中国的重要自然景观,拥有得天独厚的旅游资源,每年吸引大量游客前来观光旅游。近年来,随着我国旅游业的快速发展,威宁草海旅游项目也受到了越来越多的游客的关注。然而,传统的旅游服务和管理方式已经难以满足日益增长的游客需求。为了进一步推广威宁草海旅游资源,提升旅游服务质量和满足游客需求,开发一款基于微信云开发技术的威宁草海旅游项目系统变得尤为重要。

基于微信云开发技术的威宁草海旅游项目系统是基于Java语言、MySQL数据库、SSM框架进行开发。通过此系统,游客可以更加方便快捷地获取威宁草海的景点,景点活动、酒店等信息,可以在线完成景点门票的购买、酒店的预定等,从而提高旅游体验。同时,旅游管理部门也可以通过此系统实时监控景区情况,进行有效的管理和调度,提升景区服务质量。基于微信云开发技术的威宁草海旅游项目系统既顺应了时代的发展趋势,又满足了游客和旅游管理部门的需求,具有重大的现实意义和应用价值。

关键词:微信云开发技术;威宁草海旅游项目;游客、SSM;

Abstract

With the rapid development of the Internet, more and more tourists are starting to use mobile apps or websites for self-service travel planning. In order to meet the needs of tourists, more and more scenic spots are paying attention to the development of mobile applications. With the widespread use of We Chat platform, We Chat cloud development technology provides strong support for various applications and services. The Weining Caohai Tourism Project is located in Weining City, Guizhou Province, China. It is a natural scenic spot mainly featuring Caohai landscape. Weining Caohai, as an important natural landscape in China, has unique tourism resources and attracts a large number of tourists every year for sightseeing. In recent years, with the rapid development of China's tourism industry, the Weining Caohai tourism project has also received increasing attention from tourists. However, traditional tourism services and management methods are no longer able to meet the growing demand of tourists. In order to further promote the tourism resources of Weining Caohai, improve the quality of tourism services, and meet the needs of tourists, it has become particularly important to develop a Weining Caohai tourism project system based on We Chat cloud development technology.

The Weining Caohai Tourism Project System based on We Chat cloud development technology is developed using Java language, MySQL database, and SSM framework. Through this system, tourists can more conveniently and quickly obtain information about attractions, activities, hotels, and other attractions in Weining Caohai. They can purchase tickets for attractions and book hotels online, thereby improving the travel experience. At the same time, tourism management departments can also monitor the situation of scenic spots in real time through this system, carry out effective management and scheduling, and improve the quality of scenic spot services. The Weining Caohai tourism project system based on We Chat cloud development technology not only conforms to the development trend of the times, but also meets the needs of tourists and tourism management departments, and has significant practical significance and application value.

Keywords: We Chat cloud development technology; Weining Caohai Tourism Project; Tourists, SSM;

目  录

第1章 绪论

1.1 研究背景

1.2 研究意义

1.3研究方案

1.4论文结构与章节安排

第2章 相关技术介绍

2.1 B/S架构

2.2 SSM框架介绍

2.3 MySQL数据库

2.4 微信云开发技术

2.4.1 技术简介

2.4.2 功能特点

2.4.3 开发步骤

2.4.4 优势与价值

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 市场可行性

3.1.4 社会可行性

3.2 系统流程分析

图3-1用户登录操作流程图

3.2.2 数据新增流程

图3-2数据新增操作流程图

3.2.3 数据删除流程

图3-3数据删除操作流程图

3.3 系统功能需求

3.3.1 功能性分析

3.3.2 非功能性分析

3.4 系统用例分析

3.5本章小结

第4章 系统设计

4.1 系统功能模块设计

4.2 数据库设计

4.2.1 数据库概念结构设计

4.2.2 数据库逻辑结构设计

4.3 表access_token (登陆访问时长)

4.4 表article (文章:用于内容管理系统的文章)

表article_type (文章分类)

4.5 表attraction_activities (景点活动)

4.6 表auth (用户权限管理)

4.7 表collect (收藏)

4.8 表comment (评论)

4.9 表event_reservation (活动预定)

4.10 表hits (用户点击)

4.11 表hometown_specialties (家乡特产)

4.12 表hotel_information (酒店信息)

4.13 表hotel_reservations (酒店预定)

4.14 表introduction_to_scenic_spots (景点介绍)

4.15 表notice (公告)

4.16 表praise (点赞)

4.17 表purchase_of_specialty_products (特产购买)

4.18 表regular_users (普通用户)

4.19 表sensitive_vocabulary (敏感词汇)

4.20 表slides (轮播图)

4.21 表ticket_purchase (门票购买)

4.22 表upload (文件上传)

4.23 表user (用户账户:用于保存用户登录信息)

4.24 表user_group (用户组:用于用户前端身份和鉴权)

4.3本章小结

第5章 系统详细设计实现

5.1 普通用户功能模块

5.1.1 首页界面

5.1.2 用户注册界面

5.1.3 用户登录界面

5.1.4 景点介绍界面

5.1.5 景点活动界面

5.1.6 酒店信息界面

5.1.7 家乡特性界面

5.1.8 我的界面

5.2 管理员功能模块

5.2.1 系统用户界面

5.2.2 景点介绍管理界面

5.2.3 门票购买管理界面

5.2.4 景点活动管理界面

5.2.5 活动预定管理界面

5.2.6 酒店信息管理界面

5.2.7 家乡特产管理界面

5.2.8 系统管理界面

5.2.9 通知公告管理界面

5.2.10 资源管理界面

第6章 系统测试

6.1 测试目的

6.2 测试用例

6.2.1 用户登录功能测试

6.2.2 旅游资讯查看功能测试

6.2.3 轮播图添加功能测试

6.2.4 用户信息删除功能测试

6.2.5 用户密码修改功能测试

6.2.6 景点门票购买功能测试

6.3 测试结果

第七章  总结

参考文献

致  谢

  1. 绪论
    1. 研究背景

威宁草海位于我国贵州省威宁市,是具有世界自然遗产、国家5A级旅游景区、国家级风景名胜区等多项荣誉的著名旅游景点。威宁草海面积广阔,海拔高度在1200-1300米之间,是一个以草海风光为主的综合性景区。由于地理位置独特,气候条件优越,威宁草海被誉为“地球上最美丽的伤疤”。而威宁草海作为我国著名的旅游景点具有丰富的旅游资源、优美的自然环境、独特的民族文化等。然而,由于种种原因,威宁草海的旅游业发展仍处于起步阶段,尚未发挥出其潜力。

随着科技的不断发展,互联网已经成为了现代社会的重要组成部分。在互联网的大潮下,各种应用软件层出不穷,给人们的生活和工作带来了越来越大的便利。其中,微信云开发技术是一种基于微信公众平台进行开发的技术,可以为企业或个人提供高效便捷的移动应用开发服务。为了进一步推广威宁草海旅游资源,提升旅游服务质量,建立一个基于微信云开发技术的威宁草海旅游项目系统显得尤为必要。

    1. 研究意义

威宁草海作为我国著名的旅游景点,发展旅游业已成为促进当地经济发展的重要手段。研究一个基于微信云开发技术的威宁草海旅游项目系统具有重要的意义,其意义主要体现在以下几个方面:

首先,可以提高威宁草海旅游资源的开发效率:威宁草海拥有丰富的自然景观和民族文化,具有很高的旅游潜力。然而,由于缺乏统一的旅游信息系统,导致游客信息不对称、服务质量参差不齐。通过建立威宁草海旅游项目系统,可以实现对旅游资源的有效开发和利用,提高旅游业的整体竞争力。

其次,可以提升游客体验:微信云开发技术可以为威宁草海旅游项目提供便捷的在线服务,游客可以通过系统查询草海的相关信息,预定酒店、景点门票、购买特产等,还可以通过微信支付功能完成交易。此外,系统还提供了智能AI机器人、可以在线向咨询相关信息,大大提升游客的旅游体验。

再次,可以提升品牌形象:威宁草海旅游项目系统作为一个先进的旅游预订平台,可以有效提升威宁草海旅游品牌的形象,让更多的人了解和认识威宁草海。

最后,可以促进旅游业的可持续发展:旅游业是一个支柱产业,对于威宁草海旅游项目系统的研究和应用,有助于促进旅游业的可持续发展。通过实时监测游客数量、旅游消费等信息,系统可以有效地控制旅游业的规模,避免资源的过度开发和环境破坏。同时,系统还可以为政府部门提供决策支持,为旅游业的可持续发展提供参考依据。

1.3研究方案

  1. 进行需求分析:对系统进行需求分析以了解用户需求和要实现的功能。
  2. 确定系统的整体架构:根据需求分析,设计小程序的整体架构,在对各种开发平台、开发技术、开发环境、数据库技术等各方面的比较下,选择更加适合的开发方案。
  3. 完成数据库的设计:设计一个合理的数据模型,用于存储和管理系统中的各项数据,如用户信息、景点信息、酒店信息等。
  4. 完成界面的设计:设计并实现用户界面,设计的界面应简洁友好且易于操作,以提升用户体验。
  5. 系统的实现:完成各个功能模块的具体编程实现,将设计结果转化为计算机可运行的程序。
  6. 完成小程序的测试和优化:功能模块开发完成后,进行全面的测试。包括功能测试、性能测试、安全性测试等,确保小程序运行的稳定性和可靠性。

1.4论文结构与章节安排

论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第一章:绪论。主要介绍了课题研究的背景,意义和本文的结果与章节作。

第二章:相关技术介绍。

第三章:系统分析。主要从系统的可行性及系统功能等方面进行分析。

第四章:系统设计。主要对系统功能模块、数据库进行功能设计。

第五章:系统详细设计与实现。主要介绍了系统界面的实现。

第六章:系统测试。主要对系统的部分功能进行测试。

第七章:总结。

  1. 相关技术介绍
    1. B/S架构

B/S架构(浏览器/服务器)是当前应用最为广泛的一种架构,能够使系统的开发变得容易、易操作、易于维护。当你在你的电脑上安装一个数据库和几个非常常见的浏览器时,你就可以使用这个结构。B/S结构可以直接用于 B/S系统,并且 B/S架构可以在实际应用中大大降低了系统的运行维护。在 B/S平台上,各数据库彼此独立,具有很高的安全性。由于 B/S架构可以清晰地观察到系统所处理的业务,使管理者可以及时做出决定,从而避免了企业的亏损。B/S架构的本质特征是集中式管理,用户通过系统产生的数据,将其存入数据库,便于以后的应用,从而达到了各种需要。

B/S模型由一个浏览器、一个网络服务器、一个数据库服务器三个层级构成。数据管理采用了当前大部分现有B/S系统的表现层、应用层和数据层,Web浏览器是为了满足用户的要求而设计的,在数据处理和逻辑过程中使用的中间应用层,从而形成分布式的运行模式。B/S体系结构的逻辑是:在前端完成的处理,将主要的业务逻辑交给后台,而前端只负责少量的请求、渲染等。由于因特网技术的迅速发展,B/S体系结构使得任何时间、任何地点都能访问到该系统。

图2-1 B/S模式三层结构图

    1. SSM框架介绍

SSM(Spring+Spring MVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(Spring MVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

1.8.1 Spring

Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。

Spring的核心思想是IOC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。

1.8.2 Spring MVC

Spring MVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过Handler Mapping去匹配Controller,Controller就是具体对应请求所执行的操作。Spring MVC相当于SSH框架中struts。

1.8.3 Mybatis

Mybatis是对JDBC的封装,它让数据库底层操作变的透明。Mybatis的操作都是围绕一个SQL Session Factory实例展开的。Mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的SQL语句映射。在每次与数据库交互时,通过SQL Session Factory拿到一个SQL Session,再执行SQL命令。

页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。

    1. MySQL数据库

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的MySQL并不是甲骨文公司的,后来才被他收购的。MySQL非常的小巧,安装包才几兆,SQL语言的书写也比较容易学习,最重要的是MySQL同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用MySQL进行数据库管理。MySQL的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以MySQL在使用上还是更多的使用在中小项目中。

MySQL不会对平台有需求,所以任何一个程序员都可以通过 MySQL数据库来完成自己的系统开发,并且还可以节约大量的资源。因为它具有强大功能,所以可以用来储存这个系统的数据。

MySQL适合于各种应用,我们在运行数据库的时候,也很容易上手,我们只要编写一段代码,就可以完成相应的功能,并且可以在任何的平台上使用,而不需要再进行第二次的编译。MySQL数据库还具备在本地存储数据和允许结构化查询以方便管理的优势;MySQL是一个完全网络化的系统,它的数据库可以在互联网的任何位置被访问,它可以在任何地点与任何人分享;此外,MySQL也提供了存取控制的能力,可以阻止数据被非法使用,MySQL服务稳定,开发成本低,所以在开发过程中,MySQL数据库是最受欢迎的。

    1. 微信云开发技术
      1. 技术简介

微信云开发技术,简称“云开发”,是微信团队联合腾讯云推出的专业小程序开发服务。该技术让开发者无需自建服务器,只需编写自身业务逻辑代码,即可快速开发小程序、小游戏、公众号网页等,并原生打通微信开放能力。云开发包含四大组件:云函数、云数据库、云存储和云调用。

  1. 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码。
  2. 云数据库:一个既可在小程序前端操作,也能在云函数中读写的JSON 数据库。
  3. 云存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理。
  4. 云调用:基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力。
      1. 功能特点
  1. 弹性伸缩:微信云开发具备强大的弹性伸缩能力,可以根据应用的实际需求自动调整资源,确保应用在高并发场景下依然流畅运行。
  2. 自动备份:开发者可以设置自动备份,确保数据安全。即使在某些极端情况下,也能迅速恢复数据,降低损失。
  3. 实时通讯:借助微信云开发的实时通讯功能,开发者可以轻松实现多用户间的即时互动,提升用户体验。
      1. 开发步骤

开发者使用云开发进行小程序开发的步骤如下:

1.建立云开发项目:在开发者工具工具栏左侧,点击“云开发”按钮即可打开云控制台,根据提示开通云开发、创建云环境。

2. 开通云服务:在开发者工具中点击“云开发”菜单,选择“管理云开发”,按照提示开通云服务。

3. 编写业务逻辑代码:使用微信开发者工具中的代码编辑器,编写小程序的前端代码和云函数。

4. 部署和发布:将代码部署到腾讯云服务器上,通过微信审核后即可发布。

      1. 优势与价值
  1. 开发效率:由于微信云开发简化了后端开发和运维流程,开发者可以专注于业务逻辑的实现,大大提高开发效率。
  2. 降低成本:采用微信云开发,企业无需投入大量资源用于服务器和运维团队的建

设,有效降低运营成本。

  1. 用户体验:借助微信云开发,移动应用可以快速响应用户需求,提供更优质的服

务,提升用户满意度。

  1. 系统分析
    1. 可行性分析
      1. 技术可行性

随着互联网的快速发展,越来越多的企业开始重视移动端的应用开发。微信作为一种轻量级、高度便捷的社交软件,已成为人们生活和工作中不可或缺的一部分。微信云开发技术作为一种基于微信公众平台的API,为企业提供了快速、高效地构建移动应用的能力。微信云开发技术已经在实际应用中取得了很好的效果,为景区提供了丰富的功能和服务。利用微信云开发技术具有以下优势:

  1. 与原生应用相比,微信云开发技术具有更高的开发效率。微信云开发技术基于微信小程序,使用门槛较低,开发周期更短,能够为企业节省大量人力和物力成本。

2. 微信云开发技术具有更广泛的覆盖范围。微信小程序支持多种平台,包括微信、支付宝、百度等,使得企业可以快速将应用推广至更多用户群体。

3. 微信云开发技术可以有效提升用户体验。小程序具有轻量、高效的特点,用户可以直接在小程序内完成操作,无需下载安装原生应用。

4. 微信云开发技术具有更高的安全性和可靠性。小程序采用了沙箱模式,可以有效防止应用对系统安全造成的影响。

因此,开发基于微信云开发技术的威宁草海旅游项目在技术层面是可行的。

      1. 经济可行性
  1. 基于微信云开发技术的威宁草海旅游项目在实施过程中,需要投入一定的技术研发和市场推广费用。但随着项目的推广和应用,可以实现较高的经济效益,主要体现在以下几个方面;
  2. 通过微信云开发技术,可以实现旅游景点线上宣传和门票购买功能,降低旅游项目的宣传成本。
  3. 通过微信云开发技术,系统可以实现在线购买景点门票和景点活动门票、在线预定酒店和在线支付等功能,降低旅游景点管理的人力成本
  4. 通过系统可以实现景区与游客的良性互动,提高景区的经济效益,同时还可以与周边酒店、餐饮等产业相融合,形成完整的旅游产业链。

因此,开发基于微信云开发技术的威宁草海旅游项目系统从经济层面上分系是可行的。

      1. 市场可行性

基于微信云开发技术的威宁草海旅游项目系统,具有较高的市场可行性。原因如下:

  1. 庞大的用户群体:微信已成为中国最大的社交平台,拥有数亿用户。威宁草海旅游项目可以借助微信平台庞大的用户群体,实现项目的推广和传播。
  2. 便捷的社交互动:微信小程序具有高度便捷的社交互动功能,用户可以在小程序内进行分享、评论、点赞等操作,增加用户粘性。
  3. 强大的推广能力:通过微信平台的推广工具,威宁草海旅游项目可以实现定向推广、付费推广等效果,提高项目的知名度和美誉度。

因此,开发基于微信云开发技术的威宁草海旅游项目系统从市场角度上分系是可行的。

      1. 社会可行性

威宁草海旅游项目系统的实施将带来广泛的社会效益。首先,该系统可以提高威宁草海的知名度和美誉度,吸引更多游客前来观光旅游。其次,该系统可以促进当地就业和经济发展,提高人民生活水平。最后,该系统可以推动威宁草海旅游产业的转型升级,提升整个行业的竞争力。因此,从社会角度来看,该系统同样具有可行性。

    1. 系统流程分析

3.2.1 用户登录流程

用户通过登录才能访问系统及权限以内的功能,用户登录流程图如下图3-1所示。

3-1用户登录操作流程图

3.2.2 数据新增流程

管理员登入系统后能够实现增加数据的操作,增加数据的编号系统生成,除了编号以外,其他增加信息由管理员填写,填写后的信息经过系统验证,验证通过即可完成数据的新增数据新增流程如下图3-2所示:

图3-2数据新增操作流程图

3.2.3 数据删除流程

如果系统里面存在一些没有用的数据,管理人员可以对这些数据进行删除,数据删除的流程图如下图3-3所示:

图3-3数据删除操作流程图

    1. 系统功能需求
      1. 功能性分析

按照基于微信云开发技术的威宁草海旅游项目的角色分析主要包括普通用户和管理员这两大模块各模块功能内容如下:

  1. 普通用户功能:

1)首页:用户可以查看首页轮播图、通知公告及系统导航栏、旅游资讯、景点介绍等信息。

2)注册登录:游客可以通过注册成为系统用户。

3)AI模型机器人:点击首页左边的AI模型机器人可以跟AI模型机器人进行在线咨询交流。

4)旅游资讯:用户可以旅游资讯列表中某一资讯信息详情并可以进行点赞、收藏和发表评论操作。

5)景点介绍:可以查看景点信息详情,同时可以进行点赞、收藏、发表评论和完成在线购票操作

6)景点活动:用户可以查看景点活动信息列表,点击某一活动可以查看活动信息详情,同时可以进行点赞、收藏、发表评论和完成在线预定操作

7)酒店信息: 用户可以查看酒店信息列表,点击某一酒店可以查看活动信息详情,同时可以进行点赞、收藏、发表评论和完成在线预定操作

8)家乡特产:  用户可以查看家乡特产列表中某一特产可以查看特产信息详情,同时可以进行点赞、收藏、发表评论和完成在线购买操作

9)导航地图:用户可以使用百度地图导航APP进行导航。

10)我的:用户可以修改个人基本信息和登录密码,可以查看和管理个人门票购买、活动预定、酒店预定、特产购买、收藏信息。

2. 管理员功能:

1)后台首页:管理员可以查看后台首页信息。

2)系统用户:管理员可以对系统用户信息进行查询、重置、添加和删除操作。

3) 景点介绍管理:管理员可以添加景点介绍信息,可以查看景点介绍列表中的某一景点详情及评论信息,可以对列表信息进行查询、重置和删除操作。

4)门票购买管理:管理员可以查看门票购买列表中的某一信息详情,可以对列表信息进行查询、重置和删除操作。

5)景点活动管理:管理员可以添加景点活动信息,可以查看景点活动列表中的某一活动详情及评论信息,可以对列表信息进行查询、重置和删除操作。

6)活动预定管理:管理员可以查看活动预定列表中的某一预定详情信息,可以对活动预定列表信息进行查询、重置和删除操作。

7) 酒店信息管理:管理员可以添加酒店信息,可以查看酒店信息列表中的某一酒店信息详情及评论信息,可以对酒店信息列表进行查询、重置和删除操作。

8) 酒店预定管理:管理员可以查看酒店预定列表中的某一预定详情信息,可以对酒店预定列表信息进行查询、重置和删除操作。

9) 家乡特产管理:管理员可以添加家乡特产信息,可以查看特产信息列表中的某一特产信息详情及评论,可以对特产信息列表进行查询、重置和删除操作。

10)特产购买管理:管理员可以查看特产购买列表中的某一购买信息详情,可以对特产购买列表信息进行查询、重置和删除操作。

11)系统管理:管理员可以对轮播图信息进行查询、添加、重置和删除操作。

12)通知公告管理;管理员可以对通知公告信息进行查询、添加、重置和删除操作。

13) 资源管理:管理员可以对新闻列表和新闻分类列表信息进行查询、添加、重置和删除操作。

      1. 非功能性分析

基于微信云开发技术的威宁草海旅游项目系统的非功能性需求主要包括项目系统的可靠性、可扩展性可维护性安全性性能与效率。具体内容如下:

  1. 可靠性:可靠性是任何系统稳定的基础。在旅游业中,游客的安全、景区设备的稳定运行以及数据的安全存储和传输都是至关重要的。基于微信云开发技术,可以实现对游客安全、景区设备运行状态和数据传输的监控和保障,提高系统的可靠性。
  2. 可扩展性随着旅游业的快速发展,威宁草海旅游项目需要不断地接纳新的游客和设备。基于微信云开发技术,可以实现系统的快速扩展,满足项目方的需求。
  3. 可维护性随着项目方的需求和设备技术水平的提升,威宁草海旅游项目需要不断地进行更新和维护。基于微信云开发技术,可以实现系统的模块化设计,方便项目方的维护和升级工作。
  4. 安全性在旅游业中,游客的个人信息安全、景区设备的安全以及数据的安全传输至关重要。基于微信云开发技术,可以实现对游客个人信息和设备数据的加密和权限控制,提高系统的安全性。
  5. 性能与效率在旅游业中,快速、高效的管理和营销能力是提升竞争力的关键。基于微信云开发技术,可以实现对数据的实时分析、处理和传输,提高系统的性能和效率。
    1. 系统用例分析

通过3.3功能的分析,得出了基于微信云开发技术的威宁草海旅游项目的角色用例图:

普通用户角色用例图如下图3-4所示。

3-4普通用户角色用例图

管理员角色用例图如下图3-5所示。

3-5管理员角色用例图

3.5本章小结

本章主要通过对基于微信云开发技术的威宁草海旅游项目的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个基于微信云开发技术的威宁草海旅游项目要实现的功能。同时也为基于微信云开发技术的威宁草海旅游项目的代码实现和测试提供了标准。

  1. 系统设计

本章主要讨论的内容包括基于微信云开发技术的威宁草海旅游项目的功能模块设计、数据库系统设计。

    1. 系统功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了基于微信云开发技术的威宁草海旅游项目的角色用例。那么接下来就要开始对基于微信云开发技术的威宁草海旅游项目主要功能和数据库开始进行设计。基于微信云开发技术的威宁草海旅游项目系统根据前面章节的需求分析得出,其总体功能模块图如下图4-1所示。

图4-1 系统功能结构图

    1. 数据库设计
      1. 数据库概念结构设计

借助先进的系统,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据基于微信云开发技术的威宁草海旅游项目分析结果,整个基于微信云开发技术的威宁草海旅游项目包括以下各个单元:景点介绍、景点活动、酒店信息、家乡特产信息等。系统的主要实体间关系E-R图分别如下图4-2、4-3、4-4、4-5所示。

图4-2景点介绍信息E-R关系图

图4-3景点活动信息E-R关系图

图4-4酒店信息E-R关系图

图4-5 家乡特产信息E-R关系图

总体ER图如下图4-6所示。

图4-6 总体ER图

      1. 数据库逻辑结构设计

通过上一小节中基于微信云开发技术的威宁草海旅游项目系统中总E-R关系图上得出一共需要创建很多个数据表。在此主要罗列几个主要的数据库表结构设计。

    1. 表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

    1. 表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表attraction_activities (景点活动)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

attraction_activities_id

int

10

0

N

Y

景点活动ID

2

activity_name

varchar

64

0

Y

N

活动名称

3

activity_images

varchar

255

0

Y

N

活动图片

4

event_address

varchar

64

0

Y

N

活动地址

5

event_tickets

int

10

0

Y

N

0

活动门票

6

activity_time

date

10

0

Y

N

活动时间

7

activity_content

text

65535

0

Y

N

活动内容

8

hits

int

10

0

N

N

0

点击数

9

praise_len

int

10

0

N

N

0

点赞数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

    1. 表event_reservation (活动预定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_reservation_id

int

10

0

N

Y

活动预定ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户名称

4

activity_name

varchar

64

0

Y

N

活动名称

5

event_address

varchar

64

0

Y

N

活动地址

6

event_tickets

varchar

64

0

Y

N

活动门票

7

purchase_quantity

int

10

0

Y

N

0

购买数量

8

purchase_amount

varchar

64

0

Y

N

购买金额

9

expected_date

date

10

0

Y

N

预定日期

10

pay_state

varchar

16

0

N

N

未支付

支付状态

11

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

    1. 表hometown_specialties (家乡特产)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hometown_specialties_id

int

10

0

N

Y

家乡特产ID

2

specialty_name

varchar

64

0

Y

N

特产名称

3

specialty_pictures

varchar

255

0

Y

N

特产图片

4

specialty_prices

int

10

0

Y

N

0

特产价格

5

method_of_consumption

varchar

64

0

Y

N

食用方法

6

historical_background

text

65535

0

Y

N

历史背景

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表hotel_information (酒店信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_information_id

int

10

0

N

Y

酒店信息ID

2

hotel_name

varchar

64

0

Y

N

酒店名称

3

hotel_image

varchar

255

0

Y

N

酒店图片

4

hotel_star_rating

varchar

64

0

Y

N

酒店星级

5

room_price

int

10

0

Y

N

0

房间价格

6

hotel_address

varchar

64

0

Y

N

酒店地址

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表hotel_reservations (酒店预定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_reservations_id

int

10

0

N

Y

酒店预定ID

2

ordinary_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户名称

4

hotel_name

varchar

64

0

Y

N

酒店名称

5

hotel_address

varchar

64

0

Y

N

酒店地址

6

room_price

varchar

64

0

Y

N

房间价格

7

number_of_occupants

int

10

0

Y

N

0

入住人数

8

purchase_amount

int

10

0

Y

N

0

购买金额

9

check_in_time

date

10

0

Y

N

入住时间

10

pay_state

varchar

16

0

N

N

未支付

支付状态

11

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表introduction_to_scenic_spots (景点介绍)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

introduction_to_scenic_spots_id

int

10

0

N

Y

景点介绍ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

scenic_spot_pictures

varchar

255

0

Y

N

景点图片

4

location_of_tourist_attractions

varchar

64

0

Y

N

景点位置

5

attraction_tickets

int

10

0

Y

N

0

景点门票

6

opening_hours

date

10

0

Y

N

开放时间

7

introduction_to_scenic_spots

text

65535

0

Y

N

景点介绍

8

hits

int

10

0

N

N

0

点击数

9

praise_len

int

10

0

N

N

0

点赞数

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

    1. 表purchase_of_specialty_products (特产购买)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchase_of_specialty_products_id

int

10

0

N

Y

特产购买ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户名称

4

specialty_name

varchar

64

0

Y

N

特产名称

5

specialty_prices

varchar

64

0

Y

N

特产价格

6

purchase_quantity

int

10

0

Y

N

0

购买数量

7

purchase_amount

varchar

64

0

Y

N

购买金额

8

purchase_date

date

10

0

Y

N

购买日期

9

pay_state

varchar

16

0

N

N

未支付

支付状态

10

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户名称

3

contact_number

varchar

64

0

Y

N

联系电话

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

    1. 表ticket_purchase (门票购买)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ticket_purchase_id

int

10

0

N

Y

门票购买ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户名称

4

attraction_name

varchar

64

0

Y

N

景点名称

5

location_of_tourist_attractions

varchar

64

0

Y

N

景点位置

6

attraction_tickets

varchar

64

0

Y

N

景点门票

7

purchase_quantity

int

10

0

Y

N

0

购买数量

8

purchase_amount

varchar

64

0

Y

N

购买金额

9

ticket_purchase_date

date

10

0

Y

N

购票日期

10

pay_state

varchar

16

0

N

N

未支付

支付状态

11

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

    1. 表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

    1. 表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

    1. 表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

4.3本章小结

通过基于微信云开发技术的威宁草海旅游项目的需求分析主要完成对系统功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

  1. 系统详细设计实现

    1. 普通用户功能模块
      1. 首页界面

首页主要包括轮播图、通知公告及系统导航栏、旅游资讯、景点介绍等信息,点击左边的AI模型机器人可以进行在线咨询。其界面如下图5-1所示。

图5-1首页界面图

      1. 用户注册界面

  游客可以进行在线注册,点击首页右下角“我的”进入页面后点“登录”,在登录页面下方点“马上注册”进入注册页面填写账号、密码、确认密码、昵称、邮箱、身份等信息后再点击“注册”按钮,通过验证后即可完成注册。其界面如下图5-2所示:

图5-2用户注册界面图

注册的关键代码如下:

  @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

      1. 用户登录界面

     已注册用户可以通过账号密码进行登录,点击首页右下角“我的”然后点击登录进入页面填写用户名和密码信息,通过验证后即可完成注册。其界面如下图5-3所示:

图5-3用户登录界面图

用户登录的关键代码如下:

@PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

      1. 景点介绍界面

     用户点击首页导航栏的“景点介绍”可以查看景点信息列表,点击某一景点可以查看景点信息详情和评论信息,同时可以进行点赞、收藏、发表评论和完成在线购票操作。其界面如下图5-4所示:

图5-4景点介绍界面图

      1. 景点活动界面

     用户点击首页导航栏的“景点活动”可以查看景点活动信息列表,点击某一活动可以查看活动信息详情,同时可以进行点赞、收藏、发表评论和完成在线预定操作。其界面如下图5-5所示:

图5-5景点介绍界面图

      1. 酒店信息界面

     用户点击首页导航栏的“酒店信息”可以查看酒店信息列表,点击某一酒店可以查看活动信息详情,同时可以进行点赞、收藏、发表评论和完成在线预定操作。其界面如下图5-6所示:

图5-6酒店信息界面图

      1. 家乡特性界面

     用户点击首页导航栏的“家乡特产”可以查看家乡特产列表,点击某一特产可以查看特产信息详情,同时可以进行点赞、收藏、发表评论和完成在线购买操作。其界面如下图5-7所示:

图5-7家乡特产界面图

      1. 我的界面

     用户点击首页下方“我的”,可以修改个人基本信息和登录密码,可以查看和管理个人门票购买、活动预定、酒店预定、特产购买、收藏信息。其界面如下图5-8所示:

图5-8我的界面图

    1. 管理员功能模块
      1. 系统用户界面

管理员可以对系统用户信息进行查询、重置、添加和删除操作。其界面如下图5-9所示。

图5- 9系统用户界面界面

新增的关键代码如下:

   @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

    }

查询的关键代码如下:

   @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

删除的关键代码如下:

     @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

      1. 景点介绍管理界面

管理员可以添加景点介绍信息,可以查看景点介绍列表中的某一景点详情及评论信息,可以对列表信息进行查询、重置和删除操作。其界面如下图5-10所示。

图5-10 景点介绍管理界面图

图片上传的关键代码如下:

    @PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            //判断有没路径,没有则创建

            String filePath = request.getSession().getServletContext().getRealPath("\\") +"upload\\";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            int lastIndexOf = fileName.lastIndexOf(".");

            String suffix = fileName.substring(lastIndexOf);

            fileName = IdWorker.getId()+suffix;

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

}

      1. 门票购买管理界面

管理员可以查看门票购买列表中的某一信息详情,可以对列表信息进行查询、重置和删除操作。其界面如下图5-11所示:

图5-11门票购买管理管理界面图

      1. 景点活动管理界面

管理员可以添加景点活动信息,可以查看景点活动列表中的某一活动详情及评论信息,可以对列表信息进行查询、重置和删除操作。其界面如下图5-12所示:

图5-12景点活动管理界面图

      1. 活动预定管理界面

管理员可以查看活动预定列表中的某一预定详情信息,可以对活动预定列表信息进行查询、重置和删除操作。其界面如下图5-13所示:

图5-13活动预定管理界面图

      1. 酒店信息管理界面

管理员可以添加酒店信息,可以查看酒店信息列表中的某一酒店信息详情及评论信息,可以对酒店信息列表进行查询、重置和删除操作。其界面如下图5-14所示:

图5-14酒店信息管理界面图

      1. 家乡特产管理界面

管理员可以添加家乡特产信息,可以查看特产信息列表中的某一特产信息详情及评论,可以对特产信息列表进行查询、重置和删除操作。其界面如下图5-15所示:

图5-15家乡特产管理界面图

      1. 系统管理界面

管理员可以查看轮播图列表中某一轮播图信息详情,可以对轮播图列表信息进行查询、添加、重置和删除操作。其界面如下图5-16所示:

图5-16系统管理界面图

      1. 通知公告管理界面

管理员可以查看通知公告列表中某一通知公告信息详情,可以对通知公告列表信息进行查询、添加、重置和删除操作。其界面如下图5-17所示:

图5-17通知公告管理界面图

      1. 资源管理界面

管理员可以对新闻列表和新闻分类列表信息进行查询、添加、重置和删除操作。其界面如下图5-18所示:

图5-18资源管理界面图

  1. 系统测试
    1. 测试目的

在这个产品被投入使用前,首先需要进行试用,这是重要的环节。考虑到某个部分的开发没有缺陷情况下,把各种模块拼接,也有一定概率就存在矛盾。这就好比每个人都很独特,但聚在一起就显得杂乱无章,需要保证有默契的配合。对于测试,要看它的各项内容是否契合的原则。若与最初定下的标准有一定程度上的出入,那么就需要做出一些调整,让最终的大方向朝着目标前进。

测试是为了发现在开发的程序中所存在的问题,测试这一工作是非常艰巨的,而又是非常困难的,这一部分在程序的设计中占有很大比例,可以说一个程序的开发工作量要是占据了百分至六十,那么剩下的百分之四十必然是测试这一部分,甚至更高。

    1. 测试用例

系统测试包括:用户登录功能、旅游资讯查看功能、轮播图添加功能、用户信息删除功能、用户密码修改功能、景点门票购买功能测试,分别如表6-1、6-2、6-3、6-4、6-5、6-6所示:

      1. 用户登录功能测试

6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

      1. 旅游资讯查看功能测试

表6-2 旅游资讯查看功能测试表

用例名称

旅游资讯查看

目的

测试旅游资讯查看功能

前提

用户正常登录

测试流程

点击旅游资讯

预期结果

可以查看到所有旅游资讯信息息

实际结果

实际结果与预期结果一致

      1. 轮播图添加功能测试

表6-3 轮播图添加界面测试表

用例名称

轮播图添加测试用例

目的

测试轮播图添加功能

前提

管理员正常登录情况下

测试流程

1)管理员点击系统管理下方的轮播图进入页面点击添加,填写轮播图相关信息。

2)信息填写完毕后点击提交。

预期结果

确认提交以后,页面首页会显示新的轮播图信息 

实际结果

实际结果与预期结果一致

      1. 用户信息删除功能测试

表6-4用户信息删除功能测试表

用例名称

用户信息删除测试

目的

测试用户信息删除功能

前提

管理员正常登录

测试流程

1)管理员点击系统用户选中用户列表中的某个用户信息。

2)点击删除按钮。

预期结果

用户信息列表不再显示该用户信息

实际结果

实际结果与预期结果一致

      1. 用户密码修改功能测试

表6-5 用户密码修改功能测试表

用例名称

用户密码修改测试用例

目的

测试普通用户密码修改功能

前提

普通用户正常登录情况下

测试流程

1)输入原密码和修改密码。

2)点击确认进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

      1. 景点门票购买功能测试

表6-5 景点门票购买功能测试表

用例名称

景点门票购买测试用例

目的

测试景点门票购买功能

前提

普通用户正常登录情况下

测试流程

1)用户点击景点介绍在景点信息列表中的某一景点查看详情,在详情下方点击购票填写相关信息。

2)填写完信息后点击提交。

预期结果

完成在线购买,在“我的”页面的“门票购买”可以查看门票购买详情信息

实际结果

实际结果与预期结果一致

    1. 测试结果

通过编写基于微信云开发技术的威宁草海旅游项目的测试用例,已经检测完毕用户登录功能、旅游资讯查看功能、轮播图添加功能、用户信息删除功能、用户密码修改功能、景点门票购买功能测试,通过这六大模块为基于微信云开发技术的威宁草海旅游项目的后期推广运营提供了强有力的技术支撑。

第七章  总结

在基于微信云开发技术的威宁草海旅游项目系统开发之前,需要先对用户的具体需求进行分析。包括系统的可行性分析、功能需求分析以及其他需求等。在可行性分析过程中,对系统实现的技术性、经济性以及管理等方面进行了分析。总体上证明了系统实施的可行性。

本文总结了基于微信云开发技术的威宁草海旅游项目系统的研究背景与意义,然后介绍了相关技术,接着阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。

参考文献

[1]陈磊,黄钰涵,姜雨晴.基于微信小程序的临沂旅游应用平台开发研究[J].黑龙江科学,2022,13(18):29-32.

[2]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.

[3]龙芳,吴勇灵.微信小程序购物系统的设计与实现[J].现代信息科技,2023,7(23):25-30.

[4]单厚信,刘舒心,程文远等.基于SSM架构的图书资料管理系统设计与实现[J].现代信息科技,2023,7(23):46-51.

[5]王馗,吴勇灵.基于微信小程序的点餐系统设计与实现[J].现代信息科技,2023,7(22):30-35+39.

[6]张耕问,钱昕彤,崔坤鹏.一个基于微信小程序的海外拼团购物平台的设计[J].电脑知识与技术,2023,19(33):29-31.

[7]田玉昆.基于Java Web技术的手机销售网站的设计与实现[J].电脑知识与技术,2023,19(32):47-49.

[8]刘方磊.基于SSM框架的旅游大数据分析系统设计与实现[J].中国新技术新产品,2023,(21):22-25.

[9]赵富强,朱小波,罗伍周等.基于B/S的通用航空运行管理系统设计与实现[J].现代信息科技,2023,7(20):10-17+21.

[10]杨芬,宋晓燕.MySQL数据库应用的课程教学分析[J].电子技术,2023,52(10):180-181.

[11]杨华,徐扬.MySQL数据库对中文编码支持的探讨[J].网络安全和信息化,2023,(10):157-160.

[12]李佳,马睿遥,刘丽等.基于云开发的智能教辅小程序设计与实现[J].电脑知识与技术,2023,19(27):32-35.

[13]Junhao S ,Weize L ,Zhiheng Z , et al.Design and Implementation of the Remote Use of the Table Tennis Ball Recovery and Cleaning Machine Based on Wechat Mini Program[J].Academic Journal of Engineering and Technology Science,2023,6(9):

[14]Yong R ,Feng P .Design and Realization of University Personnel Office Service Platform Based on WeChat Applet[J].Advances in Computer, Signals and Systems,2023,7(6):

[15]郑妍,张未名,张润园等.基于云开发和微信小程序的爱宠家系统[J].电脑编程技巧与维护,2023,(06):79-81.

[16]张大秀,朱屹诚.基于Java的碧海苍梧旅游系统设计与实现[J].现代信息科技,2023,7(11):1-6.

[17]张艺凡,郑艺莲,苗雅婷等.基于微信小程序的清明上河图云游系统开发[J].信息与电脑(理论版),2023,35(08):143-145.

[18]杨吉欢,李娟,周拓等.一个基于微信云开发的垃圾分类小助手程序的设计与实现[J].电脑知识与技术,2022,18(33):42-44.

[19]陈怡婧,郑晓溪,李芳.基于微信云开发的校园二手交易平台小程序的设计与实现[J].电脑知识与技术,2022,18(32):51-54.

[20]Wu J ,Chen N ,Xia H , et al.Design and development of the intelligent voice recognition‐based cognitive assessment WeChat mini‐program[J].Alzheimer's  Dementia,2023,19(S11):

致  谢

我首先要向我的论文指导老师表示深深的感谢。在整个论文的创作过程中,导师的悉心指导和无微不至的关怀,对我起到了巨大的推动作用。导师的耐心教诲和建设性的意见,都对我有着莫大的帮助。他们的严谨的学术态度、敬业的精神和高超的教学技艺,都为我树立了追求卓越的典范。这些无价的品质,不仅影响了我现在的生活,也激励着我持续向前。

同时,我要向我的同学们表示感谢,他们既是我的学习伙伴,也是我生活中的良师。在大学的生涯中,他们给予了我无微不至的关怀和支持。有了他们的帮助,我才能顺利完成学业。在这里,我要向所有给予我援手的老师和同学们表示感谢,是你们陪我度过了这段珍贵的大学时光。

我也要向我敬爱的父母表达感谢,是他们用辛勤的付出和深深的爱,将我抚养成人。我永远不会忘记他们为我付出的辛勤努力和深深的爱。在成长的道路上,他们始终是我前进的动力和信念。为了回报他们的养育之恩,我一定会努力学习,用我未来的成就让他们感到更加骄傲。

在这里,我要向所有关心我、支持我、帮助过我的人表示深深的感谢,是你们陪我走过了人生的曲折与坎坷。我会将大家的支持和关爱转化为前进的动力,努力成为更好的我。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值