cgserver 8.9.2 → 8.9.4

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 (176) hide show
  1. package/README.md +2 -0
  2. package/dist/lib/Framework/AI/AiObject.js +10 -10
  3. package/dist/lib/Framework/AI/Astar.js +133 -133
  4. package/dist/lib/Framework/AI/BehaviorAI.js +307 -307
  5. package/dist/lib/Framework/AI/Entity.js +33 -33
  6. package/dist/lib/Framework/AI/Point.js +68 -68
  7. package/dist/lib/Framework/AI/TriggerMgr.js +201 -201
  8. package/dist/lib/Framework/Config/Config.js +53 -53
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +207 -207
  11. package/dist/lib/Framework/Config/IServerConfig.js +26 -26
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/Core.js +665 -639
  14. package/dist/lib/Framework/Core/Timer.js +116 -116
  15. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +11 -11
  16. package/dist/lib/Framework/Database/Decorator/DBCache.js +64 -64
  17. package/dist/lib/Framework/Database/Decorator/NotNull.js +11 -11
  18. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +11 -11
  19. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  20. package/dist/lib/Framework/Database/Decorator/Table.js +15 -15
  21. package/dist/lib/Framework/Database/Decorator/Type.js +20 -20
  22. package/dist/lib/Framework/Database/MSSqlManager.js +53 -53
  23. package/dist/lib/Framework/Database/MongoBaseService.js +117 -117
  24. package/dist/lib/Framework/Database/MongoManager.js +467 -466
  25. package/dist/lib/Framework/Database/MysqlBaseService.js +281 -281
  26. package/dist/lib/Framework/Database/MysqlManager.js +179 -179
  27. package/dist/lib/Framework/Database/RedisManager.js +61 -61
  28. package/dist/lib/Framework/Decorator/AdminValidate.js +19 -19
  29. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  30. package/dist/lib/Framework/Decorator/CreatorValidate.js +19 -19
  31. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +15 -15
  32. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  33. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +19 -19
  34. package/dist/lib/Framework/Decorator/SyncCall.js +42 -42
  35. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  36. package/dist/lib/Framework/Logic/CacheTool.js +73 -73
  37. package/dist/lib/Framework/Logic/EventTool.js +27 -27
  38. package/dist/lib/Framework/Logic/HttpTool.js +75 -75
  39. package/dist/lib/Framework/Logic/Log.js +140 -140
  40. package/dist/lib/Framework/Logic/SyncQueueTool.js +43 -43
  41. package/dist/lib/Framework/Service/MongoAccountService.js +367 -367
  42. package/dist/lib/Framework/Service/MongoCacheService.js +42 -42
  43. package/dist/lib/Framework/Service/MongoUserService.js +100 -100
  44. package/dist/lib/Framework/Service/MysqlAccountService.js +441 -441
  45. package/dist/lib/Framework/Service/MysqlUserService.js +171 -171
  46. package/dist/lib/Framework/Service/ini.js +36 -36
  47. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +44 -44
  48. package/dist/lib/Framework/SocketServer/IRpc.js +12 -12
  49. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +63 -63
  50. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +63 -63
  51. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +75 -75
  52. package/dist/lib/Framework/SocketServer/ISocketServer.js +205 -205
  53. package/dist/lib/Framework/SocketServer/IWebSocket.js +195 -195
  54. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +57 -57
  55. package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +8 -8
  56. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +29 -29
  57. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +31 -31
  58. package/dist/lib/Framework/ThirdParty/AlipayTool.js +203 -203
  59. package/dist/lib/Framework/ThirdParty/Alisms.js +46 -46
  60. package/dist/lib/Framework/ThirdParty/AppleTool.js +234 -234
  61. package/dist/lib/Framework/ThirdParty/CgMq.js +132 -132
  62. package/dist/lib/Framework/ThirdParty/EmailTool.js +33 -33
  63. package/dist/lib/Framework/ThirdParty/OpenSocial.js +32 -32
  64. package/dist/lib/Framework/ThirdParty/QQTool.js +118 -118
  65. package/dist/lib/Framework/ThirdParty/QiniuTool.js +21 -21
  66. package/dist/lib/Framework/ThirdParty/Rpc.js +63 -63
  67. package/dist/lib/Framework/ThirdParty/WechatOATool.js +61 -61
  68. package/dist/lib/Framework/ThirdParty/WechatTool.js +74 -74
  69. package/dist/lib/Framework/WebServer/Controller/BaseController.js +112 -112
  70. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +169 -169
  71. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +169 -169
  72. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +112 -112
  73. package/dist/lib/Framework/WebServer/Engine/Engine.js +152 -152
  74. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +544 -544
  75. package/dist/lib/Framework/WebServer/Engine/Request.js +237 -237
  76. package/dist/lib/Framework/WebServer/Engine/Response.js +100 -100
  77. package/dist/lib/Framework/WebServer/IWebServer.js +59 -59
  78. package/dist/lib/Framework/cgserver.js +121 -121
  79. package/dist/lib/Framework/index.js +202 -201
  80. package/dist/lib/test/test.js +21 -21
  81. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  82. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  83. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  84. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  85. package/dist/types/Framework/AI/Point.d.ts +17 -17
  86. package/dist/types/Framework/AI/TriggerMgr.d.ts +52 -52
  87. package/dist/types/Framework/Config/Config.d.ts +12 -12
  88. package/dist/types/Framework/Config/DbConfig.d.ts +10 -10
  89. package/dist/types/Framework/Config/FrameworkConfig.d.ts +203 -203
  90. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  91. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  92. package/dist/types/Framework/Core/Core.d.ts +111 -108
  93. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  94. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  95. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +23 -23
  96. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  97. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  98. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  99. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  100. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  101. package/dist/types/Framework/Database/MSSqlManager.d.ts +27 -27
  102. package/dist/types/Framework/Database/MongoBaseService.d.ts +81 -81
  103. package/dist/types/Framework/Database/MongoManager.d.ts +155 -156
  104. package/dist/types/Framework/Database/MysqlBaseService.d.ts +34 -34
  105. package/dist/types/Framework/Database/MysqlManager.d.ts +53 -53
  106. package/dist/types/Framework/Database/RedisManager.d.ts +24 -24
  107. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  108. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  109. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  110. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  111. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  112. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  113. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  114. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  115. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  116. package/dist/types/Framework/Logic/EventTool.d.ts +13 -13
  117. package/dist/types/Framework/Logic/HttpTool.d.ts +15 -15
  118. package/dist/types/Framework/Logic/Log.d.ts +25 -25
  119. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  120. package/dist/types/Framework/Service/MongoAccountService.d.ts +69 -69
  121. package/dist/types/Framework/Service/MongoCacheService.d.ts +14 -14
  122. package/dist/types/Framework/Service/MongoUserService.d.ts +35 -35
  123. package/dist/types/Framework/Service/MysqlAccountService.d.ts +74 -74
  124. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  125. package/dist/types/Framework/Service/ini.d.ts +29 -29
  126. package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +17 -17
  127. package/dist/types/Framework/SocketServer/IRpc.d.ts +8 -8
  128. package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +16 -16
  129. package/dist/types/Framework/SocketServer/IRpcServerWebSocket.d.ts +16 -16
  130. package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +28 -28
  131. package/dist/types/Framework/SocketServer/ISocketServer.d.ts +45 -45
  132. package/dist/types/Framework/SocketServer/IWebSocket.d.ts +60 -60
  133. package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  134. package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +9 -9
  135. package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  136. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +8 -8
  137. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +109 -109
  138. package/dist/types/Framework/ThirdParty/Alisms.d.ts +14 -14
  139. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  140. package/dist/types/Framework/ThirdParty/CgMq.d.ts +51 -51
  141. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +5 -5
  142. package/dist/types/Framework/ThirdParty/OpenSocial.d.ts +7 -7
  143. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  144. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +6 -6
  145. package/dist/types/Framework/ThirdParty/Rpc.d.ts +20 -20
  146. package/dist/types/Framework/ThirdParty/WechatOATool.d.ts +13 -13
  147. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +20 -20
  148. package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +33 -33
  149. package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +27 -27
  150. package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  151. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +35 -35
  152. package/dist/types/Framework/WebServer/Engine/Engine.d.ts +22 -21
  153. package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +21 -21
  154. package/dist/types/Framework/WebServer/Engine/Request.d.ts +36 -35
  155. package/dist/types/Framework/WebServer/Engine/Response.d.ts +30 -30
  156. package/dist/types/Framework/WebServer/IWebServer.d.ts +20 -20
  157. package/dist/types/Framework/cgserver.d.ts +27 -27
  158. package/dist/types/Framework/index.d.ts +91 -91
  159. package/dist/types/test/test.d.ts +1 -1
  160. package/package.json +1 -1
  161. package/dist/lib/Framework/WebServer/Decorator/AdminValidate.js +0 -19
  162. package/dist/lib/Framework/WebServer/Decorator/AuthorityValidate.js +0 -22
  163. package/dist/lib/Framework/WebServer/Decorator/CreatorValidate.js +0 -19
  164. package/dist/lib/Framework/WebServer/Decorator/JsonAdminValidate.js +0 -15
  165. package/dist/lib/Framework/WebServer/Decorator/JsonAuthorityValidate.js +0 -20
  166. package/dist/lib/Framework/WebServer/Decorator/JsonCreatorValidate.js +0 -19
  167. package/dist/lib/Framework/WebServer/Decorator/SyncCall.js +0 -41
  168. package/dist/lib/Framework/WebServer/Decorator/SyncCallServer.js +0 -77
  169. package/dist/types/Framework/WebServer/Decorator/AdminValidate.d.ts +0 -1
  170. package/dist/types/Framework/WebServer/Decorator/AuthorityValidate.d.ts +0 -2
  171. package/dist/types/Framework/WebServer/Decorator/CreatorValidate.d.ts +0 -1
  172. package/dist/types/Framework/WebServer/Decorator/JsonAdminValidate.d.ts +0 -1
  173. package/dist/types/Framework/WebServer/Decorator/JsonAuthorityValidate.d.ts +0 -2
  174. package/dist/types/Framework/WebServer/Decorator/JsonCreatorValidate.d.ts +0 -1
  175. package/dist/types/Framework/WebServer/Decorator/SyncCall.d.ts +0 -12
  176. package/dist/types/Framework/WebServer/Decorator/SyncCallServer.d.ts +0 -14
