自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。开启自定义菜单后,公众号界面如图所示:

1、请注意:

  1. 自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。
  2. 一级菜单最多4个汉字,二级菜单最多8个汉字,多出来的部分将会以“…”代替。
  3. 创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号profile页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。​

更多注意事项,参考官方文档

https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

2、确定接口能力

我们需要确定我们的接口测试号拥有自定义菜单的能力,如图:

每日创建和删除自定义菜单各1000次,查询自定义菜单10000次,已经完全够用了

3、创建自定义菜单

import me.chanjar.weixin.common.bean.menu.WxMenu;
import me.chanjar.weixin.common.bean.menu.WxMenuButton;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;
import java.util.List;/*** 微信自定义菜单*/
@RestController
@RequestMapping("wx/mp/menu")
public class WxMpMenuController {@Autowiredprivate WxMpService wxMpService;/*** 创建菜单** @return* @throws Exception*/@PostMapping("createMenu")public String create() throws WxErrorException {WxMenu wxMenu = new WxMenu();WxMenuButton wxMenuButton = new WxMenuButton();wxMenuButton.setType("view");wxMenuButton.setName("百度一下");wxMenuButton.setKey("baidu");wxMenuButton.setUrl("http://www.baidu.com");List<WxMenuButton> list = new ArrayList<>();list.add(wxMenuButton);wxMenu.setButtons(list);wxMpService.getMenuService().menuCreate(wxMenu);return "菜单创建成功";}
}
  • 自定义菜单有多种类型,这里我们创建了一个 view 类型的菜单,点击后将打开一个网页,我们将它链接到了百度
  • key 为点击类菜单必填项,作为事件推送的唯一标识

4、测试创建

  • 1、访问接口
localhost:8080/wx/mp/menu/createMenu
  • 2、生成效果

  • 3、点击菜单

    确实链接到了百度网页,说明我们的自定义菜单创建成功

如您在阅读中发现不足,欢迎留言!!!

【微信公众号】6、SpringBoot整合WxJava创建自定义菜单相关推荐

  1. 分布式电商项目——4.搭建微信公众号平台以及整合WxJava框架提供注册码

    搭建企业级微信公众号 微信公众平台: https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=79509 ...

  2. 【微信公众号开发】【3】自定义菜单

    前言: 1,目前公众号类型分为两种:服务号和订阅号(服务号主要面向企业.政府和其他组织,而订阅号主要面向媒体和个人) 区别:只有服务号可以申请自定义菜单:服务号每月只能群发四条消息,而订阅号每天能群发 ...

  3. 微信公众号的搭建-第五天-自定义菜单

    1. 在微信公众平台上面开发者文档中的自定义菜单可以查看包括创建.查询.删除.自动推送的接口及注意事项 一级菜单最多三个,二级菜单最多5个,一级菜单最多显示4个汉字,二级菜单最多显示7个汉字 看完之后 ...

  4. 微信公众号开发整理(五)--自定义菜单

    1.自定义菜单功能: 数据结构类型参照微信公众平台数据格式,这里不做分析: 创建相应的实体类: public class Button { //菜单类型 private String type; // ...

  5. 微信服务号解决开启服务配置后自定义菜单失效的方法

    在部署微信服务号时碰到一个问题,由于需要监听用户订阅和取消订阅服务号的事件,所以开启了服务器配置(如何监听可查阅我上一篇文章),开启后发现服务号的菜单不见了.到微信公众平台的管理后台中查看自定义菜单, ...

  6. 微信公众号开发之使用eclipse创建微信web工程并发布到BAE测试

    本篇博文主要是讲一下在eclipse上创建一个微信web工程并发布到BAE上,其中会讲一些应该注意的问题 1.切入正题,为了减少麻烦,我使用百度提供的一键安装版的Eclipse,下载地址:http:/ ...

  7. 微信公众号服务器配置token验证失败问题及菜单创建失败问题小结

    如果微信公众号的菜单需要调用我们自己后台代码接口的话,那么公众号后台的基本信息配置这里要启用服务器配置,如图: 如果在修改配置时提示token验证失败时,需要从两方面查找问题: ①.查看我们服务器上的 ...

  8. 微信公众号运营数据分析(三):菜单分析讲解

    微信公众号运营是需要不断地优化你的公众号文章内容和标题的,也要懂得随时调整公众号写作方向,那么这些都是基于数据分析得出的结果. 你以为统计一下阅读量.新关注人数,取消关注人数.总粉丝人数,然后把一周或 ...

  9. 微信公众平台开发教程(五)自定义菜单

    请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了很大的灵活性,更符合用户的操作习惯.在 ...

  10. 微信公众号开发(四)——点击菜单回复图片和语音

    先讲回复图片,语音类似. 这个发送图片,并不是点击输入框右侧的"➕",去选择本地照片,而是要把图片上传的公众号的服务器. 按照开发文档https://developers.weix ...

最新文章

  1. Embarcadero Dev C++ 中文输出乱码
  2. 干货 | NLP、知识图谱教程、书籍、网站、工具...(附资源链接)
  3. 如何让API回调你的VC类成员函数而不是静态函数
  4. why my pricing procedure is not determined in QHD 504
  5. 汇编edx_开源社区开始热议edX
  6. C++ Primer 5th 第1章 开始
  7. 让 API 端点的响应速度提高 50 倍!
  8. 使用fastjson读取超巨json文件引起的GC问题
  9. iOS延时执行的几种方法
  10. 《How to bake LightMap》
  11. java语言实现_java语言实现树
  12. sql创建表_SQL创建表
  13. CRM如何维护客户关系?CRM成功案例分析
  14. 股票价格中后取复权的计算
  15. 500Illegal PORT command 错误 无法取得目录列表 8uftp
  16. Cesium中实时根据鼠标的位置显示经度,纬度,视角高度以及海拔高度
  17. reverse函数 ——反转容器内容
  18. screen Attached
  19. Linux内核学习系列(7)——execve与需求加载
  20. html文字自动铺满页面,body height:100%让页面容器元素铺满窗口

热门文章

  1. keygen_Laravel随机密钥与Keygen
  2. 医生还未失业,IBM Watson 已跌入深渊
  3. java当前不可用,java代码向服务端狂发消息,导致的服务器连接通道不可用
  4. 2.Apache服务器配置(Ubuntu)
  5. LSTM 08:超详细LSTM调参指南
  6. 让你立刻爱上数学的10个算术游戏
  7. 输入一个数,判断它是否是素数,如果是素数输出yes,否则输出no
  8. keep T 不是 KG等级_初中英语动词28讲:根据短语倒推 keep 的用法
  9. ACTF2022 rsa leak
  10. 用window调用kjb和ktr