⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rosterservice.js

📁 用最近的dojo1.2.1制作前端的ajax购书网站
💻 JS
字号:
/*	Copyright (c) 2004-2008, The Dojo Foundation All Rights Reserved.	Available via Academic Free License >= 2.1 OR the modified BSD license.	see: http://dojotoolkit.org/license for details*/if(!dojo._hasResource["dojox.xmpp.RosterService"]){dojo._hasResource["dojox.xmpp.RosterService"]=true;dojo.provide("dojox.xmpp.RosterService");dojox.xmpp.roster={ADDED:101,CHANGED:102,REMOVED:103};dojo.declare("dojox.xmpp.RosterService",null,{constructor:function(_1){this.session=_1;},addRosterItem:function(_2,_3,_4){if(!_2){throw new Error("Roster::addRosterItem() - User ID is null");}var _5=this.session.getNextIqId();var _6={id:_5,from:this.session.jid+"/"+this.session.resource,type:"set"};var _7=new dojox.string.Builder(dojox.xmpp.util.createElement("iq",_6,false));_7.append(dojox.xmpp.util.createElement("query",{xmlns:"jabber:iq:roster"},false));_2=dojox.xmpp.util.encodeJid(_2);if(_2.indexOf("@")==-1){_2=_2+"@"+this.session.domain;}_7.append(dojox.xmpp.util.createElement("item",{jid:_2,name:dojox.xmpp.util.xmlEncode(_3)},false));if(_4){for(var i=0;i<_4.length;i++){_7.append("<group>");_7.append(_4[i]);_7.append("</group>");}}_7.append("</item></query></iq>");var _9=this.session.dispatchPacket(_7.toString(),"iq",_6.id);_9.addCallback(this,"verifyRoster");return _9;},updateRosterItem:function(_a,_b,_c){if(_a.indexOf("@")==-1){_a+=_a+"@"+this.session.domain;}var _d={id:this.session.getNextIqId(),from:this.session.jid+"/"+this.session.resource,type:"set"};var _e=new dojox.string.Builder(dojox.xmpp.util.createElement("iq",_d,false));_e.append(dojox.xmpp.util.createElement("query",{xmlns:"jabber:iq:roster"},false));var i=this.session.getRosterIndex(_a);if(i==-1){return;}var _10={jid:_a};if(_b){_10.name=_b;}else{if(this.session.roster[i].name){_10.name=this.session.roster[i].name;}}if(_10.name){_10.name=dojox.xmpp.util.xmlEncode(_10.name);}_e.append(dojox.xmpp.util.createElement("item",_10,false));var _11=_c?_c:this.session.roster[i].groups;if(_11){for(var x=0;x<_11.length;x++){_e.append("<group>");_e.append(_11[x]);_e.append("</group>");}}_e.append("</item></query></iq>");var def=this.session.dispatchPacket(_e.toString(),"iq",_d.id);def.addCallback(this,"verifyRoster");return def;},verifyRoster:function(res){if(res.getAttribute("type")=="result"){}else{var err=this.session.processXmppError(res);this.onAddRosterItemFailed(err);}return res;},addRosterItemToGroup:function(jid,_17){if(!jid){throw new Error("Roster::addRosterItemToGroup() JID is null or undefined");}if(!_17){throw new Error("Roster::addRosterItemToGroup() group is null or undefined");}var _18=this.session.getRosterIndex(jid);if(_18==-1){return;}var _19=this.session.roster[_18];var _1a=[];var _1b=false;for(var i=0;((_19<_19.groups.length)&&(!_1b));i++){if(_19.groups[i]!=_17){continue;}_1b=true;}if(!_1b){return this.updateRosterItem(jid,_19.name,_19.groups.concat(_17),_18);}return dojox.xmpp.xmpp.INVALID_ID;},removeRosterGroup:function(_1d){var _1e=this.session.roster;for(var i=0;i<_1e.length;i++){var _20=_1e[i];if(_20.groups.length>0){for(var j=0;j<_20.groups.length;j++){if(_20.groups[j]==_1d){_20.groups.splice(j,1);this.updateRosterItem(_20.jid,_20.name,_20.groups);}}}}},renameRosterGroup:function(_22,_23){var _24=this.session.roster;for(var i=0;i<_24.length;i++){var _26=_24[i];if(_26.groups.length>0){for(var j=0;j<_26.groups.length;j++){if(_26.groups[j]==_22){_26.groups[j]=_23;this.updateRosterItem(_26.jid,_26.name,_26.groups);}}}}},removeRosterItemFromGroup:function(jid,_29){if(!jid){throw new Error("Roster::addRosterItemToGroup() JID is null or undefined");}if(!_29){throw new Error("Roster::addRosterItemToGroup() group is null or undefined");}var _2a=this.session.getRosterIndex(jid);if(_2a==-1){return;}var _2b=this.session.roster[_2a];var _2c=false;for(var i=0;((i<_2b.groups.length)&&(!_2c));i++){if(_2b.groups[i]!=_29){continue;}_2c=true;_2a=i;}if(_2c==true){_2b.groups.splice(_2a,1);return this.updateRosterItem(jid,_2b.name,_2b.groups);}return dojox.xmpp.xmpp.INVALID_ID;},rosterItemRenameGroup:function(jid,_2f,_30){if(!jid){throw new Error("Roster::rosterItemRenameGroup() JID is null or undefined");}if(!_30){throw new Error("Roster::rosterItemRenameGroup() group is null or undefined");}var _31=this.session.getRosterIndex(jid);if(_31==-1){return;}var _32=this.session.roster[_31];var _33=false;for(var i=0;((i<_32.groups.length)&&(!_33));i++){if(_32.groups[i]==_2f){_32.groups[i]=_30;_33=true;}}if(_33==true){return this.updateRosterItem(jid,_32.name,_32.groups);}return dojox.xmpp.xmpp.INVALID_ID;},renameRosterItem:function(jid,_36){if(!jid){throw new Error("Roster::addRosterItemToGroup() JID is null or undefined");}if(!_36){throw new Error("Roster::addRosterItemToGroup() New Name is null or undefined");}var _37=this.session.getRosterIndex(jid);if(_37==-1){return;}return this.updateRosterItem(jid,_36,this.session.roster.groups,_37);},removeRosterItem:function(jid){if(!jid){throw new Error("Roster::addRosterItemToGroup() JID is null or undefined");}var req={id:this.session.getNextIqId(),from:this.session.jid+"/"+this.session.resource,type:"set"};var _3a=new dojox.string.Builder(dojox.xmpp.util.createElement("iq",req,false));_3a.append(dojox.xmpp.util.createElement("query",{xmlns:"jabber:iq:roster"},false));if(jid.indexOf("@")==-1){jid+=jid+"@"+this.session.domain;}_3a.append(dojox.xmpp.util.createElement("item",{jid:jid,subscription:"remove"},true));_3a.append("</query></iq>");var def=this.session.dispatchPacket(_3a.toString(),"iq",req.id);def.addCallback(this,"verifyRoster");return def;},getAvatar:function(jid){},publishAvatar:function(_3d,_3e){},onVerifyRoster:function(id){},onVerifyRosterFailed:function(err){}});}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -