mm_os 2.4.9 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/core/com/plugin/drive.js +0 -11
  2. package/core/com/plugin/index.js +0 -60
  3. package/core/com/task/script.js +6 -6
  4. package/demo/app/test/app.js +145 -0
  5. package/demo/app/test/app.json +11 -2
  6. package/demo/app/test/plugin/main/index.js +147 -0
  7. package/demo/app/test/plugin/main/plugin.json +26 -0
  8. package/demo/app/test/task/demo_task/index.js +6 -6
  9. package/lib/app.js +3 -1
  10. package/package.json +2 -2
  11. package/static/file/image/user/1458/2024_12_04_17_38_11.png +0 -0
  12. package/static/file/image/user/1460/2024_12_04_17_42_04.png +0 -0
  13. package/static/file/image/user/1604/2024_12_04_17_40_06.png +0 -0
  14. package/static/file/image/user/1649/2024_12_04_17_36_28.png +0 -0
  15. package/static/file/image/user/1678/2024_12_04_17_39_57.png +0 -0
  16. package/static/file/image/user/1726/2024_12_04_17_35_15.png +0 -0
  17. package/static/file/image/user/1755/2024_12_04_17_33_54.png +0 -0
  18. package/static/file/image/user/1756/2024_12_04_17_32_30.png +0 -0
  19. package/static/file/image/user/1885/2024_12_04_17_30_17.png +0 -0
  20. package/static/file/image/user/2137/2024_12_04_17_35_39.png +0 -0
  21. package/static/file/image/user/2192/2024_12_04_17_37_56.png +0 -0
  22. /package/demo/app/test/plugin/{api_demo_client → main/api_demo_client}/test/api.json +0 -0
  23. /package/demo/app/test/plugin/{api_demo_client → main/api_demo_client}/test/index.js +0 -0
  24. /package/demo/app/test/plugin/{api_demo_client → main/api_demo_client}/test/param.json +0 -0
  25. /package/demo/app/test/plugin/{api_demo_client → main/api_demo_client}/test/sql.json +0 -0
@@ -262,17 +262,6 @@ Drive.prototype.main = function(param1, param2) {
262
262
  return null;
263
263
  };
264
264
 
