mm_os 3.3.1 → 4.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 (380) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +491 -99
  3. package/README_EN.md +498 -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 +58 -58
  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,125 +0,0 @@
1
- <template>
2
- <main id="${id}">
3
- <mm_grid>
4
- <mm_col>
5
- <mm_form class="card">
6
- <header class="arrow">
7
- <h5>{{ form[field] ? '修改' : '创建' }}${api.title}</h5>
8
- </header>
9
- <dl>
10
- <!--{loop field v idx}-->
11
- <!--{if idx > 0}-->
12
- <dt>${v.title}</dt>
13
- <!--{if(v.format)}-->
14
- <!--{if(v.format.table)}-->
15
- <dd>
16
- <control_select v-model="form.${v.format.key}" :options="$to_kv(${v.label}, '${v.format.id || v.format.key}', '${v.format.name}')" />
17
- </dd>
18
- <!--{else}-->
19
- <dd>
20
- <control_select v-model="form.${v.format.key}" :options="$to_kv(${v.label})" />
21
- </dd>
22
- <!--{/if}-->
23
- <!--{else if(v.dataType.indexOf('time') !== -1 || v.dataType.indexOf('date') !== -1)}-->
24
- <dd>
25
- <mm_time v-model="form.${v.name}" type="datetime" />
26
- </dd>
27
- <!--{else if(v.dataType.indexOf('tinyint') !== -1)}-->
28
- <dd>
29
- <control_switch v-model="form.${v.name}" />
30
- </dd>
31
- <!--{else if(v.dataType.indexOf('text') !== -1)}-->
32
- <dd>
33
- <control_textarea v-model="form.${v.name}" type="text" placeholder="${v.description.replace(/\([0-9A-Za-z_]+\)/g, '').replace('用于搜索', '').replace(/、/g, ' / ')}" />
34
- </dd>
35
- <!--{else if(v.type === 'number' && v.name.indexOf('id') === -1)}-->
36
- <dd>
37
- <control_number v-model="form.${v.name}" :min="0" :max="${v.number ? v.number.max : 0}" />
38
- </dd>
39
- <!--{else}-->
40
- <dd>
41
- <control_input v-model="form.${v.name}" :minlength="0" :maxlength="${v.string ? v.string.max : 0}" placeholder="${v.description.replace(/\([0-9A-Za-z_]+\)/g, '').replace('用于搜索', '').replace(/、/g, ' / ')}" />
42
- </dd>
43
- <!--{/if}-->
44
- <!--{/if}-->
45
- <!--{/loop}-->
46
- </dl>
47
- <footer>
48
- <div class="mm_group">
49
- <button class="mm_btn btn_default" type="button" @click="cancel">返回</button>
50
- <button class="mm_btn btn_primary" type="button" @click="submit()">提交</button>
51
- </div>
52
- </footer>
53
- </mm_form>
54
- </mm_col>
55
- </mm_grid>
56
- </main>
57
- </template>
58
-
59
-
60
- <script>
61
- import mixin from '/src/mixins/page.js';
62
-
63
- export default {
64
- mixins: [mixin],
65
- components: {},
66
- data() {
67
- return {
68
- url_submit: "${api.path}?",
69
- url_get_obj: "${api.path}?method=get_obj",
70
- field: "${sql.key}",
71
- query: {
72
- "${sql.key}": 0
73
- },
74
- form: {
75
- /*[loop field v idx]*/
76
- /*[if v.type === 'number']*/
77
- "${v.name}": 0,
78
- /*[else]*/
79
- "${v.name}": '',
80
- /*[/if]*/
81
- /*[/loop]*/
82
- },
83
- /*[loop js.data v idx]*/
84
- // ${' ' + v.title}
85
- '${v.name}': [/*[loop v.value a idx]*//*[if idx == 0]*/'${a}'/*[else]*/,'${a}'/*[/if]*//*[/loop]*/],
86
- /*[/loop]*/
87
- }
88
- },
89
- methods: {
90
- /*[loop js.data v idx]*/
91
- /*[if(v.path)]*/
92
- /**
93
- * 获取 ${v.title}
94
- * @param {query} 查询条件
95
- */
96
- get_/*[v.basename]*/(query){
97
- var _this = this;
98
- if(!query){
99
- query = {
100
- field: "${v.id},${v.field}"
101
- };
102
- }
103
- this.$get('~${v.path}', query, function(json) {
104
- if (json.result) {
105
- _this/*['.' + v.name]*/.clear();
106
- _this/*['.' + v.name]*/.addList(json.result.list)
107
- }
108
- });
109
- },
110
- /*[/if]*/
111
- /*[/loop]*/
112
- },
113
- created() {
114
- /*[loop js.data v idx]*/
115
- /*[if(v.path)]*/
116
- // 获取 ${v.title}
117
- this.get_/*[v.basename]*/();
118
- /*[/if]*/
119
- /*[/loop]*/
120
- }
121
- }
122
- </script>
123
-
124
- <style>
125
- </style>
@@ -1,296 +0,0 @@
1
- /**
2
- * 视图模型
3
- * @class
4
- */
5
- class ViewModel {
6
- /**
7
- * 配置参数
8
- * @param {Object} config
9
- */
10
- constructor(config) {
11
-
12
- }
13
- }
14
-
15
- /**
16
- * 获取显示类型
17
- * @param {String} key
18
- * @param {Boolean} f 是否带格式
19
- * @return {String} 返回显示类型
20
- */
21
- ViewModel.prototype.get_type = function(key, f) {
22
- var show = '';
23
- switch (key) {
24
- case "search":
25
- show = f ? "select" : "";
26
- break;
27
- case "view":
28
- show = "text";
29
- break;
30
- case "table":
31
- show = f ? "select" : "text";
32
- break;
33
- case "edit":
34
- show = f ? "select" : "input";
35
- break;
36
- case "list":
37
- show = "text";
38
- break;
39
- case "details":
40
- show = "text";
41
- break;
42
- case "batch":
43
- show = f ? "select" : "";
44
- break;
45
- case "filter":
46
- show = f ? "select" : "";
47
- break;
48
- default:
49
- show = f ? "select" : "";
50
- break;
51
- }
52
- return show;
53
- };
54
-
55
- /**
56
- * 查询显示方式
57
- * @param {Array} arr
58
- * @param {String} key
59
- * @param {Boolean} f 是否带格式
60
- * @return {String}
61
- */
62
- ViewModel.prototype.get_show = function(arr, key, f) {
63
- var bl = false;
64
- var show = '';
65
- for (var i = 0; i < arr.length; i++) {
66
- var str = arr[i];
67
- if (str.indexOf(key + "_no") !== -1) {
68
- bl = true;
69
- break;
70
- } else if (str.indexOf(key + "_input") !== -1) {
71
- show = 'input';
72
- break;
73
- } else if (str.indexOf(key + "_select") !== -1) {
74
- show = 'select';
75
- break;
76
- } else if (str.indexOf(key + "_text") !== -1) {
77
- show = 'text';
78
- break;
79
- }
80
- }
81
- if (!show && !bl) {
82
- show = this.get_type(key, f);
83
- }
84
- return show;
85
- };
86
-
87
- /**
88
- * 获取表格所需键值对
89
- * @param {Object} model 模型
90
- * @return {Object} 返回视图所用模型
91
- */
92
- ViewModel.prototype.field = async function(model) {
93
- var list = model.param.list;
94
- if (!list) {
95
- model.param.list = [];
96
- return [];
97
- }
98
- var field;
99
- if (model.file.indexOf('_form') !== -1 || model.file.indexOf('_view') !== -1) {
100
- field = model.sql.field_obj || '';
101
- } else {
102
- field = model.sql.field_default || '';
103
- }
104
- var requireds = [];
105
- var add = model.param.add;
106
- if (add) {
107
- requireds = add.body_required;
108
- }
109
- var arr = field.replace(/`/g, '').split(',');
110
- var pm = [];
111
- for (var i = 0; i < list.length; i++) {
112
- var o = list[i];
113
- var name = o.name;
114
- if (arr.indexOf(name) !== -1) {
115
- var obj = Object.assign({}, o);
116
- var format = model.sql.format.getObj({
117
- key: name
118
- });
119
- var f = false;
120
- if (format) {
121
- obj.title = format.title;
122
- obj.format = format;
123
- f = true;
124
- }
125
- if (requireds.indexOf(name) !== -1) {
126
- obj.required = true;
127
- }
128
- var desc = obj.description;
129
- var show = {};
130
-
131
- if (desc.indexOf("##") === -1) {
132
- show.form = f ? "select" : "input";
133
- show.view = "text";
134
- show.search = f ? "select" : "";
135
- show.table = f ? "select" : "text";
136
- show.list = "text";
137
- show.edit = f ? "select" : "input";
138
- show.details = "text";
139
- show.batch = f ? "select" : "";
140
- show.filter = f ? "select" : "";
141
- } else {
142
- desc = desc.between("##", "##");
143
- obj.description = obj.description.replace("##" + desc + "##", "");
144
- var ar = desc.trim().split(" ");
145
- if (desc.indexOf("none") !== -1) {
146
- show.form = '';
147
- show.view = '';
148
- show.search = '';
149
- show.table = '';
150
- show.list = '';
151
- show.edit = '';
152
- show.details = '';
153
- show.batch = '';
154
- show.filter = '';
155
- } else {
156
- // 后端 - 搜索栏
157
- show.search = this.get_show(ar, "search", f);
158
- // 后端 - 表格
159
- show.table = this.get_show(ar, "table", f);
160
- // 后端 - 表单页
161
- show.form = this.get_show(ar, "form", f);
162
- // 后端 - 详情页
163
- show.view = this.get_show(ar, "view", f);
164
- // 后端 - 批量操作
165
- show.batch = this.get_show(ar, "batch", f);
166
-
167
- // 前端 - 列表
168
- show.list = this.get_show(ar, "list", f);
169
- // 前端 - 详情页
170
- show.details = this.get_show(ar, "details", f);
171
- // 前端 - 筛选栏
172
- show.filter = this.get_show(ar, "filter", f);
173
- // 前端 - 编辑页
174
- show.edit = this.get_show(ar, "edit", f);
175
- }
176
- }
177
- obj.show = show;
178
- pm.push(obj);
179
- }
180
- }
181
- return pm;
182
- };
183
-
184
- /**
185
- * 运算视图模型(css)
186
- * @param {Object} model 模型
187
- * @return {Object} 返回视图所用模型
188
- */
189
- ViewModel.prototype.css = async function(model) {
190
- var css = {};
191
- return css;
192
- };
193
-
194
- /**
195
- * 运算视图模型(html)
196
- * @param {Object} model 模型
197
- * @return {Object} 返回视图所用模型
198
- */
199
- ViewModel.prototype.html = async function(model) {
200
- var html = {};
201
- if (!model.sql) {
202
- return html;
203
- }
204
- return html;
205
- };
206
-
207
- /**
208
- * 运算视图模型(js)
209
- * @param {Object} model 模型
210
- * @return {Object} 返回视图所用模型
211
- */
212
- ViewModel.prototype.js = async function(model) {
213
- var js = {
214
- data: [],
215
- query: []
216
- };
217
- var field = model.field;
218
- var path_start = model.file.indexOf('admin') !== -1 ? '/apis/' : '/api/';
219
-
220
- for (var i = 0; i < field.length; i++) {
221
- var o = field[i];
222
- var format = o.format;
223
- if (format) {
224
- var obj;
225
- if (format.table) {
226
- var basename = format.table.split('_').splice(1).join('_');
227
- var name = "list_" + basename;
228
- var id = format.id || format.key;
229
- o.label = name;
230
- var path = path_start + format.table.replace('_', '/') + "?size=0";
231
- obj = {
232
- basename,
233
- title: format.title,
234
- id,
235
- name,
236
- field: format.name,
237
- value: [],
238
- path
239
- };
240
-
241
- // 存在BUG(start)
242
- if (o.name === 'father_id' || o.name === 'fid') {
243
- obj.father_id = o.name;
244
- }
245
- if (o.name === 'title') {
246
- obj.title_name = 'title';
247
- }
248
- // 存在BUG(end)
249
- } else {
250
- var basename = format.key;
251
- var name = "arr_" + basename;
252
- o.label = name;
253
- obj = {
254
- title: format.title,
255
- name,
256
- value: format.list
257
- }
258
- }
259
- js.data.push(obj);
260
- }
261
- }
262
- var param = model.param;
263
- if (param && param.get) {
264
- var arr = param.get.query_required.concat(param.get.query);
265
- var lt = param.list;
266
- for (var i = 0; i < arr.length; i++) {
267
- var o = lt.getObj({
268
- name: arr[i]
269
- });
270
- if (o) {
271
- js.query.push({
272
- title: o.title,
273
- name: o.name,
274
- type: o.type,
275
- select: o.description ? (o.description.indexOf('(') !== -1) : false
276
- });
277
- }
278
- }
279
- }
280
- return js;
281
- };
282
-
283
- /**
284
- * 运算视图模型
285
- * @param {Object} model 模型
286
- * @return {Object} 返回视图所用模型
287
- */
288
- ViewModel.prototype.run = async function(model) {
289
- model.field = await this.field(model);
290
- model.js = await this.js(model);
291
- model.html = await this.html(model);
292
- model.css = await this.css(model);
293
- return model;
294
- };
295
-
296
- module.exports = ViewModel;