微信短信验证码插件

最近一直在工作室学习微信公众号开发,主要是使用WeiPHP 框架进行开发。框架已经把常用的函数、接口都封装好了,用起来也很方便。而且每个插件代表一个独立的功能,可以很方便的移植到其他系统上。也可以把网站封装成插件的形式,这样结合微信公众号的平台可以使网站得到更好的推广。

寒假时看着别人的源码写了几个小插件,放在自己的公众号上了。不过个人公众号不支持认证了,很多功能受限。最常用的自定义菜单的功能都不能用。所以自己的公众号也懒得搞了。因为网站的个人中心模块需要用户填写验证码验证手机号,于是老大就让我写了短信验证插件,也可以用于其他系统中。


借助WeiPHP写微信插件的流程也很简单,大致流程如下

  • 更改Config.php 定义配置选项。
  • WeixinAddonModel 可以定义Reply 信息,以及关注、取关微信号等其他操作的反馈事件
  • 定义相应的Model 数据表,用于插件数据的增删改查
  • 插件的一系列操作在Controller 中完成

因为这个插件功能比较简单,没有什么复杂的操作。只是调用了聚合数据的短信API,用于发送短信。然后再把用户提交过来的验证码和原本生成的验证码进行对比,如果相同且符合条件则验证成功。

中间碰到的问题

刚开始接触微信开发,很多地方不知道怎么弄,比如不知道怎么调试。不知道不同模块之间的调用方式。
比如发送Ajax 请求URL要这样写

1
{:addons_url('Sms://Sms/checkVerify')}

其他的一些问题

主要的问题是这个框架是一个小团队写的,可能技术也不是很成熟,用的过程中有很多Bug,也有地方设计的不是很合理。比如今天搞定的密码重复加密问题。本来一个很简单的问题,自己写的话就是一行代码的事。结果因为他是继承ThinkPHP的Controller中的方法,没办法自定义。所以我只好复写了基类中的方法才搞定,大概得有几十行代码才完成吧。所以做开发可以合理的运用框架,但绝不能依赖框架。