From 087dbedaa14d7ddab20810eaf7001c85eb672d8d Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Thu, 22 Oct 2026 19:48:51 +0200 Subject: [PATCH] =?UTF-8?q?fix(webui):=20=E8=A1=A5=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=AA=8C=E6=8A=A5=E5=91=8A=E7=9A=84=E4=BD=8E=E4=B8=A5=E9=87=8D?= =?UTF-8?q?=E5=BA=A6=E9=97=AE=E9=A2=98=EF=BC=8Ce2e=20=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E6=A1=86=E7=B2=BE=E7=A1=AE=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 插件市场:键值表标签列宽、分类 Tab 底线通栏、手机列表动画只在从详情返回时播放、 插件不存在时手机页面标题 - 下载器:操作栏出现/消失时高度平滑过渡;640–767px 去掉下载速度列; 桌面按可用宽度依次去掉做种/下载、ETA、上传速度,不再横向滚动 - 日志:手机级别筛选改为两列网格 - 空状态步骤序号与标题左对齐(role="list") - 向导确认页、设置页标签列表、种子列表选中描边、手机搜索筛选区随结果滚动 - e2e:设置向导的密码框多了显示/隐藏按钮,getByLabel('Password') 改为精确匹配 --- webui/e2e/fixtures/auth.ts | 4 +- webui/src/components/ab-setting.vue | 19 ++- webui/src/components/ab-torrent-list-page.vue | 2 + .../src/components/market/market-confirm.vue | 8 +- .../src/components/search/ab-search-modal.vue | 18 +++ .../components/setup/wizard-step-review.vue | 3 +- webui/src/pages/index/bangumi.vue | 2 +- webui/src/pages/index/downloader.vue | 135 ++++++++++++------ webui/src/pages/index/log.vue | 10 +- webui/src/pages/index/market/[[id]].vue | 113 +++++++++------ webui/src/pages/index/player.vue | 2 +- webui/src/pages/index/plugins/[id].vue | 9 +- webui/src/style/global.scss | 17 ++- 13 files changed, 233 insertions(+), 109 deletions(-) diff --git a/webui/e2e/fixtures/auth.ts b/webui/e2e/fixtures/auth.ts index ba14fbe0..49ef782c 100644 --- a/webui/e2e/fixtures/auth.ts +++ b/webui/e2e/fixtures/auth.ts @@ -25,7 +25,7 @@ export async function loginThroughUI( ): Promise { await page.goto('/#/login'); await page.getByLabel('Username').fill(credentials.username); - await page.getByLabel('Password').fill(credentials.password); + await page.getByLabel('Password', { exact: true }).fill(credentials.password); const responsePromise = page.waitForResponse( (response) => response.url().endsWith('/api/v1/auth/login') && @@ -60,7 +60,7 @@ export async function completeFirstRunSetup( await page.getByLabel('Host').fill(environment.downloaderURL); await page.getByLabel('Username').fill(environment.downloaderUsername); - await page.getByLabel('Password').fill(environment.downloaderPassword); + await page.getByLabel('Password', { exact: true }).fill(environment.downloaderPassword); await page.getByLabel('Download Path').fill('/downloads/Bangumi'); await page.getByRole('button', { name: 'Next' }).click(); diff --git a/webui/src/components/ab-setting.vue b/webui/src/components/ab-setting.vue index 3a9324bf..c13b5eb5 100644 --- a/webui/src/components/ab-setting.vue +++ b/webui/src/components/ab-setting.vue @@ -37,7 +37,10 @@ const selectValue = computed({