| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 | import type { ECharts } from "echarts";import type { TableColumns } from "@pureadmin/table";/** * 全局类型声明,无需引入直接在 `.vue` 、`.ts` 、`.tsx` 文件使用即可获得类型提示 */declare global {  /**   * 平台的名称、版本、运行所需的`node`和`pnpm`版本、依赖、最后构建时间的类型提示   */  const __APP_INFO__: {    pkg: {      name: string;      version: string;      engines: {        node: string;        pnpm: string;      };      dependencies: Recordable<string>;      devDependencies: Recordable<string>;    };    lastBuildTime: string;  };  /**   * Window 的类型提示   */  interface Window {    // Global vue app instance    __APP__: App<Element>;    webkitCancelAnimationFrame: (handle: number) => void;    mozCancelAnimationFrame: (handle: number) => void;    oCancelAnimationFrame: (handle: number) => void;    msCancelAnimationFrame: (handle: number) => void;    webkitRequestAnimationFrame: (callback: FrameRequestCallback) => number;    mozRequestAnimationFrame: (callback: FrameRequestCallback) => number;    oRequestAnimationFrame: (callback: FrameRequestCallback) => number;    msRequestAnimationFrame: (callback: FrameRequestCallback) => number;  }  /**   * Document 的类型提示   */  interface Document {    webkitFullscreenElement?: Element;    mozFullScreenElement?: Element;    msFullscreenElement?: Element;  }  /**   * 打包压缩格式的类型声明   */  type ViteCompression =    | "none"    | "gzip"    | "brotli"    | "both"    | "gzip-clear"    | "brotli-clear"    | "both-clear";  /**   * 全局自定义环境变量的类型声明   * @see {@link https://yiming_chang.gitee.io/pure-admin-doc/pages/config/#%E5%85%B7%E4%BD%93%E9%85%8D%E7%BD%AE}   */  interface ViteEnv {    VITE_PORT: number;    VITE_PUBLIC_PATH: string;    VITE_ROUTER_HISTORY: string;    VITE_CDN: boolean;    VITE_HIDE_HOME: string;    VITE_COMPRESSION: ViteCompression;  }  /**   *  继承 `@pureadmin/table` 的 `TableColumns` ,方便全局直接调用   */  interface TableColumnList extends Array<TableColumns> {}  /**   * 对应 `public/platform-config.json` 文件的类型声明   * @see {@link https://yiming_chang.gitee.io/pure-admin-doc/pages/config/#platform-config-json}   */  interface PlatformConfigs {    Version?: string;    Title?: string;    FixedHeader?: boolean;    HiddenSideBar?: boolean;    MultiTagsCache?: boolean;    KeepAlive?: boolean;    Locale?: string;    Layout?: string;    Theme?: string;    DarkMode?: boolean;    OverallStyle?: string;    Grey?: boolean;    Weak?: boolean;    HideTabs?: boolean;    HideFooter?: boolean;    Stretch?: boolean | number;    SidebarStatus?: boolean;    EpThemeColor?: string;    ShowLogo?: boolean;    ShowModel?: string;    MenuArrowIconNoTransition?: boolean;    CachingAsyncRoutes?: boolean;    TooltipEffect?: Effect;    ResponsiveStorageNameSpace?: string;    MenuSearchHistory?: number;  }  /**   * 与 `PlatformConfigs` 类型不同,这里是缓存到浏览器本地存储的类型声明   * @see {@link https://yiming_chang.gitee.io/pure-admin-doc/pages/config/#platform-config-json}   */  interface StorageConfigs {    version?: string;    title?: string;    fixedHeader?: boolean;    hiddenSideBar?: boolean;    multiTagsCache?: boolean;    keepAlive?: boolean;    locale?: string;    layout?: string;    theme?: string;    darkMode?: boolean;    grey?: boolean;    weak?: boolean;    hideTabs?: boolean;    hideFooter?: boolean;    sidebarStatus?: boolean;    epThemeColor?: string;    themeColor?: string;    overallStyle?: string;    showLogo?: boolean;    showModel?: string;    menuSearchHistory?: number;    username?: string;  }  /**   * `responsive-storage` 本地响应式 `storage` 的类型声明   */  interface ResponsiveStorage {    locale: {      locale?: string;    };    layout: {      layout?: string;      theme?: string;      darkMode?: boolean;      sidebarStatus?: boolean;      epThemeColor?: string;      themeColor?: string;      overallStyle?: string;    };    configure: {      grey?: boolean;      weak?: boolean;      hideTabs?: boolean;      hideFooter?: boolean;      showLogo?: boolean;      showModel?: string;      multiTagsCache?: boolean;      stretch?: boolean | number;    };    tags?: Array<any>;  }  /**   * 平台里所有组件实例都能访问到的全局属性对象的类型声明   */  interface GlobalPropertiesApi {    $echarts: ECharts;    $storage: ResponsiveStorage;    $config: PlatformConfigs;  }  /**   * 扩展 `Element`   */  interface Element {    // v-ripple 作用于 src/directives/ripple/index.ts 文件    _ripple?: {      enabled?: boolean;      centered?: boolean;      class?: string;      circle?: boolean;      touched?: boolean;    };  }}
 |