|
|
@@ -98,6 +98,23 @@ function backAndCallOnPageBack(name: string, data: Record<string, unknown>) {
|
|
|
uni.navigateBack({ delta: 1 });
|
|
|
}
|
|
|
|
|
|
+function isTopLevelPage() {
|
|
|
+ // 获取当前页面栈
|
|
|
+ const pages = getCurrentPages();
|
|
|
+
|
|
|
+ if (!pages || pages.length === 0) {
|
|
|
+ return false; // 极端情况,没有页面
|
|
|
+ }
|
|
|
+
|
|
|
+ // 当前页面实例
|
|
|
+ const currentPage = pages[pages.length - 1];
|
|
|
+
|
|
|
+ // 判断当前页面是否是栈中的第一个页面 (索引为 0)
|
|
|
+ // 注意:pages[0] 通常是 tabBar 页面或启动页
|
|
|
+ return pages.length === 1 || currentPage === pages[0];
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
export {
|
|
|
redirectTo,
|
|
|
back,
|
|
|
@@ -105,6 +122,7 @@ export {
|
|
|
backAndCallOnPageBack,
|
|
|
navTo,
|
|
|
callPrevOnPageBack,
|
|
|
+ isTopLevelPage,
|
|
|
}
|
|
|
|
|
|
export function getCurrentPageUrl() {
|