首页 > 开发 > JS > 正文

微信公众号平台接口开发 菜单管理的实现

2024-05-06 16:54:12
字体:
来源:转载
供稿:网友

官方菜单功能介绍

微信公众号平台,接口开发,菜单管理

微信公众号平台,接口开发,菜单管理

请求接口:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

微信公众号平台,接口开发,菜单管理

微信公众号平台,接口开发,菜单管理

新增菜单管理类

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>

有效代码写完了,看看效果

微信公众号平台,接口开发,菜单管理

微信公众号平台,接口开发,菜单管理

成功了哦。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表