cgserver 12.0.8 → 12.2.0

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 +9 -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 +340 -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 +74 -41
  9. package/dist/lib/Framework/Config/DbConfig.js +14 -14
  10. package/dist/lib/Framework/Config/FrameworkConfig.js +139 -173
  11. package/dist/lib/Framework/Config/IServerConfig.js +31 -31
  12. package/dist/lib/Framework/Config/_error_.js +35 -35
  13. package/dist/lib/Framework/Core/ByteTool.js +85 -85
  14. package/dist/lib/Framework/Core/Core.js +724 -688
  15. package/dist/lib/Framework/Core/Timer.js +116 -116
  16. package/dist/lib/Framework/Database/Decorator/AutoIncrement.js +10 -11
  17. package/dist/lib/Framework/Database/Decorator/DBCache.js +98 -65
  18. package/dist/lib/Framework/Database/Decorator/NotNull.js +10 -11
  19. package/dist/lib/Framework/Database/Decorator/PrimaryKey.js +10 -11
  20. package/dist/lib/Framework/Database/Decorator/Property.js +61 -61
  21. package/dist/lib/Framework/Database/Decorator/Table.js +14 -15
  22. package/dist/lib/Framework/Database/Decorator/Type.js +19 -20
  23. package/dist/lib/Framework/Database/MSSql/MSSqlManager.js +86 -53
  24. package/dist/lib/Framework/Database/Mongo/MongoBaseService.js +141 -141
  25. package/dist/lib/Framework/Database/Mongo/MongoManager.js +595 -547
  26. package/dist/lib/Framework/Database/Mongo/MongoServiceManager.js +52 -52
  27. package/dist/lib/Framework/Database/Mysql/MysqlBaseService.js +280 -280
  28. package/dist/lib/Framework/Database/Mysql/MysqlManager.js +138 -105
  29. package/dist/lib/Framework/Database/Redis/RedisManager.js +94 -61
  30. package/dist/lib/Framework/Decorator/AdminValidate.js +18 -19
  31. package/dist/lib/Framework/Decorator/AuthorityValidate.js +22 -22
  32. package/dist/lib/Framework/Decorator/CreatorValidate.js +18 -19
  33. package/dist/lib/Framework/Decorator/JsonAdminValidate.js +14 -15
  34. package/dist/lib/Framework/Decorator/JsonAuthorityValidate.js +20 -20
  35. package/dist/lib/Framework/Decorator/JsonCreatorValidate.js +18 -19
  36. package/dist/lib/Framework/Decorator/SyncCall.js +41 -42
  37. package/dist/lib/Framework/Decorator/SyncCallServer.js +77 -77
  38. package/dist/lib/Framework/Logic/CacheTool.js +106 -73
  39. package/dist/lib/Framework/Logic/EventTool.js +31 -28
  40. package/dist/lib/Framework/Logic/HttpTool.js +138 -105
  41. package/dist/lib/Framework/Logic/Log.js +121 -88
  42. package/dist/lib/Framework/Logic/SyncQueueTool.js +44 -44
  43. package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +90 -57
  44. package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -9
  45. package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -29
  46. package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -35
  47. package/dist/lib/Framework/Server/RpcWebSocketServer/CgMq.js +180 -180
  48. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpc.js +38 -38
  49. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -253
  50. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.js +94 -94
  51. package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -44
  52. package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +114 -81
  53. package/dist/lib/Framework/Server/SocketServer/ISocket.js +255 -222
  54. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +177 -144
  55. package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -40
  56. package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -119
  57. package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -171
  58. package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -169
  59. package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -115
  60. package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +254 -218
  61. package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -543
  62. package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -226
  63. package/dist/lib/Framework/Server/WebServer/Engine/Response.js +120 -87
  64. package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -55
  65. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -44
  66. package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +128 -95
  67. package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +248 -215
  68. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +250 -217
  69. package/dist/lib/Framework/Service/MongoAccountService.js +339 -339
  70. package/dist/lib/Framework/Service/MongoCacheService.js +50 -50
  71. package/dist/lib/Framework/Service/MongoUserService.js +129 -96
  72. package/dist/lib/Framework/Service/MysqlAccountService.js +411 -411
  73. package/dist/lib/Framework/Service/MysqlUserService.js +204 -171
  74. package/dist/lib/Framework/Service/ini.js +36 -36
  75. package/dist/lib/Framework/ThirdParty/AlipayTool.js +117 -205
  76. package/dist/lib/Framework/ThirdParty/Alisms.js +61 -50
  77. package/dist/lib/Framework/ThirdParty/AppleTool.js +271 -235
  78. package/dist/lib/Framework/ThirdParty/CgRankTool.js +215 -215
  79. package/dist/lib/Framework/ThirdParty/EmailTool.js +71 -38
  80. package/dist/lib/Framework/ThirdParty/QQTool.js +162 -129
  81. package/dist/lib/Framework/ThirdParty/QiniuTool.js +62 -29
  82. package/dist/lib/Framework/ThirdParty/Rpc.js +79 -79
  83. package/dist/lib/Framework/ThirdParty/WechatTool.js +167 -134
  84. package/dist/lib/Framework/cgserver.js +215 -212
  85. package/dist/lib/Framework/global.js +74 -74
  86. package/dist/lib/Framework/index.js +38 -5
  87. package/dist/lib/Framework/index_export_.js +180 -177
  88. package/dist/lib/test/test.js +21 -21
  89. package/dist/types/Framework/AI/AiObject.d.ts +5 -5
  90. package/dist/types/Framework/AI/Astar.d.ts +38 -38
  91. package/dist/types/Framework/AI/BehaviorAI.d.ts +24 -24
  92. package/dist/types/Framework/AI/Entity.d.ts +12 -12
  93. package/dist/types/Framework/AI/Point.d.ts +17 -17
  94. package/dist/types/Framework/AI/TriggerMgr.d.ts +51 -51
  95. package/dist/types/Framework/Config/Config.d.ts +9 -9
  96. package/dist/types/Framework/Config/DbConfig.d.ts +11 -11
  97. package/dist/types/Framework/Config/FrameworkConfig.d.ts +146 -178
  98. package/dist/types/Framework/Config/IServerConfig.d.ts +9 -9
  99. package/dist/types/Framework/Config/_error_.d.ts +99 -99
  100. package/dist/types/Framework/Core/ByteTool.d.ts +21 -21
  101. package/dist/types/Framework/Core/Core.d.ts +119 -120
  102. package/dist/types/Framework/Core/Timer.d.ts +16 -16
  103. package/dist/types/Framework/Database/Decorator/AutoIncrement.d.ts +1 -1
  104. package/dist/types/Framework/Database/Decorator/DBCache.d.ts +22 -22
  105. package/dist/types/Framework/Database/Decorator/NotNull.d.ts +1 -1
  106. package/dist/types/Framework/Database/Decorator/PrimaryKey.d.ts +1 -1
  107. package/dist/types/Framework/Database/Decorator/Property.d.ts +57 -57
  108. package/dist/types/Framework/Database/Decorator/Table.d.ts +1 -1
  109. package/dist/types/Framework/Database/Decorator/Type.d.ts +1 -1
  110. package/dist/types/Framework/Database/MSSql/MSSqlManager.d.ts +26 -26
  111. package/dist/types/Framework/Database/Mongo/MongoBaseService.d.ts +116 -116
  112. package/dist/types/Framework/Database/Mongo/MongoManager.d.ts +207 -204
  113. package/dist/types/Framework/Database/Mongo/MongoServiceManager.d.ts +13 -13
  114. package/dist/types/Framework/Database/Mysql/MysqlBaseService.d.ts +34 -34
  115. package/dist/types/Framework/Database/Mysql/MysqlManager.d.ts +30 -30
  116. package/dist/types/Framework/Database/Redis/RedisManager.d.ts +24 -24
  117. package/dist/types/Framework/Decorator/AdminValidate.d.ts +1 -1
  118. package/dist/types/Framework/Decorator/AuthorityValidate.d.ts +2 -2
  119. package/dist/types/Framework/Decorator/CreatorValidate.d.ts +1 -1
  120. package/dist/types/Framework/Decorator/JsonAdminValidate.d.ts +1 -1
  121. package/dist/types/Framework/Decorator/JsonAuthorityValidate.d.ts +2 -2
  122. package/dist/types/Framework/Decorator/JsonCreatorValidate.d.ts +1 -1
  123. package/dist/types/Framework/Decorator/SyncCall.d.ts +12 -12
  124. package/dist/types/Framework/Decorator/SyncCallServer.d.ts +14 -14
  125. package/dist/types/Framework/Logic/CacheTool.d.ts +27 -27
  126. package/dist/types/Framework/Logic/EventTool.d.ts +11 -12
  127. package/dist/types/Framework/Logic/HttpTool.d.ts +19 -19
  128. package/dist/types/Framework/Logic/Log.d.ts +18 -18
  129. package/dist/types/Framework/Logic/SyncQueueTool.d.ts +21 -21
  130. package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -9
  131. package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -10
  132. package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -6
  133. package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -12
  134. package/dist/types/Framework/Server/RpcWebSocketServer/CgMq.d.ts +59 -59
  135. package/dist/types/Framework/Server/RpcWebSocketServer/IRpc.d.ts +33 -33
  136. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.d.ts +34 -34
  137. package/dist/types/Framework/Server/RpcWebSocketServer/IRpcServerWebSocket.d.ts +23 -23
  138. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +16 -18
  139. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +27 -29
  140. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +78 -81
  141. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +44 -45
  142. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +8 -10
  143. package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -34
  144. package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -28
  145. package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -27
  146. package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -37
  147. package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +42 -44
  148. package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -21
  149. package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +47 -50
  150. package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -26
  151. package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -22
  152. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -17
  153. package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +37 -38
  154. package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -76
  155. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +49 -49
  156. package/dist/types/Framework/Service/MongoAccountService.d.ts +62 -62
  157. package/dist/types/Framework/Service/MongoCacheService.d.ts +19 -19
  158. package/dist/types/Framework/Service/MongoUserService.d.ts +31 -31
  159. package/dist/types/Framework/Service/MysqlAccountService.d.ts +67 -67
  160. package/dist/types/Framework/Service/MysqlUserService.d.ts +33 -33
  161. package/dist/types/Framework/Service/ini.d.ts +29 -29
  162. package/dist/types/Framework/ThirdParty/AlipayTool.d.ts +76 -108
  163. package/dist/types/Framework/ThirdParty/Alisms.d.ts +23 -13
  164. package/dist/types/Framework/ThirdParty/AppleTool.d.ts +131 -131
  165. package/dist/types/Framework/ThirdParty/CgRankTool.d.ts +107 -107
  166. package/dist/types/Framework/ThirdParty/EmailTool.d.ts +4 -4
  167. package/dist/types/Framework/ThirdParty/QQTool.d.ts +41 -41
  168. package/dist/types/Framework/ThirdParty/QiniuTool.d.ts +5 -5
  169. package/dist/types/Framework/ThirdParty/Rpc.d.ts +28 -28
  170. package/dist/types/Framework/ThirdParty/WechatTool.d.ts +30 -30
  171. package/dist/types/Framework/cgserver.d.ts +63 -63
  172. package/dist/types/Framework/global.d.ts +45 -45
  173. package/dist/types/Framework/index.d.ts +2 -2
  174. package/dist/types/Framework/index_export_.d.ts +81 -79
  175. package/dist/types/test/test.d.ts +1 -1
  176. package/package.json +8 -4
