设计完成30%

This commit is contained in:
2026-07-14 07:01:32 +08:00
parent 355f47976a
commit 1015e60ff7
95 changed files with 1991 additions and 349 deletions
+44 -7
View File
@@ -89,13 +89,13 @@ foreach ($requiredVisualAnchor in @(
'margin-top: 141rpx',
'top: 70rpx',
'width: 64rpx',
'inset: 6rpx',
'entry-button__content',
'translateX(-20rpx)',
'auth-button-corner.png',
'auth-divider-knot.png',
'auth-title-cloud.png',
'button-corner-asset',
'a01-primary-button.png',
'a01-secondary-button.png',
'entry-button__skin',
'align-items: center',
'white-space: nowrap',
'font-size: 20rpx',
@@ -104,7 +104,7 @@ foreach ($requiredVisualAnchor in @(
)) {
Assert-Contains -Content $entry -Expected $requiredVisualAnchor -Message "Missing A-01 calibrated visual anchor: $requiredVisualAnchor"
}
foreach ($rejectedVisualConstruction in @('link-line', 'button-corner--legacy', 'class="auth-button primary-button"')) {
foreach ($rejectedVisualConstruction in @('link-line', 'button-corner--legacy', 'class="auth-button primary-button"', 'auth-button-corner.png', 'button-corner-asset', '.entry-button::after')) {
Assert-NotContains -Content $entry -Unexpected $rejectedVisualConstruction -Message "A-01 retains rejected visual construction: $rejectedVisualConstruction"
}
foreach ($forbiddenClass in @('entryGuideVisual', 'guide-art', 'entry-hit', 'width: 750rpx', 'min-height: 1625rpx')) {
@@ -113,12 +113,18 @@ foreach ($forbiddenClass in @('entryGuideVisual', 'guide-art', 'entry-hit', 'wid
Assert-NotContains -Content $entry -Unexpected '/static/assets/icons/action/create-cloud-v2.png' -Message 'A-01 must not reuse the mismatched create-cloud asset for its title or divider ornaments'
Assert-Contains -Content $entry -Expected 'filter: brightness(0) invert(1)' -Message 'A-01 primary login icon must render in white'
Assert-NotContains -Content $entry -Unexpected $dividerGlyph -Message 'A-01 divider must not use a text glyph as ornament'
if (([regex]::Matches($entry, 'button-corner-asset button-corner-asset--')).Count -ne 8) {
throw 'A-01 must render the generated ornamental corner asset in all four corners of both entry buttons'
if (([regex]::Matches($entry, 'class="entry-button__skin"')).Count -ne 2) {
throw 'A-01 must render one complete opaque skin image for each entry button'
}
if (([regex]::Matches($entry, 'auth-divider-knot\.png')).Count -ne 2) {
throw 'A-01 must render the dedicated divider-knot asset above and below the subtitle'
}
if ($entry -match '(?s)\.entry-button\s*\{[^}]*\bborder\s*:') {
throw 'A-01 entry buttons must not draw their final border with CSS'
}
if ($entry -match '(?s)\.entry-button--(?:primary|secondary)\s*\{[^}]*\bbackground\s*:') {
throw 'A-01 entry buttons must not draw their final surface with CSS'
}
if ($entry -notmatch '(?s)\.agreement-row\s*\{[^}]*align-items:\s*center') {
throw 'A-01 agreement checkbox and copy must align on one horizontal center line'
}
@@ -129,9 +135,40 @@ if ($entry -match '(?s)\.auth-page\s*\{[^}]*overflow\s*:\s*hidden') {
throw 'A-01 must allow vertical scrolling on small screens'
}
foreach ($requiredLoginCopy in @($accountPasswordLogin, $smsLogin, $forgotPassword, $getCode, $loginPending, $returnToEntry, $forgotPasswordPending, $getCodePending)) {
foreach ($requiredLoginCopy in @($accountPasswordLogin, $smsLogin, $forgotPassword, $getCode, $loginPending, $returnToEntry, $getCodePending)) {
Assert-Contains -Content $login -Expected $requiredLoginCopy -Message "Missing A-02 copy: $requiredLoginCopy"
}
Assert-Contains -Content $login -Expected "url: '/pages/auth/a05-reset-password'" -Message 'A-02 forgot-password entry must navigate to A-05'
foreach ($requiredLoginVisualAnchor in @(
'auth-title-cloud.png',
'login-title-cloud',
'a02-login-panel.png',
'login-panel__skin',
'a01-primary-button.png',
'login-submit__skin',
'login-submit__content'
)) {
Assert-Contains -Content $login -Expected $requiredLoginVisualAnchor -Message "Missing A-02 calibrated visual anchor: $requiredLoginVisualAnchor"
}
if (([regex]::Matches($login, 'class="login-submit__skin"')).Count -ne 1) {
throw 'A-02 must render one complete opaque skin image for its login button'
}
if (([regex]::Matches($login, 'class="login-panel__skin"')).Count -ne 1) {
throw 'A-02 must render one complete opaque skin image for its login panel'
}
if ($login -match '(?s)\.login-panel\s*\{[^}]*\bborder\s*:') {
throw 'A-02 login panel must not draw its final frame with CSS'
}
if ($login -match '(?s)\.login-panel\s*\{[^}]*\bbackground\s*:') {
throw 'A-02 login panel must not draw its final paper surface with CSS'
}
if ($login -match '(?s)\.login-submit\s*\{[^}]*\bborder\s*:') {
throw 'A-02 login button must not draw its final border with CSS'
}
if ($login -match '(?s)\.login-submit\s*\{[^}]*\bbackground\s*:') {
throw 'A-02 login button must not draw its final surface with CSS'
}
if ($login -match '(?s)\.auth-page\s*\{[^}]*overflow\s*:\s*hidden') {
throw 'A-02 must allow vertical scrolling on small screens'