tp5微信公众号开发(1) 申请公众号配置token验证

  

进入微信公众帐号测试号申请系统

申请测试账号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

开发之前要申请微信接入,填写服务器配置,验证服务器地址的有效性。

必须拥有自己的服务器

tp5微信公众号开发(1) 申请公众号配置token验证

  因为我项目用的是tp5,用到了一系列诸如上传素材,关键字自动回复等功能,就以tp5为例说明。

    公众号服务器配置URL:  http(https)://域名/www.qixiao.ltd/index.php/wxindex

 token:这个随意字符,但是需要注意的是需要跟验证代码中的token保持一致。

代码必须提交到服务器上!!切记!!

tp5代码如下

路由

tp5微信公众号开发(1) 申请公众号配置token验证

控制器

tp5微信公众号开发(1) 申请公众号配置token验证

<?php

namespace app\index\controller;
use think\Controller;
use think\Request;

header("Content-type: text/html; charset=utf-8"); 
define("TOKEN","token");//定义识别码 需要跟微信公众平台上保持一致
class Blog extends Controller
{

     public function index(){
        $this->valid(); 
    }
 
    //微信验证
    public function valid(){ 
        $echoStr = $_GET["echostr"]; 
        if($this->checkSignature()){ 
         echo $echoStr; 
         exit; 
        } 
    } 
 
    //检查微信签名
    private function checkSignature(){
        $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 ){
            return true;
        }else{
            return false;
        }
    }

}

 在微信公众号进行配置:

tp5微信公众号开发(1) 申请公众号配置token验证

点击提交,完事。

失败几点可能原因:1,填写的URL是否能访问到(测试方法,在wxtoken文件夹头部echo随机字符串,访问域名看能否正确输出)

2,公众平台填写的token跟代码文件define 的token是否一致

3,多提交几次,一般提交3-5次基本都会成功