国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
1.微信與公眾平臺的區(qū)別:
2.訂閱號碼與服務(wù)號碼的差異:
3.公眾平臺的兩種模式:
5.認(rèn)識編輯模式:
5.1訊息群發(fā):
5.2:自訂選單:
6.2我線上的驗證程式碼如下:
7.access_token取得:(可在本機測試)" >7.access_token取得:(可在本機測試)
7.1檢視介面說明:" >7.1檢視介面說明:
取得access_token方式一:" >取得access_token方式一:
取得access_token方式二:" > 取得access_token方式二:
封裝發(fā)送請求和獲取access_token封裝:" >7.2:curl封裝發(fā)送請求和獲取access_token封裝:
首頁 微信小程式 微信開發(fā) 微信公眾號開發(fā)完整教學(xué)一

微信公眾號開發(fā)完整教學(xué)一

May 14, 2018 pm 03:27 PM
完整 開發(fā) 教學(xué)

這篇文章介紹的內(nèi)容是關(guān)於微信公眾號開發(fā)完整教程一,有著一定的參考價值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

因為工作的需要,這一兩年對微信公眾號和小程序,專案製作的比較多。所以我才打算寫一篇全面的製作教程,當(dāng)然了,最好的教程是微信工作平臺的文檔。我這裡只是講述一下我的工作中的製作流程。所有相關(guān)文章的源碼,我託管在我自己的github上面,歡迎關(guān)注:地址點擊打開連結(jié)。接下來開始我們的教學(xué)。

1.微信與公眾平臺的區(qū)別:

微信:即時聊天的軟體,屬於一對一的關(guān)係

微信公眾平臺:屬於一對多的關(guān)係。

2.訂閱號碼與服務(wù)號碼的差異:

訂閱號碼:針對個人或媒體每天可以群發(fā)1條訊息,預(yù)設(shè)不具有自訂菜單。 伺服器號碼:針對企業(yè)或銀行每月可以群發(fā)4條訊息,預(yù)設(shè)具有自訂選單。 營運主體是組織(如企業(yè)、媒體、公益組織)的,可以申請服務(wù)號碼。營運主體是組織和個人的可以申請訂閱號,但是個人不能申請服務(wù)號碼。

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

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

2、開發(fā)者模式:直接使用介面代碼實現(xiàn)用戶的交流

4.微信公眾平臺前期準(zhǔn)備:

#註冊公眾平臺,擁有線上伺服器

5.認(rèn)識編輯模式:

原理:

5.1訊息群發(fā):

選擇物件選擇素材進(jìn)行群發(fā):


5.2:自訂選單:

#啟用自訂選單,並開啟:


##點擊查看,進(jìn)入設(shè)定介面:



#5.3自動回覆:


上述敘述的主要是編輯模式的使用,我想很多人應(yīng)該都會使用,其實和我們平常在論壇編輯文章和貼文差不多。

6.開發(fā)者模式

原則:


#6.1第一步我們要開啟開發(fā)者模式:

注意:在開啟開發(fā)者模式之後編輯模式中部分功能不能正常使用。即開發(fā)者模式跟編輯模式有衝突。

進(jìn)入設(shè)定介面:


#修改設(shè)定:


設(shè)定結(jié)果如下圖:填寫上你的伺服器檔案位址,token,點選提交,驗證即可。如果提交並驗證通過,就進(jìn)入開發(fā)者模式



6.2我線上的驗證程式碼如下:


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

關(guān)於上述程式碼中的變數(shù)來源,微信都有詳細(xì)的說明,我搭建的公眾號使用的是PHP7.0版本,TP5.0框架。這裡說明一下。

上述程式碼只會執(zhí)行一次,開啟開發(fā)者模式之後,就不會在執(zhí)行,只會執(zhí)行上述程式碼中的

responseMsg

方法。

我們先上傳一段測試程式碼試試,回覆文字訊息,是否有回復(fù),程式碼如下:


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;
}
}

結(jié)果如下:

,由於微信的網(wǎng)頁授權(quán)的限制,所以我們可以申請測試帳號,我這裡使用的就是測試帳號。上述的開啟開發(fā)者模式是一樣的。只要要去申請一個測試帳號就好。申請的地方:


如果出現(xiàn)上述的程式碼,表示我們已經(jīng)測試成功。接下來,我們開始取得access_token的值,這個參數(shù)對我們來說很重要。因為

