菜单操作类:
1 #region 创建、查询、删除菜单 2 3 ///4 /// 创建菜单 5 /// 6 /// 菜单字符串 7 ///ReturnMsg.ErrCode为0则创建菜单成功 8 public static ErrorMessage CreateMenu(string menuData) 9 { 10 string url = string.Format(WeiXinConst.WeiXin_Menu_CreateUrl, AccessToken.Instance.Access_Token); 11 ErrorMessage msg = HttpClientHelper.PostResponse(url, menuData); 12 return msg; 13 } 14 15 /// 16 /// 获取菜单信息 17 /// 18 ///菜单详细信息的字符串(失败则返回 null) 19 public static string GetMenu() 20 { 21 string url = string.Format(WeiXinConst.WeiXin_Menu_GetUrl, AccessToken.Instance.Access_Token); 22 string result = HttpClientHelper.GetResponse(url); 23 return result; 24 } 25 26 ///27 /// 删除自定义菜单 28 /// 29 ///30 public static bool DeleteMenu() 31 { 32 string url = string.Format(WeiXinConst.WeiXin_Menu_DeleteUrl, AccessToken.Instance.Access_Token); 33 ErrorMessage msg = HttpClientHelper.GetResponse (url); 34 return msg.ErrCode == "0"; 35 }
有了上面的方法,一切都是那么简单
一、自定义菜单创建
menu.txt是存储菜单的文本文件,ErrorMessage 是对微信返回结果的封装:
1 public class ErrorMessage 2 { 3 //{"errcode":40001,"errmsg":"invalid credential"} AppId AppSecret 配置错误,或AccessToken 过期 4 5 public string ErrCode { get; set; } 6 7 public string ErrMsg { get; set; } 8 9 public bool TokenExpired 10 { 11 get { return ErrCode == "40001"; } 12 } 13 } 1 string menuFile = Server.MapPath("~/Document/menu.txt"); 2 string menuString = System.IO.File.ReadAllText(menuFile); 3 4 ErrorMessage message = WeiXinHelper.CreateMenu(menuString);
二、自定义菜单查询
string menuString =WeiXinHelper.GetMenu();
三、自定义菜单删除
bool result = WeiXinHelper.DeleteMenu();