微信接口的投票管理系统的设计与实现
摘 要随着计算机技术与互联网技术的高速发展,越来越多的人工工作已经被转移到了计算机上,并且通过互联网来协作、传播。这一革命带来工作效率的提高是之前人类所无法想象的。就拿“投票管理”这一工作来说,仅仅靠原始的手工管理,不仅效率底下,而且人力成本巨大,并且无法做到完全的正确统计与公正执行。而在互联网发展起来之后,网络投票系统很快便进入了人们的视野。网络投票管理系统成功解决了参与投票的地区限制性、投票主办者的公正性、投票统计工作的效率和成本等问题。它能够让投票管理工作变得高效简单而又稳定,能够将大量的工作人员从繁重的手工工作中解救出来。不过,在移动端互联网高速发展的今天,传统的PC网站投票系统似乎显得笨重与脱节了。在移动终端上网人数超过PC上网人数的情况下,越来越多的网站开始从PC端向移动端移植。本系统将投票管理系统与微信公众号接口相结合,不仅让系统适合在移动端访问,而且通过微信的“网页授权获取用户信息”接口,免去了注册登录操作,大大地提高了用户体验。本系统使用PHP5.3作为语言,ThinkPhp3.2.3作为框架,采用MVC的设计模式,拥有PC端管理后台和移动端用户前台两大模块。主要功能包括:用户管理,投票管理,投票参与,数据统计。
目 录
第一章 绪论 1
1.1网上投票系统的发展史 1
1.2网上投票系统的作用 2
1.3 网上投票系统的构成 2
第二章 编程技术介绍 3
2.1 PHP介绍 3
2.2 MVC编程思想介绍 3
2.3 ThinkPhp框架介绍 3
2.4 MySql介绍 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1 技术可行性分析 5
3.1.2经济可行性分析 5
3.2需求分析 6
第四章 微信公众号接口解读 7
4.1微信公众号开发简介 7
4.2本系统需要用到的接口分析 7
4.2.1网页授权获取用户身份 7
4.2.2微信JsSDK分享接口 7
第五章 系统设计 9
5.1系统功能设计目标 9
5.2
*好棒文|www.hbsrm.com +Q: ¥351916072¥
系统功能总体划分 9
5.3数据库的设计 12
第六章 系统实现 14
6.1管理员后台 14
6.2 用户后台 15
6.2.1 绑定微信公众号 15
6.2.2 投票活动管理 16
6.3活动前台 18
6.3.1 获取用户身份信息 18
6.3.2 活动页面 22
结束语 25
致 谢 26
参考文献 27
第一章 绪论
自从1946年世界上第一台电子计算机诞生,到七十年代第一个计算机网络ARPANET的出现,计算机技术与网络技术开始飞速地发展。人们根据信息交换的需要,创造了划时代意义的产物——Internet。从此,人类开始进入了电子信息化时代。上世纪九十代后期,计算机与Internet不断普及,并逐渐进入了机关、企业、学校和普通的家庭之中。让人们实现了足不出门就知天下事的方便生活。人们通过互联网便利地沟通、工作、娱乐。许多原本必须面对面近距离的工作,也因为互联网的出现变得便利起来,效率大大提高,成本大大降低。我们通过互联网来实现投票管理工作,可以显著地提高效率与准确度,并降低人工成本。
1.1网上投票系统的发展史
互联网诞生之初,只是被用于在科学家之间共享科研资料用的。那时候的互联网,几乎不具备“通讯”功能。后来,在Tim BernersLee发明的超文本标记语言(HTML)普及之后,互联网的世界仿佛在一瞬间从黑白的世界进入了彩色的世界。HTML语言+浏览器的渲染,使得只能传播字符串和二进制数据的互联网变得缤纷多彩起来。形形色色的网站开始出现在这个虚拟的世界里。而一旦一扇大门打开之后,人们的各种奇思妙想就会如泉水般涌现出来。就像蒸汽革命之后的科技水平产生了爆炸式的发展一样,在伯纳斯发明了这种可“以用字符串表达和传播排版后的图文”的技术之后,人们几乎把所有能在互联网上实现的事都想到了。在线投票管理系统就是其中之一。
早先的投票系统构造简单,页面粗糙,不光用户体验较差,而且缺乏必要的安全性。表单式的页面使得用户每次投票操作都要刷新页面,在那个拨号上网的时代,一个需要频繁刷新的页面简直就是灾难。而传统的表单提交容易被sql注入,从而被黑客修改投票数据。后来随着HTML+CSS+Javascript技术的不断完善,投票系统的用户体验得到了极大的改善。JS的动态效果,使得原本死板的网页变得灵活多变起来;而JS+服务端脚本语言形成的Ajax技术(Asynchronous Javascript And XML)可以异步提交、获取、更新投票数据,而页面却不用刷新。
而近几年,随着移动端网站的兴起,HTML5和CSS3的技术换代,投票系统从PC上来到了移动端,投票系统的页面从大屏高分辨率的死页面变成了能适应各种不同分辨率终设备的自适应页面。投票元素不但可以在宽度上自适应,还能在高度上用JS形成瀑布流等布局。(本系统也将采用这种主流设计)
1.2网上投票系统的作用
网上投票系统,顾名思义,可以通过互联网完成绝大多数原本需要在线下完成的投票工作。且相比传统的人工线下投票还具备以下几点优势:
1.投票流程严谨,公正。在代码开源、不留后门的情况下,投票的每一个过程都完全由“诚实、可靠”的计算机把控,杜绝了工作人员徇私舞弊的情况。
2.参与者参与成本低。在互联网后计算机高度普及的今天,参与者可以在任何有网络的地方参与投票,或者报名参选。不像传统的线下投票活动,受到时间、空间条件的限制,对于部分参与者会造成很大的不便,甚至直接杜绝了一大部分人参与活动的可能。
3.数据处理高效便捷。投票的所有流程都在计算机上完成,并通过互联网汇总,数据可及时在计算机上完成整理、分析工作。而传统投票工作则需要人工处理,不光工作量巨大,耗时长,容易出错,还有舞弊的可能,而一个成熟的在线投票管理系统可以帮您轻松避免这些麻烦。
1.3 网上投票系统的构成
网上投票系统大体可以分为三大模块:给用户使用的移动端前台模块,即投票模块;
给管理员使用的PC端后台模块,即管理模块;由各种接口构成的API接口模块。
前面的两个模块从字面上就很好理解,这里着重解释下第三个API接口模块。在前面的“网上投票系统的发展史”(1.1)中,我提到过,投票系统随着web技术的不断发展,开始从简单粗糙向友好智能过度。尤其是前端投票模块,更加注重交互效果,页面大量使用Javascript来增加动态效果。而Javascript毕竟只是运行在浏览器端的语言,想要和服务器端进行交互,又要实现页面无刷新的效果,就必须使用ajax技术。我们通过接口模块提供大量的接口来为前台投票做数据逻辑支撑。除此之外,还有一些其他的接口,如二维码生成接口。虽然有第三方也提供二维码图生成的接口,但是本着能自己实现就不依赖第三方的原则,本系统内也集成了这些功能性接口。
目 录
第一章 绪论 1
1.1网上投票系统的发展史 1
1.2网上投票系统的作用 2
1.3 网上投票系统的构成 2
第二章 编程技术介绍 3
2.1 PHP介绍 3
2.2 MVC编程思想介绍 3
2.3 ThinkPhp框架介绍 3
2.4 MySql介绍 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1 技术可行性分析 5
3.1.2经济可行性分析 5
3.2需求分析 6
第四章 微信公众号接口解读 7
4.1微信公众号开发简介 7
4.2本系统需要用到的接口分析 7
4.2.1网页授权获取用户身份 7
4.2.2微信JsSDK分享接口 7
第五章 系统设计 9
5.1系统功能设计目标 9
5.2
*好棒文|www.hbsrm.com +Q: ¥351916072¥
系统功能总体划分 9
5.3数据库的设计 12
第六章 系统实现 14
6.1管理员后台 14
6.2 用户后台 15
6.2.1 绑定微信公众号 15
6.2.2 投票活动管理 16
6.3活动前台 18
6.3.1 获取用户身份信息 18
6.3.2 活动页面 22
结束语 25
致 谢 26
参考文献 27
第一章 绪论
自从1946年世界上第一台电子计算机诞生,到七十年代第一个计算机网络ARPANET的出现,计算机技术与网络技术开始飞速地发展。人们根据信息交换的需要,创造了划时代意义的产物——Internet。从此,人类开始进入了电子信息化时代。上世纪九十代后期,计算机与Internet不断普及,并逐渐进入了机关、企业、学校和普通的家庭之中。让人们实现了足不出门就知天下事的方便生活。人们通过互联网便利地沟通、工作、娱乐。许多原本必须面对面近距离的工作,也因为互联网的出现变得便利起来,效率大大提高,成本大大降低。我们通过互联网来实现投票管理工作,可以显著地提高效率与准确度,并降低人工成本。
1.1网上投票系统的发展史
互联网诞生之初,只是被用于在科学家之间共享科研资料用的。那时候的互联网,几乎不具备“通讯”功能。后来,在Tim BernersLee发明的超文本标记语言(HTML)普及之后,互联网的世界仿佛在一瞬间从黑白的世界进入了彩色的世界。HTML语言+浏览器的渲染,使得只能传播字符串和二进制数据的互联网变得缤纷多彩起来。形形色色的网站开始出现在这个虚拟的世界里。而一旦一扇大门打开之后,人们的各种奇思妙想就会如泉水般涌现出来。就像蒸汽革命之后的科技水平产生了爆炸式的发展一样,在伯纳斯发明了这种可“以用字符串表达和传播排版后的图文”的技术之后,人们几乎把所有能在互联网上实现的事都想到了。在线投票管理系统就是其中之一。
早先的投票系统构造简单,页面粗糙,不光用户体验较差,而且缺乏必要的安全性。表单式的页面使得用户每次投票操作都要刷新页面,在那个拨号上网的时代,一个需要频繁刷新的页面简直就是灾难。而传统的表单提交容易被sql注入,从而被黑客修改投票数据。后来随着HTML+CSS+Javascript技术的不断完善,投票系统的用户体验得到了极大的改善。JS的动态效果,使得原本死板的网页变得灵活多变起来;而JS+服务端脚本语言形成的Ajax技术(Asynchronous Javascript And XML)可以异步提交、获取、更新投票数据,而页面却不用刷新。
而近几年,随着移动端网站的兴起,HTML5和CSS3的技术换代,投票系统从PC上来到了移动端,投票系统的页面从大屏高分辨率的死页面变成了能适应各种不同分辨率终设备的自适应页面。投票元素不但可以在宽度上自适应,还能在高度上用JS形成瀑布流等布局。(本系统也将采用这种主流设计)
1.2网上投票系统的作用
网上投票系统,顾名思义,可以通过互联网完成绝大多数原本需要在线下完成的投票工作。且相比传统的人工线下投票还具备以下几点优势:
1.投票流程严谨,公正。在代码开源、不留后门的情况下,投票的每一个过程都完全由“诚实、可靠”的计算机把控,杜绝了工作人员徇私舞弊的情况。
2.参与者参与成本低。在互联网后计算机高度普及的今天,参与者可以在任何有网络的地方参与投票,或者报名参选。不像传统的线下投票活动,受到时间、空间条件的限制,对于部分参与者会造成很大的不便,甚至直接杜绝了一大部分人参与活动的可能。
3.数据处理高效便捷。投票的所有流程都在计算机上完成,并通过互联网汇总,数据可及时在计算机上完成整理、分析工作。而传统投票工作则需要人工处理,不光工作量巨大,耗时长,容易出错,还有舞弊的可能,而一个成熟的在线投票管理系统可以帮您轻松避免这些麻烦。
1.3 网上投票系统的构成
网上投票系统大体可以分为三大模块:给用户使用的移动端前台模块,即投票模块;
给管理员使用的PC端后台模块,即管理模块;由各种接口构成的API接口模块。
前面的两个模块从字面上就很好理解,这里着重解释下第三个API接口模块。在前面的“网上投票系统的发展史”(1.1)中,我提到过,投票系统随着web技术的不断发展,开始从简单粗糙向友好智能过度。尤其是前端投票模块,更加注重交互效果,页面大量使用Javascript来增加动态效果。而Javascript毕竟只是运行在浏览器端的语言,想要和服务器端进行交互,又要实现页面无刷新的效果,就必须使用ajax技术。我们通过接口模块提供大量的接口来为前台投票做数据逻辑支撑。除此之外,还有一些其他的接口,如二维码生成接口。虽然有第三方也提供二维码图生成的接口,但是本着能自己实现就不依赖第三方的原则,本系统内也集成了这些功能性接口。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/1266.html