织梦dedecms微信公众平台插件及跳转wap插件手机端下载
- 格式:doc
- 大小:208.00 KB
- 文档页数:6
织梦dedecms微信公众平台插件及跳转wap插件手机端下载82015-01-30 21:52 来源/作者:懒人模板分类:微信公众平台«»目前网上有很多这方面教程,关于dedecms微信插件,写的很详细,但是都是微信跳转的是PC网页,很难看,排版就乱了,今天南宫在这里介绍,如何跳转到dedecms织梦自带wap端,也就是跳到同内容的手机端。
安装dedecms微信插件效果:在线下载地址:/wap/ruanjian/weixin.rar安装方法:放到dede程序的plus目录下即可.(其实放在哪里都可以)接口配置信息按下面说明填写,URL http://你的域名/plus/weixin.php微信高级接口配置:Token weixin (和文件中保持一致)以上都不是重点,重点是如何跳转到dede自带手机端,我们先看下微信接口文件。
<?phpdefine("TOKEN", "weixin");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 , optionif($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 dataif (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$this->keyword =strtolower(trim(iconv("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."]]></T oUserName><FromUserName><![CDATA[".$toUsername."]]></F romUserName><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 `lanren_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;}}}在以上代码,大家仔细看到。
红色地方,就是文章点击后的跳转链接,目前是链接PC端。
我们在看下官网这个两个网址区别:PC端:/plus/view.php?aid=643wap端:/wap.php?action=article&id=643通过上网网址对比,我们就知道,微信接口代码该如何修改了。
$link = '/plus/view.php?aid='.$weixin_post->id;改为$link = '/wap.php?action=article&id='.$weixin_post->id;就可以大功告成了哈!为了懒人需求,把修改好的微信接口提供下载,大家可以直接点击下载哈。