广告
返回顶部
首页 > 资讯 > 数据库 >基于微信小程序的旅游社微信小程序
  • 285
分享到

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

微信小程序小程序mysqljava毕业设计 2023-10-23 22:10:42 285人浏览 八月长安
摘要

文末联系获取源码 开发语言:Java 框架:SpringBoot jdk版本:JDK1.8 服务器:Tomcat7 数据库:Mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myecli

文末联系获取源码

开发语言: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) {                        // 用户id                        localStorage.setItem('userid', res.data.id);    if(res.data.vip) {localStorage.setItem('vip', res.data.vip);    }                        // 路径访问设置                        window.location.href = '../../index.html';                    })        });                return false            });        });                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().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 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},});})}});  });

来源地址:https://blog.csdn.net/qq_61827376/article/details/130020290

您可能感兴趣的文档:

--结束END--

本文标题: 基于微信小程序的旅游社微信小程序

本文链接: https://www.lsjlt.com/news/440900.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作