本项目 github 地址 : https://github.com/heygirlwhatyournameis/wechatwall
“墙”是现在各类活动中调动气氛的一个优质道具,文艺晚会、公司聚会乃至很多电视节目都用“墙”来增进主办方和参与者的互动。不论是微博墙还是微信墙,目前都是很受欢迎的存在。墙的实现并不困难,甚至很容易就能凭空制作出来,这是我为学院的迎新晚会做的微信墙:
这个微信墙分为前后端两个部分,前端又分为用户端和“墙端”,所以一共有三大部分。消息服务端负责处理接受和推送用户消息,并和微信开放平台进行对接。
技术参数:
以下是我在制作过程中用到的技术和工具:
语言
PHP、Javascript、Html、CSS
数据库
MySql
框架
前端框架:jQuery
后端框架:为了照顾更多的读者,本文使用原生的PHP语言制作,后续有机会分享用thinkphp搭建微信墙服务器的方法。
开发工具(均可按照个人习惯替换)
编辑代码:Sublime
管理数据库: HeidiSQL
FTP工具:FTPRush(后期要上传到公网服务器)
服务器搭建
在起步阶段,我直接使用 XAMPP 搭建本地 apache 和 mysql 服务,在后期,我将代码和数据库部署到了我自己的阿里云服务器上。
XAMPP获取:[https://www.apachefriends.org/zh_cn/index.html](https://www.apachefriends.org/zh_cn/index.html
安装完成后,开启 apache 和 mysql 两项服务,为mysql 的 root 帐号设置一个密码(可使用右边的 She ll工具调用 mysql 命令。
项目搭建
XAMPP的根目录文件夹是 htdocs,我根目录建了工程目录 wall,根据之前所述将项目分为三个部分。
数据库搭建
-
我使用了数据库管理工具来管理我的 mysql 数据库,便于我管理表和观察数据的变化。
-
新建数据库,我使用 utf8_general_ci 的编码存储中文数据。
新建数据表,在最功能最基本的系统中,只需要两张表就够了,一张用户表和一张消息表。
4.用户表 user ,我以 openid 为主键,数据类型位 VARCHAR 而不是自增的 INT,后期从微信拉取用户数据时,每个用户都是用唯一的 openid 作为标识的。
-
在没有接入微信前,我在数据库创建了一个测试用户(openid随便起,头像地址网上找一张,也可以项目目录里临时放一张),方便我在开发时进行测试。
消息表 message 的主键是id,需添加 AUTO_INCREMENT 属性,openid 可以作为外键和 user.openid 关联起来,posttime储存PHP时间戳,用于消息时间。
有了项目结构和数据库,接下来就可以开始写消息服务端了。