mm_os
Version:
这是超级美眉服务端框架,用于快速构建应用程序。
155 lines (152 loc) • 5.22 kB
JavaScript
/**
* @fileOverview {0}
* @author <a href="作者主页地址">应用作者</a>
* @version 1.0
*/
/**
* 应用对象
*/
module.exports = {
/**
* 安装,把应用安装到系统中,在安装时执行
* @param {Object} option 配置参数
* @param {String} option.path 应用安装路径
* @param {Object} option.config 应用配置信息
* @param {String} option.version 应用版本号
* @return {String} 成功返回null,否则返回错误提示。常见错误:路径不存在、版本不兼容、依赖缺失等
*/
install(option) {
var msg = null;
// 此处常用于更新文件和导入数据库等操作。通常为一次操作
return msg;
},
/**
* 加载应用,当脚本被引入时会执行
* @param {Object} option 配置参数
* @return {String} 成功返回null, 否则返回错误提示。常见错误:依赖模块加载失败、模块冲突等
*/
load(option) {
var msg = null;
// 此处通常用于require加载其他相关模块(不在脚本文件中直接require模块,可提高启动速度,可根据应用优先级优先加载模块)
return msg;
},
/**
* 初始化应用,设置全局变量、路由规则和定时任务等
* @param {Object} option 配置参数
* @return {String} 成功返回null, 否则返回错误提示。常见错误:配置格式错误、路由冲突等
*/
init(option) {
var msg = null;
// 此处主要用于重置全局变量和配置,更新路由和更新定时任务等操作
return msg;
},
/**
* 启动应用,开启路由监听和定时任务
* @param {Object} option 配置参数
* @return {String} 成功返回null,否则返回错误提示。常见错误:端口被占用、服务启动超时等
*/
start(option) {
var msg = null;
// 此处主要用于开启路由和定时任务
return msg;
},
/**
* 重启应用,在配置更改或应用更新时执行
* @param {Object} option 配置参数
* @return {String} 成功返回null,否则返回错误提示。常见错误:重启超时、服务未完全停止等
*/
restart(option) {
var msg = null;
this.stop();
this.start();
return msg;
},
/**
* 暂停应用,临时停止路由和定时任务的执行
* @param {Object} option 配置参数
* @return {String} 成功返回null,否则返回错误提示。常见错误:有未完成的任务、停止超时等
*/
stop(option) {
var msg = null;
// 此处主要用于关闭路由和定时任务
return msg;
},
/**
* 结束应用,清理路由、定时任务和连接
* @param {Object} option 配置参数
* @return {String} 成功返回null,否则返回错误提示。常见错误:资源释放失败、清理超时等
*/
end(option) {
var msg = null;
// 主要用于移除注册的路由、 定时任务连接
return msg;
},
/**
* 卸载已加载的模块,释放内存资源
* @param {Object} option 配置参数
* @return {String} 成功返回null,否则返回错误提示。常见错误:模块正在使用、依赖关系阻止卸载等
*/
unload(option) {
var msg = null;
// 主要用于移除加载的模块,释放内存(卸载require的模块,降低系统运行内存)
return msg;
},
/**
* 应用版本更新,包括下载、安装和重启
* @param {Object} option 配置参数
* @return {String} 成功返回null, 否则返回错误提示。常见错误:网络问题、版本冲突、空间不足等
*/
update(option) {
var msg = null;
// 下载最新版本,重新安装、重新加载并初始化,如果本身程序属于启动状态,将重新启动
this.install(option);
if (this.config.state == 1) {
this.load(option);
this.init(option);
this.start(option);
}
return msg;
},
/**
* 卸载应用,完全移除应用及其相关资源
* @param {Object} option 配置参数
* @return {String} 成功返回null,否则返回错误提示。常见错误:文件删除失败、数据库清理失败等
*/
uninstall(option) {
var msg = null;
// 此处从系统中完全删除程序及其所有相关文件和配置。卸载后,该应用不会在系统中留下任何痕迹
return msg;
},
/**
* 获取应用使用帮助信息
* @param {String} item 查询的功能项,如"install"、"api"等
* @return {Object} 返回帮助信息对象
* @example
* // 获取安装相关帮助
* help("install")
* // 返回: {title: "安装说明", steps: ["步骤1...", "步骤2..."], examples: [...]}
*/
help(item) {
var tip = "";
switch (item) {
case "run":
break;
default:
break;
}
return tip;
},
/**
* 应用主程序,处理核心业务逻辑
* @param {Object} param1 业务参数对象
* @param {Object} param2 配置参数对象
* @return {Object} 返回执行结果对象 {code: 0, msg: "success", data: {}}
* @example
* main({action: "process", data: {id: 1}}, {options: {async: true}})
* // 返回: {code: 0, msg: "处理成功", data: {result: "..."}}
*/
main(param1, param2) {
var ret = null;
return ret;
}
};