access_token是公眾號的全域唯一介面呼叫憑證,公眾號呼叫各介面時都需使用access_token。開發(fā)者需要進(jìn)行妥善保存。 access_token的儲存至少要保留512個字元空間。 access_token的有效期限目前為2小時,需定時刷新,重複取得將導(dǎo)致上次取得的access_token失效。 access_token是身份認(rèn)證 其他介面基本上都需要使用該值進(jìn)行驗證。

7.access_token取得:(可在本機測試)

7.1檢視介面說明:


取得access_token方式一:


結(jié)果如下:


取得access_token方式二:



############結(jié)果如下:###################我們開始對上述的程式碼進(jìn)行封裝,因為access_token,每天只能呼叫2000次,所以我們要快取起來,這樣才能達(dá)到復(fù)用的效果,###

7.2:curl封裝發(fā)送請求和獲取access_token封裝:


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

i

f(!function_exists("http_curl")){
function http_curl($url,$data =array(),$method ="get",$returnType ="json")
{
//1.開啟會話
$ch = curl_init();
//2.設(shè)置參數(shù)
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);
//執(zhí)行會話
$json = curl_exec($ch);
curl_close($ch);
if($returnType == "json"){
return json_decode($json,true);
}
return $json;
}
}
if(!function_exists(&#39;get_access_token&#39;)){
function get_access_token()
{
$appid = "wx1ba8f59d9e2c0be0"; //微信的appid
$secret ="9e65155599fb9ec047455e197ff6e121"; //微信的開發(fā)者密鑰
// 讀取緩存中的內(nèi)容
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[&#39;access_token&#39;];
$obj->set($appid,$value,7000);
}
return $value;
}
}

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


// memcache操作類

class MyMemcache{
public $conn;
public $isMemcache =true;
public function __construct($host="127.0.0.1",$port=&#39;11211&#39;)
{
//  建立連接
if(class_exists(&#39;MyMemcache&#39;)){
$obj =new \Memcache();
}else{
$this ->isMemcache =false;
$obj =new \Memcached();
}
$obj ->addServer($host,$port);
$this ->conn =$obj;
}
//獲取數(shù)據(jù)    
public function get($key)
{
return $this->conn->get($key);
}
//設(shè)置數(shù)據(jù)
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);
}
}
}

結(jié)合上述的三個方法,我們就可以實現(xiàn)獲取access_token的值,并保存在緩存系統(tǒng),7000s去重新獲取一次。

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

相關(guān)文章推薦:
1.微信公眾號開發(fā)完整教程二
2.微信公眾號開發(fā)完整教程三
3.微信公眾號開發(fā)完整教程四
相關(guān)視頻推薦:
1.php微信接口開發(fā)實戰(zhàn)項目視頻教程 聊天機器人+微信支付
2.開發(fā)微信小程序視頻教程

以上是微信公眾號開發(fā)完整教學(xué)一的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
得物使用教程 得物使用教程 Mar 21, 2024 pm 01:40 PM

得物APP是當(dāng)前十分火爆品牌購物的軟體,但是多數(shù)的用戶不知道得物APP中功能如何的使用,下方會整理最詳細(xì)的使用教程攻略,接下來就是小編為用戶帶來的得物多功能使用教學(xué)匯總,有興趣的用戶快來一起看看吧!得物使用教學(xué)【2024-03-20】得物分期購怎麼使用【2024-03-20】得物優(yōu)惠券怎麼獲得【2024-03-20】得物人工客服怎麼找【2024-03-20】得物取件碼怎麼查看【2024-03-20】得物求購在哪裡看【2024-03-20】得物vip怎麼開【2024-03-20】得物怎麼申請退換貨

四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

