Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
touchx
uni-app
提交
c5587266
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,发现更多精彩内容 >>
提交
c5587266
编写于
11月 17, 2022
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(app): darkmode statusBarStyle question/157497
上级
3d598a08
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
27 addition
and
6 deletion
+27
-6
src/platforms/app-plus/service/api/device/system.js
src/platforms/app-plus/service/api/device/system.js
+2
-2
src/platforms/app-plus/service/framework/app.js
src/platforms/app-plus/service/framework/app.js
+4
-1
src/platforms/app-plus/service/framework/theme.js
src/platforms/app-plus/service/framework/theme.js
+20
-3
src/platforms/app-plus/service/framework/webview/parser/webview-style-parser.js
.../service/framework/webview/parser/webview-style-parser.js
+1
-0
未找到文件。
src/platforms/app-plus/service/api/device/system.js
浏览文件 @
c5587266
...
@@ -48,7 +48,7 @@ export function getAppBaseInfo () {
...
@@ -48,7 +48,7 @@ export function getAppBaseInfo () {
hostPackageName
,
hostName
,
osLanguage
,
hostPackageName
,
hostName
,
osLanguage
,
hostVersion
,
hostLanguage
,
hostTheme
,
hostVersion
,
hostLanguage
,
hostTheme
,
appId
,
appName
,
appVersion
,
appVersionCode
,
appId
,
appName
,
appVersion
,
appVersionCode
,
appWgtVersion
,
osTheme
appWgtVersion
}
=
systemInfo
}
=
systemInfo
const
appLanguage
=
uni
const
appLanguage
=
uni
...
@@ -74,7 +74,7 @@ export function getAppBaseInfo () {
...
@@ -74,7 +74,7 @@ export function getAppBaseInfo () {
hostFontSizeSetting
:
undefined
,
hostFontSizeSetting
:
undefined
,
language
:
osLanguage
,
language
:
osLanguage
,
SDKVersion
:
''
,
SDKVersion
:
''
,
theme
:
hostTheme
||
osTheme
,
theme
:
plus
.
navigator
.
getUIStyle
()
,
version
:
plus
.
runtime
.
innerVersion
version
:
plus
.
runtime
.
innerVersion
}
}
}
}
...
...
src/platforms/app-plus/service/framework/app.js
浏览文件 @
c5587266
...
@@ -52,6 +52,8 @@ import {
...
@@ -52,6 +52,8 @@ import {
parseRedirectInfo
parseRedirectInfo
}
from
'
./utils
'
}
from
'
./utils
'
import
{
changePagesNavigatorStyle
}
from
'
./theme
'
let
appCtx
let
appCtx
const
defaultApp
=
{
const
defaultApp
=
{
...
@@ -131,6 +133,7 @@ function initGlobalListeners () {
...
@@ -131,6 +133,7 @@ function initGlobalListeners () {
publish
(
'
onUIStyleChange
'
,
{
publish
(
'
onUIStyleChange
'
,
{
style
:
event
.
uistyle
style
:
event
.
uistyle
})
})
changePagesNavigatorStyle
()
})
})
globalEvent
.
addEventListener
(
'
uniMPNativeEvent
'
,
function
(
event
)
{
globalEvent
.
addEventListener
(
'
uniMPNativeEvent
'
,
function
(
event
)
{
...
...
src/platforms/app-plus/service/framework/theme.js
浏览文件 @
c5587266
import
{
normallizeStyles
}
from
'
uni-shared
'
import
{
normallizeStyles
}
from
'
uni-shared
'
import
{
weexGetSystemInfoSync
}
from
'
../api/device/system
'
import
{
weexGetSystemInfoSync
}
from
'
../api/device/system
'
import
{
setStatusBarStyle
}
from
'
../bridge
'
import
{
getCurrentPages
}
from
'
./page
'
const
ON_THEME_CHANGE
=
'
api.onThemeChange
'
const
ON_THEME_CHANGE
=
'
api.onThemeChange
'
...
@@ -11,13 +13,28 @@ function offThemeChange (callback = () => { }) {
...
@@ -11,13 +13,28 @@ function offThemeChange (callback = () => { }) {
UniServiceJSBridge
.
off
(
ON_THEME_CHANGE
,
callback
)
UniServiceJSBridge
.
off
(
ON_THEME_CHANGE
,
callback
)
}
}
function
getNavigatorStyle
()
{
return
plus
.
navigator
.
getUIStyle
()
===
'
dark
'
?
'
light
'
:
'
dark
'
}
export
function
changePagesNavigatorStyle
()
{
const
theme
=
getNavigatorStyle
()
setStatusBarStyle
(
theme
)
const
pages
=
getCurrentPages
(
true
)
pages
.
forEach
((
page
)
=>
{
page
.
$page
.
meta
.
statusBarStyle
=
theme
})
}
export
function
parseTheme
(
pageStyle
)
{
export
function
parseTheme
(
pageStyle
)
{
let
parsedStyle
=
{}
let
parsedStyle
=
{}
if
(
__uniConfig
.
darkmode
)
{
if
(
__uniConfig
.
darkmode
)
{
let
theme
=
'
light
'
let
theme
=
plus
.
navigator
.
getUIStyle
()
const
systemInfo
=
weexGetSystemInfoSync
()
const
systemInfo
=
weexGetSystemInfoSync
()
if
(
systemInfo
)
{
if
(
systemInfo
&&
systemInfo
.
hostTheme
)
{
theme
=
systemInfo
.
hostTheme
||
systemInfo
.
osTheme
theme
=
systemInfo
.
hostTheme
}
}
parsedStyle
=
normallizeStyles
(
pageStyle
,
__uniConfig
.
themeConfig
,
theme
)
parsedStyle
=
normallizeStyles
(
pageStyle
,
__uniConfig
.
themeConfig
,
theme
)
}
}
...
...
src/platforms/app-plus/service/framework/webview/parser/webview-style-parser.js
浏览文件 @
c5587266
...
@@ -106,5 +106,6 @@ export function parseWebviewStyle (id, path, _routeOptions = {}) {
...
@@ -106,5 +106,6 @@ export function parseWebviewStyle (id, path, _routeOptions = {}) {
}
}
}
}
_routeOptions
.
meta
=
routeOptions
.
meta
return
webviewStyle
return
webviewStyle
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录