@@ -1,53 +1,53 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GMSSqlMgr = exports.MssqlReturn = exports.MSSqlConfig = void 0;
4
- const mssql = require("mssql");
5
- const DBCache_1 = require("./Decorator/DBCache");
6
- class MSSqlConfig {
7
- open = false;
8
- auto = false;
9
- domain = '127.0.0.1';
10
- port = 3306;
11
- user = 'root';
12
- password = 'root';
13
- database = 'gameall';
14
- charset = 'utf8mb4';
15
- }
16
- exports.MSSqlConfig = MSSqlConfig;
17
- class MssqlReturn {
18
- error = null;
19
- fields = null;
20
- list = null;
21
- }
22
- exports.MssqlReturn = MssqlReturn;
23
- exports.GMSSqlMgr = null;
24
- class MSSqlManager {
25
- _init_cbs = [];
26
- _pool = null;
27
- get pool() {
28
- return this._pool;
29
- }
30
- get isValid() {
31
- return !!this._pool;
32
- }
33
- constructor() {
34
- }
35
- async init(cfg) {
36
- if (this._pool
37
- || !cfg
38
- || !cfg.open) {
39
- return;
40
- }
41
- this._pool = await mssql.connect(cfg);
42
- console.log("mssql config=" + JSON.stringify(cfg));
43
- //这个的初始化位置不能变,必须位于cbs前,pool后
44
- await DBCache_1.GDBCache.init();
45
- for (let i = 0; i < this._init_cbs.length; ++i) {
46
- this._init_cbs[i]();
47
- }
48
- }
49
- registerInitCb(cb) {
50
- this._init_cbs.push(cb);
51
- }
52
- }
53
- exports.GMSSqlMgr = new MSSqlManager();
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GMSSqlMgr = exports.MssqlReturn = exports.MSSqlConfig = void 0;
4
+ const mssql = require("mssql");
5
+ const DBCache_1 = require("./Decorator/DBCache");
6
+ class MSSqlConfig {
7
+ open = false;
8
+ auto = false;
9
+ domain = '127.0.0.1';
10
+ port = 3306;
11
+ user = 'root';
12
+ password = 'root';
13
+ database = 'gameall';
14
+ charset = 'utf8mb4';
15
+ }
16
+ exports.MSSqlConfig = MSSqlConfig;
17
+ class MssqlReturn {
18
+ error = null;
19
+ fields = null;
20
+ list = null;
21
+ }
22
+ exports.MssqlReturn = MssqlReturn;
23
+ exports.GMSSqlMgr = null;
24
+ class MSSqlManager {
25
+ _init_cbs = [];
26
+ _pool = null;
27
+ get pool() {
28
+ return this._pool;
29
+ }
30
+ get isValid() {
31
+ return !!this._pool;
32
+ }
33
+ constructor() {
34
+ }
35
+ async init(cfg) {
36
+ if (this._pool
37
+ || !cfg
38
+ || !cfg.open) {
39
+ return;
40
+ }
41
+ this._pool = await mssql.connect(cfg);
42
+ console.log("mssql config=" + JSON.stringify(cfg));
43
+ //这个的初始化位置不能变,必须位于cbs前,pool后
44
+ await DBCache_1.GDBCache.init();
45
+ for (let i = 0; i < this._init_cbs.length; ++i) {
46
+ this._init_cbs[i]();
47
+ }
48
+ }
49
+ registerInitCb(cb) {
50
+ this._init_cbs.push(cb);
51
+ }
52
+ }
53
+ exports.GMSSqlMgr = new MSSqlManager();
@@ -1,117 +1,117 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongoBaseService = void 0;
4
- const MongoManager_1 = require("./MongoManager");
5
- class MongoBaseService {
6
- _table = "";
7
- get table() {
8
- return this._table;
9
- }
10
- _inited = false;
11
- get isInited() {
12
- return this._inited;
13
- }
14
- get mongoDb() {
15
- return MongoManager_1.GMongoMgr.mongoDb;
16
- }
17
- _t_type = null;
18
- constructor(table, type) {
19
- this._t_type = type;
20
- this._table = table;
21
- }
22
- async getNextId(key) {
23
- if (!key) {
24
- key = this._table;
25
- }
26
- let id = await MongoManager_1.GMongoMgr.getAutoIds(this._table);
27
- return id;
28
- }
29
- /**
30
- * 没有id(非_id)的表不能使用该函数
31
- * @param id
32
- */
33
- async getById(id) {
34
- let rs = await MongoManager_1.GMongoMgr.findOne(this._table, null, { id: id });
35
- return rs.one;
36
- }
37
- async get(property, where) {
38
- let rs = await MongoManager_1.GMongoMgr.findOne(this._table, property, where);
39
- return rs.one;
40
- }
41
- async countDocuments(where, options) {
42
- let rs = await MongoManager_1.GMongoMgr.countDocuments(this._table, where);
43
- return rs.count;
44
- }
45
- async gets(property, where, sort, skip = 0, limit = 0) {
46
- let rs = await MongoManager_1.GMongoMgr.findMany(this._table, property, where, sort, skip, limit);
47
- return rs.list;
48
- }
49
- async getRandoms(num, property, where) {
50
- let rs = await MongoManager_1.GMongoMgr.simpleAggregate(this._table, property, where, null, num);
51
- return rs.list;
52
- }
53
- async updateOne(model, where, upsert = false) {
54
- let rs = await MongoManager_1.GMongoMgr.updateOne(this._table, model, where, upsert);
55
- return rs;
56
- }
57
- async updateMany(model, where) {
58
- let rs = await MongoManager_1.GMongoMgr.updateMany(this._table, model, where);
59
- return rs;
60
- }
61
- async insert(model) {
62
- let rs = await MongoManager_1.GMongoMgr.insertOne(this._table, model);
63
- return rs;
64
- }
65
- async deleteOne(where) {
66
- let rs = await MongoManager_1.GMongoMgr.deleteOne(this._table, where);
67
- return rs;
68
- }
69
- async deleteMany(where) {
70
- let rs = await MongoManager_1.GMongoMgr.deleteMany(this._table, where);
71
- return rs;
72
- }
73
- async createIndex(index, options) {
74
- let rs = await MongoManager_1.GMongoMgr.createIndex(this._table, index, options);
75
- return rs;
76
- }
77
- aggregate(pipeline, options) {
78
- let ret = MongoManager_1.GMongoMgr.aggregate(this._table, pipeline, options);
79
- return ret;
80
- }
81
- /**
82
- * 仅仅支持一级
83
- * @param array 数据名称 比如 items
84
- * @param where 数组内赛选条件 比如 "items.id":1
85
- * @param pre_match 数组上一级赛选条件 比如 "user_id":1
86
- */
87
- async getsInArray(array, where, pre_match) {
88
- let agg = this.aggregate();
89
- if (pre_match) {
90
- agg = agg.match(pre_match);
91
- }
92
- agg = agg.unwind("$" + array);
93
- if (where) {
94
- agg = agg.match(where);
95
- }
96
- let all = await agg.toArray();
97
- let items = [];
98
- for (let i = 0; i < all.length; ++i) {
99
- items.push(all[i][array]);
100
- }
101
- return items;
102
- }
103
- /**
104
- * 仅仅支持一级
105
- * @param array 数据名称 比如 items
106
- * @param where 数组内赛选条件 比如 "items.id":1
107
- * @param pre_match 数组上一级赛选条件 比如 "user_id":1
108
- */
109
- async getInArray(array, where, pre_match) {
110
- let items = await this.getsInArray(array, where, pre_match);
111
- if (items.length <= 0) {
112
- return null;
113
- }
114
- return items[0];
115
- }
116
- }
117
- exports.MongoBaseService = MongoBaseService;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoBaseService = void 0;
4
+ const MongoManager_1 = require("./MongoManager");
5
+ class MongoBaseService {
6
+ _table = "";
7
+ get table() {
8
+ return this._table;
9
+ }
10
+ _inited = false;
11
+ get isInited() {
12
+ return this._inited;
13
+ }
14
+ get mongoDb() {
15
+ return MongoManager_1.GMongoMgr.mongoDb;
16
+ }
17
+ _t_type = null;
18
+ constructor(table, type) {
19
+ this._t_type = type;
20
+ this._table = table;
21
+ }
22
+ async getNextId(key) {
23
+ if (!key) {
24
+ key = this._table;
25
+ }
26
+ let id = await MongoManager_1.GMongoMgr.getAutoIds(this._table);
27
+ return id;
28
+ }
29
+ /**
30
+ * 没有id(非_id)的表不能使用该函数
31
+ * @param id
32
+ */
33
+ async getById(id) {
34
+ let rs = await MongoManager_1.GMongoMgr.findOne(this._table, null, { id: id });
35
+ return rs.one;
36
+ }
37
+ async get(property, where) {
38
+ let rs = await MongoManager_1.GMongoMgr.findOne(this._table, property, where);
39
+ return rs.one;
40
+ }
41
+ async countDocuments(where, options) {
42
+ let rs = await MongoManager_1.GMongoMgr.countDocuments(this._table, where);
43
+ return rs.count;
44
+ }
45
+ async gets(property, where, sort, skip = 0, limit = 0) {
46
+ let rs = await MongoManager_1.GMongoMgr.findMany(this._table, property, where, sort, skip, limit);
47
+ return rs.list;
48
+ }
49
+ async getRandoms(num, property, where) {
50
+ let rs = await MongoManager_1.GMongoMgr.simpleAggregate(this._table, property, where, null, num);
51
+ return rs.list;
52
+ }
53
+ async updateOne(model, where, upsert = false) {
54
+ let rs = await MongoManager_1.GMongoMgr.updateOne(this._table, model, where, upsert);
55
+ return rs;
56
+ }
57
+ async updateMany(model, where) {
58
+ let rs = await MongoManager_1.GMongoMgr.updateMany(this._table, model, where);
59
+ return rs;
60
+ }
61
+ async insert(model) {
62
+ let rs = await MongoManager_1.GMongoMgr.insertOne(this._table, model);
63
+ return rs;
64
+ }
65
+ async deleteOne(where) {
66
+ let rs = await MongoManager_1.GMongoMgr.deleteOne(this._table, where);
67
+ return rs;
68
+ }
69
+ async deleteMany(where) {
70
+ let rs = await MongoManager_1.GMongoMgr.deleteMany(this._table, where);
71
+ return rs;
72
+ }
73
+ async createIndex(index, options) {
74
+ let rs = await MongoManager_1.GMongoMgr.createIndex(this._table, index, options);
75
+ return rs;
76
+ }
77
+ aggregate(pipeline, options) {
78
+ let ret = MongoManager_1.GMongoMgr.aggregate(this._table, pipeline, options);
79
+ return ret;
80
+ }
81
+ /**
82
+ * 仅仅支持一级
83
+ * @param array 数据名称 比如 items
84
+ * @param where 数组内赛选条件 比如 "items.id":1
85
+ * @param pre_match 数组上一级赛选条件 比如 "user_id":1
86
+ */
87
+ async getsInArray(array, where, pre_match) {
88
+ let agg = this.aggregate();
89
+ if (pre_match) {
90
+ agg = agg.match(pre_match);
91
+ }
92
+ agg = agg.unwind("$" + array);
93
+ if (where) {
94
+ agg = agg.match(where);
95
+ }
96
+ let all = await agg.toArray();
97
+ let items = [];
98
+ for (let i = 0; i < all.length; ++i) {
99
+ items.push(all[i][array]);
100
+ }
101
+ return items;
102
+ }
103
+ /**
104
+ * 仅仅支持一级
105
+ * @param array 数据名称 比如 items
106
+ * @param where 数组内赛选条件 比如 "items.id":1
107
+ * @param pre_match 数组上一级赛选条件 比如 "user_id":1
108
+ */
109
+ async getInArray(array, where, pre_match) {
110
+ let items = await this.getsInArray(array, where, pre_match);
111
+ if (items.length <= 0) {
112
+ return null;
113
+ }
114
+ return items[0];
115
+ }
116
+ }
117
+ exports.MongoBaseService = MongoBaseService;