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

WeChat applet development documentation / 微信小程序API 接入指引

微信小程序API 接入指引

接入概述


接入微信小程序消息服務,開發(fā)者需要按照如下步驟完成:

1、填寫服務器配置

2、驗證服務器地址的有效性

3、依據(jù)接口文檔實現(xiàn)業(yè)務邏輯

下面詳細介紹這3個步驟。

第一步:填寫服務器配置

登錄微信小程序官網(wǎng)后,在小程序官網(wǎng)的“設置-消息服務器”頁面,管理員掃碼啟用消息服務,填寫服務器地址(URL)、Token 和 EncodingAESKey。

URL是開發(fā)者用來接收微信消息和事件的接口URL。Token可由開發(fā)者可以任意填寫,用作生成簽名(該Token會和接口URL中包含的Token進行比對,從而驗證安全性)。EncodingAESKey由開發(fā)者手動填寫或隨機生成,將用作消息體加解密密鑰。

同時,開發(fā)者可選擇消息加解密方式:明文模式、兼容模式和安全模式。可以選擇消息數(shù)據(jù)格式:XML格式或JSON格式。加密方式的默認狀態(tài)是明問格式,而數(shù)據(jù)格式的默認狀態(tài)是XML格式。

模式的選擇與服務器配置在提交后都會立即生效,請開發(fā)者謹慎填寫及選擇。切換加密方式和數(shù)據(jù)格式需要提前配置好相關代碼,詳情請參考消息加解密說明。

1482806614846296.png

第二步:驗證消息的確來自微信服務器

開發(fā)者提交信息后,微信服務器將發(fā)送GET請求到填寫的服務器地址URL上,GET請求攜帶參數(shù)如下表所示:

參數(shù)描述
signature微信加密簽名,signature結合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。
timestamp時間戳
nonce隨機數(shù)
echostr隨機字符串

開發(fā)者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務器,請原樣返回echostr參數(shù)內容,則接入生效,成為開發(fā)者成功,否則接入失敗。加密/校驗流程如下:1、將token、timestamp、nonce三個參數(shù)進行字典序排序2、將三個參數(shù)字符串拼接成一個字符串進行sha1加密3、開發(fā)者獲得加密后的字符串可與signature對比,標識該請求來源于微信

檢驗signature的PHP示例代碼:

private function checkSignature()
{
    $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 ){
        return true;
    }else{
        return false;
    }
}

第三步:依據(jù)接口文檔實現(xiàn)業(yè)務邏輯

驗證URL有效性成功后即接入生效,成為開發(fā)者。至此用戶向小程序客服發(fā)送消息、或者進入會話等情況時,開發(fā)者填寫的服務器配置URL將得到微信服務器推送過來的消息和事件,開發(fā)者可以依據(jù)自身業(yè)務邏輯進行響應。

另請注意,開發(fā)者所填寫的URL必須以 http:// 或 https:// 開頭,分別支持80端口和443端口。