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
@@ -0,0 +1,401 @@
1
+ {
2
+ // 名称
3
+ "name": "msg",
4
+ // 标题
5
+ "title": "消息模型",
6
+ // 描述
7
+ "description": "用于端于端之间通讯",
8
+ // 主文件
9
+ "main": "index.js",
10
+ // 状态 0:禁用 1:启用
11
+ "state": 1,
12
+ // 排序,越小越靠前
13
+ "sort": 100,
14
+ // 模型包含字段
15
+ "fields": {
16
+ "msg_id": {
17
+ // 值类型
18
+ "type": "string",
19
+ // 数据类型
20
+ "data_type": "varchar",
21
+ // 标题
22
+ "title": "消息ID",
23
+ // 描述
24
+ "description": "消息的唯一标识符",
25
+ // 最小长度
26
+ "min": 1,
27
+ // 最大长度
28
+ "max": 64,
29
+ // 默认值
30
+ "default": "",
31
+ // 是否主键
32
+ "primary_key": true
33
+ },
34
+ "msg_type": {
35
+ "type": "string",
36
+ "data_type": "varchar",
37
+ "title": "消息类型",
38
+ "description": "消息的类型",
39
+ "min": 1,
40
+ "max": 32,
41
+ "default": "text",
42
+ "enum": [
43
+ {
44
+ "value": "text",
45
+ "label": "文本消息"
46
+ },
47
+ {
48
+ "value": "image",
49
+ "label": "图片消息"
50
+ },
51
+ {
52
+ "value": "voice",
53
+ "label": "语音消息"
54
+ },
55
+ {
56
+ "value": "video",
57
+ "label": "视频消息"
58
+ },
59
+ {
60
+ "value": "event",
61
+ "label": "事件消息"
62
+ },
63
+ {
64
+ "value": "notice",
65
+ "label": "通知消息"
66
+ },
67
+ {
68
+ "value": "card",
69
+ "label": "卡片消息"
70
+ },
71
+ {
72
+ "value": "list",
73
+ "label": "列表消息"
74
+ },
75
+ {
76
+ "value": "chat",
77
+ "label": "聊天消息"
78
+ },
79
+ {
80
+ "value": "mail",
81
+ "label": "邮件消息"
82
+ },
83
+ {
84
+ "value": "trade",
85
+ "label": "交易消息"
86
+ }
87
+ ]
88
+ },
89
+ "event_type": {
90
+ "type": "string",
91
+ "data_type": "varchar",
92
+ "title": "事件类型",
93
+ "description": "当消息类型为event时使用",
94
+ "min": 0,
95
+ "max": 32,
96
+ "default": "",
97
+ "enum": [
98
+ {
99
+ "value": "combat",
100
+ "label": "战斗事件"
101
+ },
102
+ {
103
+ "value": "quest",
104
+ "label": "任务事件"
105
+ },
106
+ {
107
+ "value": "level",
108
+ "label": "等级事件"
109
+ },
110
+ {
111
+ "value": "achievement",
112
+ "label": "成就事件"
113
+ },
114
+ {
115
+ "value": "friend",
116
+ "label": "好友事件"
117
+ },
118
+ {
119
+ "value": "guild",
120
+ "label": "公会事件"
121
+ },
122
+ {
123
+ "value": "team",
124
+ "label": "队伍事件"
125
+ },
126
+ {
127
+ "value": "invite",
128
+ "label": "邀请事件"
129
+ },
130
+ {
131
+ "value": "login",
132
+ "label": "登录事件"
133
+ },
134
+ {
135
+ "value": "logout",
136
+ "label": "登出事件"
137
+ },
138
+ {
139
+ "value": "reward",
140
+ "label": "奖励事件"
141
+ },
142
+ {
143
+ "value": "activity",
144
+ "label": "活动事件"
145
+ }
146
+ ]
147
+ },
148
+ "msg_group": {
149
+ "type": "string",
150
+ "data_type": "varchar",
151
+ "title": "消息范围",
152
+ "description": "消息的发送范围",
153
+ "min": 1,
154
+ "max": 32,
155
+ "default": "system",
156
+ "enum": [
157
+ {
158
+ "value": "private",
159
+ "label": "私聊"
160
+ },
161
+ {
162
+ "value": "channel",
163
+ "label": "频道"
164
+ },
165
+ {
166
+ "value": "world",
167
+ "label": "世界"
168
+ },
169
+ {
170
+ "value": "guild",
171
+ "label": "公会"
172
+ },
173
+ {
174
+ "value": "system",
175
+ "label": "系统"
176
+ }
177
+ ]
178
+ },
179
+ "sender_id": {
180
+ "type": "string",
181
+ "data_type": "varchar",
182
+ "title": "发送者ID",
183
+ "description": "消息发送者的ID",
184
+ "min": 1,
185
+ "max": 64,
186
+ "default": "system"
187
+ },
188
+ "sender_name": {
189
+ "type": "string",
190
+ "data_type": "varchar",
191
+ "title": "发送者名称",
192
+ "description": "消息发送者的名称",
193
+ "min": 0,
194
+ "max": 64,
195
+ "default": "系统"
196
+ },
197
+ "receiver_id": {
198
+ "type": "string",
199
+ "data_type": "varchar",
200
+ "title": "接收者ID",
201
+ "description": "消息接收者的ID",
202
+ "min": 0,
203
+ "max": 64,
204
+ "default": ""
205
+ },
206
+ "receiver_name": {
207
+ "type": "string",
208
+ "data_type": "varchar",
209
+ "title": "接收者名称",
210
+ "description": "消息接收者的名称",
211
+ "min": 0,
212
+ "max": 64,
213
+ "default": ""
214
+ },
215
+ "content": {
216
+ "type": "string",
217
+ "data_type": "text",
218
+ "title": "消息内容",
219
+ "description": "消息的文本内容",
220
+ "min": 0,
221
+ "max": 65535,
222
+ "default": ""
223
+ },
224
+ "data": {
225
+ "type": "string",
226
+ "data_type": "text",
227
+ "title": "消息数据",
228
+ "description": "消息的JSON格式数据",
229
+ "min": 0,
230
+ "max": 65535,
231
+ "default": "{}"
232
+ },
233
+ "event_key": {
234
+ "type": "string",
235
+ "data_type": "varchar",
236
+ "title": "事件键",
237
+ "description": "事件消息的键值",
238
+ "min": 0,
239
+ "max": 64,
240
+ "default": ""
241
+ },
242
+ "priority": {
243
+ "type": "string",
244
+ "data_type": "varchar",
245
+ "title": "优先级",
246
+ "description": "消息的优先级",
247
+ "min": 1,
248
+ "max": 16,
249
+ "default": "normal",
250
+ "enum": [
251
+ {
252
+ "value": "low",
253
+ "label": "低"
254
+ },
255
+ {
256
+ "value": "normal",
257
+ "label": "普通"
258
+ },
259
+ {
260
+ "value": "high",
261
+ "label": "高"
262
+ },
263
+ {
264
+ "value": "urgent",
265
+ "label": "紧急"
266
+ }
267
+ ]
268
+ },
269
+ "need_confirm": {
270
+ "type": "number",
271
+ "data_type": "tinyint",
272
+ "title": "需要确认",
273
+ "description": "是否需要用户确认",
274
+ "min": 0,
275
+ "max": 1,
276
+ "default": 0
277
+ },
278
+ "title": {
279
+ "type": "string",
280
+ "data_type": "varchar",
281
+ "title": "标题",
282
+ "description": "消息标题(通知消息使用)",
283
+ "min": 0,
284
+ "max": 255,
285
+ "default": ""
286
+ },
287
+ "subtitle": {
288
+ "type": "string",
289
+ "data_type": "varchar",
290
+ "title": "副标题",
291
+ "description": "消息副标题",
292
+ "min": 0,
293
+ "max": 255,
294
+ "default": ""
295
+ },
296
+ "icon": {
297
+ "type": "string",
298
+ "data_type": "varchar",
299
+ "title": "图标",
300
+ "description": "消息图标URL",
301
+ "min": 0,
302
+ "max": 255,
303
+ "default": ""
304
+ },
305
+ "actions": {
306
+ "type": "string",
307
+ "data_type": "text",
308
+ "title": "操作按钮",
309
+ "description": "操作按钮的JSON数组",
310
+ "min": 0,
311
+ "max": 65535,
312
+ "default": "[]"
313
+ },
314
+ "format": {
315
+ "type": "string",
316
+ "data_type": "varchar",
317
+ "title": "格式",
318
+ "description": "文本消息的格式",
319
+ "min": 1,
320
+ "max": 16,
321
+ "default": "plain",
322
+ "enum": [
323
+ {
324
+ "value": "plain",
325
+ "label": "纯文本"
326
+ },
327
+ {
328
+ "value": "markdown",
329
+ "label": "Markdown"
330
+ },
331
+ {
332
+ "value": "html",
333
+ "label": "HTML"
334
+ }
335
+ ]
336
+ },
337
+ "emoji_support": {
338
+ "type": "number",
339
+ "data_type": "tinyint",
340
+ "title": "表情支持",
341
+ "description": "是否支持表情",
342
+ "min": 0,
343
+ "max": 1,
344
+ "default": 1
345
+ },
346
+ "expire_time": {
347
+ "type": "string",
348
+ "data_type": "datetime",
349
+ "title": "过期时间",
350
+ "description": "消息过期时间",
351
+ "min": 0,
352
+ "max": 20,
353
+ "default": "1970-01-01 00:00:00"
354
+ },
355
+ "timestamp": {
356
+ "type": "string",
357
+ "data_type": "datetime",
358
+ "title": "时间戳",
359
+ "description": "消息发送时间",
360
+ "min": 0,
361
+ "max": 20,
362
+ "default": "now()"
363
+ },
364
+ "ext_data": {
365
+ "type": "string",
366
+ "data_type": "text",
367
+ "title": "扩展数据",
368
+ "description": "扩展数据的JSON格式",
369
+ "min": 0,
370
+ "max": 65535,
371
+ "default": "{}"
372
+ },
373
+ "state": {
374
+ "type": "number",
375
+ "data_type": "int",
376
+ "title": "状态",
377
+ "description": "消息状态",
378
+ "min": 0,
379
+ "max": 100,
380
+ "default": 1,
381
+ "enum": [
382
+ {
383
+ "value": 1,
384
+ "label": "正常"
385
+ },
386
+ {
387
+ "value": 2,
388
+ "label": "已读"
389
+ },
390
+ {
391
+ "value": 3,
392
+ "label": "已删除"
393
+ },
394
+ {
395
+ "value": 4,
396
+ "label": "已过期"
397
+ }
398
+ ]
399
+ }
400
+ }
401
+ }
@@ -0,0 +1,63 @@
1
+
2
+ module.exports = {
3
+ methods: {
4
+ /**
5
+ * 检查玩家是否在线
6
+ * @returns {boolean} 是否在线
7
+ */
8
+ isOnline() {
9
+ return this.state === 1 && this.login === 1;
10
+ },
11
+
12
+ /**
13
+ * 增加金币
14
+ * @param {number} amount 金币数量
15
+ * @returns {boolean} 是否成功
16
+ */
17
+ gainGold(amount) {
18
+ if (typeof amount !== 'number' || amount < 0) {
19
+ throw new TypeError('金币数量必须是非负数');
20
+ }
21
+ var new_gold = this.gold + amount;
22
+ if (new_gold > 999999999) {
23
+ this.gold = 999999999;
24
+ } else {
25
+ this.gold = new_gold;
26
+ }
27
+ return true;
28
+ },
29
+
30
+ /**
31
+ * 转换为JSON字符串
32
+ * @returns {string} JSON字符串
33
+ */
34
+ toJson() {
35
+ return JSON.stringify(this.getInfo());
36
+ },
37
+
38
+ /**
39
+ * 从数据对象初始化玩家
40
+ * @param {object} data 玩家数据
41
+ * @returns {object} 玩家实例
42
+ */
43
+ from(data) {
44
+ if (typeof data !== 'object' || data === null) {
45
+ throw new TypeError('玩家数据必须是对象');
46
+ }
47
+ for (var key in data) {
48
+ if (this.hasOwnProperty(key)) {
49
+ this[key] = data[key];
50
+ }
51
+ }
52
+ return this;
53
+ }
54
+ },
55
+
56
+ /**
57
+ * 添加玩家模型方法
58
+ * @param {object} model 玩家模型实例
59
+ */
60
+ addMethods(model) {
61
+ Object.assign(model, this.methods);
62
+ }
63
+ };
@@ -0,0 +1,185 @@
1
+ {
2
+ // 名称
3
+ "name": "player",
4
+ // 标题
5
+ "title": "游戏玩家模型",
6
+ // 描述
7
+ "description": "定义游戏玩家模型的组件,包含账户信息和游戏状态",
8
+ // 主文件
9
+ "main": "index.js",
10
+ // 状态 0:禁用 1:启用
11
+ "state": 1,
12
+ // 排序,越小越靠前
13
+ "sort": 100,
14
+ // 模型包含字段
15
+ "fields": {
16
+ "player_id": {
17
+ // 值类型
18
+ "type": "string",
19
+ // 数据类型
20
+ "data_type": "varchar",
21
+ // 标题
22
+ "title": "玩家ID",
23
+ // 描述
24
+ "description": "玩家的唯一标识符",
25
+ // 最小长度
26
+ "min": 1,
27
+ // 最大长度
28
+ "max": 32,
29
+ // 默认值
30
+ "default": "",
31
+ // 是否主键
32
+ "primary_key": true,
33
+ // 是否自动增长
34
+ "auto": false
35
+ },
36
+ "user_id": {
37
+ "type": "string",
38
+ "data_type": "varchar",
39
+ "title": "用户ID",
40
+ "description": "玩家关联的用户ID",
41
+ "min": 1,
42
+ "max": 32,
43
+ "default": ""
44
+ },
45
+ "client_id": {
46
+ "type": "string",
47
+ "data_type": "varchar",
48
+ "title": "客户端ID",
49
+ "description": "玩家关联的客户端ID",
50
+ "min": 1,
51
+ "max": 32,
52
+ "default": ""
53
+ },
54
+ "avatar": {
55
+ "type": "string",
56
+ "data_type": "varchar",
57
+ "title": "头像",
58
+ "description": "玩家的头像",
59
+ "min": 1,
60
+ "max": 255,
61
+ "default": "/avatar.jpg"
62
+ },
63
+ "name": {
64
+ "type": "string",
65
+ "data_type": "varchar",
66
+ "title": "名称",
67
+ "description": "玩家的显示名称",
68
+ "min": 0,
69
+ "max": 24,
70
+ "default": ""
71
+ },
72
+ "state": {
73
+ "type": "number",
74
+ "data_type": "int",
75
+ "title": "状态",
76
+ "description": "账户的状态",
77
+ "min": 0,
78
+ "max": 4,
79
+ "default": 1,
80
+ "enum": [
81
+ {
82
+ "value": 0,
83
+ "label": "离线"
84
+ },
85
+ {
86
+ "value": 1,
87
+ "label": "在线"
88
+ },
89
+ {
90
+ "value": 2,
91
+ "label": "异常"
92
+ },
93
+ {
94
+ "value": 3,
95
+ "label": "已冻结"
96
+ },
97
+ {
98
+ "value": 4,
99
+ "label": "已注销"
100
+ }
101
+ ]
102
+ },
103
+ "level": {
104
+ "type": "number",
105
+ "data_type": "int",
106
+ "title": "玩家等级",
107
+ "description": "玩家的游戏等级",
108
+ "min": 0,
109
+ "max": 1000,
110
+ "default": 0
111
+ },
112
+ "channel_id": {
113
+ "type": "number",
114
+ "data_type": "int",
115
+ "title": "频道ID",
116
+ "description": "玩家当前所在的频道ID",
117
+ "min": 0,
118
+ "max": 100,
119
+ "default": 0
120
+ },
121
+ "room_id": {
122
+ "type": "string",
123
+ "data_type": "varchar",
124
+ "title": "房间ID",
125
+ "description": "玩家当前所在的房间ID",
126
+ "min": 0,
127
+ "max": 10000,
128
+ "default": 0
129
+ },
130
+ "world_id": {
131
+ "type": "string",
132
+ "data_type": "varchar",
133
+ "title": "世界ID",
134
+ "description": "玩家当前所在的世界ID",
135
+ "min": 0,
136
+ "max": 10000,
137
+ "default": 0
138
+ },
139
+ "returning": {
140
+ "type": "number",
141
+ "data_type": "tinyint",
142
+ "title": "回归状态",
143
+ "description": "玩家是否为回归玩家(0:否,1:是)",
144
+ "min": 0,
145
+ "max": 1,
146
+ "default": 0
147
+ },
148
+ "gold": {
149
+ "type": "number",
150
+ "data_type": "int",
151
+ "title": "金币",
152
+ "description": "玩家的金币数量",
153
+ "min": 0,
154
+ "max": 999999999,
155
+ "default": 0
156
+ },
157
+ "zone": {
158
+ "type": "string",
159
+ "data_type": "varchar",
160
+ "title": "所在分区",
161
+ "description": "玩家当前所在的分区名称",
162
+ "min": 0,
163
+ "max": 50,
164
+ "default": ""
165
+ },
166
+ "login": {
167
+ "type": "number",
168
+ "data_type": "tinyint",
169
+ "title": "登录状态",
170
+ "description": "玩家是否已登录(0:否,1:是)",
171
+ "min": 0,
172
+ "max": 1,
173
+ "default": 0
174
+ },
175
+ "is_ready": {
176
+ "type": "number",
177
+ "data_type": "tinyint",
178
+ "title": "准备状态",
179
+ "description": "玩家是否已准备(0:否,1:是)",
180
+ "min": 0,
181
+ "max": 1,
182
+ "default": 0
183
+ }
184
+ }
185
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 富血模型
3
+ */
4
+ module.exports = {
5
+ /**
6
+ * 添加玩家模型方法
7
+ * @param {object} model 玩家模型实例
8
+ */
9
+ addMethods(model) {
10
+ }
11
+ };