日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

《微信公众平台开发最佳实践》——第3章 基 础 接 口 3.1 接收用户消息

發(fā)布時(shí)間:2025/4/16 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《微信公众平台开发最佳实践》——第3章 基 础 接 口 3.1 接收用户消息 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本節(jié)書摘來(lái)自華章出版社《微信公眾平臺(tái)開(kāi)發(fā)最佳實(shí)踐》一 書中的第3章,第3.1節(jié),作者:方倍工作室,更多章節(jié)內(nèi)容可以訪問(wèn)云棲社區(qū)“華章計(jì)算機(jī)”公眾號(hào)查看。

第3章 基 礎(chǔ) 接 口

基礎(chǔ)接口是微信公眾賬號(hào)在申請(qǐng)后就默認(rèn)擁有而不需要通過(guò)微信認(rèn)證獲得的接口。微信公眾平臺(tái)開(kāi)發(fā)者中心啟用之后,需要使用基礎(chǔ)接口實(shí)現(xiàn)基本消息的接收與發(fā)送。基礎(chǔ)接口包括三個(gè)主要的部分:接收用戶消息,發(fā)送被動(dòng)響應(yīng)消息,接收事件推送消息。本章將介紹這三個(gè)部分是如何實(shí)現(xiàn)的。

3.1 接收用戶消息 


微信公眾賬號(hào)能夠接收用戶發(fā)送的六種格式的消息:文本(包括表情)、圖片、語(yǔ)音、視頻、地理位置、鏈接。下面將分別介紹這六種消息。

3.1.1 文本消息

用戶向微信公眾賬號(hào)發(fā)送文本消息的示例如圖3-1所示。
用戶發(fā)送文本消息時(shí),微信公眾賬號(hào)接收到的XML數(shù)據(jù)格式如下所示:

<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName><FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ ruZGsfk]]></FromUserName><CreateTime>1359028446</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[微信公眾平臺(tái)開(kāi)發(fā)教程]]></Content><MsgId>5836982729904121631</MsgId> </xml>``` 用戶發(fā)送的文本消息的參數(shù)及描述如表3-1所示。<div style="text-align: center"><img src="https://yqfile.alicdn.com/30b5023f90f46c2ca2aa5bcb23b987dfbb81d72f.png" width="" height=""> </div>####3.1.2 圖片消息 用戶向微信公眾賬號(hào)發(fā)送圖片消息的示例如圖3-2所示。 <div style="text-align: center"><img src="https://yqfile.alicdn.com/4ca8680b910d0e600117d0f85744f5b498eab289.png" width="" height=""> </div>用戶發(fā)送圖片消息時(shí),微信公眾賬號(hào)接收到的XML數(shù)據(jù)格式如下所示:

<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName> <CreateTime>1359028479</CreateTime> <MsgType><![CDATA[image]]></MsgType> <PicUrl><![CDATA[http://mmbiz.qpic.cn/mmbiz/L4qjYtOibummHn90t1mnaibYiaR8ljyicF3MW7XX3BLp1qZgUb7CtZ0DxqYFI4uAQH1FWs3hUicpibjF0pOqLEQyDMlg/0]]></PicUrl> <MsgId>5836982871638042400</MsgId> <MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D

0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]>
`

用戶發(fā)送圖片消息的參數(shù)及描述如表3-2所示。


3.1.3 語(yǔ)音消息

用戶向微信公眾賬號(hào)發(fā)送語(yǔ)音消息的示例如圖3-3所示。


用戶發(fā)送語(yǔ)音消息時(shí),微信公眾賬號(hào)接收到的XML數(shù)據(jù)格式如下所示:

