久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

三,、微信開發(fā):自定義菜單

 phpcoder_echo 2017-06-05
本章是系列教程第三篇,。學(xué)習(xí)之前請確保了解了

微信公眾號開發(fā)基礎(chǔ)(上)

微信公眾號開發(fā)基礎(chǔ)(下)

本篇文章你能學(xué)到:用php為公眾號增加,,修改,,替換,,刪除菜單,。舉一反三,你能用本文的簡單例子寫出適合自己工作的功能,。
新建文件menu.php,,把下面的代碼復(fù)制到文件里,。修改AppID(應(yīng)用ID)與AppSecret(應(yīng)用密鑰,這兩個作用下面會講到)為自己公眾號的,。你將能得到如圖的功能,。點擊菜單一會menu.php會收到XML消息,“王文曉,,百度”會跳轉(zhuǎn)到相應(yīng)網(wǎng)頁,。

menu.php里面的代碼



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
  //獲取微信access_token
 function getaccess_token(){
    //appid與appsecret改成你自己的
    $appid '自己的appid';
    $appsecret '自己的appsecret';
    $url "http://www."
             },
             {
                "type":"view",
                "name":"百度",
                "url":"

AppID(應(yīng)用ID)、AppSecret(應(yīng)用密鑰)與access_token

AppID(應(yīng)用ID)與AppSecret(應(yīng)用密鑰)每個公眾號都是唯一的,,它倆組合能獲取access_token,,在與微信服務(wù)器接口交互時,微信驗證access_token才知道你要改哪個公眾號的設(shè)置,。
access_token每天只允許獲取1000次,,但每次獲取的access_token的有效期目前為2個小時,所以可以把獲取的token存到數(shù)據(jù)庫或者文本文件里,,兩小時后再次獲取,。

(中午十二點了,先吃飯,,下午在寫)

AppID(應(yīng)用ID),、AppSecret(應(yīng)用密鑰)在哪查詢

登錄mp.weixin.qq.com選擇基本配置,即可看到

學(xué)習(xí) CURL 函數(shù)

curl功能很強(qiáng)大,,可以做模擬登錄,、刷票、代理,、表單上傳......本篇文章只講要用到的功能:curl模擬get,、模擬post獲取網(wǎng)頁數(shù)據(jù)。

php中curl總的流程

1
2
3
4
$ch = curl_init();   //初始化一個curl會話到$ch
curl_setopt($ch, CURLOPT_“相關(guān)配置”,“配置的值”);//$ch中設(shè)置相關(guān)的配置
$data = curl_exec($ch);//執(zhí)行curl會話,,返回的結(jié)果放到$data
curl_close($ch);//關(guān)閉curl會話
curl_setopt常用配置項
配置項 作用 配置值
CURLOPT_URL 要獲取的地址 String類型的地址
CURLOPT_RETURNTRANSFER 返回的網(wǎng)頁數(shù)據(jù)是否直接顯示在網(wǎng)頁上 bool,,1為不顯示0為顯示
CURLOPT_POST 是否使用post bool,0為不用1為用
CURLOPT_POSTFIELDS 訪問地址時帶過去的post值 string或者array類型的值
CURLOPT_HEADER 返回的網(wǎng)頁頭信息是否直接顯示在網(wǎng)頁上 bool,,0為不顯示1為顯示
CURLOPT_SSL_VERIFYPEER 訪問https網(wǎng)址時檢查證書是否有效 bool

例1,、get獲取www.網(wǎng)頁數(shù)據(jù)


1
2
3
4
5
6
7
    $url "http://www.";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $data = curl_exec($ch);
    curl_close($ch);
    var_dump($data);

獲得的網(wǎng)頁數(shù)據(jù)放在$data變量里,然后打印出來$data,,原本是顯示出網(wǎng)頁的字符串,,但是是html語言,所以又變成網(wǎng)頁了
結(jié)果圖如下


例2,、帶post獲取www.網(wǎng)頁數(shù)據(jù)


1
2
3
4
5
6
7
8
    $url "http://www.";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,"who=wangwenxiao");
    $data = curl_exec($ch);
    curl_close($ch);
    var_dump($data);

結(jié)果:跟get方式得到的結(jié)果一樣,,只不過請求時請求頭會帶著post數(shù)據(jù)who=wangwenxiao

獲取access_token流程


獲取地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
把紅色的字改成自己公眾號的AppID(應(yīng)用ID)、AppSecret(應(yīng)用密鑰)即可
相應(yīng)代碼講解:
5-6行改成自己的appid與appsecret
7-13行根據(jù)上面講解是模擬get請求獲取上面網(wǎng)址顯示的數(shù)據(jù),。

返回的數(shù)據(jù)為json數(shù)據(jù){"access_token":"ACCESS_TOKEN的值(512個字節(jié))","expires_in":7200}
14行將上面得到的json格式數(shù)據(jù)轉(zhuǎn)化為數(shù)組,。
15行獲取數(shù)據(jù)中的access_token的值,。
制作菜單詳解
(吃晚飯去,吃完晚飯繼續(xù)寫)

上面代碼設(shè)置的菜單為例,,當(dāng)用戶點擊click類型按鈕時,,我們的服務(wù)器接收到如下XML格式的信息

1
2
3
4
5
6
7
8
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[wwx_one]]></EventKey>
</xml>

接收菜單信息

把下面的代碼命名為menureply.php放在服務(wù)器上,并與微信公眾號建立對接,。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
define("TOKEN""xiao");
//用于回復(fù)用戶
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;
        $event = trim($postObj->Event);
        $eventkey = trim($postObj->EventKey);
        $time = time();
        $textTpl = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[%s]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>";             
        if(!empty$event )&&$event=="CLICK")
        {
            $msgType "text";
            $contentStr "您點擊了按鈕菜單,,key值為:".$eventkey;
            $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr);
            echo $resultStr;
            exit;
        }
    }else{
            echo "";
            exit;
    }
}
  
    $echoStr $_GET["echostr"];
    if (!empty($echoStr)) {
        //對接規(guī)則
        $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();
    }
?>

對接后的圖(對接方法請看微信公眾號開發(fā)基礎(chǔ)上

再點擊公眾號的菜單會收到如下信息

我們設(shè)置的eventkey值就是wwx_one。
menureply.php的代碼不詳細(xì)解釋,,仔細(xì)看開頭寫出的那兩篇文章就能理解了
能返回文本消息,,你也就可以做視頻,圖文,,語音消息,。。,。,。。,。,。

本章結(jié)束語

學(xué)到這里,其實你也就可以自己看微信文檔開發(fā)了,。后面我會把微信的九大高級接口怎么使用詳細(xì)介紹一遍,,有問題歡迎留言。

本文寫作用時14小時

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多