From bec58fa7fe4fae2deac88200d8d939e12ec8a08f Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 22:26:39 +0800
Subject: [PATCH] 修复小程序WXS日期显示问题并重新设计【我的】页面

---
 wx/pages/profile/profile.wxml |  206 ++++++++++----------------------------------------
 1 files changed, 43 insertions(+), 163 deletions(-)

diff --git a/wx/pages/profile/profile.wxml b/wx/pages/profile/profile.wxml
index fee46b7..f3574a8 100644
--- a/wx/pages/profile/profile.wxml
+++ b/wx/pages/profile/profile.wxml
@@ -8,186 +8,66 @@
 
   <!-- 涓汉淇℃伅鍖哄煙 -->
   <view wx:else class="profile-content">
-    <!-- 鐢ㄦ埛淇℃伅鍗$墖 -->
-    <view class="user-card">
-      <view class="user-info">
+    <!-- 鐢ㄦ埛淇℃伅鍖哄煙 -->
+    <view class="user-section">
+      <view class="user-avatar-wrapper">
         <image 
           wx:if="{{userInfo.avatar}}"
-          class="avatar" 
+          class="user-avatar" 
           src="{{userInfo.avatar}}" 
           mode="aspectFill"
         />
-        <view wx:else class="avatar-placeholder">
+        <view wx:else class="user-avatar-placeholder">
           <text class="avatar-text">{{avatarText}}</text>
         </view>
-        <view class="user-details">
-          <text class="username">{{userInfo.name || '鏈缃鍚�'}}</text>
-          <text class="user-desc">{{userInfo.school || '鏈缃鏍�'}} | {{userInfo.major || '鏈缃笓涓�'}}</text>
-          <view class="user-roles">
-            <text wx:for="{{userRoles}}" wx:key="*this" class="role-tag">
-              {{item === 'JUDGE' ? '璇勫' : item === 'ORGANIZER' ? '涓诲姙鏂�' : '鍙傝禌鑰�'}}
-            </text>
-          </view>
-        </view>
       </view>
-      <view class="edit-btn" bindtap="onEditProfile">
-        <text class="icon ic-edit"></text>
-        <text class="edit-text">缂栬緫</text>
-      </view>
+      <text class="user-name">{{userInfo.name || 'Ethan'}}</text>
+      <text class="user-role">{{userRoles.includes('JUDGE') ? '璇勫' : userRoles.includes('ORGANIZER') ? '涓诲姙鏂�' : '鍙傝禌鑰�'}}</text>
     </view>
 
-    <!-- 缁熻鏁版嵁 -->
-    <view class="stats-section">
-      <view class="stats-grid">
-        <view class="stat-item">
-          <text class="stat-number">{{stats.totalRegistrations}}</text>
-          <text class="stat-label">鎬绘姤鍚�</text>
+    <!-- 鎴戠殑椤圭洰鍖哄煙 -->
+    <view class="projects-section">
+      <text class="section-title">鎴戠殑椤圭洰</text>
+      <view class="project-list">
+        <view class="project-card project-a" bindtap="onMenuItemTap" data-path="/pages/profile/registrations">
+          <view class="project-icon">
+            <text class="icon-plant">馃尡</text>
+          </view>
+          <view class="project-info">
+            <text class="project-name">鎴戠殑鎶ュ悕</text>
+            <text class="project-desc">鏌ョ湅鎶ュ悕璁板綍</text>
+          </view>
+          <text class="project-arrow">></text>
         </view>
-        <view class="stat-item">
-          <text class="stat-number">{{stats.ongoingActivities}}</text>
-          <text class="stat-label">杩涜涓�</text>
-        </view>
-        <view class="stat-item">
-          <text class="stat-number">{{stats.completedActivities}}</text>
-          <text class="stat-label">宸插畬鎴�</text>
-        </view>
-        <view class="stat-item">
-          <text class="stat-number">{{stats.awards}}</text>
-          <text class="stat-label">鑾峰鏁�</text>
+        <view class="project-card project-b" bindtap="onMenuItemTap" data-path="/pages/profile/achievements">
+          <view class="project-icon">
+            <text class="icon-trophy">馃弳</text>
+          </view>
+          <view class="project-info">
+            <text class="project-name">鎴戠殑鎴愮哗</text>
+            <text class="project-desc">鏌ョ湅娲诲姩鎴愮哗</text>
+          </view>
+          <text class="project-arrow">></text>
         </view>
       </view>
     </view>
 
-    <!-- 璇勫涓撳尯 -->
-    <view wx:if="{{isJudge}}" class="role-section">
-      <view class="section-header">
-        <text class="section-title">璇勫涓撳尯</text>
-        <view class="judge-stats">
-          <text class="pending-count">寰呰瘎瀹�: {{judgeStats.pendingReviews}}</text>
-        </view>
+    <!-- 鍏朵粬鍔熻兘鑿滃崟 -->
+    <view class="other-menu-section">
+      <view class="menu-item-simple" bindtap="onMenuItemTap" data-path="/pages/profile/favorites">
+        <text class="menu-icon">猸�</text>
+        <text class="menu-title">鎴戠殑鏀惰棌</text>
+        <text class="menu-arrow">></text>
       </view>
