因为更换网址链接变了,dedecms转wordpress详细版,成功版,经典版
前段时间弄 dedecms,微信公众号那么火,就想集成下,百度搜了下教程很多,大体都差不多,结果用了后不行,在公众号里回复关键词后,乱码,乱码,乱码,更有的教程代码贴上之后直接不回复,无论你怎么发就是不回复你,很是蛋疼,下面把 18 年测试成功的代码贴上来,至于怎么注册微信公众号等就不发了,不会的自行百度。将代码保存为 weixin.php 放 plus 下就好
<?php define("TOKEN", "你的token名字"); require_once(dirname(__FILE__)."/../include/common.inc.php"); $dsql = new DedeSql(false); $wechatObj = new wechatCallback(); $wechatObj->valid();
class wechatCallback
{
private $items = '';
private $articleCount = 0;
private $keyword = '';
public function valid()
{
$echoStr = $_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo $echoStr;
$this->responseMsg();
exit;
}
}
public function responseMsg()
{
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$this->keyword = trim($postObj->Content);
$time = time();
$textTpl = "
重要第一点
$this->keyword = trim($postObj->Content);这段代码解决的乱码问题。我的是 utf-8 版本的。
重要第二点
sort($tmpArr, SORT_STRING);
这段代码是解决的有时收到信息有时收不到信息,这个在 14 年的时候微信升级,对排序算法进行了修改,原有的 sort($tmpArr)修改为 sort($tmpArr, SORT_STRING),网上教程都说 14 年之前没升级的教程,所以很多朋友用了后有时收到信息有时收不到信息。
重要第三点
$link = ‘/m/view.php?aid=’.$weixin_post->id;
如果在微信里打开,肯定打开的是手机版,所以如果你的手机版是在更目录下的 m 文件夹就要如上填写,这个跳转到手机版根据不同的情况修改。
文章评论