cgserver 11.2.9 → 12.0.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 (61) hide show
  1. package/README.md +2 -0
  2. package/dist/lib/Framework/Server/ProtoFilter/GoogleProtoFilter.js +57 -0
  3. package/dist/lib/Framework/Server/ProtoFilter/IProtoFilter.js +9 -0
  4. package/dist/lib/Framework/Server/ProtoFilter/JsonProtoFilter.js +29 -0
  5. package/dist/lib/Framework/Server/ProtoFilter/ProtoFactory.js +35 -0
  6. package/dist/lib/Framework/Server/SocketServer/IClientSocket.js +44 -0
  7. package/dist/lib/Framework/Server/SocketServer/IServerSocket.js +95 -0
  8. package/dist/lib/Framework/Server/SocketServer/ISocket.js +222 -0
  9. package/dist/lib/Framework/Server/SocketServer/ISocketServer.js +144 -0
  10. package/dist/lib/Framework/Server/SocketServer/PacketParser.js +40 -0
  11. package/dist/lib/Framework/Server/WebServer/Controller/BaseController.js +119 -0
  12. package/dist/lib/Framework/Server/WebServer/Controller/MongoBaseUserController.js +171 -0
  13. package/dist/lib/Framework/Server/WebServer/Controller/MysqlBaseUserController.js +169 -0
  14. package/dist/lib/Framework/Server/WebServer/Engine/ControllerManager.js +115 -0
  15. package/dist/lib/Framework/Server/WebServer/Engine/Engine.js +218 -0
  16. package/dist/lib/Framework/Server/WebServer/Engine/RazorJs.js +543 -0
  17. package/dist/lib/Framework/Server/WebServer/Engine/Request.js +226 -0
  18. package/dist/lib/Framework/Server/WebServer/Engine/Response.js +87 -0
  19. package/dist/lib/Framework/Server/WebServer/IWebServer.js +55 -0
  20. package/dist/lib/Framework/Server/WebSocketServer/IClientWebSocket.js +44 -0
  21. package/dist/lib/Framework/Server/WebSocketServer/IRpc.js +36 -0
  22. package/dist/lib/Framework/Server/WebSocketServer/IRpcClientWebSocket.js +140 -0
  23. package/dist/lib/Framework/Server/WebSocketServer/IRpcServerWebSocket.js +82 -0
  24. package/dist/lib/Framework/Server/WebSocketServer/IServerWebSocket.js +95 -0
  25. package/dist/lib/Framework/Server/WebSocketServer/IWebSocket.js +215 -0
  26. package/dist/lib/Framework/Server/WebSocketServer/IWebSocketServer.js +214 -0
  27. package/dist/lib/Framework/ThirdParty/CgMq.js +1 -1
  28. package/dist/lib/Framework/cgserver.js +21 -8
  29. package/dist/lib/Framework/global.js +2 -2
  30. package/dist/lib/Framework/index_export_.js +31 -20
  31. package/dist/types/Framework/Server/ProtoFilter/GoogleProtoFilter.d.ts +9 -0
  32. package/dist/types/Framework/Server/ProtoFilter/IProtoFilter.d.ts +10 -0
  33. package/dist/types/Framework/Server/ProtoFilter/JsonProtoFilter.d.ts +6 -0
  34. package/dist/types/Framework/Server/ProtoFilter/ProtoFactory.d.ts +12 -0
  35. package/dist/types/Framework/Server/SocketServer/IClientSocket.d.ts +17 -0
  36. package/dist/types/Framework/Server/SocketServer/IServerSocket.d.ts +38 -0
  37. package/dist/types/Framework/Server/SocketServer/ISocket.d.ts +80 -0
  38. package/dist/types/Framework/Server/SocketServer/ISocketServer.d.ts +45 -0
  39. package/dist/types/Framework/Server/SocketServer/PacketParser.d.ts +9 -0
  40. package/dist/types/Framework/Server/WebServer/Controller/BaseController.d.ts +34 -0
  41. package/dist/types/Framework/Server/WebServer/Controller/MongoBaseUserController.d.ts +28 -0
  42. package/dist/types/Framework/Server/WebServer/Controller/MysqlBaseUserController.d.ts +27 -0
  43. package/dist/types/Framework/Server/WebServer/Engine/ControllerManager.d.ts +37 -0
  44. package/dist/types/Framework/Server/WebServer/Engine/Engine.d.ts +44 -0
  45. package/dist/types/Framework/Server/WebServer/Engine/RazorJs.d.ts +21 -0
  46. package/dist/types/Framework/Server/WebServer/Engine/Request.d.ts +50 -0
  47. package/dist/types/Framework/Server/WebServer/Engine/Response.d.ts +26 -0
  48. package/dist/types/Framework/Server/WebServer/IWebServer.d.ts +22 -0
  49. package/dist/types/Framework/Server/WebSocketServer/IClientWebSocket.d.ts +17 -0
  50. package/dist/types/Framework/Server/WebSocketServer/IRpc.d.ts +32 -0
  51. package/dist/types/Framework/Server/WebSocketServer/IRpcClientWebSocket.d.ts +29 -0
  52. package/dist/types/Framework/Server/WebSocketServer/IRpcServerWebSocket.d.ts +23 -0
  53. package/dist/types/Framework/Server/WebSocketServer/IServerWebSocket.d.ts +38 -0
  54. package/dist/types/Framework/Server/WebSocketServer/IWebSocket.d.ts +76 -0
  55. package/dist/types/Framework/Server/WebSocketServer/IWebSocketServer.d.ts +46 -0
  56. package/dist/types/Framework/ThirdParty/CgMq.d.ts +2 -2
  57. package/dist/types/Framework/ThirdParty/Rpc.d.ts +1 -1
  58. package/dist/types/Framework/cgserver.d.ts +7 -3
  59. package/dist/types/Framework/global.d.ts +2 -2
  60. package/dist/types/Framework/index_export_.d.ts +24 -19
  61. package/package.json +2 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EProtoType = exports.RedisManager = exports.RedisConfig = exports.MysqlConfig = exports.MongoConfig = exports.MSSqlConfig = exports.DbConfig = exports.MongoCacheService = exports.MongoCacheModel = exports.MongoUserModel = exports.MysqlUserModel = exports.MongoUserService = exports.MysqlUserService = exports.MongoAccountService = exports.MysqlAccountService = exports.EAccountFrom = exports.EUserState = exports.ERoleGroup = exports.SqlReturns = exports.SqlReturn = exports.MysqlBaseService = exports.MongoExt = exports.MongoManager = exports.MongoBaseModel = exports.MysqlBaseModel = exports.MongoBaseService = exports.EPropertyType = exports.Type = exports.Table = exports.Property = exports.PrimaryKey = exports.NotNull = exports.AutoIncrement = exports.Timer = exports.core = exports.IServerConfig = exports.FrameworkConfig = exports.Config = exports.FrameworkErrorCode = exports.Trigger = exports.Point = exports.Entity = exports.BehaviorAI = exports.AStar = exports.AiObject = exports.MongoServiceManager = exports.CgRankRankData = exports.CgRankRankItem = exports.CgRankCommandItem = exports.CgRankTool = void 0;
