Files
digital-psychology/apps/user-h5/src/components/scale/ScaleResult.vue
T
jackyu66gitandCursor 89756f65b4 feat(ECR-012–016): 合规、题库、时辰刷新、头像、MBTI OEJTS 与埋点
落地输入合规、探索题库、报告日/时辰刷新、账号头像、OEJTS 量表,并补齐 H5 埋点与 Admin 漏斗;同步 ESS 工件、切至自建 Git、清理 GitHub Actions。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 01:27:58 +08:00

65 lines
1.6 KiB
Vue

<template>
<div>
<p class="result-lead">{{ resultLabel }}</p>
<ReportRich :summary="resultSummaryObj" :detail="resultDetailObj" :deep="true" />
<div class="yxg-card">
<p v-if="shareLine" class="share">{{ shareLine }}</p>
<button type="button" class="yxg-btn yxg-btn-ghost" @click="$emit('share')">生成分享卡</button>
<button type="button" class="yxg-btn retake" @click="$emit('retake')">重新测试</button>
<router-link class="yxg-link-plain link" to="/relation" @click="onCtaRelation">
用结果去做关系理解
</router-link>
<router-link class="yxg-link-plain link" to="/ask" @click="onCtaAsk">
去问答聊聊
</router-link>
</div>
</div>
</template>
<script setup lang="ts">
import ReportRich from '../ReportRich.vue'
import { AnalyticsEvent, track } from '../../lib/analytics'
const props = defineProps<{
slug: string
resultLabel: string
shareLine: string
resultSummaryObj: Record<string, unknown>
resultDetailObj: Record<string, unknown>
}>()
defineEmits<{ share: []; retake: [] }>()
function onCtaRelation() {
track(AnalyticsEvent.ScaleCtaRelation, { slug: props.slug })
}
function onCtaAsk() {
track(AnalyticsEvent.ScaleCtaAsk, { slug: props.slug })
}
</script>
<style scoped>
.result-lead {
font-family: var(--font-display);
font-size: 20px;
font-weight: 700;
color: #222;
margin: 4px 0 12px;
letter-spacing: 0.04em;
}
.share {
margin: 0 0 10px;
color: var(--yxg-gold);
}
.retake {
display: block;
width: 100%;
margin-top: 10px;
}
.link {
display: block;
margin-top: 12px;
}
</style>