微信公眾號平臺接口開發(fā) 菜單管理的實現(xiàn)
官方菜單功能介紹
請求接口: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 = "發(fā)圖", sub_button = new List<MenuTwoLayerModel>() { new MenuTwoLayerModel() { type = "pic_sysphoto", name = "系統(tǒng)拍照發(fā)圖", key = "rselfmenu_1_0" }, new MenuTwoLayerModel() { type = "pic_photo_or_album", name = "拍照或者相冊發(fā)圖", key = "rselfmenu_1_1" }, new MenuTwoLayerModel() { type = "pic_weixin", name = "微信相冊發(fā)圖", key = "rselfmenu_1_2" } } }, new MenuFirstLayerModel() { name = "其他", sub_button = new List<MenuTwoLayerModel>() { new MenuTwoLayerModel() { type = "location_select", name = "發(fā)送位置", 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">菜單創(chuàng)建</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 = "發(fā)圖", sub_button = new[] { new { type = "pic_sysphoto", name = "系統(tǒng)拍照發(fā)圖", key = "rselfmenu_1_0" }, new { type = "pic_photo_or_album", name = "拍照或者相冊發(fā)圖", key = "rselfmenu_1_1" }, new { type = "pic_weixin", name = "微信相冊發(fā)圖", key = "rselfmenu_1_2" } } }, new { name = "其他", sub_button = new[] { new { type = "location_select", name = "發(fā)送位置", 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=" 創(chuàng)建 " /></td> <td id="resultMesage" class="resultMesage"></td> </tr> </table>
有效代碼寫完了,看看效果
成功了哦。
相關(guān)文章
javascript同頁面多次調(diào)用彈出層具體實例代碼
一個在同一個頁面可多次調(diào)用的javascript彈出層效果,有需要的同學(xué)可以參考一下2013-08-08js 實現(xiàn)省市區(qū)三級聯(lián)動菜單效果
本文主要分享了js實現(xiàn)省市區(qū)三級聯(lián)動菜單效果的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02數(shù)據(jù)排序誰最快(javascript中的Array.prototype.sort PK 快速排序)
今天在51js論壇中看到一個網(wǎng)友發(fā)布了一個javasctipt實現(xiàn)的快速排序的算法,前些日子工作中也涉及到j(luò)avasctipt中數(shù)據(jù)排序的應(yīng)用,當(dāng)時為了提高排序速度,使用的也是快速排序的算法。2007-01-01js+canvas實現(xiàn)圖片格式webp/png/jpeg在線轉(zhuǎn)換
這篇文章主要介紹了js+canvas實現(xiàn)圖片格式webp/png/jpeg在線轉(zhuǎn)換,需要的朋友可以參考下2020-08-08require導(dǎo)入module.exports 或 exports導(dǎo)出的使用方法
module.exports用于導(dǎo)出整個模塊的內(nèi)容,可以通過賦值給 module.exports 導(dǎo)出一個對象、函數(shù)或值,導(dǎo)出的內(nèi)容可以被其他模塊通過require 導(dǎo)入,本文給大家介紹require導(dǎo)入module.exports 或 exports導(dǎo)出的使用,感興趣的朋友一起看看吧2023-11-11