博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明
阅读量:7078 次
发布时间:2019-06-28

本文共 2411 字,大约阅读时间需要 8 分钟。

上一篇《》介绍了如何通过通用接口获取AccessToken,有了AccessToken,我们就可以来操作自定义菜单,以及其他的高级接口,这一篇单讲自定义菜单。

 

一、自定义菜单规则

  1. 自定义菜单分为一级菜单和二级菜单。
  2. 一级菜单数量为1-3个,即打开公众账号直接可以看到排列在最下方的最多3个按钮。一级菜单的文字最多不能超过16字节(相当于8个汉字)。
  3. 二级菜单从属于一级菜单,数量为1-5个。二级菜单的文字不最多不能超过40字节(相当于20个汉字)。
  4. 无论一级菜单还是二级菜单,都有两个触发事件可以选择,分别是:点击(click,值不能超过128字节)和打开网址(view,url不能超过256个字节)。
  5. 当一个一级菜单下有二级菜单存在的时候,这个一级菜单按钮被点击不会有任何事件发生。

二、创建菜单

  使用Senparc.Weixin.MP SDK创建自定义菜单非常简单。只需三步:

  第一步:获取AccessToken

var accessToken = AccessTokenContainer.TryGetToken(appId, appSecret).access_token;

  第二步:组织菜单内容

ButtonGroup bg = new ButtonGroup();//单击bg.button.Add(new SingleClickButton()                    {                        name = "单击测试",                        key = "OneClick",                        type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示                    });//二级菜单var subButton = new SubButton()                    {                        name = "二级菜单"                    };subButton.sub_button.Add(new SingleClickButton()                            {                                key = "SubClickRoot_Text",                                name = "返回文本"                            });subButton.sub_button.Add(new SingleClickButton()                            {                                key = "SubClickRoot_News",                                name = "返回图文"                            });subButton.sub_button.Add(new SingleClickButton()                            {                                key = "SubClickRoot_Music",                                name = "返回音乐"                            });subButton.sub_button.Add(new SingleViewButton()                            {                                url = "http://weixin.senparc.com",                                name = "Url跳转"                            });bg.button.Add(subButton);

  第三步:提交到微信服务器

var result = CommonApi.CreateMenu(accessToken, bg);

  上面SingleClickButton和SingleViewButton分别对应了click和view两种菜单响应方式。

三、菜单查询

  查询菜单同样需要按照上面的方式获取AccessToken,然后只需要一行代码:

var result = CommonApi.GetMenu(accessToken);

  得到的result.menu的结构即类似上述创建菜单时的ButtonGroup bg变量。

四、菜单删除

  得到AccessToken后,删除菜单同样只需要一行代码:

var result = CommonApi.DeleteMenu(accessToken);

五、菜单响应事件

  无论是click还是view,服务器都会收到不同的事件响应(见《》,分别触发OnEvent_ClickRequest()和OnEvent_ViewRequest()。

  不同的是,click之后客户端可以得到返回信息,而view在收到请求后,无论返回什么信息,客户端都无法收到(直接打开URL了)。 

六、自定义菜单可视化编辑器

  目前盛派网络在两个地方提供了免费的自定义菜单可视化编辑器,免去大家需要运行代码才能操作菜单的困境:

    1. 第一代:
    2. 第二代:微微嗨(),注册添加微信公众账号之后即可获得一系列强大的管理功能。

转载地址:http://bxdml.baihongyu.com/

你可能感兴趣的文章
VS_生成事件
查看>>
关于android布局的两个属性dither和tileMode
查看>>
Top 10 JavaScript编辑器,你在用哪个?
查看>>
MySQL数据库 添加用户、删除用户与授权
查看>>
Heartbeat-Gui V2 实现HA LAMP 搭建wordpress博客
查看>>
比较redis和memcached优劣势(待补录)
查看>>
虚拟机中安装Linux发行版系统(CentOS)的方法
查看>>
ext-js DateField选择的时间不可以用long类型传递
查看>>
<基础巩固> 二叉搜索树
查看>>
21天让你成为Horizon View高手—Day2:安装Horizon View前准备
查看>>
XEN_CITRIX_Server 安装及创建虚拟机
查看>>
idea创建maven项目失败, Failed to create a Maven project:'D:/xxx' already exists in VFS
查看>>
callable 和 FutureTask 和 future以及浅谈completionService
查看>>
检测浏览器版本类型及版本号
查看>>
java SqlServer插入操作
查看>>
Base64的三种加密算法 jdk commons codec bouncy Castle
查看>>
Spinner使用
查看>>
python数据可视化----绘制各种图形
查看>>
照葫芦画瓢-functions(方法)
查看>>
照葫芦画瓢-exception(异常)
查看>>