狠狠操夜夜甜|人妻在线中文字幕亚洲无码不卡av|一区二区欧美亚洲|日躁夜躁狠狠躁2001|亚洲,超碰,欧美|18AV成人电影|午夜成人免费在线|婷婷激情网深爱五月|色欲综合成人在线|在线美女搞黄大片

中企動(dòng)力 > 頭條 > 微信平臺(tái)網(wǎng)站開發(fā)

網(wǎng)站性能檢測(cè)評(píng)分

注:本網(wǎng)站頁面html檢測(cè)工具掃描網(wǎng)站中存在的基本問題,僅供參考。

微信平臺(tái)網(wǎng)站開發(fā)

微信公眾號(hào)三方平臺(tái)開發(fā)【全網(wǎng)發(fā)布及全網(wǎng)發(fā)布接入檢測(cè)】 公司視頻課程

img

荀遠(yuǎn)航

關(guān)注

于千萬人之中遇見了你

愿與你留下恒久的記憶

關(guān)注袁威,見證奇跡

今天開始之前,糾正下上期粗心犯的一個(gè)錯(cuò),在完整代碼部分把if(strtolower($postObj -> MsgType) == 'event')寫了兩次,由于推送的內(nèi)容修改無法生效, 大伙自行刪除多余的判斷句即可,也可以看今天最后面的完整代碼。

好了,進(jìn)入今天的內(nèi)容,經(jīng)過之前系列內(nèi)容過后,接下來的代微信公眾號(hào)實(shí)現(xiàn)業(yè)務(wù)部分跟微信公眾號(hào)開發(fā)業(yè)務(wù)邏輯一樣,所以公眾號(hào)其他業(yè)務(wù)功能部分后面我會(huì)單獨(dú)整理一套相關(guān)內(nèi)容,今天,咱們就來說說微信第三方平臺(tái)開發(fā)的最后一步——全網(wǎng)發(fā)布,因?yàn)橹挥羞M(jìn)行全網(wǎng)發(fā)布后,我們的第三方平臺(tái)才可以接收所有的微信公眾號(hào)的授權(quán),否則就只能接收測(cè)試公眾號(hào)的授權(quán)。

在正式進(jìn)行全網(wǎng)發(fā)布之前,必須先通過全網(wǎng)發(fā)布接入檢測(cè),意思就是此時(shí)微信服務(wù)器會(huì)通過自動(dòng)化測(cè)試的方式,來檢測(cè)我們開發(fā)的第三方平臺(tái)的基礎(chǔ)邏輯是否正??捎茫挥性诖_定基礎(chǔ)可用的情況下,才會(huì)允許第三方平臺(tái)提交全網(wǎng)發(fā)布。

當(dāng)然,在前往開放平臺(tái)進(jìn)行全網(wǎng)發(fā)布之前,我們首先要根據(jù)測(cè)試步驟,用代碼實(shí)現(xiàn)相關(guān)邏輯,才能順利通過全網(wǎng)發(fā)布,在這一步一般會(huì)出現(xiàn)以下三個(gè)問題:返回Api文本信息,返回普通文本信息,發(fā)送事件信息。

首先,在開發(fā)文檔里,我們可以看到,官方提供了專用測(cè)試公眾號(hào)信息,其中appid為 wx570bc396a51b8ff8,Username為gh_3c884a361561。

1) 發(fā)送事件信息

模擬粉絲觸發(fā)專用測(cè)試公眾號(hào)的事件,并推送事件消息到專用測(cè)試公眾號(hào),第三方平臺(tái)需要提取推送過來的XML信息中event的值,并且第三方平臺(tái)需要在5秒內(nèi)立即返回按照官方要求組裝成文本消息回復(fù)給粉絲,格式為:event + “from_callback”(假定event為L(zhǎng)OCATION,則文本消息內(nèi)容為: LOCATIONfrom_callback)。

這里,我們需要先判斷事件信息是否屬于專用測(cè)試公眾號(hào),然后組裝進(jìn)行回復(fù):

if($toUsername== 'gh_3c884a361561'){

$event = $postObj->Event;

$content =$event.'from_callback';

responseText($postObj,$content);

}

2)返回普通文本信息

模擬粉絲發(fā)送文本消息給專用測(cè)試公眾號(hào),第三方平臺(tái)需要根據(jù)文本消息的內(nèi)容進(jìn)行相應(yīng)的響應(yīng),這里推過來的會(huì)是一個(gè)固定內(nèi)容,為TESTCOMPONENT_MSG_TYPE_TEXT,而我們也是返回一個(gè)固定文本內(nèi)容即可,為TESTCOMPONENT_MSG_TYPE_TEXT_callback:

