开发之前,先做了些技术储备,了解到整个消息从用户发送指令到服务器返回结果的流程如图所示。
接着就是一些比较具体的准备工作了。
- 微信开发者认证,打开微信公众平台,注册,选择订阅号(个人只能选这个),需要实名认证(手持身份证拍半身照,进监狱一样),等待后台审核
- 申请一个云平台放置web应用,我选的新浪SAE,免费(也需要申请实名认证,过程类似微信)、稳定
- 找一个民间微信SDK,因为官方的只处理签名认证,没有提供全面的消息和事件处理示例,我找的是wechat-php-sdk@github,非常全面
在做了充足的准备后,我们需要处理的就有两方面的工作了。
一是用户指令的处理,需要用正则去识别符合我们预期的指令,并且存取数据库返回信息给用户,再调用sdk返回给微信api,总结起来就是正则+很多的“if elseif”+微信sdk
二是书籍的添加和管理部分,需要一个页面作为载体。书籍添加我们还可以直接调用豆瓣的api,非常公开,不需要验证就可以读到图书相关所有信息,赞一个。
当然,为了限制有用户捣乱,随便添加数据或者还书操作,你可以指定一个管理员,设置个登陆界面
最后剩下的工作肯定是激动人心的上线和宣传的节奏,需要把代码部署到SAE,然后在微信后台指定我们的微信消息处理url,图书馆就跑起来了。
宣传,三个字——“无下限”,见缝插针。
整个过程,我都是用三言两语带过,主要是做个总结以及满足下部分童鞋的好奇心,真正对这个项目感兴趣或者想直接再复制一套图书馆的小伙伴儿,我已经把这个项目开源在github,可以直接去clone。