-      <view class="menu-grid">
-        <view 
-          wx:for="{{judgeMenuItems}}" 
-          wx:key="path" 
-          class="menu-item" 
-          data-path="{{item.path}}"
-          bindtap="onMenuItemTap"
-        >
-          <view class="menu-icon-wrapper">
-            <text class="icon {{item.iconName}}"></text>
-            <view wx:if="{{item.badge > 0}}" class="badge">{{item.badge}}</view>
-          </view>
-          <text class="menu-title">{{item.title}}</text>
-          <text class="menu-desc">{{item.desc}}</text>
-        </view>
+      <view class="menu-item-simple" bindtap="onMenuItemTap" data-path="/pages/profile/settings">
+        <text class="menu-icon">鈿欙笍</text>
+        <text class="menu-title">璁剧疆</text>
+        <text class="menu-arrow">></text>
       </view>
-    </view>
-
-    <!-- 涓诲姙鏂逛笓鍖� -->
-    <view wx:if="{{isOrganizer}}" class="role-section">
-      <view class="section-header">
-        <text class="section-title">涓诲姙鏂逛笓鍖�</text>
-        <view class="organizer-stats">
-          <text class="active-count">娲昏穬娲诲姩: {{organizerStats.activeActivities}}</text>
-        </view>
-      </view>
-      <view class="menu-grid">
-        <view 
-          wx:for="{{organizerMenuItems}}" 
-          wx:key="path" 
-          class="menu-item" 
-          data-path="{{item.path}}"
-          bindtap="onMenuItemTap"
-        >
-          <view class="menu-icon-wrapper">
-            <text class="icon {{item.iconName}}"></text>
-          </view>
-          <text class="menu-title">{{item.title}}</text>
-          <text class="menu-desc">{{item.desc}}</text>
-        </view>
-      </view>
-    </view>
-
-    <!-- 鍔熻兘鑿滃崟 -->
-    <view class="menu-section">
-      <view class="section-title">鍔熻兘鑿滃崟</view>
-      <view class="menu-list">
-        <view 
-          wx:for="{{menuItems}}" 
-          wx:key="path" 
-          class="menu-item-row" 
-          data-path="{{item.path}}"
-          bindtap="onMenuItemTap"
-        >
-          <view class="menu-left">
-            <text class="icon {{item.iconName}}"></text>
-            <view class="menu-text">
-              <text class="menu-title">{{item.title}}</text>
-              <text class="menu-desc">{{item.desc}}</text>
-            </view>
-          </view>
-          <text class="icon ic-arrow-right"></text>
-        </view>
-      </view>
-    </view>
-
-    <!-- 鏈�杩戞姤鍚� -->
-    <view class="recent-section">
-      <view class="section-header">
-        <text class="section-title">鏈�杩戞姤鍚�</text>
-        <text class="view-more" bindtap="onViewMoreRegistrations">鏌ョ湅鏇村</text>
-      </view>
-      
-      <view wx:if="{{registrationLoading}}" class="loading-wrapper small">
-        <view class="loading small"></view>
-        <text class="loading-text">鍔犺浇涓�...</text>
-      </view>
-      
-      <view wx:elif="{{registrations.length === 0}}" class="empty-state">
-        <text class="empty-icon">馃摑</text>
-        <text class="empty-text">鏆傛棤鎶ュ悕璁板綍</text>
-      </view>
-      
-      <view wx:else class="registration-list">
-        <view 
-          wx:for="{{registrations}}" 
-          wx:key="id" 
-          class="registration-item"
-          data-id="{{item.id}}"
-          bindtap="onRegistrationTap"
-        >
-          <image 
-            wx:if="{{item.activity.coverImage && item.activity.coverImage.fullUrl}}"
-            class="activity-cover" 
-            src="{{item.activity.coverImage.fullUrl}}" 
-            mode="aspectFill"
-          />
-          <view wx:else class="activity-cover-placeholder">
-            <text class="activity-cover-text">{{item.activity.titleText}}</text>
-          </view>
-          <view class="registration-info">
-            <text class="activity-title">{{item.activity.title}}</text>
-            <text class="registration-time">鎶ュ悕鏃堕棿: {{formatDate(item.registrationTime)}}</text>
-            <text class="activity-time">娲诲姩鏃堕棿: {{formatDate(item.activity.startTime)}}</text>
-            <view class="status-row">
-              <text class="registration-status {{getStatusClass(item.status)}}">
-                {{getStatusText(item.status)}}
-              </text>
-              <text class="activity-status">
-                {{getActivityStatusText(item.activity.status)}}
-              </text>
-            </view>
-          </view>
-          <text class="item-arrow">></text>
-        </view>
-      </view>
-    </view>
-
-    <!-- 閫�鍑虹櫥褰� -->
-    <view class="logout-section">
-      <view class="logout-btn" bindtap="onLogout">
-        <text class="logout-text">閫�鍑虹櫥褰�</text>
+      <view class="menu-item-simple" bindtap="onLogout">
+        <text class="menu-icon">馃毆</text>
+        <text class="menu-title">閫�鍑虹櫥褰�</text>
+        <text class="menu-arrow">></text>
       </view>
     </view>
   </view>

--
Gitblit v1.8.0