From 4a81ad25bf38fa53c7059c057b72159d4527ddf6 Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Fri, 16 Oct 2026 20:55:22 +0800 Subject: [PATCH] =?UTF-8?q?check-auth=EF=BC=9A=E5=AF=BC=E8=88=AA=E4=BB=8E?= =?UTF-8?q?=E4=B9=9D=E9=A1=B9=E5=8F=98=E5=8D=81=E9=A1=B9=EF=BC=88=E6=90=AD?= =?UTF-8?q?=E5=BB=BA=E8=80=85=E3=80=81=E5=85=B3=E7=99=BB=E5=BD=95=E5=90=84?= =?UTF-8?q?=E4=B8=80=E5=A4=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 第 4 波加了顶级导航「评测」(搭建者以上可见,评测-D8):check-auth 里「搭建者:导航九项」「关登录:导航九项」两处按数目断言, 跟着改成十项,搭建者那处另断言「评测」在里面;使用者那处(只有应用和设置)不变。check-auth 不在 check-all 的清单里,另起一套 后端 + vite 跑了「导航」「关登录」两段,全过。 --- scripts/check-auth.mjs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/check-auth.mjs b/scripts/check-auth.mjs index fe118b05..7de6e0e9 100644 --- a/scripts/check-auth.mjs +++ b/scripts/check-auth.mjs @@ -10,7 +10,7 @@ // - 非 GET 请求都带 X-AgentLab-Request 头(服务端开登录时据此防跨站); // - 使用者(user 角色):导航只有「应用」和「设置」,别的地址送回应用首页,⌥ 数字切不到看不见的页;没有署名框, // 账户菜单写显示名、角色、退出登录;待办卡写「以登录身份处理」; -// - 搭建者:导航九项都在,账户菜单写搭建者; +// - 搭建者:导航十项都在(第 4 波加了「评测」,搭建者以上可见),账户菜单写搭建者; // - 关登录:/login 直接回首页;导航底部是署名入口,没有账户菜单;应用首页挂「未开启登录」的说明; // - 管理员允许使用者问数据时(D-c):问数据页只取数据源的名字(/api/datasources/names),不取完整列表和表结构; // - 使用者的设置页只剩偏好设置(主题)和通知,换主题只存本机、不写服务端(D-s); @@ -262,12 +262,13 @@ await section('会话中途失效:401 整页跳登录', async () => { check('任何接口回 401 都跳 /login,带上原处', await page.waitForURL(/\/login\?next=/, { timeout: 15000 }).then(() => true, () => false), page.url()) }) -await section('搭建者:导航九项、账户菜单', async () => { +await section('搭建者:导航十项、账户菜单', async () => { const state = { mode: 'local', who: 'builder', writes: [] } const page = await open(state) await page.goto(`${WEB}/apps`) await nav(page).waitFor({ timeout: 15000 }) - check('导航九项都在', (await navLabels(page)).length === 9, (await navLabels(page)).join(',')) + check('导航十项都在(含搭建者以上可见的「评测」)', (await navLabels(page)).length === 10 && (await navLabels(page)).includes('评测'), + (await navLabels(page)).join(',')) await nav(page).locator('[data-account]').click() check('账户菜单写搭建者', (await page.locator('[data-account-role]').innerText()) === '搭建者') }) @@ -292,7 +293,7 @@ await section('关登录:登录页回首页、署名入口、说明行', async await page.goto(`${WEB}/login`) check('/login 回首页', await page.waitForURL(/\/chat/, { timeout: 15000 }).then(() => true, () => false), page.url()) await nav(page).waitFor({ timeout: 8000 }) - check('导航九项', (await navLabels(page)).length === 9) + check('导航十项', (await navLabels(page)).length === 10) check('底部是署名入口', (await nav(page).locator('a[href="/settings/prefs"]').count()) === 1) check('没有账户菜单', (await nav(page).locator('[data-account]').count()) === 0) await page.goto(`${WEB}/apps`)