mm_os 2.9.1 → 2.9.3

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 (241) hide show
  1. package/cache/route/main/config.json +1 -0
  2. package/cache/sys/app_admin/config.json +1 -0
  3. package/cache/sys/mqtt_engine/config.json +1 -0
  4. package/cache/sys/user/config.json +1 -0
  5. package/core/com/api/drive.js +9 -89
  6. package/core/com/api/index.js +3 -31
  7. package/core/com/cmd/drive.js +10 -1
  8. package/core/com/cmd/index.js +15 -1
  9. package/core/com/component/drive.js +1 -1
  10. package/core/com/component/index.js +16 -12
  11. package/core/com/db/drive.js +1 -1
  12. package/core/com/db/index.js +15 -17
  13. package/core/com/event/drive.js +3 -1
  14. package/core/com/event/index.js +74 -61
  15. package/core/com/eventer/com.js +2 -2
  16. package/core/com/middleware/com.js +41 -16
  17. package/core/com/mqtt/drive.js +4 -3
  18. package/core/com/mqtt/index.js +10 -8
  19. package/core/com/nav/drive.js +1 -19
  20. package/core/com/nav/index.js +1 -1
  21. package/core/com/param/drive.js +1 -1
  22. package/core/com/param/index.js +1 -27
  23. package/core/com/plugin/drive.js +18 -19
  24. package/core/com/plugin/index.js +16 -21
  25. package/core/com/plugin/script.js +109 -58
  26. package/core/com/rpc/com.json +4 -0
  27. package/core/com/rpc/drive.js +160 -0
  28. package/core/com/rpc/index.js +87 -0
  29. package/core/com/socket/drive.js +0 -1
  30. package/core/com/socket/index.js +5 -15
  31. package/core/com/sql/drive.js +1 -1
  32. package/core/com/sql/index.js +4 -31
  33. package/core/com/static/drive.js +13 -54
  34. package/core/com/static/index.js +14 -6
  35. package/core/com/task/drive.js +7 -2
  36. package/core/com/task/index.js +16 -36
  37. package/core/com/tpl/com.js +2 -2
  38. package/demo/app/dev/event_api/manage/event.json +19 -0
  39. package/demo/app/dev/event_api/manage/main.js +26 -0
  40. package/demo/app/dev/plugin/doc/static/api_list.html +144 -0
  41. package/demo/app/dev/plugin/doc/static/api_view.html +692 -0
  42. package/demo/app/dev/plugin/doc/static/index.html +138 -0
  43. package/demo/app/dev/plugin/doc/static/request_test.html +311 -0
  44. package/demo/app/dev/plugin/doc/static/static.js +28 -0
  45. package/demo/app/dev/plugin/doc/static/static.json +20 -0
  46. package/demo/app/dev/plugin/main/api_dev_client/app/api.json +13 -0
  47. package/demo/app/dev/plugin/main/api_dev_client/app/index.js +13 -0
  48. package/demo/app/dev/plugin/main/api_dev_client/app/param.json +147 -0
  49. package/demo/app/dev/plugin/main/api_dev_client/app/sql.json +28 -0
  50. package/demo/app/dev/plugin/main/api_dev_client/auto/api.json +37 -0
  51. package/demo/app/dev/plugin/main/api_dev_client/auto/auto_db.js +70 -0
  52. package/demo/app/dev/plugin/main/api_dev_client/auto/auto_file.js +32 -0
  53. package/demo/app/dev/plugin/main/api_dev_client/auto/index.js +51 -0
  54. package/demo/app/dev/plugin/main/api_dev_client/auto/param.json +51 -0
  55. package/demo/app/dev/plugin/main/api_dev_client/db/api.json +10 -0
  56. package/demo/app/dev/plugin/main/api_dev_client/db/index.js +69 -0
  57. package/demo/app/dev/plugin/main/api_dev_client/db/param.json +31 -0
  58. package/demo/app/dev/plugin/main/api_dev_client/dict/api.json +10 -0
  59. package/demo/app/dev/plugin/main/api_dev_client/dict/index.js +49 -0
  60. package/demo/app/dev/plugin/main/api_dev_client/dict/param.json +29 -0
  61. package/demo/app/dev/plugin/main/api_dev_client/help/api.json +10 -0
  62. package/demo/app/dev/plugin/main/api_dev_client/help/index.js +14 -0
  63. package/demo/app/dev/plugin/main/api_dev_client/help/param.json +31 -0
  64. package/demo/app/dev/plugin/main/api_dev_client/nav/api.json +10 -0
  65. package/demo/app/dev/plugin/main/api_dev_client/nav/index.js +36 -0
  66. package/demo/app/dev/plugin/main/api_dev_client/nav/param.json +36 -0
  67. package/demo/app/dev/plugin/main/api_dev_client/plugin/api.json +10 -0
  68. package/demo/app/dev/plugin/main/api_dev_client/plugin/index.js +13 -0
  69. package/demo/app/dev/plugin/main/api_dev_client/plugin/param.json +31 -0
  70. package/demo/app/dev/plugin/main/api_dev_client/source/api.json +10 -0
  71. package/demo/app/dev/plugin/main/api_dev_client/source/index.js +14 -0
  72. package/demo/app/dev/plugin/main/api_dev_client/source/param.json +31 -0
  73. package/demo/app/dev/plugin/main/api_dev_client/sql/api.json +10 -0
  74. package/demo/app/dev/plugin/main/api_dev_client/sql/index.js +13 -0
  75. package/demo/app/dev/plugin/main/api_dev_client/sql/param.json +31 -0
  76. package/demo/app/dev/plugin/main/api_dev_client/task/api.json +16 -0
  77. package/demo/app/dev/plugin/main/api_dev_client/task/index.js +13 -0
  78. package/demo/app/dev/plugin/main/api_dev_client/task/param.json +31 -0
  79. package/demo/app/dev/plugin/main/api_dev_client/translate/api.json +39 -0
  80. package/demo/app/dev/plugin/main/api_dev_client/translate/index.js +43 -0
  81. package/demo/app/dev/plugin/main/api_dev_client/translate/param.json +130 -0
  82. package/demo/app/dev/plugin/main/api_dev_client/translate/sql.json +62 -0
  83. package/demo/app/dev/plugin/main/api_dev_client/ui/api.json +10 -0
  84. package/demo/app/dev/plugin/main/api_dev_client/ui/index.js +146 -0
  85. package/demo/app/dev/plugin/main/api_dev_client/ui/param.json +31 -0
  86. package/demo/app/dev/plugin/main/api_dev_client/view/api.json +10 -0
  87. package/demo/app/dev/plugin/main/api_dev_client/view/index.js +100 -0
  88. package/demo/app/dev/plugin/main/api_dev_client/view/param.json +29 -0
  89. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/nav.vue +12 -0
  90. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/obj.vue +12 -0
  91. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/post.vue +12 -0
  92. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/query.vue +12 -0
  93. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/edit.vue +39 -0
  94. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/list.vue +12 -0
  95. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/search.vue +12 -0
  96. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/table.vue +12 -0
  97. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/type.vue +12 -0
  98. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/view.vue +56 -0
  99. package/demo/app/dev/plugin/main/api_dev_client/view/tpl/view.json +48 -0
  100. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/api.json +37 -0
  101. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/auto_db.js +120 -0
  102. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy/copy.js +101 -0
  103. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy/copy_framework.js +118 -0
  104. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy/copy_template.js +78 -0
  105. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy_file.js +97 -0
  106. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/common.js +198 -0
  107. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/django_server.js +104 -0
  108. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/helper.js +161 -0
  109. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/koa_art_server.js +102 -0
  110. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/mini_app_home.js +415 -0
  111. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/razor.js +0 -0
  112. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/springboot.js +0 -0
  113. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/thinkphp.js +0 -0
  114. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/uni_app_home.js +418 -0
  115. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/vue_cli_admin.js +78 -0
  116. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/vue_cli_home.js +112 -0
  117. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create_file.js +97 -0
  118. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/db/add_data.js +221 -0
  119. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/db/create_table.js +162 -0
  120. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/db/set_auth_table.js +86 -0
  121. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/index.js +524 -0
  122. package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/param.json +37 -0
  123. package/demo/app/route/app.js +131 -0
  124. package/demo/app/route/app.json +11 -0
  125. package/demo/app/route/event_api/client/event.json +10 -0
  126. package/demo/app/route/event_api/client/main.js +19 -0
  127. package/demo/app/route/event_api/manage/event.json +18 -0
  128. package/demo/app/route/event_api/manage/main.js +70 -0
  129. package/demo/app/route/plugin/main/api_route_client/pass/api.json +37 -0
  130. package/demo/app/route/plugin/main/api_route_client/pass/index.js +33 -0
  131. package/demo/app/route/plugin/main/api_route_client/pass/param.json +50 -0
  132. package/demo/app/route/plugin/main/index.js +144 -0
  133. package/demo/app/route/plugin/main/plugin.json +20 -0
  134. package/demo/app/sys/event_api/api/event.json +1 -1
  135. package/demo/app/sys/event_api/doc/event.json +18 -0
  136. package/demo/app/sys/event_api/doc/main.js +67 -0
  137. package/demo/app/sys/event_api/img/event.json +11 -0
  138. package/demo/app/sys/event_api/img/main.js +90 -0
  139. package/demo/app/sys/event_api/web/event.json +4 -4
  140. package/demo/app/sys/plugin/app_admin/index.js +127 -0
  141. package/demo/app/sys/plugin/app_admin/plugin.json +20 -0
  142. package/demo/app/sys/plugin/main/api_client/config/sql.json +70 -0
  143. package/demo/app/sys/plugin/main/api_client/lang/api.json +37 -0
  144. package/demo/app/sys/plugin/main/api_client/lang/index.js +27 -0
  145. package/demo/app/sys/plugin/main/api_client/lang/param.json +22 -0
  146. package/demo/app/sys/plugin/main/api_client/translate/api.json +39 -0
  147. package/demo/app/sys/plugin/main/api_client/translate/index.js +21 -0
  148. package/demo/app/sys/plugin/main/api_client/translate/param.json +130 -0
  149. package/demo/app/sys/plugin/main/api_client/translate/sql.json +62 -0
  150. package/demo/app/sys/plugin/main/static/static.json +1 -1
  151. package/demo/app/sys/plugin/main/task/task_demo/index.js +37 -0
  152. package/demo/app/sys/plugin/main/task/task_demo/task.json +24 -0
  153. package/demo/app/sys/plugin/mqtt_engine/LICENSE +201 -0
  154. package/demo/app/sys/plugin/mqtt_engine/api_sys_client/scheme/api.json +33 -0
  155. package/demo/app/sys/plugin/mqtt_engine/api_sys_client/scheme/index.js +31 -0
  156. package/demo/app/sys/plugin/mqtt_engine/api_sys_client/scheme/param.json +130 -0
  157. package/demo/app/sys/plugin/mqtt_engine/index.js +51 -0
  158. package/demo/app/sys/plugin/mqtt_engine/mqtt/df/index.js +509 -0
  159. package/demo/app/sys/plugin/mqtt_engine/mqtt/df/mqtt.json +24 -0
  160. package/demo/app/sys/plugin/mqtt_engine/mqtt/zs/index.js +622 -0
  161. package/demo/app/sys/plugin/mqtt_engine/mqtt/zs/mqtt.json +36 -0
  162. package/demo/app/sys/plugin/mqtt_engine/plugin.json +21 -0
  163. package/demo/app/sys/plugin/mqtt_engine/static/img/logo.png +0 -0
  164. package/demo/app/sys/plugin/mqtt_engine/static/img/logo1.png +0 -0
  165. package/demo/app/sys/plugin/mqtt_engine/static/static.json +18 -0
  166. package/demo/app/sys/plugin/user/index.js +127 -0
  167. package/demo/app/sys/plugin/user/plugin.json +20 -0
  168. package/demo/app/sys/plugin/user/static/img/logo.png +0 -0
  169. package/demo/app/sys/plugin/user/static/static.js +28 -0
  170. package/demo/app/sys/plugin/user/static/static.json +20 -0
  171. package/demo/app/sys/static/img/avatar_1674484608066.png +0 -0
  172. package/demo/app/sys/static/img/avatar_1674633778171.jpeg +0 -0
  173. package/demo/app/sys/static/img/avatar_1674962702334.jpeg +0 -0
  174. package/demo/app/sys/static/img/avatar_1675075431736.jpeg +0 -0
  175. package/demo/app/sys/static/img/avatar_1675497065533.jpeg +0 -0
  176. package/demo/app/sys/static/img/avatar_1685352550990.jpeg +0 -0
  177. package/demo/app/sys/static/img/avatar_1685353685992.jpeg +0 -0
  178. package/demo/app/sys/static/img/avatar_1685353956587.jpeg +0 -0
  179. package/demo/app/sys/static/img/avatar_1685353971148.jpeg +0 -0
  180. package/demo/app/sys/static/img/avatar_1685353983723.jpeg +0 -0
  181. package/demo/app/sys/static/img/avatar_1685354014745.jpeg +0 -0
  182. package/demo/app/sys/static/img/avatar_1685354122355.jpeg +0 -0
  183. package/demo/app/sys/static/img/avatar_1685357983520.jpeg +0 -0
  184. package/demo/app/sys/static/img/avatar_1685358453383.jpeg +0 -0
  185. package/demo/app/sys/static/img/avatar_1685416570438.jpeg +0 -0
  186. package/demo/app/sys/static/img/avatar_1685512675830.png +0 -0
  187. package/demo/app/sys/static/img/avatar_1685939425608.jpeg +0 -0
  188. package/demo/app/sys/static/img/avatar_1685939886560.jpeg +0 -0
  189. package/demo/app/sys/static/img/avatar_1686106313194.png +0 -0
  190. package/demo/app/sys/static/img/avatar_1686371876175.png +0 -0
  191. package/demo/app/sys/static/img/avatar_1686372033596.png +0 -0
  192. package/demo/app/sys/static/img/avatar_1688215220669.png +0 -0
  193. package/demo/app/sys/static/img/avatar_1688531184690.png +0 -0
  194. package/demo/app/sys/static/img/avatar_1688531233080.png +0 -0
  195. package/demo/app/sys/static/img/avatar_1688548526909.png +0 -0
  196. package/demo/app/sys/static/img/avatar_1688549213411.png +0 -0
  197. package/demo/app/sys/static/img/avatar_1688549511977.png +0 -0
  198. package/demo/app/sys/static/img/avatar_1688549685464.png +0 -0
  199. package/demo/app/sys/static/img/avatar_1688608623049.png +0 -0
  200. package/demo/app/sys/static/img/avatar_1688638500476.png +0 -0
  201. package/demo/app/sys/static/img/avatar_1688638515195.png +0 -0
  202. package/demo/app/sys/static/img/avatar_1688638539928.png +0 -0
  203. package/demo/app/sys/static/img/avatar_1688638557960.png +0 -0
  204. package/demo/app/sys/static/img/avatar_1688638761798.png +0 -0
  205. package/demo/app/sys/static/img/avatar_1688638943140.png +0 -0
  206. package/demo/app/sys/static/img/avatar_1688639068330.png +0 -0
  207. package/demo/app/sys/static/img/image_1685357101273.jpeg +0 -0
  208. package/demo/app/sys/static/img/logo.png +0 -0
  209. package/demo/app/sys/static/static.js +28 -0
  210. package/demo/app/sys/static/static.json +20 -0
  211. package/demo/app/user/plugin/main/api_user_client/core/api.json +20 -0
  212. package/demo/app/user/plugin/main/api_user_client/core/forgot.js +14 -0
  213. package/demo/app/user/plugin/main/api_user_client/core/password.js +14 -0
  214. package/demo/app/user/plugin/main/api_user_client/core/sign_out.js +26 -0
  215. package/demo/app/user/plugin/main/api_user_client/core/state.js +21 -0
  216. package/demo/app/user/plugin/main/api_user_client/forgot/index - /345/211/257/346/234/254.jsbat" +41 -0
  217. package/demo/app/user/plugin/main/api_user_client/phone_code/index.js_ +230 -0
  218. package/demo/app/user/plugin/main/api_user_manage/account_base/api.json +37 -0
  219. package/demo/app/user/plugin/main/api_user_manage/account_base/index.js +40 -0
  220. package/demo/app/user/plugin/main/api_user_manage/account_base/param.json +130 -0
  221. package/demo/app/user/plugin/main/api_user_manage/invitation_code/api.json +37 -0
  222. package/demo/app/user/plugin/main/api_user_manage/invitation_code/index.js +106 -0
  223. package/demo/app/user/plugin/main/api_user_manage/invitation_code/param.json +130 -0
  224. package/demo/app/user/plugin/main/api_user_manage/update_team/api.json +35 -0
  225. package/demo/app/user/plugin/main/api_user_manage/update_team/index.js +218 -0
  226. package/demo/app/user/plugin/main/api_user_manage/update_team/param.json +130 -0
  227. package/demo/app/user/static/img/logo.png +0 -0
  228. package/demo/app/user/static/static.js +28 -0
  229. package/demo/app/user/static/static.json +20 -0
  230. package/demo/app/ws/app.js +122 -0
  231. package/demo/app/ws/app.json +11 -0
  232. package/demo/app/ws/event_api/client/event.json +10 -0
  233. package/demo/app/ws/event_api/client/main.js +17 -0
  234. package/demo/app/ws/socket/ws/index.js +43 -0
  235. package/demo/app/ws/socket/ws/socket.json +14 -0
  236. package/demo/config/face.sql +3824 -0
  237. package/demo/config/local.json +2 -2
  238. package/demo/config/test.json +2 -2
  239. package/index.js +2 -2
  240. package/package.json +2 -2
  241. /package/core/com/{api → rpc}/rpc.js +0 -0
