From 8fb8d9a073e71522d364c96c020ff6418fa2ebc0 Mon Sep 17 00:00:00 2001 From: DCloud_LXH <283700113@qq.com> Date: Tue, 1 Nov 2022 12:41:06 +0800 Subject: [PATCH] fix(h5): darkmode --- build/postcssSplitMediaPlugin.js | 2 +- lib/h5/uni.config.js | 5 +---- packages/vue-cli-plugin-uni/lib/env.js | 3 +-- packages/webpack-uni-pages-loader/lib/index-new.js | 6 +++++- src/platforms/h5/components/page/index.vue | 7 +------ 5 files changed, 9 insertions(+), 14 deletions(-) diff --git a/build/postcssSplitMediaPlugin.js b/build/postcssSplitMediaPlugin.js index 1cf2f8c36..1f102ea01 100644 --- a/build/postcssSplitMediaPlugin.js +++ b/build/postcssSplitMediaPlugin.js @@ -3,7 +3,7 @@ const mediaQuerys = [] module.exports = { splitMediaPlugin: function (root, result) { root.walkAtRules(rule => { - if (rule.params === '(perfers-color-scheme:dark)') { + if (rule.params.indexOf('prefers-color-scheme') !== -1) { root.removeChild(rule) mediaQuerys.push(rule) diff --git a/lib/h5/uni.config.js b/lib/h5/uni.config.js index d01bf81cc..0cc89c187 100644 --- a/lib/h5/uni.config.js +++ b/lib/h5/uni.config.js @@ -60,10 +60,7 @@ module.exports = { if (platformOptions.darkmode === true && darkPath) { copyOptions.push({ from: require.resolve('@dcloudio/uni-h5/dist/index.dark.css'), - to: getIndexCssPath(vueOptions.assetsDir, platformOptions.template, 'VUE_APP_INDEX_DARK_CSS_HASH'), - transform: (content) => { - - } + to: getIndexCssPath(vueOptions.assetsDir, platformOptions.template, 'VUE_APP_INDEX_DARK_CSS_HASH') }) } diff --git a/packages/vue-cli-plugin-uni/lib/env.js b/packages/vue-cli-plugin-uni/lib/env.js index 97e62dcc5..8ae9d7be6 100644 --- a/packages/vue-cli-plugin-uni/lib/env.js +++ b/packages/vue-cli-plugin-uni/lib/env.js @@ -35,7 +35,7 @@ process.env.UNI_APP_NAME = manifestJsonObj.name || '' process.env.UNI_PLATFORM = process.env.UNI_PLATFORM || 'h5' process.env.UNI_APP_VERSION_NAME = manifestJsonObj.versionName process.env.UNI_APP_VERSION_CODE = manifestJsonObj.versionCode -process.env.VUE_APP_DARK_MODE = (manifestJsonObj[process.env.UNI_PLATFORM] || {}).darkmode +process.env.VUE_APP_DARK_MODE = (manifestJsonObj[process.env.UNI_PLATFORM] || {}).darkmode || false // 小程序 vue3 标记 if (process.env.UNI_PLATFORM.indexOf('mp-') === 0) { @@ -274,7 +274,6 @@ if (process.env.UNI_PLATFORM === 'h5') { process.env.VUE_APP_INDEX_DARK_CSS_HASH = loaderUtils.getHashDigest(indexDarkCssBuffer, 'md5', 'hex', 8) } catch (error) { process.env.VUE_APP_INDEX_DARK_CSS_HASH = '' - process.env.VUE_APP_DARK_MODE = false } } diff --git a/packages/webpack-uni-pages-loader/lib/index-new.js b/packages/webpack-uni-pages-loader/lib/index-new.js index 99ed33b88..79b0fabc1 100644 --- a/packages/webpack-uni-pages-loader/lib/index-new.js +++ b/packages/webpack-uni-pages-loader/lib/index-new.js @@ -127,7 +127,11 @@ module.exports = function (content, map) { if (process.env.UNI_PLATFORM === 'h5') { return this.callback( null, - require('./platforms/h5')(originalPagesJson, manifestJson, this), + require('./platforms/h5')( + process.env.VUE_APP_DARK_MODE === 'true' ? originalPagesJson : pagesJson, + manifestJson, + this + ), map ) } diff --git a/src/platforms/h5/components/page/index.vue b/src/platforms/h5/components/page/index.vue index 93c6b1159..e7a38c296 100644 --- a/src/platforms/h5/components/page/index.vue +++ b/src/platforms/h5/components/page/index.vue @@ -257,14 +257,9 @@ export default { titleNView } = normalizeNavigationBar.call(this) - if (__uniConfig.darkmode) { - - } - return { navigationBar, - refreshOptions: getRefreshOptions.call(this, titleNView), - darkmodeStyle: {} + refreshOptions: getRefreshOptions.call(this, titleNView) } }, created () { -- GitLab