فهرست منبع

fix(arr.at): 低版本安卓浏览器打包报错

菲鸽 1 سال پیش
والد
کامیت
357ed6cf12
1فایلهای تغییر یافته به همراه9 افزوده شده و 4 حذف شده
  1. 9 4
      src/utils/index.ts

+ 9 - 4
src/utils/index.ts

@@ -1,4 +1,11 @@
 import { pages, subPackages, tabBar } from '@/pages.json'
+const getLastPage = () => {
+  // getCurrentPages() 至少有1个元素,所以不再额外判断
+  // const lastPage = getCurrentPages().at(-1)
+  // 上面那个在低版本安卓中打包回报错,所以改用下面这个【虽然我加了src/interceptions/prototype.ts,但依然报错】
+  const pages = getCurrentPages()
+  return pages[pages.length - 1]
+}
 
 /** 判断当前页面是否是tabbar页  */
 export const getIsTabbar = () => {
@@ -9,8 +16,7 @@ export const getIsTabbar = () => {
     // 通常有tabBar的话,list不能有空,且至少有2个元素,这里其实不用处理
     return false
   }
-  // getCurrentPages() 至少有1个元素,所以不再额外判断
-  const lastPage = getCurrentPages().at(-1)
+  const lastPage = getLastPage()
   const currPath = lastPage.route
   return !!tabBar.list.find((e) => e.pagePath === currPath)
 }
@@ -21,8 +27,7 @@ export const getIsTabbar = () => {
  * redirectPath 如 ‘/pages/demo/base/route-interceptor’
  */
 export const currRoute = () => {
-  // getCurrentPages() 至少有1个元素,所以不再额外判断
-  const lastPage = getCurrentPages().at(-1)
+  const lastPage = getLastPage()
   const currRoute = (lastPage as any).$page
   // console.log('lastPage.$page:', currRoute)
   // console.log('lastPage.$page.fullpath:', currRoute.fullPath)