From 00fc7f82b92d06a161398ffb6483b641bdab851f Mon Sep 17 00:00:00 2001 From: jackyu66git Date: Wed, 5 Aug 2026 22:38:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ECR-005):=20=E5=86=8D=E6=8B=86=20Ask/D?= =?UTF-8?q?ecode/Portrait=20=E4=B8=8E=20composable=EF=BC=8C=E8=A1=A5?= =?UTF-8?q?=E5=BC=BA=20OpenAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 压低贴线 SFC/composable;报告/档案/量表/意象卡 path 挂 Envelope $ref;CI ESS 门禁跟到 ECR-005。 Co-authored-by: Cursor --- .github/workflows/ci.yml | 12 +- apps/user-h5/src/components/DecodePanel.vue | 386 +++--------------- apps/user-h5/src/components/ask/AskAiPane.vue | 311 ++------------ .../src/components/ask/AskComposer.vue | 95 +++++ apps/user-h5/src/components/ask/AskEmpty.vue | 41 ++ apps/user-h5/src/components/ask/AskGreet.vue | 97 +++++ .../src/components/ask/AskMessageList.vue | 63 +++ .../src/components/ask/AskProfileBar.vue | 87 ++++ .../decode/DecodeConstitutionCard.vue | 101 +++++ .../src/components/decode/DecodeDeepExtra.vue | 80 ++++ .../components/decode/DecodeNumberCard.vue | 132 ++++++ .../src/components/decode/DecodeSolarTip.vue | 58 +++ .../src/composables/profilePageActions.ts | 263 ++++++++++++ .../user-h5/src/composables/useDecodePanel.ts | 128 ++++++ .../src/composables/usePortraitPage.ts | 146 +++++++ .../user-h5/src/composables/useProfilePage.ts | 260 +++--------- apps/user-h5/src/composables/useReportPage.ts | 243 +++-------- .../src/composables/useStarProfilePage.ts | 154 ++----- apps/user-h5/src/lib/reportSummary.ts | 181 ++++++++ apps/user-h5/src/lib/starSummary.ts | 119 ++++++ apps/user-h5/src/pages/PortraitPage.vue | 142 +------ docs/CHANGELOG.md | 1 + docs/CODE_REVIEW/ECR-005.md | 6 + docs/ECR/ECR-005-h5-openapi-hygiene.md | 23 ++ .../ECR-005-h5-openapi-hygiene.md | 3 + docs/PROJECT_PROFILE.md | 4 +- docs/STATE/ECR-005.md | 7 + docs/TASKS/TASK-20260805-ECR005.yaml | 23 ++ docs/TEST_REPORT/ECR-005.md | 9 + docs/TRACEABILITY.md | 1 + proto/openapi.yaml | 92 ++++- 31 files changed, 2017 insertions(+), 1251 deletions(-) create mode 100644 apps/user-h5/src/components/ask/AskComposer.vue create mode 100644 apps/user-h5/src/components/ask/AskEmpty.vue create mode 100644 apps/user-h5/src/components/ask/AskGreet.vue create mode 100644 apps/user-h5/src/components/ask/AskMessageList.vue create mode 100644 apps/user-h5/src/components/ask/AskProfileBar.vue create mode 100644 apps/user-h5/src/components/decode/DecodeConstitutionCard.vue create mode 100644 apps/user-h5/src/components/decode/DecodeDeepExtra.vue create mode 100644 apps/user-h5/src/components/decode/DecodeNumberCard.vue create mode 100644 apps/user-h5/src/components/decode/DecodeSolarTip.vue create mode 100644 apps/user-h5/src/composables/profilePageActions.ts create mode 100644 apps/user-h5/src/composables/useDecodePanel.ts create mode 100644 apps/user-h5/src/composables/usePortraitPage.ts create mode 100644 apps/user-h5/src/lib/reportSummary.ts create mode 100644 apps/user-h5/src/lib/starSummary.ts create mode 100644 docs/CODE_REVIEW/ECR-005.md create mode 100644 docs/ECR/ECR-005-h5-openapi-hygiene.md create mode 100644 docs/ENGINEERING_SPEC/ECR-005-h5-openapi-hygiene.md create mode 100644 docs/STATE/ECR-005.md create mode 100644 docs/TASKS/TASK-20260805-ECR005.yaml create mode 100644 docs/TEST_REPORT/ECR-005.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 28bd7a2..65ad0a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,19 +40,19 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: ESS artifact presence (ECR-004) + - name: ESS artifact presence (active ECR) run: | - test -f docs/ECR/ECR-004-hygiene-followup.md - test -f docs/TASKS/TASK-20260805-ECR004.yaml - test -f docs/TEST_REPORT/ECR-004.md - test -f docs/STATE/ECR-004.md + test -f docs/ECR/ECR-005-h5-openapi-hygiene.md + test -f docs/TASKS/TASK-20260805-ECR005.yaml + test -f docs/TEST_REPORT/ECR-005.md + test -f docs/STATE/ECR-005.md echo "ESS docs gate OK" - name: ess-validate when ESS_ROOT available env: ESS_ROOT: ${{ vars.ESS_ROOT }} run: | if [ -n "$ESS_ROOT" ] && [ -f "$ESS_ROOT/scripts/ess-validate.py" ]; then - python scripts/ess-validate.py --phase coding --ecr ECR-004 --task docs/TASKS/TASK-20260805-ECR004.yaml + python scripts/ess-validate.py --phase coding --ecr ECR-005 --task docs/TASKS/TASK-20260805-ECR005.yaml else echo "ESS_ROOT not configured in CI — skipped full ess-validate" fi diff --git a/apps/user-h5/src/components/DecodePanel.vue b/apps/user-h5/src/components/DecodePanel.vue index 4ea15b4..c5f001f 100644 --- a/apps/user-h5/src/components/DecodePanel.vue +++ b/apps/user-h5/src/components/DecodePanel.vue @@ -3,111 +3,52 @@

{{ personTitle ? `${personTitle} · ` : '' }}{{ oneLiner }}

- -
- 数字性格密码 -
{{ mainNumber }}
-
- {{ personTitle || '愈心解码' }} -
-
{{ oneLiner }}
-
- -
- - -

{{ lockTeaserNumber }}

- - -
-
- - -
- 五行体质画像 -
{{ wuxing.primary || '—' }}
-
核心养护:{{ wuxing.care_dir || careDir }}
- -
情绪画像:{{ emotionText }}
- - -

{{ lockTeaserWuxing }}

-
-

{{ constitutionDisclaimer }}

-
- - -
- 今日养生锦囊 -
- 当前节气:{{ todayTip.solar_term || '—' }} - -
-

今日调养建议

-
宜:{{ todayTip.yi || '—' }}
-
忌:{{ todayTip.ji || '—' }}
-
- - -
-

主数 {{ mainNumber }} · {{ personTitle }} · 五行 {{ numberDeep.elem }}

-

{{ numberDeep.desc }}

-
-
-

解锁深度版后可展开完整数字能量与联合码解读。

- -
+ + + + diff --git a/apps/user-h5/src/components/ask/AskAiPane.vue b/apps/user-h5/src/components/ask/AskAiPane.vue index 50b382e..5bcff24 100644 --- a/apps/user-h5/src/components/ask/AskAiPane.vue +++ b/apps/user-h5/src/components/ask/AskAiPane.vue @@ -5,105 +5,45 @@ {{ bootError }}

- +