Maintenant que la vérification est réussie, il ne reste plus qu'à le renvoyer à WeChat. Si je renvoie echostr ou true, WeChat indique que la vérification de mon jeton a échoué
.<?php
namespace app\index\controller;
use think\Request,think\Db;
use think\Cache;
class Autoreply extends RestBase{
// 获取微信数据
public function checktoken(){
$request = Request::instance();
$get = $request->param();
$timestamp = $get['timestamp'];//timestamp其实就是一个时间戳
$nonce = $get['nonce'];//nonce是一个随机参数
$token = "";//这个token填写你在微信公众平台上写的那个值
$signature = $get['signature'];//这个signature其实就是在微信公众平台已经加密好的字符串
$echostr = $get['echostr'];
$array = array();
$array = array($token,$timestamp,$nonce);
sort($array);
$tmpstr = sha1(implode('',$array));
if($tmpstr == $signature){
echo $get['echostr'];
}else{
return false;
}
}
}
Lorsque vous ne trouvez aucun problème après avoir examiné attentivement le code, il est toujours important d'apprendre un débogage simple, comme voir quels sont les paramètres WeChat et voir si les résultats que vous avez traités sont les mêmes que ceux attendus.