Java 微信公众号菜单关联小程序

最近微信公众号开发了菜单关联小程序功能,实现代码如下

/**
 * 自定义菜单工具类
 * @author why
 *
 */
public class MenuUtil {
	private static Logger logger = Logger.getLogger(MenuUtil.class);// 日志
	//创建菜单接口地址
	public final static String menu_create_url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN";
	/**
	 *创建菜单
	 * @param menu 菜单实例
	 * @param accessToken 凭证
	 * @return true 成功  false 失败
	 */
	public static boolean createMenu(Menu menu, String accessToken){
		boolean result = false;
		String url = menu_create_url.replace("ACCESS_TOKEN", accessToken);
		//将菜单对象转换成JSON字符串
		String jsonMenu = JSONObject.fromObject(menu).toString();
		//发起post请求创建菜单
		JSONObject jsonObject = WeixinUtil.httpRequest(url, "POST", jsonMenu);
		if(null != jsonObject){
			int errorCode = jsonObject.getInt("errcode");
			String errorMsg = jsonObject.getString("errmsg");
			System.out.println("====================="+errorCode+"     "+errorMsg);
			if(0 == errorCode){
				result = true;
			}else{
				result = false;
				logger.error("创建菜单失败errorCode:{"+errorCode+"} errorMsg:{"+errorMsg+"}");
				System.out.println(errorCode+"     "+errorMsg);
			}
		}
		return result;
	}
}
/**
 * 类名称:ToXcx.java
 * 类描述:小程序菜单实体类
 * 作    者:why
 * 时    间:2017年4月21日
 */
public class ToXcx extends Button {
	private String type;		//类型
	private String name;		//菜单名称
	private String url;			//不支持小程序跳转地址
	private String appid;		//小程序appid
	private String pagepath;	//小程序页面路径
	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 getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public String getAppid() {
		return appid;
	}
	public void setAppid(String appid) {
		this.appid = appid;
	}
	public String getPagepath() {
		return pagepath;
	}
	public void setPagepath(String pagepath) {
		this.pagepath = pagepath;
	}
	
}

创建菜单

ToXcx xcxBtn1 = new ToXcx();
		xcxBtn1.setName("我要寄件");
		xcxBtn1.setType("miniprogram");
		xcxBtn1.setUrl("");
		xcxBtn1.setAppid("");
		xcxBtn1.setPagepath("pages/send/send");

调用

MenuUtil.createMenu(菜单json, token);



已标记关键词 清除标记
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹?   那么C++就是你个人能力提升,职业之路进阶的不二之选。 【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。 2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。 3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。 【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署; 2.吊打一切关于C++的笔试面试题; 3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。 【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块 基础篇 本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。 进阶篇 本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。 提升篇: 本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页