日期:2011-07-17 浏览次数:20529 次
这个扩展实现了SP和微信公众平台的对接,1.0版暂时只实现了最简单的功能:绑定,收信息,回复信息。
扩展配置方法:
$spConfig = array(
'mode' => 'debug'
//扩展配置
, 'ext' => array(
//微信扩展设置
'spWeiXin' => array(
'TOKEN' => 'weixin' //微信通信密钥,后台设置
)
)
);然后在controll的方法里面执行:
$wx = spClass('spWeiXin');
$msg = $wx->run();就行了,如果是绑定那么会直接输出微信指定显示的echostr,程序中止执行。如果是收到信息,那么$msg就是收到的信息的数组,键名对照微信官方文档就成。
<?php/*** <b>SpeedPHP微信接口扩展</b>* <p>2013年8月15日 08:51:23</p>* @author Lee(leeldy[AT]163.com)* @version 1.0*/class spWeiXin {//微信通信密钥private $token;//微信公众帐号IDprivate $publicuserid;//信息接受者private $touserid;public function __construct() {$params = spExt('spWeiXin');//获取配置参数if (empty($params['TOKEN'])) {spError('微信公众帐号通信密钥未设置!');}$this->token = $params['TOKEN'];}/*** 绑定微信接口* @return stringfalse*/public function bind() {//随机字符串$echoStr = $_GET["echostr"];//微信加密签名$signature = $_GET["signature"];//签名时间戳$timestamp = $_GET["timestamp"];//加密随机数$nonce = $_GET["nonce"];/** 加密/校验流程:1. 将token、timestamp、nonce三个参数进行字典序排序2. 将三个参数字符串拼接成一个字符串进行sha1加密3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信*/$tmpArr = array($this->token, $timestamp, $nonce);sort($tmpArr);&n