编辑模式和开发模式有冲突。所以,我们开启微信微信官方账号的开发模式后,那些菜单都是看不见的。但是个人订单号不能使用高级开发者模式,比如自定义菜单,但是我们还是可以通过测试号进行测试,然后将代码移动到服务号。
自定义类型包括以下几种:
1.点击:点击推送事件按钮后,微信服务器会通过消息界面(参考消息界面指南)向开发者推送事件消息类型的结构,并在按钮中带入开发者填写的键值,开发者可以通过自定义键值与用户进行交互;
2.查看:用户点击查看类型按钮后,微信客户端会打开开发者在按钮中填写的网页URL,可结合网页授权界面获取用户的基本信息。
3.scancode_push:用户点击按钮后,微信客户端会调出扫描工具,完成扫描操作后显示扫描结果(如果是URL,会输入URL),并将扫描结果传递给开发者,开发者可以发送消息。
4.scancode_waitmsg: Scan code推送事件,弹出“消息接收”提示框。用户点击按钮后,微信客户端会调出扫描工具,完成扫描操作后将扫描结果传递给开发者,同时折叠扫描工具,然后弹出提示框“Message Receiving”,即可收到开发者发送的消息。
自定义类型包括以下几种:
5.pic_sysphoto:用户点击按钮弹出系统拍照发送图片后,微信客户端会将系统摄像头调高。拍照操作完成后,它会将拍摄的照片发送给开发者,将事件推送给开发者,同时折叠系统摄像头,然后它可能会收到开发者发送的消息。
6.PIC _ PHOTO _ OR _ ALUM:用户点击按钮拍照或发送相册后,微信客户端会弹出一个选择器供用户选择“拍照”或“从手机相册中选择”。在用户选择之后,他将经历另外两个过程。
7.pic_weixin:用户点击按钮后,微信客户端会调出微信相册。完成选择操作后,选择的照片将被发送到开发者的服务器,事件将被推送给开发者。同时将相册收好,然后可能会收到开发者发来的消息。
提供代码,只需将代码上传到服务器,再次关注微信官方账号即可看到开发模式下的自定义菜单
$appid='微信公众号的appid ';$appsecret='微信公众号的app secret ';$ 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 '];$ JSON菜单=' { ' button ' : [{ ' name ' : '学校系统,' sub _ button ' :[{ ' type ' : ' click ',' name': '课程表,'键' : '课程表},{ '键入' : '单击','名称' : '个人信息,'键' : '个人信息},{ '键入' : '单击','名称' : '平时成绩,'键' : '平时成绩},{ '键入' : '单击','名称' : '奖惩记录,'键' : '奖惩记录} ] },{ 'name': '技术分享,' sub _ button ' :[{ ' type ' : ' click ',' name': '移动网开发,'键' : '移动网开发},{ '键入' : '点击','名称:'J2EE框架,' key':'J2EE框架},{ '键入' : '点击','名称' : '安卓开发,'键' : '安卓开发},{ '键入' : '点击','名称:'PHP框架,' key':'PHP框架} ] },{ 'name': '技术支持,' sub _ button ' :[{ ' type ' : ' click ',' name': '在线客服,'键' : '在线客服},{ '键入' : '单击','名称' : '技术分享,'键' : '技术分享},{ 'type':'view ',' name': '天气预报,' URL ' : ' http://m。 郝123。com/a/天齐' }]} } ';//创建菜单实现$ URL='https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' .$ access _ token $ result=https _ request($ URL,$ JSON menu);var _ dump($ result);函数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(!空($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);返回$ output}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。