From e735aa43e377251db5328ae835ef61e4cdb0dcaa Mon Sep 17 00:00:00 2001 From: jackyu66git Date: Wed, 5 Aug 2026 18:19:34 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ECR-001):=20Phase=20F=20types/sdk=20?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E5=B9=B6=E6=8B=86=E5=88=86=E8=B6=85=E6=A0=87?= =?UTF-8?q?=20H5=20=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 抽出 OpenAPI DTO;将 Ask/Report/Profile/Star 等 8 页拆到 ≤400 行,并修 ScaleSummary、fortuneKey、Scale 选答与单测。 Co-authored-by: Cursor --- .../src/components/ask/AskAdvisorPane.vue | 122 +++ apps/user-h5/src/components/ask/AskAiPane.vue | 354 +++++++++ apps/user-h5/src/components/ask/AskRails.vue | 71 ++ .../imagecard/ImageCardGreeting.vue | 58 ++ .../imagecard/ImageCardInputBar.vue | 82 ++ .../components/imagecard/ImageCardLanding.vue | 175 +++++ .../components/imagecard/ImageCardResults.vue | 56 ++ .../src/components/profile/ProfileAddForm.vue | 106 +++ .../components/profile/ProfileBottomCta.vue | 49 ++ .../components/profile/ProfileEditForm.vue | 96 +++ .../src/components/profile/ProfileEmpty.vue | 34 + .../components/profile/ProfileInviteForm.vue | 84 ++ .../components/profile/ProfileOthersList.vue | 75 ++ .../components/profile/ProfileSelfCard.vue | 76 ++ .../components/relation/RelationLanding.vue | 186 +++++ .../components/relation/RelationResult.vue | 237 ++++++ .../components/report/ReportBodyContent.vue | 56 ++ .../src/components/report/ReportHeadBlock.vue | 83 ++ .../components/report/ReportMatchIndices.vue | 33 + .../src/components/report/ReportModeTabs.vue | 56 ++ .../src/components/report/ReportStarPanel.vue | 117 +++ .../src/components/report/ReportStickyBar.vue | 63 ++ .../components/report/ReportSynastryPanel.vue | 36 + .../src/components/rhythm/RhythmIntro.vue | 71 ++ .../src/components/rhythm/RhythmResult.vue | 235 ++++++ .../src/components/scale/ScaleAnswering.vue | 138 ++++ .../src/components/scale/ScaleIntro.vue | 76 ++ .../src/components/scale/ScaleNavBar.vue | 68 ++ .../src/components/scale/ScaleResult.vue | 44 ++ .../src/components/star/StarBirthForm.vue | 85 +++ .../src/components/star/StarChartPanel.vue | 63 ++ .../src/components/star/StarFortunePanel.vue | 80 ++ .../src/components/star/StarModeTabs.vue | 51 ++ .../src/components/star/StarOverviewPanel.vue | 155 ++++ .../src/components/star/StarPlanetsPanel.vue | 33 + .../src/components/star/StarReportFooter.vue | 60 ++ apps/user-h5/src/composables/useAskPage.ts | 130 ++++ .../src/composables/useImageCardPage.ts | 162 ++++ .../src/composables/useLifeRhythmPage.ts | 164 ++++ .../user-h5/src/composables/useProfilePage.ts | 302 ++++++++ .../src/composables/useRelationPage.ts | 177 +++++ apps/user-h5/src/composables/useReportPage.ts | 310 ++++++++ apps/user-h5/src/composables/useScalePage.ts | 199 +++++ .../src/composables/useStarProfilePage.ts | 302 ++++++++ apps/user-h5/src/pages/AskPage.spec.ts | 4 +- apps/user-h5/src/pages/AskPage.vue | 621 ++------------- apps/user-h5/src/pages/ImageCardPage.vue | 488 ++---------- apps/user-h5/src/pages/LifeRhythmPage.vue | 425 ++--------- apps/user-h5/src/pages/MembershipPage.spec.ts | 13 +- apps/user-h5/src/pages/ProfilePage.vue | 670 +++------------- apps/user-h5/src/pages/RelationPage.vue | 545 ++----------- apps/user-h5/src/pages/ReportPage.vue | 685 +++-------------- apps/user-h5/src/pages/ScalePage.vue | 477 ++---------- .../user-h5/src/pages/StarProfilePage.spec.ts | 12 +- apps/user-h5/src/pages/StarProfilePage.vue | 719 +++--------------- docs/CHANGELOG.md | 1 + docs/CODE_REVIEW/ECR-001-phaseF-h5.md | 53 ++ .../ECR-001-phaseF-h5-engineer-to-reviewer.md | 30 + docs/STATE/ECR-001.md | 9 +- .../TASKS/TASK-20260805-ECR001-phaseF-h5.yaml | 31 + docs/TEST_REPORT/ECR-001-phaseF-h5.md | 44 ++ docs/TRACEABILITY.md | 1 + packages/sdk/src/index.ts | 167 ++-- packages/types/src/index.ts | 150 +++- 64 files changed, 6198 insertions(+), 4157 deletions(-) create mode 100644 apps/user-h5/src/components/ask/AskAdvisorPane.vue create mode 100644 apps/user-h5/src/components/ask/AskAiPane.vue create mode 100644 apps/user-h5/src/components/ask/AskRails.vue create mode 100644 apps/user-h5/src/components/imagecard/ImageCardGreeting.vue create mode 100644 apps/user-h5/src/components/imagecard/ImageCardInputBar.vue create mode 100644 apps/user-h5/src/components/imagecard/ImageCardLanding.vue create mode 100644 apps/user-h5/src/components/imagecard/ImageCardResults.vue create mode 100644 apps/user-h5/src/components/profile/ProfileAddForm.vue create mode 100644 apps/user-h5/src/components/profile/ProfileBottomCta.vue create mode 100644 apps/user-h5/src/components/profile/ProfileEditForm.vue create mode 100644 apps/user-h5/src/components/profile/ProfileEmpty.vue create mode 100644 apps/user-h5/src/components/profile/ProfileInviteForm.vue create mode 100644 apps/user-h5/src/components/profile/ProfileOthersList.vue create mode 100644 apps/user-h5/src/components/profile/ProfileSelfCard.vue create mode 100644 apps/user-h5/src/components/relation/RelationLanding.vue create mode 100644 apps/user-h5/src/components/relation/RelationResult.vue create mode 100644 apps/user-h5/src/components/report/ReportBodyContent.vue create mode 100644 apps/user-h5/src/components/report/ReportHeadBlock.vue create mode 100644 apps/user-h5/src/components/report/ReportMatchIndices.vue create mode 100644 apps/user-h5/src/components/report/ReportModeTabs.vue create mode 100644 apps/user-h5/src/components/report/ReportStarPanel.vue create mode 100644 apps/user-h5/src/components/report/ReportStickyBar.vue create mode 100644 apps/user-h5/src/components/report/ReportSynastryPanel.vue create mode 100644 apps/user-h5/src/components/rhythm/RhythmIntro.vue create mode 100644 apps/user-h5/src/components/rhythm/RhythmResult.vue create mode 100644 apps/user-h5/src/components/scale/ScaleAnswering.vue create mode 100644 apps/user-h5/src/components/scale/ScaleIntro.vue create mode 100644 apps/user-h5/src/components/scale/ScaleNavBar.vue create mode 100644 apps/user-h5/src/components/scale/ScaleResult.vue create mode 100644 apps/user-h5/src/components/star/StarBirthForm.vue create mode 100644 apps/user-h5/src/components/star/StarChartPanel.vue create mode 100644 apps/user-h5/src/components/star/StarFortunePanel.vue create mode 100644 apps/user-h5/src/components/star/StarModeTabs.vue create mode 100644 apps/user-h5/src/components/star/StarOverviewPanel.vue create mode 100644 apps/user-h5/src/components/star/StarPlanetsPanel.vue create mode 100644 apps/user-h5/src/components/star/StarReportFooter.vue create mode 100644 apps/user-h5/src/composables/useAskPage.ts create mode 100644 apps/user-h5/src/composables/useImageCardPage.ts create mode 100644 apps/user-h5/src/composables/useLifeRhythmPage.ts create mode 100644 apps/user-h5/src/composables/useProfilePage.ts create mode 100644 apps/user-h5/src/composables/useRelationPage.ts create mode 100644 apps/user-h5/src/composables/useReportPage.ts create mode 100644 apps/user-h5/src/composables/useScalePage.ts create mode 100644 apps/user-h5/src/composables/useStarProfilePage.ts create mode 100644 docs/CODE_REVIEW/ECR-001-phaseF-h5.md create mode 100644 docs/HANDOFF/ECR-001-phaseF-h5-engineer-to-reviewer.md create mode 100644 docs/TASKS/TASK-20260805-ECR001-phaseF-h5.yaml create mode 100644 docs/TEST_REPORT/ECR-001-phaseF-h5.md diff --git a/apps/user-h5/src/components/ask/AskAdvisorPane.vue b/apps/user-h5/src/components/ask/AskAdvisorPane.vue new file mode 100644 index 0000000..2ad0c7f --- /dev/null +++ b/apps/user-h5/src/components/ask/AskAdvisorPane.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/apps/user-h5/src/components/ask/AskAiPane.vue b/apps/user-h5/src/components/ask/AskAiPane.vue new file mode 100644 index 0000000..50b382e --- /dev/null +++ b/apps/user-h5/src/components/ask/AskAiPane.vue @@ -0,0 +1,354 @@ +