@@ -1,53 +1,86 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gMSSqlMgr = exports.MSSqlManager = 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
- class MSSqlManager {
24
- _init_cbs = [];
25
- _pool = null;
26
- get pool() {
27
- return this._pool;
28
- }
29
- get isValid() {
30
- return !!this._pool;
31
- }
32
- constructor() {
33
- }
34
- async init(cfg) {
35
- if (this._pool
36
- || !cfg
37
- || !cfg.open) {
38
- return;
39
- }
40
- this._pool = await mssql.connect(cfg);
41
- console.log("mssql config=" + JSON.stringify(cfg));
42
- //这个的初始化位置不能变,必须位于cbs前,pool后
43
- await DBCache_1.gDbCache.init();
44
- for (let i = 0; i < this._init_cbs.length; ++i) {
45
- this._init_cbs[i]();
46
- }
47
- }
48
- registerInitCb(cb) {
49
- this._init_cbs.push(cb);
50
- }
51
- }
52
- exports.MSSqlManager = MSSqlManager;
53
- exports.gMSSqlMgr = new MSSqlManager();
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.gMSSqlMgr = exports.MSSqlManager = exports.MssqlReturn = exports.MSSqlConfig = void 0;
37
+ const mssql = __importStar(require("mssql"));
38
+ const DBCache_1 = require("../Decorator/DBCache");
39
+ class MSSqlConfig {
40
+ open = false;
41
+ auto = false;
42
+ domain = '127.0.0.1';
43
+ port = 3306;
44
+ user = 'root';
45
+ password = 'root';
46
+ database = 'gameall';
47
+ charset = 'utf8mb4';
48
+ }
49
+ exports.MSSqlConfig = MSSqlConfig;
50
+ class MssqlReturn {
51
+ error = null;
52
+ fields = null;
53
+ list = null;
54
+ }
55
+ exports.MssqlReturn = MssqlReturn;
56
+ class MSSqlManager {
57
+ _init_cbs = [];
58
+ _pool = null;
59
+ get pool() {
60
+ return this._pool;
61
+ }
62
+ get isValid() {
63
+ return !!this._pool;
64
+ }
65
+ constructor() {
66
+ }
67
+ async init(cfg) {
68
+ if (this._pool
69
+ || !cfg
70
+ || !cfg.open) {
71
+ return;
72
+ }
73
+ this._pool = await mssql.connect(cfg);
74
+ console.log("mssql config=" + JSON.stringify(cfg));
75
+ //这个的初始化位置不能变,必须位于cbs前,pool后
76
+ await DBCache_1.gDbCache.init();
77
+ for (let i = 0; i < this._init_cbs.length; ++i) {
78
+ this._init_cbs[i]();
79
+ }
80
+ }
81
+ registerInitCb(cb) {
82
+ this._init_cbs.push(cb);
83
+ }
84
+ }
85
+ exports.MSSqlManager = MSSqlManager;
86
+ exports.gMSSqlMgr = new MSSqlManager();
@@ -1,141 +1,141 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MongoBaseService = void 0;
4
- const MongoManager_1 = require("./MongoManager");
5
- const MongoServiceManager_1 = require("./MongoServiceManager");
6
- class MongoBaseService {
7
- _table = "";
8
- get table() {
9
- return this._table;
10
- }
11
- _inited = false;
12
- get isInited() {
13
- return this._inited;
14
- }
15
- get mongoDb() {
16
- return MongoManager_1.gMongoMgr.getMongo(this._dbname);
17
- }
18
- _dbname = "";
19
- get dbname() {
20
- if (!this._dbname) {
21
- this._dbname = MongoManager_1.gMongoMgr.defdbname;
22
- }
23
- return this._dbname;
24
- }
25
- set dbname(db) {
26
- this._dbname = db;
27
- }
28
- _t_type = null;
29
- constructor(table, type, dbname = "") {
30
- this._t_type = type;
31
- this._table = table;
32
- this._dbname = dbname;
33
- MongoServiceManager_1.gMongoServiceMgr.addService(this);
34
- }
35
- async getNextId(key = "") {
36
- if (!key) {
37
- key = this._table;
38
- }
39
- let id = await this.mongoDb.getAutoIds(this._table);
40
- return id;
41
- }
42
- toObjectId(id) {
43
- return this.mongoDb.toObjectId(id);
44
- }
45
- /**
46
- * 没有id(非_id)的表不能使用该函数
47
- * @param id
48
- */
49
- async getById(id) {
50
- let rs = await this.mongoDb.findOne(this._table, { id: id });
51
- return rs.one;
52
- }
53
- async findOne(where = null, property = null) {
54
- let rs = await this.mongoDb.findOne(this._table, where, property);
55
- return rs.one;
56
- }
57
- async countDocuments(where = null, options) {
58
- let rs = await this.mongoDb.countDocuments(this._table, where);
59
- return rs.count;
60
- }
61
- async findMany(where = null, property = null, sort = null, skip = 0, limit = 0) {
62
- let rs = await this.mongoDb.findMany(this._table, where, property, sort, skip, limit);
63
- return rs.list;
64
- }
65
- async getRandoms(num, where, property = null) {
66
- let rs = await this.mongoDb.simpleAggregate(this._table, where, property, null, num);
67
- return rs.list;
68
- }
69
- async updateOne(where, model, options) {
70
- let rs = await this.mongoDb.updateOne(this._table, where, model, options);
71
- return rs;
72
- }
73
- async updateMany(where, model = null, options) {
74
- let rs = await this.mongoDb.updateMany(this._table, where, model, options);
75
- return rs;
76
- }
77
- async insert(model) {
78
- let rs = await this.mongoDb.insertOne(this._table, model);
79
- return rs;
80
- }
81
- async deleteOne(where) {
82
- let rs = await this.mongoDb.deleteOne(this._table, where);
83
- return rs;
84
- }
85
- async deleteMany(where) {
86
- let rs = await this.mongoDb.deleteMany(this._table, where);
87
- return rs;
88
- }
89
- async createIndex(index, options) {
90
- let rs = await this.mongoDb.createIndex(this._table, index, options);
91
- return rs;
92
- }
93
- aggregate(pipeline, options) {
94
- let ret = this.mongoDb.aggregate(this._table, pipeline, options);
95
- return ret;
96
- }
97
- /**
98
- * 仅仅支持一级
99
- * @param array 数据名称 比如 items
100
- * @param where 数组内赛选条件 比如 "items.id":1
101
- * @param pre_match 数组上一级赛选条件 比如 "user_id":1
102
- */
103
- async getsInArray(array, where, pre_match) {
104
- let agg = this.aggregate();
105
- if (pre_match) {
106
- agg = agg.match(pre_match);
107
- }
108
- agg = agg.unwind("$" + array);
109
- if (where) {
110
- agg = agg.match(where);
111
- }
112
- let all = await agg.toArray();
113
- let items = [];
114
- for (let i = 0; i < all.length; ++i) {
115
- items.push(all[i][array]);
116
- }
117
- return items;
118
- }
119
- /**
120
- * 仅仅支持一级
121
- * @param array 数据名称 比如 items
122
- * @param where 数组内赛选条件 比如 "items.id":1
123
- * @param pre_match 数组上一级赛选条件 比如 "user_id":1
124
- */
125
- async getInArray(array, where, pre_match) {
126
- let items = await this.getsInArray(array, where, pre_match);
127
- if (items.length <= 0) {
128
- return null;
129
- }
130
- return items[0];
131
- }
132
- async distinct(key, where = {}) {
133
- let rs = await this.mongoDb.distinct(this._table, key, where);
134
- return rs;
135
- }
136
- async bulkWrite(operations, options) {
137
- let bwr = await this.mongoDb.bulkWrite(this._table, operations, options);
138
- return bwr;
139
- }
140
- }
141
- 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
+ const MongoServiceManager_1 = require("./MongoServiceManager");
6
+ class MongoBaseService {
7
+ _table = "";
8
+ get table() {
9
+ return this._table;
10
+ }
11
+ _inited = false;
12
+ get isInited() {
13
+ return this._inited;
14
+ }
15
+ get mongoDb() {
16
+ return MongoManager_1.gMongoMgr.getMongo(this._dbname);
17
+ }
18
+ _dbname = "";
19
+ get dbname() {
20
+ if (!this._dbname) {
21
+ this._dbname = MongoManager_1.gMongoMgr.defdbname;
22
+ }
23
+ return this._dbname;
24
+ }
25
+ set dbname(db) {
26
+ this._dbname = db;
27
+ }
28
+ _t_type = null;
29
+ constructor(table, type, dbname = "") {
30
+ this._t_type = type;
31
+ this._table = table;
32
+ this._dbname = dbname;
33
+ MongoServiceManager_1.gMongoServiceMgr.addService(this);
34
+ }
35
+ async getNextId(key = "") {
36
+ if (!key) {
37
+ key = this._table;
38
+ }
39
+ let id = await this.mongoDb.getAutoIds(this._table);
40
+ return id;
41
+ }
42
+ toObjectId(id) {
43
+ return this.mongoDb.toObjectId(id);
44
+ }
45
+ /**
46
+ * 没有id(非_id)的表不能使用该函数
47
+ * @param id
48
+ */
49
+ async getById(id) {
50
+ let rs = await this.mongoDb.findOne(this._table, { id: id });
51
+ return rs.one;
52
+ }
53
+ async findOne(where = null, property = null) {
54
+ let rs = await this.mongoDb.findOne(this._table, where, property);
55
+ return rs.one;
56
+ }
57
+ async countDocuments(where = null, options) {
58
+ let rs = await this.mongoDb.countDocuments(this._table, where);
59
+ return rs.count;
60
+ }
61
+ async findMany(where = null, property = null, sort = null, skip = 0, limit = 0) {
62
+ let rs = await this.mongoDb.findMany(this._table, where, property, sort, skip, limit);
63
+ return rs.list;
64
+ }
65
+ async getRandoms(num, where, property = null) {
66
+ let rs = await this.mongoDb.simpleAggregate(this._table, where, property, null, num);
67
+ return rs.list;
68
+ }
69
+ async updateOne(where, model, options) {
70
+ let rs = await this.mongoDb.updateOne(this._table, where, model, options);
71
+ return rs;
72
+ }
73
+ async updateMany(where, model = null, options) {
74
+ let rs = await this.mongoDb.updateMany(this._table, where, model, options);
75
+ return rs;
76
+ }
77
+ async insert(model) {
78
+ let rs = await this.mongoDb.insertOne(this._table, model);
79
+ return rs;
80
+ }
81
+ async deleteOne(where) {
82
+ let rs = await this.mongoDb.deleteOne(this._table, where);
83
+ return rs;
84
+ }
85
+ async deleteMany(where) {
86
+ let rs = await this.mongoDb.deleteMany(this._table, where);
87
+ return rs;
88
+ }
89
+ async createIndex(index, options) {
90
+ let rs = await this.mongoDb.createIndex(this._table, index, options);
91
+ return rs;
92
+ }
93
+ aggregate(pipeline, options) {
94
+ let ret = this.mongoDb.aggregate(this._table, pipeline, options);
95
+ return ret;
96
+ }
97
+ /**
98
+ * 仅仅支持一级
99
+ * @param array 数据名称 比如 items
100
+ * @param where 数组内赛选条件 比如 "items.id":1
101
+ * @param pre_match 数组上一级赛选条件 比如 "user_id":1
102
+ */
103
+ async getsInArray(array, where, pre_match) {
104
+ let agg = this.aggregate();
105
+ if (pre_match) {
106
+ agg = agg.match(pre_match);
107
+ }
108
+ agg = agg.unwind("$" + array);
109
+ if (where) {
110
+ agg = agg.match(where);
111
+ }
112
+ let all = await agg.toArray();
113
+ let items = [];
114
+ for (let i = 0; i < all.length; ++i) {
115
+ items.push(all[i][array]);
116
+ }
117
+ return items;
118
+ }
119
+ /**
120
+ * 仅仅支持一级
121
+ * @param array 数据名称 比如 items
122
+ * @param where 数组内赛选条件 比如 "items.id":1
123
+ * @param pre_match 数组上一级赛选条件 比如 "user_id":1
124
+ */
125
+ async getInArray(array, where, pre_match) {
126
+ let items = await this.getsInArray(array, where, pre_match);
127
+ if (items.length <= 0) {
128
+ return null;
129
+ }
130
+ return items[0];
131
+ }
132
+ async distinct(key, where = {}) {
133
+ let rs = await this.mongoDb.distinct(this._table, key, where);
134
+ return rs;
135
+ }
136
+ async bulkWrite(operations, options) {
137
+ let bwr = await this.mongoDb.bulkWrite(this._table, operations, options);
138
+ return bwr;
139
+ }
140
+ }
141
+ exports.MongoBaseService = MongoBaseService;