mm_os
Version:
MM_OS服务端架构,用于快速构建应用程序,支持网站建设、小程序后台、AI应用、物联网(IOT/AIOT)、游戏服务端等多种场景。
77 lines (72 loc) • 1.57 kB
JavaScript
const {
Drive
} = require('mm_machine');
/**
* 公共基类
* 负责管理公共的生命周期、资源加载和依赖管理
*/
class Com extends Drive {
static config = {
// 组件名称
name: 'default',
// 组件版本
version: '1.0.0',
// 组件标题
title: '公共',
// 组件描述
description: '公共基类',
// 作者
author: 'qww',
// 组件目录
dir: './com',
// 依赖的npm模块
dependencies: []
};
/**
* 构造函数
* @param {object} config 配置参数
* @param {object} parent 父对象
*/
constructor(config, parent) {
super({...Com.config, ...config || {}}, parent);
}
}
/**
* 获取模板目录
* @returns {string} 模板目录
*/
Com.prototype.getTplDir = function() {
return __dirname;
};
/**
* 初始化核心
* @param {object} server 服务器
* @param {object} eventer 事件总线
* @param {object} logger 日志管理器
* @private
*/
Com.prototype._initCore = async function(server, eventer, logger) {
// 初始化依赖项
if (logger) {
this.setLogger(logger);
}
if (eventer) {
this.getEventer = function () {
return eventer;
};
}
if (server) {
this.getServer = function () {
return server;
};
}
// 初始化管理
await this._initManager();
// 加载资源
await this._loadSources();
};
Com.prototype._startCore = async function () {
// 初始化资源
await this._initSources();
};
exports.Com = Com;