C#开发微信门户及用(20)-微信企业号的食谱管理

By admin in 亚洲必赢app在哪下载 on 2018年9月27日

前方几篇陆续介绍了过多微信企业号的系操作,企业号与公众号一样都得以自定义菜单,因此他们吧足以经API进行菜单的创建、获取列表、删除的操作,因此本篇继续追此主体,介绍公司号的食谱管理操作。

菜单以多景下,能够被咱们提供一个速入口,也可以为此来获得用户信息之重要性进口,通过OAuth2验证接口,以及从定义之重定向菜单,我们就足以收获相应的用户ID,然后一发获得到用户之相关数据,可以显示为客户。

1、菜单的圆介绍

食谱的事件处理如下所示,包括了单击和跳转两独操作,未来公司号可能会见增加有同群众号相同的扫码操作,拍照操作等职能的,目前只有简单独。

亚洲必赢app在哪下载 1

合法的食谱定义接口包含了下面三栽操作,菜单创建、列表获取与菜单删除,这点和群众号操作几乎同一了。

亚洲必赢app在哪下载 2

 

2、菜单的实体类定义跟接口定义处理

我们定义菜单,包括定义其的有些属性,包含有name, type,
key,url,以及一个对准自身引用的子菜单引用,因此菜单就可以循环构造多个层次,虽然严格意义上来讲,企业号的菜谱和公众号菜单一样,一级三个,二级最多五单,而且没有三级菜单了。

实体类的UML图示如下所示。

亚洲必赢app在哪下载 3

菜单管理之创建操作,官方概念如下所示。

  • 求说明

Https请求方式: POST

https://qyapi.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN&agentid=1

要保管如下:

{
   "button":[
       {    
           "type":"click",
           "name":"今日歌曲",
           "key":"V1001_TODAY_MUSIC"
       },
       {
           "name":"菜单",
           "sub_button":[
               {
                   "type":"view",
                   "name":"搜索",
                   "url":"http://www.soso.com/"
               },
               {
                   "type":"click",
                   "name":"赞一下我们",
                   "key":"V1001_GOOD"
               }
           ]
      }
   ]
}
  • 参数说明
参数 必须 说明
access_token 调用接口凭证
agentid 企业应用的id,整型。可在应用的设置页面查看
button 一级菜单数组,个数应为1~3个
sub_button 二级菜单数组,个数应为1~5个
type 菜单的响应动作类型,目前有click、view两种类型
name 菜单标题,不超过16个字节,子菜单不超过40个字节
key click类型必须 菜单KEY值,用于消息接口推送,不超过128字节
url view类型必须 网页链接,员工点击菜单可打开链接,不超过256字节
  • 权力说明

组织者要具有使用之管理权限,并且采取必须安装在回调模式。

回来结果

{
   "errcode":0,
   "errmsg":"ok"
}

 

基于上面官方的定义语义,我们菜单管理之C#管住接口定义如下所示。

    /// <summary>
    /// 企业号菜单管理接口定义
    /// </summary>
    public interface ICorpMenuApi
    {
        /// <summary>
        /// 获取菜单数据
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <returns></returns>
        MenuListJson GetMenu(string accessToken, string agentid);

        /// <summary>
        /// 创建菜单
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="menuJson">菜单对象</param>
        /// <returns></returns>
        CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid);

        /// <summary>
        /// 删除菜单
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <returns></returns>
        CommonResult DeleteMenu(string accessToken, string agentid);
    }

咱为创办菜单的兑现呢条例来介绍微信企业号菜单的操作,其他的操作看似处理,都是回一个国有的消息类,方便处理与读取,代码如下所示。

        /// <summary>
        /// 创建菜单
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="menuJson">菜单对象</param>
        /// <returns></returns>
        public CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid)
        {
            var url = string.Format("https://qyapi.weixin.qq.com/cgi-bin/menu/create?access_token={0}&agentid={1}", accessToken, agentid);
            string postData = menuJson.ToJson();

            return Helper.GetCorpExecuteResult(url, postData);
        }

 

3、企业号菜单管理接口的调用和处理效果

