×

一面微信墙的诞生(1) 概述、工具和数据库准备

96
忠叔
2017.11.22 22:44* 字数 845

本项目 github 地址 : https://github.com/heygirlwhatyournameis/wechatwall

“墙”是现在各类活动中调动气氛的一个优质道具,文艺晚会、公司聚会乃至很多电视节目都用“墙”来增进主办方和参与者的互动。不论是微博墙还是微信墙,目前都是很受欢迎的存在。墙的实现并不困难,甚至很容易就能凭空制作出来,这是我为学院的迎新晚会做的微信墙:

图 1-1
图 1-2
图 1-3

这个微信墙分为前后端两个部分,前端又分为用户端和“墙端”,所以一共有三大部分。消息服务端负责处理接受和推送用户消息,并和微信开放平台进行对接。

图1-4 微信墙基本系统结构

技术参数:

以下是我在制作过程中用到的技术和工具:

语言

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 命令

图1-5 XAMPP控制面板

项目搭建

XAMPP的根目录文件夹是 htdocs,我根目录建了工程目录 wall,根据之前所述将项目分为三个部分。


图1-6 项目目录结构

数据库搭建

  1. 我使用了数据库管理工具来管理我的 mysql 数据库,便于我管理表和观察数据的变化。


    图1-7 HeidiSQL 登录面板
  2. 新建数据库,我使用 utf8_general_ci 的编码存储中文数据。


    图1-8 新建数据库
  3. 新建数据表,在最功能最基本的系统中,只需要两张表就够了,一张用户表和一张消息表。

图1-9 用户表 user

4.用户表 user ,我以 openid 为主键,数据类型位 VARCHAR 而不是自增的 INT,后期从微信拉取用户数据时,每个用户都是用唯一的 openid 作为标识的。

  1. 在没有接入微信前,我在数据库创建了一个测试用户(openid随便起,头像地址网上找一张,也可以项目目录里临时放一张),方便我在开发时进行测试。


    图1-10 测试用户
图1-11 消息表message

消息表 message 的主键是id,需添加 AUTO_INCREMENT 属性,openid 可以作为外键和 user.openid 关联起来,posttime储存PHP时间戳,用于消息时间。

有了项目结构和数据库,接下来就可以开始写消息服务端了。

下一节:一面微信墙的诞生(2) 消息服务端的搭建

一面微信墙的诞生
Web note ad 1