<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName><FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ ruZGsfk]]></FromUserName><CreateTime>1359028025</CreateTime><MsgType><![CDATA[voice]]></MsgType><MediaId><![CDATA[hGm9wmKth8RO_tuv5k9fJkSbovXWzZ VYwG2jSsL7ukCqq6q1SiLzYnFEngFNUijs]]></MediaId><Format><![CDATA[amr]]></Format><MsgId>5836980921722890003</MsgId><Recognition><![CDATA[]]></Recognition> </xml>``` 用戶發(fā)送語(yǔ)音消息的參數(shù)及描述如表3-3所示。<div style="text-align: center"><img src="https://yqfile.alicdn.com/bc9b8b4915eb20983b5184732d830ba369a269e7.png" width="" height=""> </div>####3.1.4 視頻消息 用戶向微信公眾賬號(hào)發(fā)送視頻消息的示例如圖3-4所示。 <div style="text-align: center"><img src="https://yqfile.alicdn.com/e59d3fb62c47745e4e4104628c3e64f1767775a5.png" width="" height=""> </div>用戶發(fā)送視頻消息時(shí),微信公眾賬號(hào)接收到的XML數(shù)據(jù)格式如下所示:

<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_

ruZGsfk]]>

<CreateTime>1359028186</CreateTime> <MsgType><![CDATA[video]]></MsgType> <MediaId><![CDATA[DBVFRIj29LB2hxuYpc0R6VLyxwgyCH

ZPbRj_IIs6YaGhutyXUKtFSDcSCPeoqUYr]]>

<ThumbMediaId><![CDATA[mxUJ5gcCeesJwx2T9qsk62YzI

clCP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]>

<MsgId>5836981613212624665</MsgId>

用戶發(fā)送視頻消息的參數(shù)及描述如表3-4所示。 <div style="text-align: center"><img src="https://yqfile.alicdn.com/49a817be659a338d6a671b1c1608f5d4b27596be.png" width="" height=""> </div>####3.1.5 地理位置消息 用戶向微信公眾賬號(hào)發(fā)送地理位置消息的示例如圖3-5所示。 <div style="text-align: center"><img src="https://yqfile.alicdn.com/beaa7aae2fb63c1d09f95861fc0aa580d9afb711.png" width="" height=""> </div>用戶發(fā)送地理位置消息時(shí),微信公眾賬號(hào)接收到的XML數(shù)據(jù)格式如下所示:

<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_

ruZGsfk]]>

<CreateTime>1359036619</CreateTime> <MsgType><![CDATA[location]]></MsgType> <Location_X>22.539968</Location_X> <Location_Y>113.954980</Location_Y> <Scale>16</Scale> <Label><![CDATA[中國(guó)廣東省深圳市南山區(qū)深南大道9001號(hào)

郵政編碼: 518053]]>

<MsgId>5837017832671832047</MsgId>

`
用戶發(fā)送地理位置消息的參數(shù)及描述如表3-5所示。


3.1.6 鏈接消息

用戶向微信公眾賬號(hào)發(fā)送鏈接消息的示例如圖3-6所示。


用戶發(fā)送鏈接消息時(shí),微信公眾賬號(hào)接收到的XML數(shù)據(jù)格式如下所示:

