Merge branch 'master' into db
* master: 优化 API中data的类型声明
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { API } from "@lib/API/API";
|
import { API, RequestData } from "@lib/API/API";
|
||||||
import MountIP, { MountIPRequestData } from "@lib/APIMiddleware/MountIP";
|
import MountIP, { MountIPRequestData } from "@lib/APIMiddleware/MountIP";
|
||||||
import MountUserAgent, { MountUserAgentRequestDate } from "@lib/APIMiddleware/MountUserAgent";
|
import MountUserAgent, { MountUserAgentRequestDate } from "@lib/APIMiddleware/MountUserAgent";
|
||||||
import Unbind from "@lib/APIMiddleware/Unbind";
|
import Unbind from "@lib/APIMiddleware/Unbind";
|
||||||
@@ -10,7 +10,7 @@ class GetTest extends API {
|
|||||||
super('GET', '/test', MountIP, MountUserAgent, Unbind);
|
super('GET', '/test', MountIP, MountUserAgent, Unbind);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async onRequset(data: MountIPRequestData | MountUserAgentRequestDate, res: Response): Promise<void> {
|
public async onRequset(data: MountIPRequestData & MountUserAgentRequestDate, res: Response): Promise<void> {
|
||||||
this.logger.info(`request ip: ${data._ip} useragent: ${data._userAgent}`)
|
this.logger.info(`request ip: ${data._ip} useragent: ${data._userAgent}`)
|
||||||
res.json(ServerStdResponse.OK);
|
res.json(ServerStdResponse.OK);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,10 @@ interface MiddlewareFunction {
|
|||||||
(req: Request, res: Response, next: NextFunction): void;
|
(req: Request, res: Response, next: NextFunction): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface RequestData {
|
||||||
|
[key: string]: any
|
||||||
|
}
|
||||||
|
|
||||||
abstract class API {
|
abstract class API {
|
||||||
|
|
||||||
protected logger: Logger;
|
protected logger: Logger;
|
||||||
@@ -21,8 +25,8 @@ abstract class API {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// to override
|
// to override
|
||||||
public abstract onRequset(data: any, res: Response): Promise<void>;
|
public abstract onRequset(data: RequestData, res: Response): Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export { API };
|
export { API };
|
||||||
export type { MiddlewareFunction };
|
export type { MiddlewareFunction, RequestData };
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Request, Response, NextFunction } from "express"
|
import { Request, Response, NextFunction } from "express"
|
||||||
import Logger from "@lib/Logger/Logger";
|
import Logger from "@lib/Logger/Logger";
|
||||||
|
import { RequestData } from "@lib/API/API";
|
||||||
const logger = new Logger('API', 'Middleware', 'MountIP');
|
const logger = new Logger('API', 'Middleware', 'MountIP');
|
||||||
|
|
||||||
// 挂载IP,将请求的ip地址挂载到data._ip属性下
|
// 挂载IP,将请求的ip地址挂载到data._ip属性下
|
||||||
@@ -20,9 +21,8 @@ let MountIP = (req: Request, res: Response, next: NextFunction) => {
|
|||||||
export default MountIP;
|
export default MountIP;
|
||||||
|
|
||||||
|
|
||||||
interface MountIPRequestData {
|
interface MountIPRequestData extends RequestData {
|
||||||
_ip: string,
|
_ip: string;
|
||||||
[key: string | number | symbol]: any
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type { MountIPRequestData };
|
export type { MountIPRequestData };
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
import { Request, Response, NextFunction } from "express"
|
import { Request, Response, NextFunction } from "express"
|
||||||
import Logger from "@lib/Logger/Logger";
|
import Logger from "@lib/Logger/Logger";
|
||||||
|
import { RequestData } from "@lib/API/API";
|
||||||
const logger = new Logger('API', 'Middleware', 'MountUserAgent')
|
const logger = new Logger('API', 'Middleware', 'MountUserAgent')
|
||||||
|
|
||||||
// 挂载用户代理,将请求的请求代理挂载到data._userAgent属性下
|
// 挂载用户代理,将请求的请求代理挂载到data._userAgent属性下
|
||||||
@@ -12,9 +13,8 @@ let MountUserAgent = (req: Request, res: Response, next: NextFunction) => {
|
|||||||
export default MountUserAgent;
|
export default MountUserAgent;
|
||||||
|
|
||||||
|
|
||||||
interface MountUserAgentRequestDate {
|
interface MountUserAgentRequestDate extends RequestData {
|
||||||
_userAgent: string,
|
_userAgent: string,
|
||||||
[key: string | number | symbol]: any
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type { MountUserAgentRequestDate };
|
export type { MountUserAgentRequestDate };
|
||||||
Reference in New Issue
Block a user