完成40%

This commit is contained in:
rain
2026-07-23 17:21:27 +08:00
parent f1edc6b533
commit bb6431b319
114 changed files with 10931 additions and 877 deletions
+14 -3
View File
@@ -30,7 +30,14 @@ $pages = Get-Content -LiteralPath (Join-Path $root 'pages.json') -Raw -Encoding
if (Test-Path -LiteralPath $t02Path) { throw 'T02 duplicate route file must be removed' }
if ($pages -match 'pages/tree/t02-tree-states') { throw 'T02 duplicate route must be removed from pages.json' }
if ($page -match "@/utils/api\.js|\bappApi\b") { throw 'T01 design phase must not connect the API layer' }
foreach ($required in @(
'appApi.getTree',
'createRequestController',
'isRequestCancelled',
'treeRequestController.abort()',
'onShow(() =>',
'requestController: treeRequestController'
)) { Assert-Contains $page $required "Missing T01 remote data contract: $required" }
foreach ($required in @(
'const treeState = ref("loading")',
@@ -59,9 +66,7 @@ foreach ($required in @(
'openPage("T06"',
'openPage("T07"',
'query.genealogyId',
'getGenealogyFixtureAccess',
'genealogyContext.isCurrentGenealogyInvalidated()',
'["owner", "member"].includes(access.accessRole)',
':id="`tree-member-${member.id}`"',
':scroll-left="treeState === ''tree'' ? treeScrollLeft : 0"',
'@scroll="handleTreeScroll"',
@@ -73,6 +78,12 @@ foreach ($required in @(
'class="tree-recenter"'
)) { Assert-Contains $page $required "Missing T01 contract: $required" }
foreach ($fixtureToken in @('getGenealogyFixtureAccess', 'treeMembers', 'mockTree')) {
if ($page -match [regex]::Escape($fixtureToken)) {
throw "T01 must not use a fixture as its remote tree source: $fixtureToken"
}
}
$invalidatedGuardIndex = $page.IndexOf('genealogyContext.isCurrentGenealogyInvalidated()')
$contextWriteIndex = $page.IndexOf('genealogyContext.setCurrentGenealogyId(genealogyId.value)')
if ($invalidatedGuardIndex -lt 0 -or $contextWriteIndex -le $invalidatedGuardIndex) {