ホームページ  >  記事  >  バックエンド開発  >  PHP は WeChat 開発用のカスタム メニューを実装します

PHP は WeChat 開発用のカスタム メニューを実装します

墨辰丷
墨辰丷オリジナル
2018-05-30 16:24:112177ブラウズ

この記事では、主に PHP WeChat 開発のカスタム メニュー実装コードを詳細に紹介します。興味のある友人は参照してください。

編集モードと開発モードの間には競合があります。したがって、WeChat 公式アカウントの開発モードを有効にすると、これらのメニューは表示されなくなります。ただし、現在、個人サブスクリプション アカウントではカスタム メニューなどの高度な開発者モードを使用できませんが、テスト アカウントを通じてテストし、コードをサービス アカウントに移動することはできます。

カスタム タイプには以下が含まれます:

1. クリック: クリック プッシュ イベント
• ユーザーがクリック タイプ ボタンをクリックした後、WeChat サーバーはメッセージ インターフェイスを通じてメッセージ タイプ イベント構造を開発者にプッシュします (参照)メッセージ インターフェイス ガイド) に移動し、開発者が入力したキー値をボタンに表示します。

2. ユーザーの後に、ビュー タイプ ボタンをクリックすると、WeChat クライアントは、開発者がボタンに入力した Web ページ URL を開きます。これを Web ページ認証インターフェイスと組み合わせて、基本的なユーザー情報を取得することができます。

3. scancode_push: スキャン コード プッシュ イベント

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

4. scancode_waitmsg:

コードをスキャンしてイベントをプッシュし、「メッセージ受信」プロンプトボックスをポップアップ表示します• ユーザーがボタンをクリックすると、コードのスキャン操作が完了すると、WeChat クライアントがスキャンツールを起動します。 、スキャンされたコードが開発者に送信され、同時にスキャン ツールが保管され、「メッセージ受信中」プロンプト ボックスが表示されます。

カスタマイズされたタイプには以下が含まれます:


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

6. pic_photo_or_album: 写真を撮るかアルバムから写真を投稿するためのポップアップ。ユーザーが「写真を撮る」または「」を選択するためのセレクターが表示されます。携帯電話のアルバムから選択してください。」ユーザーが選択すると、他の 2 つのプロセスが実行されます。

7. pic_weixin: ユーザーがポップアップ WeChat フォト アルバム送信者のボタンをクリックすると、選択操作が完了すると、WeChat クライアントが WeChat フォト アルバムを呼び出します。開発者のサーバーにイベントをプッシュし、フォト アルバムを閉じます。後で開発者からメッセージを受け取る場合があります。 コードが提供されています。コードをサーバーにアップロードし、公式アカウントを再フォローするだけで、開発モードでカスタムメニューが表示されます


$appid = '微信公众号的appid'; 
$appsecret = '微信公众号的appsecret'; 
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret=$appsecret"; 
$output = https_request($url); 
$jsoninfo = json_decode($output,true); 
$access_token = $jsoninfo["access_token"]; 
$jsonmenu = '{ 
  "button":[ 
  { 
   "name":"学校系统", 
   "sub_button":[ 
    { 
     "type":"click", 
     "name":"课程表", 
     "key":"课程表" 
    }, 
    { 
     "type":"click", 
     "name":"个人信息", 
     "key":"个人信息" 
    }, 
    { 
     "type":"click", 
     "name":"平时成绩", 
     "key":"平时成绩" 
    }, 
    { 
     "type":"click", 
     "name":"奖惩记录", 
     "key":"奖惩记录" 
    } 
   ] 
  }, 
  { 
   "name":"技术分享", 
   "sub_button":[ 
    { 
     "type":"click", 
     "name":"移动WEB开发", 
     "key":"移动WEB开发" 
    }, 
    { 
     "type":"click", 
     "name":"J2EE框架", 
     "key":"J2EE框架" 
    }, 
    { 
     "type":"click", 
     "name":"Android开发", 
     "key":"Android开发" 
    }, 
    { 
     "type":"click", 
     "name":"PHP框架", 
     "key":"PHP框架" 
    } 
   ] 
  },{ 
   "name":"技术支持", 
   "sub_button":[ 
    { 
     "type":"click", 
     "name":"在线客服", 
     "key":"在线客服" 
    }, 
    { 
     "type":"click", 
     "name":"技术分享", 
     "key":"技术分享" 
    }, 
    { 
     "type":"view", 
     "name":"天气预报", 
     "url":"http://m.hao123.com/a/tianqi" 
    } 
   ] 
  } 
 
 ] 
 }'; 
 
 
 //创建菜单实现 
 $url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$access_token; 
 $result = https_request($url,$jsonmenu); 
 var_dump($result); 
 function https_request($url,$data = null){ 
  $curl = curl_init(); 
  curl_setopt($curl,CURLOPT_URL,$url); 
  curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0); 
  curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0); 
  if(!empty($data)){ 
   curl_setopt($curl,CURLOPT_POST,1); 
   curl_setopt($curl,CURLOPT_POSTFIELDS,$data); 
  } 
  curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); 
  $output = curl_exec($curl); 
  curl_close($curl); 
  return $output; 
 }

上記がこの記事の全内容です。皆様の学習に役立てば幸いです。

関連推奨事項:

PHPはSina IPライブラリに基づいてIP詳細アドレスを取得するメソッドを実装します


PHPの実践的な正規表現のまとめ


PHPは例外処理クラスのメソッドを実装します


以上がPHP は WeChat 開発用のカスタム メニューを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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