微信公众号开发(4)---使用开源组件开发自定义菜单栏的创建

我们引入的开源微信开发的依赖中,对于微信菜单的创建所需要的参数进行了很好的封装,我们只需要按照微信文档开发的规范,进行参数的设置就好了--

关于微信菜单开发的格式:

 {
     "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"
            }]
       }]
 }

对于这种格式,我们的sdk将其封装在了  WxMenu 类中

然后调用  WxMpServiceImpl 的 getMenuService().menuCreate(menu); 方法

代码如下(红色需要配置成我们自己的)

    @Autowired
    private WxMpInMemoryConfigStorage config;
    @Autowired
    private WxMpService wxMpService;

    @RequestMapping("/wx/menu")
    public void createMenu() throws WxErrorException {

            WxMenu menu = new WxMenu();
            WxMenuButton button1 = new WxMenuButton();
            button1.setType(WxConsts.MenuButtonType.CLICK);
            button1.setName("今日歌曲");
            button1.setKey("V1001_TODAY_MUSIC");

//            WxMenuButton button2 = new WxMenuButton();
//            button2.setType(WxConsts.MenuButtonType.MINIPROGRAM);
//            button2.setName("小程序");
//            button2.setAppId("wx286b93c14bbf93aa");
//            button2.setPagePath("pages/lunar/index.html");
//            button2.setUrl("http://mp.weixin.qq.com");

            WxMenuButton button3 = new WxMenuButton();
            button3.setName("菜单");

            menu.getButtons().add(button1);
//            menu.getButtons().add(button2);
            menu.getButtons().add(button3);

            WxMenuButton button31 = new WxMenuButton();
            button31.setType(WxConsts.MenuButtonType.VIEW);
            button31.setName("搜索");
            button31.setUrl("http://www.soso.com/");

            WxMenuButton button32 = new WxMenuButton();
            button32.setType(WxConsts.MenuButtonType.VIEW);
            button32.setName("视频");
            button32.setUrl("http://v.qq.com/");

            WxMenuButton button33 = new WxMenuButton();
            button33.setType(WxConsts.MenuButtonType.CLICK);
            button33.setName("爱你呦");
            button33.setKey("V1001_GOOD");

            button3.getSubButtons().add(button31);
            button3.getSubButtons().add(button32);
            button3.getSubButtons().add(button33);
            //我们可以将config配置在xml文件中管理
            config.setAppId("wx426aad126775582c");
            config.setSecret("d79b69215c50cee0c848415eb34c659a");
            wxMpService.setWxMpConfigStorage(config);
            wxMpService.getMenuService().menuCreate(menu);

    }

原文地址:https://www.cnblogs.com/iscys/p/9536278.html

时间: 2024-08-14 02:42:09

微信公众号开发(4)---使用开源组件开发自定义菜单栏的创建的相关文章

以海尔微信公众号为例:微商城开发怎么撩用户

海尔兄弟想必大家都知道(卖冰箱的),嗯,在小编眼里,的确是个卖冰箱的.能将卖冰箱的形象做到深入人心,也是很成功的了.在这个微信商城开发的时代,海尔也有自己的微信公众号.重点是,海尔的微信公众号的运营不仅颠覆了大家对内容营销的看法,还做得特别成功! 很多商家也有自己的微信公众号,但是在做内容的时候,总是不得要领.具体表现在粉丝数量上不去,或者粉丝数量上去了但活跃度不足.这是一个讲究拉新留存促活的时代,可见用户的存在有多大的意义.所以,为嘛海尔可以做得很好?小编特意去扒拉了下海尔的微信公众号,然后它

微信公众号聊天室 H5私聊功能开发 带推送提醒功能

微聊聊天室是专门针对微信公众号.H5开发的一款聊天室, 可群发计划.私聊, 群房间数无限制, 部署在您自己的服务器上, 有需要的联系我 qq: 445899710 微信 hype522147 下图是俩功能 1. 点击头像和用户私聊 2. 点击顶部联系管理菜单, 主动与客服管理私聊 效果图预览 原文地址:https://www.cnblogs.com/ccjin/p/11361114.html

微信公众号用户与网站用户的绑定-自定义菜单获取Openid(三)

