diff --git a/src/platforms/app-plus/service/api/route/navigate-back.js b/src/platforms/app-plus/service/api/route/navigate-back.js index f20e65466620ee3b20ef9178293911adc9551fe0..905e9e07604a49fe12e5665fe697d19837607a4b 100644 --- a/src/platforms/app-plus/service/api/route/navigate-back.js +++ b/src/platforms/app-plus/service/api/route/navigate-back.js @@ -50,7 +50,7 @@ function back (delta, animationType, animationDuration) { }) } - const backPage = function () { + const backPage = function (webview) { if (animationType) { webview.close(animationType, animationDuration || ANI_DURATION) } else { @@ -69,11 +69,13 @@ function back (delta, animationType, animationDuration) { }) } + const webview = currentPage.$getAppWebview() if (!currentPage.__uniapp_webview) { - return backPage() + return backPage(webview) } - const webview = currentPage.$getAppWebview() - backWebview(webview, backPage) + backWebview(webview, () => { + backPage(webview) + }) } export function navigateBack ({ diff --git a/src/platforms/app-plus/service/api/route/switch-tab.js b/src/platforms/app-plus/service/api/route/switch-tab.js index 6586664b570beda0eff855908106c813e3fea573..75e6e4f0e6d082c64e2f8e9434693efd4ce4767c 100644 --- a/src/platforms/app-plus/service/api/route/switch-tab.js +++ b/src/platforms/app-plus/service/api/route/switch-tab.js @@ -77,6 +77,7 @@ function _switchTab ({ query: {}, openType: 'switchTab' }), 'none', 0, () => { + setStatusBarStyle() invoke(callbackId, { errMsg: 'switchTab:ok' }) diff --git a/src/platforms/app-plus/service/framework/webview/parser/title-nview-parser.js b/src/platforms/app-plus/service/framework/webview/parser/title-nview-parser.js index ddf78d4e22af1631f4a67bf0ce7daf61b56a2f48..32be25762e6ea582640bf1fd5d71972c46ba53fe 100644 --- a/src/platforms/app-plus/service/framework/webview/parser/title-nview-parser.js +++ b/src/platforms/app-plus/service/framework/webview/parser/title-nview-parser.js @@ -30,7 +30,8 @@ function parseTitleNViewButtons (titleNView) { export function parseTitleNView (routeOptions) { const windowOptions = routeOptions.window - const titleNView = windowOptions.titleNView + const titleNView = windowOptions.titleNView + routeOptions.meta.statusBarStyle = windowOptions.navigationBarTextStyle === 'black' ? 'dark' : 'light' if ( // 无头 titleNView === false || titleNView === 'false' || @@ -68,8 +69,6 @@ export function parseTitleNView (routeOptions) { }] } - routeOptions.meta.statusBarStyle = windowOptions.navigationBarTextStyle === 'black' ? 'dark' : 'light' - if (isPlainObject(titleNView)) { return Object.assign(ret, parseTitleNViewButtons(titleNView)) } diff --git a/src/platforms/app-plus/view/framework/plugins/data.js b/src/platforms/app-plus/view/framework/plugins/data.js index f9c66100636456aabc6c03dba762d11773c5f22b..871120259985f78010a021a5cde65bd15c21f872 100644 --- a/src/platforms/app-plus/view/framework/plugins/data.js +++ b/src/platforms/app-plus/view/framework/plugins/data.js @@ -34,13 +34,13 @@ const handleData = { const [pageId, pagePath, pageOptions] = data document.title = `${pagePath}[${pageId}]` // 设置当前页面伪对象,方便其他地方使用 getCurrentPages 获取当前页面 id,route - setCurrentPage(pageId, pagePath) + setCurrentPage(pageId, pagePath) + // 通知页面创建,根据当前页面配置信息,初始化部分事件 + UniViewJSBridge.subscribeHandler(ON_PAGE_CREATE, pageOptions, pageId) // 初始化当前页面 VueComponent(生成页面样式代码) PageVueComponent = getPageVueComponent(pagePath) // 生成当前页面 vd vd = new VDomSync(pageId) - // 通知页面创建,根据当前页面配置信息,初始化部分事件 - UniViewJSBridge.subscribeHandler(ON_PAGE_CREATE, pageOptions, pageId) }, [MOUNTED_DATA]: function onMounted (data) { vd.addVData.apply(vd, data)