资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,10/27/2014,#,自定义菜单的两种类型(click,和,view),公众平台,API,文档中给出了自定义菜单的,json,结构示例,我从中截取两个菜单项的,json,代码,一个是,click,类型,另一个是,view,类型,,如下所示。,type:click,name:今日歌曲,key:V1001_TODAY_MUSIC,type:view,name:歌手简介,url:qq/,从上面可以看出,两种类型的菜单除了,type,值不同之外,属性也有差别。click,类型的菜单,有,key,属性,而,view,类型的菜单没有,key,属性,,与之对应的是,url,属性。通过上一篇的学习我们,知道,key,值是用于判断用户点击了哪个,click,类型的菜单项。而,view,类型的菜单没有,key,属,性,目前无法在公众账号后台判断是否有用户点,击了,view,类型的菜单项,也就没办法知道哪个,用户点击了,view,类型的菜单项。建立,view,类型,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,的菜单对象,View,类型的菜单有,3,个属性:type、name,和,url。在上一篇文章中,我们创建了菜单项的,基类,Button,,Button,类只有一个属性,name。,View,类型的菜单对象也需要继承,Button,类,代码如,下:,/*,*view,类型的菜单,*,*author,*date,*/,publilassViewButtonextendsButton,privateStringtype;,privateStringurl;,publicStringgetType(),returntype;,publicvoidsetType(Stringtype),this.type=type;,publicStringgetUrl(),自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,returnurl;,publicvoidsetUrl(Stringurl),this.url=url;,创建带,view,类型的菜单示例,我们对前一篇文章中给出的菜单创建代码,进行调整,增加,view,类型的菜单项,完整的菜,单创建代码如下:,import.liufeng.weixin.pojo.AessToken;,import.liufeng.weixin.pojo.Button;,import.liufeng.weixin.pojo.CommonButt,on;,import.liufeng.weixin.pojo.ComplexBut,ton;,import.liufeng.weixin.pojo.Menu;,import.liufeng.weixin.pojo.ViewButton,;,import.liufeng.weixin.util.WeixinUtil,;,import.slf4j.Logger;,import.slf4j.LoggerFactory;,/*,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,*菜单管理器类,*,*author,*date2013-08-08,*/,publilassMenuManager,privatestaticLoggerlog=LoggerFactory.,getLogger(MenuManager.class);,publicstaticvoidmain(Stringargs),/第三方用户唯一凭证,StringappId=000000000000000000;,/第三方用户唯一凭证密钥,StringappSecret=00000000000000000000,000000000000;,/调用接口获取,aess_token,AessTokenat=WeixinUtil.getAessToken(a,ppId,appSecret);,if(null!=at),/调用接口创建菜单,intresult=WeixinUtil.createMenu(getMe,nu(),at.getToken();,/判断菜单创建结果,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,if(0=result),log.info(菜单创建成功!);,else,log.info(,菜,单,创,建,失,败,,,错,误,码,:,+result);,/*,*组装菜单数据,*,*return,*/,privatestaticMenugetMenu(),CommonButtonbtn11=newCommonButton();,btn11.setName(天气预报);,btn11.setType(click);,btn11.setKey(11);,CommonButtonbtn12=newCommonButton();,btn12.setName(公交查询);,btn12.setType(click);,btn12.setKey(12);,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,CommonButtonbtn13=newCommonButton();,btn13.setName(周边搜索);,btn13.setType(click);,btn13.setKey(13);,CommonButtonbtn14=newCommonButton();,btn14.setName(历史上的今天);,btn14.setType(click);,btn14.setKey(14);,CommonButtonbtn15=newCommonButton();,btn15.setName(电影排行榜);,btn15.setType(click);,btn15.setKey(32);,CommonButtonbtn21=newCommonButton();,btn21.setName(歌曲点播);,btn21.setType(click);,btn21.setKey(21);,CommonButtonbtn22=newCommonButton();,btn22.setName(经典游戏);,btn22.setType(click);,btn22.setKey(22);,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,CommonButtonbtn23=newCommonButton();,btn23.setName(美女电台);,btn23.setType(click);,btn23.setKey(23);,CommonButtonbtn24=newCommonButton();,btn24.setName(人脸识别);,btn24.setType(click);,btn24.setKey(24);,CommonButtonbtn25=newCommonButton();,btn25.setName(聊天唠嗑);,btn25.setType(click);,btn25.setKey(25);,CommonButtonbtn31=newCommonButton();,btn31.setName(Q,友圈);,btn31.setType(click);,btn31.setKey(31);,CommonButtonbtn33=newCommonButton();,btn33.setName(幽默笑话);,btn33.setType(click);,btn33.setKey(33);,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,CommonButtonbtn34=newCommonButton();,btn34.setName(用户反馈);,btn34.setType(click);,btn34.setKey(34);,CommonButtonbtn35=newCommonButton();,btn35.setName(关于我们);,btn35.setType(click);,btn35.setKey(35);,ViewButtonbtn32=newViewButton();,btn32.setName(使用帮助);,btn32.setType(view);,btn32.setUrl(gotoip2/xiaoqrobot/help,.jsp);,ComplexButtonmainBtn1=newComplexButto,n();,mainBtn1.setName(生活助手);,mainBtn1.setSub_button(newButtonbt,n11,btn12,btn13,btn14,btn15);,ComplexButtonmainBtn2=newComplexButto,n();,mainBtn2.setName(休闲驿站);,mainBtn2.setSub_button(newButtonbt,自己的随笔中。木子是怕别人发现的。毕竟初高中总是认为谈恋爱那就是不正经,n21,btn22,btn23,btn24,btn25);,ComplexButtonmainBtn3=newComplexButto,n();,mainBtn3.setName(更多);,mainBtn3.setSub_button(newButtonbt,n31,btn33,btn34,btn35,btn32);,/*,*这是公众号,xiaoqrobot,目前的菜单结构,,每个一级菜单都有二级菜单项br,*,*在某个一级菜单下没有二级菜单的情况,,menu,该如何定义呢?br,*比如,第三个一级菜单项不是“更多体验”,,而直接是“幽默笑话”,那么,menu,应该这样定义:,br,*menu.setButton(newButtonmainBtn1,mainBtn2,btn33);,*/,Menumenu=newMenu();,menu.setButton(newButtonmainBtn1,m,ainBtn2,mainBtn3);,returnmenu;,1ch0f3c7a,免费优惠券,http:/,
展开阅读全文