码迷,mamicode.com
首页 > 微信 > 详细

微信自定义菜单

时间:2014-11-11 16:24:46      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   os   sp   for   数据   

自己写的构造自定义菜单的方法,虽然有些重复,但毕竟是自己写的感觉更清楚些!各位有什么好的意见指出来呀!

两个类SubButton(子菜单),ParentButton(父级菜单)。

public class ParentButton
{
  public string name;
  public List<SubButton> list;
}

public class SubButton
{
  public string name;
  public string type;
  public string url;
  public string key;
}

 

构造好的菜单传给GetCustomMenuJsonData得到正确的Json格式数据。

bubuko.com,布布扣
public string GetCustomMenuJsonData(List<ParentButton> list)
{
  string jsonStr = "";
  string str = "";
  if (list != null && list.Count > 0)
  {
    foreach (ParentButton parentButton in list)
    {
      if (parentButton != null)
      {
        string subStr = "";
        if (parentButton.list != null && parentButton.list.Count > 0)
        {
          foreach (SubButton button in parentButton.list)
          {
            if (button != null)
            {
              if (subStr != "")
              {
                subStr += ",";
              }
              if (button.type == "click")
              {
                subStr += "{ \"type\":\"click\", \"name\":\"" + button.name + "\",\"key\":\"" + button.key + "\" }";
              }
              else
              {
                subStr += "{ \"type\":\"view\", \"name\":\"" + button.name + "\",\"url\":\"" + button.url + "\" }";
              }

              }

            }

          }
          if (str != "")
          {
            str += ",";
          }
          str += " {\"name\":\"" + parentButton.name + "\", \"sub_button\":[" + subStr + "]}";

        }
      }
      jsonStr = ("{ \"button\":[" + str + "]}");
    }
  return jsonStr;
  }
View Code

 

举例:

bubuko.com,布布扣
Publish List<ParentButton> CreateCustomButton()

{

ParentButton button1 = new ParentButton();

List<SubButton> subButtonList1 = new List<SubButton>();
SubButton subButton = new SubButton();
subButton.name = "百度";
subButton.type = "view";
subButton.url = "www.baidu.com";
subButtonList1.Add(subButton);

subButton = new SubButton();
subButton.name = "谷歌";
subButton.type = "view";
subButton.url = "www.google.com";

subButtonList1.Add(subButton);

button1.name = "搜索"; 
button1.list = subButtonList1;


ParentButton button2 = new ParentButton();
button2.name="其他";

List<ParentButton> list = new List<ParentButton>();
list.Add(button1);
list.Add(button2);

return list;

}
View Code

 

得到json数据后通过

https://api.wexin.qq.com/cgi-bin/token?grant_type=client_credential&appid=AppId&secret=AppSecret

获取到accesstoken,然后通过

https://api.weixin.qq.com/cgi-bin/menu/create?access_token=AccessToken

提交自定义菜单的json数据,生成菜单!

  

微信自定义菜单

标签:style   blog   http   color   ar   os   sp   for   数据   

原文地址:http://www.cnblogs.com/flywing/p/4089567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!