目錄
前不久微信上線了個人化選單接口,Senparc.Weixin SDK也已經(jīng)同步更新。
本次更新升級Senparc.Weixin.MP版本到v13.5.2,依賴Senparc.Weixin版本4.5.4。 .NET4.5(master) / .NET4.0兩個分支都已同步更新。
由於個人化選單變化比較大,所以對整個選單介面進行了目前為止最大面積的重構(gòu)(可以向下相容)。
比較先前的自訂選單,目前整個選單相關(guān)功能針對檔案結(jié)構(gòu)進行了全面的整理,:
?
#介面
選單介面已經(jīng)全部歸入CommonAPIs/Menu目錄下,CommonApi部分類別下面再分出3個類別檔案:
#檔名 | 說明 |
CommonApi.Menu.Common.cs | 選單公共方法 |
# #CommonApi.Menu.Conditional.cs
個人化選單
#CommonApi.Menu.Custom.cs
普通自訂選單
選單介面檔案
其中自訂選單介面已經(jīng)確保向下相容,以前如果有已經(jīng)開發(fā)自訂選單功能的項目,可以放心升級。
個人化選單類別內(nèi)容如下:
/*---------------------------------------------------------------- Copyright (C) 2015 Senparc 文件名:CommonApi.Menu.Conditional 文件功能描述:個性化自定義菜單接口 創(chuàng)建標(biāo)識:Senparc - 20151222 修改標(biāo)識:Senparc - 20151222 修改描述:v13.5.1 添加個性化菜單接口 ----------------------------------------------------------------*/ /* API:http://mp.weixin.qq.com/wiki/0/c48ccd12b69ae023159b4bfaa7c39c20.html */ using Senparc.Weixin.Entities; using Senparc.Weixin.Helpers; using Senparc.Weixin.MP.Entities; using Senparc.Weixin.MP.Entities.Menu; namespace Senparc.Weixin.MP.CommonAPIs { public partial class CommonApi { /// <summary> /// 創(chuàng)建個新華菜單 /// </summary> /// <param name="accessTokenOrAppId">AccessToken或AppId。當(dāng)為AppId時,如果AccessToken錯誤將自動獲取一次。當(dāng)為null時,獲取當(dāng)前注冊的第一個AppId。</param> /// <param name="buttonData">菜單內(nèi)容</param> /// <returns></returns> public static CreateMenuConditionalResult CreateMenuConditional(string accessTokenOrAppId, ConditionalButtonGroup buttonData, int timeOut = Config.TIME_OUT) { return ApiHandlerWapper.TryCommonApi(accessToken => { var urlFormat = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token={0}"; var jsonSetting = new JsonSetting(true); return CommonJsonSend.Send<CreateMenuConditionalResult>(accessToken, urlFormat, buttonData, timeOut: timeOut, jsonSetting: jsonSetting); }, accessTokenOrAppId); } #region GetMenu /* 使用普通自定義菜單查詢接口可以獲取默認(rèn)菜單和全部個性化菜單信息,請見自定義菜單查詢接口的說明 */ /// <summary> /// 測試個性化菜單匹配結(jié)果 /// </summary> /// <param name="accessTokenOrAppId"></param> /// <param name="userId">可以是粉絲的OpenID,也可以是粉絲的微信號。</param> /// <returns></returns> public static MenuTryMatchResult TryMatch(string accessTokenOrAppId, string userId) { return ApiHandlerWapper.TryCommonApi(accessToken => { var url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token={0}", accessToken); var data = new { user_id = userId }; return CommonJsonSend.Send<MenuTryMatchResult>(accessToken, url, data, CommonJsonSendType.POST); }, accessTokenOrAppId); } #endregion /// <summary> /// 刪除菜單 /// </summary> /// <param name="accessTokenOrAppId"></param> /// <param name="menuId">菜單Id</param> /// <returns></returns> public static WxJsonResult DeleteMenuConditional(string accessTokenOrAppId, string menuId) { return ApiHandlerWapper.TryCommonApi(accessToken => { var url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token={0}", accessToken); var data = new { menuId = menuId }; return CommonJsonSend.Send(accessToken, url, data, CommonJsonSendType.POST); }, accessTokenOrAppId); } /* 使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認(rèn)菜單和全部個性化菜單),請見自定義菜單刪除接口的說明。 */ } }
- 選單公用方法中,GetButtonGroup()方法新增了一個參數(shù):buttonGroup,用於指定選單按鈕清單類型(屬於個人化選單還是自訂選單)。
- 實體 有關(guān)實體類別的變更都體現(xiàn)在Entities/Menu目錄下,新建了IButtonGroupBase介面以及ButtonGroupBase基底類別。 ButtonGroup(自訂選單)和ConditionalButtonGroup(個人化選單)按鈕都繼承自ButtonGroupBase。
- Entities/Menu/Buttons/目錄下的所有按鈕類型都是通用的。 ?
#?
#?
自訂選單和個人化選單的選單新增、刪除介面是不同的,使用的時候需要呼叫各自不同的介面。
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Grass Wonder Build Guide |烏瑪媽媽漂亮的德比
4 週前
By Jack chen
<??>:在森林裡99夜 - 所有徽章以及如何解鎖
4 週前
By DDD
烏瑪?shù)姆劢z漂亮的德比橫幅日程(2025年7月)
1 個月前
By Jack chen
Rimworld Odyssey溫度指南和Gravtech
3 週前
By Jack chen
Windows安全是空白或不顯示選項
1 個月前
By 下次還敢

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)