if(strtolower($postObj -> MsgType) == 'text' &&trim($postObj->Content)=='TESTCOMPONENT_MSG_TYPE_TEXT'){

$toUsername = $postObj->ToUserName;

if($toUsername =='gh_3c884a361561'){

$content ='TESTCOMPONENT_MSG_TYPE_TEXT_callback';

3)返回Api文本信息

模擬粉絲發(fā)送文本消息給專用測(cè)試公眾號(hào),第三方平臺(tái)需要在5秒內(nèi)返回空串表明暫時(shí)不回復(fù),然后再立即使用客服消息接口發(fā)送消息回復(fù)粉絲。

第三方平臺(tái)接收到的文本信息為QUERY_AUTH_CODE:$query_auth_code$,這里我們只要進(jìn)行“QUERY_AUTH_CODE”字段判定就可以了,在拿到$query_auth_code$的值后,需要利用$query_auth_code$的值來換取公眾號(hào)的授權(quán)信息(換取授權(quán)信息實(shí)現(xiàn)方法見微信公眾號(hào)三方平臺(tái)開發(fā)【獲取授權(quán)方的授權(quán)信息以及基本信息】),然后再調(diào)用發(fā)送客服消息api來給粉進(jìn)行文本消息回復(fù),其中文本消息內(nèi)容為:$query_auth_code$_from_api:

if(strpos ( $postObj->Content, 'QUERY_AUTH_CODE' ) !== false){

$query_auth_code =str_replace ( 'QUERY_AUTH_CODE:', '', $postObj->Content);

$wechat =A('Wechat/Wechat');

$info = $wechat->getAuthInfo($query_auth_code);

$access_info=$info['authorization_info'] ['authorizer_access_token'];

$param ['touser'] =$postObj ->FromUserName;

$param ['msgtype'] ='text';

$param ['text']['content'] = $query_auth_code . '_from_api';

$url ='https://api.weixin.qq/cgi-bin/message/custom/send?access_token='.$access_info;

$res = post_data ($url, $param );

完整消息事件完整代碼:

public function reponseMsg(){

require_once(dirname(__FILE__).'/wxBizMsgCrypt.php');

//encodingAesKey和token均為申請(qǐng)三方平臺(tái)是所填寫的內(nèi)容

$encodingAesKey = '公眾號(hào)消息加解密Key';

$token = '公眾號(hào)消息校驗(yàn)Token';

$appId = '三方平臺(tái)appid';

$timeStamp = empty($_GET ['timestamp'] ) ? "" : trim ( $_GET ['timestamp'] );

$nonce = empty ($_GET['nonce'] ) ? "" : trim ( $_GET ['nonce'] );

$msg_sign = empty($_GET ['msg_signature'] ) ? "" : trim ( $_GET ['msg_signature'] );

$pc = new\WXBizMsgCrypt( $token, $encodingAesKey, $appId );

//獲取到微信推送過來post數(shù)據(jù)(xml格式)

$postArr=$GLOBALS['HTTP_RAW_POST_DATA'];

$msg = '';

$errCode=$pc->decryptMsg($msg_sign, $timeStamp, $nonce, $postArr,$msg);

if($errCode == 0){

//處理消息類型,并設(shè)置回復(fù)類型和內(nèi)容

$postObj=simplexml_load_string($msg,'SimpleXMLElement',LIBXML_NOCDATA);

//判斷該數(shù)據(jù)包是否是訂閱(用戶關(guān)注)的事件推送

if(strtolower($postObj-> MsgType) == 'event'){

//第三方平臺(tái)全網(wǎng)發(fā)布檢測(cè)發(fā)送事件消息測(cè)試

$toUsername= $postObj ->ToUserName;

$event= $postObj ->Event;

$content= $event.'from_callback';

//如果是關(guān)注subscribe事件

if(strtolower($postObj->Event== 'subscribe')){

$public_name=strval($postObj->ToUserName);

$map['public_name']=$public_name;

$cont=M('Subscribe')->where($map)->find();

//回復(fù)用戶消息

$content=$cont['content'];

//第三方平臺(tái)全網(wǎng)發(fā)布檢測(cè)普通文本消息測(cè)試

if(strtolower($postObj-> MsgType) == 'text' &&trim($postObj->Content)=='TESTCOMPONENT_MSG_TYPE_TEXT'){

$content= 'TESTCOMPONENT_MSG_TYPE_TEXT_callback';

//第三方平臺(tái)全網(wǎng)發(fā)布檢測(cè)返回api文本消息測(cè)試

if(strpos ($postObj->Content, 'QUERY_AUTH_CODE' ) !== false){

$query_auth_code= str_replace ( 'QUERY_AUTH_CODE:', '', $postObj->Content);

$wechat= A('Wechat/Wechat');

$info= $wechat ->getAuthInfo($query_auth_code);

$param['touser'] = $postObj ->FromUserName;

$param['msgtype'] = 'text';

$param['text'] ['content'] = $query_auth_code . '_from_api';

$url='https://api.weixin.qq/cgi-bin/message/custom/send?access_token='.$access_info;

$res = post_data ( $url,$param );

//用戶發(fā)送某一圖文關(guān)鍵字的時(shí)候,回復(fù)圖文消息

if(strtolower($postObj->MsgType) == 'text' && trim($postObj->Content)=='圖文'){

//這一步可從數(shù)據(jù)庫中查詢得到

$arr=array(

array(

'title'=>'test1',

'description'=>'test1',

'picUrl'=>'http://mmbiz.qpic/mmbiz/mLiaE7fSUysSbbqzicX2LVsLL1HsXMRV0m6uicfiaSX9Aic43BA5vnpFOBMWAoEuaVDicoOX4HzGT8OT5QK6DRs14VkQ/0',

'url'=>'https://mp.weixin.qq/s?__biz=MjM5NzY4MDc0MA==&tempkey=mKI6U0rlJZofvceyQdxTPAYtneMxKyhWy52ytbUZfOJzFEHMDqmYTQLQWrkrSRky&appmsgid=10000002&itemidx=1&sign=99baf31f45e2357af575c63b5b303b6a#wechat_redirect',

),

'title'=>'test2',

'description'=>'test2',

'picUrl'=>'http://mmbiz.qpic/mmbiz_jpg/mLiaE7fSUysTFDEZQTOvXleYwYqFN1JeLwM66Zg7dHjK3aHQxdVtwGTJgzuKJRuZCBHljIvVLkvZ2CADJ6paJYQ/0?wx_fmt=jpeg',

'url'=>'https://mp.weixin.qq/s?__biz=MjM5NzY4MDc0MA==&tempkey=mKI6U0rlJZofvceyQdxTPDXw5wcPw4rpHzkwOv4U7kDY1V%2BUUirAB0C9oEEsX5HQB8Uv1Ut2zj3buNkRPh6KNYWVyTaxebMkb8IcD9FjNbpcqY0mdRbCxRnbIjtmNBd37cKXm3Egbo1KWdkSEy5NZg%3D%3D&chksm=315123030626aa15c3e454afbd931ec3458149b13370999b16bc72b876326977e7d68b406a8c#rd',

)

);

responseNews($postObj,$arr);

}else{

//當(dāng)微信用戶發(fā)送關(guān)鍵字,公眾號(hào)回復(fù)對(duì)應(yīng)內(nèi)容

$keyword=strval(trim($postObj ->Content));

$log['public_name']=$public_name;

$log['keyword']=array('like','%'.$keyword.'%');

$con=M('Keyword')->where($log)->select();

foreach($conas $vo =>$k){

$conn=$con[$vo]['content'];

if($conn){

$content=$conn;

$lg['public_name']=$public_name;

$lg['keyword']='';

$con=M('Keyword')->where($lg)->select();

完成后,再前往開放平臺(tái),點(diǎn)擊全網(wǎng)發(fā)布,等待一分鐘左右,看到所有狀態(tài)都為成功,則代表全網(wǎng)發(fā)布接入檢測(cè)通過了,點(diǎn)擊【確定】,就愉快的發(fā)布咯。

如果正合你意,如果你也喜歡,點(diǎn)贊or分享只在一瞬間~

微信小程序選擇嵌入網(wǎng)頁還是原生開發(fā) 小程序視頻課程

img

百里冰

關(guān)注

微信小程序有一個(gè)功能,就是直接在小程序中嵌入Web頁面。這可以大大減少小程序的開發(fā)成本。有的客戶發(fā)現(xiàn)了這點(diǎn),在找小編公司做微信小程序的時(shí)候,為了節(jié)約資金,都希望直接嵌入web頁面,小編是不希望這做的,至于為什么,請(qǐng)看下面。

在實(shí)現(xiàn)功能上,Web頁面能做的,原生小程序大部分能做。原生小程序能做的,web不一定能做。我這么一寫,可能有的人就會(huì)說,小編你是不是有病啊。既然這兩個(gè)都差不多,為什么還不推薦用web頁面嵌入,是不是為了多掙點(diǎn)錢。別急,看小編慢慢道來。

1.在原生小程序里,整個(gè)小程序都是提前下載的,不會(huì)存在Web頁面打開時(shí)的卡頓現(xiàn)象。大家都知道小程序打開速度的快慢,直接影響到用戶體驗(yàn),打開的越慢,用戶的流失率越高。

2.有一些功能例如推送信息等只有原生開發(fā)的小程序才能使用,而Web頁面嵌入的小程序是沒有的。

所以,如果需要和微信生態(tài)整合得更緊密,可以使用原生方式開發(fā);如果追求快速遷移已有 Web 產(chǎn)品,嵌入 Web 頁面更快。要注意的是,微信小程序嵌入網(wǎng)頁的功能,目前還不對(duì)個(gè)人開放,且對(duì)網(wǎng)頁的域名有要求。

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動(dòng)力姐姐微信

img
img

TOP