微信公众号平台接口开发 菜单管理的实现
编程学习 2021-07-04 15:51www.dzhlxh.cn编程入门
这篇文章主要介绍了微信公众号平台接口开发 菜单管理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
官方菜单功能介绍
请求接口:
新增菜单管理类
public class MenuFirstLayerModel { public string name { get; set; } public List<MenuTwoLayerModel> sub_button { get; set; } } public class MenuTwoLayerModel { public string type { get; set; } public string name { get; set; } public string key { get; set; } public string url { get; set; } } public class WXMenu { public List<MenuFirstLayerModel> button { get; set; } public string Create() { try { var requestUri = string.Format(@"https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", WeCharBase.AccessToken); return WeCharBase.Post(requestUri, new StringContent(JsonConvert.SerializeObject(new { button = button }))); } catch (Exception ex) { return ex.Message; } } }
新增控制器MenuController.cs
public ActionResult ViewMenu() { return View(); } public ActionResult CreateMenu() { var wxMenu = new WXMenu() { button = new List<MenuFirstLayerModel>() { new MenuFirstLayerModel() { name="扫码", sub_button = new List<MenuTwoLayerModel>() { new MenuTwoLayerModel() { type = "scancode_waitmsg", name = "扫码带提示", key = "rselfmenu_0_0" }, new MenuTwoLayerModel() { type = "scancode_push", name = "扫码推事件", key = "rselfmenu_0_1" } }, }, new MenuFirstLayerModel() { name = "发图", sub_button = new List<MenuTwoLayerModel>() { new MenuTwoLayerModel() { type = "pic_sysphoto", name = "系统拍照发图", key = "rselfmenu_1_0" }, new MenuTwoLayerModel() { type = "pic_photo_or_album", name = "拍照或者相册发图", key = "rselfmenu_1_1" }, new MenuTwoLayerModel() { type = "pic_weixin", name = "微信相册发图", key = "rselfmenu_1_2" } } }, new MenuFirstLayerModel() { name = "其他", sub_button = new List<MenuTwoLayerModel>() { new MenuTwoLayerModel() { type = "location_select", name = "发送位置", key = "rselfmenu_2_0" }, new MenuTwoLayerModel() { type = "click", name = "今日歌曲", key = "V1001_TODAY_MUSIC" }, new MenuTwoLayerModel() { type = "view", name = "百度", url = "http://www.baidu.com" } } } } }; return Content(wxMenu.Create()); }
新增视图ViewMenu.cshtml
<script type="text/javascript" language="javascript"> $(document).ready(function () { $("#btnCreate").click(function () { $.ajax({ type: "POST", url: "/Menu/CreateMenu", data: { id: $("#textContent").val() }, success: function (responseTest) { $("#resultMesage").text(responseTest); } }); }); }); </script> <table> <tr> <td> <div class="title">菜单创建</div> <textarea id="textContent" name="textContent" rows="20" cols="100"> button = new[] { new { name="扫码", sub_button = new[] { new { type = "scancode_waitmsg", name = "扫码带提示", key = "rselfmenu_0_0" }, new { type = "scancode_push", name = "扫码推事件", key = "rselfmenu_0_1" } } }, new { name = "发图", sub_button = new[] { new { type = "pic_sysphoto", name = "系统拍照发图", key = "rselfmenu_1_0" }, new { type = "pic_photo_or_album", name = "拍照或者相册发图", key = "rselfmenu_1_1" }, new { type = "pic_weixin", name = "微信相册发图", key = "rselfmenu_1_2" } } }, new { name = "其他", sub_button = new[] { new { type = "location_select", name = "发送位置", key = "rselfmenu_2_0" }, new { type = "click", name = "今日歌曲", key = "V1001_TODAY_MUSIC" }, new { type = "view", name = "百度", url = "http://www.baidu.com" } } } } </textarea> </td> <td><input class="btncss" id="btnCreate" type="button" value=" 创建 " /></td> <td id="resultMesage" class="resultMesage"></td> </tr> </table>
有效代码写完了,看看效果
成功了哦。