UNPKG

pao-aop-server

Version:

基于pao-aop的服务端框架

187 lines 4.68 kB
/// <reference types="node" /> import { BaseAddon, UserToken, NullablePromise } from "pao-aop"; import { Session } from '../session/index'; /** * 服务器状态 */ export declare type ServerStatus = 'stopped' | 'running' | 'error' | string; /** * 移除文件中的BOM * @author pao * @param bin */ export declare function removeBOM(bin: Buffer): Buffer; /** * 保存 * @author pao * @param filePath 文件路径 */ export declare function saveObject(filePath: string, obj: Object): void; /** * 读取 * @author pao * @param filePath 文件路径 */ export declare function loadObject(filePath: string): Object; /** * 准备配置 * @author pao * @param defaultConfig 默认配置对象 * @param configFile 配置文件 * @param loadConfig 是否从配置文件加载 * @param saveConfig 是否保存配置文件 */ export declare function prepareConfig(defaultConfig: Object, configFile: string, loadConfig?: boolean, saveConfig?: boolean): Object; /** * 服务信息: 包含服务名称和服务对象的信息 * @author pao */ export declare class ServerInfo { serverName?: string; serverObject?: BaseServer; constructor(serverName?: string, serverObject?: BaseServer); } /** * 注册服务列表 * @author pao * @param serverInfos 服务信息列表 */ export declare function registerServers(serverInfos: ServerInfo[]): void; /** * 注册服务 * @author pao * @param serverInfo 服务信息 */ export declare function registerServer(serverInfo: ServerInfo): void; /** * 编历服务器 * @param serviceFunction 服务处理方法 */ export declare function forEachServer(serverFunction: (serverInfo: BaseServer) => void): void; /** 根据名称获取服务 * @author pao * @param name 名称 */ export declare function getServerByName(name: string): BaseServer; /** * 服务信息: 包含服务名称和服务对象的信息 * @author pao */ export declare class ServiceInfo { serviceName?: string; serviceObject?: BaseService; constructor(serviceName?: string, serviceObject?: BaseService); } /** * 服务授权接口 */ export interface IServiceAuthority { /** * 检查授权 * @param userToken 用户令牌 * @param functionName 函数名称 * @param args 参数 */ checkAuthority?(token: UserToken, session: Session, functionName: string, args: any[]): Promise<void>; } /** * 名称:基础服务 * @description 所有服务的基类 * @author huyl */ export declare class BaseService extends BaseAddon { /** * 授权对象 */ authoryObject?: IServiceAuthority; /** * 当前用户令牌 */ userToken?: UserToken; /** * 当前会话 */ session?: Session; /** 基础服务 */ constructor(); /** 调用 */ call?(userToken: UserToken, session: Session, functionName: string, args: any[]): Promise<any>; /** * 函数调用前 * @param userToken 用户令牌 * @param session 会话 * @param functionName 函数名称 * @param args 参数 */ protected beforeCallFunction?(userToken: UserToken, session: Session, functionName: string, args: any[]): Promise<void>; } /** * 名称:基础服务器 * @description 所有服务器的基类,服务器是可以启动和停止的应用程序,服务器程序不应当阻塞主线程 * @author pao */ export declare class BaseServer extends BaseAddon { /** * 服务器状态 */ status?: ServerStatus; /** * 服务启动 */ start?(): void; /** * 服务停止 */ stop?(): void; protected onStart?(): void; protected onStop?(): void; /** * 服务重置 */ reset?(): void; } /** * 服务数据 */ export declare class ServerData { /** * 服务ID */ id?: string; /** * 服务名称 */ name?: string; /** * 服务类型 */ type?: 'DeviceServer' | 'WebServer' | 'ProxyClient' | 'ProxyServer' | 'ProxyListenServer' | 'DataProcessServer' | string; /** * 状态 */ status?: ServerStatus; } /** * 名称: 服务管理接口 * @description 提供服务管理功能的接口 * @author pao */ export declare class IServerManagement extends BaseAddon { /** * 获取服务器列表 */ getServers(): NullablePromise<ServerData[]>; /** * 获取服务明细信息 */ getServerDetailInfo(): NullablePromise<object[]>; /** * 启动服务 */ startServer(serverName: string): NullablePromise<void>; /** * 停止服务 */ stopServer(serverName: string): NullablePromise<void>; } //# sourceMappingURL=index.d.ts.map