如今不少人作淘寶客,包括我。作淘寶客一個月也能夠賺個一兩千零用錢,可是「淘寶聯盟」APP生成的帶二維碼宣傳圖在微信是被屏蔽的,沒法打開的!php
例如:後端
因此不少作淘客的,開始開發本身的系統用於生成在微信能打開的頁面。服務器
例如:微信
本次講的是用公衆號一步生成此類的推廣圖。只要打開淘寶聯盟APP,獲取以下格式的推廣文案,把這段文案發到公衆號,而後公衆號經過後端正則匹配,提取裏面的核心內容,而且生成帶二維碼的宣傳圖便可,原理就這麼簡單。post
我已經完成正則提取的這一步,生成圖片的這一步相信你們會作,我也沒徹底寫完,這是一個思路。個人代碼實現了提取標題,原價,券後價和淘口令的這一步。編碼
最後一步實現的是生成下面的宣傳圖。爲了把樣式寫得好看點,也是花了點時間。url
核心代碼:spa
<?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是xiaocode
登陸微信公衆號->基本配置->服務器配置
服務器地址(URL)就是填寫tbk.php所在的路徑的url
token就是代碼中本身設置的token
消息加解密密鑰就隨機生成便可orm
而後啓用,就能夠了!!!
做者:TANKING有什麼不懂的能夠諮詢微信:likeyunba520