cgserver 12.0.0 → 12.0.1

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 (74) hide show
  1. package/dist/lib/Framework/{ThirdParty → Server/RpcWebSocketServer}/CgMq.js +11 -6
  2. package/dist/lib/Framework/Server/{WebSocketServer → RpcWebSocketServer}/IRpc.js +4 -2
  3. package/dist/lib/Framework/Server/RpcWebSocketServer/IRpcClientWebSocket.js +253 -0
  4. package/dist/lib/Framework/Server/{WebSocketServer → RpcWebSocketServer}/IRpcServerWebSocket.js +16 -5
  5. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +17 -17
  6. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +1 -1
  7. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +3 -0
  8. package/dist/lib/Framework/ThirdParty/Rpc.js +15 -6
  9. package/dist/lib/Framework/index_export_.js +4 -4
  10. package/dist/types/Framework/{ThirdParty → Server/RpcWebSocketServer}/CgMq.d.ts +4 -4
  11. package/dist/types/Framework/{SocketServer → Server/RpcWebSocketServer}/IRpc.d.ts +3 -2
  12. package/dist/types/Framework/Server/{WebSocketServer → RpcWebSocketServer}/IRpcClientWebSocket.d.ts +6 -1
  13. package/dist/types/Framework/{SocketServer → Server/RpcWebSocketServer}/IRpcServerWebSocket.d.ts +2 -2
  14. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +1 -0
  15. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +1 -0
  16. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +1 -0
  17. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +3 -3
  18. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +1 -0
  19. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +2 -2
  20. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +4 -1
  21. package/dist/types/Framework/ThirdParty/Rpc.d.ts +7 -5
  22. package/dist/types/Framework/index_export_.d.ts +4 -4
  23. package/package.json +1 -1
  24. package/dist/lib/Framework/Database/MSSqlManager.js +0 -53
  25. package/dist/lib/Framework/Database/MysqlBaseService.js +0 -280
  26. package/dist/lib/Framework/Database/MysqlManager.js +0 -105
  27. package/dist/lib/Framework/Database/RedisManager.js +0 -60
  28. package/dist/lib/Framework/Server/WebSocketServer/IRpcClientWebSocket.js +0 -140
  29. package/dist/lib/Framework/SocketServer/IClientWebSocket.js +0 -44
  30. package/dist/lib/Framework/SocketServer/IRpc.js +0 -36
  31. package/dist/lib/Framework/SocketServer/IRpcClientWebSocket.js +0 -140
  32. package/dist/lib/Framework/SocketServer/IRpcServerWebSocket.js +0 -82
  33. package/dist/lib/Framework/SocketServer/IServerWebSocket.js +0 -95
  34. package/dist/lib/Framework/SocketServer/ISocketServer.js +0 -214
  35. package/dist/lib/Framework/SocketServer/IWebSocket.js +0 -215
  36. package/dist/lib/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.js +0 -57
  37. package/dist/lib/Framework/SocketServer/ProtoFilter/IProtoFilter.js +0 -9
  38. package/dist/lib/Framework/SocketServer/ProtoFilter/JsonProtoFilter.js +0 -29
  39. package/dist/lib/Framework/SocketServer/ProtoFilter/ProtoFactory.js +0 -35
  40. package/dist/lib/Framework/ThirdParty/CgRankToo.js +0 -196
  41. package/dist/lib/Framework/WebServer/Controller/BaseController.js +0 -119
  42. package/dist/lib/Framework/WebServer/Controller/MongoBaseUserController.js +0 -171
  43. package/dist/lib/Framework/WebServer/Controller/MysqlBaseUserController.js +0 -169
  44. package/dist/lib/Framework/WebServer/Engine/ControllerManager.js +0 -115
  45. package/dist/lib/Framework/WebServer/Engine/Engine.js +0 -218
  46. package/dist/lib/Framework/WebServer/Engine/RazorJs.js +0 -543
  47. package/dist/lib/Framework/WebServer/Engine/Request.js +0 -226
  48. package/dist/lib/Framework/WebServer/Engine/Response.js +0 -87
  49. package/dist/lib/Framework/WebServer/IWebServer.js +0 -55
  50. package/dist/types/Framework/Database/MSSqlManager.d.ts +0 -26
  51. package/dist/types/Framework/Database/MysqlBaseService.d.ts +0 -34
  52. package/dist/types/Framework/Database/MysqlManager.d.ts +0 -30
  53. package/dist/types/Framework/Database/RedisManager.d.ts +0 -24
  54. package/dist/types/Framework/Server/WebSocketServer/IRpc.d.ts +0 -32
  55. package/dist/types/Framework/Server/WebSocketServer/IRpcServerWebSocket.d.ts +0 -23
  56. package/dist/types/Framework/SocketServer/IClientWebSocket.d.ts +0 -17
  57. package/dist/types/Framework/SocketServer/IRpcClientWebSocket.d.ts +0 -29
  58. package/dist/types/Framework/SocketServer/IServerWebSocket.d.ts +0 -38
  59. package/dist/types/Framework/SocketServer/ISocketServer.d.ts +0 -46
  60. package/dist/types/Framework/SocketServer/IWebSocket.d.ts +0 -76
  61. package/dist/types/Framework/SocketServer/ProtoFilter/GoogleProtoFilter.d.ts +0 -9
  62. package/dist/types/Framework/SocketServer/ProtoFilter/IProtoFilter.d.ts +0 -10
  63. package/dist/types/Framework/SocketServer/ProtoFilter/JsonProtoFilter.d.ts +0 -6
  64. package/dist/types/Framework/SocketServer/ProtoFilter/ProtoFactory.d.ts +0 -12
  65. package/dist/types/Framework/ThirdParty/CgRankToo.d.ts +0 -103
  66. package/dist/types/Framework/WebServer/Controller/BaseController.d.ts +0 -34
  67. package/dist/types/Framework/WebServer/Controller/MongoBaseUserController.d.ts +0 -28
  68. package/dist/types/Framework/WebServer/Controller/MysqlBaseUserController.d.ts +0 -27
  69. package/dist/types/Framework/WebServer/Engine/ControllerManager.d.ts +0 -37
  70. package/dist/types/Framework/WebServer/Engine/Engine.d.ts +0 -44
  71. package/dist/types/Framework/WebServer/Engine/RazorJs.d.ts +0 -21
  72. package/dist/types/Framework/WebServer/Engine/Request.d.ts +0 -50
  73. package/dist/types/Framework/WebServer/Engine/Response.d.ts +0 -26
  74. package/dist/types/Framework/WebServer/IWebServer.d.ts +0 -22
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gCtrMgr = exports.ControllerManager = void 0;
4
- /**
5
- * web服务中mvc的控制器管理器
6
- */
7
- class ControllerManager {
8
- _static_ctr = {};
9
- _ctr_cls = {};
10
- //module ctrname lower normal
11
- _cache_action_names = {};
12
- registerController(module_name, ctr_name, cls) {
13
- module_name = module_name.toLowerCase();
14
- ctr_name = ctr_name.toLowerCase();
15
- if (module_name == ctr_name) {
16
- throw ("模块名称不能和控制器名称相同:" + module_name);
17
- }
18
- this._ctr_cls[module_name] = this._ctr_cls[module_name] || {};
19
- this._ctr_cls[module_name][ctr_name] = cls;
20
- this._cacheActionName(module_name, ctr_name, cls);
21
- }
22
- _cacheActionName(module_name, ctr_name, cls) {
23
- module_name = module_name.toLowerCase();
24
- ctr_name = ctr_name.toLowerCase();
25
- //不能通过cls.name来获取ctr名称,因为混淆之后类名会变化
26
- let prototype = cls.prototype;
27
- let map_names = {};
28
- while (prototype && prototype.constructor.name != "BaseController") {
29
- let names = Object.getOwnPropertyNames(prototype);
30
- for (let action_name of names) {
31
- if (action_name.indexOf("on") != 0
32
- && action_name.indexOf("show") != 0) {
33
- continue;
34
- }
35
- if (map_names[action_name.toLowerCase()]) {
36
- continue;
37
- }
38
- map_names[action_name.toLowerCase()] = action_name;
39
- }
40
- prototype = Object.getPrototypeOf(prototype);
41
- }
42
- this._cache_action_names[module_name] = this._cache_action_names[module_name] || {};
43
- this._cache_action_names[module_name][ctr_name] = map_names;
44
- }
45
- getActionName(module_name, ctr_name, action_name) {
46
- module_name = module_name.toLowerCase();
47
- ctr_name = ctr_name.toLowerCase();
48
- action_name = action_name.toLowerCase();
49
- if (!this._cache_action_names[module_name]) {
50
- return null;
51
- }
52
- if (!this._cache_action_names[module_name][ctr_name]) {
53
- return null;
54
- }
55
- return this._cache_action_names[module_name][ctr_name][action_name];
56
- }
57
- /**
58
- * 静态ctr,这样,ctr就不会被多次创建
59
- * @param module_name
60
- * @param ctr_name
61
- * @param obj
62
- */
63
- registerStaticController(module_name, ctr_name, obj) {
64
- module_name = module_name.toLowerCase();
65
- ctr_name = ctr_name.toLowerCase();
66
- this._static_ctr[module_name] = this._static_ctr[module_name] || {};
67
- this._static_ctr[module_name][ctr_name] = obj;
68
- this._cacheActionNameForStatic(module_name, ctr_name, obj);
69
- }
70
- _cacheActionNameForStatic(module_name, ctr_name, obj) {
71
- module_name = module_name.toLowerCase();
72
- ctr_name = ctr_name.toLowerCase();
73
- let prototype = Object.getPrototypeOf(obj);
74
- let map_names = {};
75
- while (prototype && prototype.constructor.name != "BaseController") {
76
- let names = Object.getOwnPropertyNames(prototype);
77
- for (let func_name of names) {
78
- let low_name = func_name.toLowerCase();
79
- if (!map_names[low_name]) //有可能遭遇重载
80
- {
81
- map_names[low_name] = func_name;
82
- }
83
- }
84
- prototype = Object.getPrototypeOf(prototype);
85
- }
86
- this._cache_action_names[module_name] = this._cache_action_names[module_name] || {};
87
- this._cache_action_names[module_name][ctr_name] = map_names;
88
- }
89
- getStaticCtr(module_name, controller_name) {
90
- if (module_name) {
91
- module_name = module_name.toLowerCase();
92
- }
93
- if (controller_name) {
94
- controller_name = controller_name.toLowerCase();
95
- }
96
- if (!this._static_ctr[module_name]) {
97
- return;
98
- }
99
- return this._static_ctr[module_name][controller_name];
100
- }
101
- getClass(module_name, controller_name) {
102
- if (module_name) {
103
- module_name = module_name.toLowerCase();
104
- }
105
- if (controller_name) {
106
- controller_name = controller_name.toLowerCase();
107
- }
108
- if (!this._ctr_cls[module_name]) {
109
- return;
110
- }
111
- return this._ctr_cls[module_name][controller_name];
112
- }
113
- }
114
- exports.ControllerManager = ControllerManager;
115
- exports.gCtrMgr = new ControllerManager();
@@ -1,218 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Engine = void 0;
4
- const Response_1 = require("./Response");
5
- const Request_1 = require("./Request");
6
- const http = require("http");
7
- const https = require("https");
8
- const cors = require("cors");
9
- const Express = require("express");
10
- const cookieParser = require("cookie-parser");
11
- const Config_1 = require("../../Config/Config");
12
- const Log_1 = require("../../Logic/Log");
13
- const ControllerManager_1 = require("./ControllerManager");
14
- class Engine {
15
- _app = Express();
16
- get app() {
17
- return this._app;
18
- }
19
- _cfg = null;
20
- get cfg() {
21
- return this._cfg;
22
- }
23
- _server = null;
24
- _razorJs = null;
25
- _root_path = process.cwd();
26
- //停止服务器,暂时不接受任何请求
27
- _is_running = false;
28
- get isrunning() {
29
- return this._is_running;
30
- }
31
- constructor(cfg, razorJs) {
32
- this._cfg = cfg;
33
- this._razorJs = razorJs;
34
- }
35
- start() {
36
- let port = this._cfg.port;
37
- //let https = require("https");
38
- let fs = require("fs");
39
- if (!port) {
40
- Log_1.gLog.error(this._cfg);
41
- return;
42
- }
43
- if (this._cfg.ssl) {
44
- const httpsOption = {
45
- key: fs.readFileSync(Config_1.Config.rootDataDir + this._cfg.ssl.key),
46
- cert: fs.readFileSync(Config_1.Config.rootDataDir + this._cfg.ssl.crt)
47
- };
48
- https.createServer(httpsOption, this._app).listen(port, () => {
49
- this._is_running = true;
50
- Log_1.gLog.info("Server(" + this._cfg.web_name + ") running at https://127.0.0.1:" + port + "/");
51
- });
52
- }
53
- else {
54
- http.createServer(this._app).listen(port, () => {
55
- this._is_running = true;
56
- Log_1.gLog.info("Server(" + this._cfg.web_name + ") running at http://127.0.0.1:" + port + "/");
57
- });
58
- }
59
- this._app.use(cookieParser());
60
- this._app.use(Express.raw());
61
- this._app.use(Express.json({ limit: '10mb', verify(req, res, buf, encoding) {
62
- req["rawBody"] = buf;
63
- }, }));
64
- this._app.use(Express.urlencoded({ limit: '10mb', extended: false, verify(req, res, buf, encoding) {
65
- req["rawBody"] = buf;
66
- }, }));
67
- this._app.use((err, req, res, next) => {
68
- if (err) {
69
- Log_1.gLog.error(err);
70
- }
71
- next(err);
72
- });
73
- if (this._cfg.static) {
74
- for (let i = 0; i < this._cfg.static.length; ++i) {
75
- let item = this._cfg.static[i];
76
- this._app.use(item.route, Express.static(item.path));
77
- }
78
- }
79
- else {
80
- //默认
81
- this._app.use("/public", Express.static("./public"));
82
- }
83
- //处理跨域
84
- if (this._cfg.cors) {
85
- let origin = this._cfg.cors.origin || "*";
86
- if (this._cfg.cors.credentials == true && origin == "*") {
87
- origin = (origin, callback) => {
88
- callback(null, true);
89
- };
90
- }
91
- this._app.use(cors({
92
- origin: origin,
93
- methods: this._cfg.cors.methods || 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
94
- allowedHeaders: this._cfg.cors.allowedHeaders || ['Content-Type'],
95
- credentials: this._cfg.cors.credentials || false
96
- }));
97
- }
98
- this._app.all("/*", (req, res) => {
99
- let time = Date.now();
100
- this._onall(req, res).then(() => {
101
- if (this._cfg.debug) {
102
- let time_str = (Date.now() - time) + "ms";
103
- Log_1.gLog.info("[" + time_str + "] " + req.method + " " + req.url);
104
- }
105
- }).catch((err) => {
106
- res.sendStatus(500);
107
- let exreq = new Request_1.Request(req, this._cfg);
108
- let info = exreq.getDebugInfo();
109
- info["tip"] = "server error";
110
- Log_1.gLog.error(info);
111
- Log_1.gLog.error(err);
112
- });
113
- });
114
- }
115
- async _onall(_req, _res) {
116
- let httpinfo = this._preDoHttpInfo(_req, _res);
117
- if (!httpinfo) {
118
- return;
119
- }
120
- await this._callCtrAction(httpinfo.action_name, httpinfo.req, httpinfo.res);
121
- }
122
- _method_preactions = {
123
- "post": "on",
124
- "get": "show",
125
- "options": "onoptions",
126
- "head": "onhead"
127
- };
128
- /**
129
- * 预处理http请求信息
130
- * @param _req
131
- * @param _res
132
- * @returns
133
- */
134
- _preDoHttpInfo(_req, _res) {
135
- let req = new Request_1.Request(_req, this._cfg);
136
- let res = new Response_1.Response(_res, this._cfg);
137
- //禁止访问
138
- if (!this._is_running) {
139
- res.sendStatus(403);
140
- return;
141
- }
142
- let method = req.method.toLocaleLowerCase();
143
- let pre_action = this._method_preactions[method];
144
- if (!pre_action) {
145
- res.sendStatus(500);
146
- let info = req.getDebugInfo();
147
- info["tip"] = "not support method:" + method;
148
- Log_1.gLog.error(info);
149
- return null;
150
- }
151
- let action_name = ControllerManager_1.gCtrMgr.getActionName(req.module, req.controller, pre_action + req.action);
152
- if (!action_name) {
153
- res.sendStatus(500);
154
- let info = req.getDebugInfo();
155
- info["tip"] = "request has no action";
156
- Log_1.gLog.error(info);
157
- return null;
158
- }
159
- return {
160
- action_name: action_name,
161
- req: req,
162
- res: res
163
- };
164
- }
165
- async _callCtrAction(action_name, req, res) {
166
- let ctr = ControllerManager_1.gCtrMgr.getStaticCtr(req.module, req.controller);
167
- let cls_ctr = null;
168
- if (!ctr) {
169
- cls_ctr = ControllerManager_1.gCtrMgr.getClass(req.module, req.controller);
170
- }
171
- if (!ctr) {
172
- ctr = new cls_ctr(req, res, this);
173
- await ctr.init();
174
- }
175
- else {
176
- ctr.initStatic(req, res, this);
177
- }
178
- await ctr[action_name].call(ctr);
179
- }
180
- pause() {
181
- if (!this._is_running) {
182
- Log_1.gLog.error("webserver has paused:" + this._cfg.web_name);
183
- return;
184
- }
185
- this._is_running = false;
186
- Log_1.gLog.info("webserver paused:" + this._cfg.web_name);
187
- }
188
- resume() {
189
- if (this._is_running) {
190
- Log_1.gLog.error("webserver is running:" + this._cfg.web_name);
191
- return;
192
- }
193
- this._is_running = true;
194
- Log_1.gLog.info("webserver resumed:" + this._cfg.web_name);
195
- }
196
- getRenderHtml(req, res, datas) {
197
- let rootview = this._cfg.rootview || "view";
198
- if (!rootview.endsWith("/")) {
199
- rootview += "/";
200
- }
201
- let tmpl = rootview + req.controller.toLowerCase() + "/" + req.action.toLowerCase();
202
- let html = this._getRenderHtml(req, res, tmpl, datas);
203
- return html;
204
- }
205
- _getRenderHtml(req, res, tmpl, params) {
206
- let html = null;
207
- try {
208
- html = this._razorJs.render(req, res, tmpl, params, { compileDebug: true });
209
- html = html.replace(/\"~/g, "\"" + req.root);
210
- html = html.replace(/\'~/g, "\'" + req.root);
211
- }
212
- catch (e) {
213
- html = "error!" + e;
214
- }
215
- return html;
216
- }
217
- }
218
- exports.Engine = Engine;