mm_mysql 2.0.2 → 2.0.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/README.md +266 -234
- package/db.js +516 -286
- package/index.js +981 -394
- package/package.json +13 -12
- package/sql.js +904 -396
- package/config.json +0 -8
- package/link_model.js +0 -132
- package/sql.json +0 -56
- package/test.js +0 -846
- package/upgrade.sql +0 -34
package/config.json
DELETED
package/link_model.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 连接数据库模型类
|
|
3
|
-
* @class
|
|
4
|
-
*/
|
|
5
|
-
class Link_model {
|
|
6
|
-
/**
|
|
7
|
-
* 构造函数
|
|
8
|
-
* @param {Object} config 配置参数
|
|
9
|
-
*/
|
|
10
|
-
constructor(config, sql) {
|
|
11
|
-
/**
|
|
12
|
-
* 配置参数
|
|
13
|
-
*/
|
|
14
|
-
this.config = Object.assign({
|
|
15
|
-
key: "user_id",
|
|
16
|
-
value: 0,
|
|
17
|
-
clear_prefix: true
|
|
18
|
-
}, config);
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 模型集合
|
|
22
|
-
*/
|
|
23
|
-
this.model = {};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 数据库集合
|
|
27
|
-
*/
|
|
28
|
-
this.dbs = {};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 数据库集合
|
|
32
|
-
*/
|
|
33
|
-
this.sql = sql;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* 添加对象
|
|
39
|
-
* @param {String} table 表名
|
|
40
|
-
* @return {Object}
|
|
41
|
-
*/
|
|
42
|
-
Link_model.prototype.add = async function(table) {
|
|
43
|
-
var {
|
|
44
|
-
key,
|
|
45
|
-
value,
|
|
46
|
-
clear_prefix
|
|
47
|
-
} = this.config;
|
|
48
|
-
var db = this.sql.db();
|
|
49
|
-
db.table = table;
|
|
50
|
-
db.key = key;
|
|
51
|
-
db.size = 1;
|
|
52
|
-
db.page = 1;
|
|
53
|
-
var query = {};
|
|
54
|
-
query[key] = value;
|
|
55
|
-
var obj = await db.getObj(query);
|
|
56
|
-
if (!obj) {
|
|
57
|
-
var n = await db.add(query);
|
|
58
|
-
if (n) {
|
|
59
|
-
obj = await db.getObj(query);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
var name = table;
|
|
64
|
-
// 是否去除表前缀
|
|
65
|
-
if (clear_prefix) {
|
|
66
|
-
var arr = table.split("_");
|
|
67
|
-
if (arr.length > 1) {
|
|
68
|
-
name = table.right("_");
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
this.model[name] = obj;
|
|
72
|
-
this.dbs[table] = db;
|
|
73
|
-
return this;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* 初始化
|
|
78
|
-
* @param {Object} sql 数据管理器
|
|
79
|
-
* @return {Object} 当前对象
|
|
80
|
-
*/
|
|
81
|
-
Link_model.prototype.init = function(sql) {
|
|
82
|
-
this.sql = sql;
|
|
83
|
-
return this;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* 更新键值
|
|
88
|
-
* @param {Object} key
|
|
89
|
-
* @param {Object} value
|
|
90
|
-
* @return {Object} 当前对象
|
|
91
|
-
*/
|
|
92
|
-
Link_model.prototype.update = function(key, value) {
|
|
93
|
-
var m = this.model;
|
|
94
|
-
for (var k in m) {
|
|
95
|
-
var o = m[k];
|
|
96
|
-
if (o[key] !== undefined) {
|
|
97
|
-
o[key] = value;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return this;
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* 合并属性
|
|
105
|
-
* @param {Array} arr_name 当前对象
|
|
106
|
-
* @return {Object}
|
|
107
|
-
*/
|
|
108
|
-
Link_model.prototype.merge = function(...arr_name) {
|
|
109
|
-
var model = {};
|
|
110
|
-
if (arr_name.length === 0) {
|
|
111
|
-
arr_name = Object.keys(this.model);
|
|
112
|
-
}
|
|
113
|
-
for (var i = 0; i < arr_name.length; i++) {
|
|
114
|
-
var name = arr_name[i];
|
|
115
|
-
var o = this.model[name];
|
|
116
|
-
if (o) {
|
|
117
|
-
for (var k in o) {
|
|
118
|
-
model[k] = o[k]
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
var _this = this;
|
|
123
|
-
return new Proxy(model, {
|
|
124
|
-
set: function(obj, prop, value) {
|
|
125
|
-
_this.update(prop, value);
|
|
126
|
-
obj[prop] = value;
|
|
127
|
-
return obj;
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
module.exports = Link_model;
|
package/sql.json
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "user_account",
|
|
3
|
-
"title": "用户信息",
|
|
4
|
-
"table": "user_account",
|
|
5
|
-
"key": "user_id",
|
|
6
|
-
"orderby_default": "`user_id` desc",
|
|
7
|
-
"field_default": "`user_id`,`state`,`vip`,`gm`,`mc`,`referee_id`,`create_time`,`login_time`,`invite_code`,`phone`,`phone_state`,`username`,`nickname`,`email`,`email_state`,`user_group`,`user_admin`,`login_ip`,`signature`,`avatar`,`friends`,`admin_group`",
|
|
8
|
-
"method": "get",
|
|
9
|
-
"query": {
|
|
10
|
-
"state_min": "`state` >= '{0}'",
|
|
11
|
-
"state_max": "`state` <= '{0}'",
|
|
12
|
-
"vip_min": "`vip` >= '{0}'",
|
|
13
|
-
"vip_max": "`vip` <= '{0}'",
|
|
14
|
-
"gm_min": "`gm` >= '{0}'",
|
|
15
|
-
"gm_max": "`gm` <= '{0}'",
|
|
16
|
-
"mc_min": "`mc` >= '{0}'",
|
|
17
|
-
"mc_max": "`mc` <= '{0}'",
|
|
18
|
-
"create_time_min": "`create_time` >= '{0}'",
|
|
19
|
-
"create_time_max": "`create_time` <= '{0}'",
|
|
20
|
-
"login_time_min": "`login_time` >= '{0}'",
|
|
21
|
-
"login_time_max": "`login_time` <= '{0}'",
|
|
22
|
-
"salt": "`salt` like '%{0}%'",
|
|
23
|
-
"invite_code": "`invite_code` like '%{0}%'",
|
|
24
|
-
"phone": "`phone` like '%{0}%'",
|
|
25
|
-
"username": "`username` like '%{0}%'",
|
|
26
|
-
"nickname": "`nickname` like '%{0}%'",
|
|
27
|
-
"password": "`password` like '%{0}%'",
|
|
28
|
-
"email": "`email` like '%{0}%'",
|
|
29
|
-
"user_group": "`user_group` like '%{0}%'",
|
|
30
|
-
"user_admin": "`user_admin` like '%{0}%'",
|
|
31
|
-
"login_ip": "`login_ip` like '%{0}%'",
|
|
32
|
-
"signature": "`signature` like '%{0}%'",
|
|
33
|
-
"avatar": "`avatar` like '%{0}%'",
|
|
34
|
-
"friends": "`friends` like '%{0}%'",
|
|
35
|
-
"admin_group": "`admin_group` like '%{0}%'"
|
|
36
|
-
},
|
|
37
|
-
"query_default": {
|
|
38
|
-
"user_id": "`user_id` = {user_id}"
|
|
39
|
-
},
|
|
40
|
-
"update": {
|
|
41
|
-
"state_add": "`state` = `state` + '{0}'",
|
|
42
|
-
"vip_add": "`vip` = `vip` + '{0}'",
|
|
43
|
-
"gm_add": "`gm` = `gm` + '{0}'",
|
|
44
|
-
"mc_add": "`mc` = `mc` + '{0}'"
|
|
45
|
-
},
|
|
46
|
-
"filter": {
|
|
47
|
-
"table": "table",
|
|
48
|
-
"page": "page",
|
|
49
|
-
"size": "size",
|
|
50
|
-
"method": "method",
|
|
51
|
-
"orderby": "orderby",
|
|
52
|
-
"field": "field",
|
|
53
|
-
"count_ret": "count_ret",
|
|
54
|
-
"user_id": "user_id"
|
|
55
|
-
}
|
|
56
|
-
}
|