Files
MBTI_wang/miniprogram/pages/result/mbti.wxss
Ghost d7137f9349 微信小程序:自定义底栏接入 AI 入口(含图标与样式)、AI 聊天相关页面与历史/报告等能力;审核模式与配置联动;资料/企业/首页/授权等页面与 app 入口配合调整。
后端 API:AI 对话/报告/余额告警 等服务与路由;小程序 tabBar 配置与分润相关能力;出站推送 Webhook 与管理端调试;飞书留资、小程序数据分析 等支撑;多份 数据库迁移(AI 聊天、灵魂文章、tabBar、分润等)。
管理端 / 超管:看板、用户/订单/分销/财务、设置与 小程序 tabBar 管理、分润规则、灵魂文章、AI 配置与监控 等大量页面与能力扩展;主题与布局更新。
抖音小程序:与微信侧在 结果页/购买/个人中心 等方向做了同步或优化。
另含 部署/脚本、开发文档 等配套更新。
邀请码与解锁:后端 分销/邀请码 接口与 add_invite_codes 等 SQL;小程序侧 邀请码弹窗组件、个人中心/推广/多类结果页 的填写入口与 解锁门控(inviteCodeGate、unlockGate);并补充 《小程序解锁引导与邀请码方案》 文档。
超管后台:路由与 企业中心(EnterpriseHub) 等交互与结构优化。
小程序体验:在 首页结果、推广、各测评结果页 上继续打磨;与 邀请码门控、审核门控 小步联动。
2026-04-23 11:28:16 +08:00

