基于微信小程序的旅游社微信小程序

文末联系获取源码

开发语言:Java

框架:springboot

JDK版本:JDK1.8

服务器:tomcat7

数据库:mysql 5.7/8.0

数据库工具:Navicat11

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.3.9

浏览器:谷歌浏览器

小程序框架:uniapp

小程序开发软件:HBuilder X

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

一、前言介绍 

现今市面上有关于旅游信息管理的微信小程序还是比较少的,所以本课题想对如今这么多的旅游景区做一个收集和分类。这样可以给身边喜欢旅游的朋友更好地推荐分享适合去旅行的地方。

前端采用Vue架构,大大缩减页码,结构清晰。后台表现层采用SpringBoot框架,SpringBoot是Spring家族中应用于Web开发的一个模块,SpringBoot是作为建立模型与数据交互控制器,具有高度可配置性、灵活性和扩展性.除此之外,后台还运用了MyBatis框架作为优秀的持久层框架.另外,数据库采用的是MySQL。MySQL和Java集成比较好,适用于Windows应用的后台数据库,而且MySQL安全性能较高,在数据库加密、增强密码方面有突出表现.

该微信小程序旅游分享平台管理系统主要有以下几大功能:用户管理功能、旅游分享信息功能、美食管理功能、旅店管理功能、景点管理功能、购票管理功能,在下面的章节中会依次介绍每个功能的作用与实现。

二、需求分析

通过了解用户的需求,可以知道操作简单的系统更易受到用户青睐,同时能够准确、完整的对信息进行管理。小程序旅游分享平台在对需求做相应的分析后,得出结论,系统主要有用户管理、旅游分享信息、美食管理、旅店管理、景点管理、购票管理等功能。 

2.1系统总体概述

该项目管理系统主要

于B/S设计模式,系统设计的功能有:用户管理功能、景点管理功能、景点类型管理功能、旅店管理功能、购票管理功能、旅行社管理功能。其系统结构如图所示:

2.2功能性需求 

本系统是利用现代化的计算机网络技术将传统信息宣传方式整合,按照实践过程设计完成的。同时完善服务,初步设计一个小程序旅游分享平台以利于相关的事务操作。为了使系统在各项管理中发挥更大的作用,实现计算机信息化高效的管理,现将开发目标功能需求介绍如下:

(1) 管理员登录模块

管理员有权进行小程序旅游分享平台系统的管理,但所有的注册以及权限的使用,都需经过超级管理员授权,管理员进入主页后可以对员工进行相关功能的授权,比如:用户管理功能、旅游分享信息功能、美食管理功能、旅店管理功能、景点管理功能、购票管理功能。

(2) 美食管理模块

拥有一定管理权限管理员,可进行美食列表的查看,以及对应的美食增加、删除、修改、查询操作。

(3) 旅店管理模块

拥有一定管理权限管理员,可进行旅店列表的数据查看,以及对应的旅店增加、删除、修改、查询操作。

(4)旅游分享管理模块

拥有一定管理权限管理员,可进行旅游分享列表的数据查看及查询操作。

(5) 景点管理模块

拥有一定管理权限管理员,可进行景点列表的数据查看,以及对应的景点增加、删除、修改、查询操作。

(6) 购票管理模块

拥有一定管理权限管理员,可进行购票列表的数据查看,以及对应的购票增加、删除、修改、查询操作。

2.3系统架构设计

系统的整体架构图如下:

 

三、微信小程序功能实现

3.1用户登录系统

用户登录旅游社微信小程序之后,用户登录后就可以在旅游社微信小程序上观看景点信息,进行观察比较,可以挑选出自己觉得想要去游玩的景点,用户的登录请求会到达控制层,异步请求的发送由Ajax来完成,然后业务逻辑层会收到控制层发送的请求,在此基础上系统会通过DAO层的调用让业务逻辑层去访问旅游社微信小程序的系统的数据库,并从中执行插入,最后返回结果。

实现的效果如下图:

3.2首页 

微信小程序输入正确的账号密码后就会默认进入首页显示界面。首页主要有轮播图,搜索框,以及下面的导航为主要组成部分。 

3.3景点信息

3.4我的  

四、管理员后台功能实现

4.1登录 

4.2旅游社管理 

4.3管理人员对景点进行添加

管理人员对景点进行添加操作,当管理人员进行操作时,该操作需求会到达控制层,异步请求的发送由Ajax来完成,然后业务逻辑层会收到控制层发送的景点信息相关请求,在此基础上系统会通过DAO层的调用让业务逻辑层去访问旅游社微信小程序的系统的数据库,并从中执行插入,最后返回接结果。

五、部分核心代码