@@ -0,0 +1,100 @@
1
+ var tpl = new $.Tpl();
2
+ const dir = __dirname + "/page/";
3
+
4
+ async function get_config(api_head, name, path) {
5
+ var dist = $.pool.api;
6
+ var config = {};
7
+ const ne = name.replace('_form', '').replace('_view', '');
8
+ var ph = api_head + path;
9
+ for (var k in dist) {
10
+ var lt = dist[k].list;
11
+ var len = lt.length;
12
+ for (var i = 0, o; o = lt[i++];) {
13
+ var cg = o.config;
14
+ if (cg.name === ne || cg.path === ph) {
15
+ config = cg;
16
+ break;
17
+ }
18
+ }
19
+ }
20
+ $.log.debug(ph, ne);
21
+ $.log.debug(config);
22
+ return config;
23
+ }
24
+
25
+ async function create_page(o, db) {
26
+ var page;
27
+ var name = o.name;
28
+ var path = o.path;
29
+
30
+ if (name.indexOf('_form') !== -1) {
31
+ // 为后端编辑修改模板
32
+ var m = {};
33
+ var config = get_config('/apis', name, path);
34
+ page = tpl.view(dir + 'edit.vue', m);
35
+ } else if (name.indexOf('_view') !== -1) {
36
+ // 为前端详情模板
37
+ var m = {};
38
+ var config = get_config('/api', name, path);
39
+ page = tpl.view(dir + 'view.vue', m);
40
+ } else if (o.component.indexOf('/admin') !== -1) {
41
+ // 为后端表格模板
42
+ var m = {};
43
+ var config = get_config('/apis', name, path);
44
+ page = tpl.view(dir + 'table.vue', m);
45
+ } else if (name.indexOf('channel') !== -1 || name.indexOf('_type') !== -1) {
46
+ // 为前端分类模板
47
+ var m = {};
48
+ var config = get_config('/api', name, path);
49
+ page = tpl.view(dir + 'type.vue', m);
50
+ } else {
51
+ // 为前端列表模板
52
+ var m = {};
53
+ var config = get_config('/api', name, path);
54
+ page = tpl.view(dir + 'list.vue', m);
55
+ }
56
+ if (page) {
57
+
58
+ }
59
+ }
60
+
61
+ /**
62
+ * @description 接口主函数
63
+ * @param {Object} ctx HTTP上下文
64
+ * @param {Object} db 数据管理器,如: { next: async function{}, ret: {} }
65
+ * @return {Object} 执行结果
66
+ */
67
+ async function main(ctx, db) {
68
+ var req = ctx.request;
69
+ var q = req.query;
70
+ var scope = q["scope"] || 'admin';
71
+ var obj = await $.nav_admin(scope).run();
72
+ var lt;
73
+ if(!obj)
74
+ {
75
+ return;
76
+ }
77
+ else {
78
+ lt = obj.routes;
79
+ }
80
+ var method = q["method"];
81
+ if (!method) {
82
+ method = "create";
83
+ }
84
+ var name = q["name"];
85
+ if (name) {
86
+ var page_type = q["page_type"];
87
+ if (!page_type) {
88
+ page_type = "list";
89
+ }
90
+ } else {
91
+ // 如果名车没有填写, 则根据所有创建
92
+ for (var i = 0, o; o = lt[i++];) {
93
+ create_page(o);
94
+ break;
95
+ }
96
+ }
97
+ $.log.debug();
98
+ };
99
+
100
+ exports.main = main;
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "dev_view",
3
+ "get": {
4
+ "query": [
5
+ "method",
6
+ "name"
7
+ ],
8
+ "query_required": ["scope"]
9
+ },
10
+ "list": [{
11
+ "name": "method",
12
+ "title": "执行方式",
13
+ "description": "add增、del删、get改、set查、update更新、load载入、save保存",
14
+ "type": "string"
15
+ },
16
+ {
17
+ "name": "scope",
18
+ "title": "作用域",
19
+ "description": "一般为sys系统,自定义机制输入自定义作用域名",
20
+ "type": "string"
21
+ },
22
+ {
23
+ "name": "name",
24
+ "title": "名称",
25
+ "description": "选择要操作的配置文件名称",
26
+ "type": "string"
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <div class="${name}">
3
+
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <div class="${name}">
3
+
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <div class="${name}">
3
+
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <div class="${name}">
3
+
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <mm_page id="${name}">
3
+ ${template}
4
+ </mm_page>
5
+ </template>
6
+
7
+ <script>
8
+ import mixin from 'mm_page';
9
+
10
+ export default {
11
+ mixins: [mixin],
12
+ data() {
13
+ return {
14
+ url_get_obj: "${url_get_obj}",
15
+ url_submit: "${url_submit}",
16
+ query: {
17
+ ${id}: 0
18
+ },
19
+ form: ${form},
20
+ vm: ${vm}
21
+ }
22
+ },
23
+ methods: {
24
+ get_obj_after(json, status) {
25
+ if (json.default) {
26
+ $.push(this.form, json.default.obj);
27
+ return {};
28
+ }
29
+ },
30
+ submit_check(param) {
31
+ $.check();
32
+ }
33
+ }
34
+ }
35
+ </script>
36
+
37
+ <style>
38
+ ${style}
39
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <mm_page id="${name}">
3
+
4
+ </mm_page>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <mm_page id="${name}">
3
+
4
+ </mm_page>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <mm_page id="${name}">
3
+
4
+ </mm_page>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <mm_page id="${name}">
3
+
4
+ </mm_page>
5
+ </template>
6
+
7
+ <script>
8
+ </script>
9
+
10
+ <style>
11
+ ${style}
12
+ </style>
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <mm_page id="${name}">
3
+ ${template}
4
+ </mm_page>
5
+ </template>
6
+
7
+ <script>
8
+ import mixin from 'mm_page';
9
+
10
+ export default {
11
+ mixins: [mixin],
12
+ data() {
13
+ return {
14
+ url_get_obj: "${url_get_obj}",
15
+ query: {
16
+ ${id}: 0
17
+ },
18
+ obj: ${obj},
19
+ vm: ${vm}
20
+ }
21
+ },
22
+ methods: {
23
+ next() {
24
+ var query = this.query;
25
+ var id = query.id;
26
+ if (id > 2) {
27
+ query.id -= 1;
28
+ this.$router.push(this.toUrl(query, this.url_get_obj));
29
+ window.scrollTo(0, 0);
30
+ }
31
+ },
32
+ last() {
33
+ var query = this.query;
34
+ var id = query.id;
35
+ query.id += 1;
36
+ $.push(this.toUrl(query, this.url_get_obj));
37
+ window.scrollTo(0, 0);
38
+ },
39
+ get_obj_after(json, status) {
40
+ if (json.default) {
41
+ var list = json.default.list;
42
+ if (list.length === 0) {
43
+ this.$router.push('/404');
44
+ return {};
45
+ } else {
46
+ return list[0];
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ </script>
53
+
54
+ <style>
55
+ /* ${style} */
56
+ </style>
@@ -0,0 +1,48 @@
1
+ [{
2
+ "title": "频道类前台",
3
+ "name_rule": "*_channel",
4
+ "web": ["client"],
5
+ "device": ["pc", "moblie"],
6
+ "tpl": [{
7
+ "title": "频道页",
8
+ "page": "channel"
9
+ }]
10
+ },
11
+ {
12
+ "title": "频道类",
13
+ "name_rule": "*_channel",
14
+ "web": ["manage"],
15
+ "device": ["pc", "moblie"],
16
+ "tpl": [{
17
+ "title": "{title}",
18
+ "name": "{name}",
19
+ "page": "table"
20
+ },
21
+ {
22
+ "title": "{title}编辑",
23
+ "name": "{name}_form",
24
+ "page": "edit"
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ "title": "频道类",
30
+ "name_rule": "*_channel",
31
+ "web": ["manage"],
32
+ "device": ["pc", "moblie"],
33
+ "tpl": [{
34
+ "title": "列表页",
35
+ "page": "list"
36
+ }]
37
+ },
38
+ {
39
+ "title": "其它类",
40
+ "web": ["client"],
41
+ "device": ["pc", "moblie"],
42
+ "name_rule": "*",
43
+ "tpl": [{
44
+ "title": "",
45
+ "page": "view"
46
+ }]
47
+ }
48
+ ]
@@ -0,0 +1,37 @@
1
+ {
2
+ // 路由路径
3
+ "path": "/apis/dev/auto_subject",
4
+ // 名称, 用于动态增删改API配置
5
+ "name": "dev_auto_subject_manage",
6
+ // 标题, 用于开发文档显示
7
+ "title": "自动创建项目",
8
+ // 描述, 用于介绍该路由的作用
9
+ "description": "用于长盛系统自动创建项目代码和数据库",
10
+ // 函数文件, 用于驱动脚本, 实现业务
11
+ "func_file": "./index.js",
12
+ // 请求方法, 选填 GET, POST, ALL。 ALL指同时支持GET/POST
13
+ "method": "ALL",
14
+ // 开放域, 如果域未开放, 则只有特定的协议头才能访问该API, 同时API文档不接见
15
+ "scope": true,
16
+ // 缓存时长, 单位: 分钟。使用缓存后, 二次访问API直接从缓存读取, 不重复执行业务脚本
17
+ "cache": 0,
18
+ // 是否客户端缓存, 使用客户端则不再访问服务器, 直接从浏览器中拿; 使用服务端缓存则会访问服务器
19
+ "client_cache": false,
20
+ // 参数配置路径, 用于校验API请求参数是否正确, 同时显示在API文档中
21
+ "param_path": "./param.json",
22
+ /* 授权协议 */
23
+ "oauth": {
24
+ // 是否需要登录, true表示需要登录才能访问该接口
25
+ "signIn": false,
26
+ // 会员权限级别, 如果小于该值, 则无法访问, 0为不限制
27
+ "vip": 0,
28
+ // 管理员权限级别, 如果小于该值, 则无法访问, 0为不限制
29
+ "gm": 0,
30
+ // 商户/第三方权限级别, 如果小于该值, 则无法访问, 0为不限制
31
+ "mc": 0,
32
+ // 用户组, 允许访问该接口的普通用户群体, 传ID数组,例如: [1,5]
33
+ "user_group": [],
34
+ // 管理组, 允许访问该接口的管理员群体, 传ID数组,例如: [1,5]
35
+ "user_admin": []
36
+ }
37
+ }
@@ -0,0 +1,120 @@
1
+ // 创建表
2
+ const create_table = require("./db/create_table.js");
3
+
4
+ // 修改权限表
5
+ const set_auth_table = require("./db/set_auth_table.js");
6
+
7
+ // 添加数据
8
+ const add_data = require("./db/add_data.js");
9
+
10
+ // 获取mysql配置
11
+ var cg = $.config.mysql;
12
+
13
+ // 列表集
14
+ var list_tables = ["access_token", "ad", "address", "article", "article_type", "auth", "cart", "collect", "comment",
15
+ "forum", "forum_type", "goods", "goods_type", "link", "message", "nav", "notice", "order", "praise", "score",
16
+ "slides", "upload", "user", "user_group"
17
+ ];
18
+
19
+ /**
20
+ * 第一步,创建数据库
21
+ * @param {Object} db_src 数据库管理(源)
22
+ * @param {Object} model 模型
23
+ */
24
+ async function create_db(db_src, model) {
25
+ $.log.info("******** 开始刷数据库 ********");
26
+
27
+ // 取出数据库名
28
+ var db_name = model.order.order_number;
29
+
30
+ // 准备工作,创建并连接新的数据库
31
+ var mysql = await ready(db_src, db_name);
32
+
33
+ // 建立数据模型
34
+ var {
35
+ auth,
36
+ tables
37
+ } = model;
38
+
39
+ // 表
40
+ for (var i = 0; i < tables.length; i++) {
41
+ var table = tables[i];
42
+ create_table(mysql, table);
43
+ }
44
+
45
+ // 建立数据库操作
46
+ var db = mysql.db();
47
+
48
+ // 列表集
49
+ var lt = [...list_tables];
50
+
51
+ // 构建表
52
+ for (var i = 0; i < lt.length; i++) {
53
+ var table = lt[i];
54
+ // 创建数据库
55
+ await db.run("DROP TABLE `" + table + "`");
56
+ // 创建数据表
57
+ await db.run("CREATE TABLE " + db_name + "." + table + " LIKE changsheng." + table);
58
+ // 添加表
59
+ var bl = await db.run("insert into " + db_name + "." + table + " select * from changsheng." + table);
60
+ if (!bl) {
61
+ console.error(db.error);
62
+ break;
63
+ }
64
+ }
65
+
66
+ // 建立数据库操作2
67
+ var db2 = mysql.db();
68
+ db2.table = "user_group";
69
+
70
+ // 权限
71
+ for (var i = 0; i < auth.length; i++) {
72
+ var o = auth[i];
73
+ var name = o.name;
74
+ // 数据库操作2添加
75
+ await db2.add({
76
+ name
77
+ });
78
+ if (o.power) {
79
+ var power = o.power.toJson();
80
+ await set_auth_table(db, power, name, tables);
81
+ }
82
+ }
83
+
84
+ /**
85
+ * 添加数据
86
+ */
87
+ await add_data(db_src, db, model);
88
+
89
+ $.log.info("******** 结束刷数据库 ********");
90
+ }
91
+
92
+ /**
93
+ * 准备工作,创建并连接新的数据库
94
+ * @param {Object} db 数据库管理器
95
+ * @param {Object} db_name 名称
96
+ */
97
+ async function ready(db, db_name) {
98
+ // 创建新数据库
99
+ var bl = await db.run("create database " + db_name + ";");
100
+ // 连接数据库
101
+ var mysql = $.mysql_admin(db_name, __dirname);
102
+ mysql.config = {
103
+ // 服务器地址
104
+ host: cg.host,
105
+ // 端口号
106
+ port: cg.port,
107
+ // 连接用户名
108
+ user: cg.user,
109
+ // 连接密码
110
+ password: cg.password,
111
+ // 数据库
112
+ database: db_name,
113
+ // 是否支持多个sql语句同时操作
114
+ multipleStatements: true
115
+ };
116
+ mysql.open();
117
+ return mysql;
118
+ }
119
+
120
+ module.exports = create_db;
@@ -0,0 +1,101 @@
1
+ const fs = require("fs")
2
+ /**
3
+ * 复制文件
4
+ * @param {String} from 来源路径
5
+ * @param {String} to 复制到路径
6
+ * @param {String} filter 过滤文件或目录
7
+ * @param {String} type 复制类型,dir目录 或 file文件
8
+ */
9
+ async function copy(from, to, filter, type = "dir") {
10
+ if (!from) {
11
+ console.error("请输入要复制的文件或目录");
12
+ return;
13
+ }
14
+ try {
15
+ if(from.indexOf("//") != -1){
16
+ from = from.replace("//","/");
17
+ }
18
+
19
+ if(to.indexOf("//") != -1){
20
+ to = to.replace("//","/");
21
+ }
22
+
23
+ if (isExist(from)) {
24
+ if (!to) {
25
+ console.error("请选择要复制到哪个目录");
26
+ return;
27
+ }
28
+ if (type == "file") {
29
+ // 进入复制文件
30
+ copyFile(from, to);
31
+ } else {
32
+ // 进入复制目录
33
+ copyDir(from, to, filter);
34
+ }
35
+ }
36
+ } catch (err) {
37
+ console.error(err);
38
+ }
39
+ }
40
+
41
+ /**
42
+ * 复制文件
43
+ *
44
+ * @param {String} from 被复制对象
45
+ * @param {String} to 复制对象
46
+ */
47
+ function copyFile(from, to) {
48
+ fs.writeFileSync(to, fs.readFileSync(from));
49
+ }
50
+
51
+ /**
52
+ * 复制目录
53
+ *
54
+ * @param {String} from 被复制对象
55
+ * @param {String} to 复制对象
56
+ */
57
+ function copyDir(from, to, filter) {
58
+ if (!isExist(to)) {
59
+ // 创建目录
60
+ fs.mkdirSync(to);
61
+ }
62
+ try {
63
+ var paths = fs.readdirSync(from);
64
+ paths.forEach((path) => {
65
+ if (filter.indexOf(path) === -1) {
66
+ var src = `${from}/${path}`;
67
+ var dist = `${to}/${path}`;
68
+ var stat = fs.statSync(src);
69
+ try {
70
+ if (stat.isFile()) {
71
+ copyFile(src, dist);
72
+ } else if (stat.isDirectory()) {
73
+ copyDir(src, dist, filter);
74
+ }
75
+ } catch (err) {
76
+ console.error(err);
77
+ }
78
+ }
79
+ });
80
+ } catch (err) {
81
+ console.error(err);
82
+ }
83
+ }
84
+
85
+ /**
86
+ * 判断是否存在
87
+ * @param {String} file
88
+ * @return {Promise}
89
+ */
90
+ function isExist(path) {
91
+ var bl = false;
92
+ try {
93
+ fs.accessSync(path, fs.constants.R_OK | fs.constants.W_OK);
94
+ bl = true;
95
+ } catch (err) {
96
+ // 判断目录不存在
97
+ }
98
+ return bl;
99
+ }
100
+
101
+ module.exports = copy