From 379186541988180b949e9fc84c5f7cdfcd054c56 Mon Sep 17 00:00:00 2001 From: ozh Date: Mon, 12 Oct 2026 16:10:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(auth):=20BLE=20=E9=85=8D=E7=BD=91=E9=A1=B5?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=B8=B8=E5=AE=A2=E7=99=BD=E5=90=8D=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E9=85=8D=E7=BD=AE=E8=AE=BE=E5=A4=87=E6=97=A0=E9=9C=80?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 个人中心「配置设备」链路为纯本地蓝牙操作(扫描/连接/配网), 不依赖账号体系,游客放行供设备试连体验;对应守卫测试补充断言。 --- src/utils/auth.ts | 6 ++++-- tests/unit/utils/auth.spec.ts | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 552c61f..6e35d33 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -7,14 +7,16 @@ import { ROUTES } from '@/constants/routes' // 游客可浏览页面(微信审核要求:进入首页即要求授权登录会被拒, // tab 页与登录页放开,操作型页面按需登录;协议全文页游客可读—— -// 登录前需可查看协议内容才能完成勾选同意) +// 登录前需可查看协议内容才能完成勾选同意; +// BLE 配网页纯本地蓝牙操作不依赖账号,游客放行供设备试连体验) export const PUBLIC_PAGES = new Set([ ROUTES.LOGIN, ROUTES.HOME, ROUTES.DEVICE_LIST, ROUTES.EVENT, ROUTES.MINE, - ROUTES.AGREEMENT + ROUTES.AGREEMENT, + ROUTES.DEVICE_BLE_CONFIG ]) // 登录页路径(navigation 守卫改投目标) diff --git a/tests/unit/utils/auth.spec.ts b/tests/unit/utils/auth.spec.ts index 449574d..16d970b 100644 --- a/tests/unit/utils/auth.spec.ts +++ b/tests/unit/utils/auth.spec.ts @@ -88,12 +88,14 @@ describe('navigation 登录守卫', () => { }) describe('isProtectedPage', () => { - it('登录页与四个 tab 页返回 false(游客可浏览),其余页面返回 true', () => { + it('登录页、四个 tab 页与协议/BLE 配网页返回 false(游客可浏览),其余页面返回 true', () => { expect(isProtectedPage(ROUTES.LOGIN)).toBe(false) expect(isProtectedPage(ROUTES.HOME)).toBe(false) expect(isProtectedPage(ROUTES.DEVICE_LIST)).toBe(false) expect(isProtectedPage(ROUTES.EVENT)).toBe(false) expect(isProtectedPage(ROUTES.MINE)).toBe(false) + expect(isProtectedPage(ROUTES.AGREEMENT)).toBe(false) + expect(isProtectedPage(ROUTES.DEVICE_BLE_CONFIG)).toBe(false) expect(isProtectedPage(ROUTES.FAMILY)).toBe(true) expect(isProtectedPage(`${ROUTES.LOGIN}?from=xxx`)).toBe(false) })