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

目錄
1、用戶分組,在管理系統(tǒng)中的界面設(shè)計(jì)
2、分組同步操作代碼展示
首頁(yè) 微信小程序 微信開(kāi)發(fā) C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息

Mar 02, 2017 am 10:17 AM

在前面幾篇文章中,逐步從原有微信的API封裝的基礎(chǔ)上過(guò)渡到微信應(yīng)用平臺(tái)管理系統(tǒng)里面,逐步介紹管理系統(tǒng)中的微信數(shù)據(jù)的界面設(shè)計(jì),以及相關(guān)的處理操作過(guò)程的邏輯和代碼,希望從更高一個(gè)層次,向大家介紹微信的應(yīng)用開(kāi)發(fā)過(guò)程。本篇主要介紹在管理系統(tǒng)中,如何實(shí)現(xiàn)微信用戶分組信息的同步操作。

其實(shí)微信能夠風(fēng)風(fēng)火火的原因,主要就是因?yàn)橛杏脩粜畔?,所以同步并管理好微信賬號(hào)的關(guān)注用戶數(shù)據(jù)是非常重要的。有了微信用戶的數(shù)據(jù),你可以和你任何應(yīng)用系統(tǒng)對(duì)接,實(shí)現(xiàn)系統(tǒng)-手機(jī)客戶端的數(shù)據(jù)整合,還可以對(duì)用戶進(jìn)行營(yíng)銷(xiāo)管理,如發(fā)送用戶感興趣的產(chǎn)品消息、服務(wù)消息等,能夠很好擴(kuò)大企業(yè)的影響力和市場(chǎng)行為。

在較早之前的一篇隨筆《C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用(5)--用戶分組信息管理》,我曾經(jīng)介紹了微信分組的各種底層的API封裝操作,里面主要就是對(duì)微信提供API的.NET高級(jí)分組,對(duì)所有的信息交換,通過(guò)實(shí)體性進(jìn)行數(shù)據(jù)交換,使得我們調(diào)用API來(lái)處理微信的各種事務(wù)更加方便,從而為微信應(yīng)用平臺(tái)的管理奠定基礎(chǔ)。其中這篇文章介紹了所有微信分組管理的API封裝過(guò)程,用戶分組管理,包含下面幾個(gè)方面的內(nèi)容:

1)創(chuàng)建分組
2) 查詢(xún)所有分組
3) 查詢(xún)用戶所在分組
4) 修改分組名
5) 移動(dòng)用戶分組

1、用戶分組,在管理系統(tǒng)中的界面設(shè)計(jì)

針對(duì)以上微信分組的操作,我們可以在微信的應(yīng)用管理系統(tǒng)里面,設(shè)計(jì)一個(gè)模塊,用來(lái)管理微信的分組數(shù)據(jù),在這個(gè)模塊里面,可以創(chuàng)建分組,修改分組,查看分組等基礎(chǔ)操作,還可以實(shí)現(xiàn)同步微信分組的操作,同步操作,主要就是把新增的分組信息添加到微信里面,修改的分組也在微信中實(shí)現(xiàn)修改功能,刪除目前微信不支持,所以不用管了。最后,我們可以在此從微信服務(wù)器上,把修改后的數(shù)據(jù)同步下來(lái),同步的時(shí)候?yàn)榱吮苊鈱?duì)我們提交不成功的數(shù)據(jù),我們需要對(duì)修改過(guò)的記錄做好標(biāo)識(shí),這個(gè)就是我對(duì)整個(gè)同步操作的邏輯處理了。

在管理系統(tǒng)里面,對(duì)微信分組的列表管理界面設(shè)計(jì)如下所示。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息

創(chuàng)建分組的時(shí)候,我們只需要添加一個(gè)分組名稱(chēng)就可以了,界面設(shè)計(jì)也簡(jiǎn)單,但是我們把創(chuàng)建的ID統(tǒng)一設(shè)計(jì)為-1,作為未同步的新增標(biāo)識(shí)。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息

編輯分組信息界面如下所示。當(dāng)對(duì)分組進(jìn)行編輯保存后,系統(tǒng)會(huì)記住那些修改過(guò)的分組就是了。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息

2、分組同步操作代碼展示

為了更好實(shí)現(xiàn)分組同步的管理,我把分組的操作代碼,封裝在一個(gè)MVC的控制器的方法里面,頁(yè)面代碼通過(guò)Ajax調(diào)用就可以實(shí)現(xiàn)同步操作了,同步成功,或者失敗,都會(huì)提示用戶,讓我們對(duì)其結(jié)果進(jìn)行了解。

同步的時(shí)候,把本地新增的內(nèi)容,在服務(wù)器上創(chuàng)建分組;把修改的的分組名稱(chēng),在服務(wù)器上進(jìn)行修改,然后進(jìn)行同步列表處理,同步操作前,列表界面可能如下所示,有新增記錄ID=-1的,也有修改后,記錄修改標(biāo)志的。

C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息?

?

用戶分組的同步按鈕操作,是調(diào)用一個(gè)腳本代碼就可以了,具體代碼如下所示。

//綁定提交按鈕的的點(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);
????????????????????}
????????????????});
????????????});
????????}

其中上面紅色部分就是通過(guò)Jquery調(diào)用的MVC的控制器方法,具體函數(shù)代碼如下所示。

///?<summary>
????????///?同步服務(wù)器的分組信息
????????///?</summary>
????????///?<returns></returns>
????????public?ActionResult?SyncGroup()
????????{
????????????string?accessToken?=?GetAccessToken();
????????????CommonResult?result?=?BLLFactory<Group>.Instance.SyncGroup(accessToken);
????????????return?ToJsonContent(result);
????????}

從上面,我們沒(méi)有看到太多的邏輯,為了方便我對(duì)他們進(jìn)行了進(jìn)一步的封裝,把它放到了業(yè)務(wù)邏輯層進(jìn)行處理了。具體我們看看它的代碼邏輯吧,這里為了所有的數(shù)據(jù)庫(kù)操作更加快捷和完整,使用了事務(wù)的操作,我把相關(guān)的代碼貼出來(lái),方便大家了解邏輯。

///?<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;
????????}

在Jquery同步的時(shí)候,我們?yōu)榱吮苊獾却龝r(shí)間過(guò)久而無(wú)法判斷程序是否正常在工作,最好增加一個(gè)忙碌的提示操作,因?yàn)槲覀兪褂昧薃jax調(diào)用,所以我們可以統(tǒng)一設(shè)置Ajax的忙碌和完成狀態(tài),具體設(shè)置代碼如下所示。

//用來(lái)統(tǒng)一請(qǐng)求忙碌顯示的設(shè)置
????????$.ajaxSetup({
????????????beforeSend:?function?()?{
????????????????$("#loading").show();
????????????},
????????????complete:?function?()?{
????????????????$("#loading").hide();
????????????}
????????});

更多C#開(kāi)發(fā)微信門(mén)戶及應(yīng)用在管理系統(tǒng)中同步微信用戶分組信息相關(guān)文章請(qǐng)關(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)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

Laravel 教程
1601
29
PHP教程
1502
276