VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

分享微信微信官方账号开发自定义菜单的示例教程(微信微信官方账号中的自定义菜单怎么做)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

欢迎留言,转发,

项目源代码参考地址点击我点击我--欢迎开始。

自定义菜单有两种实现方式:1 .编辑模式2。开发模式。

编辑模式很简单,就不赘述了。......

开发模式1下自定义菜单的实现。利用微信公众平台2的接口调试工具实现。使用官方提供的接口实现。

前期准备添加插件

分享微信微信官方账号开发自定义菜单的示例教程(微信微信官方账号中的自定义菜单怎么做)

K8WTIEI86W9W5XERD`MRD{6.png

利用微信公众平台接口调试工具实现分享微信微信官方账号开发自定义菜单的示例教程(微信微信官方账号中的自定义菜单怎么做)

自定义菜单-界面调试工具。png

正如您所看到的,两个参数是必需的,并且都是access_token主体所必需的。

有人想问,这两个参数怎么获取?

Body实际上是一个生成菜单的JSON对象。官方提供一个栗子供参考。

{ & quot按钮& quot:

自定义菜单-以获取access_token.png

利用官方提供的接口,我们可以在Jfinal-weixin中创建、查询和删除封装菜单以及创建、查询和删除个性化菜单,并测试个性化菜单的匹配结果。

分享微信微信官方账号开发自定义菜单的示例教程(微信微信官方账号中的自定义菜单怎么做)

自定义菜单-菜单封装界面。png

那么问题来了,包装好了怎么用?以下是提供封装的接口

//查询自定义菜单公共静态API结果get menu(){ string JSON result = httputils . get(get menu+accesstokenapi . getaccessstokenstr());返回新的API result(JSON result);}//创建自定义菜单公共静态API结果创建菜单(string JSON str){ string JSON result = httputils . post(Create menu+accesstokenapi . getaccesstokenstr()、JSON str);返回新的API result(JSON result);}//删除自定义菜单公共静态API结果Delete menu(){ string JSON result = httputils . get(deletemenuurl+accesstokenapi . getaccesstokenstr());返回新的API result(JSON result);}//创建个性化定制菜单公共静态API结果添加条件(String JSON STR){ String JSON Result = Httputils。post(AddConditionalURL+AccessorTokenAPI。GetAccessorTokenstr(),JSON STR);返回新的API result(JSON result);}//删除个性化定制菜单公共静态API结果del conditional(string menuid){ hashmap params = new hashmap();params . put(& quot;menuid & quot,menuid);string URL = delConditionalUrl+accesstokenapi . getaccessstokenstr();string JSON result = httputils . post(URL,JSON utils . to JSON(params));返回新的API result(JSON result);}//测试个性化菜单匹配结果公共静态API结果try match(string userid){ hashmap params = new hashmap();params . put(& quot;用户标识& quot,userId);string URL = tryMatchUrl+accesstokenapi . getaccessstokenstr();string JSON result = httputils . post(URL,JSON utils . to JSON(params));返回新的API result(JSON result);}公共静态API result getCurrentSelfMenuInfo(){ String JSON result = httputils . get(getCurrentSelfMenuInfoUrl+accesstokenapi . getaccesstokenstr());返回新的API result(JSON result);}开源项目weixin_guide中的com . javen . weixin . menu . menu manager类中提供了详细的演示。

public static void main(String[]args){//将菜单对象转换为json字符串String JSON Menu = JSON Kit。ToJSON (gettestmenu())。tostring();system . out . println(JSON menu);API config AC = new API config();//要配置微信API相关常量,请使用自己的AC . setappid(& quot;wx 614 c 453 E0 D1 DCD 12 & quot;);AC . setappsecret(& quot;19 a02e 4927d 346484 fc 70327970457 f 9 & quot;);//AC . setappid(prop kit . get(& quot;appId & quot));//AC . setappsecret(prop kit . get(& quot;appSecret&quot));API config kit . setthreadlocalapiconfig(AC);//创建菜单API结果API result = menuapi。创建菜单(JSON菜单);system . out . println(API result . get JSON());}可以看到main方法中调用了MenuApi.createMenu(jsonMenu)。jsonMenu从何而来?

实际上,自定义菜单的实体对象在这里被转化为JSON。

string JSON menu = JSON kit . to JSON(gettest menu())。toString();

menu/* * *组装菜单数据的包* * @ return */private静态菜单gettest menu(){ clickbutton BTN 11 = new click button();btn11.setName(&quot微信相册发图”);BTN 11 . settype(& quot;pic _ weixin & quot);BTN 11 . setkey(& quot;rselfmenu _ 1 _ 1 & quot);click button BTN 12 = new click button();btn12.setName在相册里拍照或发图”);BTN 12 . settype(& quot;图片_照片_或_相册& quot);BTN 12 . setkey(& quot;rselfmenu _ 1 _ 2 & quot);;click button BTN 13 = new click button();btn13.setName系统拍照发图”);BTN 13 . settype(& quot;pic _ sysphoto & quot);BTN 13 . setkey(& quot;rselfmenu _ 1 _ 3 & quot);click button BTN 21 = new click button();BTN 21 . setname(& quot;带提示的扫码”);BTN 21 . settype(& quot;scancode _ waitmsg & quot);BTN 21 . setkey(& quot;rselfmenu _ 2 _ 1 & quot);;click button BTN 22 = new click button();btn22.setName(&quot扫码推送事件”);BTN 22 . settype(& quot;scancode _ push & quot);BTN 22 . setkey(& quot;rselfmenu _ 2 _ 2 & quot);;view button BTN 23 = new view button();btn23.setName(&quot我的设备”);BTN 23 . settype(& quot;查看& quot);BTN 23 . seturl(& quot;https://HW . weixin . QQ . com/device ctrl/panel/device -list . html?appid = wx 614 c 453 E0 D1 DCD 12 & quot;);view button BTN 31 = new view button();btn31.setName微社区”);BTN 31 . settype(& quot;查看& quot);BTN 31 . seturl(& quot;http://whsf.tunnel.mobi/whsf/msg/wsq");click button BTN 32 = new click button();btn32.setName发送位置”);BTN 32 . settype(& quot;位置选择& quot);BTN 32 . setkey(& quot;rselfmenu _ 3 _ 2 & quot);//http://tencent://message/?uin=572839485。Site=在线咨询&;Menu =是//http://wpa.qq.com/msgrd?v = 3 & ampuin=572839485。site = qq & ampmenu = yes view button BTN 33 = new view button();btn33.setName在线咨询”);BTN 33 . settype(& quot;查看& quot);BTN 33 . seturl(& quot;http://wpa.qq.com/msgrd? v = 3 & amp;uin=572839485。site = qq & ampmenu = yes & quot);view button BTN 34 = new view button();btn34.setName我的博客& quot);BTN 34 . settype(& quot;查看& quot);BTN 34 . seturl(& quot;http://www.cnblogs.com/zyw-205520");click button BTN 35 = new click button();btn35.setName点击事件”);settype(& quot;单击& quot);setkey(& quot;rselfmenu _ 3 _ 5 & quot);ComButton main BTN 1 = new ComButton();main BTN 1 . setname(& quot;发个图”);main BTN 1 . set sub _ Button(new Button[]{ BTN 11,btn12,BTN 13 });ComButton main BTN 2 = new ComButton();main BTN 2 . setname(& quot;扫码”);main BTN 2 . set sub _ Button(new Button[]{ BTN 21,btn22,BTN 23 });ComButton main BTN 3 = new ComButton();main BTN 3 . setname(& quot;个人中心”);main BTN 3 . set sub _ Button(new Button[]{ BTN 31,btn32,btn33,btn34,BTN 35 });/* * *这是目前微信官方账号xiaoqrobot的菜单结构,每个一级菜单都有一个二级菜单项< br & gt* *当一级菜单下没有二级菜单时,如何定义一个菜单?& ltbr & gt*例如,第三个一级菜单项不是“更多体验”,而是直接“幽默笑话”,因此菜单应定义如下:

生成菜单的JSON:{ " button & quot;:[{ & quot;sub _ button & quot:[{ & quot;名称& quot:& quot微信相册发图”,& quot键入& quot:& quotpic _ weixin & quot,& quotkey & quot:& quotrselfmenu _ 1 _ 1 & quot},{ & quot名称& quot:& quot在相册中拍摄照片或发送图片”,& quot键入& quot:& quot图片_照片_或_相册& quot,& quotkey & quot:& quotrselfmenu _ 1 _ 2 & quot},{ & quot名称& quot:& quot系统拍照并发送图片”键入& quot:& quotpic _ sysphoto & quot,& quotkey & quot:& quotrselfmenu _ 1 _ 3 & quot}],& quot名称& quot:& quot发送图片”键入& quot:null}、{ & quotsub _ button & quot:[{ & quot;名称& quot:& quot扫码提示“,& quot键入& quot:& quotscancode _ waitmsg & quot,& quotkey & quot:& quotrselfmenu _ 2 _ 1 & quot},{ & quot名称& quot:& quot扫码推送事件”键入& quot:& quotscancode _ push & quot,& quotkey & quot:& quotrselfmenu _ 2 _ 2 & quot},{ & quot名称& quot:& quot我的设备”键入& quot:& quot查看& quot,& quoturl & quot:& quothttps://HW . weixin . QQ . com/device ctrl/panel/device -list . html?appid = wx 614 c 453 E0 D1 DCD 12 & quot;}],& quot名称& quot:& quot扫码“,& quot键入& quot:null}、{ & quotsub _ button & quot:[{ & quot;名称& quot:& quot微社区",& quot键入& quot:& quot查看& quot,& quoturl & quot:& quothttp://whsf.tunnel.mobi/whsf/msg/wsq" }、{ & quot名称& quot:& quot发送位置“,& quot键入& quot:& quot位置选择& quot,& quotkey & quot:& quotrselfmenu _ 3 _ 2 & quot},{ & quot名称& quot:& quot在线咨询”,& quot键入& quot:& quot查看& quot,& quoturl & quot:& quothttp://wpa.qq.com/msgrd? v = 3 & amp;uin=572839485。site = qq & ampmenu = yes & quot},{ & quot名称& quot:& quot我的博客键入& quot:& quot查看& quot,& quoturl & quot:& quothttp://www.cnblogs.com/zyw-205520" }、{ & quot名称& quot:& quot单击事件”键入& quot:& quot单击& quot,& quotkey & quot:& quotrselfmenu _ 3 _ 5 & quot}],& quot名称& quot:& quot个人中心”键入& quot:null}],& quot匹配规则& quot:null}响应的状态:{ & quot错误代码& quot:0,& quoterrmsg & quot:& quot好的& quot}以上是生成自定义菜单的全过程。

[相关建议]

1.下载微信微信官方账号平台源代码。

2.微智创T+微信机器人源代码

3.微信网王v3.4.5高级商业版微信魔方源代码

这几篇文章你可能也喜欢:

  • 暂无相关推荐文章

本文由主机参考刊发,转载请注明:分享微信微信官方账号开发自定义菜单的示例教程(微信微信官方账号中的自定义菜单怎么做) https://zhujicankao.com/114362.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 分享微信微信官方账号开发自定义菜单的示例教程(微信微信官方账号中的自定义菜单怎么做)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!