diff --git a/packages/uni-app-plus/src/helpers/statusBar.ts b/packages/uni-app-plus/src/helpers/statusBar.ts index 3b07480ffa1d293df6fba90b01becb21f93896b7..fcc98ae8881270ea43684fc30877dc2693b3b2e4 100644 --- a/packages/uni-app-plus/src/helpers/statusBar.ts +++ b/packages/uni-app-plus/src/helpers/statusBar.ts @@ -8,3 +8,17 @@ export function getStatusbarHeight() { ) : 0 } + +export function getStatusBarStyle() { + let style = plus.navigator.getStatusBarStyle() + if ( + style === 'UIStatusBarStyleBlackTranslucent' || + style === 'UIStatusBarStyleBlackOpaque' || + style === 'null' + ) { + style = 'light' + } else if (style === 'UIStatusBarStyleDefault') { + style = 'dark' + } + return style +} diff --git a/packages/uni-app-plus/src/service/api/device/scanCode.ts b/packages/uni-app-plus/src/service/api/device/scanCode.ts index 1ae15bbd97610349baac136ed2086047d9ee67b8..103fefd34790860a13a4e1288a0385c44f663dd9 100644 --- a/packages/uni-app-plus/src/service/api/device/scanCode.ts +++ b/packages/uni-app-plus/src/service/api/device/scanCode.ts @@ -6,20 +6,7 @@ import { ScanCodeProtocol, } from '@dcloudio/uni-api' import { useI18n, initI18nScanCodeMsgsOnce } from '@dcloudio/uni-core' - -function getStatusBarStyle() { - let style = plus.navigator.getStatusBarStyle() - if ( - style === 'UIStatusBarStyleBlackTranslucent' || - style === 'UIStatusBarStyleBlackOpaque' || - style === 'null' - ) { - style = 'light' - } else if (style === 'UIStatusBarStyleDefault') { - style = 'dark' - } - return style -} +import { getStatusBarStyle } from '../../../helpers/statusBar' export const scanCode = defineAsyncApi( API_SCAN_CODE, diff --git a/packages/uni-app-plus/src/service/api/location/chooseLocation.ts b/packages/uni-app-plus/src/service/api/location/chooseLocation.ts index c197b994b8d0568c5b57d3d7d4a3076b37789780..0f078725c9e5b243bd1c12c41cee9fe7df3ae0d2 100644 --- a/packages/uni-app-plus/src/service/api/location/chooseLocation.ts +++ b/packages/uni-app-plus/src/service/api/location/chooseLocation.ts @@ -5,20 +5,7 @@ import { ChooseLocationProtocol, } from '@dcloudio/uni-api' import { showPage } from '../page' - -function getStatusBarStyle() { - let style = plus.navigator.getStatusBarStyle() - if ( - style === 'UIStatusBarStyleBlackTranslucent' || - style === 'UIStatusBarStyleBlackOpaque' || - style === 'null' - ) { - style = 'light' - } else if (style === 'UIStatusBarStyleDefault') { - style = 'dark' - } - return style -} +import { getStatusBarStyle } from '../../../helpers/statusBar' export const chooseLocation = defineAsyncApi( API_CHOOSE_LOCATION, diff --git a/packages/uni-app-plus/src/view/components/web-view/index.tsx b/packages/uni-app-plus/src/view/components/web-view/index.tsx index 6d6cac762c61fc84c40df5acbdd4297f8e27a0e8..f31edb793ecdf11769a15989ed716fccf336bab7 100644 --- a/packages/uni-app-plus/src/view/components/web-view/index.tsx +++ b/packages/uni-app-plus/src/view/components/web-view/index.tsx @@ -10,6 +10,7 @@ import { } from '../../../constants' import { NAVBAR_HEIGHT } from '@dcloudio/uni-shared' import { useNative } from '../../../helpers/useNative' +import { getStatusbarHeight } from '../../../helpers/statusBar' const props = { src: { @@ -48,7 +49,7 @@ const insertHTMLWebView = ({ if (parentTitleNView) { let defaultTop: number = NAVBAR_HEIGHT + parseFloat(styles.top || '0') if (plus.navigator.isImmersedStatusbar()) { - defaultTop += plus.navigator.getStatusbarHeight() + defaultTop += getStatusbarHeight() } styles.top = String(defaultTop) styles.bottom = styles.bottom || '0'