refine: index.ts

This commit is contained in:
菲鸽 2024-05-08 15:33:31 +08:00
parent 3967084fda
commit 1914f43972

View File

@ -1,16 +1,18 @@
import pagesJson from '@/pages.json' import { pages, subPackages, tabBar } from '@/pages.json'
console.log(pagesJson)
/** 判断当前页面是否是tabbar页 */ /** 判断当前页面是否是tabbar页 */
export const getIsTabbar = () => { export const getIsTabbar = () => {
if (!Object.keys(pagesJson).includes('tabBar')) { if (!tabBar) {
return false return false
} }
const pages = getCurrentPages() if (!tabBar.list.length) {
const lastPage = pages.at(-1) // 通常有tabBar的话list不能有空且至少有2个元素这里其实不用处理
return false
}
// getCurrentPages() 至少有1个元素所以不再额外判断
const lastPage = getCurrentPages().at(-1)
const currPath = lastPage.route const currPath = lastPage.route
return !!pagesJson.tabBar.list.find((e) => e.pagePath === currPath) return !!tabBar.list.find((e) => e.pagePath === currPath)
} }
/** /**
@ -19,10 +21,8 @@ export const getIsTabbar = () => {
* redirectPath /pages/demo/base/route-interceptor * redirectPath /pages/demo/base/route-interceptor
*/ */
export const currRoute = () => { export const currRoute = () => {
const pages = getCurrentPages() // getCurrentPages() 至少有1个元素所以不再额外判断
console.log('pages:', pages) const lastPage = getCurrentPages().at(-1)
const lastPage = pages.at(-1)
const currRoute = (lastPage as any).$page const currRoute = (lastPage as any).$page
// console.log('lastPage.$page:', currRoute) // console.log('lastPage.$page:', currRoute)
// console.log('lastPage.$page.fullpath:', currRoute.fullPath) // console.log('lastPage.$page.fullpath:', currRoute.fullPath)
@ -66,8 +66,8 @@ export const getUrlObj = (url: string) => {
*/ */
export const getAllPages = (key = 'needLogin') => { export const getAllPages = (key = 'needLogin') => {
// 这里处理主包 // 这里处理主包
const pages = [ const mainPages = [
...pagesJson.pages ...pages
.filter((page) => !key || page[key]) .filter((page) => !key || page[key])
.map((page) => ({ .map((page) => ({
...page, ...page,
@ -76,7 +76,7 @@ export const getAllPages = (key = 'needLogin') => {
] ]
// 这里处理分包 // 这里处理分包
const subPages: any[] = [] const subPages: any[] = []
pagesJson.subPackages.forEach((subPageObj) => { subPackages.forEach((subPageObj) => {
// console.log(subPageObj) // console.log(subPageObj)
const { root } = subPageObj const { root } = subPageObj
@ -89,7 +89,7 @@ export const getAllPages = (key = 'needLogin') => {
}) })
}) })
}) })
const result = [...pages, ...subPages] const result = [...mainPages, ...subPages]
console.log(`getAllPages by ${key} result: `, result) console.log(`getAllPages by ${key} result: `, result)
return result return result
} }