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.
- package/cache/route/main/config.json +1 -0
- package/cache/sys/app_admin/config.json +1 -0
- package/cache/sys/mqtt_engine/config.json +1 -0
- package/cache/sys/user/config.json +1 -0
- package/core/com/api/drive.js +9 -89
- package/core/com/api/index.js +3 -31
- package/core/com/cmd/drive.js +10 -1
- package/core/com/cmd/index.js +15 -1
- package/core/com/component/drive.js +1 -1
- package/core/com/component/index.js +16 -12
- package/core/com/db/drive.js +1 -1
- package/core/com/db/index.js +15 -17
- package/core/com/event/drive.js +3 -1
- package/core/com/event/index.js +74 -61
- package/core/com/eventer/com.js +2 -2
- package/core/com/middleware/com.js +41 -16
- package/core/com/mqtt/drive.js +4 -3
- package/core/com/mqtt/index.js +10 -8
- package/core/com/nav/drive.js +1 -19
- package/core/com/nav/index.js +1 -1
- package/core/com/param/drive.js +1 -1
- package/core/com/param/index.js +1 -27
- package/core/com/plugin/drive.js +18 -19
- package/core/com/plugin/index.js +16 -21
- package/core/com/plugin/script.js +109 -58
- package/core/com/rpc/com.json +4 -0
- package/core/com/rpc/drive.js +160 -0
- package/core/com/rpc/index.js +87 -0
- package/core/com/socket/drive.js +0 -1
- package/core/com/socket/index.js +5 -15
- package/core/com/sql/drive.js +1 -1
- package/core/com/sql/index.js +4 -31
- package/core/com/static/drive.js +13 -54
- package/core/com/static/index.js +14 -6
- package/core/com/task/drive.js +7 -2
- package/core/com/task/index.js +16 -36
- package/core/com/tpl/com.js +2 -2
- package/demo/app/dev/event_api/manage/event.json +19 -0
- package/demo/app/dev/event_api/manage/main.js +26 -0
- package/demo/app/dev/plugin/doc/static/api_list.html +144 -0
- package/demo/app/dev/plugin/doc/static/api_view.html +692 -0
- package/demo/app/dev/plugin/doc/static/index.html +138 -0
- package/demo/app/dev/plugin/doc/static/request_test.html +311 -0
- package/demo/app/dev/plugin/doc/static/static.js +28 -0
- package/demo/app/dev/plugin/doc/static/static.json +20 -0
- package/demo/app/dev/plugin/main/api_dev_client/app/api.json +13 -0
- package/demo/app/dev/plugin/main/api_dev_client/app/index.js +13 -0
- package/demo/app/dev/plugin/main/api_dev_client/app/param.json +147 -0
- package/demo/app/dev/plugin/main/api_dev_client/app/sql.json +28 -0
- package/demo/app/dev/plugin/main/api_dev_client/auto/api.json +37 -0
- package/demo/app/dev/plugin/main/api_dev_client/auto/auto_db.js +70 -0
- package/demo/app/dev/plugin/main/api_dev_client/auto/auto_file.js +32 -0
- package/demo/app/dev/plugin/main/api_dev_client/auto/index.js +51 -0
- package/demo/app/dev/plugin/main/api_dev_client/auto/param.json +51 -0
- package/demo/app/dev/plugin/main/api_dev_client/db/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/db/index.js +69 -0
- package/demo/app/dev/plugin/main/api_dev_client/db/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/dict/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/dict/index.js +49 -0
- package/demo/app/dev/plugin/main/api_dev_client/dict/param.json +29 -0
- package/demo/app/dev/plugin/main/api_dev_client/help/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/help/index.js +14 -0
- package/demo/app/dev/plugin/main/api_dev_client/help/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/nav/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/nav/index.js +36 -0
- package/demo/app/dev/plugin/main/api_dev_client/nav/param.json +36 -0
- package/demo/app/dev/plugin/main/api_dev_client/plugin/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/plugin/index.js +13 -0
- package/demo/app/dev/plugin/main/api_dev_client/plugin/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/source/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/source/index.js +14 -0
- package/demo/app/dev/plugin/main/api_dev_client/source/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/sql/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/sql/index.js +13 -0
- package/demo/app/dev/plugin/main/api_dev_client/sql/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/task/api.json +16 -0
- package/demo/app/dev/plugin/main/api_dev_client/task/index.js +13 -0
- package/demo/app/dev/plugin/main/api_dev_client/task/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/translate/api.json +39 -0
- package/demo/app/dev/plugin/main/api_dev_client/translate/index.js +43 -0
- package/demo/app/dev/plugin/main/api_dev_client/translate/param.json +130 -0
- package/demo/app/dev/plugin/main/api_dev_client/translate/sql.json +62 -0
- package/demo/app/dev/plugin/main/api_dev_client/ui/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/ui/index.js +146 -0
- package/demo/app/dev/plugin/main/api_dev_client/ui/param.json +31 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/api.json +10 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/index.js +100 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/param.json +29 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/nav.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/obj.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/post.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/block/query.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/edit.vue +39 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/list.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/search.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/table.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/type.vue +12 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/page/view.vue +56 -0
- package/demo/app/dev/plugin/main/api_dev_client/view/tpl/view.json +48 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/api.json +37 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/auto_db.js +120 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy/copy.js +101 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy/copy_framework.js +118 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy/copy_template.js +78 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/copy_file.js +97 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/common.js +198 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/django_server.js +104 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/helper.js +161 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/koa_art_server.js +102 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/mini_app_home.js +415 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/razor.js +0 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/springboot.js +0 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/thinkphp.js +0 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/uni_app_home.js +418 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/vue_cli_admin.js +78 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create/vue_cli_home.js +112 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/create_file.js +97 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/db/add_data.js +221 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/db/create_table.js +162 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/db/set_auth_table.js +86 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/index.js +524 -0
- package/demo/app/dev/plugin/main/api_dev_manage/auto_subject/param.json +37 -0
- package/demo/app/route/app.js +131 -0
- package/demo/app/route/app.json +11 -0
- package/demo/app/route/event_api/client/event.json +10 -0
- package/demo/app/route/event_api/client/main.js +19 -0
- package/demo/app/route/event_api/manage/event.json +18 -0
- package/demo/app/route/event_api/manage/main.js +70 -0
- package/demo/app/route/plugin/main/api_route_client/pass/api.json +37 -0
- package/demo/app/route/plugin/main/api_route_client/pass/index.js +33 -0
- package/demo/app/route/plugin/main/api_route_client/pass/param.json +50 -0
- package/demo/app/route/plugin/main/index.js +144 -0
- package/demo/app/route/plugin/main/plugin.json +20 -0
- package/demo/app/sys/event_api/api/event.json +1 -1
- package/demo/app/sys/event_api/doc/event.json +18 -0
- package/demo/app/sys/event_api/doc/main.js +67 -0
- package/demo/app/sys/event_api/img/event.json +11 -0
- package/demo/app/sys/event_api/img/main.js +90 -0
- package/demo/app/sys/event_api/web/event.json +4 -4
- package/demo/app/sys/plugin/app_admin/index.js +127 -0
- package/demo/app/sys/plugin/app_admin/plugin.json +20 -0
- package/demo/app/sys/plugin/main/api_client/config/sql.json +70 -0
- package/demo/app/sys/plugin/main/api_client/lang/api.json +37 -0
- package/demo/app/sys/plugin/main/api_client/lang/index.js +27 -0
- package/demo/app/sys/plugin/main/api_client/lang/param.json +22 -0
- package/demo/app/sys/plugin/main/api_client/translate/api.json +39 -0
- package/demo/app/sys/plugin/main/api_client/translate/index.js +21 -0
- package/demo/app/sys/plugin/main/api_client/translate/param.json +130 -0
- package/demo/app/sys/plugin/main/api_client/translate/sql.json +62 -0
- package/demo/app/sys/plugin/main/static/static.json +1 -1
- package/demo/app/sys/plugin/main/task/task_demo/index.js +37 -0
- package/demo/app/sys/plugin/main/task/task_demo/task.json +24 -0
- package/demo/app/sys/plugin/mqtt_engine/LICENSE +201 -0
- package/demo/app/sys/plugin/mqtt_engine/api_sys_client/scheme/api.json +33 -0
- package/demo/app/sys/plugin/mqtt_engine/api_sys_client/scheme/index.js +31 -0
- package/demo/app/sys/plugin/mqtt_engine/api_sys_client/scheme/param.json +130 -0
- package/demo/app/sys/plugin/mqtt_engine/index.js +51 -0
- package/demo/app/sys/plugin/mqtt_engine/mqtt/df/index.js +509 -0
- package/demo/app/sys/plugin/mqtt_engine/mqtt/df/mqtt.json +24 -0
- package/demo/app/sys/plugin/mqtt_engine/mqtt/zs/index.js +622 -0
- package/demo/app/sys/plugin/mqtt_engine/mqtt/zs/mqtt.json +36 -0
- package/demo/app/sys/plugin/mqtt_engine/plugin.json +21 -0
- package/demo/app/sys/plugin/mqtt_engine/static/img/logo.png +0 -0
- package/demo/app/sys/plugin/mqtt_engine/static/img/logo1.png +0 -0
- package/demo/app/sys/plugin/mqtt_engine/static/static.json +18 -0
- package/demo/app/sys/plugin/user/index.js +127 -0
- package/demo/app/sys/plugin/user/plugin.json +20 -0
- package/demo/app/sys/plugin/user/static/img/logo.png +0 -0
- package/demo/app/sys/plugin/user/static/static.js +28 -0
- package/demo/app/sys/plugin/user/static/static.json +20 -0
- package/demo/app/sys/static/img/avatar_1674484608066.png +0 -0
- package/demo/app/sys/static/img/avatar_1674633778171.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1674962702334.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1675075431736.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1675497065533.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685352550990.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685353685992.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685353956587.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685353971148.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685353983723.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685354014745.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685354122355.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685357983520.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685358453383.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685416570438.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685512675830.png +0 -0
- package/demo/app/sys/static/img/avatar_1685939425608.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1685939886560.jpeg +0 -0
- package/demo/app/sys/static/img/avatar_1686106313194.png +0 -0
- package/demo/app/sys/static/img/avatar_1686371876175.png +0 -0
- package/demo/app/sys/static/img/avatar_1686372033596.png +0 -0
- package/demo/app/sys/static/img/avatar_1688215220669.png +0 -0
- package/demo/app/sys/static/img/avatar_1688531184690.png +0 -0
- package/demo/app/sys/static/img/avatar_1688531233080.png +0 -0
- package/demo/app/sys/static/img/avatar_1688548526909.png +0 -0
- package/demo/app/sys/static/img/avatar_1688549213411.png +0 -0
- package/demo/app/sys/static/img/avatar_1688549511977.png +0 -0
- package/demo/app/sys/static/img/avatar_1688549685464.png +0 -0
- package/demo/app/sys/static/img/avatar_1688608623049.png +0 -0
- package/demo/app/sys/static/img/avatar_1688638500476.png +0 -0
- package/demo/app/sys/static/img/avatar_1688638515195.png +0 -0
- package/demo/app/sys/static/img/avatar_1688638539928.png +0 -0
- package/demo/app/sys/static/img/avatar_1688638557960.png +0 -0
- package/demo/app/sys/static/img/avatar_1688638761798.png +0 -0
- package/demo/app/sys/static/img/avatar_1688638943140.png +0 -0
- package/demo/app/sys/static/img/avatar_1688639068330.png +0 -0
- package/demo/app/sys/static/img/image_1685357101273.jpeg +0 -0
- package/demo/app/sys/static/img/logo.png +0 -0
- package/demo/app/sys/static/static.js +28 -0
- package/demo/app/sys/static/static.json +20 -0
- package/demo/app/user/plugin/main/api_user_client/core/api.json +20 -0
- package/demo/app/user/plugin/main/api_user_client/core/forgot.js +14 -0
- package/demo/app/user/plugin/main/api_user_client/core/password.js +14 -0
- package/demo/app/user/plugin/main/api_user_client/core/sign_out.js +26 -0
- package/demo/app/user/plugin/main/api_user_client/core/state.js +21 -0
- package/demo/app/user/plugin/main/api_user_client/forgot/index - /345/211/257/346/234/254.jsbat" +41 -0
- package/demo/app/user/plugin/main/api_user_client/phone_code/index.js_ +230 -0
- package/demo/app/user/plugin/main/api_user_manage/account_base/api.json +37 -0
- package/demo/app/user/plugin/main/api_user_manage/account_base/index.js +40 -0
- package/demo/app/user/plugin/main/api_user_manage/account_base/param.json +130 -0
- package/demo/app/user/plugin/main/api_user_manage/invitation_code/api.json +37 -0
- package/demo/app/user/plugin/main/api_user_manage/invitation_code/index.js +106 -0
- package/demo/app/user/plugin/main/api_user_manage/invitation_code/param.json +130 -0
- package/demo/app/user/plugin/main/api_user_manage/update_team/api.json +35 -0
- package/demo/app/user/plugin/main/api_user_manage/update_team/index.js +218 -0
- package/demo/app/user/plugin/main/api_user_manage/update_team/param.json +130 -0
- package/demo/app/user/static/img/logo.png +0 -0
- package/demo/app/user/static/static.js +28 -0
- package/demo/app/user/static/static.json +20 -0
- package/demo/app/ws/app.js +122 -0
- package/demo/app/ws/app.json +11 -0
- package/demo/app/ws/event_api/client/event.json +10 -0
- package/demo/app/ws/event_api/client/main.js +17 -0
- package/demo/app/ws/socket/ws/index.js +43 -0
- package/demo/app/ws/socket/ws/socket.json +14 -0
- package/demo/config/face.sql +3824 -0
- package/demo/config/local.json +2 -2
- package/demo/config/test.json +2 -2
- package/index.js +2 -2
- package/package.json +2 -2
- /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,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,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
|