微信公众平台C#开发系列(七):创建自定义菜单

微信公众平台
205
微信公众平台
C#开发系列
创建自定义菜单

c#调用接口为微信公众号自定义设置菜单

自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。

接口文档地址:

https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

接着上一篇:微信公众平台C#开发系列(六):网络检测

部分使用类方法详情 请参考系列四 ,本文不再重复赘述

根据文档我们先定义一个CreatingCustomDefinedMenuResponse类继承 ErrorMessage 用于解析接口结果

ErrorMessage 公共类参考 : 微信公众平台C#开发系列(四):获取access token凭证

namespace YuanTK.WeiXin.Wrapper
{
    /// 
    /// 自定义菜单创建接口返回值
    /// 
    public class CreatingCustomDefinedMenuResponse : ErrorMessage
    {
    }
}

定义一个CreatingCustomDefinedMenu方法类继承WeiXinRequest 和接口IWeiXin 和CreatingCustomDefinedMenuRequest 请求参数类


namespace YuanTK.WeiXin
{

    /// 
    /// 一级菜单按钮
    /// 
    public class Button
    {
        /// 
        /// 菜单的响应动作类型,view表示网页类型,click表示点击类型,miniprogram表示小程序类型
        /// 
        public string type { get; set; }
        /// 
        /// 菜单标题,不超过16个字节,子菜单不超过60个字节
        /// 
        public string name { get; set; }
        /// 
        /// 菜单KEY值,用于消息接口推送,不超过128字节
        /// click等点击类型必须
        /// 
        public string key { get; set; }
        /// 
        /// 二级菜单数组,个数应为1~5个
        /// 
        public List sub_button { get; set; }
    }

    /// 
    /// 二级菜单按钮
    /// 
    public class Sub_Button
    {
        /// 
        /// 菜单的响应动作类型,view表示网页类型,click表示点击类型,miniprogram表示小程序类型
        /// 
        public string type { get; set; }
        /// 
        /// 菜单标题,不超过16个字节,子菜单不超过60个字节
        /// 
        public string name { get; set; }

        /// 
        /// 网页 链接,用户点击菜单可打开链接,不超过1024字节。 type为miniprogram时,不支持小程序的老版本客户端将打开本url。
        /// 
        public string url { get; set; }

        /// 
        /// miniprogram类型必须	小程序的appid(仅认证公众号可配置)
        /// 
        public string appid { get; set; }

        /// 
        /// miniprogram类型必须	小程序的页面路径
        /// 
        public string pagepath { get; set; }

        /// 
        /// 菜单KEY值,用于消息接口推送,不超过128字节
        /// click等点击类型必须
        /// 
        public string key { get; set; }
    }

    /// 
    /// 创建自定义菜单请求参数
    /// 
    public class CreatingCustomDefinedMenuRequest
    {
        /// 
        /// 一级菜单数组,个数应为1 ~3个
        /// 
        public List

调用代码例子

     string access_token = token.access_token;

            CreatingCustomDefinedMenuRequest request = new CreatingCustomDefinedMenuRequest();

            //创建第一个一级菜单
            Button bt1 = new Button()
            {
                type = "click",
                key = "V1001_TODAY_MUSIC",
                name = "今日歌曲"
            };

            //创建第二个一级菜单
            Button bt2 = new Button()
            {
                name = "菜单",
                sub_button = new List()
                {
                       new Sub_Button()
                       {
                            type="view",
                            name="搜索",
                            url="http://www.yuantk.com/"
                       }
                       //,new Sub_Button()
                       //{
                       //    type="miniprogram",
                       //    name="wxa",
                       //    url="http://mp.weixin.qq.com/",
                       //    appid="wx286b93c14bbf93aa",
                       //    pagepath="pages/lunar/index"
                       //}
                }
            };

            //创建第三个一级菜单
            Button bt3 = new Button()
            {
                type = "click",
                key = "V1001_GOOD",
                name = "赞一下我们"
            };

            request.button = new List

调用成功返回的结果(因为没有小程序权限所以小程序菜单就注释了)

c#调用接口为微信公众号自定义设置菜单

微信公众平台C#开发系列(十二): 模板消息-设置微信消息的所属行业
微信公众平台C#开发系列(九):删除自定义菜单
微信公众平台C#开发系列(十三):模板消息-获得模板ID
微信公众平台C#开发系列(八):查询自定义菜单
微信公众平台C#开发系列(四):获取access token凭证
微信公众平台C#开发系列(五):获取微信服务器IP地址
微信公众平台C#开发系列(十四): 模板消息-获取模板列表
微信公众平台C#开发系列(二):微信公众号开发的准备工作
微信公众平台C#开发系列(十六)模板消息-发送消息模板
微信公众平台C#开发系列(十五): 模板消息-删除消息模板
微信公众平台C#开发系列(三):公众平台接入
微信公众平台C#开发系列(一):为什么要微信公众号开发
暂无相关内容...
暂无相关内容...
免责声明 部分转载分享内容若侵犯您的权益,还请 邮件联系 侵删