mm_os 3.3.1 → 4.0.1

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 (380) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +498 -99
  3. package/README_EN.md +505 -0
  4. package/adapter/adapter.js +431 -0
  5. package/adapter/custom_persistence.js +660 -0
  6. package/adapter/mqtt.js +273 -0
  7. package/adapter/socket.js +113 -0
  8. package/adapter/web.js +67 -0
  9. package/adapter/websocket.js +146 -0
  10. package/com/api/com.json +5 -0
  11. package/{core/com → com}/api/config.tpl.json +8 -8
  12. package/com/api/drive.js +708 -0
  13. package/com/api/index.js +198 -0
  14. package/com/api/oauth.js +200 -0
  15. package/com/api/script.tpl.js +32 -0
  16. package/com/cmd/README.md +11 -0
  17. package/com/cmd/com.json +5 -0
  18. package/com/cmd/config.tpl.json +122 -0
  19. package/com/cmd/drive.js +1548 -0
  20. package/com/cmd/index.js +1066 -0
  21. package/com/cmd/msg.json +48 -0
  22. package/com/cmd/nlp.js +525 -0
  23. package/com/cmd/script.tpl.js +32 -0
  24. package/com/db/com.json +5 -0
  25. package/com/db/drive.js +1999 -0
  26. package/com/db/index.js +242 -0
  27. package/{core/com → com}/event/README.md +4 -4
  28. package/com/event/com.json +5 -0
  29. package/{core/com → com}/event/config.tpl.json +18 -18
  30. package/com/event/drive.js +59 -0
  31. package/com/event/index.js +409 -0
  32. package/com/event/script.tpl.js +23 -0
  33. package/com/mqtt/com.json +5 -0
  34. package/{core/com → com}/mqtt/config.tpl.json +3 -5
  35. package/com/mqtt/drive.js +676 -0
  36. package/com/mqtt/index.js +822 -0
  37. package/com/mqtt/mm_mqtt.js +425 -0
  38. package/com/mqtt/script.tpl.js +723 -0
  39. package/com/nav/com.json +5 -0
  40. package/com/nav/config.tpl.json +84 -0
  41. package/com/nav/drive.js +702 -0
  42. package/com/nav/index.js +231 -0
  43. package/{core/com → com}/nav/tpl/admin_pc/page_config.vue +280 -280
  44. package/{core/com → com}/nav/tpl/admin_pc/page_config_form.vue +194 -194
  45. package/com/nav/tpl/admin_pc/page_form.vue +180 -0
  46. package/com/nav/tpl/admin_pc/page_view.vue +124 -0
  47. package/com/nav/tpl/dev_pc/page_default.vue +247 -0
  48. package/com/nav/tpl/dev_pc/page_type.vue +313 -0
  49. package/com/nav/tpl/home_pc/page_default.vue +234 -0
  50. package/com/nav/tpl/home_pc/page_form.vue +137 -0
  51. package/com/nav/tpl/home_pc/page_list.vue +234 -0
  52. package/com/nav/tpl/home_pc/page_nav.vue +221 -0
  53. package/com/nav/tpl/home_pc/page_type.vue +234 -0
  54. package/com/nav/tpl/home_pc/page_view.vue +125 -0
  55. package/com/nav/tpl/home_phone/page_channel.vue +234 -0
  56. package/com/nav/tpl/home_phone/page_default.vue +234 -0
  57. package/com/nav/tpl/home_phone/page_form.vue +137 -0
  58. package/com/nav/tpl/home_phone/page_nav.vue +237 -0
  59. package/com/nav/tpl/home_phone/page_type.vue +234 -0
  60. package/com/nav/tpl/home_phone/page_view.vue +125 -0
  61. package/com/nav/viewmodel.js +446 -0
  62. package/com/param/com.json +5 -0
  63. package/{core/com → com}/param/config.tpl.json +7 -1
  64. package/com/param/drive.js +502 -0
  65. package/com/param/index.js +155 -0
  66. package/com/param/script.tpl.js +12 -0
  67. package/com/pendant/com.json +5 -0
  68. package/{core/com/component → com/pendant}/config.tpl.json +15 -13
  69. package/com/pendant/drive.js +204 -0
  70. package/com/pendant/index.js +441 -0
  71. package/com/pendant/pendant.html +16 -0
  72. package/com/pendant/script.tpl.js +18 -0
  73. package/com/socket/com.json +5 -0
  74. package/com/socket/config.tpl.json +12 -0
  75. package/com/socket/drive.js +651 -0
  76. package/com/socket/index.js +351 -0
  77. package/com/socket/script.tpl.js +41 -0
  78. package/com/sql/com.json +5 -0
  79. package/{core/com → com}/sql/config.tpl.json +13 -9
  80. package/com/sql/drive.js +1259 -0
  81. package/com/sql/index.js +150 -0
  82. package/com/sql/script.tpl.js +47 -0
  83. package/com/static/com.json +5 -0
  84. package/{core/com → com}/static/config.tpl.json +10 -6
  85. package/com/static/drive.js +194 -0
  86. package/com/static/index.js +226 -0
  87. package/com/static/script.tpl.js +28 -0
  88. package/com/task/com.json +5 -0
  89. package/{core/com → com}/task/config.tpl.json +4 -6
  90. package/com/task/drive.js +405 -0
  91. package/com/task/index.js +148 -0
  92. package/com/task/script.tpl.js +37 -0
  93. package/com/template/com.json +5 -0
  94. package/com/template/config.tpl.json +16 -0
  95. package/com/template/drive.js +80 -0
  96. package/com/template/index.js +141 -0
  97. package/com.js +156 -0
  98. package/common/README.md +2 -0
  99. package/common/handler/msg/handler.json +22 -0
  100. package/common/handler/msg/index.js +23 -0
  101. package/common/handler/player/handler.json +22 -0
  102. package/common/handler/player/index.js +287 -0
  103. package/common/handler/user/handler.json +22 -0
  104. package/common/handler/user/index.js +23 -0
  105. package/common/middleware/web_after/index.js +29 -0
  106. package/common/middleware/web_after/middleware.json +9 -0
  107. package/common/middleware/web_base/index.js +113 -0
  108. package/common/middleware/web_base/middleware.json +19 -0
  109. package/common/middleware/web_before/index.js +33 -0
  110. package/common/middleware/web_before/middleware.json +9 -0
  111. package/common/middleware/web_cors/index.js +87 -0
  112. package/common/middleware/web_cors/middleware.json +24 -0
  113. package/common/middleware/web_error/index.js +119 -0
  114. package/common/middleware/web_error/middleware.json +18 -0
  115. package/common/middleware/web_ip/index.js +15 -0
  116. package/common/middleware/web_ip/middleware.json +14 -0
  117. package/common/middleware/web_logger/index.js +156 -0
  118. package/common/middleware/web_logger/middleware.json +14 -0
  119. package/common/middleware/web_main/index.js +24 -0
  120. package/common/middleware/web_main/middleware.json +9 -0
  121. package/common/middleware/web_static/index.js +73 -0
  122. package/common/middleware/web_static/middleware.json +54 -0
  123. package/common/middleware/web_waf/index.js +385 -0
  124. package/common/middleware/web_waf/middleware.json +13 -0
  125. package/common/model/msg/index.js +88 -0
  126. package/common/model/msg/model.json +401 -0
  127. package/common/model/player/index.js +63 -0
  128. package/common/model/player/model.json +185 -0
  129. package/common/model/user/index.js +11 -0
  130. package/common/model/user/model.json +219 -0
  131. package/core/app/config.tpl.json +67 -0
  132. package/core/app/index.js +632 -0
  133. package/core/app/script.tpl.js +52 -0
  134. package/core/channel/index.js +899 -0
  135. package/core/channel/matcher.js +585 -0
  136. package/core/com/config.tpl.json +16 -0
  137. package/core/com/index.js +74 -0
  138. package/core/com/script.tpl.js +5 -0
  139. package/core/component/component.js +42 -0
  140. package/core/component/config.tpl.json +63 -0
  141. package/core/component/index.js +273 -0
  142. package/core/component/script.tpl.js +19 -0
  143. package/core/controller/config.tpl.json +14 -0
  144. package/core/controller/index.js +373 -0
  145. package/core/controller/script.tpl.js +27 -0
  146. package/core/factory/config.tpl.json +14 -0
  147. package/core/factory/entity.js +275 -0
  148. package/core/factory/index.js +241 -0
  149. package/core/factory/script.tpl.js +16 -0
  150. package/core/game/bat/index.js +137 -0
  151. package/core/game/bat/world.js +622 -0
  152. package/core/game/config.tpl.json +16 -0
  153. package/core/game/entity_admin.js +230 -0
  154. package/core/game/index.js +186 -0
  155. package/core/handler/config.tpl.json +22 -0
  156. package/core/handler/index.js +181 -0
  157. package/core/handler/script.tpl.js +23 -0
  158. package/core/logic/config.tpl.json +14 -0
  159. package/core/logic/index.js +59 -0
  160. package/core/logic/script.tpl.js +19 -0
  161. package/core/middleware/config.tpl.json +16 -0
  162. package/core/middleware/index.js +125 -0
  163. package/core/middleware/script.tpl.js +37 -0
  164. package/core/mod/config.tpl.json +22 -0
  165. package/core/mod/index.js +130 -0
  166. package/core/mod/script.tpl.js +34 -0
  167. package/core/model/config.tpl.json +219 -0
  168. package/core/model/index.js +272 -0
  169. package/core/model/model.js +27 -0
  170. package/core/model/script.tpl.js +20 -0
  171. package/core/notifier/config.tpl.json +14 -0
  172. package/core/notifier/index.js +77 -0
  173. package/core/notifier/script.tpl.js +20 -0
  174. package/core/plugin/config.tpl.json +24 -0
  175. package/core/plugin/index.js +232 -0
  176. package/core/plugin/script.tpl.js +51 -0
  177. package/core/pusher/config.tpl.json +14 -0
  178. package/core/pusher/index.js +161 -0
  179. package/core/pusher/script.tpl.js +20 -0
  180. package/core/room/bat/index.js +170 -0
  181. package/core/room/bat/room.js +524 -0
  182. package/core/room/config.tpl.json +20 -0
  183. package/core/room/index.js +249 -0
  184. package/core/room/room.js +61 -0
  185. package/core/scene/config.tpl.json +14 -0
  186. package/core/scene/index.js +466 -0
  187. package/core/scene/loop.js +1255 -0
  188. package/core/scene/map.js +28 -0
  189. package/core/scene/script.tpl.js +22 -0
  190. package/core/sender/config.tpl.json +14 -0
  191. package/core/sender/index.js +79 -0
  192. package/core/sender/script.tpl.js +20 -0
  193. package/core/service/config.tpl.json +14 -0
  194. package/core/service/index.js +100 -0
  195. package/core/service/script.tpl.js +25 -0
  196. package/core/store/config.tpl.json +26 -0
  197. package/core/store/index.js +1755 -0
  198. package/core/store/script.tpl.js +22 -0
  199. package/core/store/sql.js +1464 -0
  200. package/core/system/config.tpl.json +18 -0
  201. package/core/system/index.js +312 -0
  202. package/core/system/script.tpl.js +77 -0
  203. package/core/view/config.tpl.json +14 -0
  204. package/core/view/index.js +91 -0
  205. package/core/view/script.tpl.js +20 -0
  206. package/core/zone/bat/index.js +725 -0
  207. package/core/zone/config.tpl.json +54 -0
  208. package/core/zone/index.js +614 -0
  209. package/core/zone/script.tpl.js +10 -0
  210. package/core/zone/zone_bat.js +136 -0
  211. package/core//345/237/272/347/261/273/346/250/241/345/235/227/346/270/205/345/215/225.md +24 -0
  212. package/index.js +17 -333
  213. package/os.js +57 -0
  214. package/package.json +65 -55
  215. package/server.js +598 -0
  216. package/README.en.md +0 -36
  217. package/conf.json +0 -3
  218. package/core/base/mqtt/index.js +0 -1110
  219. package/core/base/mqtt/lib.js +0 -40
  220. package/core/base/web/index.js +0 -245
  221. package/core/com/api/com.json +0 -4
  222. package/core/com/api/drive.js +0 -668
  223. package/core/com/api/index.js +0 -108
  224. package/core/com/api/oauth.js +0 -158
  225. package/core/com/api/script.js +0 -32
  226. package/core/com/app/README.md +0 -3
  227. package/core/com/app/com.json +0 -4
  228. package/core/com/app/config.tpl.json +0 -16
  229. package/core/com/app/drive.js +0 -309
  230. package/core/com/app/index.js +0 -211
  231. package/core/com/app/script.js +0 -155
  232. package/core/com/cmd/com.json +0 -4
  233. package/core/com/cmd/config.tpl.json +0 -66
  234. package/core/com/cmd/drive.js +0 -513
  235. package/core/com/cmd/index.js +0 -354
  236. package/core/com/cmd/old/5w2h.js +0 -54
  237. package/core/com/cmd/old/drive.js +0 -423
  238. package/core/com/cmd/script.js +0 -11
  239. package/core/com/component/README.md +0 -3
  240. package/core/com/component/com.json +0 -4
  241. package/core/com/component/component.html +0 -16
  242. package/core/com/component/drive.js +0 -197
  243. package/core/com/component/index.js +0 -312
  244. package/core/com/component/script.js +0 -18
  245. package/core/com/db/com.json +0 -4
  246. package/core/com/db/drive.js +0 -1160
  247. package/core/com/db/index.js +0 -176
  248. package/core/com/event/com.json +0 -4
  249. package/core/com/event/drive.js +0 -133
  250. package/core/com/event/index.js +0 -345
  251. package/core/com/event/script.js +0 -26
  252. package/core/com/eventer/com.js +0 -477
  253. package/core/com/eventer/com.json +0 -4
  254. package/core/com/middleware/com.js +0 -154
  255. package/core/com/middleware/com.json +0 -4
  256. package/core/com/middleware/config.tpl.json +0 -8
  257. package/core/com/middleware/script.js +0 -9
  258. package/core/com/mqtt/com.json +0 -4
  259. package/core/com/mqtt/drive.js +0 -600
  260. package/core/com/mqtt/index.js +0 -572
  261. package/core/com/mqtt/mm_mqtt.js +0 -330
  262. package/core/com/mqtt/script.js +0 -604
  263. package/core/com/msg/com.js +0 -296
  264. package/core/com/msg/com.json +0 -4
  265. package/core/com/nav/com.json +0 -4
  266. package/core/com/nav/config.tpl.json +0 -75
  267. package/core/com/nav/drive.js +0 -549
  268. package/core/com/nav/index.js +0 -182
  269. package/core/com/nav/tpl/admin_pc/page_form.vue +0 -180
  270. package/core/com/nav/tpl/admin_pc/page_view.vue +0 -124
  271. package/core/com/nav/tpl/dev_pc/page_default.vue +0 -247
  272. package/core/com/nav/tpl/dev_pc/page_type.vue +0 -313
  273. package/core/com/nav/tpl/home_pc/page_default.vue +0 -234
  274. package/core/com/nav/tpl/home_pc/page_form.vue +0 -137
  275. package/core/com/nav/tpl/home_pc/page_list.vue +0 -234
  276. package/core/com/nav/tpl/home_pc/page_nav.vue +0 -221
  277. package/core/com/nav/tpl/home_pc/page_type.vue +0 -234
  278. package/core/com/nav/tpl/home_pc/page_view.vue +0 -125
  279. package/core/com/nav/tpl/home_phone/page_channel.vue +0 -234
  280. package/core/com/nav/tpl/home_phone/page_default.vue +0 -234
  281. package/core/com/nav/tpl/home_phone/page_form.vue +0 -137
  282. package/core/com/nav/tpl/home_phone/page_nav.vue +0 -237
  283. package/core/com/nav/tpl/home_phone/page_type.vue +0 -234
  284. package/core/com/nav/tpl/home_phone/page_view.vue +0 -125
  285. package/core/com/nav/viewmodel.js +0 -296
  286. package/core/com/param/drive.js +0 -366
  287. package/core/com/param/index.js +0 -80
  288. package/core/com/param/script.js +0 -12
  289. package/core/com/param/test.js +0 -98
  290. package/core/com/plugin/README.md +0 -3
  291. package/core/com/plugin/com.json +0 -4
  292. package/core/com/plugin/config.tpl.json +0 -26
  293. package/core/com/plugin/drive.js +0 -536
  294. package/core/com/plugin/index.js +0 -259
  295. package/core/com/plugin/script.js +0 -213
  296. package/core/com/rpc/com.json +0 -4
  297. package/core/com/rpc/drive.js +0 -160
  298. package/core/com/rpc/index.js +0 -87
  299. package/core/com/rpc/rpc.js +0 -118
  300. package/core/com/socket/com.json +0 -4
  301. package/core/com/socket/config.tpl.json +0 -14
  302. package/core/com/socket/drive.js +0 -403
  303. package/core/com/socket/index.js +0 -62
  304. package/core/com/socket/script.js +0 -42
  305. package/core/com/sql/drive.js +0 -1087
  306. package/core/com/sql/index.js +0 -83
  307. package/core/com/sql/script.js +0 -48
  308. package/core/com/static/com.json +0 -4
  309. package/core/com/static/drive.js +0 -220
  310. package/core/com/static/index.js +0 -149
  311. package/core/com/static/script.js +0 -28
  312. package/core/com/task/com.json +0 -4
  313. package/core/com/task/drive.js +0 -403
  314. package/core/com/task/index.js +0 -110
  315. package/core/com/task/script.js +0 -37
  316. package/core/com/timer/com.js +0 -217
  317. package/core/com/timer/com.json +0 -4
  318. package/core/com/tpl/com.js +0 -19
  319. package/core/com/tpl/com.json +0 -4
  320. package/lib/actions.js +0 -50
  321. package/lib/base.js +0 -361
  322. package/lib/com.js +0 -29
  323. package/lib/ref.js +0 -121
  324. package/middleware/cors/index.js +0 -119
  325. package/middleware/cors/middleware.json +0 -20
  326. package/middleware/csrf/index.js +0 -202
  327. package/middleware/csrf/middleware.json +0 -24
  328. package/middleware/ip_firewall/index.js +0 -476
  329. package/middleware/ip_firewall/middleware.json +0 -109
  330. package/middleware/mqtt_base/index.js +0 -10
  331. package/middleware/mqtt_base/middleware.json +0 -11
  332. package/middleware/security_audit/index.js +0 -543
  333. package/middleware/security_audit/middleware.json +0 -48
  334. package/middleware/waf/index.js +0 -343
  335. package/middleware/waf/middleware.json +0 -10
  336. package/middleware/waf_ddos/index.js +0 -520
  337. package/middleware/waf_ddos/middleware.json +0 -38
  338. package/middleware/waf_xss/index.js +0 -269
  339. package/middleware/waf_xss/middleware.json +0 -18
  340. package/middleware/web_after/index.js +0 -33
  341. package/middleware/web_after/middleware.json +0 -10
  342. package/middleware/web_base/index.js +0 -90
  343. package/middleware/web_base/middleware.json +0 -10
  344. package/middleware/web_before/index.js +0 -27
  345. package/middleware/web_before/middleware.json +0 -10
  346. package/middleware/web_check/index.js +0 -28
  347. package/middleware/web_check/middleware.json +0 -10
  348. package/middleware/web_main/index.js +0 -28
  349. package/middleware/web_main/middleware.json +0 -10
  350. package/middleware/web_proxy/index.js +0 -37
  351. package/middleware/web_proxy/middleware.json +0 -10
  352. package/middleware/web_render/index.js +0 -87
  353. package/middleware/web_render/middleware.json +0 -10
  354. package/middleware/web_socket/index.js +0 -34
  355. package/middleware/web_socket/middleware.json +0 -10
  356. package/middleware/web_static/index.js +0 -115
  357. package/middleware/web_static/middleware.json +0 -10
  358. /package/{core/com → com}/api/README.md +0 -0
  359. /package/{core/com → com}/db/README.md +0 -0
  360. /package/{core/com → com}/mqtt/README.md +0 -0
  361. /package/{core/com → com}/nav/README.md +0 -0
  362. /package/{core/com → com}/nav/tpl/admin_pc/page_channel.vue +0 -0
  363. /package/{core/com → com}/nav/tpl/admin_pc/page_default.vue +0 -0
  364. /package/{core/com → com}/nav/tpl/admin_pc/page_lang.vue +0 -0
  365. /package/{core/com → com}/nav/tpl/admin_pc/page_nav.vue +0 -0
  366. /package/{core/com → com}/nav/tpl/admin_pc/page_table.vue +0 -0
  367. /package/{core/com → com}/nav/tpl/admin_pc/page_type.vue +0 -0
  368. /package/{core/com → com}/nav/tpl/dev_pc/page_channel.vue +0 -0
  369. /package/{core/com → com}/nav/tpl/dev_pc/page_config.vue +0 -0
  370. /package/{core/com → com}/nav/tpl/dev_pc/page_form.vue +0 -0
  371. /package/{core/com → com}/nav/tpl/dev_pc/page_nav.vue +0 -0
  372. /package/{core/com → com}/nav/tpl/dev_pc/page_table.vue +0 -0
  373. /package/{core/com → com}/nav/tpl/home_pc/page_channel.vue +0 -0
  374. /package/{core/com → com}/nav/tpl/home_phone/page_list.vue +0 -0
  375. /package/{core/com → com}/param/README.md +0 -0
  376. /package/{core/com/cmd → com/pendant}/README.md +0 -0
  377. /package/{core/com → com}/socket/README.md +0 -0
  378. /package/{core/com → com}/sql/README.md +0 -0
  379. /package/{core/com → com}/static/README.md +0 -0
  380. /package/{core/com → com}/task/README.md +0 -0
