织梦dedecms微信公众平台插件及跳转wap插件手机端下载
目前网上有很多这方面教程,关于dedecms微信插件,写的很详细,但是都是微信跳转的是PC网页,很难看,排版就乱了,今天南宫在这里介绍,如何跳转到dedecms织梦自带wap端,也就是跳到同内容的手机端。安装dedecms微信插件效果:在线下载地址:http://www.lanrenmb.com/wap/ruanjian/weixin.rar
安装方法:放到dede程序的plus目录下即可.(其实放在哪里都可以)
接口配置信息按下面说明填写,
URL http://你的域名/plus/weixin.php
微信高级接口配置:Tokenweixin (和文件中保持一致)
以上都不是重点,重点是如何跳转到dede自带手机端,我们先看下微信接口文件。
<?php
define("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 , 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(iconv("UTF-8","gb2312",$postObj->Content)));
$time = time();
$textTpl = "<xml>
<ToUserName><!]></ToUserName>
<FromUserName><!]></FromUserName>
<CreateTime>".$time."</CreateTime>
<MsgType><!]></MsgType>
<Content><!]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
$picTpl = "<xml>
<ToUserName><!]></ToUserName>
<FromUserName><!]></FromUserName>
<CreateTime>".$time."</CreateTime>
<MsgType><!]></MsgType>
<Content><!]></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><!]></Title>
<Discription><!]></Discription>
<PicUrl><!.$picUrl.']]></PicUrl>
<Url><!.$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端:http://www.lanrenmb.com/plus/view.php?aid=643
wap端:http://www.lanrenmb.com/wap.php?action=article&id=643
通过上网网址对比,我们就知道,微信接口代码该如何修改了。
$link = '/plus/view.php?aid='.$weixin_post->id;
改为
$link = '/wap.php?action=article&id='.$weixin_post->id;
就可以大功告成了哈!为了懒人需求,把修改好的微信接口提供下载,大家可以直接点击下载哈。
页:
[1]