国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
1、菜單的總體介紹
2、菜單的實體類定義和接口定義處理
3、企業(yè)號菜單管理接口的調(diào)用和處理效果
? ?? ??? ?? ?? C#? WeChat ??? ???? WeChat ?? ??? ?? ??? ?????.

C#? WeChat ??? ???? WeChat ?? ??? ?? ??? ?????.

Mar 02, 2017 am 09:32 AM

前面幾篇陸續(xù)介紹了很多微信企業(yè)號的相關操作,企業(yè)號和公眾號一樣都可以自定義菜單,因此他們也可以通過API進行菜單的創(chuàng)建、獲取列表、刪除的操作,因此本篇繼續(xù)探討這個主體,介紹企業(yè)號的菜單管理操作。

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

1、菜單的總體介紹

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

C#開發(fā)微信門戶及應用微信企業(yè)號的菜單管理

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

C#開發(fā)微信門戶及應用微信企業(yè)號的菜單管理

?

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

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

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

C#開發(fā)微信門戶及應用微信企業(yè)號的菜單管理

菜單管理的創(chuàng)建操作,官方定義如下所示。

  • 請求說明

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"
???????????????}
???????????]
??????}
???]
}
  • 參數(shù)說明

參數(shù) 必須 說明
access_token 調(diào)用接口憑證
agentid 企業(yè)應用的id,整型??稍趹玫脑O置頁面查看
button 一級菜單數(shù)組,個數(shù)應為1~3個
sub_button 二級菜單數(shù)組,個數(shù)應為1~5個
type 菜單的響應動作類型,目前有click、view兩種類型
name 菜單標題,不超過16個字節(jié),子菜單不超過40個字節(jié)
key click類型必須 菜單KEY值,用于消息接口推送,不超過128字節(jié)
url view類型必須 網(wǎng)頁鏈接,員工點擊菜單可打開鏈接,不超過256字節(jié)
  • 權限說明

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

返回結(jié)果

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

?

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

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

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

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

?

3、企業(yè)號菜單管理接口的調(diào)用和處理效果

調(diào)用的代碼和效果圖如下所示。

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

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

????????????MenuJson?relatedInfo?=?new?MenuJson("相關鏈接",?new?MenuJson[]?{?
????????????????new?MenuJson("公司介紹",?ButtonType.click,?"event_company"),????????????????new?MenuJson("官方網(wǎng)站",?ButtonType.view,?"http://www.miracleart.cn/"),????????????????new?MenuJson("聯(lián)系我們",?ButtonType.click,?"event_contact"),????????????????new?MenuJson("應答系統(tǒng)",?ButtonType.click,?"set-1"),????
????????????????new?MenuJson("發(fā)郵件",?ButtonType.view,?"http://www.miracleart.cn/")
????????????});

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

????????????if?(MessageUtil.ShowYesNoAndWarning("您確認要創(chuàng)建菜單嗎")?==?System.Windows.Forms.DialogResult.Yes)
????????????{
????????????????ICorpMenuApi?bll?=?new?CorpMenuApi();?
????????????????CommonResult?result?=?bll.CreateMenu(token,?menuJson,?agentid);
????????????????Console.WriteLine("創(chuàng)建菜單:"?+?(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());
????????????}
????????}

調(diào)用代碼的測試輸出如下所示。

C#開發(fā)微信門戶及應用微信企業(yè)號的菜單管理

?


更多C#開發(fā)微信門戶及應用微信企業(yè)號的菜單管理?相關文章請關注PHP中文網(wǎng)!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???