目前網(wǎng)上有很多這方面教程,關(guān)于dedecms微信插件,寫的很詳細(xì),但是都是微信跳轉(zhuǎn)的是PC網(wǎng)頁(yè),很難看,排版就亂了,今天南宮在這里介紹,如何跳轉(zhuǎn)到dedecms織夢(mèng)自帶wap端,也就是跳到同內(nèi)容的手機(jī)端。
微信公眾號(hào)越來越火,再不弄一個(gè)就out了,弄了微信公眾號(hào)但是沒弄公眾平臺(tái)的功能就更out了,所以我也來試了試
dedecms集成微信公眾平臺(tái)的教程有很多了,但是因?yàn)槲襠edecms是GBK版本,無法使用其他人給的教程,然后我就稍微改了下,不然就會(huì)亂碼.
我再重復(fù)下步驟:
1、將weixin.php上傳至/plus;
2、在微信公眾平臺(tái)注冊(cè)公眾賬號(hào),注冊(cè)地址:
3、注冊(cè)后,點(diǎn)擊“高級(jí)功能”,有兩種模式,分別為:編輯模式和開發(fā)模式,
將“編輯模式”關(guān)閉,才能開啟“開發(fā)模式”,進(jìn)入“開發(fā)模式”,或者開發(fā)者中心,接口配置信息里 URL :http://您的網(wǎng)址/plus/weixin.php
Token : weixin ,
如我網(wǎng)站的為:URL: / Token : weixin
備注:Token :可在weixin.php或者wxjk.php里更改,在define(“TOKEN”, “weixin”); 可改成你自己想要的。
然后啟動(dòng)就好了.
里面有兩個(gè)文件,weixin.php是織夢(mèng)版本為utf-8的 這個(gè)是我下載別人的
wxjk.php是織夢(mèng)版本gbk的,修正了亂碼的問題
現(xiàn)在這個(gè)微信公眾號(hào)插件確實(shí)可以用,但是功能不全,今后我將在此開發(fā)新的功能,然后再分享給大家
這是我自媒體平臺(tái)的一個(gè)公眾號(hào),歡迎大家關(guān)注,里面只分享干貨!
安裝dedecms微信插件效果:在線下載地址:鏈接: https://pan.baidu.com/s/1apdk95yaBXKNlokOh1WmlQ 密碼: 9mu4
安裝方法:放到dede程序的plus目錄下即可.(其實(shí)放在哪里都可以)
接口配置信息按下面說明填寫,
URL http://你的域名/plus/weixin.php
微信高級(jí)接口配置:Token weixin (和文件中保持一致)
以上都不是重點(diǎn),重點(diǎn)是如何跳轉(zhuǎn)到dede自帶手機(jī)端,我們先看下微信接口文件。
<?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><![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 = "輸入關(guān)鍵字開始搜索!";//自定義歡迎回復(fù);
echo sprintf($textTpl, $contentStr);
}else if( !empty( $this->keyword )){
$this->search();
if($this->articleCount == 0){
$contentStr = "抱歉,沒有找到與【{$this->keyword}】相關(guān)的文章,要不你更換一下關(guān)鍵字,可能就有結(jié)果了哦 :-) ";
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;
}
}
}
在以上代碼,大家仔細(xì)看到。紅色地方,就是文章點(diǎn)擊后的跳轉(zhuǎn)鏈接,目前是鏈接PC端。
我們?cè)诳聪鹿倬W(wǎng)這個(gè)兩個(gè)網(wǎng)址區(qū)別:
PC端:http://www.cuoXin.com/plus/view.php?aid=16565
wap端:http://www.cuoXin.com/wap.php?action=article&id=16565
通過上網(wǎng)網(wǎng)址對(duì)比,我們就知道,微信接口代碼該如何修改了。
$link = '/plus/view.php?aid='.$weixin_post->id;
改為
$link = '/wap.php?action=article&id='.$weixin_post->id;
就可以大功告成了哈!為了懶人需求,把修改好的微信接口提供下載,大家可以直接點(diǎn)擊下載哈。
新聞熱點(diǎn)
疑難解答
圖片精選