mm_os 4.3.6 → 5.0.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 (234) hide show
  1. package/README.md +101 -504
  2. package/index.js +26 -19
  3. package/lib/loader.js +787 -0
  4. package/lib/os.js +369 -0
  5. package/package.json +55 -80
  6. package/LICENSE +0 -21
  7. package/README_EN.md +0 -505
  8. package/adapter/adapter.js +0 -484
  9. package/adapter/custom_persistence.js +0 -661
  10. package/adapter/mqtt.js +0 -254
  11. package/adapter/socket.js +0 -244
  12. package/adapter/web.js +0 -92
  13. package/adapter/websocket.js +0 -43
  14. package/ai.js +0 -130
  15. package/com/api/README.md +0 -3
  16. package/com/api/com.json +0 -5
  17. package/com/api/config.tpl.json +0 -41
  18. package/com/api/drive.js +0 -732
  19. package/com/api/index.js +0 -201
  20. package/com/api/oauth.js +0 -200
  21. package/com/api/script.tpl.js +0 -32
  22. package/com/cmd/README.md +0 -11
  23. package/com/cmd/com.json +0 -5
  24. package/com/cmd/config.tpl.json +0 -48
  25. package/com/cmd/drive.js +0 -176
  26. package/com/cmd/index.js +0 -287
  27. package/com/cmd/job/config.json +0 -66
  28. package/com/cmd/job/index.js +0 -241
  29. package/com/cmd/job/test.js +0 -188
  30. package/com/cmd/msg.json +0 -48
  31. package/com/cmd/script.tpl.js +0 -12
  32. package/com/db/README.md +0 -3
  33. package/com/db/com.json +0 -5
  34. package/com/db/drive.js +0 -2206
  35. package/com/db/index.js +0 -241
  36. package/com/event/README.md +0 -4
  37. package/com/event/com.json +0 -5
  38. package/com/event/config.tpl.json +0 -20
  39. package/com/event/drive.js +0 -61
  40. package/com/event/index.js +0 -438
  41. package/com/event/script.tpl.js +0 -23
  42. package/com/mqtt/README.md +0 -47
  43. package/com/mqtt/com.json +0 -5
  44. package/com/mqtt/config.tpl.json +0 -42
  45. package/com/mqtt/drive.js +0 -696
  46. package/com/mqtt/index.js +0 -1017
  47. package/com/mqtt/index.test.js +0 -503
  48. package/com/mqtt/mm_mqtt.js +0 -446
  49. package/com/mqtt/script.tpl.js +0 -719
  50. package/com/nav/README.md +0 -2
  51. package/com/nav/com.json +0 -5
  52. package/com/nav/config.tpl.json +0 -84
  53. package/com/nav/drive.js +0 -702
  54. package/com/nav/index.js +0 -228
  55. package/com/nav/tpl/admin_pc/page_channel.vue +0 -305
  56. package/com/nav/tpl/admin_pc/page_config.vue +0 -280
  57. package/com/nav/tpl/admin_pc/page_config_form.vue +0 -194
  58. package/com/nav/tpl/admin_pc/page_default.vue +0 -247
  59. package/com/nav/tpl/admin_pc/page_form.vue +0 -180
  60. package/com/nav/tpl/admin_pc/page_lang.vue +0 -264
  61. package/com/nav/tpl/admin_pc/page_nav.vue +0 -321
  62. package/com/nav/tpl/admin_pc/page_table.vue +0 -296
  63. package/com/nav/tpl/admin_pc/page_type.vue +0 -321
  64. package/com/nav/tpl/admin_pc/page_view.vue +0 -124
  65. package/com/nav/tpl/dev_pc/page_channel.vue +0 -253
  66. package/com/nav/tpl/dev_pc/page_config.vue +0 -253
  67. package/com/nav/tpl/dev_pc/page_default.vue +0 -247
  68. package/com/nav/tpl/dev_pc/page_form.vue +0 -162
  69. package/com/nav/tpl/dev_pc/page_nav.vue +0 -253
  70. package/com/nav/tpl/dev_pc/page_table.vue +0 -247
  71. package/com/nav/tpl/dev_pc/page_type.vue +0 -313
  72. package/com/nav/tpl/home_pc/page_channel.vue +0 -234
  73. package/com/nav/tpl/home_pc/page_default.vue +0 -234
  74. package/com/nav/tpl/home_pc/page_form.vue +0 -137
  75. package/com/nav/tpl/home_pc/page_list.vue +0 -234
  76. package/com/nav/tpl/home_pc/page_nav.vue +0 -221
  77. package/com/nav/tpl/home_pc/page_type.vue +0 -234
  78. package/com/nav/tpl/home_pc/page_view.vue +0 -125
  79. package/com/nav/tpl/home_phone/page_channel.vue +0 -234
  80. package/com/nav/tpl/home_phone/page_default.vue +0 -234
  81. package/com/nav/tpl/home_phone/page_form.vue +0 -137
  82. package/com/nav/tpl/home_phone/page_list.vue +0 -234
  83. package/com/nav/tpl/home_phone/page_nav.vue +0 -237
  84. package/com/nav/tpl/home_phone/page_type.vue +0 -234
  85. package/com/nav/tpl/home_phone/page_view.vue +0 -125
  86. package/com/nav/viewmodel.js +0 -446
  87. package/com/param/README.md +0 -2
  88. package/com/param/com.json +0 -5
  89. package/com/param/config.tpl.json +0 -136
  90. package/com/param/drive.js +0 -502
  91. package/com/param/index.js +0 -158
  92. package/com/param/script.tpl.js +0 -12
  93. package/com/pendant/README.md +0 -3
  94. package/com/pendant/com.json +0 -5
  95. package/com/pendant/config.tpl.json +0 -32
  96. package/com/pendant/drive.js +0 -204
  97. package/com/pendant/index.js +0 -467
  98. package/com/pendant/pendant.html +0 -16
  99. package/com/pendant/script.tpl.js +0 -18
  100. package/com/socket/README.md +0 -47
  101. package/com/socket/com.json +0 -5
  102. package/com/socket/config.tpl.json +0 -12
  103. package/com/socket/drive.js +0 -679
  104. package/com/socket/index.js +0 -402
  105. package/com/socket/script.tpl.js +0 -41
  106. package/com/sql/README.md +0 -3
  107. package/com/sql/com.json +0 -5
  108. package/com/sql/config.tpl.json +0 -74
  109. package/com/sql/drive.js +0 -1283
  110. package/com/sql/index.js +0 -152
  111. package/com/sql/script.tpl.js +0 -47
  112. package/com/static/README.md +0 -2
  113. package/com/static/com.json +0 -5
  114. package/com/static/config.tpl.json +0 -24
  115. package/com/static/drive.js +0 -194
  116. package/com/static/index.js +0 -237
  117. package/com/static/script.tpl.js +0 -28
  118. package/com/task/README.md +0 -3
  119. package/com/task/com.json +0 -5
  120. package/com/task/config.tpl.json +0 -24
  121. package/com/task/drive.js +0 -428
  122. package/com/task/index.js +0 -159
  123. package/com/task/script.tpl.js +0 -40
  124. package/com/template/com.json +0 -5
  125. package/com/template/config.tpl.json +0 -16
  126. package/com/template/drive.js +0 -81
  127. package/com/template/index.js +0 -141
  128. package/com.js +0 -237
  129. package/common/README.md +0 -2
  130. package/common/middleware/web_after/index.js +0 -26
  131. package/common/middleware/web_after/middleware.json +0 -9
  132. package/common/middleware/web_base/index.js +0 -113
  133. package/common/middleware/web_base/middleware.json +0 -19
  134. package/common/middleware/web_before/index.js +0 -33
  135. package/common/middleware/web_before/middleware.json +0 -9
  136. package/common/middleware/web_cors/index.js +0 -87
  137. package/common/middleware/web_cors/middleware.json +0 -24
  138. package/common/middleware/web_error/index.js +0 -131
  139. package/common/middleware/web_error/middleware.json +0 -19
  140. package/common/middleware/web_ip/index.js +0 -15
  141. package/common/middleware/web_ip/middleware.json +0 -14
  142. package/common/middleware/web_logger/index.js +0 -156
  143. package/common/middleware/web_logger/middleware.json +0 -14
  144. package/common/middleware/web_main/index.js +0 -26
  145. package/common/middleware/web_main/middleware.json +0 -9
  146. package/common/middleware/web_static/index.js +0 -73
  147. package/common/middleware/web_static/middleware.json +0 -54
  148. package/common/middleware/web_waf/index.js +0 -385
  149. package/common/middleware/web_waf/middleware.json +0 -13
  150. package/core/app/config.tpl.json +0 -67
  151. package/core/app/index.js +0 -710
  152. package/core/app/script.tpl.js +0 -52
  153. package/core/channel/index.js +0 -899
  154. package/core/channel/matcher.js +0 -585
  155. package/core/com/config.tpl.json +0 -16
  156. package/core/com/index.js +0 -77
  157. package/core/com/script.tpl.js +0 -5
  158. package/core/component/component.js +0 -42
  159. package/core/component/config.tpl.json +0 -63
  160. package/core/component/index.js +0 -273
  161. package/core/component/script.tpl.js +0 -19
  162. package/core/controller/config.tpl.json +0 -14
  163. package/core/controller/index.js +0 -371
  164. package/core/controller/script.tpl.js +0 -27
  165. package/core/factory/config.tpl.json +0 -14
  166. package/core/factory/entity.js +0 -275
  167. package/core/factory/index.js +0 -241
  168. package/core/factory/script.tpl.js +0 -16
  169. package/core/game/bat/index.js +0 -137
  170. package/core/game/bat/world.js +0 -622
  171. package/core/game/config.tpl.json +0 -16
  172. package/core/game/entity_admin.js +0 -230
  173. package/core/game/index.js +0 -186
  174. package/core/handler/config.tpl.json +0 -22
  175. package/core/handler/index.js +0 -181
  176. package/core/handler/script.tpl.js +0 -23
  177. package/core/logic/config.tpl.json +0 -14
  178. package/core/logic/index.js +0 -59
  179. package/core/logic/script.tpl.js +0 -19
  180. package/core/middleware/config.tpl.json +0 -16
  181. package/core/middleware/index.js +0 -117
  182. package/core/middleware/script.tpl.js +0 -37
  183. package/core/mod/config.tpl.json +0 -22
  184. package/core/mod/index.js +0 -136
  185. package/core/mod/script.tpl.js +0 -34
  186. package/core/model/config.tpl.json +0 -219
  187. package/core/model/index.js +0 -272
  188. package/core/model/model.js +0 -27
  189. package/core/model/script.tpl.js +0 -20
  190. package/core/notifier/config.tpl.json +0 -14
  191. package/core/notifier/index.js +0 -77
  192. package/core/notifier/script.tpl.js +0 -20
  193. package/core/plugin/config.tpl.json +0 -36
  194. package/core/plugin/index.js +0 -297
  195. package/core/plugin/script.tpl.js +0 -51
  196. package/core/pusher/config.tpl.json +0 -14
  197. package/core/pusher/index.js +0 -158
  198. package/core/pusher/script.tpl.js +0 -20
  199. package/core/room/bat/index.js +0 -170
  200. package/core/room/bat/room.js +0 -524
  201. package/core/room/config.tpl.json +0 -20
  202. package/core/room/index.js +0 -249
  203. package/core/room/room.js +0 -61
  204. package/core/scene/config.tpl.json +0 -14
  205. package/core/scene/index.js +0 -467
  206. package/core/scene/loop.js +0 -1306
  207. package/core/scene/map.js +0 -28
  208. package/core/scene/script.tpl.js +0 -22
  209. package/core/sender/config.tpl.json +0 -14
  210. package/core/sender/index.js +0 -79
  211. package/core/sender/script.tpl.js +0 -20
  212. package/core/service/config.tpl.json +0 -14
  213. package/core/service/index.js +0 -100
  214. package/core/service/script.tpl.js +0 -25
  215. package/core/store/config.tpl.json +0 -26
  216. package/core/store/index.js +0 -1794
  217. package/core/store/script.tpl.js +0 -22
  218. package/core/store/sql.js +0 -1488
  219. package/core/system/config.tpl.json +0 -18
  220. package/core/system/index.js +0 -312
  221. package/core/system/script.tpl.js +0 -77
  222. package/core/view/config.tpl.json +0 -14
  223. package/core/view/index.js +0 -91
  224. package/core/view/script.tpl.js +0 -20
  225. package/core/zone/bat/index.js +0 -744
  226. package/core/zone/config.tpl.json +0 -54
  227. package/core/zone/index.js +0 -655
  228. package/core/zone/script.tpl.js +0 -10
  229. package/core/zone/zone_bat.js +0 -136
  230. package/core//345/237/272/347/261/273/346/250/241/345/235/227/346/270/205/345/215/225.md +0 -24
  231. package/os.js +0 -53
  232. package/server.js +0 -595
  233. package/ulits/id_gen.js +0 -134
  234. package/ulits/word.js +0 -206
