這篇文章主要介紹了微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
策勒網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,策勒網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為策勒近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的策勒做網(wǎng)站的公司定做!
一、自定義菜單規(guī)則
自定義菜單分為一級(jí)菜單和二級(jí)菜單。
一級(jí)菜單數(shù)量為1-3個(gè),即打開公眾賬號(hào)直接可以看到排列在最下方的最多3個(gè)按鈕。一級(jí)菜單的文字最多不能超過(guò)16字節(jié)(相當(dāng)于8個(gè)漢字)。
二級(jí)菜單從屬于一級(jí)菜單,數(shù)量為1-5個(gè)。二級(jí)菜單的文字不最多不能超過(guò)40字節(jié)(相當(dāng)于20個(gè)漢字)。
無(wú)論一級(jí)菜單還是二級(jí)菜單,都有兩個(gè)觸發(fā)事件可以選擇,分別是:點(diǎn)擊(click,值不能超過(guò)128字節(jié))和打開網(wǎng)址(view,url不能超過(guò)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)事件
無(wú)論是click還是view,服務(wù)器都會(huì)收到不同的事件響應(yīng)(見《微信公眾平臺(tái)開發(fā):了解MessageHandler》,分別觸發(fā)OnEvent_ClickRequest()和OnEvent_ViewRequest()。
不同的是,click之后客戶端可以得到返回信息,而view在收到請(qǐng)求后,無(wú)論返回什么信息,客戶端都無(wú)法收到(直接打開URL了)。
六、自定義菜單可視化編輯器
目前盛派網(wǎng)絡(luò)在兩個(gè)地方提供了免費(fèi)的自定義菜單可視化編輯器,免去大家需要運(yùn)行代碼才能操作菜單的困境:
第一代:http://sdk.weixin.senparc.com/Menu
第二代:微微嗨(http://www.weiweihi.com),注冊(cè)添加微信公眾賬號(hào)之后即可獲得一系列強(qiáng)大的管理功能(下圖為微微嗨第一版,現(xiàn)已更新,可同樣在后臺(tái)左側(cè)菜單找到)。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信公眾平臺(tái)開發(fā)之自定義菜單接口的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!