import React from 'react'; export interface Pagination { current: number; pageSize: number; total: number; } export interface BaseState { pagination: Pagination; searchString: string; } export interface IModalProps { showModal?(): void; hideModal?(): void; switchVisible?(visible: boolean): void; visible?: boolean; loading?: boolean; onOk?(payload?: T): Promise | void; } export interface ResponseType { code: number; message?: string; data?: any; } // Dialog相关接口定义 export interface IDialogConfig { title?: string; content?: React.ReactNode; type?: 'info' | 'success' | 'warning' | 'error' | 'confirm'; confirmText?: string; cancelText?: string; showCancel?: boolean; maskClosable?: boolean; width?: number | string; onConfirm?: () => void | Promise; onCancel?: () => void; } export interface IDialogInstance { id: string; config: IDialogConfig; resolve: (value: boolean) => void; reject: (reason?: any) => void; } export interface IDialogContextValue { dialogs: IDialogInstance[]; openDialog: (config: IDialogConfig) => Promise; closeDialog: (id: string, result?: boolean) => void; confirm: (config: Omit) => Promise; info: (config: Omit) => Promise; success: (config: Omit) => Promise; warning: (config: Omit) => Promise; error: (config: Omit) => Promise; }