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

Inhaltsverzeichnis
1. WeChat-Menüanforderungen und zugeh?riges Interface-Design
2. Senden Sie das Menü an den WeChat-Server
Heim WeChat-Applet WeChat-Entwicklung C# entwickelt das WeChat-Portal und wendet die Menüverwaltung und übermittlung des WeChat-Portals an den WeChat-Server an

C# entwickelt das WeChat-Portal und wendet die Menüverwaltung und übermittlung des WeChat-Portals an den WeChat-Server an

Mar 02, 2017 am 10:24 AM

?ffentliche WeChat-Konten (einschlie?lich Dienstkonten und Abonnementkonten) k?nnen die Menüeinstellungen anpassen. Um die Verwaltung zu erleichtern, verwalten und pflegen wir die Menüdaten im Allgemeinen zuerst lokal. Wenn Aktualisierungen erforderlich sind, werden sie auf dem WeChat-Server aktualisiert. Das ist es. Basierend auf dieser Methode stellt dieser Artikel den Vorgang der übermittlung von Menüs an den WeChat-Server in meinem WeChat-Portal-Plattformverwaltungssystem vor. Das WeChat-Portal-Anwendungsverwaltungssystem verwendet eine auf MVC+EasyUI basierende Route. Da die meisten Domain-Name-Server nur .NET4.0 unterstützen k?nnen, verwendet es MVC3 und C#4.0 als Entwicklungsbasis und kann grunds?tzlich auf jedem .NET-Server bereitgestellt werden.

1. WeChat-Menüanforderungen und zugeh?riges Interface-Design

Wir k?nnen das Menü des offiziellen WeChat-Kontos lokal über die Website verwalten und die Menüanforderungen aufrechterhalten Im Folgenden sind die Anforderungen von WeChat für benutzerdefinierte Menüs aufgeführt:

Derzeit umfassen benutzerdefinierte Menüs bis zu 3 Menüs der ersten Ebene und jedes Menü der ersten Ebene enth?lt bis zu 5 Menüs der zweiten Ebene. Das Menü der ersten Ebene kann bis zu 4 chinesische Zeichen enthalten, und das Menü der zweiten Ebene kann bis zu 7 chinesische Zeichen enthalten. Die zus?tzlichen Teile werden durch ?…“ ersetzt.

Daher halten wir uns an die Vereinbarung und überschreiten die Grenze nicht. Andernfalls k?nnen bei der übermittlung des Menüs an den Server einige Fehler zurückgegeben werden. Bei der lokalen Erstellung müssen wir nur auf diese Details achten Menüverwaltung. Ich habe auch einige Inhalte benutzerdefinierter Menüs in einem früheren Artikel vorgestellt. Bei Bedarf k?nnen Sie sich ?C#-Entwicklung des WeChat-Portals und -Anwendungen (6) – Verwaltungsvorg?nge des WeChat-Portalmenüs“ ansehen Im Plattformverwaltungssystem wird die zuvor eingeführte Menüschnittstellen-API aufgerufen, um den Vorgang der übermittlung des Menüs an den Server zu implementieren.

Entsprechend den benutzerdefinierten Menüanforderungen von WeChat habe ich mehrere grundlegende Schnittstellen für das WeChat-Menü im Verwaltungssystem wie folgt entworfen.

Die Hauptmenü-Verwaltungsoberfl?che ist wie unten dargestellt.

C#開發(fā)微信門戶及應(yīng)用微信門戶菜單管理及提交到微信服務(wù)器

Das Schnittstellendesign zum Hinzufügen eines Menüs ist wie folgt

C#開發(fā)微信門戶及應(yīng)用微信門戶菜單管理及提交到微信服務(wù)器

Das ?nderungsinterface des WeChat-Menüs ist wie folgt

C#開發(fā)微信門戶及應(yīng)用微信門戶菜單管理及提交到微信服務(wù)器

Die WeChat-Menüdefinition wird in der Datenbank gespeichert. Wenn sie an den WeChat-Server übermittelt und wirksam werden muss, muss sie die WeChat-API-Schnittstelle zur Verarbeitung aufrufen eine übermittlung im Controller der Seite an den Server.

C#開發(fā)微信門戶及應(yīng)用微信門戶菜單管理及提交到微信服務(wù)器

2. Senden Sie das Menü an den WeChat-Server

Die oben genannten Schnittstellen basieren haupts?chlich auf den Eigenschaften des WeChat-Menüs. Die Menüs werden gepflegt und verwaltet, und unser oberstes Ziel ist es, sie auf den Server zu stellen, damit wir den kundenbezogenen Veranstaltungsbetrieb abwickeln k?nnen.

Um das Menü einzureichen, k?nnen wir es mit JQuerys Ajax auf der MVC-Ansichtsseite einreichen (vorausgesetzt, wir fügen die entsprechende Verarbeitung im Controller hinzu, die sp?ter eingeführt wird). Der Schnittstellenskriptcode lautet wie folgt.

//綁定提交按鈕的的點(diǎn)擊事件
????????function?BindSubmitEvent()?{
????????????$("#btnSubmit").click(function?()?{
????????????????$.messager.confirm("提交菜單確認(rèn)",?"您確認(rèn)需要提交菜單到微信服務(wù)器嗎?",?function?(action)?{
????????????????????if?(action)?{
????????????????????????//提交數(shù)據(jù)
????????????????????????$.ajax({
????????????????????????????url:?'/Menu/UpdateWeixinMenu',
????????????????????????????type:?'post',
????????????????????????????dataType:?'json',
????????????????????????????success:?function?(data)?{
????????????????????????????????if?(data.Success)?{
????????????????????????????????????$.messager.alert("提示",?"提交微信菜單成功");
????????????????????????????????}
????????????????????????????????else?{
????????????????????????????????????$.messager.alert("提示",?"提交微信菜單失敗:"?+?data.ErrorMessage);
????????????????????????????????}
????????????????????????????},
????????????????????????????data:?''
????????????????????????});
????????????????????}
????????????????});
????????????});
????????}

Der rote Code oben ist die Methode, die wir im MVC-Controller definiert haben. Wir müssen die Controller-Methode nur über die POST-Methode, das Menü, aufrufen Die spezifischen Details k?nnen zur Verarbeitung einfach auf den Controller oder eine niedrigere Ebene verschoben werden. Die Seite muss nicht zu viel Logik erfordern.

Der Methodencode von UpdateWeixinMenu des obigen Menü-Controllers lautet wie folgt (haupts?chlich basierend auf dem Entwicklungsmodell, das ich zuvor vorgestellt habe).

///?<summary>
????????///更新微信菜單
????????///?</summary>
????????///?<returns></returns>
????????public?ActionResult?UpdateWeixinMenu()
????????{
????????????string?token?=?base.GetAccessToken();
????????????MenuListJson?menuJson?=?GetWeixinMenu();

????????????IMenuApi?menuApi?=?new?MenuApi();
????????????CommonResult?result?=?menuApi.CreateMenu(token,?menuJson);
????????????return?ToJsonContent(result);
????????}

Die oben genannten Methoden werden hier einzeln vorgestellt. GetAccessToken dient haupts?chlich dazu, das Zugriffstoken für den aktuellen Vorgang abzurufen. Andernfalls kann das AccessToken h?ufig abgerufen werden, nachdem die angegebene Anzahl an Tagen erreicht wurde.

Die GetWeixinMenu-Methode dient haupts?chlich der Bequemlichkeit. Sie kapselt eine Funktion zum Abrufen der benutzerdefinierten Menüdaten von WeChat. Der spezifische Code lautet wie folgt.

???????///?<summary>
///?<summary>
????????///?生成微信菜單的Json數(shù)據(jù)
????????///?</summary>
????????///?<returns></returns>
????????private?MenuListJson?GetWeixinMenu()
????????{
????????????MenuListJson?menuJson?=?new?MenuListJson();

????????????List<MenuNodeInfo>?menuList?=?BLLFactory<Menu>.Instance.GetTree();
????????????foreach?(MenuNodeInfo?info?in?menuList)
????????????{
????????????????ButtonType?type?=?(info.Type?==?"click")???ButtonType.click?:?ButtonType.view;
????????????????string?value?=?(type?==?ButtonType.click)???info.Key?:?info.Url;

????????????????MenuJson?weiInfo?=?new?MenuJson(info.Name,?type,?value);
????????????????AddSubMenuButton(weiInfo,?info.Children);

????????????????menuJson.button.Add(weiInfo);
????????????}
????????????return?menuJson;
????????}

?private?void?AddSubMenuButton(MenuJson?menu,?List<MenuNodeInfo>?menuList)
????????{
????????????if?(menuList.Count?>?0)
????????????{
????????????????menu.sub_button?=?new?List<MenuJson>();
????????????}
????????????foreach?(MenuNodeInfo?info?in?menuList)
????????????{
????????????????ButtonType?type?=?(info.Type?==?"click")???ButtonType.click?:?ButtonType.view;
????????????????string?value?=?(type?==?ButtonType.click)???info.Key?:?info.Url;

????????????????MenuJson?weiInfo?=?new?MenuJson(info.Name,?type,?value);
????????????????menu.sub_button.Add(weiInfo);

????????????????AddSubMenuButton(weiInfo,?info.Children);
????????????}
????????}

上面的代碼,就是把本地存儲的MenuNodeInfo數(shù)據(jù),通過遞歸遍歷的方式,轉(zhuǎn)換為微信的自定義菜單實體MenuJson,這樣我們調(diào)用API就非常方便了,這個函數(shù)主要負(fù)責(zé)構(gòu)造對應(yīng)的實體信息就是了。至于調(diào)用微信API提交菜單的事情,還是讓API自己親自處理為好,他們的代碼如下所示(也就是上面函數(shù)的部分代碼)。

????????IMenuApi?menuApi?=?new?MenuApi();
????????CommonResult?result?=?menuApi.CreateMenu(token,?menuJson);????????return?ToJsonContent(result);

最終的結(jié)果是返回一個通用的結(jié)果CommonResult,這個結(jié)果對象,非常方便腳本的處理,如果有錯誤,則提示錯誤,否則也方便判斷布爾值,也就是上面的頁面代碼腳本。

success:?function?(data)?{
????????if?(data.Success)?{
??????????????????$.messager.alert("提示",?"提交微信菜單成功");
???????????}
??????????else?{
????????????????????$.messager.alert("提示",?"提交微信菜單失敗:"?+?data.ErrorMessage);
????????????}
???????},

通過以上幾部分的代碼,我們就可以實現(xiàn)前臺MVC的視圖界面,調(diào)用后臺封裝好的微信API,實現(xiàn)菜單的提交處理了。

更多C#開發(fā)微信門戶及應(yīng)用微信門戶菜單管理及提交到微信服務(wù)器?相關(guān)文章請關(guān)注PHP中文網(wǎng)!


Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276