用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

微客吧 首页 教程 微信小程序 新手教程 查看内容

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

纸飞机 2018-3-8 09:33

作者:王慧永,来自原文地址最近微信公众号开发了菜单关联功能,实现代码如下/** * 自定义菜单工具类 * @author why * */ public class MenuUtil { private static Logger logger = Logger.getLogger(Menu ...

作者:王慧永,来自

原文地址

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

  1. /**
  2. * 自定义菜单工具类
  3. * @author why
  4. *
  5. */
  6. public class MenuUtil {
  7. private static Logger logger = Logger.getLogger(MenuUtil.class);// 日志
  8. //创建菜单接口地址
  9. public final static String menu_create_url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN";
  10. /**
  11. *创建菜单
  12. * @param menu 菜单实例
  13. * @param accessToken 凭证
  14. * @return true 成功 false 失败
  15. */
  16. public static boolean createMenu(Menu menu, String accessToken){
  17. boolean result = false;
  18. String url = menu_create_url.replace("ACCESS_TOKEN", accessToken);
  19. //将菜单对象转换成JSON字符串
  20. String jsonMenu = JSONObject.fromObject(menu).toString();
  21. //发起post请求创建菜单
  22. JSONObject jsonObject = WeixinUtil.httpRequest(url, "POST", jsonMenu);
  23. if(null != jsonObject){
  24. int errorCode = jsonObject.getInt("errcode");
  25. String errorMsg = jsonObject.getString("errmsg");
  26. System.out.println("====================="+errorCode+" "+errorMsg);
  27. if(0 == errorCode){
  28. result = true;
  29. }else{
  30. result = false;
  31. logger.error("创建菜单失败errorCode:{"+errorCode+"} errorMsg:{"+errorMsg+"}");
  32. System.out.println(errorCode+" "+errorMsg);
  33. }
  34. }
  35. return result;
  36. }
  37. }
  1. /**
  2. * 类名称:ToXcx.java
  3. * 类描述:小程序菜单实体类
  4. * 作 者:why
  5. * 时 间:2017年4月21日
  6. */
  7. public class ToXcx extends Button {
  8. private String type; //类型
  9. private String name; //菜单名称
  10. private String url; //不支持小程序跳转地址
  11. private String appid; //小程序appid
  12. private String pagepath; //小程序页面路径
  13. public String getType() {
  14. return type;
  15. }
  16. public void setType(String type) {
  17. this.type = type;
  18. }
  19. public String getName() {
  20. return name;
  21. }
  22. public void setName(String name) {
  23. this.name = name;
  24. }
  25. public String getUrl() {
  26. return url;
  27. }
  28. public void setUrl(String url) {
  29. this.url = url;
  30. }
  31. public String getAppid() {
  32. return appid;
  33. }
  34. public void setAppid(String appid) {
  35. this.appid = appid;
  36. }
  37. public String getPagepath() {
  38. return pagepath;
  39. }
  40. public void setPagepath(String pagepath) {
  41. this.pagepath = pagepath;
  42. }
  43. }

创建菜单

  1. ToXcx xcxBtn1 = new ToXcx();
  2. xcxBtn1.setName("我要寄件");
  3. xcxBtn1.setType("miniprogram");
  4. xcxBtn1.setUrl("");
  5. xcxBtn1.setAppid("");
  6. xcxBtn1.setPagepath("pages/send/send");

调用

  1. MenuUtil.createMenu(菜单json, token);
鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
分享至 : QQ空间
收藏