Discuz!NT 提供了很多對(duì)外的接口利于與別的網(wǎng)站進(jìn)行整合,經(jīng)本人親測(cè),覺(jué)得開(kāi)放的接口還是挺到位的。開(kāi)發(fā)、測(cè)試一次通過(guò),只不過(guò)api文檔尋找無(wú)門(mén),只能自己琢磨,費(fèi)了不少周折,不過(guò),功夫不負(fù)有心人,最終還是搞定了。
第一步、Discuz!NT 的安裝,不再描述了,網(wǎng)上的安裝教程多的是。注意安裝目錄,如果是根目錄,直接默認(rèn)即可。如果是某一個(gè)文件夾下,如/bbs/等,在安裝前可將BBS文件的根目錄的DNT.config文件做相應(yīng)修改,如下面代碼。
<?xml version="1.0"?><BaseConfigInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Dbconnectstring>Data Source=.;User ID=sa;PassWord=123456;Initial Catalog=bbs;Pooling=true</Dbconnectstring> <TablePRefix>dnt_</Tableprefix> <Forumpath>/dnz/</Forumpath><!--更改為對(duì)應(yīng)目錄,根目錄直接默認(rèn)就行--> <Dbtype>SqlServer</Dbtype> <Founderuid>0</Founderuid></BaseConfigInfo>
第二步、下載開(kāi)發(fā)包DiscuzToolkit
第三步、登陸論壇后臺(tái),選擇“擴(kuò)展”——》“通行證設(shè)置”——》“添加整合程序設(shè)置”
第四步、論壇會(huì)員——》網(wǎng)站會(huì)員
Discuz!NT 的說(shuō)明文檔未找到,只能用笨辦法,把送過(guò)來(lái)的參數(shù)一一解析。本人建了一個(gè)單獨(dú)處理送過(guò)來(lái)的數(shù)據(jù)的文件,加入對(duì)應(yīng)的邏輯即可。下載文件
第五步、網(wǎng)站會(huì)員——》論壇會(huì)員
把DiscuzToolkit添加到現(xiàn)有的項(xiàng)目中,web解決方案,添加引用。
現(xiàn)在就要用到通行證的API_KEY、SECRET、RETURL,可將他設(shè)為靜態(tài)變量、或者web.config中的配置節(jié)。我這里是將這些信息放到了APPSETTING中。API函數(shù)很多地方用到論壇用戶的uid,所以在自己網(wǎng)站的會(huì)員信息表中需要新增一個(gè)存放論壇會(huì)員ID的字段。
登錄
Discuzsession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");//對(duì)應(yīng)論壇擴(kuò)展中的 API_KEY/SECRET/RETURLds.Login(UID, PassWord.ToLower(),true, 10, ""); //論壇用戶UIDds = null;
注冊(cè)
DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");int bbsid = ds.Register(UserName,PassWord.ToLower(),UserEmail, true);//修改會(huì)員信息UID邏輯修改個(gè)人資料
#region 更改論壇對(duì)應(yīng)用戶信息DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");UserForEditing ufe = new UserForEditing();ufe.Mobile = Mob;ufe.Phone = Tel;ufe.RealName = RealName;ufe.Location = Address;ds.SetUserInfo(UID, ufe);ufe = null;ds = null;#endregion修改密碼
#region 更改論壇對(duì)應(yīng)用戶信息DiscuzSession ds = new DiscuzSession("API_KEY", "SECRET", "RETURL");UserForEditing ufe = new UserForEditing();ufe.Password = PassWord.ToLower();ds.SetUserInfo(UID,ufe);ufe = null; ds = null;#endregion至此,論壇的對(duì)接工作就已經(jīng)完成了,剩下的就是測(cè)試和微調(diào)了。
遇到的問(wèn)題:做的過(guò)程中發(fā)現(xiàn)Discuz!NT會(huì)員設(shè)置頭像不成功,檢查目錄圖片文件上傳上去了,說(shuō)明目錄權(quán)限沒(méi)問(wèn)題。下載的論壇版本又沒(méi)有源代碼,只能從網(wǎng)上找答案了。最終解決方案為:把網(wǎng)站的應(yīng)用程序池的“托管管道模式”由“集成”改為“經(jīng)典”。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注