mm_os
Version:
MM_OS服务端架构,用于快速构建应用程序,支持网站建设、小程序后台、AI应用、物联网(IOT/AIOT)、游戏服务端等多种场景。
59 lines (54 loc) • 1.42 kB
JavaScript
const Item = require('mm_machine').Drive;
/**
* Event事件驱动类
* @augments {Item}
* @class
*/
class Drive extends Item {
static config = {
// 应用名称 例如:demo_app
'app': 'server',
// 目标
'target': '',
// 阶段, 分执行前before、验证check、主要main、渲染render、执行后after阶段
'stage': 'main'
};
/**
* 构造函数
* @param {object} config 配置参数
* @param {object} parent 父对象
* @class
*/
constructor(config, parent) {
super({ ...Drive.config, ...config }, parent);
// 默认启用热更新
this.mode = 3;
}
}
/**
* 获取模型
* @param {string} type 模型类型
* @returns {object} 返回获取到的模型
*/
Drive.prototype.getModel = function (type) {
let model = { ...this.config };
let dir = this.getDir();
let l = $.slash;
let app_name = dir.between('app' + l, l);
let plugin_name = dir.between('plugin' + l, l);
let name = dir.basename();
model.app = app_name;
model.plugin = plugin_name;
model.name = model.name || app_name + '_' + name;
let target = '';
if (name === 'client') {
target = '/api/' + app_name + '*';
} else if (name === 'manage') {
target = '/apis/' + app_name + '*';
} else {
target = '/' + name + '*';
}
model.target = target;
return model;
};
module.exports = Drive;