4
- exports.global = exports.SyncCallServer2 = exports.SyncCallServer = exports.SyncCall2 = exports.SyncCall = exports.IRpcClientWebSocket = exports.IRpcServerWebSocket = exports.RpcConfig = exports.CgMq = exports.Rpc = exports.RpcBaseMsg = exports.EAccountState = exports.WebServerConfig = exports.Response = exports.Request = exports.RazorJs = exports.Engine = exports.JsonCreatorValidate = exports.JsonAuthorityValidate = exports.JsonAdminValidate = exports.CreatorValidate = exports.AuthorityValidate = exports.AdminValidate = exports.MongoAccountModel = exports.MysqlAccountModel = exports.MongoBaseUserController = exports.MysqlBaseUserController = exports.BaseController = exports.IWebServer = exports.AlipayCallBack = exports.AlipayResult = exports.BaseMsg = exports.IWebSocket = exports.ISocketServer = exports.IClientWebSocket = exports.IServerWebSocket = exports.JsonProtoFilter = exports.GoogleProtoFilter = void 0;
4
+ exports.global = exports.SyncCallServer2 = exports.SyncCallServer = exports.SyncCall2 = exports.SyncCall = exports.IRpcClientWebSocket = exports.IRpcServerWebSocket = exports.RpcConfig = exports.CgMq = exports.Rpc = exports.RpcBaseMsg = exports.PacketParser = exports.ISocketServer = exports.ISocket = exports.IServerSocket = exports.IClientSocket = exports.EAccountState = exports.WebServerConfig = exports.Response = exports.Request = exports.RazorJs = exports.Engine = exports.JsonCreatorValidate = exports.JsonAuthorityValidate = exports.JsonAdminValidate = exports.CreatorValidate = exports.AuthorityValidate = exports.AdminValidate = exports.MongoAccountModel = exports.MysqlAccountModel = exports.MongoBaseUserController = exports.MysqlBaseUserController = exports.BaseController = exports.IWebServer = exports.AlipayCallBack = exports.AlipayResult = exports.BaseMsg = exports.IWebSocket = exports.IWebSocketServer = exports.IClientWebSocket = exports.IServerWebSocket = exports.JsonProtoFilter = exports.GoogleProtoFilter = void 0;
5
5
  var CgRankTool_1 = require("./ThirdParty/CgRankTool");
6
6
  Object.defineProperty(exports, "CgRankTool", { enumerable: true, get: function () { return CgRankTool_1.CgRankTool; } });
7
7
  Object.defineProperty(exports, "CgRankCommandItem", { enumerable: true, get: function () { return CgRankTool_1.CgRankCommandItem; } });