5.1登录系统主要代码

form.on('submit(login)', function(data) {data = data.field;if (vue.roles.length!=1) {if (!data.role) {layer.msg('请选择登录用户类型', {time: 2000,icon: 5});return false;}} else {data.role = vue.roles[0].tableName;}http.request(data.role + '/login', 'get', data, function(res) {layer.msg('登录成功', {time: 2000,icon: 6});// 登录凭证localStorage.setItem('Token', res.token);var roleName = "";if(typeof(jquery('#role:checked').attr('title')) == "undefined") {roleName = vue.roles[0].roleName;} else {roleName = jquery('#role:checked').attr('title');}localStorage.setItem('role', roleName);// 当前登录用户角色localStorage.setItem('userTable', data.role);localStorage.setItem('sessionTable', data.role);// 用户名称localStorage.setItem('adminName', data.username);http.request(data.role + '/session', 'get', {}, function(res) {// 用户idlocalStorage.setItem('userid', res.data.id);if(res.data.vip) {localStorage.setItem('vip', res.data.vip);}// 路径访问设置window.location.href = '../../index.html';})});return false});});/*** 跳转登录* @param {Object} tablename*/function registerClick(tablename) {window.location.href = '../' + tablename + '/register.html?tablename=' + tablename;}

 5.2用户注册主要代码

*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody YonghuEntity yonghu){//ValidatorUtils.validateEntity(yonghu);YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));if(user!=null) {return R.error("注册用户已存在");}Long uId = new Date().getTime();yonghu.setId(uId);yonghuService.insert(yonghu);return R.ok();}

 5.3小程序端首页主要代码

methods: {jump(url) {if (this.queryIndex == 0) {localStorage.setItem('indexQueryCondition', document.getElementById("dianyingxinxidianyingmingcheng").value);}jump(url)},queryChange(event) {this.queryIndex = event.target.value;if (this.queryIndex == 0) {this.dianyingxinxidianyingmingcheng = this.queryList[event.target.value].queryName;}}}});layui.use(['layer', 'form', 'element', 'carousel', 'http', 'jquery'], function() {var layer = layui.layer;var element = layui.element;var form = layui.form;var carousel = layui.carousel;var http = layui.http;var jquery = layui.jquery;vue.baseurl=http.baseurl;// 获取轮播图 数据http.request('config/list', 'get', {page: 1,limit: 5}, function(res) {if (res.data.list.length > 0) {let swiperList = [];res.data.list.forEach(element => {if (element.value != null) {swiperList.push({img: http.baseurl + element.value});}});vue.swiperList = swiperList;vue.$nextTick(() => {carousel.render({elem: '#test1',width: '89.6%',height: '500px',arrow: 'hover',anim: 'default',autoplay: 'true',interval: '3000',indicator: 'inside'});})// vue.$nextTick(()=>{//   window.xznSlide();// });}});http.request('news/list', 'get', {page: 1,order: 'desc'}, function(res) {var newsList = res.data.list;for(var i = 0; i<newsList.length; i++) {let d = newsList[i].addtime.split(' ')d = d[0].split('-')newsList[i].year = d[0]newsList[i].month = d[1] + '-' + d[2]}vue.newsList = newsList;if (newsList.length > 0 && newsList.length <= 2) {vue.leftNewsList = res.data.list} else {var leftNewsList = []for (let i = 0; i <= 2; i++) {leftNewsList.push(newsList[i]);}vue.leftNewsList = leftNewsList}if (newsList.length > 2 && newsList.length <= 8) {var rightNewsList = []for (let i = 3; i <= newsList.length; i++) {rightNewsList.push(newsList[i]);}vue.rightNewsList = rightNewsList}let flag = 10;let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}options.pagination = {el:'null'}if(flag == 3) {vue.$nextTick(() => {new Swiper('#newsnews', options)})}if(flag == 6) {let sixSwiper = {loop: true,speed: 2500,slidesPerView: 3,spaceBetween: 10,centeredSlides: true,watchSlidesProgress: true,autoplay: {delay: 0,stopOnLastSlide: false,disableOnInteraction: false}}vue.$nextTick(() => {new Swiper('#new-list-6', sixSwiper)})}});// 获取推荐信息var autoSortUrl = "dianyingxinxi/autoSort";if(localStorage.getItem('userid')!=null) {autoSortUrl = "dianyingxinxi/autoSort2";}http.request(autoSortUrl, 'get', {page: 1,limit: 3 * 1}, function(res) {vue.dianyingxinxiRecommend = res.data.listlet flag = 1;let options = {"navigation":{"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},"slidesPerView":5,"loop":true,"spaceBetween":20,"autoplay":{"delay":3000,"disableOnInteraction":false}}options.pagination = {el:'null'}if(flag == 3) {vue.$nextTick(() => {new Swiper('#recommenddianyingxinxi', options)})}if(flag == 5) {vue.$nextTick(() => {var swiper = new Swiper('#recommend-five-swiperdianyingxinxi', {loop: true,speed: 500,slidesPerView: 5,spaceBetween: 10,autoplay: {"delay":3000,"disableOnInteraction":false},centeredSlides: true,watchSlidesProgress: true,on: {setTranslate: function() {slides = this.slidesfor (i = 0; i < slides.length; i++) {slide = slides.eq(i)progress = slides[i].progress// slide.html(progress.toFixed(2)); //看清楚progress是怎么变化的slide.css({'opacity': '','background': ''});slide.transform(''); //清除样式slide.transform('scale(' + (1.5 - Math.abs(progress) / 4) + ')');}},setTransition: function(transition) {for (var i = 0; i < this.slides.length; i++) {var slide = this.slides.eq(i)slide.transition(transition);}},},navigation: {"nextEl":".swiper-button-next","prevEl":".swiper-button-prev"},pagination: {"el":".swiper-pagination","clickable":true},});})}});});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41620.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于大数据分析的旅游平台的设计与实现

摘 要 随着旅游业的发展&#xff0c;旅游平台作为旅游行业的重要组成部分已经逐渐受到了越来越多的关注。在这样的背景下&#xff0c;基于大数据分析的旅游平台应运而生。本文旨在研究基于大数据分析的旅游平台。 本文根据旅游行业目前的发展趋势&#xff0c;提出了一种可…

用Python爬取了全国近5000家旅游景点,分析国庆去哪玩

双节同庆&#xff0c;小长假如约而至 我想今年大家在家都憋坏了 这么长的假期&#xff0c;当然是出去 玩玩玩&#xff01; 每当长假的时候&#xff0c;有没有想起被人山人海支配的恐惧&#xff01; 该去哪些地方呢&#xff1f; 我用 Python 爬取了全国近 5000 个旅游景点&#…

景区旅游管理系统

1、项目介绍 基于SSH的景区旅游管理系统6拥有两种角色&#xff1a;管理员和用户 管理员&#xff1a;景点管理、酒店管理、客房管理、用户管理等 用户&#xff1a;查看搜索景点、酒店景点预定、订单查看、评论打分等 2、项目技术 后端框架&#xff1a;SSH&#xff08;Strut…

基于大数据架构实现景点游客数据分析平台,全国景点游客数据管理系统

随着最近几年旅游行业的兴起&#xff0c;越来越多的景区景点将传统模式的线下统计模式变更成为了线上分析统计模式&#xff0c;线上对景区游客数据的管理与监督的新型模式。很多的景点采用游客数据分析平台系统&#xff0c;在线上对不同景点内部的游客数据进行管理&#xff0c;…

基于python下django框架 实现旅游景区景点售票系统详细设计

前言介绍&#xff08;开发目的和意义&#xff09; 本课题主要目标是设计并能够实现一个基于web网页的景区景点购票系统&#xff0c;整个网站项目使用了B/S架构&#xff0c;基于python的Django框架下开发&#xff1b;管理员通过后台录入信息、管理信息&#xff0c;设置网站信息…

旅游景点咨询系统的设计与实现

【实验目的】 熟悉图数据结构的基本特征、构造方法理解迪杰斯特拉算法、弗洛伊德算法寻找最小路径的原理练习上述数据结构与算法的实现。 【实验原理】 图的创建与遍历算法迪杰斯特拉算法从给定的一点出发&#xff0c;求该点到所有其他顶点的最短路径&#xff0c;我们将顶点…

旅游景区景点订票售票系统设计与实现

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于java的景区景点预约购票系统&#xff0c;整体使用javaMySql的B/S架构&#xff0c;技术上采用了springboot框架&#xff1b;通过后台添加景区资讯、景点介绍&#xff0c;管理用户订单&#xff1b;用户通过…

【WordNet】词典——omw-1.4下载

from nltk.corpus import wordnet syns wordnet.synsets("bank") print(syns[0].name())运行这段代码时&#xff0c;编译器会提示找不到【omw-1.4】这个东西 官方地址 官方NLTK网址 但是要科学上网… 分享一个已经下载好的 链接&#xff1a;https://pan.baidu.c…

【翻译】【词典】【词库】(PC版)离线词典GoldenDict+离线词库--地表最强 (by shany shang)

&#xff08;PC版&#xff09;离线词典–地表最强 一、下载 GoldenDict 客户端 &#xff08;windows&#xff09; &#xff08;1&#xff09;下载网址&#xff1a;&#xff08;点不开 &#xff0c;记得用谷歌哟&#xff09; https://sourceforge.net/projects/goldendict/fi…

quicker + Golden Dict 实现比欧陆词典更好用的免费查词翻译神器

免费、纯净无广告、界面简洁&#xff0c;Golden Dict 搭配词库文件&#xff0c;就成为桌面端的查词翻译神器。 然而有时候遇到阅读外文文档、源码注释时&#xff0c;Golden Dict 不支持整句翻译&#xff0c;不支持OCR 文字识别&#xff0c;体现了它的短板。 于是&#xff0c;…

GoldenDict 上的那些精美版权词典(附下载地址)(英语、俄语、梵语、印地语)

转载▼ 标签&#xff1a; 杂谈 国内的有道词典和金山词典由于使用方便、宣传到位得到了许多同学的喜爱。在开源软件的领域&#xff0c;也有一款非常好用的词典GoldenDict&#xff0c;它的强项在于可以直接使用众多词典厂商的词库。那些正规的词典厂商通常购买了词典的版权…

Qy词典-免费离线的中英词典

离线可用词量丰富快速精准免费开源-安全可靠界面清爽中英互译最重要的就是词库是离线文件&#xff0c;不依赖任何&#xff0c;所以可用性很高 1C币-CSDN下载链接 在我自己搭建的nginx静态文件服务器上的下载地址

欧路词典如何导入html,欧路词典怎么添加词库 管理词库的方法介绍

欧路词典电脑版的翻译功能深得广大英语学习用户的喜爱&#xff0c;很多用户在使用过程中不知道怎么添加词库&#xff0c;那么小编我今天就来为大家讲讲&#xff0c;赶快来看看下面的文章吧&#xff01; 操作步骤如下&#xff1a; 1、首先需要进入欧路词典并进行登录&#xff0c…

iPad 使用技巧:欧路词典

通常&#xff0c;欧路词典的免费版本就够用了。 比如&#xff0c;可以随意导入自己喜欢的词典&#xff0c;在应用内不仅能访问外文网页或电子文件&#xff0c;对不认识的单词可以直接点读&#xff0c;还有自带记忆曲线辅助背单词、自动列出重点单词等功能。 与其它应用起分屏使…

用什么词典可以翻译php,【欧陆词典】一款自定义词典库、支持划词翻译的万能词典...

本帖最后由 西山鹤城 于 2018-12-21 20:13 编辑 学英语的或者经常用到英语的人都知道&#xff0c;市面上最通用的某道和某山等查词软件的语料库不够完善&#xff0c;甚至释义有时候都是不太准确的&#xff0c;以网络释义居多&#xff0c;经常查一个词这些软件会给出很多资料、解…

欧路词典绿色版免费使用 v12.4.7附使用教程

欧路词典是一款具有权威的英语词典软件&#xff0c;除了支持海量扩充词库、海量词库网络词典&#xff0c;网络百科&#xff0c;第三方格式词典库&#xff0c;还有各种专业领域的词库也是一应俱全&#xff0c;而且也考虑到学生的使用环境&#xff0c;哪怕在离线环境下&#xff0…

查单词神器:欧路词典

使用背景 计算机课程的学习过程中&#xff0c;不论是英文原版书籍还是英文论坛&#xff0c;难免会遇到一些陌生的单词。身处计算机时代的我们已经不需要再拿着一本厚厚的大辞典查单词了&#xff0c;只需将自己需要翻译的单词或者句子输入到翻译软件中。即使如此&#xff0c;来…

理论计算机科学的奠基人 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 6 月 14 日&#xff0c;在 1946 年的今天&#xff0c;英国电视发明者贝尔德去世。1924 年&#xff0c;贝尔德首次展出了他制造的电视设备&#xff0c;当时他成功…

网络钓鱼仍然是安全行业的祸害

随着网络犯罪分子采用更先进的方法&#xff0c;网络钓鱼诈骗继续构成重大风险。 根据 Zscaler 最新发布的 2023 ThreatLabz 网络钓鱼报告&#xff0c;随着网络钓鱼工具包和ChatGPT等人工智能 (AI) 工具的广泛使用&#xff0c;网络犯罪分子比以往任何时候都更容易创建有针对性的…

GTO与OKR工具选择

学习用计算机编程的方法来理解管理日常生活和工作&#xff0c;例如抽象、类&#xff08;父类、子类&#xff09;、变量、属性和方法、面向对象和函数式等。通过这些理解 统筹 管理需用gtd工具&#xff08;可以看下面的使用心得&#xff09;。管自己gtd还好&#xff0c;要管一个…