激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 微信公眾號開發之設置自定義菜單實例代碼【java版】

微信公眾號開發之設置自定義菜單實例代碼【java版】

2021-05-10 10:57YuanlongWang Java教程

這篇文章主要介紹了微信公眾號開發之設置自定義菜單實例代碼,本實例是為了實現在管理后臺實現微信菜單的添加刪除管理。需要的朋友可以參考下

本實例是為了實現在管理后臺實現微信菜單的添加刪除管理。

1、首先我們需要新建一個數據庫表用于存放menu菜單項

微信公眾號開發之設置自定義菜單實例代碼【java版】

可包含的字段有id、父類id、name、排序、是否顯示、類型(view、click)、鏈接、adddate

注意后臺存menu菜單數據時,parentid=-1為一級菜單,或parendid為一級菜單的id作為該一級菜單下的二級菜單

2、在設置菜單時需要向微信接口傳menujson字符串,所以要先拼接字符串,后臺定義一個creatmenu()

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public bool creatmenu()
    {
      string menujson = "";
      //這里默認parentid=-1為最外層菜單,isactive=1為顯示,responsetype=1為click類型
      datatable dtamenu = service.selectdatatable("id, name, responsetype, jsonstr,url", "weixinmenu", " parentid=-1 and isactive=1 order by sort");
      if (dtamenu.rows.count > 0)
      {
        menujson = "{\"button\":[";
        for (int i = 0; i < dtamenu.rows.count; i++)
        {
          datatable dtbmenu = service.selectdatatable("id, name, responsetype, jsonstr,url", wx, " parentid=" + dtamenu.rows[i]["id"].tostring() + " and isactive=1 order by sort");
          if (dtbmenu.rows.count > 0)
          {
            menujson += "{\"name\":\"" + dtamenu.rows[i]["name"].tostring() + "\",\"sub_button\":[";
            for (int j = 0; j < dtbmenu.rows.count; j++)
            {
              if (convert.toint32(dtbmenu.rows[j]["responsetype"]) == 2)
              {
                menujson += "{\"type\":\"view\",\"name\":\"" + dtbmenu.rows[j]["name"].tostring() + "\",\"url\":\"" + dtbmenu.rows[j]["jsonstr"].tostring() + "\"},";
              }
              else
              {
                menujson += "{\"type\":\"click\",\"name\":\"" + dtbmenu.rows[j]["name"].tostring() + "\",\"key\":\"eventkey_" + dtbmenu.rows[j]["id"].tostring() + "\"},";
              }
            }
            menujson = menujson.trimend(',');
            menujson += "]},";
          }
          else
          {
            //if (convert.toint32(dtamenu.rows[i]["responsetype"]) == 2)
            //{
              menujson += "{\"type\":\"view\",\"name\":\"" + dtamenu.rows[i]["name"].tostring() + "\",\"url\":\"" + dtamenu.rows[i]["jsonstr"].tostring() + "\"},";
            //}
            //else
            //{
            //  menujson += "{\"type\":\"click\",\"name\":\"" + dtamenu.rows[i]["name"].tostring() + "\",\"key\":\"eventkey_" + dtamenu.rows[i]["id"].tostring() + "\"},";
            //}
          }
          dtbmenu.dispose();
        }
        dtamenu.dispose();
        menujson = menujson.trimend(',');
        menujson += "]}";
        menujson = menujson.trim();
        return requstzmtocreatment(menujson);
      }
      else
      {
        return false;
      }
    }

3、獲取到menujson字符串后調用微信接口創建菜單,需先獲取assess token,有關assess token獲取可參考:獲取accesstoken

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/// <summary>
    /// 向微信服務器請求創建自定義菜單
    /// </summary>
    /// <param name="jsonstr"></param>
    /// <returns></returns>
    /// 
    private bool requstzmtocreatment(string jsonstr)
    {
      try
      {
        var accesstoken = "";//accesstoken需例外獲取,一般可開始時獲取后存數據庫,下次從數據庫取,注意accesstoken有效期為7200秒
        //聲明一個httpwebrequest請求
        string interfaceurl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + accesstoken;
        httpwebrequest request = (httpwebrequest)webrequest.create(interfaceurl);
        //設置連接超時時間 
        request.timeout = 30000;
        request.keepalive = true;
        encoding encodetype = encoding.getencoding("utf-8");
        request.headers.set("pragma", "no-cache");
        request.method = "post";
        request.contenttype = "application/x-www-form-urlencoded";
        request.useragent = "mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; sv1; maxthon; .net clr 1.1.4322); http stdns";
        request.accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
        request.cookiecontainer = new cookiecontainer();
        byte[] bytes = encodetype.getbytes(jsonstr);
        request.contentlength = bytes.length;
        request.allowautoredirect = true;
        //發送數據
        using (stream writer = request.getrequeststream())
        {
          writer.write(bytes, 0, bytes.length);
          writer.close();
        }
        stringbuilder strb = new stringbuilder();
        //接收數據
        using (stream reader = request.getresponse().getresponsestream())
        {
          streamreader sr = new streamreader(reader, encodetype);
          strb.append(sr.readtoend());
          sr.close();
          reader.close();
        }
        if ((strb.tostring().indexof("\"errcode\":42001") != -1) || (strb.tostring().indexof("\"errcode\":40001") != -1) || (strb.tostring().indexof("\"errcode\":40014") != -1) || (strb.tostring().indexof("\"errcode\":41001") != -1)) //access_token錯誤
        {
          // accesstoken = getaccesstoken();
          getzmaccesstoken();
          return requstzmtocreatment(jsonstr);
        }
        else
        {
          if (strb.tostring() == "{\"errcode\":0,\"errmsg\":\"ok\"}")
          {
            return true;
          }
          else
          {
            return false;
          }
        }
      }
      catch (exception exp)
      {
        return false;
      }
    }

總結

以上所述是小編給大家介紹的微信公眾號開發之設置自定義菜單實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/lwpoor123/article/details/80728866

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色猫av| 精品国产九九九 | 成人做爽爽爽爽免费国产软件 | 色妞色视频一区二区三区四区 | 免费国产自久久久久三四区久久 | 看免费5xxaaa毛片 | 国产欧美在线观看不卡一 | 在线观看网址av | 福利片在线看 | 国产精品www | 免费视频爱爱太爽了 | 亚洲黑人在线观看 | av在线更新 | 久久久久中文字幕 | 久久国产精品二国产精品中国洋人 | 免费黄色片网站 | 狠狠干天天操 | 91视频观看免费 | 久久久无码精品亚洲日韩按摩 | 亚洲视频黄 | 天堂成人国产精品一区 | 91精品一区二区综合在线 | 国产精品久久久久久久久久尿 | 国产午夜精品视频免费不卡69堂 | 免费在线观看国产精品 | 孕妇体内谢精满日本电影 | 亚洲国产综合在线观看 | 欧美另类在线视频 | 欧美黄色性视频 | 日本欧美一区二区三区在线播 | 成人免费观看49www在线观看 | 精品国产91久久久久久久妲己 | 精品久久久久久久久久久下田 | 一级黄色欧美 | 亚久久 | 欧美成人综合视频 | 久久99国产精品免费网站 | 一级做a爱视频 | 国产精品嘿咻嘿咻在线播放 | 欧美激情性色生活片在线观看 | 精品二区在线观看 |