@@ -91,31 +91,31 @@ Object.defineProperty(exports, "MysqlConfig", { enumerable: true, get: function
91
91
  var RedisManager_1 = require("./Database/Redis/RedisManager");
92
92
  Object.defineProperty(exports, "RedisConfig", { enumerable: true, get: function () { return RedisManager_1.RedisConfig; } });
93
93
  Object.defineProperty(exports, "RedisManager", { enumerable: true, get: function () { return RedisManager_1.RedisManager; } });
94
- var IProtoFilter_1 = require("./SocketServer/ProtoFilter/IProtoFilter");
94
+ var IProtoFilter_1 = require("./Server/ProtoFilter/IProtoFilter");
95
95
  Object.defineProperty(exports, "EProtoType", { enumerable: true, get: function () { return IProtoFilter_1.EProtoType; } });
96
- var GoogleProtoFilter_1 = require("./SocketServer/ProtoFilter/GoogleProtoFilter");
96
+ var GoogleProtoFilter_1 = require("./Server/ProtoFilter/GoogleProtoFilter");
97
97
  Object.defineProperty(exports, "GoogleProtoFilter", { enumerable: true, get: function () { return GoogleProtoFilter_1.GoogleProtoFilter; } });
98
- var JsonProtoFilter_1 = require("./SocketServer/ProtoFilter/JsonProtoFilter");
98
+ var JsonProtoFilter_1 = require("./Server/ProtoFilter/JsonProtoFilter");
99
99
  Object.defineProperty(exports, "JsonProtoFilter", { enumerable: true, get: function () { return JsonProtoFilter_1.JsonProtoFilter; } });
100
- var IServerWebSocket_1 = require("./SocketServer/IServerWebSocket");
100
+ var IServerWebSocket_1 = require("./Server/WebSocketServer/IServerWebSocket");
101
101
  Object.defineProperty(exports, "IServerWebSocket", { enumerable: true, get: function () { return IServerWebSocket_1.IServerWebSocket; } });
102
- var IClientWebSocket_1 = require("./SocketServer/IClientWebSocket");
102
+ var IClientWebSocket_1 = require("./Server/WebSocketServer/IClientWebSocket");
103
103
  Object.defineProperty(exports, "IClientWebSocket", { enumerable: true, get: function () { return IClientWebSocket_1.IClientWebSocket; } });
104
- var ISocketServer_1 = require("./SocketServer/ISocketServer");
105
- Object.defineProperty(exports, "ISocketServer", { enumerable: true, get: function () { return ISocketServer_1.ISocketServer; } });
106
- var IWebSocket_1 = require("./SocketServer/IWebSocket");
104
+ var IWebSocketServer_1 = require("./Server/WebSocketServer/IWebSocketServer");
105
+ Object.defineProperty(exports, "IWebSocketServer", { enumerable: true, get: function () { return IWebSocketServer_1.IWebSocketServer; } });
106
+ var IWebSocket_1 = require("./Server/WebSocketServer/IWebSocket");
107
107
  Object.defineProperty(exports, "IWebSocket", { enumerable: true, get: function () { return IWebSocket_1.IWebSocket; } });
108
108
  Object.defineProperty(exports, "BaseMsg", { enumerable: true, get: function () { return IWebSocket_1.BaseMsg; } });
109
109
  var AlipayTool_1 = require("./ThirdParty/AlipayTool");
110
110
  Object.defineProperty(exports, "AlipayResult", { enumerable: true, get: function () { return AlipayTool_1.AlipayResult; } });
111
111
  Object.defineProperty(exports, "AlipayCallBack", { enumerable: true, get: function () { return AlipayTool_1.AlipayCallBack; } });
112
- var IWebServer_1 = require("./WebServer/IWebServer");
112
+ var IWebServer_1 = require("./Server/WebServer/IWebServer");
113
113
  Object.defineProperty(exports, "IWebServer", { enumerable: true, get: function () { return IWebServer_1.IWebServer; } });
114
- var BaseController_1 = require("./WebServer/Controller/BaseController");
114
+ var BaseController_1 = require("./Server/WebServer/Controller/BaseController");
115
115
  Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return BaseController_1.BaseController; } });
116
- var MysqlBaseUserController_1 = require("./WebServer/Controller/MysqlBaseUserController");
116
+ var MysqlBaseUserController_1 = require("./Server/WebServer/Controller/MysqlBaseUserController");
117
117
  Object.defineProperty(exports, "MysqlBaseUserController", { enumerable: true, get: function () { return MysqlBaseUserController_1.MysqlBaseUserController; } });
118
- var MongoBaseUserController_1 = require("./WebServer/Controller/MongoBaseUserController");
118
+ var MongoBaseUserController_1 = require("./Server/WebServer/Controller/MongoBaseUserController");
119
119
  Object.defineProperty(exports, "MongoBaseUserController", { enumerable: true, get: function () { return MongoBaseUserController_1.MongoBaseUserController; } });
120
120
  var MysqlAccountService_2 = require("./Service/MysqlAccountService");
121
121
  Object.defineProperty(exports, "MysqlAccountModel", { enumerable: true, get: function () { return MysqlAccountService_2.MysqlAccountModel; } });
@@ -133,28 +133,39 @@ var JsonAuthorityValidate_1 = require("./Decorator/JsonAuthorityValidate");
133
133
  Object.defineProperty(exports, "JsonAuthorityValidate", { enumerable: true, get: function () { return JsonAuthorityValidate_1.JsonAuthorityValidate; } });
134
134
  var JsonCreatorValidate_1 = require("./Decorator/JsonCreatorValidate");
