• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    让dedecms增加微信公众平台插件
    POST TIME:2020-04-13 22:22
    放到dede程序的plus目录下即可.

    接口配置信息 按下面说明填写,
    URL http://你的域名/plus/weixin.php
    Token weixin (和文件中保持一致)

    代码如下

    代码如下  

    <?php

    define("TOKEN", "weixin");
    require_once(dirname(__FILE__)."/..//common.inc.php");
    $dsql = new DedeSql(false);
    $wechatObj = new wechatCallback();
    $wechatObj->valid();

    class wechatCallback
    {
    private $items = '';
    private $articleCount = 0;
    private $key = '';

    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 = strtolower(trim(("UTF-8","gb2312",$postObj->Content)));

    $time = time();
    $textTpl = "<xml>
    <ToUserName><![CDATA[".$fromUsername."]]></ToUserName>
    <FromUserName><![CDATA[".$toUsername."]]></FromUserName>
    <CreateTime>".$time."</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[%s]]></Content>
    <FuncFlag>0</FuncFlag>
    </xml>";
    $picTpl = "<xml>
    <ToUserName><![CDATA[".$fromUsername."]]></ToUserName>
    <FromUserName><![CDATA[".$toUsername."]]></FromUserName>
    <CreateTime>".$time."</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <Content><![CDATA[]]></Content>
    <ArticleCount>%d</ArticleCount>
    <Articles>
    %s
    </Articles>
    <FuncFlag>1</FuncFlag>
    </xml>";
    if($this->keyword == 'hi' || $this->keyword == '您好' || $this->keyword == '你好' ||$this->keyword == 'hello2bizuser' ){
    $contentStr = "输入关键字开始搜索!";//自定义欢迎回复;
    echo sprintf($textTpl, $contentStr);
    }else if( !empty( $this->keyword )){
    $this->search();
    if($this->articleCount == 0){
    $contentStr = "抱歉,没有找到与【{$this->keyword}】相关的文章,要不你更换一下关键字,可能就有结果了哦 :-) ";
    echo sprintf($textTpl, $contentStr);
    }else{
    echo sprintf($picTpl,$this->articleCount,$this->items);
    }
    }

    }else {
    echo "";
    exit;
    }
    }

    private function search(){
    global $dsql;
    $weixin_posts = $dsql->SetQuery("Select * From `dede_archives` where title like '%".$this->keyword."%' order by id desc LIMIT 0, 5");
    $items = '';
    $dsql->Execute();

    while($weixin_post=$dsql->GetObject()){
    $title =$weixin_post->title;
    $excerpt = $weixin_post->description ;//获取摘要
    $thumb = $weixin_post->litpic ;//获取;
    $link = '/plus/view.php?aid='.$weixin_post->id;
    $items = $items . $this->get_item($title, $excerpt, $thumb, $link);
    $this->articleCount++;
    }
    if($this->articleCount > 5) $this->articleCount = 5;

    $this->items = $items;
    }

    private function get_item($title, $description, $picUrl, $url){
    if(!$description) $description = $title;

    return
    '
    <item>
    <Title><![CDATA['.$title.']]></Title>
    <Discription><![CDATA['.$description.']]></Discription>
    <PicUrl><![CDATA[http://'.$_SERVER['HTTP_HOST'].$picUrl.']]></PicUrl>
    <Url><![CDATA[http://'.$_SERVER['HTTP_HOST'].$url.']]></Url>
    </item>
    ';
    }

    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;
    }
    }
    }


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!