這個AI輔助程式工具在這個AI快速發(fā)展的階段,挖掘出了一大批好用的AI輔助程式工具。 AI輔助程式設(shè)計工具能夠提升開發(fā)效率、提升程式碼品質(zhì)、降低bug率,是現(xiàn)代軟體開發(fā)過程中的重要助手。今天大姚給大家分享4款A(yù)I輔助程式工具(而且都支援C#語言),希望對大家有幫助。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款A(yù)I編碼助手,可幫助你更快、更省力地編寫程式碼,從而將更多精力集中在問題解決和協(xié)作上。 Git

夏天,一定要試試拍攝彩虹 夏天,一定要試試拍攝彩虹 Jul 21, 2024 pm 05:16 PM

夏天雨後,常常能見到美麗又神奇的特殊天氣景象-彩虹。這也是攝影中可遇而不可求的難得景象,非常出片。彩虹出現(xiàn)有這樣幾個條件:一是空氣中有充足的水滴,二是太陽以較低的角度照射。所以下午雨過天晴後的一段時間內(nèi),是最容易看到彩虹的時候。不過彩虹的形成受天氣、光線等條件的影響較大,因此一般只會持續(xù)一小段時間,而最佳觀賞、拍攝時間更為短暫。那麼遇到彩虹,怎樣才能合理地記錄下來並拍出質(zhì)感呢? 1.尋找彩虹除了上面提到的條件外,彩虹通常出現(xiàn)在陽光照射的方向,即如果太陽由西向東照射,彩虹更有可能出現(xiàn)在東

AI程式設(shè)計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設(shè)計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設(shè)計師Devin誕生不足一個月,普林斯頓大學(xué)的NLP團隊開發(fā)了一個開源AI程式設(shè)計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現(xiàn)與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內(nèi)容,使用自動語法檢查、編輯特定行,以及編寫和執(zhí)行測試。 (註:以上內(nèi)容為原始內(nèi)容微調(diào),但保留了原文中的關(guān)鍵訊息,未超過指定字?jǐn)?shù)限制。)SWE-A

學(xué)習(xí)如何利用Go語言開發(fā)行動應(yīng)用程式 學(xué)習(xí)如何利用Go語言開發(fā)行動應(yīng)用程式 Mar 28, 2024 pm 10:00 PM

Go語言開發(fā)行動應(yīng)用程式教學(xué)隨著行動應(yīng)用程式市場的不斷蓬勃發(fā)展,越來越多的開發(fā)者開始探索如何利用Go語言開發(fā)行動應(yīng)用程式。作為一種簡潔高效的程式語言,Go語言在行動應(yīng)用開發(fā)中也展現(xiàn)了強大的潛力。本文將詳細(xì)介紹如何利用Go語言開發(fā)行動應(yīng)用程序,並附上具體的程式碼範(fàn)例,幫助讀者快速入門並開始開發(fā)自己的行動應(yīng)用程式。一、準(zhǔn)備工作在開始之前,我們需要準(zhǔn)備好開發(fā)環(huán)境和工具。首

Go語言前端技術(shù)探秘:前端開發(fā)新視野 Go語言前端技術(shù)探秘:前端開發(fā)新視野 Mar 28, 2024 pm 01:06 PM

Go語言作為一種快速、高效的程式語言,在後端開發(fā)領(lǐng)域廣受歡迎。然而,很少有人將Go語言與前端開發(fā)聯(lián)繫起來。事實上,使用Go語言進(jìn)行前端開發(fā)不僅可以提高效率,還能為開發(fā)者帶來全新的視野。本文將探討使用Go語言進(jìn)行前端開發(fā)的可能性,並提供具體的程式碼範(fàn)例,幫助讀者更了解這一領(lǐng)域。在傳統(tǒng)的前端開發(fā)中,通常會使用JavaScript、HTML和CSS來建立使用者介面

全角英文字母轉(zhuǎn)換為半角字母的簡單教程 全角英文字母轉(zhuǎn)換為半角字母的簡單教程 Mar 25, 2024 pm 09:21 PM

使用電腦輸入英文時,有時候我們會遇到全角英文字母和半角英文字母的差異。全角英文字母是指在輸入法為中文模式下,按下Shift鍵和英文字母鍵組合輸入的字符,它們佔據(jù)一個全角字符寬度。而半角英文字母則是指在輸入法為英文模式下直接輸入的字符,它們佔據(jù)半個字符寬度。在某些情況下,我們可能需要將全角英文字母轉(zhuǎn)換為半角字母,以下是一個簡單的教學(xué):首先,打開文字編輯器或任

PHP教學(xué):如何將int型別轉(zhuǎn)換為字串 PHP教學(xué):如何將int型別轉(zhuǎn)換為字串 Mar 27, 2024 pm 06:03 PM

PHP教學(xué):如何將int型別轉(zhuǎn)換為字串在PHP中,將整型資料轉(zhuǎn)換為字串是常見的操作。本教學(xué)將介紹如何使用PHP內(nèi)建的函數(shù)將int型別轉(zhuǎn)換為字串,同時提供具體的程式碼範(fàn)例。使用強制型別轉(zhuǎn)換:在PHP中,可以使用強制型別轉(zhuǎn)換的方式將整型資料轉(zhuǎn)換為字串。這種方法非常簡單,只需要在整型資料前加上(string)即可將其轉(zhuǎn)換為字串。下面是一個簡單的範(fàn)例程式碼

See all articles