微信公众号开发----前期准备
搭建本地服务器
- XAMPP
使用xampp作为本地的服务器
<?php
print 'hello world';
?>
我们在浏览器输入127.0.0.1/wxtest.php,即可看到hello world(如果看不到,可以在xampp中关闭然后再开启apache,再刷新页面即可)。
-
natapp
使用natapp映射本地服务器到公网
natapp是一个建立公网映射的软件,没有云服务器的话,可以使用这个来代替,减少学习阶段的开销,用于微信公众号开发的话,需要购买,每个月5元,价格相对来说很实惠。- 下载电脑对应版本的natapp
- 查看使用教程,配置启动natapp
- 在natpp启动界面可以看到127.0.0.1:80所映射的网址,这个网址就相当于我们的服务器网址。
- 上一步获取到的网址比如说是:http://mywxtest.s1.natapp.cc/ 这个时候我们再打开可以打开http://mywxtest.s1.natapp.cc/wxtest.php , 即可打开我们之前写的php文件
-
测试号申请
-
测试号申请网址,进入界面后使用微信扫码登录,会获取到appID ,appsecret和我们的测试公众号二维码(在最下方,通过微信扫码关注即可)
-
看到接口配置信息中url 和token为空,需要我们进行配置
<b>url</b> 需要填写我们上次获取的映射网址http://mywxtest.s1.natapp.cc/wxtest.php ,这个网址的意思是,以后公众号用户的所有动作交互都会发送到wxtest.app中进行处理
<b>token</b> 可以随便填写,但是得记住我们token填写的内容.-
填写完成url和token后,点击确认,会提示配置错误,因为我们的wxtest.php还没有编写代码处理发送过来的验证信息。
-
我们需要<b>打开wxtest.php文件</b>(可以使用notepad++或其他可以进行php编辑的软件)
-
<?php
//这里的TOKEN,就是我们上面填写的token,值一定要相同,比如说之前填写的是 weixin,那么就像下面这样
define("TOKEN", "weixin");
//创建一个Test对象用来处理用户发过来的消息
$wechatObj = new wechatCallbackapiTest();
//首先执行这个对象中的valid方法
$wechatObj->valid();
//声明对象
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
exit;
}
}
//主要用于测试服务地址的有效性
private function checkSignature()
{
// you must define TOKEN by yourself
if (!defined("TOKEN")) {
throw new Exception('TOKEN is not defined!');
}
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
// use SORT_STRING rule
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>
5. 保存wxtest.php所编写的内容,重新点击网页中的确认按钮,则提示配置完成。