Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
touchx
uni-app
提交
67abe270
U
uni-app
项目概览
touchx
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
67abe270
编写于
11月 08, 2022
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: darkmode easycom question/156809
上级
000907d0
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
15 deletion
+21
-15
packages/uni-cli-shared/lib/theme.js
packages/uni-cli-shared/lib/theme.js
+8
-4
packages/webpack-uni-pages-loader/lib/index-new.js
packages/webpack-uni-pages-loader/lib/index-new.js
+10
-8
packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js
.../webpack-uni-pages-loader/lib/platforms/app-plus/index.js
+1
-1
src/shared/theme.js
src/shared/theme.js
+2
-2
未找到文件。
packages/uni-cli-shared/lib/theme.js
浏览文件 @
67abe270
...
...
@@ -6,12 +6,17 @@ const {
getJson
}
=
require
(
'
./json
'
)
let
themeConfig
=
{}
let
manifestJsonDarkmode
=
false
function
parseThemeByJsonStr
(
jsonStr
,
keys
,
theme
)
{
if
(
jsonStr
.
indexOf
(
'
@
'
)
===
-
1
)
{
return
jsonStr
}
keys
.
forEach
(
key
=>
{
jsonStr
=
jsonStr
.
replace
(
new
RegExp
(
'
@
'
+
key
,
'
g
'
),
theme
[
key
])
jsonStr
=
jsonStr
.
replace
(
new
RegExp
(
'
@
'
+
key
,
'
g
'
),
$1
=>
{
return
theme
[
key
]
||
$1
})
})
return
jsonStr
}
...
...
@@ -22,11 +27,9 @@ function hasTheme (themeLocation = 'theme.json') {
}
function
darkmode
()
{
return
!!
(
global
.
uniPlugin
.
options
||
{}).
darkmode
return
manifestJsonDarkmode
&&
!!
(
global
.
uniPlugin
.
options
||
{}).
darkmode
}
let
themeConfig
=
{}
module
.
exports
=
{
getTheme
:
()
=>
themeConfig
,
darkmode
,
...
...
@@ -34,6 +37,7 @@ module.exports = {
initTheme
(
manifestJson
=
{})
{
const
platform
=
process
.
env
.
UNI_PLATFORM
const
themeLocation
=
(
manifestJson
[
platform
]
||
{}).
themeLocation
||
'
theme.json
'
manifestJsonDarkmode
=
(
manifestJson
[
platform
]
||
{}).
darkmode
||
false
if
(
!
hasTheme
(
themeLocation
))
{
return
}
...
...
packages/webpack-uni-pages-loader/lib/index-new.js
浏览文件 @
67abe270
...
...
@@ -76,7 +76,7 @@ module.exports = function (content, map) {
}
this
.
addDependency
(
manifestJsonPath
)
const
originalP
agesJson
=
parsePagesJson
(
content
,
{
const
p
agesJson
=
parsePagesJson
(
content
,
{
addDependency
:
file
=>
{
(
process
.
UNI_PAGES_DEPS
||
(
process
.
UNI_PAGES_DEPS
=
new
Set
())).
add
(
normalizePath
(
file
)
...
...
@@ -85,7 +85,7 @@ module.exports = function (content, map) {
}
})
if
(
!
originalPagesJson
.
pages
||
originalP
agesJson
.
pages
.
length
===
0
)
{
if
(
!
pagesJson
.
pages
||
p
agesJson
.
pages
.
length
===
0
)
{
console
.
error
(
uniI18n
.
__
(
'
pagesLoader.pagesNodeCannotNull
'
))
process
.
exit
(
0
)
}
...
...
@@ -94,14 +94,13 @@ module.exports = function (content, map) {
const
queryParam
=
loaderUtils
.
parseQuery
(
this
.
resourceQuery
)
if
(
queryParam
)
{
if
(
queryParam
.
type
===
'
origin-pages-json
'
)
{
return
`export default
${
JSON
.
stringify
(
originalP
agesJson
)}
`
return
`export default
${
JSON
.
stringify
(
p
agesJson
)}
`
}
}
}
const
platformManifestJson
=
manifestJson
[
process
.
env
.
UNI_PLATFORM
]
||
{}
const
pagesJson
=
parseTheme
(
originalPagesJson
)
if
(
global
.
uniPlugin
.
defaultTheme
)
{
this
.
addDependency
(
path
.
resolve
(
...
...
@@ -124,11 +123,16 @@ module.exports = function (content, map) {
process
.
UNI_TRANSFORM_PX
=
true
}
if
(
process
.
env
.
VUE_APP_DARK_MODE
!==
'
true
'
)
{
const
{
pages
,
globalStyle
,
tabBar
}
=
parseTheme
(
pagesJson
)
Object
.
assign
(
pagesJson
,
{
pages
,
globalStyle
,
tabBar
})
}
if
(
process
.
env
.
UNI_PLATFORM
===
'
h5
'
)
{
return
this
.
callback
(
null
,
require
(
'
./platforms/h5
'
)(
p
rocess
.
env
.
VUE_APP_DARK_MODE
===
'
true
'
?
originalPagesJson
:
p
agesJson
,
pagesJson
,
manifestJson
,
this
),
...
...
@@ -178,9 +182,7 @@ module.exports = function (content, map) {
}
const
jsonFiles
=
require
(
'
./platforms/
'
+
process
.
env
.
UNI_PLATFORM
)(
process
.
env
.
UNI_PLATFORM
===
'
app-plus
'
&&
process
.
env
.
VUE_APP_DARK_MODE
===
'
true
'
?
originalPagesJson
:
pagesJson
,
pagesJson
,
manifestJson
,
isAppView
)
...
...
packages/webpack-uni-pages-loader/lib/platforms/app-plus/index.js
浏览文件 @
67abe270
...
...
@@ -112,7 +112,7 @@ function updateFileFlag (appJson) {
function
_initTheme
(
appJson
,
userManifestJson
)
{
const
manifestJson
=
userManifestJson
[
process
.
env
.
UNI_PLATFORM
]
||
{}
appJson
.
darkmode
=
manifestJson
.
darkmode
||
false
const
themeLocation
=
manifestJson
.
themeLocation
||
''
const
themeLocation
=
manifestJson
.
themeLocation
||
'
theme.json
'
if
(
themeLocation
&&
hasTheme
(
themeLocation
))
{
appJson
.
themeConfig
=
getTheme
()
}
...
...
src/shared/theme.js
浏览文件 @
67abe270
...
...
@@ -12,7 +12,7 @@ export function normalizeTabBarStyles (borderStyle) {
return
borderStyle
}
export
function
normallizeStyles
(
pageStyle
,
themeConfig
,
mode
=
'
light
'
)
{
export
function
normallizeStyles
(
pageStyle
,
themeConfig
=
{}
,
mode
=
'
light
'
)
{
const
modeStyle
=
themeConfig
[
mode
]
const
styles
=
{}
if
(
!
modeStyle
)
{
...
...
@@ -29,7 +29,7 @@ export function normallizeStyles (pageStyle, themeConfig, mode = 'light') {
:
item
)
}
else
if
(
isStr
(
styleItem
)
&&
styleItem
.
startsWith
(
'
@
'
))
{
const
_key
=
styleItem
.
replace
(
'
@
'
,
''
)
let
_styleItem
=
modeStyle
[
_key
]
let
_styleItem
=
modeStyle
[
_key
]
||
styleItem
switch
(
key
)
{
case
'
borderStyle
'
:
_styleItem
=
normalizeTabBarStyles
(
_styleItem
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录