修改完成

This commit is contained in:
2026-07-21 07:53:03 +08:00
parent 01d246c47b
commit ff60119277
172 changed files with 7982 additions and 2999 deletions
+12 -11
View File
@@ -31,18 +31,19 @@ foreach ($required in @('member-state--detail', 'member-state--error', 't01-stat
Assert-Contains $t03 $required "Missing T03 contract: $required"
}
$formComponentPath = Join-Path $root 'components/tree/TreeMemberForm.vue'
if (-not (Test-Path -LiteralPath $formComponentPath)) { throw 'T04-T06 require shared TreeMemberForm component' }
$form = Get-Content -LiteralPath $formComponentPath -Raw -Encoding utf8
if ($form -match "@/utils/api\.js|\bappApi\b") { throw 'TreeMemberForm must not connect the API layer' }
foreach ($nativeUi in @('uni.showToast', 'uni.showModal', 'uni.showLoading', 'uni.showActionSheet')) {
if ($form -match [regex]::Escape($nativeUi)) { throw "TreeMemberForm must use project-owned feedback instead of $nativeUi" }
$specializedForms = @{
't04-add-relative.vue' = @('add-state--form', 'add-state--success', 'add-relative-form', 'relationOptions')
't05-edit-member.vue' = @('edit-state--form', 'edit-state--success', 'edit-member-form', 'memberFixtures')
't06-edit-relationship.vue' = @('relationship-state--form', 'relationship-state--conflict', 'relationship-form', 'relationshipOptions')
}
foreach ($required in @('form-state--form', 'form-state--success', 'form-state--conflict', 'form-state--error', 't01-state-panel.png', 't07-search-input-frame.png', 'a01-scroll-primary-v3.png', 'a01-scroll-secondary-v3.png', 'AppDialog', 'ModulePageBackground')) {
Assert-Contains $form $required "Missing shared form contract: $required"
}
foreach ($route in @('t04-add-relative.vue', 't05-edit-member.vue', 't06-edit-relationship.vue')) {
Assert-Contains $pages["pages/tree/$route"] 'TreeMemberForm' "$route must use TreeMemberForm"
foreach ($entry in $specializedForms.GetEnumerator()) {
$content = $pages["pages/tree/$($entry.Key)"]
if ($content -match '<TreeMemberForm(?:\s|/|>)|import\s+TreeMemberForm') {
throw "$($entry.Key) must own its business workflow instead of TreeMemberForm"
}
foreach ($required in $entry.Value) {
Assert-Contains $content $required "Missing specialized form contract in $($entry.Key): $required"
}
}
$t07 = $pages['pages/tree/t07-member-directory.vue']