import {
|
getWebview
|
} from '../util'
|
|
export function setNavigationBarTitle ({
|
__page__,
|
title = ''
|
} = {}) {
|
const webview = getWebview(__page__)
|
if (webview) {
|
const style = webview.getStyle()
|
if (style && style.titleNView) {
|
webview.setStyle({
|
titleNView: {
|
titleText: title
|
}
|
})
|
}
|
return {
|
errMsg: 'setNavigationBarTitle:ok'
|
}
|
}
|
return {
|
errMsg: 'setNavigationBarTitle:fail'
|
}
|
}
|
|
export function showNavigationBarLoading () {
|
plus.nativeUI.showWaiting('', {
|
modal: false
|
})
|
return {
|
errMsg: 'showNavigationBarLoading:ok'
|
}
|
}
|
|
export function hideNavigationBarLoading () {
|
plus.nativeUI.closeWaiting()
|
return {
|
errMsg: 'hideNavigationBarLoading:ok'
|
}
|
}
|
|
function setPageMeta (statusBarStyle) {
|
const pages = getCurrentPages()
|
if (!pages.length) {
|
return
|
}
|
// 框架内部页面跳转会从这里获取style配置
|
pages[pages.length - 1].$page.meta.statusBarStyle = statusBarStyle
|
}
|
|
export function setNavigationBarColor ({
|
__page__,
|
frontColor,
|
backgroundColor
|
} = {}) {
|
const webview = getWebview(__page__)
|
if (webview) {
|
const styles = {}
|
if (frontColor) {
|
styles.titleColor = frontColor
|
}
|
if (backgroundColor) {
|
styles.backgroundColor = backgroundColor
|
}
|
const statusBarStyle = frontColor === '#000000' ? 'dark' : 'light'
|
plus.navigator.setStatusBarStyle(statusBarStyle)
|
|
// 用户调用api时同时改变当前页配置,这样在系统调用设置时,可以避免覆盖用户设置
|
setPageMeta(statusBarStyle)
|
|
const style = webview.getStyle()
|
if (style && style.titleNView) {
|
if (style.titleNView.autoBackButton) {
|
styles.backButton = styles.backButton || {}
|
styles.backButton.color = frontColor
|
}
|
webview.setStyle({
|
titleNView: styles
|
})
|
}
|
return {
|
errMsg: 'setNavigationBarColor:ok'
|
}
|
}
|
return {
|
errMsg: 'setNavigationBarColor:fail'
|
}
|
}
|