135
135
  Object.defineProperty(exports, "JsonCreatorValidate", { enumerable: true, get: function () { return JsonCreatorValidate_1.JsonCreatorValidate; } });
136
- var Engine_1 = require("./WebServer/Engine/Engine");
136
+ var Engine_1 = require("./Server/WebServer/Engine/Engine");
137
137
  Object.defineProperty(exports, "Engine", { enumerable: true, get: function () { return Engine_1.Engine; } });
138
- var RazorJs_1 = require("./WebServer/Engine/RazorJs");
138
+ var RazorJs_1 = require("./Server/WebServer/Engine/RazorJs");
139
139
  Object.defineProperty(exports, "RazorJs", { enumerable: true, get: function () { return RazorJs_1.RazorJs; } });
140
- var Request_1 = require("./WebServer/Engine/Request");
140
+ var Request_1 = require("./Server/WebServer/Engine/Request");
141
141
  Object.defineProperty(exports, "Request", { enumerable: true, get: function () { return Request_1.Request; } });
142
- var Response_1 = require("./WebServer/Engine/Response");
142
+ var Response_1 = require("./Server/WebServer/Engine/Response");
143
143
  Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return Response_1.Response; } });
144
144
  var FrameworkConfig_2 = require("./Config/FrameworkConfig");
145
145
  Object.defineProperty(exports, "WebServerConfig", { enumerable: true, get: function () { return FrameworkConfig_2.WebServerConfig; } });
146
146
  var ini_2 = require("./Service/ini");
147
147
  Object.defineProperty(exports, "EAccountState", { enumerable: true, get: function () { return ini_2.EAccountState; } });
148
- var IRpc_1 = require("./SocketServer/IRpc");
148
+ //////////socketserver相关
149
+ var IClientSocket_1 = require("./Server/SocketServer/IClientSocket");
150
+ Object.defineProperty(exports, "IClientSocket", { enumerable: true, get: function () { return IClientSocket_1.IClientSocket; } });
151
+ var IServerSocket_1 = require("./Server/SocketServer/IServerSocket");
152
+ Object.defineProperty(exports, "IServerSocket", { enumerable: true, get: function () { return IServerSocket_1.IServerSocket; } });
153
+ var ISocket_1 = require("./Server/SocketServer/ISocket");
154
+ Object.defineProperty(exports, "ISocket", { enumerable: true, get: function () { return ISocket_1.ISocket; } });
155
+ var ISocketServer_1 = require("./Server/SocketServer/ISocketServer");
156
+ Object.defineProperty(exports, "ISocketServer", { enumerable: true, get: function () { return ISocketServer_1.ISocketServer; } });
157
+ var PacketParser_1 = require("./Server/SocketServer/PacketParser");
158
+ Object.defineProperty(exports, "PacketParser", { enumerable: true, get: function () { return PacketParser_1.PacketParser; } });
159
+ var IRpc_1 = require("./Server/WebSocketServer/IRpc");
149
160
  Object.defineProperty(exports, "RpcBaseMsg", { enumerable: true, get: function () { return IRpc_1.RpcMsg; } });
150
161
  var Rpc_1 = require("./ThirdParty/Rpc");
151
162
  Object.defineProperty(exports, "Rpc", { enumerable: true, get: function () { return Rpc_1.Rpc; } });
152
163
  var CgMq_1 = require("./ThirdParty/CgMq");
153
164
  Object.defineProperty(exports, "CgMq", { enumerable: true, get: function () { return CgMq_1.CgMq; } });
154
165
  Object.defineProperty(exports, "RpcConfig", { enumerable: true, get: function () { return CgMq_1.RpcConfig; } });
155
- var IRpcServerWebSocket_1 = require("./SocketServer/IRpcServerWebSocket");
166
+ var IRpcServerWebSocket_1 = require("./Server/WebSocketServer/IRpcServerWebSocket");
156
167
  Object.defineProperty(exports, "IRpcServerWebSocket", { enumerable: true, get: function () { return IRpcServerWebSocket_1.IRpcServerWebSocket; } });
157
- var IRpcClientWebSocket_1 = require("./SocketServer/IRpcClientWebSocket");
168
+ var IRpcClientWebSocket_1 = require("./Server/WebSocketServer/IRpcClientWebSocket");
158
169
  Object.defineProperty(exports, "IRpcClientWebSocket", { enumerable: true, get: function () { return IRpcClientWebSocket_1.IRpcClientWebSocket; } });
159
170
  var SyncCall_1 = require("./Decorator/SyncCall");
160
171
  Object.defineProperty(exports, "SyncCall", { enumerable: true, get: function () { return SyncCall_1.SyncCall; } });
