my-uniapp-tools
Version:
一个功能强大、性能优化的 uni-app 开发工具库,提供剪贴板、本地存储、导航、系统信息等常用功能
100 lines (99 loc) • 2.86 kB
TypeScript
/**
* 导航相关工具函数(优化版本)
*/
/**
* 导航配置选项
*/
interface NavigationOptions {
delta?: number;
timeout?: number;
enableDebounce?: boolean;
debounceWait?: number;
}
/**
* 页面跳转选项
*/
interface NavigateOptions {
url: string;
params?: Record<string, any>;
animationType?: 'auto' | 'none' | 'slide-in-right' | 'slide-in-left' | 'slide-in-top' | 'slide-in-bottom' | 'fade-in' | 'zoom-out' | 'zoom-fade-out' | 'pop-in';
animationDuration?: number;
events?: Record<string, Function>;
}
/**
* 返回上一页选项
*/
interface BackOrHomeOptions extends NavigationOptions {
homePage?: string;
homeParams?: Record<string, any>;
}
/**
* 返回上一页并支持传递参数(优化版本)
* @param params 返回上一页时传入的参数
* @param options 导航选项
* @returns Promise<boolean> 是否成功
*/
export declare const useBack: (params?: any, options?: NavigationOptions) => Promise<boolean>;
/**
* 返回上一页,若没有上一页则重定向到首页
* @param params 返回上一页时传入的参数
* @param options 导航选项
* @returns Promise<boolean> 是否成功
*/
export declare const useBackOrHome: (params?: any, options?: BackOrHomeOptions) => Promise<boolean>;
/**
* 防抖版本的返回上一页
*/
export declare const useBackDebounced: (params?: any, options?: NavigationOptions) => Promise<boolean>;
/**
* 跳转到指定页面
* @param options 导航选项
* @returns Promise<boolean> 是否成功
*/
export declare const navigateTo: (options: NavigateOptions) => Promise<boolean>;
/**
* 重定向到指定页面
* @param options 导航选项
* @returns Promise<boolean> 是否成功
*/
export declare const redirectTo: (options: NavigateOptions) => Promise<boolean>;
/**
* 切换到Tab页面
* @param url Tab页面路径
* @returns Promise<boolean> 是否成功
*/
export declare const switchTab: (url: string) => Promise<boolean>;
/**
* 重新启动到指定页面
* @param options 导航选项
* @returns Promise<boolean> 是否成功
*/
export declare const reLaunch: (options: NavigateOptions) => Promise<boolean>;
/**
* 获取当前页面信息
* @returns 当前页面信息
*/
export declare const getCurrentPageInfo: () => {
route: string;
options: any;
} | null;
/**
* 获取页面栈信息
* @returns 页面栈数组
*/
export declare const getPageStack: () => Array<{
route: string;
options: any;
}>;
/**
* 清空导航队列
*/
export declare const clearNavigationQueue: () => void;
/**
* 安全的页面跳转(带重试机制)
* @param options 导航选项
* @param maxRetries 最大重试次数
* @returns Promise<boolean> 是否成功
*/
export declare const safeNavigateTo: (options: NavigateOptions, maxRetries?: number) => Promise<boolean>;
export {};