完成40%
This commit is contained in:
@@ -60,10 +60,12 @@ $smsLogin = ConvertFrom-Utf8Base64 '5omL5py66aqM6K+B56CB55m75b2V'
|
||||
$forgotPassword = ConvertFrom-Utf8Base64 '5b+Y6K6w5a+G56CB'
|
||||
$getCode = ConvertFrom-Utf8Base64 '6I635Y+W6aqM6K+B56CB'
|
||||
$loginPending = ConvertFrom-Utf8Base64 '55m75b2V5o6l5Y+j5b6F5o6l5YWl'
|
||||
$returnToEntry = ConvertFrom-Utf8Base64 '6K+35YWI6L+U5Zue55m75b2V5byV5a+856Gu6K6k5Y2P6K6u'
|
||||
$forgotPasswordPending = ConvertFrom-Utf8Base64 '5b+Y6K6w5a+G56CB6aG16Z2i5YeG5aSH5Lit'
|
||||
$getCodePending = ConvertFrom-Utf8Base64 '6I635Y+W6aqM6K+B56CB5Yqf6IO95b6F5o6l5YWl'
|
||||
$implicitAgreement = ConvertFrom-Utf8Base64 '55m75b2V5Y2z6KGo56S65ZCM5oSP'
|
||||
$agreementConfirm = ConvertFrom-Utf8Base64 '5oiR5bey6ZiF6K+75bm25ZCM5oSP'
|
||||
$agreementGuard = ConvertFrom-Utf8Base64 '6K+35YWI6ZiF6K+75bm25ZCM5oSP55u45YWz5Y2P6K6u'
|
||||
$legacyAgreementReminder = ConvertFrom-Utf8Base64 '6K+35YWI5Zyo55m75b2V5byV5a+86aG16Z2i5YeG5aSH5Lit6ZiF6K+75bm25ZCM5oSP5Y2P6K6u'
|
||||
|
||||
foreach ($requiredEntryCopy in @($wechatLogin, $registerPrompt, $registerEntry, $agreementRequired, $wechatPending, $registerPending, $agreementPending)) {
|
||||
Assert-Contains -Content $entry -Expected $requiredEntryCopy -Message "Missing A-01 copy: $requiredEntryCopy"
|
||||
@@ -135,7 +137,7 @@ 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, $getCodePending)) {
|
||||
foreach ($requiredLoginCopy in @($accountPasswordLogin, $smsLogin, $forgotPassword, $getCode, $loginPending, $agreementConfirm, $agreementGuard, $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'
|
||||
@@ -147,7 +149,11 @@ foreach ($requiredLoginVisualAnchor in @(
|
||||
'login-panel__skin',
|
||||
'a01-primary-button.png',
|
||||
'login-submit__skin',
|
||||
'login-submit__content'
|
||||
'login-submit__content',
|
||||
'agreement-row',
|
||||
'agreement-icon',
|
||||
'a02-agreement-unchecked.png',
|
||||
'a02-agreement-checked.png'
|
||||
)) {
|
||||
Assert-Contains -Content $login -Expected $requiredLoginVisualAnchor -Message "Missing A-02 calibrated visual anchor: $requiredLoginVisualAnchor"
|
||||
}
|
||||
@@ -169,6 +175,27 @@ if ($login -match '(?s)\.login-submit\s*\{[^}]*\bborder\s*:') {
|
||||
if ($login -match '(?s)\.login-submit\s*\{[^}]*\bbackground\s*:') {
|
||||
throw 'A-02 login button must not draw its final surface with CSS'
|
||||
}
|
||||
if ($login -notmatch '<view class="agreement-row" @click="toggleAgreement">') {
|
||||
throw 'A-02 must provide one directly clickable agreement row'
|
||||
}
|
||||
if (([regex]::Matches($login, '@click\.stop="prepareAgreement"')).Count -ne 2) {
|
||||
throw 'A-02 agreement row must retain two non-toggling agreement links'
|
||||
}
|
||||
foreach ($requiredAgreementState in @('const agreed = ref(false)', 'const isAgreedRoute = () =>', "if (typeof location !== 'undefined') {", "new URLSearchParams(location.hash.split('?')[1] || '')", 'const pages = getCurrentPages()', 'const currentPage = pages[pages.length - 1]', "return currentPage?.options?.agreed === '1'", 'const syncAgreementFromRoute = () =>', 'agreed.value = isAgreedRoute()', 'onShow(() => {', 'syncAgreementFromRoute()', 'const toggleAgreement = () =>', 'if (agreed.value) return true')) {
|
||||
Assert-Contains -Content $login -Expected $requiredAgreementState -Message "Missing A-02 agreement state: $requiredAgreementState"
|
||||
}
|
||||
Assert-NotContains -Content $login -Unexpected 'onLoad((options) =>' -Message 'A-02 must not leave agreement state initialized only on first load'
|
||||
Assert-NotContains -Content $login -Unexpected $legacyAgreementReminder -Message 'A-02 must not retain its passive return-to-entry agreement reminder'
|
||||
Assert-NotContains -Content $login -Unexpected 'agreedFromEntry' -Message 'A-02 must use its local agreed state as the submit gate'
|
||||
if ($login -match '(?s)\.agreement-icon\s*\{[^}]*\bborder\s*:') {
|
||||
throw 'A-02 agreement icon must not draw its final circle with CSS'
|
||||
}
|
||||
if ($login -match '(?s)\.agreement-icon\s*\{[^}]*\bbackground\s*:') {
|
||||
throw 'A-02 agreement icon must not draw its final state with CSS'
|
||||
}
|
||||
if ($login -match '\.agreement-icon::(?:before|after)') {
|
||||
throw 'A-02 agreement icon must not draw its final state with a pseudo element'
|
||||
}
|
||||
|
||||
if ($login -match '(?s)\.auth-page\s*\{[^}]*overflow\s*:\s*hidden') {
|
||||
throw 'A-02 must allow vertical scrolling on small screens'
|
||||
|
||||
Reference in New Issue
Block a user