91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#怎么實現微信企業號的菜單管理

發布時間:2021-08-15 22:25:54 來源:億速云 閱讀:151 作者:chen 欄目:移動開發

本篇內容主要講解“C#怎么實現微信企業號的菜單管理 ”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#怎么實現微信企業號的菜單管理 ”吧!

菜單在很多情況下,能夠給我們提供一個快速入口,也可以用來獲取用戶信息的主要入口,通過OAuth3驗證接口,以及自定義的重定向菜單,我們就可以獲取對應的用戶ID,然后進一步獲取到用戶的相關數據,可以顯示給客戶。

1、菜單的總體介紹

菜單的事件處理如下所示,包括了單擊和跳轉兩個操作,未來企業號可能會增加一些和公眾號一樣的掃碼操作,拍照操作等功能的,目前只有兩個。

C#怎么實現微信企業號的菜單管理

官方的菜單定義接口包含了下面三種操作,菜單創建、列表獲取和菜單刪除,這點和公眾號操作幾乎一樣了。

C#怎么實現微信企業號的菜單管理

2、菜單的實體類定義和接口定義處理

我們定義菜單,包括定義它的一些屬性,包含有name, type, key,url,以及一個指向自身引用的子菜單引用,因此菜單就可以循環構造多個層次,雖然嚴格意義上來講,企業號的菜單和公眾號菜單一樣,一級三個,二級最多五個,而且沒有三級菜單了。

實體類的UML圖示如下所示。

C#怎么實現微信企業號的菜單管理

菜單管理的創建操作,官方定義如下所示。

  • 請求說明

Https請求方式: POST

https://qyapi.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN&agentid=1

請求包如下:

{
   "button":[
       {	
           "type":"click",
           "name":"今日歌曲",
           "key":"V1001_TODAY_MUSIC"
       },
       {
           "name":"菜單",
           "sub_button":[
               {
                   "type":"view",
                   "name":"搜索",
                   "url":"http://www.soso.com/"
               },
               {
                   "type":"click",
                   "name":"贊一下我們",
                   "key":"V1001_GOOD"
               }
           ]
      }
   ]
}
  • 參數說明

參數必須說明
access_token調用接口憑證
agentid企業應用的id,整型。可在應用的設置頁面查看
button一級菜單數組,個數應為1~3個
sub_button二級菜單數組,個數應為1~5個
type菜單的響應動作類型,目前有click、view兩種類型
name菜單標題,不超過16個字節,子菜單不超過40個字節
keyclick類型必須菜單KEY值,用于消息接口推送,不超過128字節
urlview類型必須網頁鏈接,員工點擊菜單可打開鏈接,不超過256字節
  • 權限說明

管理員須擁有應用的管理權限,并且應用必須設置在回調模式。

返回結果

{
   "errcode":0,
   "errmsg":"ok"
}

根據上面官方的定義語義,我們菜單管理的C#管理接口定義如下所示。

    /// <summary>
    /// 企業號菜單管理接口定義    /// </summary>
    public interface ICorpMenuApi
    {        /// <summary>
        /// 獲取菜單數據        /// </summary>
        /// <param name="accessToken">調用接口憑證</param>
        /// <returns></returns>
        MenuListJson GetMenu(string accessToken, string agentid);        /// <summary>
        /// 創建菜單        /// </summary>
        /// <param name="accessToken">調用接口憑證</param>
        /// <param name="menuJson">菜單對象</param>
        /// <returns></returns>
        CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid);        /// <summary>
        /// 刪除菜單        /// </summary>
        /// <param name="accessToken">調用接口憑證</param>
        /// <returns></returns>
        CommonResult DeleteMenu(string accessToken, string agentid);
    }

我們以創建菜單的實現為例來介紹微信企業號菜單的操作,其他的操作類似處理,都是返回一個公共的消息類,方便處理和讀取,代碼如下所示。

        /// <summary>
        /// 創建菜單        /// </summary>
        /// <param name="accessToken">調用接口憑證</param>
        /// <param name="menuJson">菜單對象</param>
        /// <returns></returns>
        public CommonResult CreateMenu(string accessToken, MenuListJson menuJson, string agentid)
        {            var url = string.Format("http://www.php.cn/{0}&agentid={1}", accessToken, agentid);            string postData = menuJson.ToJson();            return Helper.GetCorpExecuteResult(url, postData);
        }

3、企業號菜單管理接口的調用和處理效果

調用的代碼和效果圖如下所示。

        private void btnMenuCreate_Click(object sender, EventArgs e)
        {
            MenuJson productInfo = new MenuJson("產品介紹", new MenuJson[] { 
                new MenuJson("軟件產品介紹", ButtonType.click, "event-software")
                , new MenuJson("框架源碼產品", ButtonType.click, "event-source")
                , new MenuJson("軟件定制開發", ButtonType.click, "event-develop")
            });

            MenuJson frameworkInfo = new MenuJson("框架產品", new MenuJson[] { 
                new MenuJson("Win開發框架", ButtonType.click, "win"),                new MenuJson("WCF開發框架", ButtonType.click, "wcf"),                new MenuJson("混合式框架", ButtonType.click, "mix"), 
                new MenuJson("Web開發框架", ButtonType.click, "web")
                ,new MenuJson("代碼生成工具", ButtonType.click, "database2sharp")
            });

            MenuJson relatedInfo = new MenuJson("相關鏈接", new MenuJson[] { 
                new MenuJson("公司介紹", ButtonType.click, "event_company"),                new MenuJson("官方網站", ButtonType.view, "http://www.php.cn/"),                new MenuJson("聯系我們", ButtonType.click, "event_contact"),                new MenuJson("應答系統", ButtonType.click, "set-1"),    
                new MenuJson("發郵件", ButtonType.view, "http://www.php.cn/")
            });

            MenuListJson menuJson = new MenuListJson();
            menuJson.button.AddRange(new MenuJson[] { productInfo, frameworkInfo, relatedInfo });            //Console.WriteLine(menuJson.ToJson());

            if (MessageUtil.ShowYesNoAndWarning("您確認要創建菜單嗎") == System.Windows.Forms.DialogResult.Yes)
            {
                ICorpMenuApi bll = new CorpMenuApi(); 
                CommonResult result = bll.CreateMenu(token, menuJson, agentid);
                Console.WriteLine("創建菜單:" + (result.Success ? "成功" : "失敗:" + result.ErrorMessage));
            }
        }        private void btnMenuGet_Click(object sender, EventArgs e)
        {
            ICorpMenuApi bll = new CorpMenuApi();
            MenuListJson menu = bll.GetMenu(token, agentid);            if (menu != null)
            {
                Console.WriteLine(menu.ToJson());
            }
        }

調用代碼的測試輸出如下所示。

C#怎么實現微信企業號的菜單管理

到此,相信大家對“C#怎么實現微信企業號的菜單管理 ”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌兰察布市| 监利县| 新蔡县| 墨脱县| 盈江县| 永川市| 抚松县| 宜宾市| 横峰县| 眉山市| 新营市| 奉化市| 新宁县| 荔浦县| 清涧县| 阳原县| 咸丰县| 偃师市| 武鸣县| 雷波县| 临泉县| 漠河县| 禄劝| 葵青区| 盈江县| 金堂县| 峡江县| 克山县| 长海县| 赞皇县| 新营市| 台州市| 承德县| 上杭县| 静海县| 太白县| 锡林郭勒盟| 潼关县| 卢龙县| 新沂市| 象州县|