ホームページ >バックエンド開発 >PHPチュートリアル >WeChat パブリック プラットフォーム開発 (104) カスタム メニューのスキャン、写真の送信、位置情報の送信、104 scan_PHP チュートリアル

WeChat パブリック プラットフォーム開発 (104) カスタム メニューのスキャン、写真の送信、位置情報の送信、104 scan_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:17:532148ブラウズ

WeChatパブリックプラットフォーム開発(104)スキャン、写真送信、位置情報送信のカスタムメニュー、104スキャン

キーワード: WeChatパブリックプラットフォームカスタムメニュースキャンして写真と位置情報を送信
著者: Fang Times Studio
原文: http ://www.cnblogs.com/txw1958/p/weixin-menu-new-type.html

カスタマイズされたメニューは、公式アカウントのインターフェースを強化するのに役立ち、ユーザーが公式アカウントの重要な機能をより良く、より早く理解できるようになります。 WeChat には、メニューをクリックした後にスキャンを開始 (QR コード/一次元コードをサポート)、写真を送信、地理的位置を送信する機能が追加されていますが、これは開発および実装する必要があります。オリジナルカスタムメニュー開発権限を持つ公式アカウントは上記の機能を取得できます。

この WeChat パブリック プラットフォーム開発チュートリアルでは、カスタム メニューでスキャン、写真の送信、地理的位置の送信などの機能を開発する方法を紹介します。オリジナルのクリックイベントとジャンプイベントの開発については、WeChat パブリック プラットフォーム開発 (58) カスタム メニューを参照してください。


この記事は次の 2 つの部分に分かれています:

1.メニュー紹介

1. スキャンコードプッシュイベント scancode_push
ユーザーがボタンをクリックすると、スキャンコード操作が完了すると、WeChat クライアントがスキャンツールを起動し、スキャン結果が表示されます (URL の場合は、URL が入力されます)。 )、スキャンコードの結果が表示され、それを開発者に渡し、メッセージを送信できます。

2. コードをスキャンしてイベントをプッシュすると、「メッセージ受信」プロンプト ボックス scancode_waitmsg が表示されます。ユーザーがボタンをクリックすると、コード スキャン操作が完了すると、WeChat クライアントがスキャン ツールをアクティブ化します。コードスキャンが開発者に送信され、同時にスキャンツールをしまうと、「メッセージ受信中」プロンプトボックスが表示され、開発者からメッセージを受け取ることがあります。

3. 写真を撮って写真を送信するためにシステムをポップアップします pic_sysphoto

ユーザーがボタンをクリックすると、WeChat クライアントは写真撮影操作を完了した後、システムのカメラを呼び出し、撮影した写真が開発者に送信されます。同時に、システム カメラが開発者にプッシュされ、開発者からメッセージが届く場合があります。

4. 写真を撮るかアルバム pic_photo_or_album に写真を送信するためにポップアップします

ユーザーがボタンをクリックすると、WeChat クライアントはユーザーが「写真を撮る」または「携帯電話から選択」を選択するためのセレクターをポップアップします。アルバム"。ユーザーが選択した後、他の 2 つのプロセスを実行します。

5. WeChat フォト アルバムの送信者 pic_weixin をポップアップします

ユーザーがボタンをクリックすると、WeChat クライアントは選択操作を完了した後、WeChat フォト アルバムを呼び出し、選択された写真が開発者のサーバーに送信され、イベントが表示されます。受信中に開発者にプッシュされます。フォトアルバムを開くと、開発者からメッセージが届く場合があります。

6. 場所セレクター location_select をポップアップします

ユーザーがボタンをクリックすると、WeChat クライアントは場所選択ツールを起動します。選択操作が完了すると、選択した場所が開発者のサーバーに送信され、場所選択ツールが起動されます。その後、開発者からメッセージが届く場合があります。