<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjl2LYdfTAM-oxDgB4XZ cnc8]]></FromUserName> <CreateTime>1359709372</CreateTime> <MsgType><![CDATA[link]]></MsgType> <Title><![CDATA[微信公眾平臺(tái)開(kāi)發(fā)者的江湖]]></Title> <Description><![CDATA[陳坤的微信公眾號(hào)這段時(shí)間大火,大家...]]></Description> <Url><![CDATA[http://www.cnblogs.com/txw1958/]]></Url> <MsgId>5839907284805129867</MsgId> </xml> ```用戶發(fā)送的鏈接消息的參數(shù)及描述如表3-6所示。 <div style="text-align: center"><img src="https://yqfile.alicdn.com/2dfbbe59908e3344d57a154ea05955c30eafb0a2.png" width="" height=""> </div>####3.1.7 案例 前面的章節(jié)已經(jīng)介紹了各種基礎(chǔ)消息,本節(jié)將用代碼實(shí)現(xiàn)上面的各種消息類型并且做出相應(yīng)的回復(fù)處理。代碼如下所示:.

<?php

//
// 接收用戶消息
// 微信公眾賬號(hào)接收到用戶的消息類型判斷
//

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {

$wechatObj->responseMsg();

}else{

$wechatObj->valid();

}

class wechatCallbackapiTest
{

public function valid() {$echoStr = $_GET["echostr"];if($this->checkSignature()){echo $echoStr;exit;} }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;} }public function responseMsg() {$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];if (!empty($postStr)){$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$RX_TYPE = trim($postObj->MsgType);//用戶發(fā)送的消息類型判斷switch ($RX_TYPE){case "text": //文本消息$result = $this->receiveText($postObj);break;case "image": //圖片消息$result = $this->receiveImage($postObj);break;case "voice": //語(yǔ)音消息$result = $this->receiveVoice($postObj);break;case "video": //視頻消息$result = $this->receiveVideo($postObj);break;case "location"://位置消息$result = $this->receiveLocation($postObj);break;case "link": //鏈接消息$result = $this->receiveLink($postObj);break;default:$result = "unknow msg type: ".$RX_TYPE;break;}echo $result;}else {echo "";exit;} }/** 接收文本消息*/ private function receiveText($object) {$content = "你發(fā)送的是文本,內(nèi)容為:".$object->Content;$result = $this->transmitText($object, $content);return $result; }/** 接收?qǐng)D片消息*/ private function receiveImage($object) {$content = "你發(fā)送的是圖片,地址為:".$object->PicUrl;$result = $this->transmitText($object, $content);return $result; }/** 接收語(yǔ)音消息*/ private function receiveVoice($object) {$content = "你發(fā)送的是語(yǔ)音,媒體ID為:".$object->MediaId;$result = $this->transmitText($object, $content);return $result; }/** 接收視頻消息*/ private function receiveVideo($object) {$content = "你發(fā)送的是視頻,媒體ID為:".$object->MediaId;$result = $this->transmitText($object, $content);return $result; }/** 接收位置消息*/ private function receiveLocation($object) {$content = "你發(fā)送的是位置,緯度為:".$object->Location_X.";經(jīng)度為:".$object->Location_Y.";縮放級(jí)別為:".$object->Scale.";位置為:".$object->Label;$result = $this->transmitText($object, $content);return $result; }/** 接收鏈接消息*/ private function receiveLink($object) {$content = "你發(fā)送的是鏈接,標(biāo)題為:".$object->Title.";內(nèi)容為:".$object->

Description.";鏈接地址為:".$object->Url;

$result = $this->transmitText($object, $content);return $result; }/** 回復(fù)文本消息*/ private function transmitText($object, $content) {$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content></xml>";$result = sprintf($textTpl, $object->FromUserName, $object-> ToUserName, time(), $content);return $result; }

}
?>`
在responseMsg()方法中,先提取消息類型$postObj->MsgType,從而實(shí)現(xiàn)各種消息類型的分離。在類wechatCallbackapiTest中,為每種消息類型定義了接收方法函數(shù)。在每個(gè)方法里面,返回消息的主要特征值,組成文本消息作為內(nèi)容回復(fù)。

總結(jié)

以上是生活随笔為你收集整理的《微信公众平台开发最佳实践》——第3章 基 础 接 口 3.1 接收用户消息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91麻豆精品在线观看 | 免费国产视频 | 性欧美精品 | a级全黄| 超碰在线资源 | 免费在线观看网址 | 国产98色在线 | 日韩 | 欧美在线视频一区 | 国产清纯白嫩初高中在线观看性色 | 古装做爰无遮挡三级聊斋艳谭 | 麻豆一区二区 | 欧美成人免费在线观看视频 | www.在线| 字幕网av | 国产性猛交普通话对白 | 国产网站入口 | 国产精品视频一区二区在线观看 | 国产日韩欧美精品在线 | 久操热久操 | 国产免费无码一区二区视频 | 黄色大片在线看 | 色综合99久久久无码国产精品 | 白浆四溢| 欧美一区二区三区观看 | 男女污污软件 | 亚洲h动漫 | 日韩欧美视频在线 | 国产一区二区在线视频 | 国产网红av | 999xxxx | 欧美激情国产精品 | 国产又粗又黄又爽的视频 | 黄色a级片在线观看 | 亚洲永久免费精品 | 亚洲精品小说 | 女人一区二区三区 | 黄瓜污视频 | 亚洲一区成人在线 | 亚洲一区,二区 | 爱乃なみ加勒比在线播放 | 黄色欧美一级片 | 欧美日韩综合视频 | 午夜精品久久久久久久久 | 亚洲丝袜在线观看 | 在线免费观看黄网 | 疯狂做爰高潮videossex | 波多野结衣大片 | 久久精品免费播放 | 成年人黄色免费网站 | 国产精品久久久久久久久久直播 | v片在线看 | 亚洲激情欧美 | 中国女人内谢69xxxx | 国产一卡二卡在线 | 亚洲一区二区三区在线免费观看 | 波多野结衣中文一区 | 国产精品成人一区二区三区电影毛片 | 天堂在线视频观看 | 后进极品白嫩翘臀在线视频 | 美女四肢被绑在床扒衣 | 久久一本精品 | 操操操操操操操操操 | 特级西西www444人体聚色 | 日韩精品亚洲精品 | 久久网中文字幕 | 日本在线加勒比 | 国产精品久久久久久亚洲调教 | 国产精品成人电影在线观看 | 亚洲国产中文字幕 | 青青偷拍视频 | 快射视频网| 午夜影院在线观看视频 | 国产精品国产成人国产三级 | 免费国偷自产拍精品视频 | 久久精品中文字幕 | 亚洲免费砖区 | 97香蕉久久夜色精品国产 | 五月婷六月| 一级片www | 福利影院在线观看 | 亚洲av成人片色在线观看高潮 | 超碰精品| 国产91欧美| 爆操91 | 搞黄视频在线观看 | 日日躁夜夜躁狠狠久久av | 亚洲第一天堂久久 | 成人宗合| 老司机成人免费视频 | 欧美日本综合 | 加勒比色综合 | 国产3区| 色天天色综合 | 麻豆md0077饥渴少妇 | 2019中文在线观看 | 亚洲伦理自拍 | 4444亚洲人成无码网在线观看 | 伊人视频在线观看 | 亚洲青草 |