321 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* pages/result/mbti.wxssdash 样式见 app.wxss邀请码入口样式见 app.wxss → invite-fill-entry */
.result-page {
width: 100%;
min-height: 100vh;
background-color: #f5f5f5;
}
.content-scroll {
width: 100%;
height: 100vh;
}
.content-container {
padding: 32rpx;
padding-bottom: 64rpx;
}
.content-container--with-fixed-footer {
padding-bottom: calc(64rpx + 220rpx + env(safe-area-inset-bottom));
}
.content-scroll--with-fixed-footer {
height: 100vh;
}
.type-card,
.analysis-card {
background-color: #fff;
border-radius: 24rpx;
padding: 48rpx;
margin-bottom: 32rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
}
.type-header {
text-align: center;
margin-bottom: 40rpx;
}
.type-label {
display: block;
font-size: 32rpx;
color: #333;
margin-bottom: 16rpx;
}
.type-value {
display: block;
font-size: 72rpx;
font-weight: bold;
color: #8b5cf6;
margin: 16rpx 0;
}
.type-title {
display: block;
font-size: 34rpx;
color: #a78bfa;
margin-bottom: 20rpx;
}
.type-description {
display: block;
font-size: 28rpx;
color: #666;
line-height: 1.6;
}
.dimensions-section .dimension-item {
margin-bottom: 28rpx;
}
.dimension-labels,
.dimension-values {
display: flex;
justify-content: space-between;
}
.label-left,
.label-right,
.value-left,
.value-right {
font-size: 24rpx;
color: #666;
}
.progress-bar-container {
width: 100%;
height: 16rpx;
background-color: #e5e5e5;
border-radius: 8rpx;
margin: 8rpx 0;
overflow: hidden;
}
.progress-bar {
height: 100%;
border-radius: 8rpx;
background: linear-gradient(90deg, #8b5cf6 0%, #a78bfa 100%);
}
.card-title {
display: block;
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 24rpx;
}
.trait-section {
margin-bottom: 24rpx;
}
.trait-title {
display: block;
font-size: 30rpx;
color: #333;
margin-bottom: 12rpx;
}
.trait-item {
display: flex;
align-items: flex-start;
margin-bottom: 8rpx;
}
.trait-bullet {
margin-right: 12rpx;
color: #8b5cf6;
}
.trait-text {
flex: 1;
font-size: 28rpx;
color: #666;
line-height: 1.6;
}
.career-item {
display: flex;
align-items: center;
margin-bottom: 18rpx;
}
.career-dot {
width: 14rpx;
height: 14rpx;
border-radius: 50%;
background-color: #8b5cf6;
margin-right: 18rpx;
}
.career-text {
flex: 1;
font-size: 28rpx;
color: #333;
}
.relationship-text {
font-size: 28rpx;
color: #666;
line-height: 1.7;
}
.action-section {
margin-top: 16rpx;
padding-bottom: 40rpx;
}
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 100% !important;
padding: 28rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
border: none;
box-sizing: border-box;
overflow: hidden;
}
/* 消除微信 button 伪元素自带边框 */
.btn::after {
border: none;
}
.btn-primary {
background: linear-gradient(135deg, #FF6B8A 0%, #ff8fa3 100%);
box-shadow: 0 8rpx 24rpx rgba(255, 107, 138, 0.3);
}
.btn-outline {
background: #fff;
border: 2rpx solid #FF6B8A;
}
.btn-text {
font-size: 32rpx;
font-weight: 600;
color: #fff;
}
.btn-text-outline {
font-size: 30rpx;
color: #FF6B8A;
font-weight: 500;
}
/* 付费墙 */
.paywall-card {
margin-top: 24rpx;
border-radius: 24rpx;
overflow: hidden;
}
.paywall-content { position: relative; min-height: 360rpx; }
.paywall-blur {
padding: 32rpx 24rpx 200rpx;
border-radius: 24rpx;
background: rgba(255, 255, 255, 0.97);
backdrop-filter: blur(6rpx);
}
.paywall-mask {
position: absolute;
left: 0; top: 0; right: 0; bottom: 0;
border-radius: 24rpx;
z-index: 1;
/* 更轻的白纱,底部也保持通透 */
background: linear-gradient(
180deg,
rgba(255, 255, 255, 0.08) 0%,
rgba(255, 255, 255, 0.28) 38%,
rgba(255, 255, 255, 0.58) 100%
);
pointer-events: none;
}
.paywall-fake-title { display: block; font-size: 30rpx; font-weight: 600; color: #444; margin-bottom: 16rpx; }
.paywall-fake-line { display: block; font-size: 26rpx; color: #888; line-height: 1.8; }
.paywall-btn {
position: absolute;
left: 5%;
right: 5%;
width: 90%;
bottom: 132rpx;
z-index: 3;
padding: 20rpx 0;
border-radius: 999rpx;
background: linear-gradient(135deg, #FF6B8A 0%, #ff8fa3 100%);
box-shadow: 0 8rpx 24rpx rgba(255, 107, 138, 0.35);
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: center;
gap: 12rpx;
}
.paywall-btn-main { font-size: 30rpx; color: #fff; font-weight: 600; }
.paywall-btn-price { font-size: 24rpx; color: #ffe5f0; }
.result-share-footer {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 200;
box-sizing: border-box;
width: 100%;
padding: 20rpx 32rpx;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
background: #f5f5f5;
box-shadow: 0 -8rpx 24rpx rgba(0, 0, 0, 0.06);
display: flex;
flex-direction: column;
gap: 16rpx;
}
.result-share-footer--stack {
gap: 16rpx;
}
.result-share-footer-btn {
width: 100% !important;
box-sizing: border-box;
display: block;
margin: 0;
padding: 0;
min-height: 96rpx;
line-height: 96rpx;
border-radius: 999rpx;
font-size: 30rpx;
font-weight: 600;
color: #fff;
background: linear-gradient(135deg, #e63946 0%, #ff6b9d 100%);
border: none;
}
.result-share-footer-btn::after {
border: none;
}
.paywall-btn--inline-profile {
position: relative !important;
left: auto !important;
right: auto !important;
bottom: auto !important;
width: 100% !important;
margin-top: 28rpx;
z-index: 1;
}
.result-share-footer-row2 {
display: flex;
flex-direction: row;
gap: 16rpx;
width: 100%;
}
.result-share-footer-row2 .result-share-footer-btn {
flex: 1;
min-height: 88rpx;
line-height: 88rpx;
}