From 43c94c49c8ee43739d0cc04f684b577d06641a48 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Thu, 2 Dec 2021 20:16:21 +0800 Subject: [PATCH] fix(app): debug refresh --- packages/uni-app-plus/__tests__/webviewStyle.spec.ts | 12 ++++++++---- packages/uni-app-plus/dist/uni-app-service.es.js | 12 +++++++----- .../src/service/framework/webview/init/index.ts | 3 +-- .../src/service/framework/webview/init/style.ts | 2 +- .../src/service/framework/webview/style/index.ts | 8 ++++++-- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/packages/uni-app-plus/__tests__/webviewStyle.spec.ts b/packages/uni-app-plus/__tests__/webviewStyle.spec.ts index dc5f7cf25..2464c80f5 100644 --- a/packages/uni-app-plus/__tests__/webviewStyle.spec.ts +++ b/packages/uni-app-plus/__tests__/webviewStyle.spec.ts @@ -16,10 +16,14 @@ const defaultRoute = 'pages/index/index' describe('webviewStyle', () => { test('basic', () => { expect( - parseWebviewStyle(defaultPath, { - route: defaultRoute, - navigationBar: {}, - }) + parseWebviewStyle( + defaultPath, + { + route: defaultRoute, + navigationBar: {}, + }, + { id: '2' } as any + ) ).toMatchSnapshot() }) }) diff --git a/packages/uni-app-plus/dist/uni-app-service.es.js b/packages/uni-app-plus/dist/uni-app-service.es.js index 1627c8c19..9eade8a71 100644 --- a/packages/uni-app-plus/dist/uni-app-service.es.js +++ b/packages/uni-app-plus/dist/uni-app-service.es.js @@ -17374,7 +17374,7 @@ var serviceContext = (function (vue) { }; } - function parseWebviewStyle(path, routeMeta) { + function parseWebviewStyle(path, routeMeta, webview) { const webviewStyle = { bounce: 'vertical', }; @@ -17384,7 +17384,10 @@ var serviceContext = (function (vue) { routeMeta[name]; } }); - initNVue(webviewStyle, routeMeta, path); + if (webview.id !== '1') { + // 首页 nvue 已经在 manifest.json 中设置了 uniNView,不能再次设置,否则会二次加载 + initNVue(webviewStyle, routeMeta, path); + } initPopGesture(webviewStyle, routeMeta); initBackgroundColor(webviewStyle, routeMeta); initTitleNView(webviewStyle, routeMeta); @@ -17724,7 +17727,7 @@ var serviceContext = (function (vue) { } function initWebviewStyle(webview, path, query, routeMeta) { - const webviewStyle = parseWebviewStyle(path, routeMeta); + const webviewStyle = parseWebviewStyle(path, routeMeta, webview); webviewStyle.uniPageUrl = initUniPageUrl(path, query); const isTabBar = !!routeMeta.isTabBar; if (!routeMeta.isNVue) { @@ -17831,8 +17834,7 @@ var serviceContext = (function (vue) { function initWebview(webview, path, query, routeMeta) { // 首页或非 nvue 页面 if (webview.id === '1' || !routeMeta.isNVue) { - // path 必须参数为空,因为首页已经在 manifest.json 中设置了 uniNView,不能再次设置,否则会二次加载 - initWebviewStyle(webview, '', query, routeMeta); + initWebviewStyle(webview, path, query, routeMeta); } initSubNVues(webview, path, routeMeta); initWebviewEvent(webview); diff --git a/packages/uni-app-plus/src/service/framework/webview/init/index.ts b/packages/uni-app-plus/src/service/framework/webview/init/index.ts index 519895450..80f0adbb8 100644 --- a/packages/uni-app-plus/src/service/framework/webview/init/index.ts +++ b/packages/uni-app-plus/src/service/framework/webview/init/index.ts @@ -10,8 +10,7 @@ export function initWebview( ) { // 首页或非 nvue 页面 if (webview.id === '1' || !routeMeta.isNVue) { - // path 必须参数为空,因为首页已经在 manifest.json 中设置了 uniNView,不能再次设置,否则会二次加载 - initWebviewStyle(webview, '', query, routeMeta) + initWebviewStyle(webview, path, query, routeMeta) } initSubNVues(webview, path, routeMeta) initWebviewEvent(webview) diff --git a/packages/uni-app-plus/src/service/framework/webview/init/style.ts b/packages/uni-app-plus/src/service/framework/webview/init/style.ts index 2f48af319..ca7300946 100644 --- a/packages/uni-app-plus/src/service/framework/webview/init/style.ts +++ b/packages/uni-app-plus/src/service/framework/webview/init/style.ts @@ -8,7 +8,7 @@ export function initWebviewStyle( query: Record, routeMeta: UniApp.PageRouteMeta ) { - const webviewStyle = parseWebviewStyle(path, routeMeta) + const webviewStyle = parseWebviewStyle(path, routeMeta, webview) webviewStyle.uniPageUrl = initUniPageUrl(path, query) const isTabBar = !!routeMeta.isTabBar if (!routeMeta.isNVue) { diff --git a/packages/uni-app-plus/src/service/framework/webview/style/index.ts b/packages/uni-app-plus/src/service/framework/webview/style/index.ts index 4cfc11c14..57f61ac1c 100644 --- a/packages/uni-app-plus/src/service/framework/webview/style/index.ts +++ b/packages/uni-app-plus/src/service/framework/webview/style/index.ts @@ -7,7 +7,8 @@ import { DebugRefresh, InitUniPageUrl } from '../utils' export function parseWebviewStyle( path: string, - routeMeta: UniApp.PageRouteMeta + routeMeta: UniApp.PageRouteMeta, + webview: PlusWebviewWebviewObject ): PlusWebviewWebviewStyles & { uniPageUrl?: InitUniPageUrl debugRefresh?: DebugRefresh @@ -24,7 +25,10 @@ export function parseWebviewStyle( routeMeta[name as keyof UniApp.PageRouteMeta] } }) - initNVue(webviewStyle, routeMeta, path) + if (webview.id !== '1') { + // 首页 nvue 已经在 manifest.json 中设置了 uniNView,不能再次设置,否则会二次加载 + initNVue(webviewStyle, routeMeta, path) + } initPopGesture(webviewStyle, routeMeta) initBackgroundColor(webviewStyle, routeMeta) initTitleNView(webviewStyle, routeMeta) -- GitLab