微信开发整合日记(2)

自定义菜单的创建

微信公众号设置开发模式之后,本身自带的菜单按钮就不能够使用了,此时微信开放了自定义菜单的接口让开发者使用,这比自带的菜单功能要强大的多,因为普通模式下的菜单每次修改需要等待24个小时左右,而自定义菜单修改并不需要等待.
首先是url地址https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN,access_token就是我上一篇文章中获取到的唯一凭证,后文中不再赘续,该请求是POST请求,所以我们可以使用httppost方法(自定义方法,请看上篇文章).
自定义菜单分为一级菜单和二级菜单,最多3个一级菜单,每个一级菜单最多包含五个二级菜单,一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分会以..代替,请注意
菜单的类型有很多,我们常用的有view,click,media_id这三种,其他的不在此赘叙,如有需要可以查看开发文档
view : 用户点击后会推送event事件给公众号,类似于用户发送消息给我们的服务器,类型是event,在我们的项目 中可以使用消息接受模块接收,key值代表需要推送的事件,可以自己设置
click : 点击跳转url
media_id : 点击推送素材(这个内容关系到素材的上传和下载,后面的文章中会写出来)
大致上使用的就这三种类型,参数说明在开发文档中查看
在项目中新建一个JAVA类来存放自己设置的菜单信息,最好放入数据库中保存
package com.pub.vo;

import java.util.List;

public class WechatMenuVo {

	private String type;

	private String name;

	private String key;

	private String url;

	private String media_id;

	private List<WechatMenuVo> sub_button;
	
	private Long parent;
	
	private Long id;
	
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getMedia_id() {
		return media_id;
	}

	public void setMedia_id(String media_id) {
		this.media_id = media_id;
	}

	public List<WechatMenuVo> getSub_button() {
		return sub_button;
	}

	public void setSub_button(List<WechatMenuVo> sub_button) {
		this.sub_button = sub_button;
	}
	
	public WechatMenuVo(){
		
	}

	public Long getParent() {
		return parent;
	}

	public void setParent(Long parent) {
		this.parent = parent;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

}
最后利用jackson的ObjectMapper将值转化为JSON字符串,调用httppost方法发送给微信服务器,返回正确时的数据包为
{"errcode":0,"errmsg":"ok"}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值