栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA对接公众号(三、创建自定义菜单)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA对接公众号(三、创建自定义菜单)

JAVA对接公众号(一、验证公众号配置的服务器信息) JAVA对接公众号(二、处理微信服务器发来的消息)

官方文档:https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

请注意:自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。
一级菜单最多4个汉字,二级菜单最多8个汉字,多出来的部分将会以“…”代替。
接口类型:post
接口地址:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

自定义菜单分为10种,我这里使用的是view类型,打开网页url。

下面为chick和view的数据格式

 {
     "button":[
     {	
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "name":"菜单",
           "sub_button":[
           {	
               "type":"view",
               "name":"搜索",
               "url":"http://www.soso.com/"
            },
            {
                 "type":"miniprogram",
                 "name":"wxa",
                 "url":"http://mp.weixin.qq.com",
                 "appid":"wx286b93c14bbf93aa",
                 "pagepath":"pages/lunar/index"
             },
            {
               "type":"click",
               "name":"赞一下我们",
               "key":"V1001_GOOD"
            }]
       }]
 }

service实现类

    @Override
    public Object ceateMenu() {
        String requestUrl = ceateMenuUrl.replace("ACCESS_TOKEN", getAccessToken());
        JSONObject menu = new JSONObject();
        JSONArray buttonAry = new JSONArray();
        Map map1 = new HashMap<>();
        map1.put("type", "click");
        map1.put("name", "今日歌曲");
        map1.put("key", "V1001_TODAY_MUSIC");
        Map map2 = new HashMap<>();
        map2.put("name", "菜单");
        JSONArray subButtonAry = new JSONArray();
        Map subMap1 = new HashMap<>();
        subMap1.put("type", "view");
        subMap1.put("name", "搜索");
        subMap1.put("url", "www.baidu.com");
        subButtonAry.add(subMap1);
        Map subMap2 = new HashMap<>();
        subMap2.put("type", "click");
        subMap2.put("name", "赞一下我们");
        subMap2.put("key", "V1001_GOOD");
        subButtonAry.add(subMap2);
        map2.put("sub_button", subButtonAry);
        buttonAry.add(map1);
        buttonAry.add(map2);
        menu.put("button", buttonAry);
        String post = HttpClientUtil.post(requestUrl, menu.toString());
        Map map = null;
        try {
            map = objectMapper.readValue(post, Map.class);
        } catch (IOException e) {
            log.error("公众号异常通知-创建自定义菜单异常", e);
        }
        if (map.get("errcode") != null || map.get("errmsg") != null) {
            String errcode = String.valueOf(map.get("errcode"));
            String errmsg = String.valueOf(map.get("errmsg"));
            if (!errcode.equals("0")) {
                log.error("创建自定义菜单失败:code=" + errcode + "msg=" + errmsg);
                return "创建失败";
            }
        }
        return "创建成功";
    }

其中的工具类HttpClientUtil去我资源中下载,getAccessToken()获取token的方法去我上一篇文章中查看(二、处理微信服务器发来的消息)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号