import { tsEntry } from '../entry/entry'; /** * 时间模块 */ export declare module tsTime { /** * 当前时间unix时间戳/秒 * @returns */ function unixSec(): number; /** * 当前时间unix时间戳/毫秒 * @returns */ function unixMsec(): number; /** * 定时器对象 */ class Timer extends tsEntry.Entry { private _running; get running(): boolean; private _stopped; get stopped(): boolean; private _interval; get interval(): number; private _execLimit; get execLimit(): number; private _permanent; get permanent(): boolean; private _execCount; get execCount(): number; private callback; private caller; constructor(id: number, name: string, interval: number, callback: (timer: Timer, caller: any) => void, caller?: any, limit?: number, permanent?: boolean); destroy(): void; start(): boolean; /** * 立即停止并销毁 * @returns 成功:true 失败:false */ stop(): boolean; /** * 暂停 * @returns 成功:true 失败:false */ pause(): boolean; /** * 恢复 * @returns 成功:true 失败:false */ resume(): boolean; private _exec; exec(): boolean; checkLimit(): boolean; } /** * 闹钟对象 */ class Clocker extends tsEntry.Entry { private _running; get running(): boolean; private _stopped; get stopped(): boolean; private _interval; get interval(): string; private callback; private caller; constructor(id: number, name: string, interval: string, callback: (clocker: Clocker, caller: any) => void, caller?: any); destroy(): void; start(): boolean; /** * 立即停止并销毁 * @returns */ stop(): boolean; /** * 暂停 * @returns */ pause(): boolean; /** * 恢复 * @returns */ resume(): boolean; private _exec; exec(): boolean; } class TimeManager { private static tag; private static autoIncIdStart; private static nameTimerMap; private static intervalTimersMap; private static autoIncInterval; private static nameClockerMap; private static intervalClockersMap; private static nameTimerHistoryMap; static start(): void; static hasTimer(name: string): boolean; static getTimer(name: string): Timer; static addTimer(name: string, interval: number, callback: (timer: Timer, caller: any) => void, caller?: any, limit?: number, permanent?: boolean): Timer; static delTimer(timer: Timer): boolean; static delTimerByName(name: string): boolean; static resumeTimer(timer: Timer): boolean; static pause(): void; static resume(): void; static getStatistics(): string[]; static hasClocker(name: string): boolean; static getClocker(name: string): Clocker; static addClocker(name: string, interval: string, callback: (clocker: Clocker, caller: any) => void, caller?: any): Clocker; static delClocker(clocker: Clocker): boolean; static delClockerByName(name: string): boolean; } /** * 通过名称获取定时器 * @param name 名称 * @returns Timer实例 */ function getTimer(name: string): Timer; /** * 添加秒级定时器 * @param name 名称,全局唯一,同名覆盖 * @param interval 间隔 单位:秒 * @param callback 回调 * @param caller 调用者(回传参数,可用于解决this指针问题) * @param limit 执行次数(次数达到自动删除 默认-1(无限次数)) * @param permanent 常驻状态(true: 不受全局暂停影响 默认false) * @returns Timer实例 */ function addTimer(name: string, interval: number, callback: (timer: Timer, caller: any) => void, caller?: any, limit?: number, permanent?: boolean): Timer; /** * 删除定时器 * @param timer Timer实例 * @returns 成功:true 失败:false */ function delTimer(timer: Timer): boolean; /** * 通过名称删除定时器 * @param name 名称 * @returns 成功:true 失败:false */ function delTimerByName(name: string): boolean; /** * 暂停所有定时器 */ function pauseAll(): void; /** * 恢复所有定时器 */ function resumeAll(): void; /** * 获取统计信息 * @returns ["名称:app_askBetListTimer 间隔:300s 状态:true 执行计数:1", ...] */ function getStatistics(): string[]; /** * 通过名称获取闹钟 * @param name 名称 * @returns Clocker实例 */ function getClocker(name: string): Clocker; /** * 添加时分秒级闹钟 * @param name 名称 * @param interval 间隔 示例: 12:00:00 * @param callback 回调 * @param caller 调用者(回传参数,可用于解决this指针问题) * @returns Clocker实例 */ function addClocker(name: string, interval: string, callback: (clocker: Clocker, caller: any) => void, caller?: any): Clocker; /** * 删除闹钟 * @param clocker Clocker实例 * @returns 成功:true 失败:false */ function delClocker(clocker: Clocker): boolean; /** * 通过名称删除闹钟 * @param name 名称 * @returns 成功:true 失败:false */ function delClockerByName(name: string): boolean; }