이 글은 주로 PHP WeChat 개발의 사용자 정의 메뉴 구현 코드를 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.
편집 모드와 개발 모드 사이에 충돌이 있습니다. 따라서 WeChat 공식 계정의 개발 모드를 활성화한 후에는 해당 메뉴를 볼 수 없습니다. 하지만 이제 개인 구독 계정은 사용자 정의 메뉴와 같은 고급 개발자 모드를 사용할 수 없지만 테스트 계정을 통해 테스트한 후 코드를 서비스 계정으로 이동할 수 있습니다.
사용자 정의 유형에는 다음이 포함됩니다.
1. 클릭: 클릭 푸시 이벤트
• 사용자가 클릭 유형 버튼을 클릭하면 WeChat 서버는 메시지 인터페이스를 통해 메시지 유형 이벤트 구조를 개발자에게 푸시합니다(참조 메시지 인터페이스 가이드)에 개발자가 입력한 키 값을 가져오면 개발자는 사용자 정의된 키 값을 통해 사용자와 상호 작용할 수 있습니다.
• 보기: 점프 URL
• 보기 유형 버튼인 WeChat을 클릭하면 클라이언트는 개발자가 버튼에 입력한 웹페이지 URL을 엽니다. 이는 웹페이지 인증 인터페이스와 결합하여 기본 사용자 정보를 얻기 위해 기본 사용자 정보를 얻을 수 있습니다.
3. scancode_push: 스캔 코드 푸시 이벤트
• 사용자가 버튼을 클릭하면 WeChat 클라이언트가 스캔 도구를 실행하고, 스캔 코드 작업이 완료된 후 스캔 결과가 표시됩니다. URL, URL이 입력됩니다), QR 코드 스캔 결과는 메시지를 보낼 수 있는 개발자에게 전송됩니다.
4. scancode_waitmsg: 코드를 스캔하여 이벤트를 푸시하고 "메시지 수신" 프롬프트 상자를 팝업하세요
• 사용자가 버튼을 클릭하면 WeChat 클라이언트가 코드 스캔 작업을 완료한 후 활성화됩니다. , 스캔된 코드는 개발자에게 전송됩니다. 동시에 스캔 도구를 치우고 "메시지 수신" 프롬프트 상자가 팝업됩니다. 그러면 개발자로부터 메시지를 받을 수 있습니다.
사용자 정의 유형에는 다음이 포함됩니다.
5. pic_sysphoto: 사용자가 버튼을 클릭하면 시스템이 팝업되어 사진을 보냅니다. 사진 작업이 완료되면 사진이 찍히게 됩니다
개발자에게 이벤트를 보내고 동시에 시스템 카메라를 닫을 수 있으며 나중에 개발자로부터 메시지를 받을 수도 있습니다.
6. pic_photo_or_album: 사용자가 버튼을 클릭하면 WeChat 클라이언트는 사용자가 "사진 찍기" 또는 "를 선택할 수 있는 선택기를 표시합니다. 휴대폰 앨범에서 선택하세요." 사용자가 선택한 후에는 다른 두 가지 프로세스를 거치게 됩니다.
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는 WeChat 개발을 위한 사용자 정의 메뉴를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!