44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
// TabBar 页面路径列表
|
|
const TAB_BAR_PAGES = ['pages/index/index', 'pages/appointment/appointment-page', 'pages/me/me-page']
|
|
|
|
// 检查当前是否在 TabBar 页面
|
|
const isTabBarPage = () => {
|
|
const pages = getCurrentPages()
|
|
if (pages.length === 0) return false
|
|
const currentPage = pages[pages.length - 1]
|
|
const currentRoute = currentPage.route || ''
|
|
return TAB_BAR_PAGES.includes(currentRoute)
|
|
}
|
|
|
|
// TabBar 国际化工具
|
|
export const updateTabBarI18n = (vm) => {
|
|
if (!vm || !vm.$t) return
|
|
|
|
// 只在 TabBar 页面才更新
|
|
if (!isTabBarPage()) return
|
|
|
|
try {
|
|
uni.setTabBarItem({
|
|
index: 0,
|
|
text: vm.$t('tabbar.home')
|
|
})
|
|
uni.setTabBarItem({
|
|
index: 1,
|
|
text: vm.$t('tabbar.appointment')
|
|
})
|
|
uni.setTabBarItem({
|
|
index: 2,
|
|
text: vm.$t('tabbar.me')
|
|
})
|
|
} catch (e) {
|
|
console.error('更新 TabBar 国际化失败:', e)
|
|
}
|
|
}
|
|
|
|
// 混入对象,用于在页面中自动更新 TabBar
|
|
export const tabBarI18nMixin = {
|
|
onShow() {
|
|
updateTabBarI18n(this)
|
|
}
|
|
}
|