feat: P1 合盘/星座/问答与测测完整设计包及模拟器取证工具

落地 synastry/star/ask API 与 H5 页面,补齐 cece-frontend-re complete-design 证据文档,并加入 Android 模拟器截图抓取脚本。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-03 11:37:53 +08:00
co-authored by Cursor
parent 15a9db374a
commit bd22d9dddd
248 changed files with 26309 additions and 842 deletions
+75
View File
@@ -0,0 +1,75 @@
<template>
<article class="share-card" :data-type="type">
<BrandLogo size="card" />
<p class="tag">认识自己 · 理解他人</p>
<h2 v-if="title">{{ title }}</h2>
<p v-if="line" class="line">{{ line }}</p>
<ul v-if="rows.length" class="rows">
<li v-for="(r, i) in rows" :key="i">{{ r }}</li>
</ul>
<div v-if="keywords.length" class="tags">
<span v-for="k in keywords" :key="k">{{ k }}</span>
</div>
<p class="cta-label">{{ ctaLabel }}</p>
<p class="disc">自我探索参考非医疗或占卜预测</p>
</article>
</template>
<script setup lang="ts">
import BrandLogo from './BrandLogo.vue'
withDefaults(
defineProps<{
type?: 'portrait' | 'relation'
title?: string
line?: string
rows?: string[]
keywords?: string[]
ctaLabel?: string
}>(),
{
type: 'portrait',
title: '',
line: '',
rows: () => [],
keywords: () => [],
ctaLabel: '查看完整成长报告',
},
)
</script>
<style scoped>
.share-card{
position:relative;overflow:hidden;border-radius:20px;padding:22px 20px 18px;
background:
radial-gradient(120% 80% at 100% 0%, rgba(229,77,66,.18), transparent 55%),
linear-gradient(165deg, #fff8f6 0%, #ffe8e4 48%, #fff 100%);
color:#3a3030;box-shadow:0 10px 28px rgba(229,77,66,.12);
}
.tag{font-size:12px;color:#a08080;margin:8px 0 14px}
h2{font-size:17px;font-weight:600;margin:0 0 8px;line-height:1.4}
.line{font-size:14px;line-height:1.65;color:#555;margin:0 0 10px}
.rows{margin:0 0 12px;padding:0;list-style:none}
.rows li{font-size:14px;line-height:1.7;padding:4px 0;border-bottom:1px dashed rgba(229,77,66,.15)}
.rows li:last-child{border-bottom:none}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.tags span{
background:rgba(229,77,66,.1);color:var(--yxg-pri,#E54D42);
padding:4px 10px;border-radius:999px;font-size:12px;
}
.cta-label{
display:inline-block;margin-top:4px;padding:8px 14px;border-radius:20px;
background:linear-gradient(135deg,#ff7a6e,var(--yxg-pri,#E54D42));
color:#fff;font-size:13px;font-weight:600;
}
.disc{margin-top:12px;font-size:10px;color:#bbb;line-height:1.4}
.share-card[data-type="relation"]{
background:
radial-gradient(120% 80% at 0% 0%, rgba(200,146,58,.2), transparent 55%),
linear-gradient(165deg, #fffaf0 0%, #fff3d6 50%, #fff 100%);
}
.share-card[data-type="relation"] .tags span{background:#fff3d6;color:#c8923a}
.share-card[data-type="relation"] .cta-label{
background:linear-gradient(135deg,#e0b35a,#c8923a);
}
</style>