- 未注册的邮箱将在验证后自动创建账号。 + {/* 未注册的邮箱将在验证后自动创建账号。 */} + 内测期间仅支持已有账号登录。
)} @@ -806,12 +814,21 @@ function AccountPanelDialog({ entry }: { entry: AccountEntry }) { + {/*{isRegister ? '已有账号?' : '还没有账号?'}{' '}
+ */} ++ 内测期间暂不开放注册。如需开通,请通过{' '} + + GitHub Issues + {' '} + 联系团队申请。 +
diff --git a/frontend/src/pages/landing/index.test.tsx b/frontend/src/pages/landing/index.test.tsx index 3190cb52..7ec45855 100644 --- a/frontend/src/pages/landing/index.test.tsx +++ b/frontend/src/pages/landing/index.test.tsx @@ -56,9 +56,15 @@ describe('LandingPage', () => { expect(screen.getByRole('link', { name: '登录' }).getAttribute('href')).toBe( '/?account=login&returnTo=%2Fworkspace', ) - expect(screen.getByRole('link', { name: '注册' }).getAttribute('href')).toBe( - '/?account=register&returnTo=%2Fworkspace', - ) + expect((screen.getByRole('button', { name: '注册' }) as HTMLButtonElement).disabled).toBe(true) + expect(screen.queryByRole('link', { name: '注册' })).toBeNull() + expect( + screen.getByRole('link', { name: '内测暂不开放,联系团队申请' }).getAttribute('href'), + ).toBe('https://github.com/1024XEngineer/Windup/issues') + // 重新开放注册时恢复: + // expect(screen.getByRole('link', { name: '注册' }).getAttribute('href')).toBe( + // '/?account=register&returnTo=%2Fworkspace', + // ) // Header 只处理账号入口,Hero 与收尾负责把用户带进创作。 const creationLinks = screen.getAllByRole('link', { name: '开始创作' }) expect(creationLinks).toHaveLength(2) diff --git a/frontend/src/pages/landing/marketing-header.tsx b/frontend/src/pages/landing/marketing-header.tsx index 755aae9e..b14c0196 100644 --- a/frontend/src/pages/landing/marketing-header.tsx +++ b/frontend/src/pages/landing/marketing-header.tsx @@ -7,10 +7,14 @@ const loginEntry = `/?${new URLSearchParams({ returnTo: '/workspace', })}` +// 内测关闭公开注册。重新开放时恢复 registerEntry 与下方注册链接。 +const ACCESS_REQUEST_URL = 'https://github.com/1024XEngineer/Windup/issues' +/* const registerEntry = `/?${new URLSearchParams({ account: 'register', returnTo: '/workspace', })}` +*/ const sections = [ ['#capabilities', '产品能力'], @@ -77,12 +81,32 @@ export function MarketingHeader() { > 登录 + {/* 注册 + */} + + + + 内测暂不开放,联系团队申请 + + > )} diff --git a/openapi.json b/openapi.json index ea9d502c..d2d7bfcb 100644 --- a/openapi.json +++ b/openapi.json @@ -2086,7 +2086,7 @@ }, "/auth/login-by-code": { "post": { - "description": "验证码登录,无账号自动注册。", + "description": "验证码登录。内测期间不自动注册。", "operationId": "login_by_code_auth_login_by_code_post", "requestBody": { "content": { @@ -2276,7 +2276,7 @@ }, "/auth/register": { "post": { - "description": "邮箱+验证码+密码注册,注册即登录。", + "description": "邮箱+验证码+密码注册。\n\n内测期间关闭公开注册,路由与请求模型保留以便以后重新开放。", "operationId": "register_auth_register_post", "requestBody": { "content": {