From 5c5627179afd45a2088f01fceadac8288b51cad0 Mon Sep 17 00:00:00 2001 From: thzxx <1440196015@qq.com> Date: Fri, 24 Jul 2026 14:54:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(types):=20=E8=A1=A5=E5=85=A8=E5=92=8C?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20TypeScript=20=E7=B1=BB=E5=9E=8B=E5=A3=B0?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复: - ToastInstance: 补充 iconHTML / group 属性 - MeToast: 补充 getAll() 方法 - AnimationUtils: 移除 12 个不存在的 phantom 方法 (apply/enter/leave/cancel/pauseAll等) - PluginManager: 移除 10 个不存在的 phantom 方法 (use/trigger/middleware等) - PluginUtils: 补充缺失的 unregister/has/getNames/enable/disable/isEnabled 方法 --- types/index.d.ts | 122 +++++++++++++++-------------------------------- 1 file changed, 38 insertions(+), 84 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index 58dba7a..9fd9dba 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -368,6 +368,10 @@ export interface ToastInstance { paused: boolean; /** 是否关闭中 */ closing: boolean; + /** 自定义图标HTML */ + iconHTML?: string; + /** Toast分组名称 */ + group?: string | null; /** 创建Toast */ create(): ToastInstance; @@ -444,7 +448,7 @@ export interface Plugin { [key: string]: any; } -// 插件管理器接口 +// 插件管理器接口(对齐实际 PluginManager 实现) export interface PluginManager { /** 注册插件 */ register(name: string, plugin: Plugin): PluginManager; @@ -464,35 +468,11 @@ export interface PluginManager { getAll(): Plugin[]; /** 获取插件名称 */ getNames(): string[]; - /** 注册中间件 */ - use(middleware: Function): PluginManager; - /** 移除中间件 */ - removeMiddleware(middleware: Function): PluginManager; - /** 触发钩子 */ - trigger(hookName: string, context: any, ...args: any[]): Promise; - /** 触发同步钩子 */ - triggerSync(hookName: string, context: any, ...args: any): any; - /** 执行中间件 */ - executeMiddleware(context: any, next: Function): Promise; - /** 获取所有钩子 */ - getHooks(): Map>; - /** 检查钩子是否存在 */ - hasHook(hookName: string): boolean; - /** 获取所有中间件 */ - getMiddleware(): Function[]; - /** 清除所有钩子 */ - clearHooks(): void; - /** 清除所有中间件 */ - clearMiddleware(): void; - /** 重置 */ - reset(): void; - /** 初始化 */ - init(): void; - /** 销毁 */ + /** 销毁所有插件 */ destroy(): void; } -// 动画管理器接口 +// 动画管理器接口(对齐实际 animationUtils 实现) export interface AnimationManager { /** 注册动画 */ register(name: string, config: AnimationConfig): void; @@ -500,35 +480,15 @@ export interface AnimationManager { unregister(name: string): void; /** 获取动画配置 */ get(name: string): AnimationConfig | null; - /** 应用动画 */ - apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用进入动画 */ - enter(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用离开动画 */ - leave(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 取消所有动画 */ - cancelAll(): void; - /** 取消元素动画 */ - cancel(element: HTMLElement): void; - /** 暂停所有动画 */ - pauseAll(): void; - /** 恢复所有动画 */ - resumeAll(): void; - /** 暂停元素动画 */ - pause(element: HTMLElement): void; - /** 恢复元素动画 */ - resume(element: HTMLElement): void; - /** 获取活动动画数量 */ + /** 获取所有动画名称 */ + getAnimationNames(): string[]; + /** 获取已注册动画数量 */ getActiveCount(): number; - /** 获取所有活动动画 */ - getActiveAnimations(): Map; - /** 检查元素是否有活动动画 */ - hasActiveAnimation(element: HTMLElement): boolean; - /** 获取动画配置 */ - getConfig(): { animations: string[]; activeCount: number }; - /** 重置 */ + /** 兼容API(CSS动画由浏览器管理) */ + cancelAll(): void; + /** 重置动画管理器 */ reset(): void; - /** 销毁 */ + /** 销毁动画管理器 */ destroy(): void; } @@ -688,7 +648,9 @@ export interface MeToast { // 插件系统 /** 安装插件 */ use(plugin: string | Plugin, options?: Record): MeToast; - + /** 获取 Toast 原生 Map */ + getAll(): Map; + // 模块引用 /** 动画模块 */ animations: AnimationUtils; @@ -794,31 +756,9 @@ export interface StackOptions extends ToastOptions { stagger?: number; } -// 动画工具接口 +// 动画工具接口(对齐实际 animationUtils 实现) export interface AnimationUtils { - /** 应用动画 */ - apply(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用进入动画 */ - enter(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 应用离开动画 */ - leave(element: HTMLElement, animationName: string, options?: AnimationOptions): Promise; - /** 取消所有动画 */ - cancelAll(): void; - /** 取消元素动画 */ - cancel(element: HTMLElement): void; - /** 暂停所有动画 */ - pauseAll(): void; - /** 恢复所有动画 */ - resumeAll(): void; - /** 暂停元素动画 */ - pause(element: HTMLElement): void; - /** 恢复元素动画 */ - resume(element: HTMLElement): void; - /** 获取活动动画数量 */ - getActiveCount(): number; - /** 检查元素是否有活动动画 */ - hasActiveAnimation(element: HTMLElement): boolean; - /** 注册动画 */ + /** 注册自定义动画 */ register(name: string, config: AnimationConfig): void; /** 注销动画 */ unregister(name: string): void; @@ -826,11 +766,13 @@ export interface AnimationUtils { get(name: string): AnimationConfig | null; /** 获取所有动画名称 */ getAnimationNames(): string[]; - /** 获取动画配置 */ - getConfig(): { animations: string[]; activeCount: number }; - /** 重置 */ + /** 获取已注册动画数量 */ + getActiveCount(): number; + /** 兼容API(CSS动画由浏览器管理) */ + cancelAll(): void; + /** 重置动画管理器 */ reset(): void; - /** 销毁 */ + /** 销毁动画管理器 */ destroy(): void; } @@ -1001,11 +943,23 @@ export interface PluginUtils { /** 创建插件管理器 */ createManager(): PluginManager; /** 注册插件 */ - register(name: string, plugin: Plugin): void; + register(name: string, plugin: Plugin): PluginManager; + /** 注销插件 */ + unregister(name: string): PluginManager; /** 获取插件 */ get(name: string): Plugin | null; + /** 检查插件是否存在 */ + has(name: string): boolean; /** 获取所有插件 */ getAll(): Plugin[]; + /** 获取插件名称 */ + getNames(): string[]; + /** 启用插件 */ + enable(name: string): PluginManager; + /** 禁用插件 */ + disable(name: string): PluginManager; + /** 检查插件是否启用 */ + isEnabled(name: string): boolean; /** 获取预设插件 */ getPreset(name: string): Plugin | null; /** 获取所有预设插件 */