




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
價(jià)值萬(wàn)元的微信課程(一)
名目
價(jià)值萬(wàn)元的微信課程(一).........................................................1
一、微信概述......................................................................3
1、歷史背景..................................................................3
2、微信公眾平臺(tái)..............................................................3
3、微信與微信公眾平臺(tái)區(qū)分....................................................3
4、為什么要學(xué)習(xí)微信開(kāi)發(fā)......................................................3
5、微信推舉..................................................................4
二、前期預(yù)備......................................................................4
1、微信公眾平臺(tái)注冊(cè)..........................................................4
2、微信公眾平臺(tái)賬號(hào)類型......................................................4
3、微信的兩種運(yùn)營(yíng)模式........................................................5
4、編輯模式中的自動(dòng)回復(fù)功能.................................................5
三、微信開(kāi)發(fā)者模式...............................................................6
1、微信開(kāi)發(fā)原理圖............................................................6
2、BAE(百度云引擎)預(yù)備....................................................6
3、微信服務(wù)器對(duì)接百度BAE................................................................................................8
4、開(kāi)啟自動(dòng)回復(fù)接口.........................................................11
四、API接口分析.................................................................11
1、定義微信的TOKEN密鑰,主要用于連接微信公眾平臺(tái)........................11
2、定義微信對(duì)象,用于調(diào)用微信相關(guān)方法,實(shí)現(xiàn)相關(guān)操作.......................11
3、驗(yàn)證接口(了解).........................................................12
4、自動(dòng)回復(fù)接口(重點(diǎn)).....................................................12
五、微信的6大接收接口..........................................................13
1、文本消息.................................................................13
2、圖片消息.................................................................14
3、其他消息.................................................................15
六、微信的3大回復(fù)接口..........................................................17
1、文本回復(fù)接口.............................................................17
案例:使用文木接口完成簡(jiǎn)易號(hào)碼簿...........................................18
2、音樂(lè)回復(fù)接口.............................................................20
3、圖文消息接口(重點(diǎn)).....................................................22
七、微信LBS接口................................................................25
1、什么是LBS......................................................................................................................25
2、為什么需要LBS..............................................................................................................25
3、LBS中的相關(guān)關(guān)鍵詞.......................................................25
4、分析微信中的LBS接口(地理位置接收接口)...............................26
5、使用變量接收地理位置的經(jīng)緯度信息........................................26
6、通過(guò)文本消息接口返回經(jīng)緯度信息..........................................2G
7、LBS第三方接口開(kāi)發(fā).......................................................27
八、微信的機(jī)器人開(kāi)發(fā)............................................................29
1、為什么需要微信機(jī)器人.....................................................29
2、目前主流的微信機(jī)器人.....................................................29
3、圖靈機(jī)器人開(kāi)發(fā)...........................................................29
、微信概述
1、歷史背景
1)2022年1月21日,騰訊推出微信(張小龍)
2)2022年8月20日,騰訊推出微信公眾平臺(tái)功能,同年11月開(kāi)放第三方接口
3)2022年1月微信突破3億,海外版wechat用戶也達(dá)到7000萬(wàn),以前和韓國(guó)客戶溝通也
是通過(guò)微信,可見(jiàn)微信已隨處不在
2、微信公眾平臺(tái)
微信公眾平臺(tái)是騰訊為了讓用戶申請(qǐng)和管理微信公眾賬號(hào)而推出的一個(gè)Web平臺(tái),而微信
公眾賬號(hào)的操作管理在這個(gè)平臺(tái)卜進(jìn)行。全部用戶都在騰訊供應(yīng)的統(tǒng)一微信公眾平臺(tái)卜進(jìn)行
相關(guān)操作:
平臺(tái)地址:
3、微信與微信公眾平臺(tái)區(qū)分
微信是基于點(diǎn)對(duì)點(diǎn)關(guān)系
微信公眾平臺(tái)是基于一對(duì)多關(guān)系
4、為什么要學(xué)習(xí)微信開(kāi)發(fā)
2022年6月速途討論院發(fā)布調(diào)查報(bào)告,22%的微信用戶在使用訂閱公眾帳號(hào)功能,而只算微
信有3億用戶,就約有6600多萬(wàn)用戶在使用微信公眾平臺(tái)功能。
5、微信推舉
名人媒體電商教育
二、前期預(yù)備
1、微信公眾平臺(tái)注冊(cè)
個(gè)人用戶注冊(cè):
預(yù)備彩色手持身份證照片
企業(yè)用戶預(yù)備:
營(yíng)業(yè)執(zhí)照注冊(cè)號(hào)、所在地、成立口期、營(yíng)業(yè)期限、經(jīng)營(yíng)范圍
微信公眾帳號(hào)名稱(中文名)?經(jīng)注冊(cè),不得修改,肯定要體現(xiàn)帳號(hào)特色又簡(jiǎn)潔記憶的名稱。
功能介紹每月1次
注冊(cè)勝利后,需要7個(gè)工作日進(jìn)行審核。
2、微信公眾平臺(tái)賬號(hào)類型
訂閱號(hào):個(gè)人用戶注冊(cè)的微信類型,適合自媒體類型的立臺(tái),每天可以群發(fā)一條信息,但是
假如沒(méi)有進(jìn)行微信認(rèn)證其是沒(méi)有微信自定義菜單的。
服務(wù)號(hào):企業(yè)注冊(cè)的微信類型,適合企業(yè)平臺(tái),每月可以群發(fā)四條信息,此外假如服務(wù)器沒(méi)
有通過(guò)微信認(rèn)證其也是具有微信自定義菜單的。
3、微信的兩種運(yùn)營(yíng)模式
?編輯模式與開(kāi)發(fā)模式
?兩種是互斥的
?編輯模式是平臺(tái)內(nèi)置的web系統(tǒng)
?開(kāi)發(fā)模式可以通過(guò)騰訊的API接口進(jìn)行二次開(kāi)發(fā)
1)編輯模式
微信?公眾平臺(tái)支筍天空網(wǎng)絡(luò)工作值■退出
旃發(fā)功能
新it階賽確己次送
為融?用戶體膾,的值公眾平臺(tái)產(chǎn)聶WWWXR胡3分享朋友的.產(chǎn)餐發(fā)布色皆低俗..力血JL*3育鼻法M吸相關(guān)依聞但%
息?一日發(fā)配,癡T將嚴(yán)后打擊町處理.
群疣為,群Ntm區(qū)
溺用戶sar
+淳加功慟wt
國(guó)陰文nw/期
G微值支行
澗鼻?理
+
fflPWS
從版材£中地壽
2)開(kāi)發(fā)者平臺(tái)
展旁骸玩否(已啟用)修改配置
停用歐蘇器配舌后,用戶消息和開(kāi)發(fā)者需要的事件推送,將不會(huì)核轉(zhuǎn)發(fā)到該URL中
URL(服務(wù)器地.址)httpy//api.php
Token(令牌)weixin
EncodingAESKey(消?W3空鑰0)Yvspi6TYpfUcRP92hjCrnxc4q8XyEnZv646ejhQCixE
消息加解。方式明文模式
4、編輯模式中的自動(dòng)回復(fù)功能
①被添加自動(dòng)回復(fù)(訂閱回復(fù)或關(guān)注回復(fù)):當(dāng)用戶關(guān)注我們的微信公眾平臺(tái)時(shí),系統(tǒng)會(huì)默
認(rèn)返回預(yù)先設(shè)定的內(nèi)容,我們把這個(gè)回復(fù)就稱之為〃被添加自動(dòng)回復(fù)“。
②關(guān)鍵詞自動(dòng)回復(fù):當(dāng)用戶輸入的關(guān)鍵詞與我們?cè)O(shè)定的關(guān)鍵詞相匹配時(shí),系統(tǒng)會(huì)自動(dòng)回復(fù)
預(yù)先設(shè)定的內(nèi)容,我們把這個(gè)回復(fù)就稱之為"關(guān)鍵詞自動(dòng)回復(fù)“。
③消息自動(dòng)回復(fù):當(dāng)用戶輸入的關(guān)鍵詞與我們?cè)O(shè)定的關(guān)鍵詞不匹配時(shí),系統(tǒng)會(huì)自動(dòng)回復(fù)預(yù)
先設(shè)定的內(nèi)容,我們把這個(gè)回復(fù)就稱之為''消息自動(dòng)回復(fù)“。
三、微信開(kāi)發(fā)者模式
1、微信開(kāi)發(fā)原理圖
1)編輯模式
5118公眾平臺(tái)“、美》
電0神直么?
內(nèi)!Sweb管理壬燎
2)開(kāi)發(fā)者模式
由上圖分析可知,假如想實(shí)現(xiàn)微信開(kāi)發(fā),必需要具有BAE服務(wù)器與客戶端SVN軟件
2、BAE(百度云引擎)預(yù)備
注冊(cè)地址:,打開(kāi)頁(yè)面后,選擇BAE基礎(chǔ)版,效果如下圖所示:
9*4t-4UR*Qa&M
.MiceBIB.cos.EF.RDS.scswra.
郭■列表
MS
。0
含稅AWD域名svNQTmn:
1)單擊添加部署
?名稱:
?類型:
.代碼版本工具:
”執(zhí)行單元個(gè)航:■>1(行足.
郊訃法餐:
2)設(shè)置完成后如下圖所示:
。o
名根APPIDg操作
w?txm?/*0
等待狀態(tài)轉(zhuǎn)變?yōu)檎?,代表已?jīng)創(chuàng)建勝利。
3)使用SVN軟件檢出在線的BAE代碼
+如0部百
□名標(biāo)APPIDtts域名
wetxin?正常flzwtixmduappcom
!appiddamhkulcxh
然后使用5VN軟件,檢出該地址,如下圖所示:
檢出過(guò)程中,需要供應(yīng)百度賬號(hào)和密碼,作為檢出密碼,謹(jǐn)記??!!
ram(D:)?server?apache?htdocs>weixin
J)智助(H)
享▼新建文件夾
名稱‘修改日期類型大小
&appxonf系統(tǒng)g己置文件,不可刪2016/1/3010:40如收檔1KB
取index.php項(xiàng)自入口文柞2016/1/3010:40PHP文件1KB
4)修改代碼后,通過(guò)SVN上傳到服務(wù)器端
特殊留意:項(xiàng)目提交完成后,百度的BAE是不會(huì)準(zhǔn)時(shí)生效的,必需手工發(fā)布,如下圖所示:
oS^.APPIDtt*fitsSVNGITWa?ss鎮(zhèn)作
wetxin至C
appiddamhkulcxh
Q
MfcixmKifi£
app?ddamhkuIoch
但是這樣特別麻煩,每次都需要手工更新,我們還可以單擊weixin這個(gè)項(xiàng)目名稱進(jìn)入如下
設(shè)置:
00
SVN/QT地址空湃數(shù)提作
更改自動(dòng)發(fā)布為On,如下圖所示:
執(zhí)行單元詳情發(fā)布設(shè)置杳看日志資源監(jiān)控
3、微信服務(wù)器對(duì)接百度BAE
①打開(kāi)微信公眾平臺(tái),進(jìn)入基本配置選項(xiàng):
國(guó)開(kāi)發(fā)
基本配舌
開(kāi)發(fā)者工具
運(yùn)維中心
接口權(quán)限
②單擊配置按鈕,如下圖所示:
服務(wù)翳配M(米啟用)
URL(K^aitMt)httpy/czbk888.cuapp,
Token(今牌)weixin
EncodingAES
明文模式
③填寫(xiě)數(shù)據(jù)(三個(gè)表單)
?墟可發(fā)口配置值鼻,比值屋需要檸明有口已比噩務(wù)31受方.
切的澄退的Tokec看證,謂閥C*入囿t?
必?zé)崾侄?/p>
£?4Mtp〃《htt隰〃H業(yè).分封為口錯(cuò)“3皿
Token
“妗*F8
兇物至HUE.箕163?卻.
什么是Token?
Ecc8m9AESKey|Q/43
**F2
同感加£?明由4汨知@?,記*a修改,字ma力AZ,?z.09.
什么是EncodingAESKey?
④下載官方的api即可
假如想讓微信公眾平臺(tái)與第三方BAE服務(wù)器進(jìn)行交互,必需需要一個(gè)中間文件(微信epi即
可),我們可以在關(guān)心中心找到該文件:
找到如下圖所示代碼,下載api接口:
而StmpStr==Ssignature)(
第三步:依摳接口文檔實(shí)現(xiàn)業(yè)務(wù)浸槽
驗(yàn)證URI有效性成功后即出莊效,成為開(kāi)發(fā)杳.SQB公眾號(hào)關(guān)型力霰務(wù)號(hào)(訂閱號(hào)只能使用胃通消息發(fā)
□),可以在公眾平臺(tái)網(wǎng)站中審清認(rèn)證,認(rèn)證成功的服務(wù)號(hào)總將眾多接口我用,以孱足開(kāi)發(fā)者需求.
下載解壓后,如下圖所示:
⑤復(fù)制wxsample.php文件到BAE名目中并改名為api.php
6//defineyourtoken
7define("TOKEN","weixin
設(shè)置完成后,通過(guò)SVN進(jìn)行上傳
⑦對(duì)接微信公眾平臺(tái)與BAE服務(wù)器
打開(kāi)基本配置選項(xiàng),填寫(xiě)信息如下:
URLhttpy/rapLphpl
必須以http〃或https:〃開(kāi)頭,分別支持80端口和4431ft口.
Tokenw^ixin
必須為英文3段字,長(zhǎng)度為3-32字符.
什么是Token?
EncodingAESKeyjYt8hmgqc5aPxqnbdBYAipQ5Jlg8WQEGXFt4rlkjWCC43/43隨機(jī)生成
消息加森田鑰由43位字符組成,可隨機(jī)修改,字符范圍為A-Z,a-z,0-9.
什么是EncodngAESKey?
:總息加融方式請(qǐng)根據(jù)業(yè)務(wù)會(huì),選擇消口解香類型,啟用后將立即生效
?明文模式
設(shè)置完成后,單擊啟用即可
涓舊汕解密方式明文博式
到此,整個(gè)連接過(guò)程配置完畢!
4、開(kāi)啟自動(dòng)回復(fù)接口
默認(rèn)狀況下,api.php文件中,只開(kāi)啟了驗(yàn)證接口,但是其并沒(méi)有開(kāi)啟自動(dòng)回復(fù)接口,所以
微信無(wú)任何響應(yīng)。
打開(kāi)api.php文件,然后設(shè)置如下代碼,代表開(kāi)啟自動(dòng)回復(fù)功能:
6//defineyourtoken
7//定義接頭密鑰
8defineC'TOKEN"."weixin");
9〃創(chuàng)建對(duì)象wechatObj
10$wechatObj=newwechatCallbackapiTest();
11//lx開(kāi)啟蛉證接口,蛉證后這行必須注釋掉
12//$wechatObj->va1id();
13//2、開(kāi)啟自動(dòng)回復(fù)功能
14$wechatObj->responseMsg();
編寫(xiě)勝利后,通過(guò)SVN上傳到服務(wù)器端,通過(guò)微信測(cè)試如下圖所示:
Welcometowechatworld!
!1!API接口分析
1、定義微信的TOKEN密鑰,主要用于連接微信公眾平臺(tái)
6//defineyourtoken
7//定義接頭密鑰
18defineC'TOKEN","weixin”);
2、定義微信對(duì)象,用于調(diào)用微信相關(guān)方法,實(shí)現(xiàn)相關(guān)操作
I9//創(chuàng)建對(duì)象wechatObj
|10JwechatObj=newwechatCallbackapiTest();|
3、驗(yàn)證接口(了解)
11//I、開(kāi)啟蛉證接口,險(xiǎn)證后這行必須注釋掉
12//$wechatObj->valid();
4、自動(dòng)回復(fù)接口(重點(diǎn))
默認(rèn)狀況下,自動(dòng)回復(fù)接口是關(guān)閉的,必需通過(guò)以下代碼開(kāi)啟回復(fù)功能:
XZ.//夕cutIICIUVMJ一/VOXXM\,
13//2、開(kāi)啟自動(dòng)回復(fù)功能
I14JwechatObj->responseMsg();
分析responseMsg接口:
1)接收XML格式的數(shù)據(jù)
39//接收post謫求傳遞過(guò)來(lái)的數(shù)據(jù),與$_POST區(qū)別在于以下代碼可以接收XML格式的數(shù)據(jù)
40$postStr=$GLOBALS["HTTP_RAW_POST_DATA"];
2)防止XXE攻擊
4。trieuesLway±sLOcnecKcnevd±±u±LyUTxm±i
47//解析XML時(shí)不解析XML實(shí)體,防止XXE攻擊
48libxml_disable_entity_loader(true);
■八4?TIF1,?//■z*a■/**
d}
13)77使用SimplecXhMoL"I解npu析tsxommetl數(shù)hin據(jù)g..
以M上7O6代碼代}e表lse當(dāng)(用戶iiu發(fā)xni送i_u的i*關(guān)>dU鍵Ae_詞ern不.i<為.y_空iud時(shí)uer,^xr系ue統(tǒng);;會(huì)自動(dòng)返回Welcometowechatworld!
49〃使用simpleXMlQ析xml而t的數(shù)據(jù)
SpostObj-simplexml_load_string($postStr,31,叩1€*11_£卜睡#',LIBXML_NOCCATA);
I75echotr/e?」sult?S?trjQ?―???????
4)通過(guò)屬性來(lái)訪問(wèn)xml節(jié)點(diǎn)信息
51JresultStr=$sfrporminUtfs(eStrnexatmTpel,=$f$rop?onUssteOrnbamje-,>SFtrooUmselrlsneamreN,am$teim;e,SmsgType,ScontentStr);
52StoUsername=$postObj->TollserName;
53$keyword=trim($postObj->Content);|
73$contentStr="WelcometowechatworldI";
51)依據(jù)接收的消息,設(shè)置返回值
V/S/AHIXZ,
68//判斯用戶發(fā)送的關(guān)健熊否為空
69if(!empty((keyword))
7。2(ImsgType="text";
I71//設(shè)置回復(fù)突型為text,文本消息
五、微信的6大接收接口
各消息類型的推送XML數(shù)據(jù)包結(jié)構(gòu)如下:
目錄
1文本消息
2圄片由i息
3IB?消息
4視頻消息
5〃收頻消息
6地理位置消息
7睦消息
雖然以上顯示一共有7中消息類型,但是第4、第5種都是指視頻消息,所以綜合所述:只
有6大類消息類型。
工、文本消息
由于全部的信息都是以XML形式發(fā)送的,所以我們?cè)诜治鱿㈩愋蜁r(shí),第?點(diǎn)就應(yīng)生讀懂
XML結(jié)構(gòu)體。
①分析文本消息接口XML模板
文本消息
<xml>
<ToU$erName><![CDATA[toUser]]></ToUserName>
<FromUserName><!(CDATA[tromUser]]x/FromllserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]>?/MsgType>
<Content><![CDATA[thi$isatest]]></Content>
<MsgId>1234567890123456v/Msgld>
</xml>
參數(shù)俺述
ToUserName開(kāi)發(fā)者微信號(hào)
FromUserNameI^OpenlD)
CreateTime消息創(chuàng)建時(shí)間(整型)
MsgTypetext
Content文本消息內(nèi)容
Msgld消息id,64位強(qiáng)
通過(guò)以上圖解分析可知,假如MsgType節(jié)點(diǎn)為text,代表用戶發(fā)送給微信公眾平臺(tái)的就是文
本消息。
②定義一j$msgType變量,用于接收MsgType節(jié)點(diǎn)信息
54Stollsername=5postObj->ToUserName;
55//$X—^JmsgTypegl
56$msgType=$postObj?>MsgType;
57//將收用戶左i關(guān)的關(guān)鍵詞
③在回復(fù)接口中,推斷$msgType這個(gè)變量并執(zhí)行相關(guān)程序
//MfilmsgType^g
if($msglype=='text'){
//劉斯用戶發(fā)送的關(guān)健司是否為工
if(!empty((keyword))
{
//枚將回復(fù)類St為text,文小淌息
SasgType="text";
ScontentStr=”您發(fā)送的是文本消息!
$resultStr=sprintf(StextTpl,SfromUsername,StoUsername,Jtime,SmsgType,
echoSresultStr;
}else{
echo"Inputsomething..
由
}
編寫(xiě)完成后,通過(guò)SVN上傳到BAE服務(wù)凈,測(cè)試結(jié)果:
您發(fā)送的是文本消息!
2、圖片消息
①分析XML結(jié)構(gòu)體
圖片消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromllserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[thisisaurl]]></PicUri>
<MediaId><![CDATA[media_id]]></MediaId>
<MsgId>1234567890123456v/Msgld>
</xml?
描述
ToUserName開(kāi)發(fā)者微信號(hào)
FromllserName發(fā)送方帳號(hào)(一個(gè)OpenlD)
CreateTime消息創(chuàng)建時(shí)間(整型)
MsgTypeimage
PicUrl圖片S福
Mediald圖片消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù).
Msgld消息id,64位整型
8891echo$resultStr;
JresultStr=sprintf($textTpl,romUsername,StoUsername,SmsgType,ScontentStr);
分析以上圖解可知,假如用戶發(fā)送的是圖片消息,則MsgType節(jié)點(diǎn)為image
86ScontentStr="息發(fā)送的是圖片消息,血澧鼻!”;
②定義$msgType節(jié)點(diǎn)(己定義)
③推斷與執(zhí)行
85$msgType="text";
s/
83}elseif($msgType==image'){
84//設(shè)將回復(fù)類型為text,文本滿息
測(cè)I試結(jié)果如下圖所示:
您發(fā)送的是圖片消息,真漂亮!
3、其他消息
在微信開(kāi)發(fā)中,全部的接收接口都特別簡(jiǎn)潔,只需要推斷$msgType這個(gè)節(jié)點(diǎn)就可以實(shí)現(xiàn)對(duì)
用戶發(fā)送數(shù)據(jù)類型的推斷,完整代碼如下:
$msgType==,voice,語(yǔ)音消息
$msgType==/video/11$msgType==/shortvideo/視頻消息
$msgType=='location'地理位置消息
$msgType==/link,鏈接消息(伴侶圈共享的鏈接、我的保藏)
89}elseif($msgType=='voice'){
90//設(shè)15回復(fù)類型為text,文本消息
91SmsgType■"text";
92tcontentStr-“您發(fā)送的是海音消息,R音同動(dòng)聽(tīng)!”;
SresultStr=sprintf(StextTpl,SfromUsername,$toUsernar?e,$tir?e,$msgType,ScontentStr);
94echoSresultStr;
95}elseif($msgType=='video'11$msgType=="shortvideo'){
96//設(shè)!S回復(fù)克型為lexi,文本消息
97SmsgType="text";
98JcontentStr-“您發(fā)送的是現(xiàn)筑消息”;
JresultStr=sprintf($textTpl,SfromUsername,ItoUsername,$tii?e,$m$gType,ScontentStr);
100echoSresultStr;
101}elseif($msgType=="location'){
102//設(shè)置回復(fù)類型為text,文本消息
103SmsgType="text';
194ScontentStr-”憑發(fā)送的是旭理位13消息.目驚已鎖定”;
JresultStr-sprintf($textTpl,$fromUsername,StoUsername,$time,$msgType,JcontentStr);
106echoSresultStr;
107}elseif($msgType=='link'){
108//設(shè)蹲回復(fù)類型為text,文本消息
109SmsgType="text";
tll0ScontentStr="您發(fā)送的是譴接消息,不會(huì)有病毒吧!”;
SresultStr-sprintf($textTpl,SfromUsername,StoUsername,$time,$msgType,ScontentStr);
112echotresuixstr;
113)
測(cè)試結(jié)果:
****
天河區(qū)棠東東路(近東岳時(shí)尚酒店)
您發(fā)送的是地理位置消息,目標(biāo)
已鎖定
習(xí)近平抵達(dá)英國(guó)開(kāi)始國(guó)事訪問(wèn)
習(xí)近平夫婦看"皇家藍(lán)”抵達(dá)
英國(guó)倫敦,是10年來(lái)國(guó)家主
席苜次對(duì)英國(guó)進(jìn)行國(guó)事訪
問(wèn)?150名企業(yè)家隨行,...
您發(fā)送的是鏈接消息,不會(huì)有病
毒吧!
六、微信的3大回復(fù)接口
1、文本回復(fù)接口
回復(fù)文本消息
<xml>
?ToUserName?<![CDATA[tcUser]]></ToUserName>
<FromllserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[i55?]]></Content>
</xml>
參數(shù)是否必須描述
ToUserName是接收方帳號(hào)(收到的OpenlD)
FromUserName是開(kāi)發(fā)者微信號(hào)
CreateTime是消息創(chuàng)建時(shí)間(整型)
MsgType是text
回復(fù)的消息內(nèi)容(換行:在content中能夠換行,微信客戶端就支持
Content是
渙行顯示)
①組裝XML格式的數(shù)據(jù)
〃定義一個(gè)xml文本回復(fù)模板|
StextTpl="<xml>
I!<ToUserName><I[CDATA[%s]]></ToUserName>
64<FromllserName><I[CDATA[%s]]></FromUserNanie>
<CreateTime>%s</CreateTime>
ill<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
|69
②定義相關(guān)變量
75//設(shè)置回復(fù)類型為text,文本消息
76JmsgType=
77$contentStr=”您發(fā)送的是文本消息!"
③格式化XML格式的數(shù)據(jù)
要用到的學(xué)問(wèn)點(diǎn):sprintf函數(shù)
主要功能:返回一個(gè)格式化的字符串
stringsprintf(string$for$orgs[,mixed$...]])
Returnsastringproducedaccordingtotheformattingstringformat.
參數(shù)說(shuō)明:
$format:要格式化的字符串(微信中就是我們的xml數(shù)據(jù))
$args:要格式化的變量列表,變量與變量之間通過(guò)逗號(hào)隔開(kāi),挨次不能顛倒
格式化類型:%d(格式化為整型)%s(格式化為字符串類型)
61//定義一個(gè)xml文本回復(fù)模板
62ItextTpl?"<xml>
63<ToUserNane><I[CDATA[%s]]x/ToUserName>
64<FromUserName><I[CDATA]></FromUserName>
65<CreateTine>%s</Create!
66<MsgType><![C
67<Content><![CDATA
68<FuncFlag>0</FuncFlag$變量與%s之間是——時(shí)應(yīng)關(guān)系,順序不能顛倒
69
70〃判斷SmsgType變番
71if($msgType=="text'){
72//判斷用戶發(fā)送的關(guān)健詞至否為主
73if(!empty((keyword))
74
75//設(shè)巴◎復(fù)關(guān)生為text,文本消息
76ImsgType="text";
77ScontentStr=”您發(fā)送的是文本消息!
78$resultStr=sprintf(JtextTpl,$fromUsername,StoUsername,Stime,SmsgType,JcontentStr);
79echo$resultStr)
④把格式化后的xml數(shù)據(jù)返回到客戶端,完成回復(fù)功能
80//返回xml結(jié)構(gòu)的數(shù)據(jù)到客戶端
81echo$resultStr;
案例:使用文本接口完成簡(jiǎn)易號(hào)碼簿
項(xiàng)目需求:用戶在平臺(tái)中輸入?,系統(tǒng)自動(dòng)彈匣自定義回復(fù)文本信息如下:
[1]特種服務(wù)號(hào)碼
[2]通訊服務(wù)號(hào)碼
[3]銀行服務(wù)號(hào)碼
[4]用戶反饋
當(dāng)用戶輸入1,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:
常用特種服務(wù)號(hào)碼:
匪警:110
火警:119
急救中心:120
當(dāng)用戶輸入2,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:
常用通訊服務(wù)號(hào)碼:
中移動(dòng);1008G
中電信:10000
中聯(lián)通:10010
當(dāng)用戶輸入3,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:
銀行服務(wù)號(hào)碼
建設(shè)銀行:95533
工商銀行:99588
農(nóng)業(yè)銀行:95599
當(dāng)用戶輸入4,系統(tǒng)會(huì)自動(dòng)彈出如下語(yǔ)句:
敬重的用戶,為了更好的為您服務(wù),請(qǐng)將系統(tǒng)的不足之處反饋給我們。
823}echo$resjltStr;|
運(yùn)行si結(jié)果://把格式化后的數(shù)抿返回到客戶an
"esultSl-sprintf(StextTpl,$fromUsername,$toUsername,$time,JmsgType,ScontentStr)
79//格式化xml結(jié)構(gòu)的射據(jù)
78ScontentStr=“11】特種服務(wù)號(hào)碼\n(2J通訊版務(wù)號(hào)碼\n[31銀行服務(wù)號(hào)碼\n14]用戶反HP;
77SmsgType?'text';
76//設(shè)息相關(guān)變■
??'?'||
75if($key>10rd$keyword—>7'){
反饋格式:@+建議內(nèi)容
例7如4:@盼望{增加***號(hào)碼
假如用戶以@盼望這種形式向平臺(tái)輸入信息,則返回如下語(yǔ)句:
感謝您的珍貴建議,我們會(huì)努力為您供應(yīng)更好的服務(wù)!
示例代碼:
問(wèn)7號(hào)3的推斷i形f(!式?np:ty($keywo~d))
70〃劉新$msgType交量
71if($msgType=='text')(
72//利若用戶愛(ài)送的關(guān)魏詞是否為空
1?
[1]特種服務(wù)號(hào)碼
[2]通訊服務(wù)號(hào)碼
[3]銀行服務(wù)號(hào)碼
[4]用戶反饋
輸出1234返回結(jié)果,示例代碼:
83}elseif"keyword二T){
84//設(shè)15相關(guān)變量
85$msgType='text';
86ScontentStr="常用將稗眼秀號(hào)碼:\ngfS:110\n火警:119";
87//格式化xml結(jié)構(gòu)的構(gòu)報(bào)
$re$ultStr=sprintf(ItextTpl,SfromUsername,StoUsername,$time,$msgType,ScontentStr);
89//把格式化后的劫摳返?到客戶第
90echo$result$tr;
91}elseif(Skeyword-'2'){
92//設(shè)15相關(guān)變量
93JmsgType='text';
94ScontentStr="常用通訊眼打號(hào)碼:\n中稱動(dòng):10O86\n中電信:100。?!?;
95//格式化xml結(jié)構(gòu)的物報(bào)
$resultStr=sprintf($textTpl,$fro<nUsername,StoUsername,Stime,$msgType,ScontentStr);
97//把格式化后的筠摳返?到客戶第
98echo$result$tr;
99}elseif($keyword--'3'){
100//設(shè)H相關(guān)變量
101JmsgType='text';
102ScontentStr="常用銀行服殲號(hào)瑪:\n速設(shè)根行:95533\n工商,行:99588";
103//格式化xml結(jié)構(gòu)的俄報(bào)
$resultStr=sprintf(StextTpl,$fromllsername,StoUsername,Itime,SmsgType,ScontentStr);
105//把格式化后的勘舊返?到客戶第
106echoSresultStr;
}elseif(Jkeyword-'4'){
//設(shè)18相關(guān)交ii
JmsgType='text';
ScontentStr="R單的用戶,為了更好的為您版務(wù),請(qǐng)將系統(tǒng)的不足之處反慢給我們?\n反潛格式:?+建議內(nèi)容\n例如:目帚豆用1
//格式化xml結(jié)溝的假報(bào)
IresultStr=sprintf(StextTpl,SfromUsernarBe,StoUsername,$time,SmsgType,$contentStr);
//把格式化后的我寤返回到常戶;*
echoSresultStr;
}elseif(strpos($keyword,)--=0){
//設(shè)盤(pán)相關(guān)爽*
SmsgType="text*;
ScontentStr?”惑謝您的寶貴建議,我們會(huì)?5方為您提供史好的薪務(wù)!”;
//格式化xml拮溝的做據(jù)
$resultStr=sprintf($textTpl,$fromUsernai?e,StoUsername,$time,$msgType,ScontentStr);
//把格式化后的數(shù)據(jù)返?到告戶第
echoSresultStr;
}
運(yùn)行結(jié)果:
常用銀行服務(wù)號(hào)碼:
建設(shè)銀行:95533
工商銀行:99588
、尊敬的用戶.為了更好的為您服
務(wù),請(qǐng)將系統(tǒng)的不足之處反情給
我們。
反饋格式:@+建議內(nèi)容
例如:@希望增加***號(hào)碼
@希里增加濤哥的手機(jī)號(hào)碼
感譚您的寶貴建議,我們會(huì)努力
為您提供更好的服務(wù)!
2、音樂(lè)回復(fù)接口
分析音樂(lè)回復(fù)接口的XML模板
回復(fù)音樂(lè)消息
<xml?
<ToUserName><![CDATA[tollser]]></TollserName>
<FromUserName?<![CDATA[fromUser]]></FromUserName?
<CreateTime>12345678</CreateTime>
<M$gType><!(CDATA[mu$ic]]>?/MsgType?
<Music>
<Title><!(CDATA[TITLE]]></Title?
<Descriptionx![CDATA[DESCRIPTION]]></Description>
<MusicUrl><!(CDATA[MUSlC_UriJ]></MusicUri>
vHQMusicUrl><1[CDATA[HQ_MUSIC_Ud]]></HQMusicUrl>
<ThumbMediaid><![CDATA(media_id]]></ThumbMediaId?
</Music>
</xml>
參數(shù)是否必須說(shuō)明
TollserName是接收方帳號(hào)(收到的OpenlD)
FromUserName是開(kāi)發(fā)者微信號(hào)
CreateTIme
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10206-2022混凝土中氯離子和硫酸根離子的測(cè)定離子色譜法
- T/CCOA 45-2023氣膜鋼筋混凝土球形倉(cāng)儲(chǔ)糧技術(shù)規(guī)程
- T/CCMA 0196-2024高原隧道純電動(dòng)鑿巖臺(tái)車(chē)
- T/CCMA 0186-2024非公路自卸車(chē)排氣污染物車(chē)載測(cè)量方法
- T/CCMA 0148-2023擦窗機(jī)使用手冊(cè)編制規(guī)則
- T/CCMA 0132-2022多功能路緣結(jié)構(gòu)物滑模攤鋪施工規(guī)程
- T/CCMA 0129-2022非道路電動(dòng)車(chē)輛電機(jī)控制器通用技術(shù)要求及試驗(yàn)方法
- T/CCASC 1001-2020氯乙烯氣柜安全運(yùn)行規(guī)程
- T/CCAS 020-2021水泥凝結(jié)時(shí)間自動(dòng)測(cè)定儀驗(yàn)證與綜合評(píng)價(jià)規(guī)范
- T/CCAAS 003-2019新時(shí)代國(guó)有企業(yè)黨建+企業(yè)文化工作指南
- 《高速鐵路客運(yùn)服務(wù)禮儀》試題及答案 項(xiàng)目5 試題庫(kù)
- 2024屆高考語(yǔ)文復(fù)習(xí):現(xiàn)代文閱讀 課件
- 《GIS地理信息系統(tǒng)》課件
- 全口咬合重建與牙齒位置調(diào)整
- 創(chuàng)新思維與創(chuàng)業(yè)實(shí)驗(yàn)-東南大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 國(guó)際素食日介紹PPT
- 預(yù)制構(gòu)件及其連接的識(shí)圖與構(gòu)造
- 2020譯林版新教材高二英語(yǔ)全四冊(cè)單詞表(單詞默寫(xiě))
- 低壓加熱器檢修工藝規(guī)程
- 江西贛州城市文化介紹
- 六年級(jí)譯林英語(yǔ)下冊(cè)翻譯2
評(píng)論
0/150
提交評(píng)論