var trigger = {
taskList: [],//所有订阅事件数组
events: {
login: "LOGIN",//事件订阅名称
callConfig: "CALLCONFIG"
},
add: function(t, s, i) {
console.log('添加订阅',s)
this.taskList && this.taskList.length || (this.taskList = []), this.taskList.push({
event: t,//事件订阅名称
name: s,//备注信息
fun: i//事件
});
},
remove: function(t, s) {
console.log('移除订阅',s)
for (var i in this.taskList) this.taskList[i] && this.taskList[i].event === t && this.taskList[i].name === s && (this.taskList[i] = null);
},
//登陆后触发 o.$triggers.run(o.$triggers.events.login);//触发登陆后需要处理的事件
run: function(t, s, i) {
console.log('执行订阅',t);
for (var n in this.taskList) null != this.taskList[n] && this.taskList[n].event === t && ("function" == typeof this.taskList[n].fun && this.taskList[n].fun(i),
this.taskList[n] = null);
"function" == typeof s && s();
}
};
module.exports = trigger;