基于微信小程序的旅游社微信小程序
文末联系获取源码
开发语言: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},});})}});});
基于微信小程序的旅游社微信小程序相关推荐
- 计算机毕业设计Python+uniapp基于微信小程序的旅游系统论文(小程序+源码+LW)
计算机毕业设计Python+uniapp基于微信小程序的旅游系统论文(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ ...
- ssm+jsp计算机毕业设计基于协同过滤算法的旅游推荐系统a8749(程序+lw+源码+远程部署).
项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...
- 基于微信小程序的旅游网站
开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Mave ...
- 基于微信小程序的旅游系统设计与实现(毕业论文)
[下载]基于微信小程序的旅游系统设计与实现.docx 基于微信小程序的旅游系统设计与实现 Design and Implementation of a Tourism System Based on ...
- java基于微信小程序旅游管理系统 uniapp 小程序
本旅游服务软件,主要实现了管理员后端:首页.个人中心.旅游攻略管理.旅游资讯管理.景点信息管理.门票预定管理.用户管理.酒店信息管理.酒店预定管理.推荐路线管理.论坛管理.系统管理,用户前端:首页.景 ...
- 基于微信旅游景区购票小程序毕业设计毕设作品(4)开题报告
整个项目包含了:开题报告 + 开题报告PPT + 任务书 + 中期报告 + 论文模板 + 答辩PPT等 主要安介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的MINA框架:后 ...
- 基于Python的旅游管理系统微信小程序设计与实现毕业论文+项目源码及数据库
源码获取:我的博客资源页面可以下载!!!! 项目名称 基于Python的旅游管理系统微信小程序设计与实现毕业论文+项目源码及数据库 系统说明 本商业旅游系统可以分为三个部分,即微信小程序的手机客户端 ...
- 基于微信小程序开发的仿微信demo
(本文参考自github/liujians,地址:https://github.com/liujians/weApp) 作者声明: 基于微信小程序开发的仿微信demo 整合了ionic的样式库和we ...
- java基于安卓Android微信小程序的音乐论坛uniAPP小程序
本文先提出了开发基于Android的音乐论坛系统的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模.在技术实现部分采用了Java作为开发后台的 ...
最新文章
- app怎么嵌套vue页面_app内嵌vue单页面应用的一些坑
- 2009年的强悍流行语~
- Javascript 函数声明和函数表达式的区别
- linux几种时间函数总结
- 单机塔防游戏推荐_电脑高自由度单机游戏推荐
- 四万字让你精通SQL数据库操作
- nutch源代码阅读心得
- UTF-8,Unicode,GBK,希腊字母读法,ASCII码表,HTTP错误码,URL编码表,HTML特殊字符,汉字编码简明对照表...
- 计算机组成原理第6版课后答案,计算机组成原理第6章习题参考答案
- 最新苹果CMS对接千月版本-畅视影视(V9.3开源)已搭建测试版
- 器件选型-OLED液晶显示原理和选型
- WPF 加载PDF文件
- Xftp的下载、安装、使用
- elasticsearch服务自动断掉
- openjudge 1.9.14 铺地毯
- 微信聊天防封 亲测 百分之95有效 【附源码】
- Snipaste的使用方法
- 认识微型计算机系统结构实践报告,认识微机的主要部件实训报告.doc
- SQL 手动注入学习实战 —— dvwa 从low到impossible《low篇》
- 项目引入editormd并且解决上传图片的问题
热门文章
- 【博应用软件】iOS12beta5公测版上线。赶紧来更新吧!
- css样式详解及覆盖顺序
- A Blockchain-Based Decentralized Federated Learning Framework with Committee Consensus
- wordpress 时区设置问题,相差8个小时
- android 7.0 动态壁纸,LOL动态壁纸手机版app下载
- HTML制作色带,PS简单制作一个漂亮的混合色带gif动画效果
- android 计入高德地图——实时天气和天气预报
- webp怎么转换成png,4个方法教你快速处理
- Kotlin之Flow由浅入深,对比Rxjava
- FLASH场景式导航