调用的代码和成效图如下所示。

        private void btnMenuCreate_Click(object sender, EventArgs e)
        {
            MenuJson productInfo = new MenuJson("产品介绍", new MenuJson[] { 
                new MenuJson("软件产品介绍", ButtonType.click, "event-software")
                , new MenuJson("框架源码产品", ButtonType.click, "event-source")
                , new MenuJson("软件定制开发", ButtonType.click, "event-develop")
            });

            MenuJson frameworkInfo = new MenuJson("框架产品", new MenuJson[] { 
                new MenuJson("Win开发框架", ButtonType.click, "win"),
                new MenuJson("WCF开发框架", ButtonType.click, "wcf"),
                new MenuJson("混合式框架", ButtonType.click, "mix"), 
                new MenuJson("Web开发框架", ButtonType.click, "web")
                ,new MenuJson("代码生成工具", ButtonType.click, "database2sharp")
            });

            MenuJson relatedInfo = new MenuJson("相关链接", new MenuJson[] { 
                new MenuJson("公司介绍", ButtonType.click, "event_company"),
                new MenuJson("官方网站", ButtonType.view, "http://www.iqidi.com"),
                new MenuJson("联系我们", ButtonType.click, "event_contact"),
                new MenuJson("应答系统", ButtonType.click, "set-1"),    
                new MenuJson("发邮件", ButtonType.view, "http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=S31yfX15fn8LOjplKCQm")
            });

            MenuListJson menuJson = new MenuListJson();
            menuJson.button.AddRange(new MenuJson[] { productInfo, frameworkInfo, relatedInfo });

            //Console.WriteLine(menuJson.ToJson());

            if (MessageUtil.ShowYesNoAndWarning("您确认要创建菜单吗") == System.Windows.Forms.DialogResult.Yes)
            {
                ICorpMenuApi bll = new CorpMenuApi(); 
                CommonResult result = bll.CreateMenu(token, menuJson, agentid);
                Console.WriteLine("创建菜单:" + (result.Success ? "成功" : "失败:" + result.ErrorMessage));
            }
        }

        private void btnMenuGet_Click(object sender, EventArgs e)
        {
            ICorpMenuApi bll = new CorpMenuApi();
            MenuListJson menu = bll.GetMenu(token, agentid);
            if (menu != null)
            {
                Console.WriteLine(menu.ToJson());
            }
        }

调用代码的测试输出如下所示。

亚洲必赢app在哪下载 4

 

假定对之《C#开发微信门户及运用》系列感兴趣,可以关心本身的别文章,系列随笔如下所示:

C#支付微信门户及下(25)-微信企业号的客户端管住职能

C#开发微信门户及使用(24)-微信小店货架信息保管

C#开微信门户及利用(23)-微信小店商品管理接口的包和测试

C#支出微信门户及以(22)-微信小店的开发暨用

C#出微信门户及下(21)-微信企业号的音和事件的收处理与解密 

C#支出微信门户及利用(20)-微信企业号的菜谱管理

C#出微信门户及以(19)-微信企业号的音信发送(文本、图片、文件、语音、视频、图文信息等)

C#付出微信门户及使用(18)-微信企业号的通讯录管理支出的成员管理

C#开微信门户及运用(17)-微信企业号的通讯录管理支出之部门管理

C#付出微信门户及动(16)-微信企业号的配备与应用

C#开微信门户及采取(15)-微信菜单增加扫一扫、发图片、发地理位置功能

 C#付出微信门户及运用(14)-在微信菜单中使重定向获得用户数据

C#开微信门户及动(13)-使用地理位置扩展相关以

C#付出微信门户及采取(12)-使用语音处理

C#出微信门户及应用(11)–微信菜单的多种见方式介绍

C#支付微信门户及用(10)–在管理体系被一道微信用户分组信息

C#开发微信门户及下(9)-微信门户菜单管理和交至微信服务器

C#支付微信门户及使用(8)-微信门户应用管理网机能介绍

C#付出微信门户及利用(7)-微信多客服功能和支付并

C#出微信门户及以(6)–微信门户菜单的管理操作

C#支付微信门户及下(5)–用户分组信息保管

C#付出微信门户及使用(4)–关注用户列表及详细信息管理

C#开微信门户及利用(3)–文本信和图文信息的报

C#支出微信门户及以(2)–微信消息的处理与应

C#出微信门户及下(1)–开始采取微信接口

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2018 亚洲必赢app官方下载 版权所有