📄 common.js.svn-base
字号:
initMenu("loginPage");
var VERSION = " 1.0 C_MSN MSN_01 1.106";
var user=new Object();
user.friends=[];
user.logout=function(){
sendCmd(user.gwurl,"RLO","");
}
user.login=function(){
user.name=document.getElementById("nameEditor").value;
document.getElementById("waitingImg").style.display = 'block';
sendCmd("http://apollo.msn.com.cn:9950/","RQGW",user.name+VERSION);
}
function changedisplay(page1,page2) {
document.getElementById(page2).style.display="none";
document.getElementById(page1).style.display="block";
initMenu(page1);
}
function addFriend(){
var _email=document.getElementById("addname").value+"@"+document.getElementById("addemail").value;
sendCmd(user.gwurl,"RAF",_email,sendCmd.trID);
}
function setMyStatu(){
var _status=getvalue('status');
sendCmd(user.gwurl,"RST",_status,sendCmd.trID);
}
function deleteFriend(){
}
function getvalue(id){
var group = document.getElementsByName(id);
for(var i = group.length-1; i>=0; i--)
if(group[i].checked){
return group[i].value;
}
}
function personalSet(){
var _newNick=document.getElementById("newNick").value;
sendCmd(user.gwurl,"RCNN",_newNick,sendCmd.trID);
user.nickName=_newNick;
document.getElementById('nickName').firstChild.nodeValue=_newNick;
}
function initMenu(page){
window.clearMenu();
switch(page){
case "loginPage":
window.addMenuItem("帮助","changedisplay('help','loginPage')");
window.addMenuItem("关于","changedisplay('about','loginPage')");
window.addMenuItem("退出","window.close()");
window.addMenuItem("登录",'user.login()');
break;
case "mainUI":
window.addMenuItem("添加好友 ","changedisplay('addFriend','mainUI')");
window.addMenuItem("设置状态 ","changedisplay('myStatus','mainUI')");
window.addMenuItem("设置昵称 ","changedisplay('personalSet','mainUI')");
window.addMenuItem("删除好友 ","changedisplay('deleteFriend','mainUI')");
window.addMenuItem("退出 ","window.close()");
window.addMenuItem("注销 ","user.logout()");
break;
case "help":
window.addMenuItem("返回 ","changedisplay('loginPage','help')");
break;
case "about":
window.addMenuItem("返回 ","changedisplay('loginPage','about')");
break;
case "myStatus":
window.addMenuItem("确定 ","setMyStatu()");
window.addMenuItem("返回 ","changedisplay('mainUI','myStatus')");
break;
case "deleteFriend":
window.addMenuItem("确定 ","deleteFriend()");
window.addMenuItem("返回 ","changedisplay('mainUI','deleteFriend')");
break;
case "addFriend":
window.addMenuItem("确定 ","addFriend()");
window.addMenuItem("返回 ","changedisplay('mainUI','addFriend')");
break;
case "personalSet":
window.addMenuItem("确定 ","personalSet()");
window.addMenuItem("返回 ","changedisplay('mainUI','personalSet')");
break;
}
}
sendCmd.trID=0;
function sendCmd(url,head,data,trID){
defineClass("scriptable.XMLHttpRequest");
var request = new XMLHttpRequest();
request.onreadystatechange = function(){
if (request.readyState == 4)
if (request.status == 200){
handleAnswers(request.responseText);
}
else window.alert("命令发送出错:"+request.statusText);
}
request.open("POST",url,false);
if (user.sessionId) request.setRequestHeader("SESSIONID", user.sessionId);
trID=sendCmd.trID++;
request.send(head+" "+trID+(data?" "+data:"")+"\r\n");
}
function sendAnswer(url,head,data,trID){
sendCmd(url,head,data,trID)
}
function handleAnswers(responseText){
var array=responseText.split("\r\n");
var i=array.length-2;
for(i;i>=0;i--){
handleAnswer(array[i].split(" "))
}
}
function handleAnswer(answer){
if (!isOK(answer)) return;
switch(answer[0]){
case "AQGW":
if (answer[2]==0||answer[2]==1000)
{
user.gwurl="http://"+answer[3]+":"+answer[4];
sendCmd(user.gwurl,"RLI",user.name+" HwEUHEYSDA== "+ "1 "+"NLN"+VERSION+" 240*320");
}
break;
case "ALI":
user.nickName = answer[5];
user.sessionId = answer[3];
changedisplay("mainUI","loginPage");
document.getElementById("waitingImg").style.display = 'none';
loadUser();
break;
case "RSM":
break;
case "ASM":
break;
case "RPAD":
if(!user.sessionId) user.sessionId=answer[answer.length-1];
sendAnswer(user.gwurl,"APAD","0",answer[1]); //answer[1]为u25910 到u30340 trID
break;
case "RLO":
sendAnswer(user.gwurl,"ALO","0",answer[1]);
case "ALO":
user.sessionId = null;
changedisplay('loginPage','mainUI');
break;
case "AP":
break;
case "RFS":
user.friends.put(new Friend(answer[2],answer[3],answer[4],answer[5]));
break;
case "AST":
break;
default:
window.alert("收到错误的命令响应:"+answer);
}
}
function onGroupClick(id){
var _style = document.getElementById(id).style;
var _bar_style = document.getElementById(id+"Bar").style;
if(_style.display == "block"){
_style.display = "none";
_bar_style.backgroundImage = "img/folder_off.png";
}else{
_style.display = "block";
_bar_style.backgroundImage = "img/folder_on.png";
}
}
statusCode=[];
statusCode[0]=["",true];
statusCode[1000]=["成功但当前版本非最新版本,可升级",true];
statusCode[1001]=["命令字错误",false];
statusCode[1002]=["LoginEmail不正确",false];
statusCode[1003]=["MCCP_Version不支持",false];
statusCode[1004]=["不存在的Partner",false];
statusCode[1100]=["其他一般错误",false];
statusCode[2001]=["命令错误",false];
statusCode[2002]=["TRID错误",false];
statusCode[2003]=["参数错误",false];
statusCode[2004]=["消息格式错误",false];
statusCode[2005]=["离线用户",false];
statusCode[2011]=["Email格式错误",false];
statusCode[2012]=["帐号密码错误",false];
statusCode[2013]=["网络错误",false];
statusCode[2021]=["获取好友详细信息失败",false];
statusCode[2031]=["改变自己状态失败",false];
statusCode[2041]=["改变自己昵称失败",false];
statusCode[2051]=["发送聊天信息失败",false];
statusCode[2061]=["添加好友失败",false];
statusCode[2062]=["添加已经存在的好友",false];
statusCode[2063]=["添加自己为好友",false];
statusCode[2064]=["添加一个不存在的email",false];
statusCode[2071]=["删除好友失败",false];
statusCode[2072]=["删除不存在的好友",false];
statusCode[2081]=["操作失败",false];
statusCode[2999]=["ALI错误,协议文档未注明",false];
function keepAlive(){
if (!user.sessionId) return;
sendCmd(user.gwurl,"RP");
}
function isOK(answer){
if (3-answer.length > 0) return true;
switch(answer[0]){
case "RPAD":
case "RFS":
case "RLO":
return true;
case "ASM":
case "RSM":
return true;
default:
var code= statusCode[answer[2]];
if (code[1]) return true;
window. alert("服务器返回的错误的信息:"+answer[0]+" " +answer[1]+" " +code[0]);
return code[1];
}
}
window.setInterval("keepAlive()",10000);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -