mm_os 4.2.4 → 4.2.7
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.
- package/README.md +1 -1
- package/README_EN.md +2 -2
- package/adapter/adapter.js +105 -52
- package/adapter/custom_persistence.js +32 -31
- package/adapter/mqtt.js +59 -79
- package/adapter/socket.js +188 -58
- package/adapter/web.js +92 -68
- package/adapter/websocket.js +43 -146
- package/com/api/drive.js +732 -708
- package/com/api/index.js +196 -198
- package/com/api/script.tpl.js +24 -24
- package/com/cmd/config.tpl.json +48 -122
- package/com/cmd/drive.js +176 -1548
- package/com/cmd/index.js +287 -1066
- package/com/cmd/job/config.json +66 -0
- package/com/cmd/job/index.js +241 -0
- package/com/cmd/job/test.js +188 -0
- package/com/cmd/script.tpl.js +12 -33
- package/com/db/drive.js +2206 -2019
- package/com/db/index.js +241 -242
- package/com/event/config.tpl.json +3 -1
- package/com/event/drive.js +3 -1
- package/com/event/index.js +73 -46
- package/com/event/script.tpl.js +22 -22
- package/com/mqtt/config.tpl.json +16 -8
- package/com/mqtt/drive.js +696 -676
- package/com/mqtt/index.js +1012 -822
- package/com/mqtt/index.test.js +503 -0
- package/com/mqtt/mm_mqtt.js +446 -420
- package/com/mqtt/script.tpl.js +3 -7
- package/com/nav/drive.js +7 -7
- package/com/nav/index.js +228 -231
- package/com/param/index.js +19 -17
- package/com/pendant/index.js +467 -441
- package/com/socket/drive.js +679 -651
- package/com/socket/index.js +94 -48
- package/com/sql/drive.js +1283 -1259
- package/com/sql/index.js +152 -150
- package/com/static/drive.js +1 -1
- package/com/static/index.js +232 -226
- package/com/static/script.tpl.js +25 -25
- package/com/task/drive.js +428 -405
- package/com/task/index.js +154 -148
- package/com/task/script.tpl.js +37 -34
- package/com/template/drive.js +1 -1
- package/com/template/index.js +141 -138
- package/com.js +87 -6
- package/common/middleware/web_after/index.js +5 -11
- package/common/middleware/web_base/index.js +1 -1
- package/common/middleware/web_cors/index.js +1 -1
- package/common/middleware/web_error/index.js +131 -119
- package/common/middleware/web_error/middleware.json +2 -1
- package/common/middleware/web_logger/index.js +1 -1
- package/common/middleware/web_main/index.js +2 -0
- package/common/middleware/web_static/index.js +2 -2
- package/common/middleware/web_waf/index.js +1 -1
- package/core/app/config.tpl.json +4 -4
- package/core/app/index.js +710 -534
- package/core/middleware/index.js +1 -9
- package/core/mod/config.tpl.json +1 -1
- package/core/model/config.tpl.json +1 -1
- package/core/plugin/config.tpl.json +15 -3
- package/core/plugin/index.js +31 -0
- package/core/pusher/index.js +158 -161
- package/core/scene/loop.js +1306 -1255
- package/core/store/index.js +1794 -1755
- package/core/store/sql.js +1488 -1464
- package/core/zone/bat/index.js +744 -728
- package/core/zone/config.tpl.json +3 -3
- package/core/zone/index.js +655 -616
- package/os.js +0 -4
- package/package.json +16 -16
- package/server.js +583 -427
- package/com/cmd/nlp.js +0 -525
- package/core/app/index copy.js +0 -611
- package/software.js +0 -194
- package/tcp.js +0 -279
package/com/mqtt/script.tpl.js
CHANGED
|
@@ -435,7 +435,7 @@ exports._parseBatch = function(res) {
|
|
|
435
435
|
*/
|
|
436
436
|
exports.updateMemberBatch = async function(clientid, list, longtime = 180) {
|
|
437
437
|
var res = await this.pushS(clientid, {
|
|
438
|
-
'messageId': this.
|
|
438
|
+
'messageId': this.getMsgId('EditPersonsNew'),
|
|
439
439
|
'DataBegin': 'BeginFlag',
|
|
440
440
|
'DataEnd': 'EndFlag',
|
|
441
441
|
'operator': 'EditPersonsNew',
|
|
@@ -457,7 +457,7 @@ exports.updateMemberBatch = async function(clientid, list, longtime = 180) {
|
|
|
457
457
|
*/
|
|
458
458
|
exports.updateMember = function(clientid, user, longtime = 0) {
|
|
459
459
|
return this.pushS(clientid, {
|
|
460
|
-
'messageId': this.
|
|
460
|
+
'messageId': this.getMsgId('EditPerson'),
|
|
461
461
|
'DataBegin': 'BeginFlag',
|
|
462
462
|
'DataEnd': 'EndFlag',
|
|
463
463
|
'method': 'EditPerson',
|
|
@@ -489,7 +489,6 @@ var _regBasicMethods = function(m, self) {
|
|
|
489
489
|
}
|
|
490
490
|
self.drives[clientid].online = 1;
|
|
491
491
|
self.drives[clientid].time_last = new Date().getTime();
|
|
492
|
-
// console.log("心跳", clientid, self.drives[clientid]);
|
|
493
492
|
};
|
|
494
493
|
|
|
495
494
|
/**
|
|
@@ -499,7 +498,6 @@ var _regBasicMethods = function(m, self) {
|
|
|
499
498
|
*/
|
|
500
499
|
m['Offline'] = async function(clientid, params) {
|
|
501
500
|
self.updateOnline(clientid, 0);
|
|
502
|
-
// console.log("离线", clientid, self.drives[clientid]);
|
|
503
501
|
};
|
|
504
502
|
|
|
505
503
|
/**
|
|
@@ -549,7 +547,6 @@ var _regDeviceMethods = function(m, self) {
|
|
|
549
547
|
// GPS纵坐标,保留生命体脱下设备时的最后位置
|
|
550
548
|
gps_y: 0
|
|
551
549
|
});
|
|
552
|
-
// console.log("离线", clientid, _this.drives[clientid]);
|
|
553
550
|
};
|
|
554
551
|
|
|
555
552
|
/**
|
|
@@ -590,7 +587,6 @@ var _regDeviceMethods = function(m, self) {
|
|
|
590
587
|
// GPS纵坐标
|
|
591
588
|
gps_y: 0
|
|
592
589
|
});
|
|
593
|
-
// console.log("离线", clientid, _this.drives[clientid]);
|
|
594
590
|
};
|
|
595
591
|
};
|
|
596
592
|
|
|
@@ -618,7 +614,7 @@ var _getRecordType = function(otype) {
|
|
|
618
614
|
*/
|
|
619
615
|
var _sendAck = function(clientid, record_id, self) {
|
|
620
616
|
self.send(`mqtt/face/${clientid}`, {
|
|
621
|
-
'messageId': self.
|
|
617
|
+
'messageId': self.getMsgId('PushAck'),
|
|
622
618
|
'operator': 'PushAck',
|
|
623
619
|
'info': {
|
|
624
620
|
'PushAckType': '2',
|
package/com/nav/drive.js
CHANGED
|
@@ -157,13 +157,13 @@ Drive.prototype.exec = function (type) {
|
|
|
157
157
|
*/
|
|
158
158
|
Drive.prototype.sort = async function () {
|
|
159
159
|
var cg = this.config;
|
|
160
|
-
cg.
|
|
161
|
-
cg.
|
|
162
|
-
cg.
|
|
163
|
-
cg.
|
|
164
|
-
cg.
|
|
165
|
-
cg.
|
|
166
|
-
cg.
|
|
160
|
+
if (cg.top_nav) cg.top_nav.sortBy('asc', 'display');
|
|
161
|
+
if (cg.left_nav) cg.left_nav.sortBy('asc', 'display');
|
|
162
|
+
if (cg.bottom_nav) cg.bottom_nav.sortBy('asc', 'display');
|
|
163
|
+
if (cg.right_nav) cg.right_nav.sortBy('asc', 'display');
|
|
164
|
+
if (cg.desktop_nav) cg.desktop_nav.sortBy('asc', 'display');
|
|
165
|
+
if (cg.quick_nav) cg.quick_nav.sortBy('asc', 'display');
|
|
166
|
+
if (cg.main_nav) cg.main_nav.sortBy('asc', 'display');
|
|
167
167
|
};
|
|
168
168
|
|
|
169
169
|
/**
|
package/com/nav/index.js
CHANGED
|
@@ -1,231 +1,228 @@
|
|
|
1
|
-
const Manager = require(
|
|
2
|
-
const Drive = require(
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Nav导航类
|
|
6
|
-
* @augments {Manager}
|
|
7
|
-
* @class
|
|
8
|
-
*/
|
|
9
|
-
class Nav extends Manager {
|
|
10
|
-
/**
|
|
11
|
-
* 配置参数
|
|
12
|
-
* @type {object}
|
|
13
|
-
*/
|
|
14
|
-
static config = {
|
|
15
|
-
/**
|
|
16
|
-
* 名称
|
|
17
|
-
* @type {string}
|
|
18
|
-
*/
|
|
19
|
-
name:
|
|
20
|
-
/**
|
|
21
|
-
* 标题
|
|
22
|
-
* @type {string}
|
|
23
|
-
*/
|
|
24
|
-
title:
|
|
25
|
-
/**
|
|
26
|
-
* 描述
|
|
27
|
-
* @type {string}
|
|
28
|
-
*/
|
|
29
|
-
description:
|
|
30
|
-
/**
|
|
31
|
-
* 检索文件名
|
|
32
|
-
* @type {string}
|
|
33
|
-
*/
|
|
34
|
-
filename:
|
|
35
|
-
/**
|
|
36
|
-
* 模板目录
|
|
37
|
-
* @type {string}
|
|
38
|
-
*/
|
|
39
|
-
tpl_dir: __dirname,
|
|
40
|
-
/**
|
|
41
|
-
* 基础目录
|
|
42
|
-
* @type {string}
|
|
43
|
-
*/
|
|
44
|
-
base_dir:
|
|
45
|
-
/**
|
|
46
|
-
* 自定义目录,加载项目自定义资源
|
|
47
|
-
* @type {string}
|
|
48
|
-
*/
|
|
49
|
-
dir:
|
|
50
|
-
/**
|
|
51
|
-
* 搜索模式 dir按目录搜索 | file按文件名搜索
|
|
52
|
-
* @type {string}
|
|
53
|
-
*/
|
|
54
|
-
search_way:
|
|
55
|
-
/**
|
|
56
|
-
* 是否懒加载
|
|
57
|
-
* @type {boolean}
|
|
58
|
-
*/
|
|
59
|
-
lazy_load: true,
|
|
60
|
-
/**
|
|
61
|
-
* 模式
|
|
62
|
-
* 1.生产模式,改变文件不会重新加载
|
|
63
|
-
* 2.热更新模式,改变配置文件会重新加载配置,不重新加载脚本
|
|
64
|
-
* 3.热重载模式,改变配置文件都会加载配置和脚本
|
|
65
|
-
* 4.重载模式,执行完后重新加载脚本,避免变量污染
|
|
66
|
-
* 5.热更新+重载模式,改变配置文件重新加载配置和脚本,执行完后重新加载脚本
|
|
67
|
-
* @type {number}
|
|
68
|
-
*/
|
|
69
|
-
mode: 3
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* 构造函数
|
|
74
|
-
* @param {object} config 配置参数
|
|
75
|
-
* @param {object} parent 父级模块
|
|
76
|
-
*/
|
|
77
|
-
constructor(config, parent) {
|
|
78
|
-
super({ ...Nav.config, ...config }, parent);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* 导航驱动类
|
|
84
|
-
* @type {Drive}
|
|
85
|
-
*/
|
|
86
|
-
Nav.prototype.Drive = Drive;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* 执行导航
|
|
90
|
-
* @param {string} name 导航名称
|
|
91
|
-
* @param {string} type 导航类型
|
|
92
|
-
* @returns {object | string} 导航配置
|
|
93
|
-
*/
|
|
94
|
-
Nav.prototype.run = async function (name, type) {
|
|
95
|
-
var obj = new this.Drive();
|
|
96
|
-
if (name) {
|
|
97
|
-
let mod = this.getMod(name);
|
|
98
|
-
if (mod) {
|
|
99
|
-
obj.merge(mod.config);
|
|
100
|
-
}
|
|
101
|
-
} else {
|
|
102
|
-
var infos = this.getInfos();
|
|
103
|
-
for (var i = 0, info; info = infos[i++];) {
|
|
104
|
-
let mod = this.getMod(info.name);
|
|
105
|
-
if (mod) {
|
|
106
|
-
obj.merge(mod.config);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
obj.sort();
|
|
112
|
-
var cg = obj.config;
|
|
113
|
-
if (cg.name) {
|
|
114
|
-
if (type) {
|
|
115
|
-
return cg[type];
|
|
116
|
-
} else {
|
|
117
|
-
return cg;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return null;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* 执行导航
|
|
125
|
-
*/
|
|
126
|
-
Nav.prototype.
|
|
127
|
-
var lt = this.getInfos();
|
|
128
|
-
for (var i = 0, o; o = lt[i++];) {
|
|
129
|
-
o.sort();
|
|
130
|
-
}
|
|
131
|
-
lt.sort((o1, o2) => {
|
|
132
|
-
var p1 = o1.sort || 100;
|
|
133
|
-
var p2 = o2.sort || 100;
|
|
134
|
-
return p2 - p1;
|
|
135
|
-
});
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* 加载
|
|
140
|
-
* @param {string} path 加载的路径
|
|
141
|
-
*/
|
|
142
|
-
Nav.prototype.load = function (path) {
|
|
143
|
-
var ph = path ||
|
|
144
|
-
// 获取所有配置文件
|
|
145
|
-
var list_file = $.file.getAll(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
*
|
|
154
|
-
* @
|
|
155
|
-
* @property {string} param.
|
|
156
|
-
* @
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
*
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if ($.admin) {
|
|
230
|
-
$.admin.nav = navAdmin;
|
|
231
|
-
}
|
|
1
|
+
const Manager = require("mm_machine").Manager;
|
|
2
|
+
const Drive = require("./drive");
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Nav导航类
|
|
6
|
+
* @augments {Manager}
|
|
7
|
+
* @class
|
|
8
|
+
*/
|
|
9
|
+
class Nav extends Manager {
|
|
10
|
+
/**
|
|
11
|
+
* 配置参数
|
|
12
|
+
* @type {object}
|
|
13
|
+
*/
|
|
14
|
+
static config = {
|
|
15
|
+
/**
|
|
16
|
+
* 名称
|
|
17
|
+
* @type {string}
|
|
18
|
+
*/
|
|
19
|
+
name: "",
|
|
20
|
+
/**
|
|
21
|
+
* 标题
|
|
22
|
+
* @type {string}
|
|
23
|
+
*/
|
|
24
|
+
title: "导航管理",
|
|
25
|
+
/**
|
|
26
|
+
* 描述
|
|
27
|
+
* @type {string}
|
|
28
|
+
*/
|
|
29
|
+
description: "这是导航管理器",
|
|
30
|
+
/**
|
|
31
|
+
* 检索文件名
|
|
32
|
+
* @type {string}
|
|
33
|
+
*/
|
|
34
|
+
filename: "nav.json",
|
|
35
|
+
/**
|
|
36
|
+
* 模板目录
|
|
37
|
+
* @type {string}
|
|
38
|
+
*/
|
|
39
|
+
tpl_dir: __dirname,
|
|
40
|
+
/**
|
|
41
|
+
* 基础目录
|
|
42
|
+
* @type {string}
|
|
43
|
+
*/
|
|
44
|
+
base_dir: "../common/nav".fullname(__dirname),
|
|
45
|
+
/**
|
|
46
|
+
* 自定义目录,加载项目自定义资源
|
|
47
|
+
* @type {string}
|
|
48
|
+
*/
|
|
49
|
+
dir: "./app".fullname(),
|
|
50
|
+
/**
|
|
51
|
+
* 搜索模式 dir按目录搜索 | file按文件名搜索
|
|
52
|
+
* @type {string}
|
|
53
|
+
*/
|
|
54
|
+
search_way: "file",
|
|
55
|
+
/**
|
|
56
|
+
* 是否懒加载
|
|
57
|
+
* @type {boolean}
|
|
58
|
+
*/
|
|
59
|
+
lazy_load: true,
|
|
60
|
+
/**
|
|
61
|
+
* 模式
|
|
62
|
+
* 1.生产模式,改变文件不会重新加载
|
|
63
|
+
* 2.热更新模式,改变配置文件会重新加载配置,不重新加载脚本
|
|
64
|
+
* 3.热重载模式,改变配置文件都会加载配置和脚本
|
|
65
|
+
* 4.重载模式,执行完后重新加载脚本,避免变量污染
|
|
66
|
+
* 5.热更新+重载模式,改变配置文件重新加载配置和脚本,执行完后重新加载脚本
|
|
67
|
+
* @type {number}
|
|
68
|
+
*/
|
|
69
|
+
mode: process.env.NODE_ENV === "production" ? 1 : 3,
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 构造函数
|
|
74
|
+
* @param {object} config 配置参数
|
|
75
|
+
* @param {object} parent 父级模块
|
|
76
|
+
*/
|
|
77
|
+
constructor(config, parent) {
|
|
78
|
+
super({ ...Nav.config, ...config }, parent);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* 导航驱动类
|
|
84
|
+
* @type {Drive}
|
|
85
|
+
*/
|
|
86
|
+
Nav.prototype.Drive = Drive;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* 执行导航
|
|
90
|
+
* @param {string} name 导航名称
|
|
91
|
+
* @param {string} type 导航类型
|
|
92
|
+
* @returns {object | string} 导航配置
|
|
93
|
+
*/
|
|
94
|
+
Nav.prototype.run = async function (name, type) {
|
|
95
|
+
var obj = new this.Drive();
|
|
96
|
+
if (name) {
|
|
97
|
+
let mod = this.getMod(name);
|
|
98
|
+
if (mod) {
|
|
99
|
+
obj.merge(mod.config);
|
|
100
|
+
}
|
|
101
|
+
} else {
|
|
102
|
+
var infos = this.getInfos();
|
|
103
|
+
for (var i = 0, info; (info = infos[i++]);) {
|
|
104
|
+
let mod = this.getMod(info.name);
|
|
105
|
+
if (mod) {
|
|
106
|
+
obj.merge(mod.config);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
obj.sort();
|
|
112
|
+
var cg = obj.config;
|
|
113
|
+
if (cg.name) {
|
|
114
|
+
if (type) {
|
|
115
|
+
return cg[type];
|
|
116
|
+
} else {
|
|
117
|
+
return cg;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* 执行导航
|
|
125
|
+
*/
|
|
126
|
+
Nav.prototype._sort = async function () {
|
|
127
|
+
var lt = this.getInfos();
|
|
128
|
+
for (var i = 0, o; (o = lt[i++]);) {
|
|
129
|
+
o.sort();
|
|
130
|
+
}
|
|
131
|
+
lt.sort((o1, o2) => {
|
|
132
|
+
var p1 = o1.sort || 100;
|
|
133
|
+
var p2 = o2.sort || 100;
|
|
134
|
+
return p2 - p1;
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* 加载
|
|
140
|
+
* @param {string} path 加载的路径
|
|
141
|
+
*/
|
|
142
|
+
Nav.prototype.load = function (path) {
|
|
143
|
+
var ph = path || "./app/";
|
|
144
|
+
// 获取所有配置文件
|
|
145
|
+
var list_file = $.file.getAll(
|
|
146
|
+
ph,
|
|
147
|
+
"*" + this.scope + "." + this.config.fillname,
|
|
148
|
+
);
|
|
149
|
+
this.loadList(list_file);
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* 更新路由vue文件
|
|
154
|
+
* @param {object} param 参数
|
|
155
|
+
* @property {string} param.name 要更新的配置名
|
|
156
|
+
* @property {boolean} param.cover 是否覆盖文件
|
|
157
|
+
* @property {string} param.route_name 路由名称
|
|
158
|
+
* @property {string} param.path 路由路径
|
|
159
|
+
* @returns {string} 更新成功返回null, 失败返回错误提示
|
|
160
|
+
*/
|
|
161
|
+
Nav.prototype.updateVue = async function (param) {
|
|
162
|
+
var { name, cover, route_name, path } = param;
|
|
163
|
+
|
|
164
|
+
if (name) {
|
|
165
|
+
var mod = this.getMod(name);
|
|
166
|
+
if (mod) {
|
|
167
|
+
await mod.updateVue(path, cover);
|
|
168
|
+
} else {
|
|
169
|
+
return "该配置不存在";
|
|
170
|
+
}
|
|
171
|
+
} else if (route_name) {
|
|
172
|
+
let infos = this.getInfos();
|
|
173
|
+
for (var i = 0; i < infos.length; i++) {
|
|
174
|
+
var info = infos[i];
|
|
175
|
+
if (info.name === route_name) {
|
|
176
|
+
let mod = this.getMod(info.name);
|
|
177
|
+
if (mod) {
|
|
178
|
+
await mod.updateVue(path, cover);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
} else {
|
|
183
|
+
let infos = this.getInfos();
|
|
184
|
+
for (var i = 0; i < infos.length; i++) {
|
|
185
|
+
var info = infos[i];
|
|
186
|
+
let mod = this.getMod(info.name);
|
|
187
|
+
if (mod) {
|
|
188
|
+
await mod.updateVue(path, cover);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return null;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
exports.Nav = Nav;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* 创建全局管理器
|
|
199
|
+
*/
|
|
200
|
+
if (!$.pool.nav) {
|
|
201
|
+
$.pool.nav = {};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* nav管理器,用于创建缓存
|
|
206
|
+
* @param {string} scope 作用域
|
|
207
|
+
* @param {string} title 标题
|
|
208
|
+
* @returns {object} 返回一个缓存类
|
|
209
|
+
*/
|
|
210
|
+
function navAdmin(scope, title) {
|
|
211
|
+
var sc = scope || $.val.scope + "";
|
|
212
|
+
var obj = $.pool.nav[sc];
|
|
213
|
+
if (!obj) {
|
|
214
|
+
$.pool.nav[sc] = new Nav({
|
|
215
|
+
name: sc,
|
|
216
|
+
title: title,
|
|
217
|
+
});
|
|
218
|
+
obj = $.pool.nav[sc];
|
|
219
|
+
}
|
|
220
|
+
return obj;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* @module 导出nav管理器
|
|
225
|
+
*/
|
|
226
|
+
if ($.admin) {
|
|
227
|
+
$.admin.nav = navAdmin;
|
|
228
|
+
}
|
package/com/param/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const Manager = require(
|
|
2
|
-
const Drive = require(
|
|
1
|
+
const Manager = require("mm_machine").Manager;
|
|
2
|
+
const Drive = require("./drive");
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* 参数类
|
|
@@ -16,22 +16,22 @@ class Param extends Manager {
|
|
|
16
16
|
* 名称
|
|
17
17
|
* @type {string}
|
|
18
18
|
*/
|
|
19
|
-
name:
|
|
19
|
+
name: "",
|
|
20
20
|
/**
|
|
21
21
|
* 标题
|
|
22
22
|
* @type {string}
|
|
23
23
|
*/
|
|
24
|
-
title:
|
|
24
|
+
title: "参数管理",
|
|
25
25
|
/**
|
|
26
26
|
* 描述
|
|
27
27
|
* @type {string}
|
|
28
28
|
*/
|
|
29
|
-
description:
|
|
29
|
+
description: "这是参数管理器",
|
|
30
30
|
/**
|
|
31
31
|
* 检索文件名
|
|
32
32
|
* @type {string}
|
|
33
33
|
*/
|
|
34
|
-
filename:
|
|
34
|
+
filename: "param.json",
|
|
35
35
|
/**
|
|
36
36
|
* 模板目录
|
|
37
37
|
* @type {string}
|
|
@@ -41,17 +41,17 @@ class Param extends Manager {
|
|
|
41
41
|
* 基础目录
|
|
42
42
|
* @type {string}
|
|
43
43
|
*/
|
|
44
|
-
base_dir:
|
|
44
|
+
base_dir: "../common/param".fullname(__dirname),
|
|
45
45
|
/**
|
|
46
46
|
* 自定义目录,加载项目自定义资源
|
|
47
47
|
* @type {string}
|
|
48
48
|
*/
|
|
49
|
-
dir:
|
|
49
|
+
dir: "./app".fullname(),
|
|
50
50
|
/**
|
|
51
51
|
* 搜索模式 dir按目录搜索 | file按文件名搜索
|
|
52
52
|
* @type {string}
|
|
53
53
|
*/
|
|
54
|
-
search_way:
|
|
54
|
+
search_way: "file",
|
|
55
55
|
/**
|
|
56
56
|
* 是否懒加载
|
|
57
57
|
* @type {boolean}
|
|
@@ -66,7 +66,7 @@ class Param extends Manager {
|
|
|
66
66
|
* 5.热更新+重载模式,改变配置文件重新加载配置和脚本,执行完后重新加载脚本
|
|
67
67
|
* @type {number}
|
|
68
68
|
*/
|
|
69
|
-
mode: 3
|
|
69
|
+
mode: process.env.NODE_ENV === "production" ? 1 : 3,
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
/**
|
|
@@ -88,9 +88,9 @@ Param.prototype.Drive = Drive;
|
|
|
88
88
|
/**
|
|
89
89
|
* 排序
|
|
90
90
|
*/
|
|
91
|
-
Param.prototype.sort = function() {
|
|
91
|
+
Param.prototype.sort = function () {
|
|
92
92
|
let infos = this.getInfos();
|
|
93
|
-
infos.sortBy(
|
|
93
|
+
infos.sortBy("asc", "name");
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
/**
|
|
@@ -101,7 +101,7 @@ Param.prototype.sort = function() {
|
|
|
101
101
|
* @param {object} body 正文参数
|
|
102
102
|
* @returns {object} 验证失败返回错误信息,成功返回null
|
|
103
103
|
*/
|
|
104
|
-
Param.prototype.run = async function(db, name, query, body) {
|
|
104
|
+
Param.prototype.run = async function (db, name, query, body) {
|
|
105
105
|
var obj = this.getMod(name);
|
|
106
106
|
if (obj) {
|
|
107
107
|
// 检查参数状态,状态为0时跳过执行
|
|
@@ -109,9 +109,12 @@ Param.prototype.run = async function(db, name, query, body) {
|
|
|
109
109
|
return null;
|
|
110
110
|
}
|
|
111
111
|
try {
|
|
112
|
+
if (!obj.isLoaded()) {
|
|
113
|
+
await obj.do("load");
|
|
114
|
+
}
|
|
112
115
|
return await obj.run(db, query, body);
|
|
113
116
|
} catch (error) {
|
|
114
|
-
this.log(
|
|
117
|
+
this.log("error", "Param验证异常:", error);
|
|
115
118
|
// 参数验证异常时返回null
|
|
116
119
|
return null;
|
|
117
120
|
}
|
|
@@ -121,7 +124,6 @@ Param.prototype.run = async function(db, name, query, body) {
|
|
|
121
124
|
|
|
122
125
|
exports.Param = Param;
|
|
123
126
|
|
|
124
|
-
|
|
125
127
|
/**
|
|
126
128
|
* Param参数池
|
|
127
129
|
*/
|
|
@@ -136,12 +138,12 @@ if (!$.pool.param) {
|
|
|
136
138
|
* @returns {object} 返回一个缓存类
|
|
137
139
|
*/
|
|
138
140
|
function paramAdmin(scope, title) {
|
|
139
|
-
var sc = scope || $.val.scope +
|
|
141
|
+
var sc = scope || $.val.scope + "";
|
|
140
142
|
var obj = $.pool.param[sc];
|
|
141
143
|
if (!obj) {
|
|
142
144
|
$.pool.param[sc] = new Param({
|
|
143
145
|
name: sc,
|
|
144
|
-
title: title
|
|
146
|
+
title: title,
|
|
145
147
|
});
|
|
146
148
|
obj = $.pool.param[sc];
|
|
147
149
|
}
|