原创
car_5

微信菜单由简单的Json字符串组成,咱们要做的就是获取/修改Json字符串。

1、建立查询菜单、修改菜单的控制器方法

using Dos.WeChat;
namespace UI.Controllers
{
    public class WeChatController : Controller
    {
        //保存菜单
        public JsonResult SaveMenu(string menuJson)
        {
            var menu = Menu.FromJson(menuJson.Replace("$", "&"));
            var r = MenuHelper.Save(menu);
            return Json(r);
        }
        //获取菜单Json字符串
        public string GetMenu()
        {
            var menu = MenuHelper.Get();
            return menu.ToString();
        }
    }
}

2、cshtml页面前端代码

<textarea id="txtMenuJson" style="width: 700px; height: 300px;">
</textarea>
<input type="button" onclick="SaveMenu()" value="保存菜单" />

3、js代码

//获取菜单
$(function(){
    $.post("WeChat/GetMenu", {}, function (data) {
        //设置菜单json字符串至文本框
        $("#txtMenuJson").html(data);
    });
});
//保存菜单
function SaveMenu() {
    $.post("WeChat/SaveMenu", { 
        menuJson: $("#txtMenuJson").val().replace(/&/g, "$") 
    }, function (data) {
        //IsSuccess为true表示保存成功。
        alert(JSON.stringify(data));
    });
}

3、菜单格式。建设在http://www.itdos.com/Tools/JsonFormat.html本站格式化页面进行格式化后编辑。

{"button":[{"name":"报名学车","type":"view","url":"http://www.itdos.com","sub_button":[]},{"name":"培训考试","sub_button":[{"name":"我要约课","type":"view","url":"http://www.itdos.net","sub_button":[]},{"name":"模拟考试预约","type":"view","url":"http://www.itdos.cn","sub_button":[]}]},{"name":"更多","sub_button":[{"name":"学车狂欢季","type":"view","url":"http://jlgj.xunchezu.com/StaticViews/720/Index.html","sub_button":[]},{"key":"XueCheBaoZhang","name":"学车保障","type":"click","sub_button":[]}]}]}


4、效果图:

blob.png