chore(ECR-001,ECR-003): 关闭结构对齐并清理 outlook JSON 旧键

正式关闭 ECR-001/002;删除 fortune 双写与 lucky 字段,H5 改读 outlook/boost。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-05 20:39:34 +08:00
co-authored by Cursor
parent 69fa1b85d6
commit 67701d1f7b
22 changed files with 286 additions and 133 deletions
@@ -24,7 +24,7 @@
<span>财运 {{ activeFortune.dims.money }}</span>
<span>心情 {{ activeFortune.dims.mood }}</span>
</div>
<p class="yxg-meta">幸运{{ activeFortune.lucky }}</p>
<p class="yxg-meta">今日提示{{ activeFortune.boost }}</p>
<p class="yxg-meta">注意{{ activeFortune.caution }}</p>
</div>
</div>
@@ -39,6 +39,7 @@ type FortunePeriod = {
score?: number
tip?: string
focus?: string
boost?: string
lucky?: string
caution?: string
dims?: { love?: number; career?: number; money?: number; mood?: number }
@@ -109,9 +109,9 @@ export function useReportPage() {
const transits = computed(() => {
const raw = summary.value.transits
if (Array.isArray(raw)) return raw as { key: string; title: string; aspect: string; tip: string }[]
const f = summary.value.fortune
if (f && typeof f === 'object' && Array.isArray((f as { transits?: unknown }).transits)) {
return (f as { transits: { key: string; title: string; aspect: string; tip: string }[] }).transits
const o = summary.value.outlook
if (o && typeof o === 'object' && Array.isArray((o as { transits?: unknown }).transits)) {
return (o as { transits: { key: string; title: string; aspect: string; tip: string }[] }).transits
}
return []
})
@@ -188,8 +188,8 @@ export function useReportPage() {
})
const activeCard = computed(() => signCards.value.find((c) => c.key === signTab.value) || signCards.value[0])
const fortuneBundle = computed(() => {
const f = summary.value.fortune
return f && typeof f === 'object' ? (f as Record<string, FortunePeriod>) : {}
const o = summary.value.outlook
return o && typeof o === 'object' ? (o as Record<string, FortunePeriod>) : {}
})
const activeFortune = computed(() => fortuneBundle.value[fortuneKey.value] || null)
const planets = computed(() => {
@@ -25,7 +25,7 @@ type FortunePeriod = {
score?: number
tip?: string
focus?: string
lucky?: string
boost?: string
caution?: string
dims?: { love?: number; career?: number; money?: number; mood?: number }
}
@@ -87,8 +87,8 @@ export function useStarProfilePage() {
})
const activeCard = computed(() => signCards.value.find((c) => c.key === signTab.value) || signCards.value[0])
const fortuneBundle = computed(() => {
const f = summary.value.fortune
return f && typeof f === 'object' ? (f as Record<string, FortunePeriod>) : {}
const o = summary.value.outlook
return o && typeof o === 'object' ? (o as Record<string, FortunePeriod>) : {}
})
const activeFortune = computed(() => fortuneBundle.value[fortuneKey.value] || null)
const planets = computed(() => {
@@ -30,9 +30,9 @@ const summary = {
{ key: 'rise', title: '上升', sign: '狮子', degree: '0.0°', house: 1, lon: 120, element: '火', modality: '固定' },
],
aspects_preview: [{ a: 'sun', b: 'moon', type: 'square', orb: 2, label: '太阳刑相月亮(容许2.0°)', a_title: '太阳', b_title: '月亮' }],
fortune: {
daily: { title: '今日运势', label: '', score: 80, tip: 'tip', focus: '行动', lucky: '红', caution: '慢', dims: { love: 1, career: 2, money: 3, mood: 4 } },
lifetime: { title: '一生运势摘要', label: '平稳', score: 70, tip: '人生阶段', focus: '人生阶段', lucky: 'x', caution: 'y', dims: {} },
outlook: {
daily: { title: '今日运势', label: '顺畅', score: 80, tip: 'tip', focus: '行动', boost: '红', caution: '慢', dims: { love: 1, career: 2, money: 3, mood: 4 } },
lifetime: { title: '一生运势摘要', label: '平稳', score: 70, tip: '人生阶段', focus: '人生阶段', boost: 'x', caution: 'y', dims: {} },
transits: [{ key: 't1', title: '行运太阳×本命太阳', aspect: '合相', tip: '推进' }],
},
transits: [{ key: 't1', title: '行运太阳×本命太阳', aspect: '合相', tip: '推进' }],