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

目錄
1、菜單的總體介紹
2、菜單的實體類定義和接口定義處理
3、企業(yè)號菜單管理接口的調(diào)用和處理效果
首頁 微信小程序 微信開發(fā) C#開發(fā)微信門戶及應(yīng)用-微信企業(yè)號的菜單管理

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

Feb 18, 2017 am 09:40 AM

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

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

1、菜單的總體介紹

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

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

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

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

?

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

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

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

C#開發(fā)微信門戶及應(yīng)用-微信企業(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è)應(yīng)用的id,整型。可在應(yīng)用的設(shè)置頁面查看
button 一級菜單數(shù)組,個數(shù)應(yīng)為1~3個
sub_button 二級菜單數(shù)組,個數(shù)應(yīng)為1~5個
type 菜單的響應(yīng)動作類型,目前有click、view兩種類型
name 菜單標(biāo)題,不超過16個字節(jié),子菜單不超過40個字節(jié)
key click類型必須 菜單KEY值,用于消息接口推送,不超過128字節(jié)
url view類型必須 網(wǎng)頁鏈接,員工點擊菜單可打開鏈接,不超過256字節(jié)
  • 權(quán)限說明

管理員須擁有應(yīng)用的管理權(quán)限,并且應(yīng)用必須設(shè)置在回調(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://m.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("相關(guān)鏈接",?new?MenuJson[]?{?
????????????????new?MenuJson("公司介紹",?ButtonType.click,?"event_company"),????????????????new?MenuJson("官方網(wǎng)站",?ButtonType.view,?"http://m.miracleart.cn/"),????????????????new?MenuJson("聯(lián)系我們",?ButtonType.click,?"event_contact"),????????????????new?MenuJson("應(yīng)答系統(tǒng)",?ButtonType.click,?"set-1"),????
????????????????new?MenuJson("發(fā)郵件",?ButtonType.view,?"http://m.miracleart.cn/")
????????????});

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

????????????if?(MessageUtil.ShowYesNoAndWarning("您確認(rèn)要創(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īng)用-微信企業(yè)號的菜單管理

?

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

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276