综合设计微信平台实时路况和天气查询信息系统.docx
- 文档编号:18604164
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:27
- 大小:481.34KB
综合设计微信平台实时路况和天气查询信息系统.docx
《综合设计微信平台实时路况和天气查询信息系统.docx》由会员分享,可在线阅读,更多相关《综合设计微信平台实时路况和天气查询信息系统.docx(27页珍藏版)》请在冰点文库上搜索。
综合设计微信平台实时路况和天气查询信息系统
综合设计报告
基于微信平台的实时路况和天气查询信息系统的设计
学院计算机学院
专业计算机科学与技术
年级班别4班
学号31113005924
学生姓名赖鸿锋
指导教师邱卫根
2016年12月27日
摘要
微信公众平台方便了用户对微信的深入了解,使得开发者有了发展的空间。
微信平台公共账号开发已成为商家实现市场推广的重要手段。
本课题是在微信公众平台上实现的,使用户方便地查询路况和天气信息。
本系统主要包括发送位置、查看地图和天气查询三个功能。
当用户发送位置后会收到发送成功的信息,进入地图后坐标将定位到用户所发的位置,即可看到附近的路况信息了,也可以语音输入xx市的天气,即可以返回当前城市的天气。
本系统是在WindowsServer环境下,使用MySQL建立数据库,采用JSP对微信进行二次开发,使用HTML5呈现内容。
本文分析了微信的背景和现状,根据开发流程,对系统进行整体的分析,利用微信与微信平台的接口实现数据传输与设计,完成了操作便捷的实时路况和天气查询信息平台。
关键词微信;公众号;路况信息;天气信息
Abstract
WeChatpublicplatformtofacilitatetheuser'sin-depthunderstandingofWeChat,allowingdeveloperstodevelopspace.WeChatplatformpublicaccountdevelopmenthasbecomeanimportantmeanstoachievebusinessmarketing.ThistopicisimplementedontheWeChatpublicplatform,sothatuserscaneasilyquerytheroadandweatherinformation.Thissystemmainlyincludesthreefunctions:
sendingthelocation,viewingthemapandweatherquery.Whenausersendspositionwillreceiveinformationsentsuccessfully,afterenteringthemapcoordinateswillbepositionedtotheuserbytheposition,canbeseeninthevicinityofthetrafficinformation,alsocanvoiceinputXXoftheweather,thatyoucanreturntothecurrentcityweather.
ThissystemisintheWindowsServerenvironment,theuseofMySQLtoestablishadatabase,usingJSPforWeChattwodevelopment,theuseofHTML5content.ThispaperanalyzesthebackgroundandcurrentsituationofWeChat,accordingtothedevelopmentprocess,theoverallanalysisofthesystem,realizethedesignofdatatransmissionandtheuseofWeChatandWeChatplatforminterface,completetheoperationandconvenientreal-timetrafficandweatherinformationqueryplatform.
Keywords:
WeChat;publicnumber;trafficinformation
第一章绪论1
1.1项目设计目标1
1.2本章小结1
第二章项目涉及的技术、方法或原理2
2.1JAVA语言2
2.2JSP简介2
2.3MyEclipse开发工具3
2.4MySQL4
2.5微信4
2.6本章小结4
第三章总体设计方案4
3.1系统功能设计5
3.2业务用例建模5
3.3业务交互建模6
3.4本章小结7
第四章详细设计和程序8
4.1B/S结构8
4.2数据库逻辑结构设计8
4.3数据库表设计9
4.4安全性设计10
4.5本章小结11
第五章系统实现11
5.1JSP服务器的配置11
5.1.1服务器端配置11
5.2微信服务器的配置14
5.2.1配置接口..15
5.3系统的软硬件平台16
5.4服务器的实现16
5.4.1公众账号服务器16
5.4.2微信服务器17
5.5公众账号19
5.5.1发送位置20
5.5.2查看地图20
5.5.3查看天气21
5.4本章小结21
第六章总结与体会23
参考文献25
第一章绪论
1.1项目设计目标
基于微信平台的实时路况和天气查询信息系统是通过公众平台而开发的,微信用户可以在查找公众号后关注这个平台,这样就能使用我的公众号上的功能。
在整个消息的交互中,微信服务器作为一个中间媒介,它主要是把用户发送的消息交给公众账号服务器处理,而公众账号服务器主要做三件事,首先接收微信服务器发来的消息,然后对消息进行处理,最后把处理结果返回到微信服务器。
本系统采用B/S结构,开发语言选择的是Java,基于微信的应用。
它具有费用低,速度快等特点。
基于微信平台的实时路况和天气查询信息系统主要实现了查询路况是否拥堵的功能。
微信作为近几年新出来的技术,随着人们不断地关注,它的功能也越来越完善。
如今它功能的强大加上微信公众平台可以让所有微信用户都能免费拥有自己的平台,因此使用微信的人也越来越多,随着它的发展趋势,相信用微信这种技术来查询路况信息和和查询天气的方式将会成为主流方式。
实时路况和查询天气就是针对现在的交通状况出现的,在经济发展迅速的今天,人们的生活质量提高了,交通的拥堵状况也越来越严重。
特别是在上下班时期,或是十一,五一这种国定假日,交通几乎成瘫痪状态。
基于微信平台的实时路况查询系统使得用户可以更快、更有效地解决堵车情况,微信用户通过查询地图就能在地图上看到附近的道路是否拥堵,这样可以改变路线以缓解拥堵情况。
对于驾车出游的用户来说,实时路况既能反映真实的路况信息和天气信息,也能让微信用户通过线路颜色判断拥堵情况而改变行车路线,选择相对来说不那么拥堵的道路。
微信用户也可以通过语音输入xx市的天气,即可以返回当前城市的天气,方便用户用户的出行。
1.2本章小结
本章描述了项目以及微信的背景,选择这个项目的意义,并讲解了微信的发展史以及它的功能与特点,然后对我所做的系统做了简单的描述,以及我的系统中用到的开发语言,技术等等。
第二章、项目涉及的技术、方法或原理
2.1JAVA语言
Java是面向对象的程序设计语言。
Java有个比较大的特点就是它是跨平台性的,主要体现在java虚拟机,如图2-1所示。
并且它不会受到环境的限制,只要编译通过后,可以放在其它机子上运行。
Java语言是目前使用最普遍的服务器端语言,它涉及各个领域,游戏,网站,电子产品等等。
图2-1java虚拟机
2.2JSP简介
JSP是用来实现网页的静态化页面。
JSP页面中使用的代码为JAVA代码和HTML代码,它是在普通的HTML网页文件中加入了JAVA程序和JSP标记,然后就成为了JSP文件。
在JSP页面文件中,指令放在<%@%>中,JAVA代码放在<%%>中,在<%!
%>中放方法。
在JSP中以
---->或<%----%>的形式出现的表示注释,前一种客户端能看到,而后一种客户端是看不到的。
2.3MyEclipse开发工具
MyEclipse是用于开发Java,J2EE的企业级工作平台的开发工具,它是对Eclipse的扩展,也就是我们经常所说的插件。
它支持HTML5、JQuery和主流的Javascript库,开发者可以添加音频、视频等到项目中,方便创建移动设备的Web应用程序。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
2.4MySQL
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。
大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL的功能十分之强大,而且它还是免费的。
MySQL采用JDBC获取数据库信息,它分为六步。
第一步,调用Class.forName()方法加载驱动;第二步,获取数据库的连接地址;第三步,调用getConneceton()方法建立连接;第四步,创建对象;第五步,处理结果集;第六步,释放连接。
2.5微信
微信公众平台是微信新增的功能模块,在这一平台上,个人、企业或机构等都可以自己创建一个公众号。
这个公众号可以群发文字、图像、声音等等。
微信公众号包括订阅号与服务号,它们的区别主要在于:
?
服务号主要是为用户提供服务,而订阅号是为用户提供讯息和资讯;‚服务号每月可群发四条消息,而订阅号每天只可群发一条消息ƒ服务号有处定义菜单,而订阅号没有。
2.6本章小结
本章主要介绍了本系统所要用到的一些技术与工具,包括JAVA、JSP、MyEclipse、MySQL数据库、微信。
微信是近几年才出来的新技术,所以更要把微信公众平台的开发文档看懂,这样才能在用到微信时能更好的使用它的接口,并且要弄懂公众平台是怎么发送消息和接收消息的。
第三章总体设计方案
3.1系统功能设计
本系统要实现的功能主要是以下几点:
(1)公众帐号下面有两个按钮,这个可以在公众平台上通过接口在线调试中设置两个一级菜单:
一个是发送地理位置,一个是查看地图。
(2)当微信用户发送一个地理位置到公众帐号后,公众帐号会返回微信用户发送成功的信息,管理员也可在后台看到是否发送成功的消息。
然后微信用户就可以点查看地图查看自己位置附近的交通。
(3)当用户用语音输入xx市的天气,即可以返回当前城市的天气。
本系统的总体结构如图3-1所示。
图3-1整体功能结构图
3.2业务用例建模
使用rose画图工具绘制业务用例,如图3-2所示。
图3-2用例图
微信用户可以通过关注后使用本系统,主要可以发送地理位置和查看地图和
查询天气。
“发送地理位置”用例是指当微信用户所在位置拥堵时,微信用户可以把自己所在位置发送到微信服务器,微信服务器收到消息后通过HTTPPOST方式交给公众账号服务器,存储在数据库中。
“查看地图”用例是指微信用户打开地图后可以看到自己所在位置的拥堵情况,然后通过地图上路线的不同的颜色找到一条畅通的路改变自己的行车路线,减少等待时间。
“查询天气”用例是指用户用语音输入xx市的天气,即可以返回当前城市的天气,可以让用户知道带什么天气工具出门。
3.3业务交互建模
业务时序图如图3-3所示。
图3-3时序图
该时序图描述的是公众平台的消息交互流程。
微信用户向微信服务器发送自己的位置后,然后微信服务器把收到的消息以HTTPPOST方式转发给公众账号服务器,公众账号服务器处理后返回发送成功文本信息。
当微信用户打开地图时,微信服务器返回XX地图给微信用户,微信用户根据地图获取自己所要的信息。
当用户发送语音查询天气的请求时,然后微信服务器把收到的消息以HTTPPOST方式转发给公众账号服务器,公众账号服务器处理后返回发送成功文本信息,并且返回天气信息给用户。
3.4本章小结
本章描述了系统的总体设计方案,我用rose画了业务用例建模与业务交互建模,分别画了整体功能结构图、用例图、时序图,一个系统如若要顺利的完成离不开业务建模,进行业务建模后就不会出现中途出错,无法设计的问题,业务建模把整个设计流程都考虑好了,这样可以使我在设计时有条理的完成系统的设计,也能节省我们的设计时间。
第四章、详细设计和程序
4.1B/S结构设计
流媒体管理系统是基于浏览器/服务器(B/S)技术的管理系统,解决传统的用户端/服务器模型结构存在的用户端(C/S)维护烦琐的问题,维护相对简单,具有良好的系统扩展性,方便管理。
用户通过浏览器向服务器提出HTTP请求,然后由服务器转向数据库服务器,提出相应的数据请求,最后由数据库将结果通过浏览器显示出来。
由于本系统所面向的是的互连网用户,所以我采用的是比较流行的B/S三层结构。
如图4-1所示。
图4-1B/S三层结构图
本系统中所有的JSP页面都是在浏览器上运行的,当我们访问JSP页面时,浏览器向Web服务器发出请求,服务器将请求信息发送至Servlet,再由Servlet去调用相应的封装方法去访问数据库并进行数据处理,而MySQL数据库是由封装好了的JavaBean进行连接的。
4.2数据库设计
根据需求分析设计出可以满足微信用户需求的实体和实体之间的关连。
现在我们一般使用的都是关系型数据库,数据库最基本的要求是能够便捷、正确的调用以及管理。
MySQL数据库具有代码开放、体积小、速度快的优势,因此我在开发的时候选用了MySQL数据库。
根据实体所画的微信用户信息表如图4-2所示。
图4-2用户信息表
4.3数据库表设计
SQLServer2008在Microsoft公司的数据平台上发布,sqlserver2008可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
sqlserver2008可以对数据进行查询、搜索、同步、报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
Sqlserver2008有以下优点
可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
能保护你的信息、确保你业务的可可扩展性、最佳的和可预测的系统性能。
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
改进了安装和加速开发过程。
智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
由于本系统不是一般的管理系统,因此它没有其它系统要求的严格,根据需求本系统只需要一张表就能完成系统的设计。
本系统只需要一张能够存放用户发送位置信息时所带的编号,经纬度以及时间等的表就足够了。
微信用户信息表是描述用户发送位置时所带信息的数据表,见表4-1,表名为t_jlocation,包括以下的字段:
用户ID(id),经度(longitude),纬度(latitude),时间(ndate),发送到微信的ID(sender),用户(fuser)。
表4-1t_jlocation
字段名
数据类型
长度
是否允许为空
id
varchar
64
否
sender
varchar
500
是
ndate
varchar
500
是
latitude
varchar
200
是
longitude
varchar
200
是
fuser
varchar
200
是
下面对表中字段进行详细的描述。
id是指用户在数据库表中的编号,sender是指发送到微信的微信号,ndate是指用户发送地址信息的时间,latitude是指用户发送位置时的纬度,longitude是指用户发送位置时的经度,fuser是指用户发发送地址时所用的微信号。
4.4安全性设计
在设计一个系统时,不仅需要功能完善,而且需要具有安全性。
因此安全性设计是必不可少的。
本系统微信用户只有通过关注来使用系统,而用户的信息以及用户发送的地址也只有公众账号的开发者可以看到,微信公众账号只有开发者能看到。
微信用户发送的数据在后台数据库中都是加密的,所以不会有信息泄漏的危险。
B/S是指Browser/Server,浏览器/服务器模式。
B/S是web的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器,如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。
浏览器通过WebServer同数据库进行数据交互。
它的优点是可以在任何地方进行操作而不需要安装任何的软件。
客户端零安装、零维护。
系统的扩展非常容易。
降低了成本,选择更多。
但是以有一定的不足,就是对服务端的要求较高。
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。
因此,许多单位都备有数据库存储服务器,以防万一。
可以通过远程进和本地行系统的管理和维护。
4.5本章小结
本章主要描述了系统所用的结构——B/S三层结构以及数据库逻辑结构与数据库表的设计。
并且详细的描述了数据库表中的各个字段的意思。
因为本系统不是一般的管理系统,因此它的许多地方与普通管理系统有所区别,在我的系统中,仅仅用了一张数据表就可以完成整个系统的数据库实现。
第五章系统实现
5.1JSP服务器的配置
这里的配置涉及公网服务器的配置,配置公网服务器也就是要搭建JSP的服务器,搭建JSP服务器包括要安装JDK,Tomcat和MySQL三个软件,并且对软件进行配置。
我还在服务器安装了一款可视化软件,用于查看数据库,方便了数据库的建立、查看与修改。
5.1.1服务器端配置
如果自己有服务器,并且支持JSP,可以将接口文件上传到自己的服务器,否则可以选取一些免费的云平台服务器来存储服务,例如XX应用引擎BAE或者是新浪云平台SAE。
5.1.1.1安装JDK1.7编译环境
在安装完环境后还需设置环境变量:
右击“计算机”->“属性”->“更改设置”->“环境变量”,在系统变量中增加变量如下:
java_home值为C:
\ProgramFiles\Java\jdk1.7.0_51
Classpath值为%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
修改完后进行测试,“开始”->”运行”中输入cmd,然后输入命令java–version,如看到如图5-1所示则说明安装成功。
图5-1安装JDK
5.1.1.2安装apache-tomcat
安装完以后在apache-tomcat-7.0.6\conf目录中打开文件server.xml,修改以后内容:
修改1:
找到以下内容:
connectionTimeout="20000" redirectPort="8443"/> 把其中端口8080改为80,因为微信公众号接口只支持80接口。 修改2: 在你要修改的时候需先建立一个Web服务目录,例如在d: \盘下建立一个jspplace文件夹。 然后在server.xml文件中找到以下的内容: 这一行,在这一行前加入以下语句: \jspplace"debug="0"reloadable="true"/> 然后保存server.xml文件。 接下来开启Tomcat服务,在apache-tomcat-7.0.6bin目录下,打开startup.bat文件,如在启动过程中不出现错误提示,即启动成功,如图5-2所示。 图5-2安装Tomcat 不要关闭这个窗口。 将index.jsp测试文件拷贝到D: \jspplace目录下,点开浏览器,进入。 如图5-3所示。 图5-3测试Tomcat 当看到以上页面时则说明安装成功! 5.1.2.3安装mysql数据库 将C: \ProgramFiles\MySQL\MySQLServer5.5\bin目录添加到path环境变量中。 然后进行测试,打开mysql控制台,若看到如下图5-4所示。 图5-4安装MySQL 则说明安装成功! 到此服务器搭建完成。 5.2微信服务器的配置 要完成本系统就必须要有微信平台的公众账号,公众账号包括订阅号和服务号两种,根据需求选择所用的公众账号类型。 近几年微信的快速发展使微信平台的公众账号的注册要求也越来越多,公众账号对于用户的信息审核也越来越严格。 因此,在注册前,我们必须先了解注册的注意事项。 公众账号注册地址: 。 5.2.1配置接口 当用户申请公众账号成功后首先要成为开发者,而成为开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 设计 平台 实时 路况 天气 查询 信息系统