From 32167fba0251cbe156ed729bf540adf04fea1bd6 Mon Sep 17 00:00:00 2001 From: Cheng Zhou Date: Wed, 1 Jul 2026 14:40:52 +0800 Subject: [PATCH] =?UTF-8?q?release(main):=20=E5=90=8C=E6=AD=A5=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=82=AE=E7=AE=B1=E5=90=8E=E7=BC=80=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/Login.test.ts | 9 ++++- frontend/src/views/Login.vue | 63 +++++++++++++++++++++++++++----- 2 files changed, 61 insertions(+), 11 deletions(-) diff --git a/frontend/src/views/Login.test.ts b/frontend/src/views/Login.test.ts index ac5cd5c0..cee0538a 100644 --- a/frontend/src/views/Login.test.ts +++ b/frontend/src/views/Login.test.ts @@ -96,12 +96,17 @@ describe("Login protocol agreement", () => { expect(source).toContain("max-width: calc(100vw - 40px);"); }); - it("uses only server-configured email domains on web and desktop", () => { + it("falls back to full email input when no server-configured domains exist", () => { const source = readLoginView(); expect(source).toContain('fetchEmailDomains()'); - expect(source).toContain(':disabled="availableEmailDomains.length === 0"'); expect(source).toContain("const availableEmailDomains = computed(() => configuredEmailDomains.value)"); + expect(source).toContain("availableEmailDomains.value.length > 0 && availableEmailDomains.value.includes(form.emailDomain)"); + expect(source).toContain("const manualEmailInput = computed(() => !hasConfiguredEmailDomains.value)"); + expect(source).toContain('v-if="hasConfiguredEmailDomains"'); + expect(source).toContain("未检测到邮箱后缀配置,请输入完整邮箱地址。"); + expect(source).toContain("form.email = local;"); + expect(source).toContain("if (domains.length === 0)"); expect(source).toContain("configuredEmailDomains.value.includes(domain)"); expect(source).not.toContain("preservedEmailDomain"); expect(source).not.toContain("showDomainSelect"); diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue index 1ce337fa..47e67319 100644 --- a/frontend/src/views/Login.vue +++ b/frontend/src/views/Login.vue @@ -145,19 +145,19 @@ -