C#如何实现微信企业号的菜单管理
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下C#如何实现微信企业号的菜单管理 ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、菜单的总体介绍菜单的
千家信息网最后更新 2025年11月08日C#如何实现微信企业号的菜单管理
小编给大家分享一下C#如何实现微信企业号的菜单管理 ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、菜单的总体介绍
菜单的事件处理如下所示,包括了单击和跳转两个操作,未来企业号可能会增加一些和公众号一样的扫码操作,拍照操作等功能的,目前只有两个。

官方的菜单定义接口包含了下面三种操作,菜单创建、列表获取和菜单删除,这点和公众号操作几乎一样了。
2、菜单的实体类定义和接口定义处理
我们定义菜单,包括定义它的一些属性,包含有name, type, key,url,以及一个指向自身引用的子菜单引用,因此菜单就可以循环构造多个层次,虽然严格意义上来讲,企业号的菜单和公众号菜单一样,一级三个,二级最多五个,而且没有三级菜单了。
实体类的UML图示如下所示。

菜单管理的创建操作,官方定义如下所示。
请求说明
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#管理接口定义如下所示。
////// 企业号菜单管理接口定义 /// public interface ICorpMenuApi { ////// 获取菜单数据 /// /// 调用接口凭证 ///MenuListJson GetMenu(string accessToken, string agentid); /// /// 创建菜单 /// /// 调用接口凭证 /// 菜单对象 ///CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid); /// /// 删除菜单 /// /// 调用接口凭证 ///CommonResult DeleteMenu(string accessToken, string agentid); }
我们以创建菜单的实现为例来介绍微信企业号菜单的操作,其他的操作类似处理,都是返回一个公共的消息类,方便处理和读取,代码如下所示。
////// 创建菜单 /// /// 调用接口凭证 /// 菜单对象 ///public CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid) { var url = string.Format("http://www.php.cn/{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.php.cn/"), new MenuJson("联系我们", ButtonType.click, "event_contact"), new MenuJson("应答系统", ButtonType.click, "set-1"), new MenuJson("发邮件", ButtonType.view, "http://www.php.cn/") }); 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()); } }调用代码的测试输出如下所示。
以上是"C#如何实现微信企业号的菜单管理 "这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
菜单
接口
管理
企业
框架
凭证
处理
产品
代码
字节
官方
类型
应用
开发
C#
公众
篇文章
链接
两个
个数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
论文写作软件开发
部落冲突龙的数据库
服务器管理怎么下载
广东铭讯网络技术有限公司
网络安全演练总结报告怎么写
如何在校外使用数据库
chip数据库的不足有哪些
嵌入式实时数据库
代理网络安全管理体系认证证书
幻灵游侠数据库修改技术
成都手游软件开发公司
数据库可以附加几个数据库
易语言数据库添加
知网怎么进入英文数据库搜索
北京安卓软件开发定制费用
合肥极有软件开发
海康平台管理服务器图片
软件开发费用应该如何写
类似方正国际软件开发企业
网络安全员晋升
手机软件开发下载
进海康做应用软件开发
查看服务器系统日志
怀旧服永久60级服务器哪几个
表格数据库建模
航海王服务器爆满怎么进
算命源码数据库
国外 硕士 网络安全
多项促进网络安全法
河北省青少年网络安全知识竞赛