![互動狀態(tài)的實現(xiàn)指南_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/ba7f88ad-087c-4d84-93dd-75cd77b4b06c/ba7f88ad-087c-4d84-93dd-75cd77b4b06c1.gif)
![互動狀態(tài)的實現(xiàn)指南_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/ba7f88ad-087c-4d84-93dd-75cd77b4b06c/ba7f88ad-087c-4d84-93dd-75cd77b4b06c2.gif)
![互動狀態(tài)的實現(xiàn)指南_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/11/ba7f88ad-087c-4d84-93dd-75cd77b4b06c/ba7f88ad-087c-4d84-93dd-75cd77b4b06c3.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、互動狀態(tài)的實現(xiàn)指南騰訊科技(深圳)有限公司2004 年11月3日目錄一、 用戶的狀態(tài)獲取 -3 -1、 獲取單個用戶的狀態(tài):-3 -2、獲取多個用戶的狀態(tài) -4 -二、 點擊用戶的狀態(tài)給用戶發(fā)送消息 -5 -三、互動狀態(tài)的接口參考 -9 -1、 復雜接口(含有點擊操作的) -9 -2、 簡單接口(無點擊操作) -10 -1) 返回在線狀態(tài)圖片 -10 -2) 返回在線狀態(tài)文字 -10 -四、ASP應用實例-11 -1、 ASP的應用環(huán)境 -11 -2、 ASP實例詳解-11 -1)應用場景-11 -2)技術(shù)方案-12 -3)編碼實現(xiàn)-12 -A、訪問數(shù)據(jù)庫-12 -B、編寫網(wǎng)頁元素 -13 -
2、一、用戶的狀態(tài)獲取在您開發(fā)的互動空間程序中,有時需要查詢某個QQ用戶或某批QQ用戶的在線狀態(tài),騰訊公司為此提供了一個簡便的接口,該接口是一個URL地址。根據(jù)獲取單個和多個的不同,該URL地址有所不同,服務器返回的形式也有所不同。注意,該URL地址是大小寫敏感的。目前只返回在線和離線兩種狀態(tài),注意,沒有離開狀態(tài)和隱身狀態(tài),當用戶處于離開狀 態(tài)時,視同在線;當用戶處于隱身狀態(tài)時,視同離線狀態(tài)。1、獲取單個用戶的狀態(tài):獲取單個用戶的狀態(tài)的URL地址是: nee. on li ne?Type=1 &qq=3621277&resulttype=3后三項您可以隨意定制,具體含義為:Type
3、項:對于獲取單個用戶的情況,是保留項,可以填寫任意值或者不要該項 nee. on li ne?qq=3621277&resulttype=3qq項:代表您要查詢的 QQ用戶的號碼; resulttype 項:表示您希望獲得的是 QQ還是TM的狀態(tài),值為1代表返回的是 TM類型 的狀態(tài),值為3代表返回的是QQ類型的狀態(tài)。把上述URL地址拷貝到IE的地址欄,回車,返回的頁面顯示如下值:document.write("<img src=' border='0'")可見,這個查詢的返回結(jié)果是一條顯示某個圖片的命令, 就是表示圖片所在的位置以及文
4、件名,不同的圖片代表 了不同的狀態(tài)。根據(jù)您填寫的resulttype的值不同,用不同的圖片代表不同的狀態(tài),具體如下表:表1狀態(tài)一覽表Resulttype 的值圖片文件名代表的含義1tn盅鱷tm_offli ne.gifTM用戶離線1I 同 TMWfil 11tm_o nlin e.gifTM用戶在線2Q老板留言rtx_offli ne.gifs-buddy用戶離線2Q即時誥談rtx_on li ne.gifs-buddy用戶在線3qq1_offl in e.gifQQ用戶離線3qq1_ on li ne.gifQQ用戶在線0或4qq_offli ne.gifQQ用戶離線0或4qq_on li
5、ne.gifQQ用戶在線下面是一段獲取單個用戶的在線狀態(tài)的完整示例代碼:<html><head><meta http-equiv="C onten t-Type" conten t="text/html; charset=gb2312"><title> 示例網(wǎng)頁 </title></head><body>這里顯示的是 QQ用戶的狀態(tài),如果要更新,請刷新網(wǎng)頁。TM:3621277 的在線狀態(tài)<scriptIan guage="javascript"
6、src=" nlin e?type=1 &qq=3621277&resulttype=1"> </script></body></html>從上面的代碼可以看出,獲取狀態(tài)的命令是這句話:<scriptIan guage="javascript"src=" nlin e?Type=1 &qq=3621277&resulttype=1"></script>服務器返回命令是:document.write("<img src=
7、39;http:該命令執(zhí)行的結(jié)果將會在獲取狀態(tài)的命令的位置繪制一個圖片,以代表客戶的在線狀態(tài)2、獲取多個用戶的狀態(tài)獲取多個用戶狀態(tài)的 URL地址是: nlin e?Type=1 &154195734:240285461:14137743其中Type=1是表示獲取多個用戶的狀態(tài),“Type=1 &”后面緊跟著的是您要查詢的用戶的QQ號碼,各個號碼之間必須用冒號“:”隔開,并且必須以冒號“:”結(jié)尾。把上述URL地址拷貝到IE瀏覽器的地址欄中,回車,可以看到返回結(jié)果是:onlin e0=0;o nlin e1=1;o nli ne2=0;您可以在網(wǎng)頁中編寫腳本來讀取這些返回結(jié)果,編寫
8、時,您必須聲明一個名為online的數(shù)組,用于讀取你所要查詢的QQ用戶的狀態(tài)。online數(shù)組中的序號0,1,2的值分別對應URL地址中的先后 QQ號碼,數(shù)組的值 0表示離線,1表示在線。按照上面的例子則: online0=0 表示 154195734 用戶離線;online1=1 表示 240285461 用戶在線;online2=0 表示14137743用戶離線。根據(jù)這些返回值,您可以用圖標顯示他們的狀態(tài),這些圖標都在 /地址下,具體的文件名以及他們所代表的圖片及含義請參見“表1狀態(tài)一覽表”。腳本示例代碼:<script Ian guage="javascript"
9、;> var on li ne= new Array();</script><script>if (on li ne0=0) docume nt.write("<img SRC=" ne.gifV);elsedocument.write("<img SRC="");</script >1、點擊用戶的狀態(tài)給用戶發(fā)送消息在所顯示的狀態(tài)圖標上,可以編寫腳本,使鼠標點擊該圖標彈出給該用戶發(fā)送消息的窗口,達到實時溝通的效果。前提是:您的機器必須安裝了QQ或TM,如果您的QQ或TM還沒啟動,會提示您先啟
10、動,提示如下:i j 蠶篥鬻錨點矍露留黑功能.y 您現(xiàn)在要啟動購嗎?例如,在網(wǎng)頁上顯示了以下圖標:I點擊發(fā)毘消息給對方點擊后,將出現(xiàn)以下會話窗口:在顯示圖標的標簽IMG啲響應函數(shù)里的相應參數(shù)上填寫如下參數(shù):tencen t:/Message/?Me nu=yes&Exe=t m&Uin=259966199該參數(shù)大小寫不敏感,其中Uin項表示要與之會話的QC用戶的號碼;Menu及Exe項的含義如下:名 4參數(shù)值說明QYes/HOp當有多個QQ/BI啟動時,是 否出現(xiàn)UIN耒單進行選擇匸 沒有此參數(shù)時不出規(guī)選扌罩 T而是竊近運行的 QQ/TN-QQ/W啟動TM還是d沒有此參數(shù)時啟動
11、最近運 行的程序,如果沒有運行, 則啟動腳本示例:vscript Ian guage="javascript"> fun ctio n Sen dMsg(sUrl)try /支持var xmlhttp=new ActiveXObject("TimwpDII.TimwpCheck");this .lo cati on .href=sUrl;catch(e) / 不支持 return false;</script><img SRC=" nlin e.gif"alt='點擊發(fā)送消息給對方on Click =S
12、en dMsg ("Te ncen t:/Message/?Me nu=YES&Exe=QQ&Uin=14137743")'完整的示例代碼如下:<HTML><HEAD><TITLE>獲取互動狀態(tài)及實時發(fā)送消息示例</TITLE><META http-equiv=Co nte nt-Type conten t="text/html; charset=gb2312"><script Ian guage="javascript">fun ctio
13、 n Sen dMsg(sUrl)try支持var xmlhttp=new ActiveXObject("TimwpDll.TimwpCheck");this .lo cati on .href=sUrl;catch(e) / 不支持alert("您沒有安裝QQ/TM或者您的版本過舊,請到騰訊網(wǎng)站下載");wi ndow .lo catio n=""return false;</script><script Ian guage="javascript">var on li ne= new A
14、rray();</script><script src=" li ne?Type=1 &154195734:240285461:"></script></HEAD><BODY bgColor=#ffffff leftMargi n=0 topMargi n=3><CENTER><TABLE height=20 cellSpaci ng=O width=640 border=0><TBODY><TR alig n=left><TD width=22>
15、<FONT face=wi ngdi ngs color=blue size=3>K</F0NT> </TD><TD width=380>購物熟悉香港賽馬的請進 </TD><TD width=50>QQ:14137743</td><td><script>if (onlin e0=0)document.write("<img SRC=""alt='點擊發(fā)送離線消息'on Click='Se ndMsg("Te ncen
16、t:/Message/?Me nu=YES&Exe=QQ&Ui n=154195734")'>");elsedocument.write("<img SRC="" alt='點擊發(fā)送消息給對方'on Click='Se ndMsg("Te ncen t:/Message/?Me nu=YES&Exe=QQ&Ui n=154195734")'>"); </SCRIPT></TD><TD width=
17、88>6-11 11:57</TD></TR></TBODY></TABLE><TABLE height=20 cellSpaci ng=O width=640 bgColor=#eeefff border=0><TBODY><TR alig n=left><TD width=22><FONT face=wi ngdi ngs color=blue size=3>K</FONT> </TD><TD width=380>體育6月12日天涯泡泡隊比賽
18、取消 !</TD><TD width=50>TM:240285461</td><td><script>if (onlin e1=0)docume nt.write("<img SRC=" ne.gif"alt='點擊發(fā)送離線消息'on Click='Se ndMsg("Te ncen t:/Message/?Me nu=YES&Exe=T M&Ui n=240285461")'>");elsedocument.wri
19、te("<img SRC="" alt='點擊發(fā)送即時消息'on Click='Se ndMsg("Te ncen t:/Message/?Me nu=YES&Exe=T M&Uin=240285461")'>");</SCRIPT></TD><TD width=88>6-11 11:57</TD></TR></TBODY></TABLE><BR><BR></CE
20、NTER></BODY></HTML>三、互動狀態(tài)的接口參考目前webpresenee系統(tǒng)有兩種調(diào)用接口, 一種是復雜接口,返回在線狀態(tài)和調(diào)用 qq(tm) 的腳本;另外一種是簡單接口,只返回在線狀態(tài)。1、復雜接口(含有點擊操作的)調(diào)用接口: on li ne?resulttype=O&qq=111118&UnionlD=13010&Exe=QQ&Me nu=YES&Versio n=1& WebSiteName=參數(shù)說明qq用戶qq號碼Exe見下表resulttype取的在線狀態(tài)圖片的類形0:qq ; 1:tm ;
21、 2:s-buddyWebSiteName網(wǎng)站名稱Un io nID見下表Me nu見下表Versio n版本號:目前為1,默認值為1返回內(nèi)容:document.write("<imgsrc='alt='點 擊發(fā)送消息給對方'",">")命令參數(shù)名參數(shù)值說明公用參數(shù)Me nuYES/NO當有多個QQ/TM啟動時,是 否出現(xiàn)UIN菜單進行選擇 沒有此參數(shù)時不出現(xiàn)選擇 Menu,而是取最近運行的QQ/TMExeQQ/TM啟動TM還是QQ沒有此參數(shù)時啟動最近運 行的程序,如果沒有運行, 則啟動QQMessageUn io n
22、ID字符串網(wǎng)站聯(lián)盟IDHosti ngID為NULL則為非合作站點UINQC號碼或企業(yè)號Url超鏈接用戶資料頁面,鏈接中應該 含有Uin,沒有此參數(shù)則顯 示本地資料。參數(shù)用加 (單引號引起來),以區(qū)分“? =&”WebSiteName字符串網(wǎng)站名稱,值請用(單引號引起來)2、簡單接口(無點擊操作)1)返回在線狀態(tài)圖片調(diào)用接口 : nee. on li ne?qq=11111 &resulttype=Oresulttype說明0QQ在線狀態(tài)圖片1TM在線狀態(tài)圖片2s-buddy在線狀態(tài)圖片返回結(jié)果:說明返回內(nèi)容QQ在線document.write("<img sr
23、c='06/qq online.gif border='0'")QQ不在線document.write("<img src='06/qq offline.gif border='0'")TM在線document.write("<img src='06/tm online.gif border='0'")TM不在線document.write("&
24、lt;img src='06/tm offline.gif border='0'")Sbuddy在線document.write("<img src='06/rtx online.gif border='0'")Sbuddy不在線document.write("<img src='06/rtx offline.gif border='0'")2)返回在線狀
25、態(tài)文字調(diào)用接口: nee. on li ne?qq=11111返回結(jié)果:返回內(nèi)容說明0不在線1在線四、ASP應用實例在實際應用中,具體的企業(yè)信息,它所對應的QQ號碼,以及它在網(wǎng)頁上的表現(xiàn)形式等 信息往往是保存在后臺數(shù)據(jù)庫里,根據(jù)用戶的瀏覽方式、搜索條件等以不同的方式顯示出來。于是,讓網(wǎng)頁“動”起來,實現(xiàn)動態(tài)顯示,互動狀態(tài)的表現(xiàn)形式將會更豐富多彩。應用ASP技術(shù),是實現(xiàn)這一目的的典型應用之一。1、ASP的應用環(huán)境Microsoft Active Server Pages簡稱ASP,是一套微軟開發(fā)的服務器端腳本環(huán)境,通過ASP我們可以結(jié)合 HTML網(wǎng)頁、ASP指令和ActiveX元件建立動態(tài)、交互
26、且高效 的WEB服務器應用程序。ASP程序是在服務器端執(zhí)行的,客戶端通過瀏覽器發(fā)出 請求,相應的ASP程序在服務端運行,并把運行結(jié)果返回給客戶端。ASP程序文件是以“ *.asp”為后綴的文件,它必須運行在 Web服務器上。如果 您的操作系統(tǒng)是 Win95/98則請安裝 MS Personal Web Server,如果是 Win NT或 Win2000以上的,則請安裝IIS。但安裝好 Web服務器后,會在系統(tǒng)盤下建立如下 目錄:lnetpub'wwwroot,您只需把 ASP程序文件(如文件名為 test.asp拷貝到這 個目錄下,然后在其他機器的瀏覽器地址欄鍵入:“http:/服務
27、器IP地址/test.asP'即 可運行。我們在“示例”目錄下提供了一個 ASP程序文件test.asp和一個數(shù)據(jù)庫文件test.mdb, 您只需把這兩個文件拷貝到 系統(tǒng)盤下的目錄“ lnetpubwwwroot”中,然后瀏覽器地址 欄鍵入:“http:/服務器IP地址/test.asp'即可看到示例的結(jié)果。2、ASP實例詳解1)應用場景讓我們設想一種場景, 某個咨詢網(wǎng)站保存了眾多公司的信息,該網(wǎng)站面向用戶提供這些公司基本信息和聯(lián)系方式的查詢。某個用戶希望獲得所有公司的列表,期待的結(jié)果如下:公司10: 1 公司名稱* Coiupany 1公司IDz 2 公司名稱:Coiripa
28、ny 2公司ID: 3 公司名稱:Company 3公司ID: 4 公司名稱* Conipany 4公司ID: 5 公司名秫* C口inpany 5聯(lián)系號碼154195734令鞠在戲聯(lián)系號碼:14137743g聯(lián)系號碼:4567855隠一老板留司聯(lián)系號碼4334457邑聯(lián)系號碼240285461石的在戲并且點擊圖標后,能彈出IM對話框,給這些公司的接口人留言或?qū)崟r交流。2)技術(shù)方案由于公司數(shù)量眾多,且每個公司的信息也有一定的個性化,我們考慮存儲在數(shù)據(jù)庫中。 在此,我們采用了 Access數(shù)據(jù)庫,使用 ADO訪問技術(shù)。公司信息存在表 Company里,表的結(jié)構(gòu)定義如下:字段名類型描述Compa
29、nylD數(shù)字公司序號Compa ny Name文本公司名稱Exe文本使用的程序:QQ或TMQQ數(shù)字公司的聯(lián)系QQ號碼ImgType數(shù)字顯示的圖標類型,值的含義參見 “表1狀態(tài)一覽表”表2 Company表結(jié)構(gòu)用戶通過瀏覽器發(fā)出請求時,程序首先打開數(shù)據(jù)庫,訪問Company表,獲取所有的公司信息,然后循環(huán)遍歷記錄集,提取所需要的信息,編寫網(wǎng)頁元素和腳本函數(shù)的參數(shù),依次列出各公司的信息。網(wǎng)頁編寫完畢后,服務器會自動返回給瀏覽器并正確顯示。3) 編碼實現(xiàn)A、訪問數(shù)據(jù)庫打開數(shù)據(jù)庫:<%Set conn = Server.CreateObject("ADODB.Connection&qu
30、ot;) 創(chuàng)建 ADO 數(shù)據(jù)庫連接實例 conn.Open "DRIVER=Microsoft Access Driver (*.mdb); DBQ=" & Server.MapPath("test.mdb") 打開 ADO 數(shù)據(jù)庫連接%>其中Server.MapPath("test.mdb")表示數(shù)據(jù)庫的路徑,注意不能是絕對路徑,必須是虛擬目錄。 如果您把數(shù)據(jù)庫直接放在 wwwroot目錄下,則路徑就是test.mdb;如果您放在自建的虛 擬目錄abc下,則路徑就是abctest.mdbo查詢表:<%set rs
31、=server.CreateObject("adodb.recordset")創(chuàng)建 ADO 數(shù)據(jù)集實例sqlstr="select * from Company"查詢 SQL 語句rs.ope n sqlstr,c onn ,1,1打開一個查詢記錄集%>遍歷記錄集<%Dim strTempstrTemp = "<script src="" nee. on li ne?Type=1 &"遍歷記錄集rs.movefirstWhile not rs.eofstrTemp = strTemp +
32、CStr(rs("QQ")指定字段,從當前記錄中提取值strTemp = strTemp + ":"rs.move nextWendstrTemp = strTemp + ""”></script>"Resp on se.Write(strTemp)輸出網(wǎng)頁元素%>關(guān)閉數(shù)據(jù)庫連接<%rs.closeconn .closeset rs=nothingset conn=nothing%>B、編寫網(wǎng)頁兀素ASP程序的目的是動態(tài)生成一個完整的網(wǎng)頁,用以返回給瀏覽器,故需要編寫一個完 整的網(wǎng)頁源碼。
33、ASP語句部分是可以嵌在網(wǎng)頁源碼中的任何地方的。網(wǎng)頁元素的輸出有兩 種方式,一種是直接編寫,另一種是使用 ASP的Response方法。前者不需要嵌在 ASP語句 中,后者需要嵌在 ASP語句中(如:<%response.write(測試<br> ”>)。動態(tài)生成網(wǎng)頁元素:<TABLE height=20 cellSpaci ng=0 width=640 border=0><%Dim strlmgNameDim nln dexnln dex = 0rs.movefirstWhile n ot rs.eof遍歷記錄集resp on se.write(&q
34、uot;<TR alig n=left>")response.write("<TD width=100> 公司 ID :")resp on se.write(rs("Compa ny ID")respon se.write("</TD>")response.write("<TD width=180> 公司名稱:")resp on se.write(rs("Compa ny Name")respon se.write("</
35、TD>")response.write("<TD width=180> 聯(lián)系號碼:")respo nse.write(rs("QQ")respon se.write("</TD>")resp on se.write("<TD>")resp on se.write("<script>")strTemp = "if (on li ne"strTemp = strTemp + CStr( nln dex)strTemp
36、 = strTemp + "=0)"如果用戶離線resp on se.write(strTemp)獲取圖標類型,根據(jù)不同的圖標類型指定不同的文件Select Case rs("ImgType")Case 0strImgName = "qq_offli ne.gif"Case 4strImgName = "qq_offli ne.gif"Case 1strImgName = "tm_offli ne.gif"Case 2strImgName = "rtx_offli ne.gif"Case 3strImgName = "qq1_offl in e.gif"End SelectstrTemp = " document.write(""<img SRC="""strTemp = strTemp + strImgNamestrTemp = strTemp +""" alt=' 點 擊 發(fā)送 離on Click='Se ndMsg("&qu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版數(shù)學七年級下冊9.5.4《多項式的因式分解》聽評課記錄
- 現(xiàn)代建筑設計中的可持續(xù)性與施工技術(shù)研究
- 人教版地理七年級上冊第三節(jié)《降水的變化與分布》聽課評課記錄4
- 【培優(yōu)卷】同步分層練習:四年級下冊語文第24課《“諾曼底”號遇難記》(含答案)
- 現(xiàn)代企業(yè)如何打造安全生產(chǎn)文化
- Unit 4 At the farm Part B (說課稿)-2024-2025學年人教PEP版英語四年級下冊
- 2025年度智慧城市建設數(shù)據(jù)資源共享合作協(xié)議
- 現(xiàn)代企業(yè)文化的教育意義與實踐路徑
- 2025年度紅門20D電動伸縮門6米項目專用環(huán)境適應性測試合同
- 2025年度海上客運船舶改造及運輸服務合同2025年度海上旅游航線票務代理合同
- GB/T 5782-2016六角頭螺栓
- 科技計劃項目申報培訓
- 591食堂不合格食品處置制度
- 產(chǎn)業(yè)鏈鏈長分工表
- 國際金融課件(完整版)
- 導向標識系統(tǒng)設計(一)課件
- 220t鍋爐課程設計 李學玉
- 全英文劇本 《劇院魅影》
- 北京城的中軸線PPT通用課件
- 黑布林繪本 Dad-for-Sale 出售爸爸課件
- 京東方頂崗實習報告1
評論
0/150
提交評論