上記の新機能は WeChat iPhone 5.4.1 以降のみをサポートしており、古いバージョンの WeChat ユーザーはクリック後に応答せず、開発者はイベント プッシュを正常に受信できません。

インターフェース通話リクエストの説明

httpリクエストメソッド:POST(httpsプロトコルを使用してください)

https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

ボタンリクエストの例は以下の通りです リーリー

パラメータの説明

パラメータが必須かどうか説明ボタンはい第一レベルのメニュー配列、番号は1~3である必要がありますサブボタンいいえ2番目のメニュー配列、番号は1~5である必要がありますタイプはいメニューの応答アクションの種類名前はいメニュータイトル、16バイト以内、サブメニュー40バイト以内キークリックとその他のクリックタイプが必要ですメニューキーの値、メッセージインターフェースのプッシュに使用、128バイト以下URLビュータイプは必須ですWeb ページのリンク。ユーザーはメニューをクリックしてリンクを開くことができます。256 バイト以下です

 

 

二、生成菜单

菜单具体的生成方法,与之前是一样的,先生成access token,再将菜单post内容提交给微信服务器,具体代码及方法可以参考 微信公众平台开发(58)自定义菜单。

生成后的效果如下如示:

 

 

三、响应菜单点击

响应菜单点击,则需要在接口文件中添加新的EventKey事件的响应,并回复相应的内容。

相关代码如下

