### 绑定微信公众号接口 * * * * * 在应用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中输入正确地址提交,没意外的话就验证成功了。 ![](https://box.kancloud.cn/47d07d9c50886ec1af95f1f7b6b261e8_468x128.png) * * * * * ### 注意 顺便说一下,我刚学配置接口时,遇到过多种验证失败的情况,系统超时、Token验证失败等等错误。 检查代码并没有发现什么问题,抓耳挠腮就是找不到解决办法,百度查询各种情况,在自己这里并不适合。 最终静下心,抛掉之前的代码,一行一行代码重新写出来,重新走一遍配置的的全过程,确保URL正确,往往发现又莫名奇怪成功了。(敢情之前还是哪个环节出错了) 还有,不排除服务器/虚拟主机的网络环境问题,这种情况虽然少见,但也是存在,同样会导致配置失败。 * * * * * ### 服务器URL的理解 我们填写的服务器配置URL将得到微信服务器推送过来的消息和事件,比如用户向公众号发送消息、或者点击自定义菜单、或微信支付订单等。 当我们配置URL成功之后, 有一些功能并不是就一直依靠此URL(就是说程序里删掉了当前wecha文件),我们开发一个网页授权登录功能,或者给关注的用户推送模版消息,依然可以成功。 当然,为了更好的互动,我们自然不能删除此文件,相反,还要增加更多方法满足用户的需求。