265
- /**
266
- * 执行程序
267
- * @param {Object} param1 参数1
268
- * @param {Object} param2 参数2
269
- * @param {String} method 执行方法
270
- * @return {Object} 返回执行结果
271
- */
272
- Drive.prototype.run = function(param1, param2, method = 'main') {
273
- return this[method](param1, param2);
274
- };
275
-
276
265
  /**
277
266
  * 指令(类似命令提示符)
278
267
  * @param {String} content 指令内容
@@ -21,34 +21,6 @@ class Plugin extends Index {
21
21
  }
22
22
  }
23
23
 
24
- /**
25
- * 执行程序
26
- * @param {Object} param1 参数1
27
- * @param {Object} param2 参数2
28
- * @return {Object} 返回执行结果
29
- */
30
- Plugin.prototype.run = function(param1, param2) {
31
- var ret;
32
- var lt = this.list;
33
- for (var i = 0, o; o = lt[i++];) {
34
- if (o.config.state === 1) {
35
- try {
36
- ret = o.run(param1, param2);
37
- if (this.mode) {
38
- o.load(o.filename);
39
- }
40
- } catch (error) {
41
- $.log.error("运行插件错误", o.config.name, error);
42
- }
43
-
44
- if (ret && o.end) {
45
- break;
46
- }
47
- }
48
- }
49
- return ret;
50
- };
51
-
52
24
  /**
53
25
  * 聊天(通过聊天的方式驱动插件, 用于机器人开发)
54
26
  * @param {String} from_user 发送消息人
@@ -74,38 +46,6 @@ Plugin.prototype.chat = async function(from_user, to_user, group, content, type,
74
46
  return ret;
75
47
  };
76
48
 
77
- /**
78
- * 执行插件方法
79
- * @param {String} name 插件名称
80
- * @param {String} method 方法名称
81
- * @param {Object} option 配置参数
82
- * @return {String} 执行结果
83
- */
84
- Plugin.prototype.exec = function(name, method, option) {
85
- var ret = "";
86
- var lt = this.list;
87
- if (name) {
88
- for (var i = 0, o; o = lt[i++];) {
89
- var name = o.config.name;
90
- if (o.config.state === 1 && name === name) {
91
- if (o[method]) {
92
- ret = o[method](option);
93
- }
94
- break;
95
- }
96
- }
97
- } else {
98
- for (var i = 0, o; o = lt[i++];) {
99
- if (o.config.state === 1) {
100
- if (o[method]) {
101
- ret = o[method](option);
102
- }
103
- }
104
- }
105
- }
106
- return ret;
107
- };
108
-
109
49
  /**
110
50
  * 初始化插件
111
51
  * @param {Object} option 配置参数
@@ -13,23 +13,23 @@ exports.main = async function main() {
13
13
  exports.notify = async function(name, state) {
14
14
  switch (state) {
15
15
  case "init":
16
- $.log.debug('初始化');
16
+ $.log.debug('任务-初始化');
17
17
  break;
18
18
  case "start":
19
- $.log.debug('开始执行');
19
+ $.log.debug('任务-开始执行');
20
20
  break;
21
21
  case "stop":
22
- $.log.debug('已暂停');
22
+ $.log.debug('任务-已暂停');
23
23
  break;
24
24
  case "suspend":
25
25
  // 主动中断
26
- $.log.debug('已中断');
26
+ $.log.debug('任务-已中断');
27
27
  break;
28
28
  case "time_end":
29
- $.log.debug('已到期');
29
+ $.log.debug('任务-已到期');
30
30
  break;
31
31
  case "completed":
32
- $.log.debug('已完成');
32
+ $.log.debug('任务-已完成');
33
33
  break;
34
34
  default:
35
35
  break;
@@ -0,0 +1,145 @@
1
+ /**
2
+ * @fileOverview dev
3
+ * @author <a href="作者主页地址">插件作者</a>
4
+ * @version 1.0
5
+ */
6
+
7
+ /**
8
+ * @description 插件对象
9
+ */
10
+ module.exports = {
11
+ /**
12
+ * @description 初始化
13
+ * @param {Object} option 配置参数
14
+ * @return {String} 成功返回null, 否则返回错误提示
15
+ */
16
+ init(option) {
17
+ var msg = null;
18
+ console.log("示例应用-初始化");
19
+ return msg;
20
+ },
21
+
22
+ /**
23
+ * @description 安装
24
+ * @param {Object} option 配置参数
25
+ * @return {String} 成功返回null,否则返回错误提示
26
+ */
27
+ install(option) {
28
+ var msg = null;
29
+ return msg;
30
+ },
31
+
32
+ /**
33
+ * @description 卸载
34
+ * @param {Object} option 配置参数
35
+ * @return {String} 成功返回null,否则返回错误提示
36
+ */
37
+ uninstall(option) {
38
+ var msg = null;
39
+ return msg;
40
+ },
41
+
42
+ /**
43
+ * @description 更新
44
+ * @param {Object} option 配置参数
45
+ * @return {String} 成功返回null, 否则返回错误提示
46
+ */
47
+ update(option) {
48
+ var msg = null;
49
+ return msg;
50
+ },
51
+
52
+ /**
53
+ * @description 启动
54
+ * @param {Object} opiton 配置参数
55
+ * @return {String} 成功返回null,否则返回错误提示
56
+ */
57
+ start(option) {
58
+ var msg = null;
59
+ return msg;
60
+ },
61
+
62
+ /**
63
+ * @description 暂停
64
+ * @param {Object} opiton 配置参数
65
+ * @return {String} 成功返回null,否则返回错误提示
66
+ */
67
+ stop(option) {
68
+ var msg = null;
69
+ return msg;
70
+ },
71
+
72
+ /**
73
+ * @description 结束
74
+ * @param {Object} opiton 配置参数
75
+ * @return {String} 成功返回null,否则返回错误提示
76
+ */
77
+ end(option) {
78
+ var msg = null;
79
+ return msg;
80
+ },
81
+
82
+ /**
83
+ * @description 插件
84
+ * @param {String} item 插件项
85
+ * @return {Object} 旗下插件和信息
86
+ */
87
+ help(item) {
88
+ var tip = "";
89
+ switch (item) {
90
+ case "run":
91
+ break;
92
+ default:
93
+ break;
94
+ }
95
+ return tip;
96
+ },
97
+
98
+ /**
99
+ * @description 主程序
100
+ * @param {Object} param1 参数1
101
+ * @param {Object} param2 参数2
102
+ * @return {Object} 返回执行结果
103
+ */
104
+ main(param1, param2) {
105
+ var ret = null;
106
+ return ret;
107
+ },
108
+
109
+ /**
110
+ * @description 指令(类似命令提示符)
111
+ * @param {String} content 指令内容
112
+ * @return {String} 执行结果
113
+ */
114
+ cmd(content) {
115
+ var ret = "";
116
+ return ret;
117
+ },
118
+
119
+ /**
120
+ * @description API接口(用于其他插件调用该插件时)
121
+ * @param {Object} ctx HTTP上下文
122
+ * @param {Object} db 数据库管理器
123
+ * @return {Object} 执行结果
124
+ */
125
+ api(ctx, db) {
126
+ var ret = "";
127
+ return ret;
128
+ },
129
+
130
+ /**
131
+ * @description 聊天(通过聊天的方式驱动插件, 用于机器人开发)
132
+ * @param {String} from_user 发送消息人
133
+ * @param {String} to_user 接收消息人
134
+ * @param {String} content 内容
135
+ * @param {String} group 群组 如果是个人,群组为空
136
+ * @param {Number} type 群类型, 1永久会话/群、2临时会话/群
137
+ * @param {String} msg_type 消息类型, event事件型、message消息型。默认消息型
138
+ * @param {Object} 数据管理器
139
+ * @return {String} 回复内容
140
+ */
141
+ async chat(from_user, to_user, group, content, type, msg_type, db) {
142
+ var ret = "";
143
+ return ret;
144
+ }
145
+ };
@@ -1,3 +1,12 @@
1
- {
2
- "state": 1
1
+ {
2
+ "name": "demo",
3
+ "title": "这是示例应用",
4
+ "description": "用于调试开发",
5
+ "version": "1.0",
6
+ "lang_path": "./lang/",
7
+ "icon": "/demo/img/logo.png",
8
+ "cmd": "demo",
9
+ "script": "./app.js",
10
+ "sort": 10,
11
+ "state": 1
3
12
  }
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @fileOverview main
3
+ * @author <a href="作者主页地址">插件作者</a>
4
+ * @version 1.0
5
+ */
6
+
7
+ /**
8
+ * 插件对象
9
+ */
10
+ module.exports = {
11
+ /**
12
+ * 初始化
13
+ * @param {Object} option 配置参数
14
+ * @return {String} 成功返回null, 否则返回错误提示
15
+ */
16
+ init(option) {
17
+ var msg = null;
18
+ console.log("测试插件-初始化");
19
+ return msg;
20
+ },
21
+
22
+ /**
23
+ * 安装
24
+ * @param {Object} option 配置参数
25
+ * @return {String} 成功返回null,否则返回错误提示
26
+ */
27
+ install(option) {
28
+ var msg = null;
29
+ return msg;
30
+ },
31
+
32
+ /**
33
+ * 卸载
34
+ * @param {Object} option 配置参数
35
+ * @return {String} 成功返回null,否则返回错误提示
36
+ */
37
+ uninstall(option) {
38
+ var msg = null;
39
+ return msg;
40
+ },
41
+
42
+ /**
43
+ * 更新
44
+ * @param {Object} option 配置参数
45
+ * @return {String} 成功返回null, 否则返回错误提示
46
+ */
47
+ update(option) {
48
+ var msg = null;
49
+ return msg;
50
+ },
51
+
52
+ /**
53
+ * 启动
54
+ * @param {Object} opiton 配置参数
55
+ * @return {String} 成功返回null,否则返回错误提示
56
+ */
57
+ start(option) {
58
+ var msg = null;
59
+ console.log("启动了", this.config);
60
+ return msg;
61
+ },
62
+
63
+ /**
64
+ * 暂停
65
+ * @param {Object} opiton 配置参数
66
+ * @return {String} 成功返回null,否则返回错误提示
67
+ */
68
+ stop(option) {
69
+ var msg = null;
70
+ console.log("暂停了", this.config);
71
+ return msg;
72
+ },
73
+
74
+ /**
75
+ * 结束
76
+ * @param {Object} opiton 配置参数
77
+ * @return {String} 成功返回null,否则返回错误提示
78
+ */
79
+ end(option) {
80
+ var msg = null;
81
+ return msg;
82
+ },
83
+
84
+ /**
85
+ * 插件
86
+ * @param {String} item 插件项
87
+ * @return {Object} 旗下插件和信息
88
+ */
89
+ help(item) {
90
+ var tip = "";
91
+ switch (item) {
92
+ case "run":
93
+ break;
94
+ default:
95
+ break;
96
+ }
97
+ return tip;
98
+ },
99
+
100
+ /**
101
+ * 主程序
102
+ * @param {Object} param1 参数1
103
+ * @param {Object} param2 参数2
104
+ * @return {Object} 返回执行结果
105
+ */
106
+ main(param1, param2) {
107
+ var ret = null;
108
+ return ret;
109
+ },
110
+
111
+ /**
112
+ * 指令(类似命令提示符)
113
+ * @param {String} content 指令内容
114
+ * @return {String} 执行结果
115
+ */
116
+ cmd(content) {
117
+ var ret = "";
118
+ return ret;
119
+ },
120
+
121
+ /**
122
+ * API接口(用于其他插件调用该插件时)
123
+ * @param {Object} ctx HTTP上下文
124
+ * @param {Object} db 数据库管理器
125
+ * @return {Object} 执行结果
126
+ */
127
+ api(ctx, db) {
128
+ var ret = "";
129
+ return ret;
130
+ },
131
+
132
+ /**
133
+ * 聊天(通过聊天的方式驱动插件, 用于机器人开发)
134
+ * @param {String} from_user 发送消息人
135
+ * @param {String} to_user 接收消息人
136
+ * @param {String} content 内容
137
+ * @param {String} group 群组 如果是个人,群组为空
138
+ * @param {Number} type 群类型, 1永久会话/群、2临时会话/群
139
+ * @param {String} msg_type 消息类型, event事件型、message消息型。默认消息型
140
+ * @param {Object} 数据管理器
141
+ * @return {String} 回复内容
142
+ */
143
+ async chat(from_user, to_user, group, content, type, msg_type, db) {
144
+ var ret = "";
145
+ return ret;
146
+ }
147
+ };
@@ -0,0 +1,26 @@
1
+ {
2
+ // 应用名称,表示该插件用在什么应用里的
3
+ "app": "test",
4
+ // 插件名称,插件的唯一标识
5
+ "name": "main",
6
+ // 插件标题,用于检索和识别
7
+ "title": "示例插件",
8
+ // 插件描述,介绍改插件是做什么用的
9
+ "description": "描述该插件是做什么用的",
10
+ // 插件版本号,用于升级迭代
11
+ "version": "1.0",
12
+ // 作者
13
+ "author": "",
14
+ // 官网
15
+ "web": "",
16
+ // 插件语言包文件路径
17
+ "lang_path": "./lang/",
18
+ // 插件图标
19
+ "icon": "/test/main/img/logo.png",
20
+ // 插件指令,通过指令方式调用插件
21
+ "cmd": "test.main",
22
+ // 是否中断执行
23
+ "end": true,
24
+ // 排序,表示多个插件时在应用下执行的先后顺序
25
+ "sort": 10
26
+ }
@@ -13,23 +13,23 @@ exports.main = async function main() {
13
13
  exports.notify = async function(name, state) {
14
14
  switch (state) {
15
15
  case "init":
16
- $.log.debug('初始化');
16
+ $.log.debug('任务-初始化');
17
17
  break;
18
18
  case "start":
19
- $.log.debug('开始执行');
19
+ $.log.debug('任务-开始执行');
20
20
  break;
21
21
  case "stop":
22
- $.log.debug('已暂停');
22
+ $.log.debug('任务-已暂停');
23
23
  break;
24
24
  case "suspend":
25
25
  // 主动中断
26
- $.log.debug('已中断');
26
+ $.log.debug('任务-已中断');
27
27
  break;
28
28
  case "time_end":
29
- $.log.debug('已到期');
29
+ $.log.debug('任务-已到期');
30
30
  break;
31
31
  case "completed":
32
- $.log.debug('已完成');
32
+ $.log.debug('任务-已完成');
33
33
  break;
34
34
  default:
35
35
  break;
package/lib/app.js CHANGED
@@ -28,7 +28,9 @@ App.prototype.fullAction = function(action) {
28
28
  // 创建插件
29
29
  this.plugin = $.plugin_admin(action.key, action.title || action.name);
30
30
  this.plugin.update(action.jsonFile.dirname()).then(() => {
31
- this.plugin.exec(null, 'init');
31
+ this.plugin.exec(null, 'init').then(() => {
32
+ this.plugin.exec(null, 'start');
33
+ });
32
34
  });
33
35
  }
34
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mm_os",
3
- "version": "2.4.9",
3
+ "version": "2.5.0",
4
4
  "description": "这是超级美眉服务端框架,用于快速构建应用程序。",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -41,7 +41,7 @@
41
41
  "mm_html": "^1.1.6",
42
42
  "mm_koa_proxy": "^1.0.0",
43
43
  "mm_logs": "^1.1.4",
44
- "mm_machine": "^1.7.4",
44
+ "mm_machine": "^1.7.6",
45
45
  "mm_mongodb": "^1.4.2",
46
46
  "mm_mqtt": "^1.0.6",
47
47
  "mm_mysql": "^1.8.1",