• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 網絡軟件教程 > 詳細頁面

        微信公眾號開發完整圖文詳細教程一

        微信公眾號開發完整圖文詳細教程一

        更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

        微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺...
        微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺通過網絡快速發送免費(需消耗少量網絡流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、”公眾平臺“、”語音記事本“等服務插件。
        這篇文章介紹的內容是關于微信公眾號開發完整教程一,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

        因為工作的需要,這一兩年對微信公眾號和小程序,項目制作的比較多。所以我才打算寫一篇全面的制作教程,當然了,最好的教程是微信工作平臺的文檔。我這里只是講述一下我的工作中的制作流程。所有相關文章的源碼,我托管在我自己的github上面,歡迎關注:地址點擊打開鏈接。接下來開始我們的教程。

        1.微信與公眾平臺的區別:

        微信:即時聊天的軟件,屬于一對一的關系

        微信公眾平臺:屬于一對多的關系。

        2.訂閱號與服務號的區別:

        訂閱號:針對個人或媒體每天可以群發1條信息,默認不具有自定義菜單。服務器號:針對企業或銀行每月可以群發4條信息,默認具有自定義菜單。運營主體是組織(比如企業、媒體、公益組織)的,可以申請服務號。運營主體是組織和個人的可以申請訂閱號,但是個人不能申請服務號。

        3.公眾平臺的兩種模式:

        1、編輯模式:直接使用微信公眾平臺所提供的后臺操作進行用戶交互。編輯模式可以使用在如下的場景:不具備開發能力的運營者,主要是進行品牌宣傳、新聞媒體、自助客服的公眾賬號,運營初期,不需要特別多的功能,開發模式系統升級,故障等特殊情況

        2、開發者模式:直接使用接口代碼實現用戶的交流

        4.微信公眾平臺前期準備:

        注冊公眾平臺,擁有線上服務器

        5.認識一下編輯模式:

        原理:

        微信公眾號開發完整教程一

        5.1消息群發:

        微信公眾號開發完整教程一


        選擇對象選擇素材進行群發:

        微信公眾號開發完整教程一

        5.2:自定義菜單:

        啟用自定義菜單,并開啟:

        微信公眾號開發完整教程一

        點擊查看,進入設置界面:

        微信公眾號開發完整教程一

        微信公眾號開發完整教程一

        5.3自動回復:

        微信公眾號開發完整教程一

        上述講述的主要是編輯模式的使用,我想很多人應該都會使用,其實和我們平常在論壇編輯文章和帖子差不多。

        6.開發者模式

        原理:

        微信公眾號開發完整教程一


        6.1第一步我們要開啟開發者模式:

        注意:在開啟開發者模式之后編輯模式中部分功能不能正常使用。即開發者模式跟編輯模式存在沖突。進入設置界面:

        微信公眾號開發完整教程一

        修改配置:

        微信公眾號開發完整教程一

        設置結果如下圖:填寫上你的服務器文件地址,token,點擊提交,驗證即可。如果提交并驗證通過,就進入到開發者模式

        微信公眾號開發完整教程一

        微信公眾號開發完整教程一

        6.2我線上的驗證代碼如下:


        public function valid(){
        //獲取隨機字符串
        $echoStr = input("echostr");
        if($echoStr){
        // 驗證接口的有效性,由于接口有效性的驗證必定會傳遞echostr 參數
        if($this ->checkSignature()){
        echo $echoStr;
        exit;
        }
        }else{
        $this->responseMsg();
        }
        }
        protected function checkSignature()
        {
        // 微信加密簽名
        $signature = input("signature");
        $timestamp = input("timestamp");//時間戳
        $nonce =input("nonce");//隨機數
        $token = "weixin";  //token值,必須和你設置的一樣
        $tmpArr =array($token,$timestamp,$nonce);
        sort($tmpArr,SORT_STRING);
        $tmpStr = implode($tmpArr);
        $tmpStr =sha1($tmpStr);
        if($tmpStr == $signature){
        return true;
        }else{
        return false;
        }
        }

        關于上述代碼中的變量來源,微信都有詳細的說明,我搭建的公眾號使用的是PHP7.0版本,TP5.0框架。在這里說明一下。

        上述代碼只會執行一次,開啟開發者模式之后,就不會在執行,只會執行上述代碼中的

        responseMsg

        方法。

        我們先上傳一段測試代碼試試,回復文本消息,是否有回復,代碼如下:


        public function responseMsg()
        {
                //get post data, May be due to the different environments
                $postStr = file_get_contents('php://input');    
          //extract post data
                if (!empty($postStr)){
        /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
                           the best way is to check the validity of xml by yourself */
        libxml_disable_entity_loader(true);
          $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUsername = $postObj->FromUserName;
        $toUsername = $postObj->ToUserName;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "<xml>
                                    <ToUserName><![CDATA[%s]]></ToUserName>
                                    <FromUserName><![CDATA[%s]]></FromUserName>
                                    <CreateTime>%s</CreateTime>
                                    <MsgType><![CDATA[%s]]></MsgType>
                                    <Content><![CDATA[%s]]></Content>
                                    <FuncFlag>0</FuncFlag>
                                    </xml>";
                        if(!empty( $keyword ))
        {
              $msgType = "text";
            $contentStr = "Welcome to wechat world!";
            $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
            echo $resultStr;
        }else{
            echo "Input something...";
        }
        }else {
            echo "";
            exit;
        }
        }

        結果如下:

        微信公眾號開發完整教程一,由于微信的網頁授權的限制,所以我們可以申請測試賬號,我這里使用的就是測試賬號。上述的開啟開發者模式是一樣的。只需要去申請一個測試賬號就好。申請的地方:

        微信公眾號開發完整教程一


        如果出現上述的代碼,說明我們已經測試成功。接下來,我們開始獲取access_token的值,這個參數對于我們來說很重要。因為

        access_token是公眾號的全局唯一接口調用憑據,公眾號調用各接口時都需使用access_token。開發者需要進行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復獲取將導致上次獲取的access_token失效。access_token是身份認證 其他接口基本上都需要使用該值進行驗證。

        7.access_token獲取:(可以在本地測試)

        7.1查看接口說明:

        微信公眾號開發完整教程一

        獲取access_token方式一:

        微信公眾號開發完整教程一

        結果如下:

        微信公眾號開發完整教程一

        獲取access_token方式二:

        微信公眾號開發完整教程一

        結果如下:

        微信公眾號開發完整教程一

        我們開始對上述的代碼進行封裝,因為access_token,每天只能調用2000次,所以我們要緩存起來,這樣才能達到復用的效果,

        7.2:curl封裝發送請求和獲取access_token封裝:


        // 獲取請求的地址的方法

        i

        f(!function_exists("http_curl")){
        function http_curl($url,$data =array(),$method ="get",$returnType ="json")
        {
        //1.開啟會話
        $ch = curl_init();
        //2.設置參數
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
        if($method!="get"){
        curl_setopt($ch,CURLOPT_POST,TRUE);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
        }
        curl_setopt($ch,CURLOPT_URL,$url);
        //執行會話
        $json = curl_exec($ch);
        curl_close($ch);
        if($returnType == "json"){
        return json_decode($json,true);
        }
        return $json;
        }
        }
        if(!function_exists('get_access_token')){
        function get_access_token()
        {
        $appid = "wx1ba8f59d9e2c0be0"; //微信的appid
        $secret ="9e65155599fb9ec047455e197ff6e121"; //微信的開發者密鑰
        // 讀取緩存中的內容
        include_once "MyMemcache.php";  //引入緩存方法文件
        $obj = new \MyMemcache("47.104.71.253");
        $value = $obj ->get($appid);
        if(!$value){
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
        $result = http_curl($url);
        $value = $result['access_token'];
        $obj->set($appid,$value,7000);
        }
        return $value;
        }
        }

        上述代碼就是我對這兩個方法的封裝,其中我們用到了緩存技術:緩存的方法如下:


        // memcache操作類

        class MyMemcache{
        public $conn;
        public $isMemcache =true;
        public function __construct($host="127.0.0.1",$port='11211')
        {
        //  建立連接
        if(class_exists('MyMemcache')){
        $obj =new \Memcache();
        }else{
        $this ->isMemcache =false;
        $obj =new \Memcached();
        }
        $obj ->addServer($host,$port);
        $this ->conn =$obj;
        }
        //獲取數據    
        public function get($key)
        {
        return $this->conn->get($key);
        }
        //設置數據
        public function set($key,$value,$expire=0)
        {
        if($this->isMemcache){
        $this->conn->set($key,$value,0,$expire);
        }else{
        // Memcached擴展的操作方式
        $this->conn->set($key,$value,$expire);
        }
        }
        }

        結合上述的三個方法,我們就可以實現獲取access_token的值,并保存在緩存系統,7000s去重新獲取一次。

        上述的步驟完成,我們就算是對微信公眾號的開發的基本準備全部準備完畢,接下來就開始對著微信開發者文檔進行開發和數據的替換了。第一節先講述到這里.....

        以上就是微信公眾號開發完整教程一的詳細內容,更多請關注php中文網其它相關文章!


        微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 叮咚影视在线观看免费完整版| 亚洲精品无码国产片| 一级毛片人与动免费观看| 久久亚洲中文字幕精品有坂深雪 | 久久久综合亚洲色一区二区三区| av片在线观看永久免费| 亚洲综合国产精品第一页| 久久久婷婷五月亚洲97号色 | 在线免费观看你懂的| 亚洲视频精品在线| 国产精品成人免费福利| 亚洲一区在线视频观看| 最新猫咪www免费人成| 亚洲成av人片在www鸭子| 免费看男女下面日出水视频| 免费观看四虎精品成人| 国产亚洲色婷婷久久99精品| 一个人免费日韩不卡视频| 亚洲另类自拍丝袜第1页| 日本高清免费不卡视频| 一日本道a高清免费播放 | 永久中文字幕免费视频网站| 亚洲成a人片在线观看天堂无码 | 亚洲免费电影网站| 亚洲一区精彩视频| 免费在线黄色网址| 国产成人精品一区二区三区免费| 亚洲成人免费电影| 亚洲成年看片在线观看| 一个人免费日韩不卡视频| 亚洲色欲色欲www在线播放| 亚洲午夜精品久久久久久浪潮| 永久免费AV无码网站国产| 亚洲一区二区三区国产精品无码| 国产成人无码a区在线观看视频免费| 亚洲精品偷拍视频免费观看| 亚洲国产精品久久人人爱| 无码不卡亚洲成?人片| 57pao国产成永久免费视频| 亚洲AV无码一区二区三区久久精品| 久久精品国产精品亚洲下载|