项目背景和意义
目的:本课题主要目标是设计并能够实现一个基于微信小程序景区景点预约购票系统,前台用户使用小程序,后台管理使用Java+Mysql开发,后台使用了springboot框架;通过后台添加景区资讯、景点介绍,管理用户订单;用户通过小程序登录,查看资讯、查看景区介绍、购买景区门票。
整个系统使用CS模式,C端(客户端)是小程序,S端(服务器端)是Java开发。
意义:景区景点预约购票系统是计算机技术与景区管理相结合的产物,通过景区景点预约购票系统实现了对景区门票的高效管理。随着计算机技术的不断提高,计算机已经深入到社会生活的各个角落.而采用人工售票的方法,不仅效率低,易出错,手续繁琐,而且耗费大量人力。为了满足售票人员对售票等进行高效的管理,在工作人员的具备一定的计算机操作能力的前提下,特编此景区景点预约购票系统软件以提高景区的门票管理效率。
可行性分析
基于微信小程序景区景点预约购票系统有以下三方面可以总结系统开发的可行性。
具体如下:
1.技术可行性
以Windows7或10为操作系统,采用IDEA软件为开发后台管理,运用mysql进行数据库存储,使用微信开发者工具开发微信小程序;后台管理系统硬件环境是PC机,前台用户在手机上使用微信小程序。
2.经济可行性
一方面,采用IDEA和微信开发者工具开发有好的人机界面和强劲的功能支持,使管理员录入景区信息的工作效率进一步提高从而节省人力、物力;另一方面,系统的制作成本低,在现有的PC机上即可使用IDEA和微信开发者工具进行开发。
3.操作可行性
IDEA软件在操作上是在Windows操作系统上进行后台管理系统的使用,主要凭借使用Windows操作技术即可完成数据的录入、修改、删除等功能,简单方便。用户使用手机登录微信小程序景区景点预约购票系统来使用。
主要功能模块
广告管理:设置小程序首页轮播图广告和链接
留言列表:所有用户留言信息列表,支持删除
会员列表:查看所有注册会员信息,支持删除
录入资讯:录入资讯标题、内容等信息
管理资讯:查看已录入资讯列表,支持删除和修改
景区属性设置:设置景区年代、类型、地区属性内容
录入景点:选择景点属性,录入景点名称、参考价格、上传景点图片、景点详情等
景点管理:查看所有已经录入的景点列表,支持修改和删除
景点订单列表:查看所有用户下单的景点预约订单信息,支持删除
景点评论列表:查看所有用户录入的景点评论信息,支持处理和删除
景点评论审核:评论可以删除;也可以审核后,在小程序可以看见评论
用户注册登录:注册普通账号,然后使用注册的账号登录登录
微信授权登录:直接使用微信作为账号,授权后登录
资讯功能:用户可以任意浏览资讯列表和详细信息
留言:用户可以在小程序对管理平台留言。
景点库:点击所有景点菜单,支持查看所有的景点信息景点查询:在景点列表顶部,输入景点关键字,点击查询即可
景点信息: 点击到景点详情页面,可以查看景点的图片、参考价格、制作市场等
景点评论列表:在景点页面,切换到游客评论,可以查看所有用户评论的内容
景点收藏:在景点信息详情,下方点击“收藏”,进行收藏
景点评价:登录用户,在景点信息详情页面底部,点击我要评论,弹出评论页面,填写后提交;管理员审核后可见
景点订票:选择日期,填写购票数量,填写备注信息,提交订票信息。
我的景点预约列表:显示所有用户下单的信息,支持模拟付款,取消申请。
我的景点收藏:用户收藏的景点列表,可以删除。
用户信息:填写姓名、qq、邮箱、备注等信息
退出系统:清除缓存,返回小程序首页
开发概要
本章主要介绍了系统在开发过程中所应用到的一些关键的技术,主要包括了前端小程序开发的MINA框架;后台开发java的框架springboot、模板引擎thymeleaf程序技术;MySQL数据库;以及常规的网页技术HTML/CSS/JAVASCRIPT的介绍。
小程序开发:微信开发者工具(MINA框架)
后台环境:JDK1.8 + Tomcat8
后台开发语言:Java
后台开发框架:springboot
后台模板引擎:Thymeleaf
后台开发工具:Idea2020
数据库:mysql8
数据库管理工具:navicat
其他开发语言:html + css +javascript
开发文件说明
绿色的是开源的后台管理系统框架,不要动
所在路径:Src >main >com.huang.com>houtai
| 程序名 | 包含 |
|
| houtai/fenzu.java 后台分组管理 | /quanxian_fenzu_list | 分组权限列表 |
| /quanxian_fenzu_xiugai | 分组权限 修改 | |
| houtai/ guanliyuan.java 后台用户管理 | /ht_mima | 密码修改 |
| /quanxian_user_add | 后台用户录入 | |
| /quanxian_user_list | 后台用户列表 | |
| /quanxian_user_xiugai | 用户修改 | |
| houtai/ huiyuan.java 后台框架 | /login | 用户登录页面 |
| /main | 后台首页 | |
| /top | 后台顶部文件 | |
| /center | 后台中间文件首页 | |
| /middel | 后台中间文件(包含左右) | |
| /left | 后台中间文件-左边 | |
| /tab | 后台中间文件-右边 | |
| /down | 后台底部文件 | |
| /logout | 后台退出登录 | |
| houtai/ quanxian.java 后台权限管理 | /quanxian_caidan_1ji | 1级菜单列表 |
| /quanxian_caidan_2ji | 2级菜单列表 | |
| /quanxian_caidan_2ji_nei | 2级菜单 操作 | |
| /quanxian_caidan_3ji | 3级菜单列表 | |
| /quanxian_caidan_3ji_nei | 3级菜单 操作页面 | |
| houtai/ guanyu.java 关于我们设置 | /houtai_guanggao_shezhi | 设置广告 |
| /houtai_liuyan_list | 留言列表 | |
| /houtai_liuyan_del | 删除留言 | |
| houtai/ xinxi.java 后台新闻管理 | /houtai_xinxi_fenlei | 信息分类管理 |
| /houtai_xinxi_add | 信息录入 | |
| /houtai_xinxi_list | 信息列表 | |
| /houtai_xinxi_xiugai | 修改资讯 | |
| /houtai_xinxi_del | 删除资讯 | |
| houtai/ yonghu.java 用户管理 | /houtai_yonghu_list | 用户列表 |
| /houtai_yonghu_del | 删除用户 | |
| houtai/ jingdian.java 后台景点管理 | houtai_jingdian_shuxing | 景点属性设置 |
| houtai_jingdian_shuxing_nei | 景点属性设置操作 | |
| houtai_jingdian_add | 景点录入 | |
| houtai_jingdian_list | 景点列表 | |
| houtai_jingdian_xiugai | 修改景点 | |
| houtai_jingdian_del | 删除景点 | |
| houtai_jingdian_dingdan_list | 后台景区订单列表 | |
| houtai_jingdian_dingdan_chuli | 订单处理 | |
| houtai_jingdian_dingdan_del | 删除 | |
| houtai_jingdian_pinglun_list | 景点评论列表 | |
| houtai_jingdian_pinglun_caozuo | 后台 产品 评论 列表操作(修改xiugai和删除del) |
所在路径:Src >main >com.huang.com>api
按程序整理的接口列表如下
| 页面 | 接口 | 说明 |
| api/liuyan_api 留言 | /wx_liuyan | 留言接口 |
| api /pub_api 公用 | /wx_get_ad | 读取广告设置 |
| api /yonghu_api 用户 | /wx_check_reg_yonghu | 验证 用户注册 |
| /wx_check_login_yonghu | 验证 用户登录 | |
| /wx_check_reg_yonghu_weixin | 验证 用户登录(微信登录) | |
| /wx_huiyuan_xinxi_byid | 根据用户id获取用户信息 | |
| /wx_huiyuan_xinxi_update_byid | 更新用户信息 | |
| /wx_huiyuan_mima_act | 更新用户密码 | |
| api /zixun_api 资讯 | /wx_news_list | 读取最新5条资讯 |
| /wx_news_list_byid | 资讯列表 | |
| /wx_news_list_canshu | 获取列表的总页数 | |
| /wx_news_info | 资讯详情 | |
| api /jingdian_api 景点 | wx_jingdian_top4 | 最新4个景点接口 |
| wx_jingdian_list | 显示所有景点 | |
| wx_jingdian_list_yeshu | 获取所有景点的页数 | |
| wx_jingdian_xinxi_byid | 根据id获取景点信息 | |
| wx_jingdian_shoucang | 景点收藏接口 | |
| wx_jingdian_pinglun_list | 根据id获取景点评论 | |
| wx_jingdian_xiadan | 购买门票下单 | |
| wx_jingdian_dingdan_list_byUserid | 获取用户订单 | |
| wx_jingdian_dingdan_del | 取消订单 | |
| wx_jingdian_dingdan_fukuan | 模拟付款 | |
| wx_jingdian_pinglun_add | 提交评论 | |
| wx_jingdian_shoucang_list | 收藏列表 | |
| wx_jingdian_shoucang_del | 收藏删除 |
按小程序功能整理的接口列表如下
| 页面 | 接口 | 说明 |
| 首页 | wx_jingdian_top4 | 最新4个景点接口 |
| wx_news_list | 最新3条资讯 | |
| 景点列表 | wx_jingdian_list | 显示所有景点 |
| wx_jingdian_list_yeshu | 获取所有景点的页数 | |
| 景点详情 | wx_jingdian_xinxi_byid | 景点信息接口 |
| wx_jingdian_shoucang | 景点收藏接口 | |
| wx_jingdian_pinglun_list | 景点评论接口 | |
| 预约景点(购票) | wx_jingdian_xiadan | 购买门票 |
| wx_jingdian_xinxi_byid | 景点信息接口 | |
| 留言 | wx_liuyan | 提交留言接口 |
| 资讯 | wx_news_list_canshu | 获取资讯页数 |
| wx_news_list_byid | 获取所有资讯 | |
| wx_news_info | 获取资讯详情 | |
| 账号注册登录 | wx_check_reg_yonghu | 普通账号注册 |
| wx_check_login_yonghu | 普通账号登录 | |
| wx_check_reg_yonghu_weixin | 微信账号登录 | |
| 我的景点订单 | wx_jingdian_dingdan_list_byUserid | 获取用户订单 |
| wx_jingdian_dingdan_del | 取消订单 | |
| wx_jingdian_dingdan_fukuan | 模拟付款 | |
| wx_jingdian_pinglun_add | 提交评论 | |
| 我的景点收藏 | wx_jingdian_shoucang_list | 收藏列表 |
| wx_jingdian_shoucang_del | 收藏删除 | |
| 用户信息 | wx_huiyuan_xinxi_byid | 获取用户信息 |
|
| wx_huiyuan_xinxi_update_byid | 更新用户信息 |
成品效果图





















我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
如何检查Ruby文件是否是通过“require”或“load”导入的,而不是简单地从命令行执行的?例如:foo.rb的内容:puts"Hello"bar.rb的内容require'foo'输出:$./foo.rbHello$./bar.rbHello基本上,我想调用bar.rb以不执行puts调用。 最佳答案 将foo.rb改为:if__FILE__==$0puts"Hello"end检查__FILE__-当前ruby文件的名称-与$0-正在运行的脚本的名称。 关于ruby-检查是否