mm_os 4.2.3 → 4.2.6

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.
@@ -1,32 +1,32 @@
1
1
 
2
- /**
3
- * 接口主函数
4
- * @param {object} ctx HTTP上下文
5
- * @param {object} db 数据管理器,如: { next: async function{}, ret: {} }
6
- * @returns {object} 执行结果
7
- */
8
- async function main(ctx, db) {
9
- // 获取请求参数
10
- var req = ctx.request;
11
- var {
12
- query,
13
- body
14
- } = req;
15
- // return "hello world" + JSON.stringify(body);
2
+ module.exports = {
3
+ /**
4
+ * 接口主函数
5
+ * @param {object} ctx HTTP上下文
6
+ * @param {object} db 数据管理器,如: { next: async function{}, ret: {} }
7
+ * @returns {object} 执行结果
8
+ */
9
+ async main(ctx, db) {
10
+ // 获取请求参数
11
+ var req = ctx.request;
12
+ var {
13
+ query,
14
+ body
15
+ } = req;
16
+ // return "hello world" + JSON.stringify(body);
16
17
 
17
- // 操作sql模板
18
- var m = query.method;
19
- if (m === 'add') {
18
+ // 操作sql模板
19
+ var m = query.method;
20
+ if (m === 'add') {
20
21
 
21
- } else if (m === 'del') {
22
+ } else if (m === 'del') {
22
23
 
23
- } else if (m === 'set') {
24
+ } else if (m === 'set') {
24
25
 
25
- } else {
26
+ } else {
26
27
 
28
+ }
29
+ var ret = await this.sql.run(query, body, db);
30
+ return ret;
27
31
  }
28
- var ret = await this.sql.run(query, body, db);
29
- return ret;
30
32
  };
31
-
32
- exports.main = main;
@@ -200,6 +200,9 @@ Event.prototype._sortSub = function (list) {
200
200
  * @returns {object} 执行结果
201
201
  */
202
202
  Event.prototype.doing = async function (o, ctx, db) {
203
+ if (o.isLoaded()) {
204
+ await o.call('loadScript');
205
+ }
203
206
  var ret = o.run(ctx, db);
204
207
  if (types.isPromise(ret)) {
205
208
  ret = await ret;
@@ -1,23 +1,23 @@
1
- // 使用api管理器
2
- var api = $.admin.api('${name}_api', '${title}客户端');
3
- // 首次启动更新api接口;
4
- api.call('update', 'app/');
1
+ exports = {
2
+ async init(options) {
3
+ // 使用api管理器
4
+ var api = $.admin.api('${name}_api', '${title}客户端');
5
+ // 首次启动更新api接口;
6
+ await api.call('update', 'app/');
7
+ },
8
+ /**
9
+ * 接口主函数
10
+ * @param {object} ctx HTTP上下文
11
+ * @param {object} db 数据管理器,如: { next: async function{}, ret: {} }
12
+ * @returns {object} 执行结果
13
+ */
14
+ async main(ctx, db) {
15
+ var sql = $.admin.sql('sys');
16
+ // 使用模板引擎
17
+ db.tpl = new $.Tpl();
5
18
 
6
-
7
- /**
8
- * 接口主函数
9
- * @param {object} ctx HTTP上下文
10
- * @param {object} db 数据管理器,如: { next: async function{}, ret: {} }
11
- * @returns {object} 执行结果
12
- */
13
- async function main(ctx, db) {
14
- var sql = $.admin.sql('sys');
15
- // 使用模板引擎
16
- db.tpl = new $.Tpl();
17
-
18
- // 在这定义要访问的数据库 (分布式开发时设置不同的数据库名)
19
- $.push(db, sql.db(), true);
20
- return api.run(ctx, db);
21
- };
22
-
23
- exports.main = main;
19
+ // 在这定义要访问的数据库 (分布式开发时设置不同的数据库名)
20
+ $.push(db, sql.db(), true);
21
+ return api.run(ctx, db);
22
+ }
23
+ }
@@ -90,53 +90,18 @@ Drive.prototype._preset = function () {
90
90
  this.list_msg = this._storage.list_msg;
91
91
  };
92
92
 
93
- /**
94
- * 新建脚本
95
- * @param {string} file 文件
96
- */
97
- Drive.prototype.newScript = function (file) {
98
- var fl = __dirname + '/script.tpl.js';
99
- if (fl.hasFile()) {
100
- var text = fl.loadText();
101
- if (text) {
102
- var l = $.slash;
103
- if (file.indexOf('socket' + l) !== -1) {
104
- var name = file.between('socket' + l, l);
105
- text = text.replaceAll('{0}', name);
106
- }
107
- file.saveText(text);
108
- }
109
- }
110
- };
111
-
112
- /**
113
- * 新建配置
114
- * @param {string} file 文件
115
- */
116
- Drive.prototype.newConfig = function (file) {
117
- var fl = __dirname + '/config.tpl.json';
118
- if (fl.hasFile()) {
119
- var text = fl.loadText();
120
- if (text) {
121
- var l = $.slash;
122
- if (file.indexOf('socket' + l) !== -1) {
123
- var name = file.between('socket' + l, l);
124
- text = text.replaceAll('{0}', name);
125
- }
126
- file.saveText(text);
127
- }
128
- }
129
- };
130
-
131
93
  /**
132
94
  * 获取session ID
133
95
  * @param {object} ctx HTTP上下文
134
96
  * @returns {string} 返回用户的uuid
135
97
  */
136
98
  Drive.prototype.getToken = async function (ctx) {
99
+ var hd = ctx.request.header;
137
100
  var uuid = await ctx.cookies.get('mm:uuid');
101
+ if(!uuid) {
102
+ uuid = hd[''];
103
+ }
138
104
  if (!uuid) {
139
- var hd = ctx.request.header;
140
105
  var agent = hd['user-agent'];
141
106
  if (!agent) {
142
107
  agent = 'mm';
@@ -1,28 +1,28 @@
1
- /**
2
- * 执行前
3
- * @param {object} ctx http请求上下文
4
- * @param {object} path 文件路径
5
- */
6
- async function before(ctx, path) {};
7
1
 
8
- /**
9
- * 执行
10
- * @param {object} ctx http请求上下文
11
- * @param {object} path 文件路径
12
- * @returns {boolean} 成功发送返回true,失败返回false
13
- */
14
- async function main(ctx, path) {
15
- return this.send(ctx, path, this.config);
16
- };
2
+ module.exports = {
3
+ /**
4
+ * 执行前
5
+ * @param {object} ctx http请求上下文
6
+ * @param {object} path 文件路径
7
+ */
8
+ async before(ctx, path) { },
17
9
 
18
- /**
19
- * 执行后
20
- * @param {object} ctx http请求上下文
21
- * @param {object} path 文件路径
22
- */
23
- async function after(ctx, path) {};
10
+ /**
11
+ * 执行
12
+ * @param {object} ctx http请求上下文
13
+ * @param {object} path 文件路径
14
+ * @returns {boolean} 成功发送返回true,失败返回false
15
+ */
16
+ async main(ctx, path) {
17
+ return this.send(ctx, path, this.config);
18
+ },
24
19
 
25
-
26
- exports.before = before;
27
- exports.main = main;
28
- exports.after = after;
20
+ /**
21
+ * 执行后
22
+ * @param {object} ctx http请求上下文
23
+ * @param {object} path 文件路径
24
+ */
25
+ async after(ctx, path) {
26
+
27
+ }
28
+ };
@@ -1,37 +1,40 @@
1
- /**
2
- * 定时任务函数
3
- */
4
- exports.main = async function main() {
5
- this.log('debug', '定时任务, 执行中...');
6
- };
7
1
 
8
- /**
9
- * 执行结果通知
10
- * @param {string} name 任务名称
11
- * @param {string} state 状态
12
- */
13
- exports.notify = async function(name, state) {
14
- switch (state) {
15
- case 'init':
16
- this.log('debug', '任务-初始化');
17
- break;
18
- case 'start':
19
- this.log('debug', '任务-开始执行');
20
- break;
21
- case 'stop':
22
- this.log('debug', '任务-已暂停');
23
- break;
24
- case 'suspend':
25
- // 主动中断
26
- this.log('debug', '任务-已中断');
27
- break;
28
- case 'time_end':
29
- this.log('debug', '任务-已到期');
30
- break;
31
- case 'completed':
32
- this.log('debug', '任务-已完成');
33
- break;
34
- default:
35
- break;
2
+ module.exports = {
3
+ /**
4
+ * 定时任务函数
5
+ */
6
+ async main() {
7
+ this.log('debug', '定时任务, 执行中...');
8
+ },
9
+
10
+ /**
11
+ * 执行结果通知
12
+ * @param {string} name 任务名称
13
+ * @param {string} state 状态
14
+ */
15
+ async notify(name, state) {
16
+ switch (state) {
17
+ case 'init':
18
+ this.log('debug', '任务-初始化');
19
+ break;
20
+ case 'start':
21
+ this.log('debug', '任务-开始执行');
22
+ break;
23
+ case 'stop':
24
+ this.log('debug', '任务-已暂停');
25
+ break;
26
+ case 'suspend':
27
+ // 主动中断
28
+ this.log('debug', '任务-已中断');
29
+ break;
30
+ case 'time_end':
31
+ this.log('debug', '任务-已到期');
32
+ break;
33
+ case 'completed':
34
+ this.log('debug', '任务-已完成');
35
+ break;
36
+ default:
37
+ break;
38
+ }
36
39
  }
37
40
  };
@@ -12,7 +12,7 @@ module.exports = {
12
12
  // await event.call('update', 'app/');
13
13
  await event.do('init');
14
14
  await event.runAll('load');
15
- event.runAll('init');
15
+ await event.runAll('init');
16
16
  },
17
17
  /**
18
18
  * 主要逻辑
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mm_os",
3
3
  "description": "MM_OS服务端架构,用于快速构建应用程序,支持网站建设、小程序后台、AI应用、物联网(IOT/AIOT)、游戏服务端等多种场景。",
4
- "version": "4.2.3",
4
+ "version": "4.2.6",
5
5
  "main": "index.js",
6
6
  "keywords": [
7
7
  "AI",
@@ -26,7 +26,7 @@
26
26
  "test": "cross-env NODE_ENV=test node ./example/demo.js"
27
27
  },
28
28
  "dependencies": {
29
- "aedes": "^1.0.2",
29
+ "aedes": "^1.1.0",
30
30
  "compressing": "^2.1.1",
31
31
  "js-beautify": "^1.15.4",
32
32
  "koa": "^3.2.1",
@@ -47,17 +47,17 @@
47
47
  "mm_machine": "^2.7.6",
48
48
  "mm_matchs": "^1.1.9",
49
49
  "mm_queue": "^1.0.3",
50
- "mm_session": "^1.5.8",
50
+ "mm_session": "^1.5.9",
51
51
  "mm_sql": "^1.5.6",
52
- "mm_statics": "^1.8.6",
52
+ "mm_statics": "^1.8.7",
53
53
  "mm_xml": "^1.1.7",
54
54
  "mqtt": "^5.15.1",
55
- "openai": "^6.44.0"
55
+ "openai": "^6.45.0"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@types/jest": "^30.0.0",
59
59
  "eslint-formatter-table": "^7.32.1",
60
- "eslint-plugin-jsdoc": "^63.0.6",
60
+ "eslint-plugin-jsdoc": "^63.0.8",
61
61
  "jest": "^30.4.2",
62
62
  "mm_eslint": "^1.7.5"
63
63
  },