<span> 1</span>     <span>//</span><span>接收事件消息</span>
<span> 2</span>     <span>private</span> <span>function</span> receiveEvent(<span>$object</span><span>)
</span><span> 3</span> <span>    {
</span><span> 4</span>         <span>$content</span> = ""<span>;
</span><span> 5</span>         <span>switch</span> (<span>$object</span>-><span>Event)
</span><span> 6</span> <span>        {
</span><span> 7</span>             <span>case</span> "subscribe":
<span> 8</span>                 <span>$content</span> = "欢迎关注方倍工作室 "<span>;
</span><span> 9</span>                 <span>$content</span> .= (!<span>empty</span>(<span>$object</span>->EventKey))?("\n来自二维码场景 ".<span>str_replace</span>("qrscene_","",<span>$object</span>->EventKey)):""<span>;
</span><span>10</span>                 <span>break</span><span>;
</span><span>11</span>             <span>case</span> "unsubscribe":
<span>12</span>                 <span>$content</span> = "取消关注"<span>;
</span><span>13</span>                 <span>break</span><span>;
</span><span>14</span>             <span>case</span> "CLICK":
<span>15</span>                 <span>switch</span> (<span>$object</span>-><span>EventKey)
</span><span>16</span> <span>                {
</span><span>17</span>                     <span>case</span> "COMPANY":
<span>18</span>                         <span>$content</span> = <span>array</span><span>();
</span><span>19</span>                         <span>$content</span>[] = <span>array</span>("Title"=>"方倍工作室", "Description"=>"", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958"<span>);
</span><span>20</span>                         <span>break</span><span>;
</span><span>21</span>                     <span>default</span>:
<span>22</span>                         <span>$content</span> = "点击菜单:".<span>$object</span>-><span>EventKey;
</span><span>23</span>                         <span>break</span><span>;
</span><span>24</span> <span>                }
</span><span>25</span>                 <span>break</span><span>;
</span><span>26</span>             <span>case</span> "VIEW":
<span>27</span>                 <span>$content</span> = "跳转链接 ".<span>$object</span>-><span>EventKey;
</span><span>28</span>                 <span>break</span><span>;
</span><span>29</span>             <span>case</span> "SCAN":
<span>30</span>                 <span>$content</span> = "扫描场景 ".<span>$object</span>-><span>EventKey;
</span><span>31</span>                 <span>break</span><span>;
</span><span>32</span>             <span>case</span> "LOCATION":
<span>33</span>                 <span>$content</span> = "上传位置:纬度 ".<span>$object</span>->Latitude.";经度 ".<span>$object</span>-><span>Longitude;
</span><span>34</span>                 <span>break</span><span>;
</span><span>35</span>             <span>case</span> "scancode_waitmsg":
<span>36</span>                 <span>$content</span> = "扫码带提示:类型 ".<span>$object</span>->ScanCodeInfo->ScanType." 结果:".<span>$object</span>->ScanCodeInfo-><span>ScanResult;
</span><span>37</span>                 <span>break</span><span>;
</span><span>38</span>             <span>case</span> "scancode_push":
<span>39</span>                 <span>$content</span> = "扫码推事件"<span>;
</span><span>40</span>                 <span>break</span><span>;
</span><span>41</span>             <span>case</span> "pic_sysphoto":
<span>42</span>                 <span>$content</span> = "系统拍照"<span>;
</span><span>43</span>                 <span>break</span><span>;
</span><span>44</span>             <span>case</span> "pic_weixin":
<span>45</span>                 <span>$content</span> = "相册发图:数量 ".<span>$object</span>->SendPicsInfo-><span>Count</span><span>;
</span><span>46</span>                 <span>break</span><span>;
</span><span>47</span>             <span>case</span> "pic_photo_or_album":
<span>48</span>                 <span>$content</span> = "拍照或者相册:数量 ".<span>$object</span>->SendPicsInfo-><span>Count</span><span>;
</span><span>49</span>                 <span>break</span><span>;
</span><span>50</span>             <span>case</span> "location_select":
<span>51</span>                 <span>$content</span> = "发送位置:标签 ".<span>$object</span>->SendLocationInfo-><span>Label;
</span><span>52</span>                 <span>break</span><span>;
</span><span>53</span>             <span>default</span>:
<span>54</span>                 <span>$content</span> = "receive a new event: ".<span>$object</span>->Event." \n技术支持 方倍工作室"<span>;
</span><span>55</span>                 <span>break</span><span>;
</span><span>56</span> <span>        }
</span><span>57</span> 
<span>58</span>         <span>if</span>(<span>is_array</span>(<span>$content</span><span>)){
</span><span>59</span>             <span>if</span> (<span>isset</span>(<span>$content</span>[0]['PicUrl'<span>])){
</span><span>60</span>                 <span>$result</span> = <span>$this</span>->transmitNews(<span>$object</span>, <span>$content</span><span>);
</span><span>61</span>             }<span>else</span> <span>if</span> (<span>isset</span>(<span>$content</span>['MusicUrl'<span>])){
</span><span>62</span>                 <span>$result</span> = <span>$this</span>->transmitMusic(<span>$object</span>, <span>$content</span><span>);
</span><span>63</span> <span>            }
</span><span>64</span>         }<span>else</span><span>{
</span><span>65</span>             <span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
</span><span>66</span> <span>        }
</span><span>67</span>         <span>return</span> <span>$result</span><span>;
</span><span>68</span>     }

 各项类型推送给后台的xml详解如下

scancode_waitmsg,回应该事件给用户,用户可收到消息

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075435<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>event</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>Event</span><span>></span><span><![CDATA[</span><span>scancode_waitmsg</span><span>]]></span><span></</span><span>Event</span><span>></span>
    <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_0_0</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span><</span><span>ScanCodeInfo</span><span>></span>
        <span><</span><span>ScanType</span><span>></span><span><![CDATA[</span><span>qrcode</span><span>]]></span><span></</span><span>ScanType</span><span>></span>
        <span><</span><span>ScanResult</span><span>></span><span><![CDATA[</span><span>http://weixin.qq.com/r/pUNnf4HEX9wgrcUc9xa3</span><span>]]></span><span></</span><span>ScanResult</span><span>></span>
        <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_0_0</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span></</span><span>ScanCodeInfo</span><span>></span>
<span></</span><span>xml</span><span>></span>

scancode_push,回应该事件给用户,用户不能收到消息

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075451<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>event</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>Event</span><span>></span><span><![CDATA[</span><span>scancode_push</span><span>]]></span><span></</span><span>Event</span><span>></span>
    <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_0_1</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span><</span><span>ScanCodeInfo</span><span>></span>
        <span><</span><span>ScanType</span><span>></span><span><![CDATA[</span><span>qrcode</span><span>]]></span><span></</span><span>ScanType</span><span>></span>
        <span><</span><span>ScanResult</span><span>></span><span><![CDATA[</span><span>http://weixin.qq.com/r/pUNnf4HEX9wgrcUc9xa3</span><span>]]></span><span></</span><span>ScanResult</span><span>></span>
        <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_0_1</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span></</span><span>ScanCodeInfo</span><span>></span>
<span></</span><span>xml</span><span>></span>

pic_weixin ,下面是一次推送3张相片时的数据

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075552<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>event</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>Event</span><span>></span><span><![CDATA[</span><span>pic_weixin</span><span>]]></span><span></</span><span>Event</span><span>></span>
    <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_1_2</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span><</span><span>SendPicsInfo</span><span>></span>
        <span><</span><span>Count</span><span>></span>3<span></</span><span>Count</span><span>></span>
        <span><</span><span>PicList</span><span>></span>
            <span><</span><span>item</span><span>></span>
                <span><</span><span>PicMd5Sum</span><span>></span><span><![CDATA[</span><span>a6ab74b73a298f49f6fc66f41f88d3c7</span><span>]]></span><span></</span><span>PicMd5Sum</span><span>></span>
            <span></</span><span>item</span><span>></span>
            <span><</span><span>item</span><span>></span>
                <span><</span><span>PicMd5Sum</span><span>></span><span><![CDATA[</span><span>5b9aea2b3683c5c21aaf3629739cafd9</span><span>]]></span><span></</span><span>PicMd5Sum</span><span>></span>
            <span></</span><span>item</span><span>></span>
            <span><</span><span>item</span><span>></span>
                <span><</span><span>PicMd5Sum</span><span>></span><span><![CDATA[</span><span>2325ff3f39705ac987d3e0660906791d</span><span>]]></span><span></</span><span>PicMd5Sum</span><span>></span>
            <span></</span><span>item</span><span>></span>
        <span></</span><span>PicList</span><span>></span>
        <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_1_2</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span></</span><span>SendPicsInfo</span><span>></span>
<span></</span><span>xml</span><span>></span>

回应上述消息,用户收不到,但微信会继续推送3个图片消息给接口

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075562<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>image</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>PicUrl</span><span>></span><span><![CDATA[</span><span>http://mmbiz.qpic.cn/mmbiz/qOTIrRtMKFxZQo3cQ6vYxmfteo0fw2Y00MuuFS6OjlNvTkx0nBQJibjjafQMf4dCtJwyMeP5e3SQCuJpcoJdb8Q/0</span><span>]]></span><span></</span><span>PicUrl</span><span>></span>
    <span><</span><span>MsgId</span><span>></span>6064818358471506877<span></</span><span>MsgId</span><span>></span>
    <span><</span><span>MediaId</span><span>></span><span><![CDATA[</span><span>AM8Gbiu7S2vTIMS2l9zNCWiMCpeM8wccmKdFxmstHiuAybCbB-08dTQJN40cCIBD</span><span>]]></span><span></</span><span>MediaId</span><span>></span>
<span></</span><span>xml</span><span>></span>
<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075564<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>image</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>PicUrl</span><span>></span><span><![CDATA[</span><span>http://mmbiz.qpic.cn/mmbiz/qOTIrRtMKFxZQo3cQ6vYxmfteo0fw2Y0ellMniarWto4zL0pWKhr6a0FSARDeXprSgd0JmgU0YQo2iagGsYc1iaLA/0</span><span>]]></span><span></</span><span>PicUrl</span><span>></span>
    <span><</span><span>MsgId</span><span>></span>6064818367061441471<span></</span><span>MsgId</span><span>></span>
    <span><</span><span>MediaId</span><span>></span><span><![CDATA[</span><span>2CJKZ2mft-5hWEkVcVmnKwyvp3y59Uzv7YdpBsnGIyTlkMNb0ytU4oimTgimBGyP</span><span>]]></span><span></</span><span>MediaId</span><span>></span>
<span></</span><span>xml</span><span>></span>
<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075567<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>image</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>PicUrl</span><span>></span><span><![CDATA[</span><span>http://mmbiz.qpic.cn/mmbiz/qOTIrRtMKFxZQo3cQ6vYxmfteo0fw2Y0mwQoENttnmYAz0VTicY3xkO0lhn9mE5r3FB4cF04kia50riajcjY1qvzA/0</span><span>]]></span><span></</span><span>PicUrl</span><span>></span>
    <span><</span><span>MsgId</span><span>></span>6064818379946343361<span></</span><span>MsgId</span><span>></span>
    <span><</span><span>MediaId</span><span>></span><span><![CDATA[</span><span>VICm1-y8w_MmdpcLYWP0u12HVXrWdhm3c3tdq1PTsbiFFgH6YOcmmIEbZ27z-Qcl</span><span>]]></span><span></</span><span>MediaId</span><span>></span>
<span></</span><span>xml</span><span>></span>

上述多个图片消息,后台收到都能进行单独回应,用户可以收到响应消息。

pic_photo_or_album,方式和pic_weixin 一样,先推送菜单事件,再推送图片消息

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075614<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>event</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>Event</span><span>></span><span><![CDATA[</span><span>pic_photo_or_album</span><span>]]></span><span></</span><span>Event</span><span>></span>
    <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_1_1</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span><</span><span>SendPicsInfo</span><span>></span>
        <span><</span><span>Count</span><span>></span>1<span></</span><span>Count</span><span>></span>
        <span><</span><span>PicList</span><span>></span>
            <span><</span><span>item</span><span>></span>
                <span><</span><span>PicMd5Sum</span><span>></span><span><![CDATA[</span><span>58f4989164b2a432889e64fa81632152</span><span>]]></span><span></</span><span>PicMd5Sum</span><span>></span>
            <span></</span><span>item</span><span>></span>
        <span></</span><span>PicList</span><span>></span>
        <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_1_1</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span></</span><span>SendPicsInfo</span><span>></span>
<span></</span><span>xml</span><span>></span>
<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075618<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>image</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>PicUrl</span><span>></span><span><![CDATA[</span><span>http://mmbiz.qpic.cn/mmbiz/qOTIrRtMKFxZQo3cQ6vYxmfteo0fw2Y0fwSdF54rribCj9zqDG0wVDsiasKuUC8gskbuZmX43a1hs9esySIvmrqA/0</span><span>]]></span><span></</span><span>PicUrl</span><span>></span>
    <span><</span><span>MsgId</span><span>></span>6064818598989675467<span></</span><span>MsgId</span><span>></span>
    <span><</span><span>MediaId</span><span>></span><span><![CDATA[</span><span>Jh7Bsjaodmz-Dc_Hdz_wRzY3RiFxNvA4JHpUWRNRCIgps19ANsDFIOYOUV1dIVYV</span><span>]]></span><span></</span><span>MediaId</span><span>></span>
<span></</span><span>xml</span><span>></span>

 pic_sysphoto 这个后台其实收不到该菜单的消息,点击它后,调用的是手机里面的照相机功能,而照相以后再发过来时,就收到的是一个图片消息了

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412135923<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>image</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>PicUrl</span><span>></span><span><![CDATA[</span><span>http://mmbiz.qpic.cn/mmbiz/qOTIrRtMKFxGzYCchrNiczZ9aCd1fgCEWbicHGvmaz1d7VZOSMqoLB4RL69rK2Fos6fSM4FJRkLtiajpe32ibkicw1A/0</span><span>]]></span><span></</span><span>PicUrl</span><span>></span>
    <span><</span><span>MsgId</span><span>></span>6065077606992462276<span></</span><span>MsgId</span><span>></span>
    <span><</span><span>MediaId</span><span>></span><span><![CDATA[</span><span>PqRRUPLhMc27EG5F4cCtTozBsin7SY8kPRRuAF-CwPl5MzR5ewE5oji0FhGTDl6_</span><span>]]></span><span></</span><span>MediaId</span><span>></span>
<span></</span><span>xml</span><span>></span>

location_select 将会调起发送位置功能,菜单的响应用户收不到,在用户发送位置之后,会再推送一个地理位置消息功能给用户

<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075681<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>event</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>Event</span><span>></span><span><![CDATA[</span><span>location_select</span><span>]]></span><span></</span><span>Event</span><span>></span>
    <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_2_0</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span><</span><span>SendLocationInfo</span><span>></span>
        <span><</span><span>Location_X</span><span>></span><span><![CDATA[</span><span>22.538145</span><span>]]></span><span></</span><span>Location_X</span><span>></span>
        <span><</span><span>Location_Y</span><span>></span><span><![CDATA[</span><span>113.952298</span><span>]]></span><span></</span><span>Location_Y</span><span>></span>
        <span><</span><span>Scale</span><span>></span><span><![CDATA[</span><span>13</span><span>]]></span><span></</span><span>Scale</span><span>></span>
        <span><</span><span>Label</span><span>></span><span><![CDATA[</span><span>深圳市南山区高新南一道9号</span><span>]]></span><span></</span><span>Label</span><span>></span>
        <span><</span><span>Poiname</span><span>></span><span><![CDATA[]]></span><span></</span><span>Poiname</span><span>></span>
        <span><</span><span>EventKey</span><span>></span><span><![CDATA[</span><span>rselfmenu_2_0</span><span>]]></span><span></</span><span>EventKey</span><span>></span>
    <span></</span><span>SendLocationInfo</span><span>></span>
<span></</span><span>xml</span><span>></span>
<span><</span><span>xml</span><span>></span>
    <span><</span><span>ToUserName</span><span>></span><span><![CDATA[</span><span>gh_82479813ed64</span><span>]]></span><span></</span><span>ToUserName</span><span>></span>
    <span><</span><span>FromUserName</span><span>></span><span><![CDATA[</span><span>ojpX_jig-gyi3_Q9fHXQ4rdHniQs</span><span>]]></span><span></</span><span>FromUserName</span><span>></span>
    <span><</span><span>CreateTime</span><span>></span>1412075681<span></</span><span>CreateTime</span><span>></span>
    <span><</span><span>MsgType</span><span>></span><span><![CDATA[</span><span>location</span><span>]]></span><span></</span><span>MsgType</span><span>></span>
    <span><</span><span>Location_X</span><span>></span>22.538145<span></</span><span>Location_X</span><span>></span>
    <span><</span><span>Location_Y</span><span>></span>113.952298<span></</span><span>Location_Y</span><span>></span>
    <span><</span><span>Scale</span><span>></span>13<span></</span><span>Scale</span><span>></span>
    <span><</span><span>Label</span><span>></span><span><![CDATA[</span><span>深圳市南山区高新南一道9号飞亚达科技大厦方倍工作室</span><span>]]></span><span></</span><span>Label</span><span>></span>
    <span><</span><span>MsgId</span><span>></span>6064818869572615123<span></</span><span>MsgId</span><span>></span>
<span></</span><span>xml</span><span>></span>

 

四、使用场景

4.1 产品二维码检测真伪

 使用scancode_waitmsg事件,可以获得扫描结果,再与现有结果进行比对,从而可以达到检测二维码真实性的功能。

一个检测代码如下所示:

<span>1</span> <span>case</span> "scancode_waitmsg":
<span>2</span>     <span>if</span> (<span>$object</span>->ScanCodeInfo->ScanResult == "http://mm.wanggou.com/item/jd2.shtml?sku=11447844"<span>){
</span><span>3</span>         <span>$content</span> = <span>array</span><span>();
</span><span>4</span>         <span>$content</span>[] = <span>array</span>("Title"=>"该产品检测结果为正品", "Description"=>"书名:微信公众平台开发最佳实践\n定价:¥69.00\n作者:方倍工作室\n\n点击&ldquo;查看全文&rdquo;,使用微信支付在线购买", "PicUrl"=>"http://images.cnitblog.com/i/340216/201404/301756448922305.jpg", "Url" =>"http://mm.wanggou.com/item/jd2.shtml?sku=11447844"<span>);
</span><span>5</span>     }<span>else</span><span>{
</span><span>6</span>         <span>$content</span> = "扫码带提示:类型 ".<span>$object</span>->ScanCodeInfo->ScanType." 结果:".<span>$object</span>->ScanCodeInfo-><span>ScanResult;
</span><span>7</span> <span>    }
</span><span>8</span>     <span>break</span>;

当用户使用scancode_waitmsg菜单扫描以下二维码时,将出现检测结果,结果为真时,还可以再进一步,让用户进入购买

4.2 快递进度查询

基于上面同样的原理,可以实现扫描快递条形码,就查询快递进度的功能。

一个快递的单号如下

扫描以后,返回结果为 

扫码带提示:类型 qrcode/CODE_39 结果:762480955342

正确识别了其中的快递单号

4.3 导航/附近/地图

location_select事件比之前的直接发送地理位置消息更少了一步,比如下面的

微信公众平台怎做自定义菜单

WeChat はカスタム メニューを開始し、多くの人々に大きな期待を与えていますが、現在、ほとんどのユーザーは実用性よりもフォームの方が重要であり、入力を通じてコン​​テンツを取得することに慣れています。メニューの使用に関しては、カスタマイズにあまりこだわる必要はありません。優れたサービスが基本です。最近、WeChat は内部テスト用のカスタム メニューを静かに開始しました。これが再び無数の人々の注目を集めました。1 つは、内部テストを申請するためのフォームに記入することです。 、1つ目はカスタムメニューのインターフェースを勉強すること、3つ目はカスタムメニューに関するさまざまな分析記事を書くこと、4つ目はさまざまなコネを頼りにできるだけ早く社内テストの資格を取得することです。 Ztalkも申請するには企業情報を取得する必要がありますが、セルフメディアなのでおそらく利用できないので、少し残念ですが、落ち着いてください
... 拡大
WeChatはカスタムメニューを開始しました。多くの人が高い期待を抱いていますが、現在では、ほとんどのユーザーは実用性よりもフォームの方が重要なので、カスタムの使用にあまりこだわる必要はありません。良いサービスは基本です。最近、WeChat は内部テスト用のカスタム メニューを静かに開始しました。これが再び無数の人々の注目を集めました。1 つは、内部テストを申請するためのフォームに記入することです。 、1つ目はカスタムメニューのインターフェースを勉強すること、3つ目はカスタムメニューに関するさまざまな分析記事を書くこと、4つ目はさまざまなコネを頼りにできるだけ早く社内テストの資格を取得することです。 Ztalkも応募するには会社情報を取らなければなりませんが、セルフメディアなのでおそらく入手できないので、少しがっかりしますが、落ち着いてしっかり考えれば落ち込むことはありません。実際、このインターフェイスを入手したらどうなるでしょうか? パブリック アカウントは本当にメニューをカスタマイズする必要があるのでしょうか?カスタムメニューとは具体的に何ですか?皆さん、「ZTalk」を購読することの本質は何ですか?カスタムメニューとは具体的に何ですか?多くの人はカスタム メニューに大きな期待を寄せており、正式にリリースされる新しいものは強力なマーケティング ツールに違いないと考えていますが、実際には機能に焦点を当てるためのショートカット キーにすぎず、すべての人がそれを必要とするわけではありません。以前、WeChat パブリック アカウントのユーザー サービス取得パスが長すぎると述べた記事を覚えています。ユーザーはまず入力するパブリック アカウントを見つけてから、記事をクリックするか、クエリを通じて記事を取得して、クリックして WeChat 記事テンプレートに入力する必要があります。そしてクリックして元のテキストを読んでください。 最終的にサービスに到達するには、つまり、ユーザーは必要なものを入手するために 3 ~ 4 つのステップ、またはそれ以上のステップを経る必要がある場合があります。もちろん、企業によっては、カスタム メニューを使用すると、目立つように表示する必要があるコンテンツをメニューに直接配置でき、このプロセスを短縮できます。たとえば、電子商取引の販売者は、市場に新製品を配置するためのメニュー バーを設定し、その後、ユーザーがクリックした後に直接購入ページに入ることができるように設定することもできます。各製品カテゴリに直接移動するための製品カテゴリを配置するメニュー バー。たとえば、ホテル チェーンは、最新のプロモーションを表示するメニュー、ホテルの紹介と部屋の表示を表示する別のメニュー、地理的位置を送信して近くのホテルをクエリするための別のメニュー バーを設定できます。例えばデパートでは、最新の割引やキャンペーン情報を表示するメニュー、フロアカウンターの商品紹介を表示するメニュー、店舗の住所や電話番号、会員サービスなどの情報サービスを表示するメニューを設けることができます。 。カスタム メニューの主な機能は、ユーザーが情報取得の学習コストを削減し、企業の公開アカウントをより直感的にし、情報送信を容易にすることです。実際、このメニューを使用すると、WeChat の公開アカウントを 1 つのアカウントとして扱うことができます。 Webサイトを閲覧するような感覚で利用できます。カスタム メニューはパブリック アカウントには必要ない機能です。まず、このカスタム メニューが登場する前から、パブリック アカウントはこれらの機能を十分に完成させることができました。フレンドリーで明確、インタラクティブなウェルカム ワードと使用方法のヘルプをデザインし、キーワード応答を使用して、対応するコンテンツをテキストまたは複数のグラフィックの形式でユーザーに表示することで、カスタム メニューが追加され、内容に注意を払うだけで済みます。もちろん、将来的にはカスタム メニュー用の新しいインターフェイスが追加される予定ですが、現時点では、リンクを指すだけではあまり役に立ちません。ゲームまたは電子商取引の H5 ページ。次に、カスタム メニューはパブリック アカウントの入力ボックスをカバーします。ユーザーがテキストまたは音声を入力して操作する必要がある場合、ボタンをクリックして切り替える必要があるため、一部のパブリック アカウントでは追加の手順が必要になります。コンテンツ閲覧情報クエリに焦点を当てると、カスタム メニューが自動的にメニューを定義することは便利ですが、ユーザー インタラクションやサービスに重点を置く公開アカウントは持たないほうがよいでしょう。最後に、カスタム メニューは現在、使用する前にインターフェイスを通じて開発する必要があります。本来、このメニューはバックエンドに作成されます... 残りの全文 >>

WeChat パブリック プラットフォームでは、開発プラットフォームでカスタム メニューを作成するために WeChat ID 認証が必要ですか?

現状から判断すると、サービスアカウント、サブスクリプションアカウントともに認証後に独自のカスタムメニューを申請することが可能ですが、一部の高度な開発機能はサービスアカウントにのみ反映可能であり、サブスクリプションアカウントはまだ実装できておりません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/887683.html技術記事 WeChat パブリック プラットフォームの開発 (104) スキャン、写真の送信、地理的位置の送信のためのカスタム メニュー、104 のスキャン キーワード: WeChat パブリック プラットフォームのスキャン、写真の送信、地理的位置の送信のためのカスタム メニュー...


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。