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

??
1. ?? ?? ??
2. ?? ??? ??? ??
3. ?? ?? ??? ????? ??
? ?? ??? ?? ?? C# ?? ?? ? ?????? ??(6) - ?? ?? ?? ?? ??

C# ?? ?? ? ?????? ??(6) - ?? ?? ?? ?? ??

Feb 16, 2017 pm 04:40 PM

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

1. ?? ?? ??

?? ?? ??? ?? ?? ??? ??? ?? ?? ?? ? ??? ??? ? ??? ?? ??? ??? ? ????. ??? ??? ??? ????, ??? ??? ?? ??? ?? ? ????. ? ???? ?? ??? ?? ??? ???, ?? ??? ?? WeChat ?? ???? ??? ????, ?? ??? ???? WeChat API ? POST ???? WeChat ??? ???? ??? ??? ???? ??? ? ??? ?????. ?? ?? ???? ?????. ? ???? ?? ?? ??? ?? ?? ?? ??? ?????.

??? ??? ?? ??? ?????? ???? ?? ???? ?? ??? ??? ? ??? ? ? ??? ? ??? ?????. ?? ??? ?? ???? ?? 3?? 1?? ??? ????, ? 1?? ???? ?? 5?? 2?? ??? ?????. 1?? ???? ?? 4?? ??? ??? ? ???, 2?? ???? ?? 7?? ??? ??? ? ????. ?? ??? "..."?? ?????. ?? ??? ?? ?? ?????? ??? ?? ? ?? ??? ??? ??? ? ????.

click:
用戶點(diǎn)擊click類(lèi)型按鈕后,微信服務(wù)器會(huì)通過(guò)消息接口推送消息類(lèi)型為event????的結(jié)構(gòu)給開(kāi)發(fā)者(參考消息接口指南),并且?guī)习粹o中開(kāi)發(fā)者填寫(xiě)的key值,開(kāi)發(fā)者可以通過(guò)自定義的key值與用戶進(jìn)行交互;
view:
用戶點(diǎn)擊view類(lèi)型按鈕后,微信客戶端將會(huì)打開(kāi)開(kāi)發(fā)者在按鈕中填寫(xiě)的url值????(即網(wǎng)頁(yè)鏈接),達(dá)到打開(kāi)網(wǎng)頁(yè)的目的,建議與網(wǎng)頁(yè)授權(quán)獲取用戶基本信息接口結(jié)合,獲得用戶的登入個(gè)人信息。

?? ???? ??? ???? Json ??? ?????, ?? ?? ???? ??? ????.

?{?????"button":[
?????{????
??????????"type":"click",??????????"name":"今日歌曲",??????????"key":"V1001_TODAY_MUSIC"
??????},
??????{???????????"type":"click",???????????"name":"歌手簡(jiǎn)介",???????????"key":"V1001_TODAY_SINGER"
??????},
??????{???????????"name":"菜單",???????????"sub_button":[
???????????{????
???????????????"type":"view",???????????????"name":"搜索",???????????????"url":"http://www.soso.com/"
????????????},
????????????{???????????????"type":"view",???????????????"name":"視頻",???????????????"url":"http://v.qq.com/"
????????????},
????????????{???????????????"type":"click",???????????????"name":"贊一下我們",???????????????"key":"V1001_GOOD"
????????????}]
???????}]
?}

??? ?? ?? ???? ?? ??? ???? ?? ? ? ????. ?? ?? ?? ???? url ??? ??, ???? ? ??? ????. ??? ?? ?? sub_button ??? ?? ? ????. ????? ?? ?? ??? ??? ??? ???? ?? ? ?? ??? ?? ????.

2. ?? ??? ??? ??

??? ?? ??? ???? ??? ?? ??? ??? ?? ??? ??? ???? WeChat ????? ?? ??? ? ?? ????. , ???? ??? ??? ????.

C# ?? ?? ? ?????? ??(6) - ?? ?? ?? ?? ??

?? ???? ?? ?? ??? ??? ??? ? ???, ??? ???? ???? ?????. ??? Json.NET? ?? ?? ?? ??? ???? ?? ??? Json ???? ?? ? ??? ???? ??? ??? ? ????.

[JsonProperty(?NullValueHandling?=?NullValueHandling.Ignore)]

