微信公眾號(hào)平臺(tái)接口開發(fā) 菜單管理的實(shí)現(xiàn)
官方菜單功能介紹


請(qǐng)求接口: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 = "拍照或者相冊(cè)發(fā)圖",
key = "rselfmenu_1_1"
},
new MenuTwoLayerModel()
{
type = "pic_weixin",
name = "微信相冊(cè)發(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 = "拍照或者相冊(cè)發(fā)圖",
key = "rselfmenu_1_1"
},
new
{
type = "pic_weixin",
name = "微信相冊(cè)發(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同頁(yè)面多次調(diào)用彈出層具體實(shí)例代碼
一個(gè)在同一個(gè)頁(yè)面可多次調(diào)用的javascript彈出層效果,有需要的同學(xué)可以參考一下2013-08-08
js 實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)菜單效果
本文主要分享了js實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)菜單效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
數(shù)據(jù)排序誰(shuí)最快(javascript中的Array.prototype.sort PK 快速排序)
今天在51js論壇中看到一個(gè)網(wǎng)友發(fā)布了一個(gè)javasctipt實(shí)現(xiàn)的快速排序的算法,前些日子工作中也涉及到j(luò)avasctipt中數(shù)據(jù)排序的應(yīng)用,當(dāng)時(shí)為了提高排序速度,使用的也是快速排序的算法。2007-01-01
Next項(xiàng)目路徑添加指定的訪問(wèn)前綴方法詳解
這篇文章主要介紹了Next項(xiàng)目路徑添加指定的訪問(wèn)前綴方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
js+canvas實(shí)現(xiàn)圖片格式webp/png/jpeg在線轉(zhuǎn)換
這篇文章主要介紹了js+canvas實(shí)現(xiàn)圖片格式webp/png/jpeg在線轉(zhuǎn)換,需要的朋友可以參考下2020-08-08
require導(dǎo)入module.exports 或 exports導(dǎo)出的使用方法
module.exports用于導(dǎo)出整個(gè)模塊的內(nèi)容,可以通過(guò)賦值給 module.exports 導(dǎo)出一個(gè)對(duì)象、函數(shù)或值,導(dǎo)出的內(nèi)容可以被其他模塊通過(guò)require 導(dǎo)入,本文給大家介紹require導(dǎo)入module.exports 或 exports導(dǎo)出的使用,感興趣的朋友一起看看吧2023-11-11