@@ -1,211 +0,0 @@
1
- const compressing = require('compressing');
2
- const Index = require('mm_machine').Index;
3
- const Drive = require('./drive.js');
4
-
5
- /**
6
- * App应用类
7
- * @extends {Index}
8
- * @class
9
- */
10
- class App extends Index {
11
- /**
12
- * 构造函数
13
- * @param {Object} scope 作用域
14
- * @param {String} title 标题
15
- * @constructor
16
- */
17
- constructor(scope, title) {
18
- super(scope, __dirname);
19
- this.Drive = Drive;
20
- this.type = "app";
21
- this.title = title;
22
- // 默认启用热更新
23
- this.mode = 3;
24
- }
25
- }
26
-
27
- /**
28
- * 初始化应用
29
- * @param {Object} option 配置参数
30
- * @return {String} 执行结果
31
- */
32
- App.prototype.init = function(option) {
33
- var ret = "";
34
- var lt = this.list;
35
- for (var i = 0, o; o = lt[i++];) {
36
- ret = o.exec('init', option);
37
- }
38
- return ret;
39
- };
40
-
41
- /**
42
- * 加载应用
43
- * @param {String} path 检索路径
44
- * @param {Boolean} accurate 是否精确路径
45
- */
46
- App.prototype.update_config_all = async function(path, accurate) {
47
- var dir_app;
48
- if (accurate) {
49
- dir_app = path;
50
- } else {
51
- if (!path) {
52
- if (this.scope == "sys") {
53
- path = "";
54
- } else {
55
- path = "/" + this.scope;
56
- }
57
- }
58
- dir_app = (path + "/app/").fullname();
59
- dir_app.addDir();
60
- }
61
-
62
- if (dir_app.hasDir()) {
63
- var list_scope = $.dir.get(dir_app);
64
- // 遍历目录路径
65
- for (var i = 0, o; o = list_scope[i++];) {
66
- var file = './app.json'.fullname(o);
67
- if (file.hasFile()) {
68
- await this.load_file(file, true);
69
- }
70
- }
71
- }
72
- };
73
-
74
- /**
75
- * 压缩应用
76
- * @param {Object} name 应用名称
77
- * @returns {Boolean} 返回压缩路径
78
- */
79
- App.prototype.zip = async function(name) {
80
- var plus = this.get(name);
81
- if (plus) {
82
- return await plus.zip();
83
- }
84
- return null;
85
- }
86
-
87
- /**
88
- * 解压应用
89
- * @param {Object} file 应用压缩文件
90
- * @returns {Boolean} 返回解压结果
91
- */
92
- App.prototype.unzip = async function(file) {
93
- var name = file.basename().left(".");
94
- var dir = `/cache/app/${name}`.fullname();
95
- dir.addDir();
96
- var ret;
97
- try {
98
- await compressing.zip.uncompress(file, dir);
99
- ret = {
100
- file,
101
- dir
102
- };
103
- } catch (err) {
104
- $.log.error("应用解压失败!", err);
105
- }
106
- return ret;
107
- }
108
-
109
- /**
110
- * 卸载应用
111
- * @param {String} name 应用名称
112
- * @returns {String} 返回卸载路径
113
- */
114
- App.prototype.uninstall = async function(name) {
115
- var plus = this.get(name);
116
- if (plus) {
117
- await plus.exec('uninstall');
118
- var obj = this.del(name, true);
119
- if (obj) {
120
- var file = obj.filename;
121
- // 删除目录
122
- file.dirname().delDir();
123
- return file
124
- }
125
- }
126
- return null;
127
- }
128
-
129
- /**
130
- * 复制目录
131
- * @param {String} dir_src 原路径
132
- * @param {String} dir 新路径
133
- * @returns {Object} 返回复制结果
134
- */
135
- App.prototype.copy_dir = function(dir_src, dir) {
136
- return new Promise((resolve, reject) => {
137
- $.dir.copy(dir_src, dir, () => {
138
- resolve({
139
- dir_src,
140
- dir
141
- });
142
- });
143
- });
144
- }
145
-
146
- /**
147
- * 安装应用
148
- * @param {String} file 应用压缩文件
149
- * @returns {Object} 返回解压结果
150
- */
151
- App.prototype.install = async function(file) {
152
- var ret = await this.unzip(file);
153
- if (ret) {
154
- var dirs = $.dir.get(ret.dir);
155
- if (dirs.length) {
156
- var dir_src = dirs[0];
157
- var file = "./app.json".fullname(dir_src);
158
- var config = file.loadJson();
159
- if (config) {
160
- var name = config.name;
161
- if (name) {
162
- var dir = `/app/${name}`;
163
- await this.copy_dir(dir_src, dir);
164
- var cs = $.pool.app[app];
165
- if (cs) {
166
- await cs.update(`/app/`.fullname());
167
- await cs.exec(name, 'install');
168
- setTimeout(() => {
169
- ret.dir.delDir();
170
- }, 3000)
171
- }
172
- return {
173
- name,
174
- dir_src,
175
- dir
176
- }
177
- }
178
- }
179
- }
180
- }
181
- }
182
-
183
- module.exports = App;
184
-
185
-
186
- /**
187
- * 创建全局管理器
188
- */
189
- if (!$.pool.app) {
190
- $.pool.app = {};
191
- }
192
-
193
- function app_admin(scope, title) {
194
- if (!scope) {
195
- scope = $.val.scope + '';
196
- }
197
- var obj = $.pool.app[scope];
198
- if (!obj) {
199
- $.pool.app[scope] = new App(scope, title);
200
- obj = $.pool.app[scope];
201
- }
202
- return obj;
203
- }
204
-
205
- /**
206
- * app管理器, 用于管理应用
207
- * @param {string} scope 作用域
208
- * @param {string} title 标题
209
- * @return {Object} 返回一个缓存类
210
- */
211
- $.app_admin = app_admin;
@@ -1,155 +0,0 @@
1
- /**
2
- * @fileOverview {0}
3
- * @author <a href="作者主页地址">应用作者</a>
4
- * @version 1.0
5
- */
6
-
7
- /**
8
- * 应用对象
9
- */
10
- module.exports = {
11
- /**
12
- * 安装,把应用安装到系统中,在安装时执行
13
- * @param {Object} option 配置参数
14
- * @param {String} option.path 应用安装路径
15
- * @param {Object} option.config 应用配置信息
16
- * @param {String} option.version 应用版本号
17
- * @return {String} 成功返回null,否则返回错误提示。常见错误:路径不存在、版本不兼容、依赖缺失等
18
- */
19
- install(option) {
20
- var msg = null;
21
- // 此处常用于更新文件和导入数据库等操作。通常为一次操作
22
- return msg;
23
- },
24
- /**
25
- * 加载应用,当脚本被引入时会执行
26
- * @param {Object} option 配置参数
27
- * @return {String} 成功返回null, 否则返回错误提示。常见错误:依赖模块加载失败、模块冲突等
28
- */
29
- load(option) {
30
- var msg = null;
31
- // 此处通常用于require加载其他相关模块(不在脚本文件中直接require模块,可提高启动速度,可根据应用优先级优先加载模块)
32
- return msg;
33
- },
34
- /**
35
- * 初始化应用,设置全局变量、路由规则和定时任务等
36
- * @param {Object} option 配置参数
37
- * @return {String} 成功返回null, 否则返回错误提示。常见错误:配置格式错误、路由冲突等
38
- */
39
- init(option) {
40
- var msg = null;
41
- // 此处主要用于重置全局变量和配置,更新路由和更新定时任务等操作
42
- return msg;
43
- },
44
-
45
- /**
46
- * 启动应用,开启路由监听和定时任务
47
- * @param {Object} option 配置参数
48
- * @return {String} 成功返回null,否则返回错误提示。常见错误:端口被占用、服务启动超时等
49
- */
50
- start(option) {
51
- var msg = null;
52
- // 此处主要用于开启路由和定时任务
53
- return msg;
54
- },
55
- /**
56
- * 重启应用,在配置更改或应用更新时执行
57
- * @param {Object} option 配置参数
58
- * @return {String} 成功返回null,否则返回错误提示。常见错误:重启超时、服务未完全停止等
59
- */
60
- restart(option) {
61
- var msg = null;
62
- this.stop();
63
- this.start();
64
- return msg;
65
- },
66
- /**
67
- * 暂停应用,临时停止路由和定时任务的执行
68
- * @param {Object} option 配置参数
69
- * @return {String} 成功返回null,否则返回错误提示。常见错误:有未完成的任务、停止超时等
70
- */
71
- stop(option) {
72
- var msg = null;
73
- // 此处主要用于关闭路由和定时任务
74
- return msg;
75
- },
76
- /**
77
- * 结束应用,清理路由、定时任务和连接
78
- * @param {Object} option 配置参数
79
- * @return {String} 成功返回null,否则返回错误提示。常见错误:资源释放失败、清理超时等
80
- */
81
- end(option) {
82
- var msg = null;
83
- // 主要用于移除注册的路由、 定时任务连接
84
- return msg;
85
- },
86
- /**
87
- * 卸载已加载的模块,释放内存资源
88
- * @param {Object} option 配置参数
89
- * @return {String} 成功返回null,否则返回错误提示。常见错误:模块正在使用、依赖关系阻止卸载等
90
- */
91
- unload(option) {
92
- var msg = null;
93
- // 主要用于移除加载的模块,释放内存(卸载require的模块,降低系统运行内存)
94
- return msg;
95
- },
96
- /**
97
- * 应用版本更新,包括下载、安装和重启
98
- * @param {Object} option 配置参数
99
- * @return {String} 成功返回null, 否则返回错误提示。常见错误:网络问题、版本冲突、空间不足等
100
- */
101
- update(option) {
102
- var msg = null;
103
- // 下载最新版本,重新安装、重新加载并初始化,如果本身程序属于启动状态,将重新启动
104
- this.install(option);
105
- if (this.config.state == 1) {
106
- this.load(option);
107
- this.init(option);
108
- this.start(option);
109
- }
110
- return msg;
111
- },
112
- /**
113
- * 卸载应用,完全移除应用及其相关资源
114
- * @param {Object} option 配置参数
115
- * @return {String} 成功返回null,否则返回错误提示。常见错误:文件删除失败、数据库清理失败等
116
- */
117
- uninstall(option) {
118
- var msg = null;
119
- // 此处从系统中完全删除程序及其所有相关文件和配置。卸载后,该应用不会在系统中留下任何痕迹‌
120
- return msg;
121
- },
122
- /**
123
- * 获取应用使用帮助信息
124
- * @param {String} item 查询的功能项,如"install"、"api"等
125
- * @return {Object} 返回帮助信息对象
126
- * @example
127
- * // 获取安装相关帮助
128
- * help("install")
129
- * // 返回: {title: "安装说明", steps: ["步骤1...", "步骤2..."], examples: [...]}
130
- */
131
- help(item) {
132
- var tip = "";
133
- switch (item) {
134
- case "run":
135
- break;
136
- default:
137
- break;
138
- }
139
- return tip;
140
- },
141
-
142
- /**
143
- * 应用主程序,处理核心业务逻辑
144
- * @param {Object} param1 业务参数对象
145
- * @param {Object} param2 配置参数对象
146
- * @return {Object} 返回执行结果对象 {code: 0, msg: "success", data: {}}
147
- * @example
148
- * main({action: "process", data: {id: 1}}, {options: {async: true}})
149
- * // 返回: {code: 0, msg: "处理成功", data: {result: "..."}}
150
- */
151
- main(param1, param2) {
152
- var ret = null;
153
- return ret;
154
- }
155
- };
@@ -1,4 +0,0 @@
1
- {
2
- "name": "指令管理器",
3
- "script": "./index.js"
4
- }
@@ -1,66 +0,0 @@
1
- {
2
- // 指令名称, 用于动态增删改配置
3
- "name": "demo",
4
- // 标题, 用于查询指令时
5
- "title": "指令标题",
6
- // 描述, 用于介绍该指令的作用
7
- "description": "暂无描述",
8
- // 时态, 分before之前、check验证、main主要、render渲染、after之后五个时态
9
- "tense": "main",
10
- // 执行顺序, 数值越小的指令越优先执行
11
- "sort": 1000,
12
- // 指令分组, 可以将特有的指令分一个组, 方便用户查询
13
- "group": "default",
14
- // 指令分类, 例如: 查询服务类query、管理类admin、游戏类game
15
- "type": "",
16
- // 匹配关键词组, 当聊天中出现其中一个关键词则会执行该指令
17
- "match": [],
18
- // 执行顺序, 数值越小的指令越优先执行
19
- "sort": 1000,
20
- // 结束会话 当值为1时,指令触发并返回了内容后不再执行其他指令。为0时,指令触发仍继续执行其他指令
21
- "end": 1,
22
- // 指令分组, 可以将特有的指令分一个组, 方便用户查询
23
- "group": "default",
24
- // 指令分类, 例如: 查询服务类query、管理类admin、游戏类game
25
- "type": "",
26
- // 匹配关键词组, 当聊天中出现其中一个关键词则会执行该指令
27
- "match": [],
28
- // 不包含关键词, 如果匹配后, 出现不应该包含的关键词, 则不会执行指令
29
- "not": [],
30
- // 移除关键词, 如果聊天中含这些词, 将会被剔除在执行指令
31
- "remove": [],
32
- // 提取特定词, 如果聊天中含有特定词, 会被提取出来再执行指令
33
- "extract": [],
34
- // 阶段
35
- "stage": [
36
- // 第一阶段
37
- {
38
- // 方式 fill为补全,会将本次消息加入到msg.form[name]中
39
- "mode": "fill",
40
- /* 参数, 用于执行指令行为前抽取关键词进行验证, 然后再执行指令 */
41
- "param": [{
42
- // 参数名称, 用于提交数据时
43
- "name": "number",
44
- // 参数标题, 用于提示用户什么参数错误
45
- "title": "快递单号",
46
- // 抽验顺序, 越小的越优先验证, 并且抽取后排列在前
47
- "sort": 10,
48
- // 抽取/校验格式, 如果格式不符合, 则表示验证未通过,提示用户
49
- "format": "/[a-zA-Z0-9_]+/g",
50
- // 缺少参数提示, 如果不包含该参数, 则做出的提示
51
- "not_tip": "快递单号多少?",
52
- // 错误提示, 提示用户补充参数时, 补充参数错误时做出的提示
53
- "error_tip": "快递单号不正确",
54
- // 校验/抽取的函数名, 通过函数的方式抽取/校验参数
55
- "func_name": ""
56
- }]
57
- },
58
- // 第二阶段
59
- {
60
- // 方式 update为更新,会将本次消息替换掉msg.form[name]的值
61
- "mode": "update",
62
- // 验证参数集
63
- "param": []
64
- }
65
- ]
66
- }