const fileFactory: FileFactoryBase;
const cfg: ApiHandlerConfig;
const handler = new ApiHandler(fileFactory, cfg, package.json);
// 认证加解密
const res = handler.authCrypto;
// 跟踪
const res = handler.tracer;
// 处理api
const res = await handler.handle<T>(req);
// res is RpcResponse<T>
const api: IApi;
const res = api.call();
const port: IApiPort;
// 监听
await port.listen();
const session: ApiSession;
// 是否可选
const res = session.isSessionOptional;
// 会话数据
const res = await session.sessionData;
const data: Promise<ApiSessionData>;
session.sessionData = data;
export class XxApi extends ApiSession {
// 会话可选
@ClassTransformerValidateNested(ApiSessionData)
@IsObject()
@IsOptional()
public sessionData: ApiSessionData;
public async call() {
// coding...
}
}
- ApiUserSession<T extends IUserService>
export class XxApi extends ApiUserSession<IUserSession> {
public async call() {
const userService = this.userService;
// coding
}
}
- ApiSessionData - 会话数据(包含验证规则)
const data: ApiSessionData;
// 区服编号
const res = data.areaNo;
// 会话id
const res = data.id;
// 项目编号
const res = data.projectNo;