hollow
Version:
hollow(treehole),publish secret by anonymous.
79 lines (62 loc) • 2 kB
JavaScript
var renrenLogin=require('./login').INST;
var path=require('path');
var fs=require('fs');
var assert=require('assert');
var renrenINST=function(){
var LoginTool;
var LoginInfo;
var Foots;
var Hands;
var callbackFn;
var Filters;
this.Login=function(account,callback){
LoginTool=new renrenLogin();
assert(typeof callback === 'function');
LoginTool.setAccount(account);
LoginTool.onekeyLogin(function(err,loginInfo){
LoginInfo=loginInfo;
callback(err,loginInfo);
});
};
this.getLoginInfo=function(){
return LoginInfo;
};
this.Start=function(hands,foots,filters,callback){
assert(typeof hands === 'object');
assert(typeof foots === 'object');
assert(filters instanceof Array );
assert(typeof callback === 'function');
Foots=foots;
Hands=hands;
Filters=filters;
callbackFn=callback;
StartWork();
};
var StartWork=function(){
for(var key in Hands){
Hands[key].inst=new (Hands[key].exec)();
Hands[key].inst.init(LoginInfo,Hands[key].params);
Hands[key].inst.run(PutGeter);
};
for(var key in Foots){
Foots[key].inst=new (Foots[key].exec)();
Foots[key].inst.init(LoginInfo,Foots[key].params);
Foots[key].inst.run(PutGeter);
};
}
var PutGeter=function(handid,messageid,message){
var MeggageBody={
handid:handid,
messageid:messageid,
message:message
}
Filters.forEach(function(filter){
MeggageBody=filter(MeggageBody);
});
for(var key in Foots){
var foot=Foots[key].inst;
foot.accept(MeggageBody.handid,MeggageBody.messageid,MeggageBody.message);
}
}
}
module.exports.INST=renrenINST;