<small id="c5gj0"></small>
    <ol id="c5gj0"><b id="c5gj0"></b></ol><i id="c5gj0"></i>

  1. <nobr id="c5gj0"><rp id="c5gj0"></rp></nobr>

          EasyWechat 3.x 小程序客服消息自動回復

          作者:辰風沐陽 閱讀:1866 發布時間:2021-05-21 上次更新:2021-05-21

          1. 小程序消息推送簡介


          啟用小程序的消息推送后小程序收到的消息將推送至開發者的設置的服務器地址

          例如:用戶關注公眾號、用戶給小程序的客服會話發送消息

          EasyWechat 3.x : https://easywechat.com/docs/3.x/overview

          更多內容參考微信官方文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/message-push.html

          2. 開啟小程序消息推送


          登錄小程序管理平臺,找到 開發管理-開發設置 中的消息推送

          消息加密方式設置為明文模式, 數據格式設置為 JSON

          3. 小程序消息推送接入驗證


          在小程序管理平臺設置消息推送配置時,點擊 提交 可能會出現: Token校驗失敗,請檢查確認

          原因分析:點擊提交,微信服務器會請求填寫的 URL(服務器地址),并攜帶一些參數進行接入驗證

          我們需要接收傳遞的參數進行加密,然后做簽名校驗,最后輸出 echostr 參數的值,這樣才能驗證成功

          1. function checkSignature(string $token)
          2. {
          3. $nonce = $_GET["nonce"] ?? '';
          4. $signature = $_GET["signature"] ?? '';
          5. $timestamp = $_GET["timestamp"] ?? '';
          6. $tmpArr = array($token, $timestamp, $nonce);
          7. sort($tmpArr, SORT_STRING);
          8. $tmpStr = implode('', $tmpArr);
          9. $tmpStr = trim(sha1($tmpStr));
          10. if (empty($token)) die('未設置消息推送token令牌');
          11. if (empty($signature) || empty($tmpStr) || empty($nonce)) die('非法請求?。?!');
          12. if ($tmpStr != $signature) die('簽名驗證錯誤');
          13. isset($_GET['echostr']) ? die($_GET['echostr']) : '';
          14. }

          4. 客服會話自動回復


          文本消息

          1. $message = new \EasyWeChat\Message\Text(['content' => '未設置客服二維碼']);

          圖片消息

          1. $image = '';//本地圖片絕對路徑
          2. $result = $app->material_temporary->uploadImage($image);// 上傳臨時素材
          3. $message = new \EasyWeChat\Message\Image(['media_id' => $result['media_id']]);
          1. $token = '';
          2. checkSignature($token);
          3. $message = json_decode(file_get_contents('php://input'), true);
          4. $app = \app\lib\EasyWechat::getInstance()->app;
          5. switch ($message['MsgType']) {
          6. case 'miniprogrampage': // 小程序卡片
          7. $openid = $message['FromUserName'];
          8. // 自動回復圖片
          9. $image = getValue('kefu_qrcode');
          10. if ($image) {
          11. // 上傳臨時素材
          12. $result = $app->material_temporary->uploadImage($image);
          13. $content = new Image(['media_id' => $result['media_id']]);
          14. } else {
          15. $content = new Text(['content' => '未設置客服二維碼']);
          16. }
          17. // 發送消息
          18. $app->staff->message($content)->to($openid)->send();
          19. break;
          20. }
          21. $response = $app->server->serve();
          22. $response->send();

          標簽: EasyWeChat

          亚洲毛片不卡av在线播放一区|一级做a爰片久久毛|十八辽一亚洲欧美中文字幕|voyeur精品偷窥|亚洲mv国产mv在线mv综合试看
          <small id="c5gj0"></small>
            <ol id="c5gj0"><b id="c5gj0"></b></ol><i id="c5gj0"></i>

          1. <nobr id="c5gj0"><rp id="c5gj0"></rp></nobr>