From c4938f6f4e839890b032c75c7a57333a6a9157a9 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 06 十一月 2025 17:06:10 +0800
Subject: [PATCH] 添加新闻功能
---
wx/pages/profile/profile.wxss | 700 +++++++++++++++++++++++-----------------------------------
1 files changed, 280 insertions(+), 420 deletions(-)
diff --git a/wx/pages/profile/profile.wxss b/wx/pages/profile/profile.wxss
index cdbf621..7889695 100644
--- a/wx/pages/profile/profile.wxss
+++ b/wx/pages/profile/profile.wxss
@@ -4,7 +4,7 @@
/* 瀹瑰櫒鏍峰紡 */
.container {
min-height: 100vh;
- background: #f8f9fa;
+ background: #f5f5f5;
padding-bottom: 40rpx;
}
@@ -31,518 +31,378 @@
padding: 0 30rpx;
}
-/* 鐢ㄦ埛淇℃伅鍗$墖 */
-.user-card {
- background: linear-gradient(135deg, #1976d2, #42a5f5);
- border-radius: 20rpx;
- padding: 40rpx;
- margin-bottom: 30rpx;
+/* 鐢ㄦ埛淇℃伅鍖哄煙 */
+.user-section {
display: flex;
align-items: center;
+ padding: 40rpx 30rpx;
+ margin-bottom: 40rpx;
justify-content: space-between;
- box-shadow: 0 8rpx 24rpx rgba(25, 118, 210, 0.3);
}
-.user-info {
- display: flex;
- align-items: center;
- flex: 1;
+.user-avatar-wrapper {
+ position: relative;
}
-.avatar {
+.user-avatar {
width: 120rpx;
height: 120rpx;
- border-radius: 50%;
- margin-right: 30rpx;
- border: 4rpx solid rgba(255, 255, 255, 0.3);
+ border-radius: 60rpx;
+ border: 4rpx solid #ffffff;
+ box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
}
-.avatar-placeholder {
+.user-avatar-placeholder {
width: 120rpx;
height: 120rpx;
- border-radius: 50%;
- margin-right: 30rpx;
- border: 4rpx solid rgba(255, 255, 255, 0.3);
- background: rgba(255, 255, 255, 0.2);
+ border-radius: 60rpx;
+ border: 4rpx solid #ffffff;
+ box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
display: flex;
align-items: center;
justify-content: center;
}
.avatar-text {
- color: #ffffff;
+ color: white;
font-size: 48rpx;
font-weight: bold;
}
-.user-details {
+.avatar {
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 60rpx;
+ border: 4rpx solid #ffffff;
+ box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+}
+
+.user-info {
flex: 1;
-}
-
-.username {
- display: block;
- font-size: 36rpx;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 12rpx;
-}
-
-.user-desc {
- display: block;
- font-size: 24rpx;
- color: rgba(255, 255, 255, 0.8);
- margin-bottom: 16rpx;
-}
-
-.user-roles {
- display: flex;
- gap: 12rpx;
-}
-
-.role-tag {
- padding: 6rpx 16rpx;
- background: rgba(255, 255, 255, 0.2);
- color: #ffffff;
- border-radius: 20rpx;
- font-size: 20rpx;
- font-weight: 500;
-}
-
-.edit-btn {
- width: 60rpx;
- height: 60rpx;
- background: rgba(255, 255, 255, 0.2);
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.edit-icon {
- font-size: 28rpx;
-}
-
-/* 缁熻鏁版嵁鏍峰紡 */
-.stats-section {
- background: #ffffff;
- border-radius: 16rpx;
- padding: 30rpx;
- margin-bottom: 30rpx;
- box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
-}
-
-.stats-grid {
- display: flex;
- justify-content: space-between;
-}
-
-.stat-item {
+ margin-left: 30rpx;
display: flex;
flex-direction: column;
- align-items: center;
- flex: 1;
}
-.stat-number {
- font-size: 48rpx;
+.user-name {
+ font-size: 36rpx;
font-weight: bold;
- color: #1976d2;
+ color: #333333;
margin-bottom: 8rpx;
}
-.stat-label {
- font-size: 24rpx;
- color: #666666;
+.user-role {
+ font-size: 28rpx;
+ color: #999999;
}
-/* 瑙掕壊涓撳尯鏍峰紡 */
-.role-section {
- background: #ffffff;
- border-radius: 16rpx;
- padding: 30rpx;
- margin-bottom: 30rpx;
- box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
-}
-
-.section-header {
+.settings-btn {
+ width: 80rpx;
+ height: 80rpx;
display: flex;
- justify-content: space-between;
align-items: center;
- margin-bottom: 30rpx;
+ justify-content: center;
+ background: rgba(0, 0, 0, 0.05);
+ border-radius: 40rpx;
+ transition: all 0.3s ease;
+}
+
+.settings-btn:active {
+ background: rgba(0, 0, 0, 0.1);
+ transform: scale(0.95);
+}
+
+.icon-settings {
+ font-size: 40rpx;
+}
+
+/* 椤圭洰鍖哄煙 */
+.projects-section {
+ margin-bottom: 40rpx;
}
.section-title {
font-size: 32rpx;
font-weight: bold;
color: #333333;
+ margin-bottom: 30rpx;
+ display: block;
}
-.judge-stats,
-.organizer-stats {
- font-size: 24rpx;
- color: #1976d2;
- font-weight: 500;
-}
-
-.pending-count,
-.active-count {
- padding: 8rpx 16rpx;
- background: #e3f2fd;
- border-radius: 20rpx;
-}
-
-.menu-grid {
+.project-list {
display: flex;
- flex-wrap: wrap;
+ flex-direction: column;
gap: 20rpx;
}
-.menu-item {
- flex: 0 0 calc(33.333% - 14rpx);
+.project-card {
display: flex;
- flex-direction: column;
align-items: center;
- padding: 30rpx 20rpx;
- background: #f8f9fa;
- border-radius: 12rpx;
- border: 2rpx solid transparent;
+ padding: 24rpx;
+ margin-bottom: 16rpx;
+ background: white;
+ border-radius: 16rpx;
+ box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
-.menu-item:active {
- background: #e9ecef;
- border-color: #1976d2;
+.project-card:active {
transform: scale(0.98);
-}
-
-.menu-icon-wrapper {
- position: relative;
- margin-bottom: 16rpx;
-}
-
-.menu-icon {
- font-size: 48rpx;
-}
-
-.badge {
- position: absolute;
- top: -8rpx;
- right: -8rpx;
- min-width: 32rpx;
- height: 32rpx;
- background: #ff4757;
- color: #ffffff;
- border-radius: 16rpx;
- font-size: 20rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 0 8rpx;
- font-weight: bold;
-}
-
-.menu-title {
- font-size: 26rpx;
- font-weight: bold;
- color: #333333;
- margin-bottom: 8rpx;
- text-align: center;
-}
-
-.menu-desc {
- font-size: 20rpx;
- color: #666666;
- text-align: center;
- line-height: 1.4;
-}
-
-/* 鍔熻兘鑿滃崟鏍峰紡 */
-.menu-section {
- background: #ffffff;
- border-radius: 16rpx;
- padding: 30rpx;
- margin-bottom: 30rpx;
- box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
-}
-
-.menu-list {
- margin-top: 20rpx;
-}
-
-.menu-item-row {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 30rpx 0;
- border-bottom: 1rpx solid #f0f0f0;
- transition: background 0.3s ease;
-}
-
-.menu-item-row:last-child {
- border-bottom: none;
-}
-
-.menu-item-row:active {
background: #f8f9fa;
}
-.menu-left {
+.project-card:last-child {
+ margin-bottom: 0;
+}
+
+.project-icon {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 16rpx;
display: flex;
align-items: center;
- flex: 1;
-}
-
-.menu-item-row .menu-icon {
- font-size: 40rpx;
+ justify-content: center;
margin-right: 24rpx;
+ font-size: 32rpx;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ overflow: hidden;
}
-.menu-text {
- flex: 1;
-}
-
-.menu-item-row .menu-title {
- display: block;
- font-size: 28rpx;
- font-weight: 500;
- color: #333333;
- margin-bottom: 6rpx;
-}
-
-.menu-item-row .menu-desc {
- display: block;
- font-size: 22rpx;
- color: #666666;
-}
-
-.menu-arrow {
- font-size: 28rpx;
- color: #cccccc;
- font-weight: bold;
-}
-
-/* 鏈�杩戞姤鍚嶆牱寮� */
-.recent-section {
- background: #ffffff;
+.project-thumbnail {
+ width: 100%;
+ height: 100%;
border-radius: 16rpx;
- padding: 30rpx;
- margin-bottom: 30rpx;
- box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
}
-.view-more {
+.icon-project {
+ color: white;
+}
+
+.project-info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.project-title {
+ font-size: 32rpx;
+ font-weight: 600;
+ color: #1a1a1a;
+ margin-bottom: 8rpx;
+}
+
+.project-subtitle {
+ font-size: 26rpx;
+ color: #666;
+}
+
+.project-status {
+ margin-right: 16rpx;
+}
+
+.status-text {
font-size: 24rpx;
- color: #1976d2;
+ padding: 8rpx 16rpx;
+ border-radius: 12rpx;
font-weight: 500;
}
-.empty-state {
+/* 鍩轰簬web绔殑鐘舵�佹牱寮� */
+.status-text.status-warning {
+ background: #fff3e0;
+ color: #f57c00;
+}
+
+.status-text.status-success {
+ background: #e8f5e8;
+ color: #388e3c;
+}
+
+.status-text.status-danger {
+ background: #ffebee;
+ color: #d32f2f;
+}
+
+.status-text.status-info {
+ background: #e3f2fd;
+ color: #1976d2;
+}
+
+.status-text.status-primary {
+ background: #e3f2fd;
+ color: #1976d2;
+}
+
+/* 鍏煎鏃х殑瀛楃涓茬姸鎬佹牱寮� */
+.status-text.status-SUBMITTED {
+ background: #e3f2fd;
+ color: #1976d2;
+}
+
+.status-text.status-UNDER_REVIEW {
+ background: #fff3e0;
+ color: #f57c00;
+}
+
+.status-text.status-REVIEWED {
+ background: #e8f5e8;
+ color: #388e3c;
+}
+
+.status-text.status-REJECTED {
+ background: #ffebee;
+ color: #d32f2f;
+}
+
+.project-arrow {
+ font-size: 32rpx;
+ color: #ccc;
+ margin-left: 16rpx;
+}
+
+/* 绌虹姸鎬� */
+.empty-projects {
display: flex;
flex-direction: column;
align-items: center;
- padding: 80rpx 0;
+ padding: 80rpx 40rpx;
+ background: white;
+ border-radius: 16rpx;
+ box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}
.empty-icon {
font-size: 80rpx;
- margin-bottom: 20rpx;
+ margin-bottom: 24rpx;
opacity: 0.5;
}
.empty-text {
+ font-size: 32rpx;
+ font-weight: 600;
+ color: #666;
+ margin-bottom: 12rpx;
+}
+
+.empty-desc {
font-size: 26rpx;
- color: #999999;
-}
-
-.registration-list {
- margin-top: 20rpx;
-}
-
-.registration-item {
- display: flex;
- align-items: center;
- padding: 24rpx 0;
- border-bottom: 1rpx solid #f0f0f0;
- transition: background 0.3s ease;
-}
-
-.registration-item:last-child {
- border-bottom: none;
-}
-
-.registration-item:active {
- background: #f8f9fa;
-}
-
-.activity-cover {
- width: 120rpx;
- height: 80rpx;
- border-radius: 8rpx;
- margin-right: 20rpx;
-}
-
-.activity-cover-placeholder {
- width: 120rpx;
- height: 80rpx;
- border-radius: 8rpx;
- margin-right: 20rpx;
- background: linear-gradient(135deg, #42a5f5 0%, #1976d2 100%);
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.activity-cover-text {
- color: #ffffff;
- font-size: 24rpx;
- font-weight: bold;
-}
-
-.registration-info {
- flex: 1;
-}
-
-.activity-title {
- display: block;
- font-size: 28rpx;
- font-weight: bold;
- color: #333333;
- margin-bottom: 8rpx;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.registration-time,
-.activity-time {
- display: block;
- font-size: 22rpx;
- color: #666666;
- margin-bottom: 6rpx;
-}
-
-.status-row {
- display: flex;
- align-items: center;
- gap: 16rpx;
-}
-
-.registration-status,
-.activity-status {
- padding: 4rpx 12rpx;
- border-radius: 12rpx;
- font-size: 20rpx;
- font-weight: 500;
-}
-
-.registration-status.status-pending {
- background: #fff3cd;
- color: #856404;
-}
-
-.registration-status.status-approved {
- background: #d4edda;
- color: #155724;
-}
-
-.registration-status.status-rejected {
- background: #f8d7da;
- color: #721c24;
-}
-
-.registration-status.status-cancelled {
- background: #f1f3f4;
- color: #5f6368;
-}
-
-.activity-status {
- background: #e3f2fd;
- color: #1976d2;
-}
-
-.item-arrow {
- font-size: 24rpx;
- color: #cccccc;
- font-weight: bold;
- margin-left: 16rpx;
-}
-
-/* 閫�鍑虹櫥褰曟牱寮� */
-.logout-section {
- margin-top: 40rpx;
-}
-
-.logout-btn {
- background: #ffffff;
- border: 2rpx solid #ff4757;
- border-radius: 12rpx;
- padding: 30rpx 0;
+ color: #999;
text-align: center;
+ line-height: 1.5;
+}
+
+/* 璇勫鍖哄煙 */
+.review-section {
+ margin-bottom: 40rpx;
+}
+
+.section-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 30rpx;
+}
+
+.review-action-btn {
+ display: flex;
+ align-items: center;
+ padding: 12rpx 24rpx;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ border-radius: 24rpx;
transition: all 0.3s ease;
}
-.logout-btn:active {
- background: #ff4757;
+.review-action-btn:active {
+ transform: scale(0.95);
+ opacity: 0.8;
}
-.logout-text {
+.action-text {
font-size: 28rpx;
- color: #ff4757;
+ color: white;
+ font-weight: 500;
+ margin-right: 8rpx;
+}
+
+.action-arrow {
+ font-size: 24rpx;
+ color: white;
+}
+
+.review-stats {
+ display: flex;
+ align-items: center;
+ padding: 32rpx;
+ background: white;
+ border-radius: 16rpx;
+ box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
+}
+
+.stat-item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+.stat-number {
+ font-size: 48rpx;
font-weight: bold;
+ color: #667eea;
+ margin-bottom: 8rpx;
}
-.logout-btn:active .logout-text {
- color: #ffffff;
+.stat-label {
+ font-size: 24rpx;
+ color: #666;
}
-/* 鍝嶅簲寮忛�傞厤 */
-@media screen and (max-width: 375px) {
- .profile-content {
- padding: 0 20rpx;
- }
-
- .user-card {
- padding: 30rpx;
- }
-
- .avatar {
- width: 100rpx;
- height: 100rpx;
- margin-right: 20rpx;
- }
-
- .username {
- font-size: 32rpx;
- }
-
- .stats-section,
- .role-section,
- .menu-section,
- .recent-section {
- padding: 24rpx;
- }
-
- .menu-item {
- flex: 0 0 calc(50% - 10rpx);
- padding: 24rpx 16rpx;
- }
-
- .stat-number {
- font-size: 40rpx;
- }
+.stat-divider {
+ width: 1rpx;
+ height: 60rpx;
+ background: #e0e0e0;
+ margin: 0 20rpx;
}
-@media screen and (min-width: 414px) {
- .activity-cover {
- width: 140rpx;
- height: 90rpx;
- }
-
- .menu-item {
- padding: 36rpx 24rpx;
- }
-
- .menu-icon {
- font-size: 52rpx;
- }
+/* 鍏朵粬鑿滃崟鍖哄煙 */
+.other-menu-section {
+ background: #ffffff;
+ border-radius: 16rpx;
+ overflow: hidden;
+ box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+}
+
+.menu-item-simple {
+ display: flex;
+ align-items: center;
+ padding: 30rpx;
+ border-bottom: 1rpx solid #f0f0f0;
+ transition: background-color 0.3s ease;
+}
+
+.menu-item-simple:last-child {
+ border-bottom: none;
+}
+
+.menu-item-simple:active {
+ background-color: #f8f8f8;
+}
+
+.menu-icon {
+ font-size: 32rpx;
+ margin-right: 24rpx;
+ width: 40rpx;
+ text-align: center;
+}
+
+.menu-title {
+ flex: 1;
+ font-size: 28rpx;
+ color: #333333;
+}
+
+.menu-arrow {
+ font-size: 24rpx;
+ color: #cccccc;
}
\ No newline at end of file
--
Gitblit v1.8.0