### 绑定微信公众号接口
* * * * *
在应用Admin目录下新建Wecha.php,并不需要权限控制,所以直接继承Controller。
这里的接口代码,学习于方倍工作室的《微信公众平台开发》,看云有完整教程,非常适合新手来系统学习。
~~~
Wecha.php
---------
namespace app\admin\controller;
use think\Controller;
define("TOKEN", "zheshiweixinxiaogongnengkaifa");
class Wecha extends Controller {
public function wxapi(){
if (!isset($_GET['echostr'])) {
$this->responseMsg();
}else{
$this->valid();
}
}
//验证签名
public function valid()
{
$echoStr = $_GET["echostr"];
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if($tmpStr == $signature){
echo $echoStr;
exit;
}
}
public function responseMsg()
{
}
}
~~~
回到公众号后台-基本配置-服务器配置,URL中输入正确地址提交,没意外的话就验证成功了。
![](/47d07d9c50886ec1af95f1f7b6b261e8_468x128.png)
* * * * *
### 注意
顺便说一下,我刚学配置接口时,遇到过多种验证失败的情况,系统超时、Token验证失败等等错误。
检查代码并没有发现什么问题,抓耳挠腮就是找不到解决办法,百度查询各种情况,在自己这里并不适合。
最终静下心,抛掉之前的代码,一行一行代码重新写出来,重新走一遍配置的的全过程,确保URL正确,往往发现又莫名奇怪成功了。(敢情之前还是哪个环节出错了)
还有,不排除服务器/虚拟主机的网络环境问题,这种情况虽然少见,但也是存在,同样会导致配置失败。
* * * * *
### 服务器URL的理解
我们填写的服务器配置URL将得到微信服务器推送过来的消息和事件,比如用户向公众号发送消息、或者点击自定义菜单、或微信支付订单等。
当我们配置URL成功之后,
有一些功能并不是就一直依靠此URL(就是说程序里删掉了当前wecha文件),我们开发一个网页授权登录功能,或者给关注的用户推送模版消息,依然可以成功。
当然,为了更好的互动,我们自然不能删除此文件,相反,还要增加更多方法满足用户的需求。