diff --git a/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/lib/addStylesClient.js b/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/lib/addStylesClient.js index d0270a9f58e6da4beedf34d7bf7d1a46796c8637..c0bdff387c5b20456fe02b354a2c4be58b37dc76 100644 --- a/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/lib/addStylesClient.js +++ b/packages/vue-cli-plugin-uni/packages/h5-vue-style-loader/lib/addStylesClient.js @@ -239,14 +239,6 @@ var VAR_WINDOW_BOTTOM = /var\(--window-bottom\)/gi function processCss(css) { - var envMethod = '' - envMethod = uni.canIUse('css.constant') ? 'constant' : envMethod - envMethod = uni.canIUse('css.env') ? 'env' : envMethod - if (envMethod) { - css = css.replace(VAR_STATUS_BAR_HEIGHT, envMethod + '(safe-area-inset-top)') - .replace(VAR_WINDOW_TOP, 'calc(var(--window-top) + ' + envMethod + '(safe-area-inset-top))') - .replace(VAR_WINDOW_BOTTOM, 'calc(var(--window-bottom) + ' + envMethod + '(safe-area-inset-bottom))') - } var page = getPage() if (!uni.canIUse('css.var')) { //不支持 css 变量 var offset = getWindowOffset() diff --git a/packages/webpack-uni-pages-loader/lib/platforms/h5.js b/packages/webpack-uni-pages-loader/lib/platforms/h5.js index 387e6c267a27972a767ebe920a0d49443d07ac99..7d52e0654a753fa3920c2453b2cea310dff96402 100644 --- a/packages/webpack-uni-pages-loader/lib/platforms/h5.js +++ b/packages/webpack-uni-pages-loader/lib/platforms/h5.js @@ -96,9 +96,22 @@ const getPageComponents = function (inputDir, pagesJson) { } let windowTop = 44 - let pageStyle = Object.assign({}, globalStyle, props) - if (pageStyle.navigationStyle === 'custom' || ('titleNView' in pageStyle && (!pageStyle.titleNView || pageStyle.titleNView.type === - 'transparent' || pageStyle.titleNView.type === 'float'))) { + const pageStyle = Object.assign({}, globalStyle, props) + const titleNViewTypeList = { + 'none': 'default', + 'auto': 'transparent', + 'always': 'float' + } + let titleNView = pageStyle.titleNView + titleNView = Object.assign({}, { + type: pageStyle.navigationStyle === 'custom' ? 'none' : 'default' + }, pageStyle.transparentTitle in titleNViewTypeList ? { + type: titleNViewTypeList[pageStyle.transparentTitle], + backgroundColor: 'rgba(0,0,0,0)' + } : null, typeof titleNView === 'object' ? titleNView : (typeof titleNView === 'boolean' ? { + type: titleNView ? 'default' : 'none' + } : null)) + if (titleNView.type === 'none' || titleNView.type === 'transparent') { windowTop = 0 } @@ -300,7 +313,7 @@ module.exports = function (pagesJson, manifestJson) { const inputDir = process.env.UNI_INPUT_DIR const pageComponents = getPageComponents(inputDir, pagesJson) - + pagesJson.globalStyle = process.UNI_H5_PAGES_JSON.globalStyle delete pagesJson.pages delete pagesJson.subPackages diff --git a/src/platforms/h5/components/page/index.vue b/src/platforms/h5/components/page/index.vue index 4a4dbecafa8906ab1022b85baa77832d9320830b..48455d87e85c0f8ee753c53b3122e29c1fa376c8 100644 --- a/src/platforms/h5/components/page/index.vue +++ b/src/platforms/h5/components/page/index.vue @@ -1,19 +1,21 @@