一、准备工作,注册申请公众号,个人只能申请订阅号,但是订阅号接口腾讯开放出来的很少,想要开发测试服务号的一些高级接口,就需要申请测试帐号。
微信公众平台控制中心->开发->开发者工具->公众平台测试帐号



二、配置
接口配置信息URL自定义一个地址,需要能访问,这个是验证消息事件的接口,例如这里我们设置为http://xxx.com/event/index
Token值自定义一个字符串
注意,上面两项填写好后,如果点击提交按钮的话会提示失败的信息,因为URL地址现在还不能访问,验证程序还没加上。
请将下列示例代码放到上面配置的URL所对应的文件中,这里的框架我是用自己写的,拿过去的时候稍微修改下即可。
修改类中三个常量值,注意TOKEN常量和上面设置的Token值一致
<?php
require APP_PATH . '/Controller/CommonController.php';
class EventController extends CommonController
{
// 下面三个常量来至微信公众平台配置
// 注意这里只是演示,在项目开发中请将下面的配置移到配置文件中
const TOKEN = ''; // token值自定义,必须和公众平台的设置一致
const APPID = '';
const APPSECRET = '';
public function __construct() {
parent::__construct();
}
/**
* 验证事件
*/
public function index() {
// 第一次请求(后台配置这个接口的时候)会传echostr
// 以后的每一次都不会再传
if (!empty($_GET ['echostr'])
&& !empty($_GET ["signature"])
&& !empty($_GET ["nonce"])) {
$this->valid();
} else {
// 监听消息事件
$this->listenEvent();
}
}
/**
* 验证签名
*/
private function valid() {
$echoStr = $_GET["echostr"];
if($this->checkSignature()) {
exit($echoStr);
}
}
/**
* 签名验证具体方法
* @return bool
*/
private function checkSignature() {
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$tmpArr = array(self::TOKEN, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
return ($tmpStr == $signature) ? true : false;
}
/**
* 监听消息事件,回复消息事件
*/
private function listenEvent() {
}
}代码传到服务器后,现在再点击提交按钮保存,会提示保存成功的信息。
注意:微信第一次请求上面的接口时,会带一个echostr的参数过来,我们就可以认为这是验证微信公众平台中的设置。以后的每次事件通知,微信方都不会再带这个参数了(除非再次修改配置的时候)。
好了这就是微信开发的基础准备工作。

fffffasdfasdfasdfasdfas;kdfjlaskl;dfjaskl;dfjakls;dfjkal;sfdjlaks;df als;dfj awkls;dfj asl;dfj aslk;dfjaskl;dfjas;ldf
访客评论