편집 모드와 개발 모드가 충돌합니다. 따라서 WeChat 공식 계정의 개발 모드를 활성화한 후에는 해당 메뉴를 볼 수 없습니다. 하지만 이제 개인 구독 계정은 사용자 정의 메뉴와 같은 고급 개발자 모드를 사용할 수 없지만 테스트 계정을 통해 테스트한 후 코드를 서비스 계정으로 이동할 수 있습니다.
사용자 정의 유형에는 다음이 포함됩니다.
1. 클릭: 클릭 푸시 이벤트
• 사용자가 클릭 유형 버튼을 클릭하면 WeChat 서버가 다음 유형의 메시지를 푸시합니다. 메시지 인터페이스를 통한 이벤트 구조는 개발자에게 제공되며(메시지 인터페이스 가이드 참조), 개발자가 버튼에 키 값을 입력하면 개발자는 맞춤형 키 값을 통해 사용자와 상호작용할 수 있습니다.
• 사용자가 view type 버튼을 클릭하면 개발자가 버튼에 입력한 웹 페이지 URL이 WeChat 클라이언트에서 열립니다. 이는 웹과 결합될 수 있습니다. 사용자의 기본 정보를 얻기 위한 페이지 인증 인터페이스입니다.
• 사용자가 버튼을 클릭하면 WeChat 클라이언트가 스캔 도구를 실행하고 스캔 결과를 표시합니다(URL인 경우 입력) URL), 코드 스캔 결과는 메시지를 보낼 수 있는 개발자에게 전송됩니다.
• 사용자가 버튼을 클릭하면 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; }