本篇开发教程的实质是微信自定义菜单及OAuth2.0授权的灵活运用. 本文分为以下两个部分: 拥有高级接口权限时的获取(基于view事件) 没有高级接口权限时的获取(基于click事件) 一.拥有高级接口权限 拥有高级接口权限时,我们使用OAuth2.0授权的方式来获取. OAuth2.0的详细设置方法,请参考 微信公众平台开发(71)OAuth2.0网页授权 在设置好授权回调页面域名之后,我们需要构造菜单,为了方便同时讲解下一小节,我们菜单构造如下 { "button": [ { &

微信公众号开发

1. 企业号,服务号,订阅号的区别 消息次数限制:每分钟群发200次.每月主动发送消息不超过4条.每天群发一条. 验证关注者身份:通讯录成员可关注.任何微信用户扫码即可关注.任何微信用户扫码即可关注. 消息保密:消息可转发.分享,支持保密消息,防成员转发.消息可转发.分享.消息可转发.分享. 定制应用:可根据需要定制应用,多个应用聚合成一个企业号.不支持,新增服务号需要重新关注.不支持,新增服务号需要重新关注.2. 2. 个人订阅号 功能(编辑模式&&开发模式):群发功能.添加自动回复,消

微信公众号开发入门笔记(三):编辑模式与开发模式

(一)编辑模式与开发模式的区别 微信公众号后台分为编辑模式和开发模式,这两种模式是互斥的,也就是如果当前开启的是编辑模式(即默认的模式),那么开发模式必须是关闭状态的:如果当前开启的是开发模式,那么编辑模式状态必须是关闭的(此时自动消息回复.自定义菜单等都不可用). (二)开发模式下数据交互的原理 一张图说明问题: 所以我们需要实现的主要业务逻辑就在微信公众号服务器后台.

微信公众号开发教程

开发和调试之殇 微信公众号的开发,说简单也简单,说麻烦也麻烦,麻烦的不是开发过程,而是搭建开发环境的过程.只是俗话说得好,磨刀不误砍柴工,我们有必要花点时间来研究下怎样攻破微信公众号的开发环.说白了,公众号的开发就是基于HTML/CSS/JS的移动端Web App的开发.但微信公众号和普通的移动Web App开发还略有不同,由于非常多情况下我们会调用公众号的接口.而仅仅要涉及微信接口的请求,都必须通过微信内置的浏览器来訪问,假设我们想把请求放到PC桌面浏览器上执行调试.就会跳转到一个笑脸,提醒你

Java微信公众号开发

微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个web平台.微信公众账号的种类可以分为3种,并且一旦选定不可更改.按照功能的限制从小到大依次为:订阅号.服务号.企业号.个人只能注册订阅号.注册地址:https://mp.weixin.qq.com/. 开发环境的准备 微信公众号 外网映射工具(开发调试) 与微信的对接的URL应该满足以下的条件: 在公网上能够访问 只支持80端口 映射工具有很多,例如花生壳,ngrok可以将内网映射到公网上面,这样就可以使用公网访问本机的网络服务.下

微信公众号开发 (微信网页开发)

微信支付搞完之后,也开始了微信其他功能,不得不说,微信写得接口都比较齐全和标准,附上微信公众号开发文档链接,仔细阅读,必须严格按照其规则,才能调用微信的接口. 最近做了一个手机端调用微信接口打开摄像头进行扫描二维码功能和调用上传下载图片的接口,注意,在微信公众号配置要注意,[开发]-[接口权限] 查看对应的接口权限是开通了没有?最主要的是,还要在[公众号设置]-[功能设置]-[JS接口安全域名]配置,切记,一定是备案过的,一级二级都可以. 附上图片: 配置完此项之后,还有个地方需要配置的,需要特

微信公众号开发之院校行业应用

本方案适用于大学院系,职业学院等官方公众号建设,院校公众号,采用微信服务号定制开发,面向学生,以微信互动为主,让学生通过微信公众号认识了解同学,了解院校.帮助院校了解学生需求,建立一种新的院校与学生的沟通方式. 院校微信公众号需求模型 微信公众号功能模块 1.微社区 学生可以在微社区各个板块发言跟帖,并分享到朋友圈 2.校园生活 以图文,或视频的形式发布关系校园的趣事,新闻等. 3.院校工作 院校的微官网,院校介绍,公告通知消息等查询,办公室联系人等 4.个人主页 学生的个人微信主页,可以互动留

微信公众号开发(3)---使用开源组件开发进行接口验证

在经过一系列的微信开发后,关于微信的开发确实内容很庞大,一些基础的组件都要有我们开发者进行编写,有没有简单的方法呢? 哈哈----在开源社区中无意中找到了关于微信全套开发的sdk,里面包含了微信开发中所有的功能实现,作者是binarywang,也是一直在更新,社区还是挺活跃的. 献上 github地址: https://github.com/Wechat-Group/weixin-java-tools   !里面有一些开发的文档,大大便利我们的开发-- 接口配置(无需我们的工具类,一些验证已经帮