首页 > 学院 > 开发设计 > 正文

微信自定义菜单

2019-11-17 02:46:12
字体:
来源:转载
供稿:网友

微信自定义菜单

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

两个类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格式数据。

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

举例:

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数据,生成菜单!

  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表