编程语言
首页 > 编程语言> > 微信小程序开发之菜单的创建

微信小程序开发之菜单的创建

作者:互联网

微信小程序开发之菜单的创建

package com.qfjy.project.weixin.main;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.qfjy.project.weixin.pojo.AccessToken;
import com.qfjy.project.weixin.pojo.Button;
import com.qfjy.project.weixin.pojo.CommonButton;
import com.qfjy.project.weixin.pojo.ComplexButton;
import com.qfjy.project.weixin.pojo.Menu;
import com.qfjy.project.weixin.pojo.ViewButton;
import com.qfjy.project.weixin.util.WeixinUtil;

/**
 * 菜单管理器类
 * 
 */
public class MenuManager {
	private static Logger log = LoggerFactory.getLogger(MenuManager.class);
/***
 * 自定义菜单的创建步骤
	1、找到AppId和AppSecret。自定义菜单申请成功后,在“高级功能”-“开发模式”-“接口配置信息”的最后两项就是;
	2、根据AppId和AppSecret,以https get方式获取访问特殊接口所必须的凭证access_token;
	3、根据access_token,将json格式的菜单数据通过https post方式提交。

 */
	
	public final static String REAL_URL="http://njqfjy.natapp1.cc/"; //个人花生壳
	//public final static String REAL_URL = "http://wxmobsa.yidatec.com/weixin/"; //正式号服务器	
	
	public final static String appId="wxe4325a93f6dacc7b";
	public final static String appSecret = "e754d645a9d14a2fd497aa065e9ec6b6";
	
	public static void resultMenu(){
		// 调用接口获取access_token
		AccessToken at = WeixinUtil.getAccessToken(appId, appSecret);

		if (null != at) {
			// 调用接口创建菜单
			int result = WeixinUtil.createMenu(getMenu(), at.getToken());

			// 判断菜单创建结果
			if (0 == result)
				log.info("菜单创建成功!");
			else
				log.info("菜单创建失败,错误码:" + result);
		}
	}
	
	public static void main(String[] args) {
		// 第三方用户唯一凭证
		String appId = MenuManager.appId;
		// 第三方用户唯一凭证密钥
		String appSecret = MenuManager.appSecret;
		// 调用接口获取access_token
		AccessToken at = WeixinUtil.getAccessToken(appId, appSecret);

		if (null != at) {
			// 调用接口创建菜单
			int result = WeixinUtil.createMenu(getMenu(),at.getToken());

			// 判断菜单创建结果
			if (0 == result)
				log.info("菜单创建成功!");
			else
				log.info("菜单创建失败,错误码:" + result);
		}
	}

	/**
	 * 组装菜单数据
	 * 
	 * @return
	 */
	private static Menu getMenu() {

		
		ViewButton btn10 = new ViewButton();
		btn10.setName("会议发布");
		btn10.setType("view");
		btn10.setUrl(MenuManager.REAL_URL+"weixinMenu/meetingPub");

		CommonButton btn11 = new CommonButton();
		btn11.setName("会议枪单");
		btn11.setType("click");
		btn11.setKey("11");
		
		
//-------------------------------------------------------
		CommonButton btn20 = new CommonButton();
		btn20.setName("每日签到");
		btn20.setType("click");
		btn20.setKey("20");

		ViewButton btn21 = new ViewButton();
		btn21.setName("发单排行榜");
		btn21.setType("view");
		btn21.setUrl("https://www.baidu.com/");


//------------------------------------------------------------
		ViewButton btn30 = new ViewButton();
		btn30.setName("个人中心");
		btn30.setType("view");
		btn30.setUrl(MenuManager.REAL_URL+"weixinMenu/userInfo");

		CommonButton btn31 = new CommonButton(); //返回图文消息
		btn31.setName("联系我们");
		btn31.setType("click");
		btn31.setKey("30");

		CommonButton btn32 = new CommonButton(); //返回图文消息
		btn32.setName("版本消息");
		btn32.setType("click");
		btn32.setKey("31");
		
		//###############################################一级子菜单
		ComplexButton mainBtn1 = new ComplexButton();
		mainBtn1.setName("会议");
		mainBtn1.setSub_button(new Button[] {btn10,btn11});

		ComplexButton mainBtn2 = new ComplexButton();
		mainBtn2.setName("公告板");  //
		mainBtn2.setSub_button(new Button[] {btn20,btn21});

		ComplexButton mainBtn3 = new ComplexButton();
		mainBtn3.setName("系统消息");// btn31, btn32, btn33,
		mainBtn3.setSub_button(new Button[] {btn30,btn31,btn32});

		/**
		 * 这是公众号目前的菜单结构,每个一级菜单都有二级菜单项<br>
		 */
		Menu menu = new Menu();
		menu.setButton(new Button[] { mainBtn1, mainBtn2, mainBtn3});
		return menu;
	}
}

标签:菜单,setName,微信,程序开发,CommonButton,import,new,com
来源: https://blog.csdn.net/qq_40708522/article/details/118498240