knight-server 1.0.4 → 1.0.5

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.
@@ -17,8 +17,10 @@ export declare abstract class AbstractRouter extends AbstractObject {
17
17
  export interface RouterData {
18
18
  /** 路径 */
19
19
  path: string;
20
+ /** 路由类型 */
21
+ type: InterfaceUtility.IType<AbstractRouter>;
20
22
  }
21
- export declare const RouteRegistry: Array<InterfaceUtility.IType<AbstractRouter>>;
23
+ export declare const RouteRegistry: Array<RouterData>;
22
24
  /** 注册路由 */
23
- export declare function OnRegister(): <T extends InterfaceUtility.IType<AbstractRouter>>(constructor: T) => void;
25
+ export declare function OnRegister(path: string): <T extends InterfaceUtility.IType<AbstractRouter>>(constructor: T) => void;
24
26
  //# sourceMappingURL=AbstractRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRouter.d.ts","sourceRoot":"","sources":["../../src/base/AbstractRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,aAAa;AACb,8BAAsB,cAAe,SAAQ,cAAc;IAEvD,WAAW;IACX,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,WAAW;gBACQ,MAAM,EAAE,MAAM;IAKjC,WAAW;aACK,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9D,WAAW;aACK,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,SAAS,IAAI,IAAI;CAK3B;AACD,WAAW;AACX,MAAM,WAAW,UAAU;IAEvB,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAuD,CAAC;AAChI,WAAW;AACX,wBAAgB,UAAU,KAEL,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,KAAG,IAAI,CAI3F"}
1
+ {"version":3,"file":"AbstractRouter.d.ts","sourceRoot":"","sources":["../../src/base/AbstractRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,aAAa;AACb,8BAAsB,cAAe,SAAQ,cAAc;IAEvD,WAAW;IACX,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,WAAW;gBACQ,MAAM,EAAE,MAAM;IAKjC,WAAW;aACK,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9D,WAAW;aACK,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,SAAS,IAAI,IAAI;CAK3B;AACD,WAAW;AACX,MAAM,WAAW,UAAU;IAEvB,SAAS;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,UAAU,CAA2B,CAAC;AACxE,WAAW;AACX,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,IAElB,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,KAAG,IAAI,CAO3F"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RouteRegistry = exports.AbstractRouter = void 0;
4
4
  exports.OnRegister = OnRegister;
5
5
  const AbstractObject_1 = require("./AbstractObject");
6
+ const utility_1 = require("../utility");
6
7
  /** 抽象路由基类 */
7
8
  class AbstractRouter extends AbstractObject_1.AbstractObject {
8
9
  /** 构造函数 */
@@ -18,9 +19,14 @@ exports.AbstractRouter = AbstractRouter;
18
19
  // 路由注册表(全局收集被 @OnRegister 装饰的类)
19
20
  exports.RouteRegistry = new Array();
20
21
  /** 注册路由 */
21
- function OnRegister() {
22
+ function OnRegister(path) {
22
23
  return function (constructor) {
23
- exports.RouteRegistry.push(constructor);
24
+ if (utility_1.StringUtility.empty(path)) {
25
+ return;
26
+ }
27
+ const normalizedPath = path.startsWith('/') ? path : '/' + path;
28
+ const lowerCaseNormalizedPath = normalizedPath.toLowerCase();
29
+ exports.RouteRegistry.push({ path: lowerCaseNormalizedPath, type: constructor });
24
30
  };
25
31
  }
26
32
  //# sourceMappingURL=AbstractRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractRouter.js","sourceRoot":"","sources":["../../src/base/AbstractRouter.ts"],"names":[],"mappings":";;;AAoCA,gCAMC;AA1CD,qDAAkD;AAIlD,aAAa;AACb,MAAsB,cAAe,SAAQ,+BAAc;IAKvD,WAAW;IACX,YAAmB,MAAc;QAE7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAMM,SAAS;QAEZ,KAAK,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;CAEJ;AArBD,wCAqBC;AAOD,gCAAgC;AACnB,QAAA,aAAa,GAAkD,IAAI,KAAK,EAA0C,CAAC;AAChI,WAAW;AACX,SAAgB,UAAU;IAEtB,OAAO,UAA4D,WAAc;QAE7E,qBAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"AbstractRouter.js","sourceRoot":"","sources":["../../src/base/AbstractRouter.ts"],"names":[],"mappings":";;;AAsCA,gCASC;AA/CD,qDAAkD;AAClD,wCAA6D;AAG7D,aAAa;AACb,MAAsB,cAAe,SAAQ,+BAAc;IAKvD,WAAW;IACX,YAAmB,MAAc;QAE7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAMM,SAAS;QAEZ,KAAK,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;CAEJ;AArBD,wCAqBC;AASD,gCAAgC;AACnB,QAAA,aAAa,GAAsB,IAAI,KAAK,EAAc,CAAC;AACxE,WAAW;AACX,SAAgB,UAAU,CAAC,IAAY;IAEnC,OAAO,UAA4D,WAAc;QAE7E,IAAI,uBAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAChE,MAAM,uBAAuB,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAC7D,qBAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC;AACN,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { Express } from "express-serve-static-core";
2
- import { AbstarctModule } from "../../base";
3
- import { HttpRouter } from "./HttpRouter";
4
- import { InterfaceUtility } from "../../utility";
2
+ import { AbstarctModule, RouterData } from "../../base";
5
3
  import { Server } from "../../Server";
6
4
  /** HTTP模块 */
7
5
  export declare class HttpModule extends AbstarctModule<HttpConfig> {
@@ -15,7 +13,7 @@ export declare class HttpModule extends AbstarctModule<HttpConfig> {
15
13
  OnStart(serverHost: string, config: HttpConfig): Promise<void>;
16
14
  OnStop(): Promise<void>;
17
15
  /** 注册 */
18
- OnRegist(routerType: InterfaceUtility.IType<HttpRouter>): boolean;
16
+ OnRegist(routerData: RouterData): boolean;
19
17
  OnDestroy(): void;
20
18
  }
21
19
  /** HTTP配置接口 */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpModule.d.ts","sourceRoot":"","sources":["../../../src/module/http/HttpModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,aAAa;AACb,qBAAa,UAAW,SAAQ,cAAc,CAAC,UAAU,CAAC;IAEtD,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,eAAe;IACf,OAAO,CAAC,UAAU,CAAc;IAChC,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAElD,WAAW;gBACQ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAKtC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,SAAS;IACF,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO;IAYjE,SAAS,IAAI,IAAI;CAK3B;AACD,eAAe;AACf,MAAM,WAAW,UAAU;IAIvB,UAAU;IACV,IAAI,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"HttpModule.d.ts","sourceRoot":"","sources":["../../../src/module/http/HttpModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAGvE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,aAAa;AACb,qBAAa,UAAW,SAAQ,cAAc,CAAC,UAAU,CAAC;IAEtD,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,eAAe;IACf,OAAO,CAAC,UAAU,CAAc;IAChC,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAElD,WAAW;gBACQ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAKtC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,SAAS;IACF,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAazC,SAAS,IAAI,IAAI;CAK3B;AACD,eAAe;AACf,MAAM,WAAW,UAAU;IAIvB,UAAU;IACV,IAAI,EAAE,MAAM,CAAC;CAChB"}
@@ -16,9 +16,9 @@ class HttpModule extends base_1.AbstarctModule {
16
16
  this.httpServer = this.express.listen(config.port);
17
17
  this.logInfo(`🌏 http://${serverHost}:${config.port}`);
18
18
  // 注册路由
19
- const routerRegistry = base_1.RouteRegistry.filter(routerType => routerType.prototype instanceof HttpRouter_1.HttpRouter);
20
- for (const routerType of routerRegistry) {
21
- this.OnRegist(routerType);
19
+ const routerRegistry = base_1.RouteRegistry.filter(routerData => routerData.type.prototype instanceof HttpRouter_1.HttpRouter);
20
+ for (const routerData of routerRegistry) {
21
+ this.OnRegist(routerData);
22
22
  }
23
23
  }
24
24
  async OnStop() {
@@ -26,18 +26,19 @@ class HttpModule extends base_1.AbstarctModule {
26
26
  this.httpServer?.close();
27
27
  }
28
28
  /** 注册 */
29
- OnRegist(routerType) {
30
- if (null == routerType) {
31
- this.logError("路由类型为空");
29
+ OnRegist(routerData) {
30
+ if (null == routerData) {
31
+ this.logError("路由数据为空");
32
32
  return false;
33
33
  }
34
- const name = routerType.name;
35
- const path = '/' + name.toLowerCase();
34
+ const path = routerData.path;
35
+ const type = routerData.type;
36
+ const name = routerData.type.name;
36
37
  if (this.routers.has(path)) {
37
38
  this.logError(`重复注册${path}路由}`);
38
39
  return false;
39
40
  }
40
- const router = new routerType(this.server);
41
+ const router = new type(this.server);
41
42
  this.routers.set(path, router);
42
43
  this.express.all(path, router.OnHandler.bind(router));
43
44
  this.log(`路由 ${name} - http://${this.serverHost}:${this.config.port}${path}`);
@@ -1 +1 @@
1
- {"version":3,"file":"HttpModule.js","sourceRoot":"","sources":["../../../src/module/http/HttpModule.ts"],"names":[],"mappings":";;;AAGA,qCAA2D;AAC3D,6CAA0C;AAI1C,aAAa;AACb,MAAa,UAAW,SAAQ,qBAA0B;IAQtD,WAAW;IACX,YAAmB,MAAc,EAAE,OAAgB;QAE/C,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,CAAC;IACM,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,MAAkB;QAEvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,aAAa,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO;QACP,MAAM,cAAc,GAAG,oBAAa,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,YAAY,uBAAU,CAAC,CAAC;QACtG,KAAK,MAAM,UAAU,IAAI,cAAc,EACvC,CAAC;YACG,IAAI,CAAC,QAAQ,CAAC,UAAgD,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IACM,KAAK,CAAC,MAAM;QAEf,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,SAAS;IACF,QAAQ,CAAC,UAA8C;QAE1D,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,SAAS;QAEZ,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;CACJ;AAlDD,gCAkDC"}
1
+ {"version":3,"file":"HttpModule.js","sourceRoot":"","sources":["../../../src/module/http/HttpModule.ts"],"names":[],"mappings":";;;AAEA,qCAAuE;AACvE,6CAA0C;AAI1C,aAAa;AACb,MAAa,UAAW,SAAQ,qBAA0B;IAQtD,WAAW;IACX,YAAmB,MAAc,EAAE,OAAgB;QAE/C,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,CAAC;IACM,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,MAAkB;QAEvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,aAAa,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO;QACP,MAAM,cAAc,GAAG,oBAAa,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,YAAY,uBAAU,CAAC,CAAC;QAC3G,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;IAC3E,CAAC;IACM,KAAK,CAAC,MAAM;QAEf,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,SAAS;IACF,QAAQ,CAAC,UAAsB;QAElC,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAClE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAe,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,SAAS;QAEZ,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;CACJ;AAhDD,gCAgDC"}
@@ -1,7 +1,5 @@
1
1
  import { Express } from "express-serve-static-core";
2
- import { AbstarctModule } from "../../base";
3
- import { InterfaceUtility } from "../../utility";
4
- import { WebSocketRouter } from "./WebSocketRouter";
2
+ import { AbstarctModule, RouterData } from "../../base";
5
3
  import { Server } from "../../Server";
6
4
  /** WebSocket模块 */
7
5
  export declare class WebSocketModule extends AbstarctModule<WebSocketConfig> {
@@ -18,7 +16,7 @@ export declare class WebSocketModule extends AbstarctModule<WebSocketConfig> {
18
16
  OnStop(): Promise<void>;
19
17
  OnDestroy(): void;
20
18
  /** 注册 */
21
- OnRegist(routerType: InterfaceUtility.IType<WebSocketRouter>): boolean;
19
+ OnRegist(routerData: RouterData): boolean;
22
20
  /** 连接事件 */
23
21
  private onConnectEvent;
24
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketModule.d.ts","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,kBAAkB;AAClB,qBAAa,eAAgB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAEzD,MAAM,EAAE,eAAe,CAAC;IAC/B,eAAe;IACf,OAAO,CAAC,UAAU,CAAc;IAChC,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAC,CAAqB;IAC7C,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD,WAAW;gBACQ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAKtC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,SAAS,IAAI,IAAI;IAKxB,SAAS;IACF,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,OAAO;IAW7E,WAAW;YACG,cAAc;CAS/B;AACD,oBAAoB;AACpB,MAAM,WAAW,eAAe;IAG5B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,0BAA0B,EAAE,MAAM,CAAC;CACtC"}
1
+ {"version":3,"file":"WebSocketModule.d.ts","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,kBAAkB;AAClB,qBAAa,eAAgB,SAAQ,cAAc,CAAC,eAAe,CAAC;IAEzD,MAAM,EAAE,eAAe,CAAC;IAC/B,eAAe;IACf,OAAO,CAAC,UAAU,CAAc;IAChC,kBAAkB;IAClB,OAAO,CAAC,eAAe,CAAC,CAAqB;IAC7C,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD,WAAW;gBACQ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAKtC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,SAAS,IAAI,IAAI;IAKxB,SAAS;IACF,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAYhD,WAAW;YACG,cAAc;CAQ/B;AACD,oBAAoB;AACpB,MAAM,WAAW,eAAe;IAG5B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,0BAA0B,EAAE,MAAM,CAAC;CACtC"}
@@ -57,9 +57,9 @@ class WebSocketModule extends base_1.AbstarctModule {
57
57
  this.httpServer.listen(config.port);
58
58
  this.logInfo(`🌏 http://${serverHost}:${config.port}`);
59
59
  // 注册路由
60
- const routerRegistry = base_1.RouteRegistry.filter(routerType => routerType.prototype instanceof WebSocketRouter_1.WebSocketRouter);
61
- for (const routerType of routerRegistry) {
62
- this.OnRegist(routerType);
60
+ const routerRegistry = base_1.RouteRegistry.filter(routerData => routerData.type.prototype instanceof WebSocketRouter_1.WebSocketRouter);
61
+ for (const routerData of routerRegistry) {
62
+ this.OnRegist(routerData);
63
63
  }
64
64
  }
65
65
  async OnStop() {
@@ -72,26 +72,26 @@ class WebSocketModule extends base_1.AbstarctModule {
72
72
  this.OnStop();
73
73
  }
74
74
  /** 注册 */
75
- OnRegist(routerType) {
76
- if (null == routerType) {
77
- this.logError("路由类型为空");
75
+ OnRegist(routerData) {
76
+ if (null == routerData) {
77
+ this.logError("路由数据为空");
78
78
  return false;
79
79
  }
80
- const name = routerType.name;
81
- const path = '/' + name.toLowerCase();
80
+ const path = routerData.path;
81
+ const type = routerData.type;
82
+ const name = routerData.type.name;
82
83
  if (this.routers.has(path)) {
83
84
  this.logError(`重复注册${path}路由}`);
84
85
  return false;
85
86
  }
86
- const router = new routerType(this.server);
87
+ const router = new type(this.server);
87
88
  this.routers.set(path, router);
88
- this.log(`路由 ${name} - ws://${this.serverHost}:${this.config.port}${path}`);
89
+ this.log(`路由 ${name} - http://${this.serverHost}:${this.config.port}${path}`);
89
90
  return true;
90
91
  }
91
92
  /** 连接事件 */
92
93
  async onConnectEvent(websocket, request) {
93
94
  const path = request.url;
94
- console.log("========= path:", path, this.routers.keys());
95
95
  const router = this.routers.get(path);
96
96
  await router.OnHandler(websocket, request);
97
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketModule.js","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketModule.js","sourceRoot":"","sources":["../../../src/module/websocket/WebSocketModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "knight-server",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Knight-server服务端架构",
5
5
  "main": "index.js",
6
6
  "scripts": {