微信小プログラムカスタマーサービスメッセージ機能php

4339 ワード

プロジェクトの説明:
本プロジェクトは簡単な微信小プログラムのカスタマーサービス情報類であり、カスタマーサービス情報関連機能を実現する.公式に与えられたphpの例が間違っているので、ここではツッコミを入れません.
この例では、開発者サーバを採用し、クラウド呼び出しの形式を採用していません.
公式ドキュメント:
カスタマーサービス情報ガイド
カスタマーサービス
適用シーン
顧客メッセージフローチャート
手順の使用
1、カスタマーサービスのニュースを開く
https://mp.weixin.qq.com/wxam...
ログイン→開発→開発設定→メッセージ送信
「スタート」をクリック
URL(サーバアドレス):開発者サーバに対応するurlを記入します.https://xxxxxx/demo.php
Token(トークン):これは勝手に記入して、3-32ビットを要求します.
EncodingAESKey(メッセージ暗号化キー):これは「ランダム生成」をクリックします.
メッセージ暗号化方式:必要に応じて選択でき、この例では「互換モード」を選択します.
データフォーマット:jsonはxmlに比べて圧縮効率と伝送効率が優れており、ここではjsonを選択します.
注意:以上の操作が完了したら提出しないで、開発者サービス側を構成してから提出します.
2、開発者サービスを配置する
signatureのPHPサンプルコードを確認します.
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $echostr=$_GET["echostr"];

    $token = TOKEN;//              token
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );

    if ($tmpStr == $signature ) {
        return $echostr;
    } else {
        return false;
    }

公式の例では$echostrは返されません.これは開発者のサービス側が成功したかどうかを検証する鍵であり、返さなければなりません.
3、メッセージプッシュ構成の発行
エラーが報告されていない場合は、構成が成功したことを証明します.
4、開発者サービス側demo
 $postArr['FromUserName']];

$accessToken = $xcxmsg->getAccessToken();
$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $accessToken;

switch ($postArr['MsgType']) {
    case "text":
        //           ,    
        //      ,         ,    
        $data['msgtype'] = "link";
        $data['link'] = [
            "title" => "hello",
            "description" => "Is Really A Happy Day",
            "url" => "LINK_URL",//  url
            "thumb_url" =>"THUMB_URL" //  url
        ];
        $json = json_encode($data, JSON_UNESCAPED_UNICODE);
        $xcxmsg->curl($json, $url);
        break;
    case "image": //         ,    

        //        ,         ,    
        $data['msgtype'] = "image";
        $data['image'] = ['media_id' => 'media_id ']; //    $xcxmsg->upload($accessToken)    media_id
        $json = json_encode($data, JSON_UNESCAPED_UNICODE);
        $xcxmsg->curl($json, $url);
    case "miniprogrampage":
        //          ,    
        //          ,         ,    
        $data['msgtype'] = "miniprogrampage";
        $data['miniprogrampage'] = [
            "title" => "title",
            "pagepath" => "pages/index/index",
            "thumb_media_id" => "media_id "];//    $xcxmsg->upload($accessToken)    media_id
        $json = json_encode($data, JSON_UNESCAPED_UNICODE);
        $xcxmsg->curl($json, $url);
        break;
    case "event":
        //         
        //        
        $data['msgtype'] = "text";
        $data['text'] = [
            "content" => "Hello World",
            ];
        $json = json_encode($data, JSON_UNESCAPED_UNICODE);
        $xcxmsg->curl($json, $url);
        break;
    default:
}

5、ウィジェットフロントエンド
必要な場所に次のコードを追加します.

微信開発ツールのプレビューで、QRコードを生成し、スキャンテストに成功したかどうか.
プロジェクトのアドレス:https://github.com/guyan0319/...
使用中に何か問題があったら、指摘に返事してください.ありがとうございます.