From 801c65d5e7a26148d662b0e15b69956a20fe0449 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Tue, 11 May 2021 17:01:18 +0800 Subject: [PATCH] fix(h5): router base --- .../src/components/movable-area/index.tsx | 8 ++--- packages/uni-h5/dist/uni-h5.cjs.js | 2 +- packages/uni-h5/dist/uni-h5.es.js | 36 +++++++++---------- .../uni-h5/src/framework/plugin/router.ts | 6 ++-- packages/vite-plugin-uni/src/cli/server.ts | 5 ++- 5 files changed, 30 insertions(+), 27 deletions(-) diff --git a/packages/uni-components/src/components/movable-area/index.tsx b/packages/uni-components/src/components/movable-area/index.tsx index 5f64108c7..4dc145650 100644 --- a/packages/uni-components/src/components/movable-area/index.tsx +++ b/packages/uni-components/src/components/movable-area/index.tsx @@ -246,8 +246,8 @@ function useMovableAreaState(props: Props, rootRef: Ref) { const RIGHT = ('padding' + item) as keyof CSSStyleDeclaration return ( all + - parseFloat((style[LEFT] as unknown) as string) + - parseFloat((style[RIGHT] as unknown) as string) + parseFloat(style[LEFT] as unknown as string) + + parseFloat(style[RIGHT] as unknown as string) ) }, 0) height.value = @@ -257,8 +257,8 @@ function useMovableAreaState(props: Props, rootRef: Ref) { const BOTTOM = ('padding' + item) as keyof CSSStyleDeclaration return ( all + - parseFloat((style[TOP] as unknown) as string) + - parseFloat((style[BOTTOM] as unknown) as string) + parseFloat(style[TOP] as unknown as string) + + parseFloat(style[BOTTOM] as unknown as string) ) }, 0) } diff --git a/packages/uni-h5/dist/uni-h5.cjs.js b/packages/uni-h5/dist/uni-h5.cjs.js index 9fd95ff51..be7c41ed9 100644 --- a/packages/uni-h5/dist/uni-h5.cjs.js +++ b/packages/uni-h5/dist/uni-h5.cjs.js @@ -1151,7 +1151,7 @@ function createRouterOptions() { } function initHistory() { { - return vueRouter.createMemoryHistory(); + return vueRouter.createMemoryHistory(__uniConfig.router.base); } } var index$q = { diff --git a/packages/uni-h5/dist/uni-h5.es.js b/packages/uni-h5/dist/uni-h5.es.js index f935b7074..1e57f94cc 100644 --- a/packages/uni-h5/dist/uni-h5.es.js +++ b/packages/uni-h5/dist/uni-h5.es.js @@ -465,7 +465,7 @@ var safeAreaInsets = { onChange, offChange }; -var D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out = safeAreaInsets; +var out = safeAreaInsets; const onEventPrevent = /* @__PURE__ */ withModifiers(() => { }, ["prevent"]); const onEventStop = /* @__PURE__ */ withModifiers(() => { @@ -477,10 +477,10 @@ function getWindowOffset() { const left = parseInt(style.getPropertyValue("--window-left")); const right = parseInt(style.getPropertyValue("--window-right")); return { - top: top ? top + D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top : 0, - bottom: bottom ? bottom + D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.bottom : 0, - left: left ? left + D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.left : 0, - right: right ? right + D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.right : 0 + top: top ? top + out.top : 0, + bottom: bottom ? bottom + out.bottom : 0, + left: left ? left + out.left : 0, + right: right ? right + out.right : 0 }; } function updateCssVar(cssVars) { @@ -1164,7 +1164,7 @@ function normalizePageMeta(pageMeta) { let offset = rpx2px(refreshOptions.offset); const {type} = navigationBar; if (type !== "transparent" && type !== "none") { - offset += NAVBAR_HEIGHT + D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top; + offset += NAVBAR_HEIGHT + out.top; } refreshOptions.offset = offset; refreshOptions.height = rpx2px(refreshOptions.height); @@ -4670,7 +4670,7 @@ function removeCurrentPages(delta = 1) { } } function initHistory() { - const history2 = __UNI_FEATURE_ROUTER_MODE__ === "history" ? createWebHistory() : createWebHashHistory(); + const history2 = __UNI_FEATURE_ROUTER_MODE__ === "history" ? createWebHistory(__uniConfig.router.base) : createWebHashHistory(__uniConfig.router.base); history2.listen((_to, _from, info) => { if (info.direction === "back") { removeCurrentPages(Math.abs(info.delta)); @@ -13907,7 +13907,7 @@ const getSystemInfoSync = /* @__PURE__ */ defineSyncApi("getSystemInfoSync", () const windowWidth = getWindowWidth(screenWidth); let windowHeight = window.innerHeight; const language = navigator.language; - const statusBarHeight = D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top; + const statusBarHeight = out.top; let osname; let osversion; let model; @@ -14020,12 +14020,12 @@ const getSystemInfoSync = /* @__PURE__ */ defineSyncApi("getSystemInfoSync", () const system = `${osname} ${osversion}`; const platform = osname.toLocaleLowerCase(); const safeArea = { - left: D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.left, - right: windowWidth - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.right, - top: D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top, - bottom: windowHeight - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.bottom, - width: windowWidth - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.left - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.right, - height: windowHeight - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top - D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.bottom + left: out.left, + right: windowWidth - out.right, + top: out.top, + bottom: windowHeight - out.bottom, + width: windowWidth - out.left - out.right, + height: windowHeight - out.top - out.bottom }; const {top: windowTop, bottom: windowBottom} = getWindowOffset(); windowHeight -= windowTop; @@ -14045,10 +14045,10 @@ const getSystemInfoSync = /* @__PURE__ */ defineSyncApi("getSystemInfoSync", () model, safeArea, safeAreaInsets: { - top: D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.top, - right: D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.right, - bottom: D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.bottom, - left: D__DCloud_local_git_uniAppNext_node_modules_safeAreaInsets_out.left + top: out.top, + right: out.right, + bottom: out.bottom, + left: out.left } }; }); diff --git a/packages/uni-h5/src/framework/plugin/router.ts b/packages/uni-h5/src/framework/plugin/router.ts index d6c1d8e17..a5e1eecb8 100644 --- a/packages/uni-h5/src/framework/plugin/router.ts +++ b/packages/uni-h5/src/framework/plugin/router.ts @@ -46,12 +46,12 @@ function removeCurrentPages(delta: number = 1) { function initHistory() { if (__NODE_JS__) { - return createMemoryHistory() + return createMemoryHistory(__uniConfig.router.base) } const history = __UNI_FEATURE_ROUTER_MODE__ === 'history' - ? createWebHistory() - : createWebHashHistory() + ? createWebHistory(__uniConfig.router.base) + : createWebHashHistory(__uniConfig.router.base) history.listen((_to, _from, info) => { if (info.direction === 'back') { removeCurrentPages(Math.abs(info.delta)) diff --git a/packages/vite-plugin-uni/src/cli/server.ts b/packages/vite-plugin-uni/src/cli/server.ts index 155070523..f4feb8daf 100644 --- a/packages/vite-plugin-uni/src/cli/server.ts +++ b/packages/vite-plugin-uni/src/cli/server.ts @@ -9,6 +9,7 @@ import { } from 'vite' import express from 'express' import { hasOwn } from '@vue/shared' +import { parseManifestJson } from '@dcloudio/uni-cli-shared' import { CliOptions } from '.' import { cleanOptions } from './utils' @@ -46,7 +47,9 @@ export async function createSSRServer(options: CliOptions & ServerOptions) { app.use('*', async (req, res) => { try { - const url = req.originalUrl + const { h5 } = parseManifestJson(process.env.UNI_INPUT_DIR) + const base = (h5 && h5.router && h5.router.base) || '' + const url = req.originalUrl.replace(base, '') const template = await vite.transformIndexHtml( url, fs.readFileSync( -- GitLab