@@ -1,402 +0,0 @@
1
- const Manager = require('mm_machine').Manager;
2
- const Drive = require('./drive');
3
-
4
- /**
5
- * 任务类
6
- * @augments {Manager}
7
- * @class
8
- */
9
- class Socket 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: 'socket管理',
25
- /**
26
- * 描述
27
- * @type {string}
28
- */
29
- description: '这是socket管理器',
30
- /**
31
- * 检索文件名
32
- * @type {string}
33
- */
34
- filename: 'socket.json',
35
- /**
36
- * 模板目录
37
- * @type {string}
38
- */
39
- tpl_dir: __dirname,
40
- /**
41
- * 基础目录
42
- * @type {string}
43
- */
44
- base_dir: '../common/socket'.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: false,
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
- * @type {number}
73
- */
74
- max_depth: 6
75
- };
76
-
77
- /**
78
- * 构造函数
79
- * @param {object} config 配置参数
80
- * @param {object} parent 父级模块
81
- */
82
- constructor(config, parent) {
83
- super({ ...Socket.config, ...config }, parent);
84
- this.dict = {};
85
-
86
- /**
87
- * 消息ID索引 (id => message对象), 用于O(1)查找
88
- */
89
- this.dict_msg = {};
90
-
91
- /**
92
- * 消息队列
93
- */
94
- this.list_msg = [
95
- /*
96
- {
97
- // 消息ID
98
- id: "",
99
- // 请求方法
100
- method: "",
101
- // 消息参数
102
- params: {},
103
- // 回调函数
104
- func: function(res){},
105
- // 时间戳
106
- timestamp: 0,
107
- // 超时时间
108
- timeout: 0,
109
- // 定时器
110
- timer: null
111
- }
112
- */
113
- ];
114
- }
115
- }
116
-
117
- /**
118
- * socket驱动类
119
- * @type {Drive}
120
- */
121
- Socket.prototype.Drive = Drive;
122
-
123
- /**
124
- * 处理socket请求
125
- * @param {object} ctx 请求上下文
126
- * @param {Function} next 跳过当前, 然后继续执行函数
127
- */
128
- Socket.prototype.run = async function (ctx, next) {
129
- if (typeof next === 'function') {
130
- await next();
131
- }
132
- if (!ctx || !ctx.path) {
133
- return;
134
- }
135
- let path = ctx.path.toLocaleLowerCase();
136
- var mods = this.getMods();
137
- for (var name in mods) {
138
- var mod = mods[name];
139
- var mod_path = mod.config && mod.config.path;
140
- if (mod.config && mod.config.state === 1 && mod_path) {
141
- if (path === mod_path) {
142
- if (!mod.isLoaded()) {
143
- await mod.do('load');
144
- }
145
- mod.add(ctx);
146
- break;
147
- }
148
- }
149
- }
150
- };
151
-
152
- /**
153
- * 发送消息到指定客户端
154
- * @param {string} clientid 客户端ID
155
- * @param {string} method 方法名称
156
- * @param {object} params 请求参数
157
- * @returns {boolean} 发送是否成功
158
- */
159
- Socket.prototype.send = function (clientid, method, params) {
160
- var mods = this.getMods();
161
- for (var k in mods) {
162
- var o = mods[k];
163
- if (o.config.state === 1 && o.send) {
164
- // 设置管理器引用,用于消息回复处理
165
- o.manager = this;
166
- return o.send(clientid, method, params);
167
- }
168
- }
169
- return false;
170
- };
171
-
172
- /**
173
- * 发送消息到所有连接的客户端
174
- * @param {string} method 方法名称
175
- * @param {object} params 请求参数
176
- */
177
- Socket.prototype.sendAll = function (method, params) {
178
- var mods = this.getMods();
179
- for (var k in mods) {
180
- var o = mods[k];
181
- if (o.config.state === 1 && o.sendAll) {
182
- // 设置管理器引用,用于消息回复处理
183
- o.manager = this;
184
- o.sendAll(method, params);
185
- }
186
- }
187
- };
188
-
189
- /**
190
- * 发送请求到指定客户端
191
- * @param {string} clientid 客户端ID
192
- * @param {string} method 方法名称
193
- * @param {object} params 请求参数
194
- * @param {Function} func 回调函数
195
- * @param {number} timeout 超时时间(毫秒)
196
- * @returns {boolean} 发送是否成功
197
- */
198
- Socket.prototype.req = function (clientid, method, params, func, timeout = 0) {
199
- var mods = this.getMods();
200
- for (var k in mods) {
201
- var o = mods[k];
202
- if (o.config.state === 1 && o.req) {
203
- // 设置管理器引用,用于消息回复处理
204
- o.manager = this;
205
- return o.req(clientid, method, params, func, timeout);
206
- }
207
- }
208
- return false;
209
- };
210
-
211
- /**
212
- * 发送请求到所有连接的客户端
213
- * @param {string} method 方法名称
214
- * @param {object} params 请求参数
215
- * @param {Function} func 回调函数
216
- * @param {number} timeout 超时时间(毫秒)
217
- */
218
- Socket.prototype.reqAll = function (method, params, func, timeout = 0) {
219
- var mods = this.getMods();
220
- for (var k in mods) {
221
- var o = mods[k];
222
- if (o.config.state === 1 && o.reqAll) {
223
- // 设置管理器引用,用于消息回复处理
224
- o.manager = this;
225
- o.reqAll(method, params, func, timeout);
226
- }
227
- }
228
- };
229
-
230
- /**
231
- * 同步请求到指定客户端 - 可及时取回消息
232
- * @param {string} clientid 客户端ID
233
- * @param {string} method 请求方法
234
- * @param {object} params 传递参数
235
- * @param {number} timeout 超时时间(毫秒)
236
- * @returns {Promise} 返回响应结果的Promise
237
- */
238
- Socket.prototype.reqAsync = function (clientid, method, params, timeout = 0) {
239
- var _this = this;
240
- var timeout_ms = timeout || 3000;
241
- return new Promise((resolve, reject) => {
242
- var has_res = false;
243
- var timer = setTimeout(() => {
244
- if (!has_res) {
245
- reject(new Error('Socket请求超时'));
246
- }
247
- }, timeout_ms);
248
- _this.req(
249
- clientid,
250
- method,
251
- params,
252
- (res) => {
253
- if (!has_res) {
254
- has_res = true;
255
- clearTimeout(timer);
256
- resolve(res);
257
- }
258
- },
259
- timeout,
260
- );
261
- });
262
- };
263
-
264
- /**
265
- * 同步请求到所有客户端 - 可及时取回消息
266
- * @param {string} method 请求方法
267
- * @param {object} params 传递参数
268
- * @param {number} timeout 超时时间(毫秒)
269
- * @returns {Promise} 返回响应结果的Promise
270
- */
271
- Socket.prototype.reqAsyncAll = function (method, params, timeout = 0) {
272
- var _this = this;
273
- var timeout_ms = timeout || 3000;
274
- return new Promise((resolve, reject) => {
275
- var timer = setTimeout(() => {
276
- reject(new Error('Socket广播请求超时'));
277
- }, timeout_ms);
278
- _this.reqAll(
279
- method,
280
- params,
281
- (res) => {
282
- clearTimeout(timer);
283
- resolve(res);
284
- },
285
- timeout,
286
- );
287
- });
288
- };
289
-
290
- /**
291
- * 生成消息ID
292
- * @returns {string} 消息ID
293
- * @private
294
- */
295
- Socket.prototype._genId = function () {
296
- return (
297
- 'socket_' +
298
- Date.parse(new Date()) +
299
- '_' +
300
- Math.random().toString(36).substr(2, 9)
301
- );
302
- };
303
-
304
- /**
305
- * 根据ID移除消息
306
- * @param {string} msg_id 消息ID
307
- * @private
308
- */
309
- Socket.prototype._delMsgById = function (msg_id) {
310
- var o = this.dict_msg[msg_id];
311
- if (!o) {
312
- return;
313
- }
314
- // 清除定时器
315
- if (o.timer) {
316
- clearTimeout(o.timer);
317
- }
318
- delete this.dict_msg[msg_id];
319
-
320
- // 从数组中移除 (保持list_msg与dict_msg同步)
321
- for (var i = 0; i < this.list_msg.length; i++) {
322
- if (this.list_msg[i].id === msg_id) {
323
- this.list_msg.splice(i, 1);
324
- break;
325
- }
326
- }
327
- };
328
-
329
- /**
330
- * 处理消息回复
331
- * @param {object} msg 回复消息
332
- * @private
333
- */
334
- Socket.prototype._handleResponse = function (msg) {
335
- if (!msg || !msg.id) {
336
- return;
337
- }
338
-
339
- var o = this.dict_msg[msg.id];
340
- if (o && o.func) {
341
- try {
342
- // 执行回调函数
343
- o.func(msg);
344
- } catch (error) {
345
- console.error('Socket回调函数执行错误:', error);
346
- }
347
-
348
- // 从列表中移除已处理的消息
349
- this._delMsgById(o.id);
350
- }
351
- };
352
-
353
- /**
354
- * 更新加载插件
355
- * @param {string} path 检索路径
356
- */
357
- Socket.prototype.updateConfigAll = async function (path) {
358
- var p = path || './app/';
359
- // 获取所有应用路径
360
- var list_scope = $.dir.getAll(p, 'socket');
361
-
362
- // 遍历目录路径
363
- for (var i = 0, f; (f = list_scope[i++]);) {
364
- var list_file = $.file.getAll(f, '*' + this.type + '.json');
365
- await this.loadList(list_file);
366
- }
367
- };
368
-
369
- exports.Socket = Socket;
370
-
371
- /**
372
- * Socket组件池
373
- */
374
- if (!$.pool.socket) {
375
- $.pool.socket = {};
376
- }
377
-
378
- /**
379
- * Socket管理器,用于创建缓存
380
- * @param {string} scope 作用域
381
- * @param {string} title 标题
382
- * @returns {object} 返回一个缓存类
383
- */
384
- function socketAdmin(scope, title) {
385
- var sc = scope || $.val.scope + '';
386
- var obj = $.pool.socket[sc];
387
- if (!obj) {
388
- $.pool.socket[sc] = new Socket({
389
- name: sc,
390
- title: title,
391
- });
392
- obj = $.pool.socket[sc];
393
- }
394
- return obj;
395
- }
396
-
397
- /**
398
- * @module 导出Socket管理器
399
- */
400
- if ($.admin) {
401
- $.admin.socket = socketAdmin;
402
- }
@@ -1,41 +0,0 @@
1
- /**
2
- * 主函数, 用于处理未定义函数的消息
3
- * @param {object} body 正文参数
4
- * @param {object} ws Websocket服务
5
- * @param {object} request 请求协议头
6
- * @returns {object} 返回执行结果
7
- */
8
- exports.main = async function(body, ws, request) {
9
- this.log('debug', '收到客户端推送数据', body);
10
- };
11
-
12
- /**
13
- * 同步消息, 用于定时给前端推送数据
14
- * @param {object} ws websocket通讯器
15
- */
16
- exports.sync = async function(ws) {
17
- ws.send([]);
18
- };
19
-
20
- /**
21
- * 初始化函数, 用于定义开放给前端的函数
22
- */
23
- exports.init = async function() {
24
- var m = this.methods;
25
-
26
- /**
27
- * 获取所有方法
28
- * @returns {Array} 返回所有方法名数组
29
- */
30
- m.getMethods = function() {
31
- return Object.keys(m);
32
- };
33
-
34
- /**
35
- * 测试方法
36
- * @returns {string} 返回测试字符串
37
- */
38
- m.test = function() {
39
- return '你好';
40
- };
41
- };
package/com/sql/README.md DELETED
@@ -1,3 +0,0 @@
1
- ## sql框架
2
- 实现了前端传参便捷生成sql语句,通过sql模板和前端所传参数,合并成sql语句对数据库进行增、删、改、查,
3
- 快速的构建了前后端于数据库通讯的通道。
package/com/sql/com.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "name": "Sql",
3
- "title": "SQL管理器",
4
- "state": 1
5
- }
@@ -1,74 +0,0 @@
1
- {
2
- // SQL模板名称
3
- "name": "${name}",
4
- // SQL模板标题
5
- "title": "${title || 'sql模板'}",
6
- // 状态,1表示启用,0表示禁用
7
- "state": 1,
8
- // 调用的数据表
9
- "table": "${table || 'user_account'}",
10
- // 表主键,用于getObj查询时
11
- "key": "${key || 'user_id'}",
12
- // 排序方式,{0}表示支持前端传值来排序,传值方式例如:orderby=user_id
13
- "orderby": "{0}",
14
- // 默认排序方式,当前端没有传值的情况下,采用默认传值方式
15
- "orderby_default": "${orderby_default || 'user_id desc'}",
16
- // 查询列表时返回的字段,{0}表示支持前端传值
17
- "field": "{0}",
18
- // 查询对象时返回的字段
19
- "field_obj": "${field_obj || '*'}",
20
- // 默认返回字段
21
- "field_default": "${field_default || 'username,phone'}",
22
- // 需要过滤的字段,*代表泛匹配 前面*表示以xxx结尾,后面*表示以xxx开头,前后*表示包含xxx的过滤
23
- "field_hide": ["*password*", "*token*", "*apikey*"],
24
- // 传值分隔符,如果允许多个值,可以通过这个来分割,如果不允许传多个值则设置为空
25
- "separator": "|",
26
- // 关键词,用于过滤掉这些值不会写到查询条件中,同时用来识别传的参数
27
- "keyword": {
28
- // 数据表名,当"table":"{0}", 允许识别表明
29
- "table": "table",
30
- // 排序方式
31
- "orderby": "orderby",
32
- // 查询的字段
33
- "field": "field",
34
- // 页码
35
- "page": "page",
36
- // 页面大小
37
- "size": "size",
38
- // 总计,返回查询结果总数
39
- "count": "count",
40
- // 调用方式
41
- "method": "method"
42
- },
43
- // 调用方式 add增 del删 set改 get查 get_obj查一条 import导入 export导出, 支持什么方式就传什么值,支持多个用空格分隔
44
- "method": "add del set get get_obj import export del_repeat sum count update",
45
- // 查询条件转换
46
- "query": {
47
- // 当username=xx时,转为`username` like '%xxx%'的SQL语法
48
- "username": "`username` like '%{0}%'"
49
- },
50
- // 修改时的查询条件
51
- "where": {
52
- // 当修改查询条件出现user_id=xx时,转为`user_id` = 'xxx'的SQL语法
53
- "user_id": "`user_id` = '{0}'"
54
- },
55
- // 修改时值转换
56
- "update": {
57
- // 当修改的正文中出现username是转换为指定格式
58
- "username": "`username` = '{0}'"
59
- },
60
- // 默认查询条件
61
- "query_default": {
62
-
63
- },
64
- // 默认添加项
65
- "body_default": {
66
-
67
- },
68
- // SQL执行脚本,当设置js文件名后, 执行该SQL还将调用这个脚本
69
- "main": "",
70
- // 导入导出格式,转换导入、导出Eexcel时字段名和字段值
71
- "format": [],
72
- // 去重条件,需要查重、并去重的字段在这里写
73
- "del_repeat": {}
74
- }