/* * @author: wenyu * @date: 2017-01-09 17:26:22 * @last modified by: wenyu * @last modified time: 2017-01-13 08:46:38 */ 'use strict'; var comps = {}, compsloader = {}, compmessage = {}, utils = {}, isloadeddata = []; compmessage = { topics:{}, _genname:function(name){ return "t."+ escape(name); }, subscribe:function(topic,func){ var name = this._genname(topic); if(this.topics[name]){ this.topics[name].push(func); }else{ this.topics[name] = []; this.topics[name].push(func); } }, publish:function(topic,option,callback){ console.log("发布消息:"+topic); if(option==null || option == undefined){ option = {}; } var name = this._genname(topic); for(var i in this.topics[name]){ this.topics[name][i](option,callback); } } }; utils.loader = function(funcname, option) { // if (!option.hasownproperty('compstype')) { // var modulefuncname = funcname.tolowercase(); // require([modulefuncname], function(modulefuncname) { // var obj = new comps[funcname](option); // obj.init(); // }); // } // var obj = new comps[funcname](option); obj.init(); isloadeddata.push(option.compid); // console.info('%c' + funcname + "组件已经被注册,组件id为" + option.compid, 'color:' + utils.getrandomcolor()); } utils.ajaxloadcomplate = function(target) { $("#" + target.compid).find('.m-comsloading').hide(); } utils.loadcomplate = function(target) { $("#" + target.compid).find('.m-comsloading').hide(); } utils.throttle = function(fn, delay) { var timer = null; return function() { var context = this, args = arguments; cleartimeout(timer); timer = settimeout(function() { fn.apply(context, args); }, delay); }; } utils.getrandomcolor = function() { return '#' + (math.random() * 0xffffff << 0).tostring(16); }