現在很多人做淘寶客,包括我。做淘寶客一個月也可以賺個一兩千零用錢,但是“淘寶聯盟”APP生成的帶二維碼宣傳圖在微信是被屏蔽的,無法打開的!
例如:
所以很多做淘客的,開始開發自己的系統用於生成在微信能打開的頁面。
例如:
本次講的是用公衆號一步生成此類的推廣圖。只要打開淘寶聯盟APP,獲取如下格式的推廣文案,把這段文案發到公衆號,然後公衆號通過後端正則匹配,提取裏面的核心內容,並且生成帶二維碼的宣傳圖即可,原理就這麼簡單。
我已經完成正則提取的這一步,生成圖片的這一步相信大家會做,我也沒完全寫完,這是一個思路。我的代碼實現了提取標題,原價,券後價和淘口令的這一步。
最後一步實現的是生成下面的宣傳圖。爲了把樣式寫得好看點,也是花了點時間。
核心代碼:
<?php
define("TOKEN", "xiao");
//用於回覆用戶消息
function responseMsg(){
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$MsgT = $postObj->MsgType;
$time = time();
//如果用戶發的text類型
if($MsgT=="text"){
$key = trim($postObj->Content);
//正則匹配
//提取標題
preg_match('/.*【包郵】/',$key,$a);
//提取在售價格部分
preg_match('/【在售價】.*/',$key,$b);
//提取券後價格部分
preg_match('/【券後價】.*/',$key,$c);
//提取淘口令
preg_match('/€.*€/',$key,$d);
//提取在售價格,保留小數點
$zaishou = $b[0];
if(preg_match('/(\d+)\.(\d+)/is',$zaishou,$arr1)){
$zsj = $arr1[0];
}
//提取券後價格,保留小數點
$quanhou = $c[0];
if(preg_match('/(\d+)\.(\d+)/is',$quanhou,$arr2)){
$qhj = $arr2[0];
}
//淘口令描述
$tkl = urlencode("複製這段文字,打開手機淘寶查看".$d[0]);
//計算優惠券價格,保留小數點
$qjg = number_format($zsj-$qhj,2);
//中文標題url編碼
$goodstitle = urlencode($a[0]);
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$msgType = "text";
//公衆號給用戶微信回覆的內容
$contentStr = $a[0]."\n".$zsj."\n".$qhj."\n".$d[0]."\n".$quan;
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
exit;
}
//如果用戶發的event(事件)類型
if($MsgT=="event"){
$Event = $postObj->Event;
if ($Event==subscribe) {
$contentStr = "歡迎關注";
}else{
$contentStr = "希望您下次關注,但您收不到此條消息了";
}
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$Title = $postObj->Title;
$Description = $postObj->Description;
$Url = $postObj->Url;
$msgType = 'text';
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
exit;
}
}else{
echo "";
exit;
}
}
$echoStr = $_GET["echostr"];
//如果有$echoStr說明是對接
if (!empty($echoStr)) {
//對接規則
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
echo $echoStr;
}else{
echo "";
exit;
}
}else{
responseMsg();
}
?>
新建tbk.php,拷貝以上代碼,上傳到服務器,記住上面的額token,是可以自己修改的,我這裏的token是xiao
登錄微信公衆號->基本配置->服務器配置
服務器地址(URL)就是填寫tbk.php所在的路徑的url
token就是代碼中自己設置的token
消息加解密密鑰就隨機生成即可
然後啓用,就可以了!!!
作者:TANKING
有什麼不懂的可以諮詢微信:likeyunba520