? ??? ???? ??? ??? ??? ??? ?? ? ?? ??? ???? ??? ? ????. ?? ??? ?? ?? ?? ??? ??? ? ????. URL? ?? ?? ?????.

????///?<summary>
????///?菜單基本信息????///?</summary>
????public?class?MenuInfo
????{????????///?<summary>
????????///?按鈕描述,既按鈕名字,不超過(guò)16個(gè)字節(jié),子菜單不超過(guò)40個(gè)字節(jié)????????///?</summary>
????????public?string?name?{?get;?set;?}????????///?<summary>
????????///?按鈕類(lèi)型(click或view)????????///?</summary>
????????[JsonProperty(NullValueHandling?=?NullValueHandling.Ignore)]????????public?string?type?{?get;?set;?}????????///?<summary>
????????///?按鈕KEY值,用于消息接口(event類(lèi)型)推送,不超過(guò)128字節(jié)????????///?</summary>
????????[JsonProperty(NullValueHandling?=?NullValueHandling.Ignore)]????????public?string?key?{?get;?set;?}????????///?<summary>
????????///?網(wǎng)頁(yè)鏈接,用戶點(diǎn)擊按鈕可打開(kāi)鏈接,不超過(guò)256字節(jié)????????///?</summary>
????????[JsonProperty(NullValueHandling?=?NullValueHandling.Ignore)]????????public?string?url?{?get;?set;?}????????///?<summary>
????????///?子按鈕數(shù)組,按鈕個(gè)數(shù)應(yīng)為2~5個(gè)????????///?</summary>
????????[JsonProperty(NullValueHandling?=?NullValueHandling.Ignore)]????????public?List<menuinfo>?sub_button?{?get;?set;?}

.......</menuinfo>

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

???? ??? ?? ??? ???? ?? ?? ???? ???? ????. ??? ?? ??? ??? ??? ?? ??? ??? ???? ?????.

????????///?<summary>
????????///?參數(shù)化構(gòu)造函數(shù)????????///?</summary>
????????///?<param>按鈕名稱(chēng)
????????///?<param>菜單按鈕類(lèi)型
????????///?<param>按鈕的鍵值(Click),或者連接URL(View)
????????public?MenuInfo(string?name,?ButtonType?buttonType,?string?value)
????????{????????????this.name?=?name;????????????this.type?=?buttonType.ToString();????????????if?(buttonType?==?ButtonType.click)
????????????{????????????????this.key?=?value;
????????????}????????????else?if(buttonType?==?ButtonType.view)
????????????{????????????????this.url?=?value;
????????????}
????????}

?, ? ?? ??? ????. ?, sub_button ??? ??? Name ??? ???? ???. . ??? ?? sub_button ??? ??? ???? ?? ??? ?? ??? ???? ???? ?????.

????????///?<summary>
????????///?參數(shù)化構(gòu)造函數(shù),用于構(gòu)造子菜單????????///?</summary>
????????///?<param>按鈕名稱(chēng)
????????///?<param>子菜單集合
????????public?MenuInfo(string?name,?IEnumerable<menuinfo>?sub_button)
????????{????????????this.name?=?name;????????????this.sub_button?=?new?List<menuinfo>();????????????this.sub_button.AddRange(sub_button);
????????}</menuinfo></menuinfo>

Name? sub_button? ?? ??? ???? ??? ?? ??? null?? ????? ??? Json?? ?? ??? ???? ???? ?????. !

?? ??? ???? ??? ?? ? ?? ??? ??? ???? ???.

????///?<summary>
????///?菜單的Json字符串對(duì)象????///?</summary>
????public?class?MenuJson
????{????????public?List<menuinfo>?button?{?get;?set;?}????????public?MenuJson()
????????{
????????????button?=?new?List<menuinfo>();
????????}
????}????///?<summary>
????///?菜單列表的Json對(duì)象????///?</summary>
????public?class?MenuListJson
????{????????public?MenuJson?menu?{?get;?set;?}
????}</menuinfo></menuinfo>

3. ?? ?? ??? ????? ??

WeChat? ??? ?? ??? ?? ??? ?? ? ??? ? ? ????. API ??, ?? ??, ?? ??? ?? ?????? ??? ?? ?????.

????///?<summary>
????///?菜單的相關(guān)操作????///?</summary>
????public?interface?IMenuApi
????{??????????????
????????///?<summary>
????????///?獲取菜單數(shù)據(jù)????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<returns></returns>
????????MenuJson?GetMenu(string?accessToken);???????????????????????
????????///?<summary>
????????///?創(chuàng)建菜單????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<param>菜單對(duì)象
????????///?<returns></returns>
????????CommonResult?CreateMenu(string?accessToken,?MenuJson?menuJson);???????????????????????
????????///?<summary>
????????///?刪除菜單????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<returns></returns>
????????CommonResult?DeleteMenu(string?accessToken);
????}

?? ?? ??? ???? ??? ??? ????.

????????///?<summary>
????????///?獲取菜單數(shù)據(jù)????????///?</summary>
????????///?<param>調(diào)用接口憑證
????????///?<returns></returns>
????????public?MenuJson?GetMenu(string?accessToken)
????????{
????????????MenuJson?menu?=?null;????????????var?url?=?string.Format("http://m.miracleart.cn/{0}",?accessToken);
????????????MenuListJson?list?=?JsonHelper<menulistjson>.ConvertJson(url);????????????if?(list?!=?null)
????????????{
????????????????menu?=?list.menu;
????????????}????????????return?menu;
????????}</menulistjson>

??? Json ???? ??? ??? ??? ? ??? ???? ???? ?????.

?? ??? ??? ????.

????????private?void?btnGetMenuJson_Click(object?sender,?EventArgs?e)
????????{
????????????IMenuApi?menuBLL?=?new?MenuApi();
????????????MenuJson?menu?=?menuBLL.GetMenu(token);????????????if?(menu?!=?null)
????????????{
????????????????Console.WriteLine(menu.ToJson());
????????????}
????????}

?? ?? ?? ? ?? ??? ??? ?? ?????.

????

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

????????private?void?btnCreateMenu_Click(object?sender,?EventArgs?e)
????????{???????????????????????
????????????MenuInfo?productInfo?=?new?MenuInfo("軟件產(chǎn)品",?new?MenuInfo[]?{?
????????????????new?MenuInfo("病人資料管理系統(tǒng)",?ButtonType.click,?"patient"),?
????????????????new?MenuInfo("客戶關(guān)系管理系統(tǒng)",?ButtonType.click,?"crm"),?
????????????????new?MenuInfo("酒店管理系統(tǒng)",?ButtonType.click,?"hotel"),?
????????????????new?MenuInfo("送水管理系統(tǒng)",?ButtonType.click,?"water")
????????????});????????????????????????????????????

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

????????????MenuInfo?relatedInfo?=?new?MenuInfo("相關(guān)鏈接",?new?MenuInfo[]?{?
????????????????new?MenuInfo("公司介紹",?ButtonType.click,?"Event_Company"),????????????????new?MenuInfo("官方網(wǎng)站",?ButtonType.view,?"http://m.miracleart.cn/"),????????????????new?MenuInfo("提點(diǎn)建議",?ButtonType.click,?"Event_Suggestion"),????????????????new?MenuInfo("聯(lián)系客服",?ButtonType.click,?"Event_Contact"),????????????????new?MenuInfo("發(fā)郵件",?ButtonType.view,?"http://m.miracleart.cn/")
????????????});

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

????????????if?(MessageUtil.ShowYesNoAndWarning("您確認(rèn)要?jiǎng)?chuàng)建菜單嗎")?==?System.Windows.Forms.DialogResult.Yes)
????????????{
????????????????IMenuApi?menuBLL?=?new?MenuApi();
????????????????CommonResult?result?=?menuBLL.CreateMenu(token,?menuJson);
????????????????Console.WriteLine("創(chuàng)建菜單:"?+?(result.Success???"成功"?:?"失敗:"?+?result.ErrorMessage));
????????????}
????????}

這個(gè)就是我微信門(mén)戶里面的菜單操作了,具體效果可以關(guān)注我的微信門(mén)戶:廣州愛(ài)奇迪,也可以掃描下面二維碼進(jìn)行關(guān)注了解。

C# ?? ?? ? ?????? ??(6) - ?? ?? ?? ?? ??

菜單的效果如下:

C# ?? ?? ? ?????? ??(6) - ?? ?? ?? ?? ??

更多C# ?? ?? ? ?????? ??(6) - ?? ?? ?? ?? ??相關(guān)文章請(qǐng)關(guān)注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
???