From a6bd72f0d4111a82c9b9bc21ab6df07b2f83807b Mon Sep 17 00:00:00 2001 From: MaDaLei Date: Sat, 18 Apr 2026 21:39:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=202026-04-18=2021:39?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 25 --- src/App.vue | 28 +++- src/components/AppPageState.vue | 8 +- .../appointment/CustAppointmentCreate.vue | 145 +++++++++++++++++- src/pages/home/Home.vue | 77 +++++++++- src/pages/login/Login.vue | 38 ++++- 6 files changed, 281 insertions(+), 40 deletions(-) diff --git a/package-lock.json b/package-lock.json index a4eff53..62d049f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3260,7 +3260,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3274,7 +3273,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3288,7 +3286,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3302,7 +3299,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3316,7 +3312,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3330,7 +3325,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3344,7 +3338,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3358,7 +3351,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3372,7 +3364,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3386,7 +3377,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3400,7 +3390,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3414,7 +3403,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3428,7 +3416,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3442,7 +3429,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3456,7 +3442,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3470,7 +3455,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3484,7 +3468,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3498,7 +3481,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3512,7 +3494,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3526,7 +3507,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3540,7 +3520,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3554,7 +3533,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3568,7 +3546,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3582,7 +3559,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -3596,7 +3572,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ diff --git a/src/App.vue b/src/App.vue index 66f9b6a..1ce4c32 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,6 +9,23 @@ const isPublicRoute = (route) => { return false } +function buildLoginRedirectPath() { + try { + const pages = getCurrentPages() + const cur = pages[pages.length - 1] + if (!cur) return '' + let path = cur.route || '' + if (!path.startsWith('/')) path = '/' + path + const opts = cur.options || {} + const keys = Object.keys(opts) + if (keys.length === 0) return path + const qs = keys.map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(opts[k])}`).join('&') + return `${path}?${qs}` + } catch (_) { + return '' + } +} + function scheduleAuthGuard() { setTimeout(() => { try { @@ -18,7 +35,16 @@ function scheduleAuthGuard() { const cur = pages[pages.length - 1] const route = cur && cur.route ? cur.route : '' if (isPublicRoute(route)) return - uni.reLaunch({ url: '/pages/login/Login' }) + const redirect = buildLoginRedirectPath() + const safe = + redirect && + redirect.startsWith('/pages/') && + !redirect.includes('..') && + !redirect.includes('//') + const loginUrl = safe + ? `/pages/login/Login?redirect=${encodeURIComponent(redirect)}` + : '/pages/login/Login' + uni.reLaunch({ url: loginUrl }) } catch (_) { uni.reLaunch({ url: '/pages/login/Login' }) } diff --git a/src/components/AppPageState.vue b/src/components/AppPageState.vue index d186976..76b83e2 100644 --- a/src/components/AppPageState.vue +++ b/src/components/AppPageState.vue @@ -20,9 +20,11 @@ - {{ emptyEmoji }} - {{ emptyTitle }} - {{ emptyHint }} + + {{ emptyEmoji }} + {{ emptyTitle }} + {{ emptyHint }} + diff --git a/src/pages/appointment/CustAppointmentCreate.vue b/src/pages/appointment/CustAppointmentCreate.vue index 5e86df7..4907b52 100644 --- a/src/pages/appointment/CustAppointmentCreate.vue +++ b/src/pages/appointment/CustAppointmentCreate.vue @@ -12,7 +12,19 @@ - + + 预约门店 + + {{ currentStoreDisplayName }} + 更换门店 + + {{ storeHintLine }} + + 预约门店 + 收起 {{ storeHintLine }} @@ -85,6 +102,11 @@ {{ bookingWindowHint }} + 备注(可选) @@ -97,6 +119,7 @@