Initial commit

This commit is contained in:
ChuXun
2025-12-07 22:53:46 +08:00
commit 5a2d39293d
27 changed files with 3188 additions and 0 deletions

479
pages/result/result.wxss Normal file
View File

@@ -0,0 +1,479 @@
/**result.wxss**/
.container {
padding: 30rpx;
min-height: 100vh;
}
.vintage-bg {
background-color: #f8f6f1;
background-image: url('data:image/png;base64,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');
position: relative;
}
.page-transition {
animation: fadeIn 0.5s ease-in-out;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
/* 加载状态 */
.loading-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(248, 246, 241, 0.9);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
z-index: 999;
}
.loading-spinner {
width: 80rpx;
height: 80rpx;
border: 6rpx solid rgba(92, 184, 92, 0.2);
border-left-color: #5cb85c;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.loading-text {
margin-top: 30rpx;
font-size: 32rpx;
color: #5cb85c;
font-weight: bold;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.content-area {
animation: slideUp 0.8s ease-out;
}
@keyframes slideUp {
from {
transform: translateY(50rpx);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.result-header {
margin-bottom: 30rpx;
}
.result-title {
font-size: 40rpx;
font-weight: bold;
color: #333;
text-align: center;
margin-bottom: 20rpx;
position: relative;
display: inline-block;
}
.result-title::after {
content: '';
position: absolute;
bottom: -10rpx;
left: 50%;
transform: translateX(-50%);
width: 120rpx;
height: 4rpx;
background-color: #8B0000;
}
.event-info {
background-color: #fff;
padding: 20rpx;
border-radius: 10rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
margin-top: 20rpx;
}
.event-title {
font-size: 32rpx;
font-weight: bold;
color: #333;
margin-bottom: 10rpx;
}
.event-level {
display: flex;
align-items: center;
font-size: 28rpx;
color: #666;
}
.level-dots {
display: flex;
margin-left: 10rpx;
}
.level-dot {
width: 20rpx;
height: 20rpx;
border-radius: 50%;
background-color: #ddd;
margin-right: 5rpx;
transition: all 0.3s ease;
}
.level-dot.active {
background-color: #d9534f;
animation: pulseDot 2s infinite;
}
@keyframes pulseDot {
0% { opacity: 1; }
50% { opacity: 0.6; }
100% { opacity: 1; }
}
.card {
background-color: #fff;
border-radius: 10rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
margin-bottom: 30rpx;
transition: transform 0.3s ease, box-shadow 0.3s ease;
padding: 20rpx;
}
.card:hover {
transform: translateY(-5rpx);
box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15);
}
.result-card {
overflow: hidden;
animation: scaleIn 0.8s ease;
padding: 0;
}
@keyframes scaleIn {
0% {
transform: scale(0.95);
opacity: 0;
}
100% {
transform: scale(1);
opacity: 1;
}
}
.result-image {
height: 200rpx;
background-size: cover;
background-position: center;
}
.result-excellent {
background-image: linear-gradient(45deg, #2ecc71, #27ae60);
}
.result-good {
background-image: linear-gradient(45deg, #3498db, #2980b9);
}
.result-average {
background-image: linear-gradient(45deg, #f1c40f, #f39c12);
}
.result-poor {
background-image: linear-gradient(45deg, #e74c3c, #c0392b);
}
.result-content {
padding: 20rpx;
}
.result-outcome {
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 15rpx;
}
.result-score {
font-size: 28rpx;
color: #666;
margin-bottom: 15rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.score-text {
color: #5cb85c;
font-weight: bold;
}
.score-value {
background-color: #f8f9fa;
padding: 10rpx 20rpx;
border-radius: 20rpx;
text-align: center;
}
.score-number {
font-size: 32rpx;
font-weight: bold;
color: #8B0000;
}
.result-description {
font-size: 28rpx;
color: #666;
line-height: 1.5;
}
.strategies-summary {
margin-bottom: 30rpx;
animation: slideInRight 1s ease-out;
animation-fill-mode: both;
animation-delay: 0.3s;
}
@keyframes slideInRight {
from {
transform: translateX(30rpx);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.summary-title, .lesson-title {
font-size: 32rpx;
font-weight: bold;
margin-bottom: 20rpx;
color: #333;
position: relative;
padding-bottom: 10rpx;
}
.summary-title::after, .lesson-title::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 80rpx;
height: 4rpx;
background-color: #8B0000;
transition: width 0.3s ease;
}
.summary-title:hover::after, .lesson-title:hover::after {
width: 160rpx;
}
.strategies-list {
display: flex;
flex-direction: column;
gap: 20rpx;
}
.strategy-item {
position: relative;
border-left: 8rpx solid #5cb85c;
transition: all 0.3s ease;
}
.strategy-round {
font-size: 24rpx;
color: #888;
margin-bottom: 10rpx;
}
.strategy-title {
font-size: 30rpx;
font-weight: bold;
margin-bottom: 10rpx;
color: #333;
}
.strategy-desc {
font-size: 26rpx;
color: #666;
line-height: 1.5;
}
.historical-lesson {
margin-bottom: 40rpx;
animation: slideInLeft 1s ease-out;
animation-fill-mode: both;
animation-delay: 0.6s;
}
@keyframes slideInLeft {
from {
transform: translateX(-30rpx);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.lessons-list {
display: flex;
flex-direction: column;
gap: 20rpx;
margin-bottom: 20rpx;
}
.lesson-card {
border-left: 8rpx solid #f0ad4e;
animation: fadeInUp 0.6s ease-out;
animation-fill-mode: both;
}
.lesson-card:nth-child(2) {
animation-delay: 0.2s;
}
.lesson-card:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes fadeInUp {
from {
transform: translateY(20rpx);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.lesson-card-title {
font-size: 28rpx;
font-weight: bold;
margin-bottom: 10rpx;
color: #333;
}
.lesson-card-content {
font-size: 26rpx;
color: #666;
line-height: 1.5;
}
.lesson-content {
font-size: 28rpx;
color: #666;
line-height: 1.6;
border-left: 8rpx solid #5bc0de;
}
.action-buttons {
display: flex;
flex-direction: column;
gap: 20rpx;
margin: 30rpx 0;
}
.btn-row {
display: flex;
justify-content: space-between;
}
.btn {
padding: 20rpx 40rpx;
border-radius: 50rpx;
font-size: 30rpx;
text-align: center;
background-color: #5cb85c;
color: #fff;
flex: 1;
margin: 0 10rpx;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.btn:active {
transform: scale(0.98);
background-color: #4cae4c;
}
.btn-outline {
background-color: transparent;
border: 2rpx solid #5cb85c;
color: #5cb85c;
}
.btn-outline:active {
background-color: rgba(92, 184, 92, 0.1);
}
.share-btn {
display: flex;
align-items: center;
justify-content: center;
padding: 20rpx;
border-radius: 50rpx;
background-color: #f8f9fa;
color: #333;
font-size: 28rpx;
margin-top: 10rpx;
transition: all 0.3s ease;
}
.share-icon {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
.share-btn:active {
background-color: #e9ecef;
transform: scale(0.98);
}
/* 分享提示 */
.share-tip {
position: fixed;
top: 20rpx;
right: 30rpx;
background-color: rgba(0, 0, 0, 0.7);
color: #fff;
padding: 15rpx 30rpx;
border-radius: 10rpx;
font-size: 26rpx;
opacity: 0;
transform: translateY(-20rpx);
transition: all 0.3s ease;
z-index: 999;
}
.share-tip.show {
opacity: 1;
transform: translateY(0);
}
.share-tip-arrow {
position: absolute;
top: -16rpx;
right: 30rpx;
width: 0;
height: 0;
border-left: 16rpx solid transparent;
border-right: 16rpx solid transparent;
border-bottom: 16rpx solid rgba(0, 0, 0, 0.7);
}