From 831dd4a493fb9a7933b2773c3da32255d1934f38 Mon Sep 17 00:00:00 2001 From: xcbyy <2578898740@qq.com> Date: Tue, 13 Oct 2026 15:04:32 +0800 Subject: [PATCH] fix(order-list): ensure back button returns to user center instead of home page --- pwuniapp/pages/order/list.vue | 14 ++++++++++---- pwuniapp/pages/user/index.vue | 1 + server/tests/content-security.spec.ts | 7 ++++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pwuniapp/pages/order/list.vue b/pwuniapp/pages/order/list.vue index f3fc3d7..38516e7 100644 --- a/pwuniapp/pages/order/list.vue +++ b/pwuniapp/pages/order/list.vue @@ -377,11 +377,17 @@ const handleBack = () => { const pages = getCurrentPages(); if (pages && pages.length > 1) { uni.navigateBack(); - } else { - uni.switchTab({ - url: '/pages/index/index' - }); + return; } + const fromRoute = uni.getStorageSync('ORDER_PAGE_FROM'); + if (fromRoute) { + uni.removeStorageSync('ORDER_PAGE_FROM'); + uni.switchTab({ url: fromRoute }); + return; + } + uni.switchTab({ + url: '/pages/user/index' + }); }; const onThemeChanged = (key) => { diff --git a/pwuniapp/pages/user/index.vue b/pwuniapp/pages/user/index.vue index 8ab6f8e..1ad952d 100644 --- a/pwuniapp/pages/user/index.vue +++ b/pwuniapp/pages/user/index.vue @@ -1333,6 +1333,7 @@ const navTo = (url) => { } uni.switchTab({ url: '/pages/activity/list' }); } else if (url === '/pages/order/list') { + uni.setStorageSync('ORDER_PAGE_FROM', '/pages/user/index'); uni.switchTab({ url }); } else { uni.navigateTo({ url }); diff --git a/server/tests/content-security.spec.ts b/server/tests/content-security.spec.ts index a609630..3101828 100644 --- a/server/tests/content-security.spec.ts +++ b/server/tests/content-security.spec.ts @@ -851,11 +851,16 @@ describe('ContentSecurityService & Compliance Architecture (TDD 微信内容安 expect(content).toContain('nav-capsule-placeholder'); }); - it('必须包含智能返回上一级与首页兜底路由控制逻辑', () => { + it('必须包含智能返回上一级与针对个人中心等来源的返回兜底控制逻辑', () => { const content = fs.readFileSync(orderListPath, 'utf-8'); expect(content).toContain('getCurrentPages()'); expect(content).toContain('uni.navigateBack()'); expect(content).toContain('uni.switchTab'); + expect(content).toContain('/pages/user/index'); + + const userIndexPath = path.join(rootDir, 'pwuniapp', 'pages', 'user', 'index.vue'); + const userContent = fs.readFileSync(userIndexPath, 'utf-8'); + expect(userContent).toContain("uni.setStorageSync('ORDER_PAGE_FROM', '/pages/user/index')"); }); it('必须适配微信小程序胶囊安全避让变量与冷暖双主题', () => {