Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
4ab5b33f
U
uni-app
项目概览
DCloud
/
uni-app
6 个月 前同步成功
通知
751
Star
38709
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
8
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
8
Issue
8
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
4ab5b33f
编写于
11月 02, 2022
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(h5): darkmode body dark-default background-color
上级
98df378a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
17 addition
and
39 deletion
+17
-39
packages/uni-app-plus/style/framework/base.css
packages/uni-app-plus/style/framework/base.css
+7
-0
packages/uni-cli-shared/src/postcss/plugins/uniapp.ts
packages/uni-cli-shared/src/postcss/plugins/uniapp.ts
+8
-38
packages/uni-h5/style/framework/base.css
packages/uni-h5/style/framework/base.css
+2
-1
未找到文件。
packages/uni-app-plus/style/framework/base.css
浏览文件 @
4ab5b33f
...
...
@@ -23,6 +23,13 @@ body {
background-color
:
white
;
}
@media
(
prefers-color-scheme
:
dark
)
{
body
{
background-color
:
#191919
;
color
:
hsla
(
0
,
0%
,
100%
,
0.8
);
}
}
input
[
type
=
'search'
]
::-webkit-search-cancel-button
{
display
:
none
;
}
...
...
packages/uni-cli-shared/src/postcss/plugins/uniapp.ts
浏览文件 @
4ab5b33f
import
{
extend
}
from
'
@vue/shared
'
import
type
{
Rule
,
Declaration
,
Plugin
,
Root
}
from
'
postcss
'
import
postcss
from
'
postcss
'
import
selectorParser
from
'
postcss-selector-parser
'
import
{
createRpx2Unit
,
defaultRpx2Unit
,
isBuiltInComponent
,
COMPONENT_SELECTOR_PREFIX
,
normalizeStyles
,
}
from
'
@dcloudio/uni-shared
'
import
{
parsePagesJsonOnce
,
normalizeThemeConfigOnce
,
getPlatformManifestJsonOnce
,
}
from
'
../../json
'
export
interface
UniAppCssProcessorOptions
{
unit
?:
string
// 目标单位,默认rem
unitRatio
?:
number
// 单位转换比例,默认10/320
...
...
@@ -91,33 +83,13 @@ function walkDecls(rpx2unit: ReturnType<typeof createRpx2Unit>) {
}
}
function
darkmodeAtRule
(
root
:
Root
,
platform
:
UniApp
.
PLATFORM
)
{
const
pageJson
=
parsePagesJsonOnce
(
process
.
env
.
UNI_PLATFORM
,
platform
)
const
filePath
=
root
.
source
?.
input
.
file
||
''
if
(
process
.
env
.
VUE_APP_DARK_MODE
===
'
true
'
&&
filePath
.
indexOf
(
'
App.vue
'
)
!==
-
1
)
{
const
pageBGC
=
(
pageJson
.
globalStyle
||
{}).
backgroundColor
||
''
if
(
pageBGC
.
indexOf
(
'
@
'
)
===
0
)
{
;[
'
dark
'
,
'
light
'
].
forEach
((
theme
)
=>
{
const
{
backgroundColor
}
=
normalizeStyles
(
{
backgroundColor
:
pageBGC
},
normalizeThemeConfigOnce
(
getPlatformManifestJsonOnce
()),
theme
as
UniApp
.
ThemeMode
)
if
(
backgroundColor
!==
'
undefined
'
)
{
const
mediaRoot
=
postcss
.
parse
(
`
/* #ifndef APP-NVUE*/
@media (prefers-color-scheme:
${
theme
}
) {
body,
uni-page-body {
background-color:
${
backgroundColor
}
;
}
}
/* #endif */
`
)
root
.
nodes
=
[...
mediaRoot
.
nodes
,
...
root
.
nodes
]
function
filterPrefersColorScheme
(
root
:
Root
)
{
if
(
process
.
env
.
VUE_APP_DARK_MODE
===
'
true
'
)
{
const
filePath
=
root
.
source
?.
input
.
file
if
(
filePath
&&
filePath
.
includes
(
'
@dcloudio
'
))
{
root
.
walkAtRules
((
rule
)
=>
{
if
(
rule
.
params
.
includes
(
'
prefers-color-scheme
'
))
{
rule
.
remove
()
}
})
}
...
...
@@ -173,9 +145,7 @@ const uniapp = (opts?: UniAppCssProcessorOptions) => {
OnceExit
(
root
)
{
root
.
walkDecls
(
walkDecls
(
rpx2unit
))
const
rewriteTag
=
transforms
[
platform
]
if
([
'
h5
'
,
'
app
'
].
includes
(
platform
))
{
darkmodeAtRule
(
root
,
platform
)
}
filterPrefersColorScheme
(
root
)
if
(
rewriteTag
)
{
root
.
walkRules
(
walkRules
({
...
...
packages/uni-h5/style/framework/base.css
浏览文件 @
4ab5b33f
...
...
@@ -13,7 +13,8 @@ body {
@media
(
prefers-color-scheme
:
dark
)
{
body
{
color-scheme
:
dark
;
background-color
:
#191919
;
color
:
hsla
(
0
,
0%
,
100%
,
0.8
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录