feat(auth): BLE 配网页加入游客白名单,配置设备无需登录

个人中心「配置设备」链路为纯本地蓝牙操作(扫描/连接/配网),
不依赖账号体系,游客放行供设备试连体验;对应守卫测试补充断言。
This commit is contained in:
ozh 2026-10-12 16:10:17 +08:00
parent c84ca3f1b7
commit 3791865419
2 changed files with 7 additions and 3 deletions

View File

@ -7,14 +7,16 @@ import { ROUTES } from '@/constants/routes'
// 游客可浏览页面(微信审核要求:进入首页即要求授权登录会被拒, // 游客可浏览页面(微信审核要求:进入首页即要求授权登录会被拒,
// tab 页与登录页放开,操作型页面按需登录;协议全文页游客可读—— // tab 页与登录页放开,操作型页面按需登录;协议全文页游客可读——
// 登录前需可查看协议内容才能完成勾选同意) // 登录前需可查看协议内容才能完成勾选同意;
// BLE 配网页纯本地蓝牙操作不依赖账号,游客放行供设备试连体验)
export const PUBLIC_PAGES = new Set<string>([ export const PUBLIC_PAGES = new Set<string>([
ROUTES.LOGIN, ROUTES.LOGIN,
ROUTES.HOME, ROUTES.HOME,
ROUTES.DEVICE_LIST, ROUTES.DEVICE_LIST,
ROUTES.EVENT, ROUTES.EVENT,
ROUTES.MINE, ROUTES.MINE,
ROUTES.AGREEMENT ROUTES.AGREEMENT,
ROUTES.DEVICE_BLE_CONFIG
]) ])
// 登录页路径(navigation 守卫改投目标) // 登录页路径(navigation 守卫改投目标)

View File

@ -88,12 +88,14 @@ describe('navigation 登录守卫', () => {
}) })
describe('isProtectedPage', () => { describe('isProtectedPage', () => {
it('登录页与四个 tab 页返回 false(游客可浏览),其余页面返回 true', () => { it('登录页、四个 tab 页与协议/BLE 配网页返回 false(游客可浏览),其余页面返回 true', () => {
expect(isProtectedPage(ROUTES.LOGIN)).toBe(false) expect(isProtectedPage(ROUTES.LOGIN)).toBe(false)
expect(isProtectedPage(ROUTES.HOME)).toBe(false) expect(isProtectedPage(ROUTES.HOME)).toBe(false)
expect(isProtectedPage(ROUTES.DEVICE_LIST)).toBe(false) expect(isProtectedPage(ROUTES.DEVICE_LIST)).toBe(false)
expect(isProtectedPage(ROUTES.EVENT)).toBe(false) expect(isProtectedPage(ROUTES.EVENT)).toBe(false)
expect(isProtectedPage(ROUTES.MINE)).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.FAMILY)).toBe(true)
expect(isProtectedPage(`${ROUTES.LOGIN}?from=xxx`)).toBe(false) expect(isProtectedPage(`${ROUTES.LOGIN}?from=xxx`)).toBe(false)
}) })