/** * uni-app 路由跳转工具 * 封装并统一原生的页面跳转、重定向、Switch Tab、返回、以及打开外部小程序或 WebView 等方法。 */ /** 页面跳转类型,支持微信小程序的各类路由动作与 WebView/小程序跳转 */ export type NavigateType = "navigateTo" | "redirectTo" | "switchTab" | "reLaunch" | "navigateBack" | "miniprogram" | "webview" | (string & {}); /** * 路由跳转的额外配置选项。 */ export interface NavigateOptions { /** 发生失败时是否静默不抛出/显示 Toast 提示,默认 false */ silent?: boolean; /** 页面跳转失败时的回调 */ onFail?: (message: string) => void; /** 返回上级页面的层数,仅在 type="navigateBack" 时生效,默认 1 */ delta?: number; /** 打开外部小程序时的页面路径,仅在 type="miniprogram" 时生效 */ path?: string; /** 打开外部小程序的环境版本 (开发/体验/正式),仅在 type="miniprogram" 时生效 */ envVersion?: "develop" | "trial" | "release"; /** 传递给目标小程序的额外数据 */ extraData?: Record; } /** * 核心的底层页面路由分发方法。 * * @param type 跳转动作类型 * @param url 跳转目标路径或小程序 AppId * @param options 额外的控制参数 */ export declare function navigate(type?: NavigateType, url?: string, options?: NavigateOptions): void; /** 保留当前页面,跳转到应用内的某个页面 */ export declare function navigateTo(url: string, options?: NavigateOptions): void; /** 关闭当前页面,跳转到应用内的某个页面 */ export declare function redirectTo(url: string, options?: NavigateOptions): void; /** 跳转到 switchTab 页面,并关闭其他所有非 tabBar 页面 */ export declare function switchTab(url: string, options?: NavigateOptions): void; /** 关闭所有页面,打开到应用内的某个页面 */ export declare function reLaunch(url: string, options?: NavigateOptions): void; /** 关闭当前页面,返回上一页面或多级页面 */ export declare function navigateBack(delta?: number, options?: NavigateOptions): void; /** 打开另一个小程序 */ export declare function navigateToMiniProgram(appId: string, options?: NavigateOptions): void;