ASP应用实例腾讯内部讲义.docx
- 文档编号:4251277
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:17
- 大小:122.59KB
ASP应用实例腾讯内部讲义.docx
《ASP应用实例腾讯内部讲义.docx》由会员分享,可在线阅读,更多相关《ASP应用实例腾讯内部讲义.docx(17页珍藏版)》请在冰豆网上搜索。
ASP应用实例腾讯内部讲义
互动状态的实现指南
目录
一、用户的状态获取-3-
1、获取单个用户的状态:
-3-
2、获取多个用户的状态-4-
二、点击用户的状态给用户发送消息-5-
三、互动状态的接口参考-9-
1、复杂接口(含有点击操作的)-9-
2、简单接口(无点击操作)-10-
1)返回在线状态图片-10-
2)返回在线状态文字-10-
四、ASP应用实例-11-
1、ASP的应用环境-11-
2、ASP实例详解-11-
1)应用场景-11-
2)技术方案-12-
3)编码实现-12-
A、访问数据库-12-
B、编写网页元素-13-
一、用户的状态获取
在您开发的互动空间程序中,有时需要查询某个QQ用户或某批QQ用户的在线状态,腾讯公司为此提供了一个简便的接口,该接口是一个URL地址。
根据获取单个和多个的不同,该URL地址有所不同,服务器返回的形式也有所不同。
注意,该URL地址是大小写敏感的。
目前只返回在线和离线两种状态,注意,没有离开状态和隐身状态,当用户处于离开状态时,视同在线;当用户处于隐身状态时,视同离线状态。
1、获取单个用户的状态:
获取单个用户的状态的URL地址是:
后三项您可以随意定制,具体含义为:
Type项:
对于获取单个用户的情况,是保留项,可以填写任意值或者不要该项
qq项:
代表您要查询的QQ用户的号码;
resulttype项:
表示您希望获得的是QQ还是TM的状态,值为1代表返回的是TM类型的状态,值为3代表返回的是QQ类型的状态。
把上述URL地址拷贝到IE的地址栏,回车,返回的页面显示如下值:
document.write(" //219.133.40.106/qq1_offline.gif'border='0'") 可见,这个查询的返回结果是一条显示某个图片的命令,http: //219.133.40.106/qq1_offline.gif就是表示图片所在的位置以及文件名,不同的图片代表了不同的状态。 根据您填写的resulttype的值不同,用不同的图片代表不同的状态,具体如下表: 表1状态一览表 Resulttype的值 图片 文件名 代表的含义 1 tm_offline.gif TM用户离线 1 tm_online.gif TM用户在线 2 rtx_offline.gif s-buddy用户离线 2 rtx_online.gif s-buddy用户在线 3 qq1_offline.gif QQ用户离线 3 qq1_online.gif QQ用户在线 0或4 qq_offline.gif QQ用户离线 0或4 qq_online.gif QQ用户在线 下面是一段获取单个用户的在线状态的完整示例代码:
这里显示的是QQ用户的状态,如果要更新,请刷新网页。
TM:
3621277的在线状态
//219.133.38.16/getonline? type=1&qq=3621277&resulttype=1"> 从上面的代码可以看出,获取状态的命令是这句话: //219.133.38.16/getonline? Type=1&qq=3621277&resulttype=1"> 服务器返回命令是: document.write(" //219.133.40.106/qq1_offline.gif'border='0'") 该命令执行的结果将会在获取状态的命令的位置绘制一个图片,以代表客户的在线状态 2、获取多个用户的状态 获取多个用户状态的URL地址是: 其中Type=1是表示获取多个用户的状态,“Type=1&”后面紧跟着的是您要查询的用户的QQ号码,各个号码之间必须用冒号“: ”隔开,并且必须以冒号“: ”结尾。 把上述URL地址拷贝到IE浏览器的地址栏中,回车,可以看到返回结果是: online[0]=0;online[1]=1;online[2]=0; 您可以在网页中编写脚本来读取这些返回结果,编写时,您必须声明一个名为online的数组,用于读取你所要查询的QQ用户的状态。 online数组中的序号0,1,2的值分别对应URL地址中的先后QQ号码,数组的值0表示离线,1表示在线。 按照上面的例子则: online[0]=0表示154195734用户离线;online[1]=1表示240285461用户在线;online[2]=0表示14137743用户离线。 根据这些返回值,您可以用图标显示他们的状态,这些图标都在http: //219.133.40.106/地址下,具体的文件名以及他们所代表的图片及含义请参见“表1状态一览表”。 脚本示例代码: varonline=newArray(); if(online[0]==0) document.write(" //219.133.40.106/qq_offline.gif\"); else document.write(" //219.133.40.106/qq_online.gif\"); 二、点击用户的状态给用户发送消息 在所显示的状态图标上,可以编写脚本,使鼠标点击该图标弹出给该用户发送消息的窗口,达到实时沟通的效果。 前提是: 您的机器必须安装了QQ或TM,如果您的QQ或TM还没启动,会提示您先启动,提示如下: 例如,在网页上显示了以下图标: 点击后,将出现以下会话窗口: 在显示图标的标签 tencent: //Message/? Menu=yes&Exe=tm&Uin=259966199 该参数大小写不敏感,其中Uin项表示要与之会话的QQ用户的号码;Menu及Exe项的含义如下: 脚本示例: functionSendMsg(sUrl) { try//支持 { varxmlhttp=newActiveXObject("TimwpDll.TimwpCheck"); this.location.href=sUrl; } catch(e)//不支持 {} returnfalse; } //219.133.40.106/qq_online.gif"alt='点击发送消息给对方'onClick='SendMsg("Tencent: //Message/? Menu=YES&Exe=QQ&Uin=14137743")'> 完整的示例代码如下: functionSendMsg(sUrl) { try//支持 { varxmlhttp=newActiveXObject("TimwpDll.TimwpCheck"); this.location.href=sUrl; } catch(e)//不支持 { alert("您没有安装QQ/TM,或者您的版本过旧,请到腾讯网站下载"); window.location=""; } returnfalse; } varonline=newArray(); 14137743 if(online[0]==0) document.write(" //219.133.40.106/qq_offline.gif\"alt='点击发送离线消息'onClick='SendMsg(\"Tencent: //Message/? Menu=YES&Exe=QQ&Uin=154195734\")'>"); else document.write(" //219.133.40.106/qq_online.gif\"alt='点击发送消息给对方'onClick='SendMsg(\"Tencent: //Message/? Menu=YES&Exe=QQ&Uin=154195734\")'>"); 57 240285461 if(online[1]==0) document.write(" //219.133.40.106/tm_offline.gif\"alt='点击发送离线消息'onClick='SendMsg(\"Tencent: //Message/? Menu=YES&Exe=TM&Uin=240285461\")'>"); else document.write(" //219.133.40.106/tm_online.gif\"alt='点击发送即时消息'onClick='SendMsg(\"Tencent: //Message/? Menu=YES&Exe=TM&Uin=240285461\")'>"); 57的响应函数里的相应参数上填写如下参数: