Files
MBTI_wang/miniprogram/pages/index/upload.wxss
2026-03-17 14:06:53 +08:00

277 lines
4.7 KiB
Plaintext

/* pages/index/camera.wxss - 上传照片引导页(参照设计稿) */
.page {
min-height: 100vh;
min-height: 100dvh;
background-color: #ffffff;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
/* 主体内容 */
.content {
flex: 1;
/* 底部按钮作为正常内容,在 tabBar 之上留出空间 */
padding: 40rpx 48rpx 40rpx;
box-sizing: border-box;
}
/* 顶部说明文案 */
.intro {
text-align: center;
margin-bottom: 40rpx;
}
.intro-title {
font-size: 34rpx;
font-weight: 700;
color: #111827;
margin-bottom: 12rpx;
}
.intro-desc-wrap {
display: flex;
flex-direction: column;
align-items: center;
row-gap: 4rpx;
}
.intro-desc {
font-size: 24rpx;
color: #6b7280;
line-height: 1.7;
}
/* 三个步骤区域 */
.steps {
display: flex;
flex-direction: column;
row-gap: 40rpx;
}
.step-item {
display: flex;
flex-direction: row;
}
.step-index {
width: 60rpx;
height: 60rpx;
border-radius: 9999rpx;
border-width: 4rpx;
display: flex;
align-items: center;
justify-content: center;
margin-right: 24rpx;
}
.step-index-primary {
background-color: #ffe5e9;
border-color: #ff5e7d;
}
.step-index-secondary {
background-color: #f3f4f6;
border-color: #d1d5db;
}
.step-index-text {
font-size: 26rpx;
font-weight: 700;
}
.step-index-text-primary {
color: #ff5e7d;
}
.step-index-text-secondary {
color: #6b7280;
}
.step-body {
flex: 1;
}
.step-title {
font-size: 30rpx;
font-weight: 700;
color: #111827;
margin-bottom: 4rpx;
}
.step-subtitle {
font-size: 22rpx;
color: #9ca3af;
margin-bottom: 16rpx;
}
.step-upload-row {
display: flex;
flex-direction: row;
column-gap: 24rpx;
}
.sample-image {
width: 200rpx;
height: 200rpx;
border-radius: 24rpx;
border: 2rpx solid #f3f4f6;
box-shadow: 0 6rpx 16rpx rgba(0, 0, 0, 0.06);
flex-shrink: 0;
}
.upload-card {
width: 200rpx;
height: 200rpx;
overflow: hidden;
border-radius: 24rpx;
border: 4rpx dashed #fecaca;
background-color: #fff5f5;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #f97373;
}
.upload-icon {
font-size: 40rpx;
margin-bottom: 8rpx;
}
.upload-text {
font-size: 24rpx;
}
.upload-preview {
width: 100%;
height: 100%;
border-radius: 20rpx;
display: block;
}
/* 温馨提示卡片 */
.tips-card {
margin-top: 48rpx;
padding: 24rpx 28rpx;
border-radius: 24rpx;
background-color: #fff5f5;
border: 2rpx solid #ffe0e0;
}
.tips-title-row {
display: flex;
align-items: center;
margin-bottom: 12rpx;
}
.tips-icon {
width: 28rpx;
height: 28rpx;
border-radius: 9999rpx;
border: 4rpx solid #e63946;
margin-right: 10rpx;
}
.tips-title {
font-size: 26rpx;
font-weight: 700;
color: #e63946;
}
.tips-list {
margin-top: 4rpx;
}
.tips-item {
font-size: 24rpx;
color: #b91c1c;
line-height: 1.7;
}
/* 底部按钮区域 */
.footer {
padding: 24rpx 0 0;
margin: 24rpx 48rpx calc(160rpx + env(safe-area-inset-bottom));
background-color: #ffffff;
}
.footer .primary-btn{
width: 100%;
}
.phone-auth-section {
padding: 24rpx 24rpx 0;
display: flex;
flex-direction: column;
gap: 16rpx;
}
.phone-auth-tip {
font-size: 26rpx;
color: #4b5563;
}
.phone-auth-btn {
height: 80rpx;
line-height: 80rpx;
border-radius: 40rpx;
background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
color: #ffffff;
font-size: 28rpx;
}
.phone-auth-btn::after {
border: none;
}
/* AI 生成内容标识横幅 */
.ai-disclosure-banner {
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
margin: 32rpx 48rpx 0;
padding: 16rpx 24rpx;
background: linear-gradient(135deg, #f0f4ff 0%, #e8ecf8 100%);
border: 1rpx solid #c7d2fe;
border-radius: 12rpx;
}
.ai-disclosure-icon {
width: 44rpx;
height: 44rpx;
border-radius: 8rpx;
background: linear-gradient(135deg, #6366f1 0%, #818cf8 100%);
color: #fff;
font-size: 20rpx;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.ai-disclosure-text {
font-size: 22rpx;
color: #4338ca;
line-height: 1.4;
}
.primary-btn {
width: 100%;
padding: 24rpx 0;
border-radius: 9999rpx;
border: none;
background-image: linear-gradient(90deg, #ff5e7d 0%, #ff85a1 100%);
box-shadow: 0 10rpx 25rpx rgba(248, 113, 113, 0.45);
font-size: 32rpx;
font-weight: 700;
color: #ffffff;
}
.primary-btn::after {
border: none;
}