【微信公众号】6、SpringBoot整合WxJava创建自定义菜单
自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。开启自定义菜单后,公众号界面如图所示:
1、请注意:
- 自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。
- 一级菜单最多4个汉字,二级菜单最多8个汉字,多出来的部分将会以“…”代替。
- 创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号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创建自定义菜单相关推荐
- 分布式电商项目——4.搭建微信公众号平台以及整合WxJava框架提供注册码
搭建企业级微信公众号 微信公众平台: https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=79509 ...
- 【微信公众号开发】【3】自定义菜单
前言: 1,目前公众号类型分为两种:服务号和订阅号(服务号主要面向企业.政府和其他组织,而订阅号主要面向媒体和个人) 区别:只有服务号可以申请自定义菜单:服务号每月只能群发四条消息,而订阅号每天能群发 ...
- 微信公众号的搭建-第五天-自定义菜单
1. 在微信公众平台上面开发者文档中的自定义菜单可以查看包括创建.查询.删除.自动推送的接口及注意事项 一级菜单最多三个,二级菜单最多5个,一级菜单最多显示4个汉字,二级菜单最多显示7个汉字 看完之后 ...
- 微信公众号开发整理(五)--自定义菜单
1.自定义菜单功能: 数据结构类型参照微信公众平台数据格式,这里不做分析: 创建相应的实体类: public class Button { //菜单类型 private String type; // ...
- 微信服务号解决开启服务配置后自定义菜单失效的方法
在部署微信服务号时碰到一个问题,由于需要监听用户订阅和取消订阅服务号的事件,所以开启了服务器配置(如何监听可查阅我上一篇文章),开启后发现服务号的菜单不见了.到微信公众平台的管理后台中查看自定义菜单, ...
- 微信公众号开发之使用eclipse创建微信web工程并发布到BAE测试
本篇博文主要是讲一下在eclipse上创建一个微信web工程并发布到BAE上,其中会讲一些应该注意的问题 1.切入正题,为了减少麻烦,我使用百度提供的一键安装版的Eclipse,下载地址:http:/ ...
- 微信公众号服务器配置token验证失败问题及菜单创建失败问题小结
如果微信公众号的菜单需要调用我们自己后台代码接口的话,那么公众号后台的基本信息配置这里要启用服务器配置,如图: 如果在修改配置时提示token验证失败时,需要从两方面查找问题: ①.查看我们服务器上的 ...
- 微信公众号运营数据分析(三):菜单分析讲解
微信公众号运营是需要不断地优化你的公众号文章内容和标题的,也要懂得随时调整公众号写作方向,那么这些都是基于数据分析得出的结果. 你以为统计一下阅读量.新关注人数,取消关注人数.总粉丝人数,然后把一周或 ...
- 微信公众平台开发教程(五)自定义菜单
请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了很大的灵活性,更符合用户的操作习惯.在 ...
- 微信公众号开发(四)——点击菜单回复图片和语音
先讲回复图片,语音类似. 这个发送图片,并不是点击输入框右侧的"➕",去选择本地照片,而是要把图片上传的公众号的服务器. 按照开发文档https://developers.weix ...
最新文章
- Embarcadero Dev C++ 中文输出乱码
- 干货 | NLP、知识图谱教程、书籍、网站、工具...(附资源链接)
- 如何让API回调你的VC类成员函数而不是静态函数
- why my pricing procedure is not determined in QHD 504
- 汇编edx_开源社区开始热议edX
- C++ Primer 5th 第1章 开始
- 让 API 端点的响应速度提高 50 倍!
- 使用fastjson读取超巨json文件引起的GC问题
- iOS延时执行的几种方法
- 《How to bake LightMap》
- java语言实现_java语言实现树
- sql创建表_SQL创建表
- CRM如何维护客户关系?CRM成功案例分析
- 股票价格中后取复权的计算
- 500Illegal PORT command 错误 无法取得目录列表 8uftp
- Cesium中实时根据鼠标的位置显示经度,纬度,视角高度以及海拔高度
- reverse函数 ——反转容器内容
- screen Attached
- Linux内核学习系列(7)——execve与需求加载
- html文字自动铺满页面,body height:100%让页面容器元素铺满窗口
热门文章
- keygen_Laravel随机密钥与Keygen
- 医生还未失业,IBM Watson 已跌入深渊
- java当前不可用,java代码向服务端狂发消息,导致的服务器连接通道不可用
- 2.Apache服务器配置(Ubuntu)
- LSTM 08:超详细LSTM调参指南
- 让你立刻爱上数学的10个算术游戏
- 输入一个数,判断它是否是素数,如果是素数输出yes,否则输出no
- keep T 不是 KG等级_初中英语动词28讲:根据短语倒推 keep 的用法
- ACTF2022 rsa leak
- 用window调用kjb和ktr