@@ -0,0 +1,9 @@
1
+ import { IProtoFilter } from './IProtoFilter';
2
+ import * as protobufjs from 'protobufjs';
3
+ export declare class GoogleProtoFilter implements IProtoFilter {
4
+ protected _root: protobufjs.Root;
5
+ protected _inited: boolean;
6
+ init(path?: string): boolean;
7
+ encode(data: any, root: string): Uint8Array;
8
+ decode(data: any, root: string): any;
9
+ }
@@ -0,0 +1,10 @@
1
+ export declare enum EProtoType {
2
+ Json = 1,
3
+ GoogleProtoBuffer = 2,
4
+ Custom = 3
5
+ }
6
+ export interface IProtoFilter {
7
+ init(path?: string): boolean;
8
+ encode(data: any, ...params: any[]): any;
9
+ decode(data: any, ...params: any[]): any;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { IProtoFilter } from './IProtoFilter';
2
+ export declare class JsonProtoFilter implements IProtoFilter {
3
+ init(path?: string): boolean;
4
+ encode(data: any): any;
5
+ decode(data: any): any;
6
+ }
@@ -0,0 +1,12 @@
1
+ import { IProtoFilter } from './IProtoFilter';
2
+ import { EProtoType } from "./IProtoFilter";
3
+ type ProtoFilterClass = new () => IProtoFilter;
4
+ export declare class ProtoFactory {
5
+ protected _filters: Map<EProtoType, IProtoFilter>;
6
+ protected _type_filter_classes: Map<EProtoType, ProtoFilterClass>;
7
+ constructor();
8
+ registerFilter(type: EProtoType, proto_filter_class: ProtoFilterClass): void;
9
+ createFilter(type: EProtoType): IProtoFilter;
10
+ }
11
+ export declare let gProtoFactory: ProtoFactory;
12
+ export {};
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { ISocketServer } from './ISocketServer';
3
+ import { ISocket } from './ISocket';
4
+ import { EProtoType } from '../ProtoFilter/IProtoFilter';
5
+ /**
6
+ * 服务器接收到的客户端的连接
7
+ * 客户端的session对象
8
+ */
9
+ export declare class IClientSocket extends ISocket {
10
+ protected _server: ISocketServer;
11
+ get server(): ISocketServer;
12
+ constructor(server: ISocketServer, protoType?: EProtoType, protoPath?: string);
13
+ onClose(reasonCode: number, description: string): void;
14
+ broadCast(data: any): void;
15
+ protected _onDecode(message: Buffer, ...params: any[]): any;
16
+ protected _onEncode(data: any, ...params: any[]): any;
17
+ }
@@ -0,0 +1,38 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { ISocket } from './ISocket';
4
+ import { EProtoType } from '../ProtoFilter/IProtoFilter';
5
+ import * as http from "http";
6
+ /**
7
+ * 连接到服务器的websocket
8
+ * 默认自动重连
9
+ */
10
+ export declare class IServerSocket extends ISocket {
11
+ protected _host: string;
12
+ /**
13
+ * 连接的服务器地址
14
+ */
15
+ get host(): string;
16
+ protected _port: number;
17
+ /**
18
+ * 连接的服务器端口
19
+ */
20
+ get port(): number;
21
+ protected _requestedProtocols: string | string[];
22
+ get requestedProtocols(): string | string[];
23
+ protected _origin: string;
24
+ get origin(): string;
25
+ protected _headers: http.OutgoingHttpHeaders;
26
+ get headers(): http.OutgoingHttpHeaders;
27
+ protected _extraRequestOptions: http.RequestOptions;
28
+ get extraRequestOptions(): http.RequestOptions;
29
+ protected _need_close: boolean;
30
+ constructor(protoType?: EProtoType, protoPath?: string);
31
+ connect(domain: string, port: number, requestedProtocols?: string | string[], origin?: string, headers?: http.OutgoingHttpHeaders, extraRequestOptions?: http.RequestOptions): void;
32
+ protected _connect(): void;
33
+ onOpen(e?: any): void;
34
+ onClose(reasonCode: number, description: string): boolean;
35
+ close(): void;
36
+ protected _onDecode(message: Buffer, ...params: any[]): any;
37
+ protected _onEncode(data: any, ...params: any[]): any;
38
+ }
@@ -0,0 +1,80 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { IProtoFilter, EProtoType } from "../ProtoFilter/IProtoFilter";
4
+ import * as net from "net";
5
+ import { PacketParser } from "./PacketParser";
6
+ export declare class BaseMsg {
7
+ cmd: string;
8
+ errcode?: {
9
+ id: number;
10
+ des: string;
11
+ };
12
+ servertime: number;
13
+ constructor(cmd: string, errcode?: {
14
+ id: number;
15
+ des: string;
16
+ });
17
+ }
18
+ export declare class ISocket {
19
+ /**
20
+ * 是否同步消息
21
+ * 默认为true
22
+ */
23
+ protected _is_sync_msg: boolean;
24
+ get isSynMsg(): boolean;
25
+ protected _debug_msg: boolean;
26
+ get debug_msg(): boolean;
27
+ set debug_msg(value: boolean);
28
+ protected _socket_id: number;
29
+ get socketId(): number;
30
+ protected _tipKey: string;
31
+ get tipKey(): string;
32
+ protected _socket: net.Socket;
33
+ get socket(): net.Socket;
34
+ protected _protoType: EProtoType;
35
+ protected _protoFilter: IProtoFilter;
36
+ protected _protoPath: string;
37
+ protected _ip: string;
38
+ get remoteHost(): string;
39
+ get connected(): boolean;
40
+ protected _nodebugmsgs: {
41
+ [cmd: string]: boolean;
42
+ };
43
+ protected _packetParser: PacketParser;
44
+ constructor(protoType?: EProtoType, protoPath?: string);
45
+ getNewMsg(cmd: string, errcode?: {
46
+ id: number;
47
+ des: string;
48
+ }): BaseMsg | any;
49
+ receive_heartbeat(jsonData: any): void;
50
+ send_heartbeat(): void;
51
+ onConnect(_socket: net.Socket): void;
52
+ protected _onData(message: Buffer): void;
53
+ onMessage(message: Buffer): void;
54
+ protected _onDecode(message: Buffer, ...params: any[]): any;
55
+ protected _onEncode(data: any, ...params: any[]): any;
56
+ /**
57
+ * 过滤消息,每个消息处理之前调用
58
+ * @param msg
59
+ * @returns
60
+ */
61
+ filterMsg(msg: BaseMsg): boolean;
62
+ protected _onMessage(data: any): Promise<void>;
63
+ onOpen(e?: any): void;
64
+ onError(e: Error): void;
65
+ onClose(reasonCode: number, description: string): void;
66
+ filterSendMsg(msg: BaseMsg): boolean;
67
+ send(msg: BaseMsg): void;
68
+ /**
69
+ * Close the connection. A close frame will be sent to the remote peer indicating
70
+ * that we wish to close the connection, and we will then wait for up to
71
+ * `config.closeTimeout` milliseconds for an acknowledgment from the remote peer
72
+ * before terminating the underlying socket connection.
73
+ */
74
+ close(reasonCode?: number, description?: string): void;
75
+ /**
76
+ * Send a close frame to the remote peer and immediately close the socket without
77
+ * waiting for a response. This should generally be used only in error conditions.
78
+ */
79
+ drop(reasonCode?: number, description?: string, skipCloseFrame?: boolean): void;
80
+ }
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ import { IServerConfig } from '../../Config/IServerConfig';
3
+ import { BaseMsg } from './ISocket';
4
+ import * as net from 'net';
5
+ import { IClientSocket } from './IClientSocket';
6
+ export declare class ISocketServer {
7
+ protected _cfg: IServerConfig;
8
+ get cfg(): IServerConfig;
9
+ protected _is_runging: boolean;
10
+ get isrunging(): boolean;
11
+ get name(): string;
12
+ private _listening_socket;
13
+ get listeningSocket(): net.Server;
14
+ protected _ws_clients: {
15
+ [socketid: number]: IClientSocket;
16
+ };
17
+ get listenPort(): number;
18
+ /**
19
+ * websocket can accepted protocol
20
+ */
21
+ protected _accepted_protocol: any;
22
+ protected _cls: any;
23
+ registerSocketHandleClass(cls: any): void;
24
+ constructor(cfg: IServerConfig);
25
+ removeServerSocketBySocketId(socketId: number): void;
26
+ run(): Promise<void>;
27
+ pause(): void;
28
+ resume(): void;
29
+ addClient(ws_client: IClientSocket): void;
30
+ initSocket(wss?: any): void;
31
+ onClose(): void;
32
+ onListenning(): void;
33
+ onConnection(socket: net.Socket): void;
34
+ createSocketObjectByProtocol(socket: net.Socket): IClientSocket;
35
+ /**
36
+ * 广播消息
37
+ * @param msg
38
+ */
39
+ broadCast(msg: BaseMsg): void;
40
+ /**
41
+ * 获取任意客户端连接
42
+ * @returns
43
+ */
44
+ getAnyWebSocket(): IClientSocket;
45
+ }
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ export declare class PacketParser {
3
+ private buffer;
4
+ private offset;
5
+ constructor();
6
+ push(chunk: Buffer): void;
7
+ parse(): Buffer | null;
8
+ pack(data: Buffer): Buffer;
9
+ }
@@ -0,0 +1,34 @@
1
+ import { Engine } from '../Engine/Engine';
2
+ import { Request } from '../Engine/Request';
3
+ import { Response } from '../Engine/Response';
4
+ export declare class BaseController {
5
+ protected _request: Request;
6
+ get request(): Request;
7
+ protected _response: Response;
8
+ get response(): Response;
9
+ protected _module: string;
10
+ protected _ctr_name: string;
11
+ get ctrName(): string;
12
+ protected _engine: Engine;
13
+ get postData(): any;
14
+ get paramData(): any;
15
+ constructor(req: Request, res: Response, engine: Engine);
16
+ init(): Promise<void>;
17
+ /**
18
+ * 方便static ctr使用
19
+ * @param req
20
+ * @param res
21
+ * @param engine
22
+ */
23
+ initStatic(req: Request, res: Response, engine: Engine): void;
24
+ protected _init_data(model?: any): {
25
+ model: any;
26
+ };
27
+ showJson(model?: any): void;
28
+ show(model?: any): void;
29
+ showText(text: any, noMeta?: boolean): void;
30
+ redirect(module?: string, controller?: string, action?: string, params?: any): void;
31
+ parseFullUrl(module: string, controller: string, action: string): string;
32
+ get remoteHost(): string;
33
+ forceDebug(): void;
34
+ }
@@ -0,0 +1,28 @@
1
+ import { BaseController } from './BaseController';
2
+ import { MongoUserModel, MongoUserService } from '../../../Service/MongoUserService';
3
+ export declare class MongoBaseUserController<T extends MongoUserModel> extends BaseController {
4
+ protected _user_session_id: string;
5
+ protected _self_user: T;
6
+ protected _user: T;
7
+ protected _session_id: string;
8
+ protected _userser: MongoUserService<MongoUserModel>;
9
+ get selfUser(): T;
10
+ get isSelf(): boolean;
11
+ get isLogin(): boolean;
12
+ get isCreator(): boolean;
13
+ get isAdmin(): boolean;
14
+ get isProxy(): boolean;
15
+ get isCommon(): boolean;
16
+ init(): Promise<void>;
17
+ protected _getUserBySession(session: string): Promise<T>;
18
+ protected _logout(): void;
19
+ protected _login(user: T): void;
20
+ /**
21
+ * 已经被启用
22
+ */
23
+ protected _update_session(): Promise<void>;
24
+ update_user(user_id: number): Promise<void>;
25
+ protected _init_data(datas: any): {
26
+ model: any;
27
+ };
28
+ }
@@ -0,0 +1,27 @@
1
+ import { BaseController } from './BaseController';
2
+ import { MysqlUserModel } from '../../../Service/MysqlUserService';
3
+ export declare class MysqlBaseUserController<T extends MysqlUserModel> extends BaseController {
4
+ protected _user_session_id: string;
5
+ protected _self_user: T;
6
+ protected _user: T;
7
+ protected _session_id: string;
8
+ get selfUser(): T;
9
+ get isSelf(): boolean;
10
+ get isLogin(): boolean;
11
+ get isCreator(): boolean;
12
+ get isAdmin(): boolean;
13
+ get isProxy(): boolean;
14
+ get isCommon(): boolean;
15
+ init(): Promise<void>;
16
+ protected _getUserBySession(session: string): Promise<T>;
17
+ protected _logout(): void;
18
+ protected _login(user: T): void;
19
+ /**
20
+ * 已经被启用
21
+ */
22
+ protected _update_session(): Promise<void>;
23
+ update_user(user_id: number): Promise<void>;
24
+ protected _init_data(datas: any): {
25
+ model: any;
26
+ };
27
+ }
@@ -0,0 +1,37 @@
1
+ import { BaseController } from "../Controller/BaseController";
2
+ /**
3
+ * web服务中mvc的控制器管理器
4
+ */
5
+ export declare class ControllerManager {
6
+ protected _static_ctr: {
7
+ [module_name: string]: {
8
+ [ctrname: string]: BaseController;
9
+ };
10
+ };
11
+ protected _ctr_cls: {
12
+ [module_name: string]: {
13
+ [ctrname: string]: any;
14
+ };
15
+ };
16
+ protected _cache_action_names: {
17
+ [module: string]: {
18
+ [ctrname: string]: {
19
+ [lower: string]: string;
20
+ };
21
+ };
22
+ };
23
+ registerController(module_name: string, ctr_name: string, cls: any): void;
24
+ protected _cacheActionName(module_name: string, ctr_name: string, cls: Function): void;
25
+ getActionName(module_name: string, ctr_name: string, action_name: string): string;
26
+ /**
27
+ * 静态ctr,这样,ctr就不会被多次创建
28
+ * @param module_name
29
+ * @param ctr_name
30
+ * @param obj
31
+ */
32
+ registerStaticController(module_name: string, ctr_name: string, obj: BaseController): void;
33
+ protected _cacheActionNameForStatic(module_name: string, ctr_name: string, obj: BaseController): void;
34
+ getStaticCtr(module_name: string, controller_name: string): BaseController;
35
+ getClass(module_name: string, controller_name: string): any;
36
+ }
37
+ export declare let gCtrMgr: ControllerManager;
@@ -0,0 +1,44 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="cookie-parser" />
3
+ import { Response } from './Response';
4
+ import { Request } from './Request';
5
+ import { RazorJs } from './RazorJs';
6
+ import * as http from "http";
7
+ import { WebServerConfig } from '../../../Config/FrameworkConfig';
8
+ import * as Express from 'express';
9
+ export declare class Engine {
10
+ protected _app: import("express-serve-static-core").Express;
11
+ get app(): import("express-serve-static-core").Express;
12
+ protected _cfg: WebServerConfig;
13
+ get cfg(): WebServerConfig;
14
+ protected _server: http.Server;
15
+ protected _razorJs: RazorJs;
16
+ protected _root_path: string;
17
+ protected _is_running: boolean;
18
+ get isrunning(): boolean;
19
+ constructor(cfg: WebServerConfig, razorJs: RazorJs);
20
+ start(): void;
21
+ protected _onall(_req: Express.Request, _res: Express.Response): Promise<void>;
22
+ protected _method_preactions: {
23
+ post: string;
24
+ get: string;
25
+ options: string;
26
+ head: string;
27
+ };
28
+ /**
29
+ * 预处理http请求信息
30
+ * @param _req
31
+ * @param _res
32
+ * @returns
33
+ */
34
+ protected _preDoHttpInfo(_req: Express.Request, _res: Express.Response): {
35
+ action_name: string;
36
+ req: Request;
37
+ res: Response;
38
+ };
39
+ protected _callCtrAction(action_name: string, req: Request, res: Response): Promise<void>;
40
+ pause(): void;
41
+ resume(): void;
42
+ getRenderHtml(req: Request, res: Response, datas: any): any;
43
+ protected _getRenderHtml(req: Request, res: Response, tmpl: string, params: any): any;
44
+ }
@@ -0,0 +1,21 @@
1
+ export declare class RazorJs {
2
+ protected _request: any;
3
+ protected _response: any;
4
+ cache: {
5
+ _data: {};
6
+ set: (key: any, val: any) => void;
7
+ get: (key: any) => any;
8
+ reset: () => void;
9
+ };
10
+ localsName: string;
11
+ constructor();
12
+ resolveInclude(name: any, filename: any): any;
13
+ _handleCache(options: any, template?: any): any;
14
+ includeFile(path: any, options: any): any;
15
+ includeSource(path: any, options: any): string;
16
+ _cpOptsInData(data: any, opts: any): void;
17
+ compile(template: any, opts: any): any;
18
+ render(req: any, res: any, tmpl_path: any, data: any, opts: any): any;
19
+ renderFile(): any;
20
+ clearCache(): void;
21
+ }
@@ -0,0 +1,50 @@
1
+ /// <reference types="cookie-parser" />
2
+ /// <reference types="qs" />
3
+ /// <reference types="node" />
4
+ import * as Express from 'express';
5
+ import { WebServerConfig } from "../../../Config/FrameworkConfig";
6
+ export declare class Request {
7
+ protected _req: Express.Request;
8
+ get baseReq(): Express.Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
9
+ protected _cfg: WebServerConfig;
10
+ protected _post_cb: () => void;
11
+ set onPost(value: any);
12
+ protected _module: string;
13
+ get module(): string;
14
+ protected _controller: string;
15
+ get controller(): string;
16
+ protected _action: string;
17
+ get action(): string;
18
+ protected _suffix: string;
19
+ get suffix(): string;
20
+ protected _file_url: any;
21
+ get fileUrl(): any;
22
+ protected _params: any;
23
+ get params(): any;
24
+ /**
25
+ * 原始body字符串
26
+ */
27
+ get rawBody(): any;
28
+ get postData(): any;
29
+ get url(): string;
30
+ get root(): string;
31
+ get method(): string;
32
+ get headers(): import("http").IncomingHttpHeaders;
33
+ get remoteHost(): string;
34
+ constructor(req: Express.Request, cfg: WebServerConfig);
35
+ getCookie(key: string): any;
36
+ protected _init(): void;
37
+ protected _addListener(event: string | symbol, listener: (...args: any[]) => void): void;
38
+ protected _parseParams(path: string): void;
39
+ getDebugInfo(): {
40
+ module: string;
41
+ controller: string;
42
+ action: string;
43
+ suffix: string;
44
+ file_url: any;
45
+ params: any;
46
+ post: any;
47
+ method: string;
48
+ };
49
+ debugInfo(force?: boolean): void;
50
+ }
@@ -0,0 +1,26 @@
1
+ import * as Express from 'express';
2
+ import { WebServerConfig } from "../../../Config/FrameworkConfig";
3
+ export declare class Response {
4
+ protected _res: Express.Response;
5
+ protected _cookie_prefix: string;
6
+ protected _cfg: WebServerConfig;
7
+ debug: boolean;
8
+ get baseRes(): Express.Response<any, Record<string, any>>;
9
+ constructor(res: Express.Response, cfg: WebServerConfig);
10
+ /**
11
+ *
12
+ * @param key
13
+ * @param value
14
+ * @param time 秒
15
+ */
16
+ setCookie(key: string, value: any, time?: any): void;
17
+ clearCookie(key: string): void;
18
+ redirect(path: string): void;
19
+ render(data: any): Express.Response<any, Record<string, any>>;
20
+ renderJson(data: any): Express.Response<any, Record<string, any>>;
21
+ sendStatus(status: number): void;
22
+ renderHtml(html: string): Express.Response<any, Record<string, any>>;
23
+ renderFile(fullPath: string): void;
24
+ downloadFile(fullPath: string): void;
25
+ debugInfo(data: any): void;
26
+ }
@@ -0,0 +1,22 @@
1
+ import { Engine } from './Engine/Engine';
2
+ import { WebServerConfig } from '../../Config/FrameworkConfig';
3
+ import { DbConfig } from '../../index_export_';
4
+ export declare class IWebServer {
5
+ protected _engine: Engine;
6
+ /**
7
+ * 启动服务器
8
+ * @param server_index 这个是服务器的配置index
9
+ */
10
+ start(cfg: WebServerConfig, dbcfg?: DbConfig): Promise<boolean>;
11
+ pause(): void;
12
+ resume(): void;
13
+ /**
14
+ * 注册控制器
15
+ * eg:GControllerMgr.registerController("Admin","System",SystemController)
16
+ */
17
+ protected _registerController(): void;
18
+ /**
19
+ * 注册路由
20
+ */
21
+ protected _registerRouter(): void;
22
+ }