UNPKG

my-uniapp-tools

Version:

一个简洁稳定的 uni-app 开发工具库,提供剪贴板、本地存储、导航、系统信息等常用功能

59 lines (58 loc) 1.96 kB
/** * 工具函数库 */ /** * 高性能深拷贝(uni-app 多端兼容) * @description H5 环境优先使用 structuredClone,降级为 JSON 序列化 */ export declare function deepClone<T>(obj: T): T; /** * 深度合并对象 */ export declare function deepMerge<T extends Record<string, any>>(target: T, source: Partial<T>): T; /** * 只合并目标对象中已存在的字段 * @description 避免后端返回的冗余字段污染前端表单状态 */ export declare function mergeObjects<T extends Record<string, any>, U extends Record<string, any>>(base: T, incoming: U): T; /** * 防抖函数 * @description 延迟执行,重复触发则重置定时器 * @param func 要防抖的函数 * @param wait 延迟时间(毫秒) * @param immediate 是否立即执行(首次触发时) * @returns 防抖包装后的函数,附带 cancel 方法 */ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number, immediate?: boolean): T & { cancel: () => void; }; /** * 节流函数 * @description 限制执行频率,确保在时间窗口内只执行一次 * @param func 要节流的函数 * @param wait 时间窗口(毫秒) * @param options.leading 是否在时间窗口开始时执行(默认 true) * @param options.trailing 是否在时间窗口结束时执行(默认 true) * @returns 节流包装后的函数,附带 cancel 方法 */ export declare function throttle<T extends (...args: any[]) => any>(func: T, wait: number, options?: { leading?: boolean; trailing?: boolean; }): T & { cancel: () => void; }; export interface UrlParams { [key: string]: string; } /** * 获取 H5 环境下的 URL 参数 * @description 仅在 H5 环境有效 */ export declare const getH5UrlParams: (paramName?: string) => string | null | UrlParams; /** * 从URL中提取页面路径和参数 */ export declare function extractUrlParts(url: string): { path: string; params: Record<string, string>; };