📋
今日暂无任务
请明日再来
@@ -409,160 +436,157 @@ const todayMissions = computed(() => missions.value.filter(m => !m.isFromYesterd
color: #ff4444;
}
-.mission-list {
+.carousel-wrapper {
display: flex;
- flex-direction: column;
- gap: 12px;
+ justify-content: center;
}
-.mission-card {
- background: rgba(255, 255, 255, 0.03);
- border: 1px solid rgba(255, 255, 255, 0.06);
- border-radius: 10px;
- padding: 14px;
- transition: all 0.3s ease;
-}
-
-.mission-card.highlight {
- background: rgba(255, 68, 68, 0.08);
- border-color: rgba(255, 68, 68, 0.3);
- box-shadow: 0 0 20px rgba(255, 68, 68, 0.1);
-}
-
-.mission-card.claimed {
- opacity: 0.5;
-}
-
-.mission-card.claimed .mission-name {
- text-decoration: line-through;
- color: #666666;
-}
-
-.mission-card.claimed .mission-desc {
- text-decoration: line-through;
+.mission-card-content {
+ width: 100%;
+ height: 100%;
+ padding: 12px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
}
-.mission-header {
+.card-header {
display: flex;
justify-content: space-between;
align-items: center;
- margin-bottom: 8px;
+ margin-bottom: 6px;
}
-.mission-name {
+.card-title {
color: #ffffff;
- font-size: 0.95rem;
- font-weight: 500;
+ font-size: 0.9rem;
+ font-weight: 600;
+ flex: 1;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ margin-right: 8px;
}
-.mission-status {
- padding: 3px 10px;
- border-radius: 10px;
- font-size: 0.75rem;
+.card-status {
+ padding: 2px 8px;
+ border-radius: 8px;
+ font-size: 0.65rem;
+ font-weight: 500;
+ white-space: nowrap;
}
-.status-pending {
- background: rgba(100, 100, 100, 0.3);
+.card-desc {
color: #888888;
+ font-size: 0.7rem;
+ line-height: 1.3;
+ margin-bottom: 6px;
+ flex: 1;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
}
-.status-progress {
- background: rgba(59, 130, 246, 0.2);
- color: #3b82f6;
-}
-
-.status-completed {
- background: rgba(34, 197, 94, 0.2);
- color: #22c55e;
-}
-
-.status-claimed {
- background: rgba(255, 255, 255, 0.1);
- color: #666666;
-}
-
-.mission-desc {
- color: #666666;
- font-size: 0.85rem;
- margin-bottom: 8px;
-}
-
-.mission-time {
+.card-time {
color: #ff8844;
- font-size: 0.8rem;
- margin-bottom: 10px;
+ font-size: 0.7rem;
+ margin-bottom: 8px;
}
-.mission-rewards {
+.card-rewards {
display: flex;
flex-wrap: wrap;
- gap: 8px;
- margin-bottom: 12px;
-}
-
-.rewards-label {
- color: #888888;
- font-size: 0.8rem;
+ gap: 3px;
+ margin-bottom: 8px;
}
-.reward-item {
+.card-rewards .reward-item {
background: rgba(255, 136, 68, 0.1);
border: 1px solid rgba(255, 136, 68, 0.2);
color: #ff8844;
- padding: 3px 8px;
- border-radius: 6px;
- font-size: 0.75rem;
+ padding: 1px 5px;
+ border-radius: 4px;
+ font-size: 0.65rem;
}
-.exp-reward {
+.card-rewards .exp-reward {
background: rgba(255, 215, 0, 0.1);
border-color: rgba(255, 215, 0, 0.3);
color: #ffd700;
}
-.mission-actions {
+.reward-more {
+ background: rgba(255, 255, 255, 0.1);
+ color: #888888;
+ padding: 1px 5px;
+ border-radius: 4px;
+ font-size: 0.65rem;
+}
+
+.card-actions {
display: flex;
- gap: 10px;
+ gap: 6px;
}
-.action-btn {
+.card-btn {
flex: 1;
- padding: 10px 16px;
- border-radius: 8px;
- font-size: 0.85rem;
+ padding: 6px 10px;
+ border-radius: 6px;
+ font-size: 0.75rem;
font-weight: 500;
cursor: pointer;
- transition: all 0.3s ease;
+ transition: all 0.2s ease;
border: none;
}
-.accept-btn {
+.card-btn.accept-btn {
background: linear-gradient(135deg, #ff8844 0%, #ff6644 100%);
color: #ffffff;
}
-.accept-btn:hover {
+.card-btn.accept-btn:hover {
transform: scale(1.02);
- box-shadow: 0 4px 15px rgba(255, 136, 68, 0.3);
+ box-shadow: 0 2px 10px rgba(255, 136, 68, 0.3);
}
-.claim-btn {
+.card-btn.claim-btn {
background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
color: #ffffff;
}
-.claim-btn:hover {
+.card-btn.claim-btn:hover {
transform: scale(1.02);
- box-shadow: 0 4px 15px rgba(34, 197, 94, 0.3);
+ box-shadow: 0 2px 10px rgba(34, 197, 94, 0.3);
}
-.disabled-btn {
+.card-btn.disabled-btn {
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
color: #555555;
cursor: not-allowed;
}
+.status-pending {
+ background: rgba(100, 100, 100, 0.3);
+ color: #888888;
+}
+
+.status-progress {
+ background: rgba(59, 130, 246, 0.2);
+ color: #3b82f6;
+}
+
+.status-completed {
+ background: rgba(34, 197, 94, 0.2);
+ color: #22c55e;
+}
+
+.status-claimed {
+ background: rgba(255, 255, 255, 0.1);
+ color: #666666;
+}
+
.empty-state {
text-align: center;
padding: 60px 20px;
diff --git a/Build_God_Game/src/views/GameView.vue b/Build_God_Game/src/views/GameView.vue
index bcbfca4..f5fc1fc 100644
--- a/Build_God_Game/src/views/GameView.vue
+++ b/Build_God_Game/src/views/GameView.vue
@@ -462,8 +462,8 @@ const handleBreakthrough = async () => {
justify-content: center;
align-items: center;
background: rgba(255, 255, 255, 0.03);
- border: 1px solid rgba(255, 255, 255, 0.08);
- border-radius: 12px;
+ border: 1px dashed red;
+ border-radius: 15px;
padding: 12px 16px;
cursor: pointer;
width: 200px;
diff --git a/Build_God_Game/src/views/LoginView.vue b/Build_God_Game/src/views/LoginView.vue
index 22c89b3..febb329 100644
--- a/Build_God_Game/src/views/LoginView.vue
+++ b/Build_God_Game/src/views/LoginView.vue
@@ -77,7 +77,7 @@ const handleLogin = async () => {
{{ errorMsg }}