Skip to content

nxlwnm/wechat_vote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目简介

项目开发起源于中山大学学生软件技术发展中心2015年换届选举,时间匆忙,未考虑推广性,如有时间,会考虑重写架构

项目目前运行在 115.28.17.113/vote (阿里云,未申请域名)

项目运行环境:ubuntu(windows亦可),Apache2,MySQL (Apache和MySQL建议使用XAMPP配置,注意xampp带的MySQL是没有加到环境变量里去的,要么自己再装个,要么把/opt/lampp/mysql加到环境变量里去),ThinkPHP框架(3.1的老版本框架了,新框架改了不少技术细节,代码迁移真的心累)

项目与微信公众平台对接,直接访问url无法对接

配置步骤: 1,在微信公众号中开启开发者模式,url填写你正在运行的url,token可在 Lib/Action/IndexAction.class.php 中 'token' => 'sysu' 修改,下一行随机的key可不写,如 $weObj->valid(); 被注释掉了记得去掉注释,SDK建议验证成功后注释掉但实际上不注释也可以。 点击即可完成验证。 如显示验证失败,请检查: 1⃣️直接访问url是否返回no access,如没有请检查代码是否能正常运行,注意 Lib/ORG/wechat.class.php是微信的SDK,检查是否上传 2⃣️核对url,token是否正确,检查valid函数 3⃣️重启服务器(笑,这方面给不了太多建议,只能说按照平时web调试那些步骤去做)

2,数据库方面的操作需要远程服务器完成,或者访问phpmyadmin导入脚本。 Lib/Action/ 中有几个操作数据库的脚本 center.sql是一个老版本的脚本,废弃 vote.sql 里生成一个名为 vote 的数据库,和四张表 还有个python脚本把提供的人名格式化成带验证码的文本 club和management是两张候选人的表,sql脚本中已插入候选人名单,可直接修改,初试票数请置为0,以免打脸 vote_info表示投票阶段 user表示选举人的名单,每人对应一个验证码,auth代表用户类型,-1为未认证,0为管理员,1为选举人

3,code.txt是选举人名单 center_sql.py用于导入选举人名单(本来写了个PHP来导入的,忘了存了) python需要MySQLdb库,Lib/Action/中有安装包,自己在ubuntu装,有问题请百度/谷歌 Python比较简单,应该大多数人都能看懂

4, 框架数据库的配置 Conf/config.php是ThinkPHP框架的数据库配置,对照着已有的改就行了 建议url不要用localhost用127.0.0.1,按理说都是一样的,但是用localhost在阿里云上访问不了数据库,我也不知道为什么

5,前端 center/ 下是用来展示的前端,背景图什么的自己改 最重要的是 getData.js 和 getDataMsc.js 两个js,里面有从PHP中调用两个函数,请随着你的服务器修改;另外候选人最大数如果大于了下面定义的,请自己添加颜色

6,使用 可看代码,大二写的,没那么规范易读,惭愧惭愧,我尽量完善注释 关注配置好的微信号后,管理员向公众号发送验证码即可注册成管理员,可参阅 Lib/Action/IndexAction.class.php 中的指令 普通选举人同样,可发送消息查看被选举人信息(可自定义) 选举人发送 ‘1 2 3 4 5’类似的消息可投票(管理员已开始投票后),即使重复也不会重复计票

##总结 上周选举前添加了一个加选投票的功能,忘了commit上来,团学选举已经结束,中心换届要九月,所以这应该我接手这个项目的最后一次操作了 暑假期间会把项目移交给中心后人们,本项目没有重大改动将不再更新

以下是ThinkPHP自带的介绍,大家随便看看就好

简介

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

全面的WEB开发特性支持

最新的ThinkPHP为WEB应用开发提供了强有力的支持,这些支持包括:

  • MVC支持-基于模型(M)、视图(V)、控制器(C)的设计模式
  • ORM支持-提供了全功能和高性能的ORM支持,支持大部分数据库
  • 模板引擎支持-内置了高性能的基于标签库和XML标签的编译型模板引擎
  • RESTFul支持-REST模式提供了RESTFul支持,为你打造全新的URL设计和访问体验
  • 云引擎支持-提供了对新浪SAE平台和百度BAE平台的强力支持,具备“横跨性”和“平滑性”,支持本地化开发和调试以及部署切换,让你轻松过渡,打造全新的开发体验。
  • CLI支持-支持基于命令行的应用开发
  • AMF支持-支持Flex开发和Flash通讯,打造互联网富应用
  • PHPRPC支持-提供基于PHPRpc的WEBService解决方案
  • MongoDb支持-提供NoSQL的支持
  • 缓存支持-提供了包括文件、数据库、Memcache、Xcache、Redis等多种类型的缓存支持

大道至简的开发理念

ThinkPHP从诞生以来一直秉承大道至简的开发理念,无论从底层实现还是应用开发,我们都倡导用最少的代码完成相同的功能,正是由于对简单的执着和代码的修炼,让我们长期保持出色的性能和极速的开发体验。在主流PHP开发框架的评测数据中表现卓越,简单和快速开发是我们不变的宗旨。

安全性

框架在系统层面提供了众多的安全特性,确保你的网站和产品安全无忧。这些特性包括:

  • XSS安全防护
  • 表单自动验证
  • 强制数据类型转换
  • 输入数据过滤
  • 表单令牌验证
  • 防SQL注入
  • 图像上传检测

商业友好的开源协议

ThinkPHP遵循Apache2开源协议发布。Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再作为开源或商业软件发布。