溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析

發(fā)布時(shí)間:2021-09-10 11:29:00 來源:億速云 閱讀:117 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹了微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、自定義菜單規(guī)則

自定義菜單分為一級(jí)菜單和二級(jí)菜單。

一級(jí)菜單數(shù)量為1-3個(gè),即打開公眾賬號(hào)直接可以看到排列在最下方的最多3個(gè)按鈕。一級(jí)菜單的文字最多不能超過16字節(jié)(相當(dāng)于8個(gè)漢字)。

二級(jí)菜單從屬于一級(jí)菜單,數(shù)量為1-5個(gè)。二級(jí)菜單的文字不最多不能超過40字節(jié)(相當(dāng)于20個(gè)漢字)。

無論一級(jí)菜單還是二級(jí)菜單,都有兩個(gè)觸發(fā)事件可以選擇,分別是:點(diǎn)擊(click,值不能超過128字節(jié))和打開網(wǎng)址(view,url不能超過256個(gè)字節(jié))。

當(dāng)一個(gè)一級(jí)菜單下有二級(jí)菜單存在的時(shí)候,這個(gè)一級(jí)菜單按鈕被點(diǎn)擊不會(huì)有任何事件發(fā)生。

二、創(chuàng)建菜單

  使用Senparc.Weixin.MP SDK創(chuàng)建自定義菜單非常簡(jiǎn)單。只需三步:

  第一步:獲取AccessToken

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

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

  第二步:組織菜單內(nèi)容

ButtonGroup bg = new ButtonGroup();

//單擊
bg.button.Add(new SingleClickButton()
                    {
                        name = "單擊測(cè)試",
                        key = "OneClick",
                        type = ButtonType.click.ToString(),//默認(rèn)已經(jīng)設(shè)為此類型,這里只作為演示
                    });

//二級(jí)菜單
var subButton = new SubButton()
                    {
                        name = "二級(jí)菜單"
                    };
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跳轉(zhuǎn)"
                            });
bg.button.Add(subButton);

  第三步:提交到微信服務(wù)器

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

  上面SingleClickButton和SingleViewButton分別對(duì)應(yīng)了click和view兩種菜單響應(yīng)方式。

三、菜單查詢

  查詢菜單同樣需要按照上面的方式獲取AccessToken,然后只需要一行代碼:

var result = CommonApi.GetMenu(accessToken);

  得到的result.menu的結(jié)構(gòu)即類似上述創(chuàng)建菜單時(shí)的ButtonGroup bg變量。

四、菜單刪除

  得到AccessToken后,刪除菜單同樣只需要一行代碼:

var result = CommonApi.DeleteMenu(accessToken);

五、菜單響應(yīng)事件

  無論是click還是view,服務(wù)器都會(huì)收到不同的事件響應(yīng)(見《微信公眾平臺(tái)開發(fā):了解MessageHandler》,分別觸發(fā)OnEvent_ClickRequest()和OnEvent_ViewRequest()。

  不同的是,click之后客戶端可以得到返回信息,而view在收到請(qǐng)求后,無論返回什么信息,客戶端都無法收到(直接打開URL了)。

六、自定義菜單可視化編輯器

  目前盛派網(wǎng)絡(luò)在兩個(gè)地方提供了免費(fèi)的自定義菜單可視化編輯器,免去大家需要運(yùn)行代碼才能操作菜單的困境:

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

微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析

第二代:微微嗨(http://www.weiweihi.com),注冊(cè)添加微信公眾賬號(hào)之后即可獲得一系列強(qiáng)大的管理功能(下圖為微微嗨第一版,現(xiàn)已更新,可同樣在后臺(tái)左側(cè)菜單找到)。

微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI