Files
2026-02-04 23:47:45 +08:00

71 lines
1.5 KiB
JavaScript

///////////////////////////////////////////////////
//////////////cls_mod: 模块基础类//////////////////
///////////////////////////////////////////////////
var cls_mod = cls_mod || {
//构造函数
new: function(_str_modname, _str_routename, _obj_app) {
/*
_str_modname 模块名称
_str_routename 模块的路由名称
_obj_app 所属的应用对象
*/
//创建一个实例
var mod = {};
// ================= 实例的公有属性 ================= //
//模块名称
mod.modname = _str_modname;
//路由名称
mod.routename = _str_routename;
//所属的应用
mod.app = _obj_app;
//将mod对象添加到app的模块列表中
mod.app.modlist.push(mod);
mod.app[_str_modname] = mod;
// ================= 实例的公有方法 ================= //
//收包处理
mod.DoPack = function(_msg) {
return cls_mod.DoPack(mod, _msg);
}
//输出mod
cls_mod.OutputMod(mod);
return mod;
},
DoPack: function(_obj_mod, _msg) {
if (typeof(_msg) == "string") {
_msg = JSON.parse(_msg); //转换json
}
//执行rpc
if (_msg.rpc) {
if (min_ExitsFunction(_obj_mod[_msg.rpc])) {
return _obj_mod[_msg.rpc](_msg);
}
}
},
OutputMod: function(_obj_mod) {
if (typeof global !== "undefined")
{} else {
global = {};
}
if (typeof module !== "undefined")
{} else {
module = {};
module.exports = {};
}
global[_obj_mod.modname] = _obj_mod;
global[_obj_mod.modname].DoPack = _obj_mod.DoPack;
if (module) {
module.exports[_obj_mod.modname] = _obj_mod;
}
}
}