第2步:实例化即时通
复制以下代码,到您的网站页面的Javascript代码中。
//信贸通网店版类实例化与初始化Javascript脚本
var shopIm = new WP.ShopIm({
//isHideMainBar:false, //是否显示主工具条,默认(true)显示
loginType:1, //登陆类型,0:访客,1:会员
urlLoginKey: "LoginKey.ashx" //登录安全Key提供地址,
//通过登录安全Key,和您的网站用户一起登陆。
//请看集成接口DEMO http://www.semot.com/im/api.htm
});
//即时通讯初始化
shopIm.init();
第3步:链接聊天
在网页的HTML中,可以根据您的需求插入各种聊天接入。
<a href="javascript:shopIm.startChat(10013);">开始交谈(UIN:10013)</a>
图片链接,效果如:

<a href="javascript:shopIm.startChat(10013);"><img src="images/btn.gif" /></a>
带状态的图片链接,效果如:

,图片地址请设置为接口服务器的地址。
<a href="javascript:shopIm.startChat(10013);">
<img src="http://[接口服务器地址]/WebService/Member/Face/?uin=10012&t=1" >
</a>
第5步:个性定制
通过以下方式,您可以定制属于您的网页版IM。
5.1、登录窗口
/**
* 描述:【可选】覆盖该函数,可以根据实际应用的情况定制登录窗口显示的内容。
* 参数:
* cfg 好友资料对象
*/
shopIm.buildLoginWinContent = function (cfg) {
cfg.title = "信贸通登录"; //登陆标题
cfg.content = "您还没有登录,请点击登录。"; //未登录提示语
cfg.hintMessage = "正在登录,请稍候..."; //正在登录提示语
return cfg;
};
5.2、会话列表
/**
* 描述:【可选】覆盖该函数,可以根据实际应用的情况定制会话列表窗口显示的内容。
* 参数:
* cfg 好友资料对象
*/
shopIm.buildListWinContent = function (cfg) {
cfg.title = "信贸通会话列表"; //列表标题
cfg.btnExitText = "退出"; //退出文本
return cfg;
};
5.3、聊天窗口边栏
/**
* 描述:【可选】覆盖该函数,可以根据实际应用的情况定制聊天窗口显示的内容。
* 参数:
* buddy 好友资料对象
*/
shopIm.buildChatWinSideContent = function (buddy,sideElt,winElt) {
return {
title: buddy.Nickname + "资料",
content: [
"<div><ul>",
"<li><span>号码:</span>" + buddy.Uin + "<li>",
"<li><span>昵称:</span>" + buddy.Nickname + "<li>",
"<li><span>状态:</span>" + this.statusToDescr(buddy.Status) + "<li>",
"</ul></div>",
"<div>这里显示的内容,在集成到系统的时候都可以自定义。</div>"
].join("")
};
};
5.4、聊天窗口打开后事件
/**
* 描述:【可选】聊天窗口打开后事件
* 参数:
* eltId HTML元素Id
* toUin 需要聊天的对象的Uin
*/
shopIm.onChatWinOpened = function (eltId, toUin) {
var win = $("#" + eltId);
//演示重设窗口位置
win.css({
left: ($(window).width() - win.width()) / 2 + 'px',
top: ($(window).height() - win.height()) / 2 + $(document).scrollTop() + 'px', 'display': 'block'
});
};
5.5、收到消息事件
/**
* 描述:【可选】收到消息事件
*/
shopIm.onBuddyMsg = function(msgObject){
//console.log("收到消息");
var uin = msgObject.json.From; //获取消息来源
shopIm.startChat(uin); //打开对应的聊天窗口
};
5.6、好友状态改变事件
/**
* 描述:【可选】好友状态改变事件
*/
shopIm.onBuddySts = function(msgObject){
//console.log("好友状态改变");
};
5.7、本地消息缓存改变事件
/**
* 描述:【可选】本地消息缓存改变
*/
shopIm.onBuddyMsgCacheChange = function(msgObject){
console.log("本地消息缓存改变");
};
5.8、登录失败事件
/**
* 描述:【可选】登录失败事件
*/
shopIm.onLoginFailCallback = function() {
//salert("登录失败事件,可以Js中取消监听。");
};
5.9、正在登录事件
/**
*描述:【可选】用户登录
*/
shopIm.onLoging = function(){
//console.log("正在登录..");
};
5.10、已经登录成功事件
/**
* 描述:【可选】已经登录
*/
shopIm.onLogined = function(userInfo){
//console.log("已经登录...");
};
5.11、登录方法
//点击登录按钮时,会自动调用登录方法。如果您需要其他方式登录,可以代码中调用login方法。
shopIm.login();
5.12、登出/退出方法
//IM界面中已经包含退出按钮,如果您需要在其他地方退出,可以代码中调用loginOut方法。
shopIm.loginOut();
5.13、隐藏或显示主工具条
/**
*隐藏或显示主工具条
*/
shopIm.setMainBarVisible(false); // false:隐藏, true:显示