首頁  >  文章  >  微信小程式  >  微信公眾平台開發:自訂選單介面說明

微信公眾平台開發:自訂選單介面說明

高洛峰
高洛峰原創
2017-02-27 13:18:142304瀏覽

一、自訂選單規則

自訂選單分為一級選單和二級選單。

一級選單數量為1-3個,即開啟公用帳號直接可以看到排列在最下方的最多3個按鈕。一級選單的文字最多不能超過16位元組(相當於8個漢字)。

二級選單從屬於一級選單,數量為1-5個。二級選單的文字不最多不能超過40位元組(相當於20個漢字)。

無論一級選單或二級選單,都有兩個觸發事件可以選擇,分別是:點選(click,值不能超過128位元組)和開啟網址(view,url不能超過256個字節)。

當一個一級選單下有二級選單存在的時候,這個一級選單按鈕被點選不會有任何事件發生。

二、建立選單

  使用Senparc.Weixin.MP SDK建立自訂選單非常簡單。只需三步驟:

  第一步:取得AccessToken

var accessToken = AccessTokenContainer.TryGetToken(appId, appSecret).access_token;

  PS:如果第三步驟中使用AppId取代AccessToken,則這一步可以省略。

  第二步:組織選單內容

ButtonGroup bg = new ButtonGroup();

//单击
bg.button.Add(new SingleClickButton()
                    {
                        name = "单击测试",
                        key = "OneClick",
                        type = ButtonType.click.ToString(),//默认已经设为此类型,这里只作为演示
                    });

//二级菜单
var subButton = new SubButton()
                    {
                        name = "二级菜单"
                    };
subButton.sub_button.Add(new SingleClickButton()
                            {
                                key = "SubClickRoot_Text",
                                name = "返回文本"
                            });
subButton.sub_button.Add(new SingleClickButton()
                            {
                                key = "SubClickRoot_News",
                                name = "返回图文"
                            });
subButton.sub_button.Add(new SingleClickButton()
                            {
                                key = "SubClickRoot_Music",
                                name = "返回音乐"
                            });
subButton.sub_button.Add(new SingleViewButton()
                            {
                                url = "http://weixin.senparc.com",
                                name = "Url跳转"
                            });
bg.button.Add(subButton);

  第三步:提交到微信伺服器

var result = CommonApi.CreateMenu(accessToken, bg);

  上面SingleClickButton和SingleViewButton分別對應了click和view兩種選單回應方式。

三、選單查詢

  查詢選單同樣需要按照上面的方式取得AccessToken,然後只需要一行程式碼:

var result = CommonApi.GetMenu(accessToken);

  得到的result.menu的結構即類似上述建立選單時的ButtonGroup bg變數。

四、選單刪除

  得到AccessToken後,刪除選單同樣只需要一行程式碼:

var result = CommonApi.DeleteMenu(accessToken);

五、選單回應事件

  無論是click或view,伺服器都會收到不同的事件回應(請參閱《微信公眾平台開發:了解MessageHandler》,分別觸發OnEvent_ClickRequest()和OnEvent_ViewRequest()。

  不同的是,click之後客戶端可以得到回傳訊息,而view在收到請求後,無論回傳什麼訊息,客戶端都無法收到(直接開啟URL了)。網路在兩個地方提供了免費的自訂選單視覺化編輯器,免去大家需要運行程式碼才能操作選單的困境:

第一代:http://sdk.weixin.senparc.com/ Menu

第二代:微微嗨(http://www.weiweihi.com),註冊新增微信公眾帳號後即可獲得一系列強大的管理功能(下圖為微微嗨第一版,現已更新,可同樣在後台左側選單找到)。相關文章請關注PHP中文網!
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn