


C# entwickelt ein WeChat-Portal und eine Anwendung zur Synchronisierung von WeChat-Benutzergruppeninformationen im Verwaltungssystem
Mar 02, 2017 am 10:17 AMIn den vorherigen Artikeln haben wir schrittweise von der ursprünglichen WeChat-API-Kapselung zum Verwaltungssystem der WeChat-Anwendungsplattform übergegangen und das Schnittstellendesign von WeChat-Daten sowie die Logik der zugeh?rigen Verarbeitungsvorg?nge schrittweise eingeführt Ich hoffe, Ihnen den WeChat-Anwendungsentwicklungsprozess von einer h?heren Ebene aus n?her bringen zu k?nnen. In diesem Artikel wird haupts?chlich erl?utert, wie der Synchronisierungsvorgang von WeChat-Benutzergruppeninformationen im Verwaltungssystem realisiert wird.
Tats?chlich liegt der Grund, warum WeChat so beliebt ist, haupts?chlich in den Benutzerinformationen. Daher ist es sehr wichtig, die folgenden Benutzerdaten von WeChat-Konten zu synchronisieren und zu verwalten. Mit den Daten von WeChat-Benutzern k?nnen Sie eine Verbindung zu jedem Ihrer Anwendungssysteme herstellen, um eine system-mobile Kundendatenintegration zu erreichen. Sie k?nnen auch Marketingmanagement für Benutzer durchführen, z. B. das Versenden von Produktneuigkeiten, Servicenachrichten usw., an denen Benutzer interessiert sind , der sich gut ausbauen l?sst.
In einem früheren Aufsatz ?C#-Entwicklung von WeChat-Portalen und -Anwendungen (5) – Benutzergruppen-Informationsmanagement“ habe ich einmal verschiedene zugrunde liegende API-Kapselungsvorg?nge von WeChat-Gruppen vorgestellt, zu denen haupts?chlich die erweiterte .NET-Gruppierung geh?rt stellt eine API für WeChat bereit, tauscht alle Informationen und Daten über eine Entit?t aus, was es für uns bequemer macht, die API aufzurufen, um verschiedene WeChat-Transaktionen abzuwickeln, und so den Grundstein für die Verwaltung der WeChat-Anwendungsplattform legt. In diesem Artikel wird der API-Kapselungsprozess für die gesamte WeChat-Gruppenverwaltung und Benutzergruppenverwaltung vorgestellt, einschlie?lich der folgenden Aspekte:
1) Erstellen Sie eine Gruppe
2) Fragen Sie alle Gruppen ab
3) Fragen Sie die Gruppe ab Benutzer geh?rt zu
4) ?ndern Sie den Gruppennamen
5) Verschieben Sie die Benutzergruppe
1. Benutzergruppierung, Schnittstellendesign im Verwaltungssystem
Vorg?nge für die oben genannten WeChat-Gruppen Wir k?nnen im WeChat-Anwendungsverwaltungssystem ein Modul entwerfen, um WeChat-Gruppendaten zu verwalten. In diesem Modul k?nnen wir Gruppen erstellen, Gruppen ?ndern, Gruppen anzeigen und andere grundlegende Vorg?nge implementieren Der Vorgang besteht haupts?chlich darin, die neu hinzugefügten Gruppeninformationen zu WeChat hinzuzufügen. Das L?schen wird derzeit von WeChat nicht unterstützt. Schlie?lich k?nnen wir die ge?nderten Daten vom WeChat-Server synchronisieren. Um zu vermeiden, dass die Daten w?hrend der Synchronisierung nicht erfolgreich sind, müssen wir die ge?nderten Datens?tze markieren.
Im Verwaltungssystem ist das Listenverwaltungsschnittstellendesign für WeChat-Gruppen wie folgt.
Beim Erstellen einer Gruppe müssen wir nur einen Gruppennamen hinzufügen. Das Interface-Design ist ebenfalls einfach, aber wir entwerfen die erstellte ID als zukünftige Synchronisierung neue Identifikation.
Die Benutzeroberfl?che für die Bearbeitung von Gruppeninformationen ist wie unten dargestellt. Wenn Gruppen bearbeitet und gespeichert werden, merkt sich das System diese ge?nderten Gruppen.
2. Anzeige des Gruppensynchronisationsoperationscodes
Um die Verwaltung der Gruppensynchronisation besser zu realisieren, habe ich den Gruppenoperationscode in einem MVC-Steuerelement gekapselt Mit der Servermethode kann der Seitencode über Ajax-Aufrufe synchronisiert werden. Wenn die Synchronisierung erfolgreich ist oder fehlschl?gt, wird der Benutzer aufgefordert, uns die Ergebnisse mitzuteilen.
Erstellen Sie beim Synchronisieren eine Gruppe auf dem Server für den neu hinzugefügten lokalen Inhalt. ?ndern Sie dann den ge?nderten Gruppennamen auf dem Server und führen Sie dann die Synchronisierungslistenverarbeitung durch. Die Listenschnittstelle kann wie folgt aussehen Wie in der Abbildung gezeigt, gibt es neue Datens?tze mit der ID = -1 und nach der ?nderung auch Datens?tze mit ?nderungsflags.
Die Synchronisierungsschaltfl?chenoperation der Benutzergruppierung besteht darin, einen Skriptcode aufzurufen. Der spezifische Code lautet wie folgt.
//綁定提交按鈕的的點(diǎn)擊事件 ????????function?BindSyncDataEvent()?{ ????????????$("#btnSyncData").click(function?()?{ ????????????????$.messager.confirm("提交確認(rèn)",?"您確認(rèn)需要和微信服務(wù)器同步分組信息嗎?",?function?(action)?{ ????????????????????if?(action)?{ ????????????????????????//提交數(shù)據(jù) ????????????????????????$("#loading").show(); ????????????????????????$.ajax({ ????????????????????????????url:?'/Group/SyncGroup', ????????????????????????????type:?'post', ????????????????????????????dataType:?'json', ????????????????????????????success:?function?(data)?{ ????????????????????????????????if?(data.Success)?{ ????????????????????????????????????$("#grid").datagrid("reload"); ????????????????????????????????????$.messager.alert("提示",?"同步成功"); ????????????????????????????????} ????????????????????????????????else?{ ????????????????????????????????????$.messager.alert("提示",?"同步失敗:"?+?data.ErrorMessage); ????????????????????????????????} ????????????????????????????}, ????????????????????????????data:?'' ????????????????????????}); ????????????????????????$("#loading").fadeOut(500); ????????????????????} ????????????????}); ????????????}); ????????}
Der rote Teil oben ist die MVC-Controller-Methode, die über Jquery aufgerufen wird. Der spezifische Funktionscode lautet wie folgt.
///?<summary> ????????///?同步服務(wù)器的分組信息 ????????///?</summary> ????????///?<returns></returns> ????????public?ActionResult?SyncGroup() ????????{ ????????????string?accessToken?=?GetAccessToken(); ????????????CommonResult?result?=?BLLFactory<group>.Instance.SyncGroup(accessToken); ????????????return?ToJsonContent(result); ????????}</group>
從上面,我們沒有看到太多的邏輯,為了方便我對(duì)他們進(jìn)行了進(jìn)一步的封裝,把它放到了業(yè)務(wù)邏輯層進(jìn)行處理了。具體我們看看它的代碼邏輯吧,這里為了所有的數(shù)據(jù)庫操作更加快捷和完整,使用了事務(wù)的操作,我把相關(guān)的代碼貼出來,方便大家了解邏輯。
///?<summary> ????????///?同步服務(wù)器的分組信息 ????????///?</summary> ????????///?<returns></returns> ????????public?CommonResult?SyncGroup(string?accessToken) ????????{ ????????????CommonResult?result?=?new?CommonResult(); ????????????try ????????????{ ????????????????IUserApi?api?=?new?UserApi(); ????????????????using?(DbTransaction?trans?=?baseDal.CreateTransaction()) ????????????????{ ????????????????????//先把本地標(biāo)志groupId?=?-1未上傳的記錄上傳到服務(wù)器,然后進(jìn)行本地更新 ????????????????????string?condition?=?string.Format("GroupID?=?'-1'?"); ????????????????????List<groupinfo>?unSubmitList?=?base.Find(condition); ????????????????????foreach?(GroupInfo?info?in?unSubmitList) ????????????????????{ ????????????????????????GroupJson?groupJson?=?api.CreateGroup(accessToken,?info.Name); ????????????????????????if?(groupJson?!=?null) ????????????????????????{ ????????????????????????????info.GroupID?=?groupJson.id; ????????????????????????????baseDal.Update(info,?info.ID,?trans); ????????????????????????} ????????????????????} ????????????????????//把標(biāo)志為修改狀態(tài)的記錄,在服務(wù)器上修改 ????????????????????condition?=?string.Format("GroupID?>=0?and?Modified?=1?"); ????????????????????List<groupinfo>?unModifyList?=?base.Find(condition); ????????????????????foreach?(GroupInfo?info?in?unModifyList) ????????????????????{ ????????????????????????CommonResult?modifyed?=?api.UpdateGroupName(accessToken,?info.GroupID,?info.Name); ????????????????????????if?(modifyed?!=?null?&&?modifyed.Success) ????????????????????????{ ????????????????????????????info.Modified?=?0;//重置標(biāo)志 ????????????????????????????baseDal.Update(info,?info.ID,?trans); ????????????????????????} ????????????????????}???? ????? ????????????????????//刪除具有刪除標(biāo)志的分組 ????????????????????//condition?=?string.Format("GroupID?>=100?and?Deleted=1?"); ????????????????????//List<groupinfo>?unDeletedList?=?base.Find(condition); ????????????????????//foreach?(GroupInfo?info?in?unDeletedList) ????????????????????//{ ????????????????????//????CommonResult?deleted?=?api.DeleteGroup(accessToken,?info.GroupID,?info.Name); ????????????????????//????if?(deleted?!=?null?&&?deleted.Success) ????????????????????//????{ ????????????????????//????????baseDal.Delete(info.ID,?trans); ????????????????????//????} ????????????????????//} ????????????????????List<groupjson>?list?=?api.GetGroupList(accessToken); ????????????????????foreach?(GroupJson?info?in?list) ????????????????????{ ????????????????????????UpdateGroup(info,?trans); ????????????????????} ????????????????????try ????????????????????{ ????????????????????????trans.Commit(); ????????????????????????result.Success?=?true; ????????????????????} ????????????????????catch? ????????????????????{ ????????????????????????trans.Rollback(); ????????????????????????throw; ????????????????????}??????????????????? ????????????????} ????????????} ????????????catch?(Exception?ex) ????????????{ ????????????????result.ErrorMessage?=?ex.Message; ????????????} ????????????return?result; ????????}</groupjson></groupinfo></groupinfo></groupinfo>
在Jquery同步的時(shí)候,我們?yōu)榱吮苊獾却龝r(shí)間過久而無法判斷程序是否正常在工作,最好增加一個(gè)忙碌的提示操作,因?yàn)槲覀兪褂昧薃jax調(diào)用,所以我們可以統(tǒng)一設(shè)置Ajax的忙碌和完成狀態(tài),具體設(shè)置代碼如下所示。
//用來統(tǒng)一請求忙碌顯示的設(shè)置 ????????$.ajaxSetup({ ????????????beforeSend:?function?()?{ ????????????????$("#loading").show(); ????????????}, ????????????complete:?function?()?{ ????????????????$("#loading").hide(); ????????????} ????????});
更多C# entwickelt ein WeChat-Portal und eine Anwendung zur Synchronisierung von WeChat-Benutzergruppeninformationen im Verwaltungssystem相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

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

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)