lrj
1 天以前 ae3349d2ff53767b5bc9cb30e1bf7e15f9e814ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<wxs src="./detail.wxs" module="filters" />
 
<view class="container">
  <view wx:if="{{loading}}" class="loading-wrapper">
    <view class="loading"></view>
    <text>加载中...</text>
  </view>
 
  <view wx:elif="{{error}}" class="error-wrapper">
    <text>{{error}}</text>
  </view>
 
  <block wx:else>
    <!-- 顶部 Banner -->
    <swiper class="banner-swiper" indicator-dots="{{true}}" autoplay="{{true}}">
      <swiper-item wx:if="{{activity.coverImage}}">
        <image class="banner-image" src="{{activity.coverImage.fullUrl}}" mode="aspectFill" />
      </swiper-item>
      <swiper-item wx:for="{{activity.images}}" wx:key="index">
        <image class="banner-image" src="{{item.fullUrl}}" mode="aspectFill" />
      </swiper-item>
    </swiper>
 
    <view class="content-wrapper">
      <!-- 比赛信息 -->
      <view class="section-card">
        <view class="section-title main-title">{{activity.name}}</view>
        <view class="info-grid">
          <view class="info-row">
            <text class="info-label">报名截止时间</text>
            <text class="info-value">{{filters.formatDateTime(activity.signupDeadline)}}</text>
          </view>
          <view class="info-row">
            <text class="info-label">比赛开始时间</text>
            <text class="info-value">{{filters.formatDateTime(activity.matchTime)}}</text>
          </view>
        </view>
      </view>
 
      <!-- 比赛阶段 -->
      <view class="section-card" wx:if="{{activity.stages && activity.stages.length > 0}}">
        <view class="section-title">比赛阶段</view>
        <view class="timeline">
          <view class="timeline-item" wx:for="{{activity.stages}}" wx:key="id">
            <view class="timeline-icon">
              <view class="icon-calendar-bg"></view>
            </view>
            <view class="timeline-content">
              <view class="stage-name">{{item.name}}</view>
              <view class="stage-date">{{filters.formatDate(item.matchTime)}}</view>
            </view>
          </view>
        </view>
      </view>
 
      <!-- 比赛介绍 -->
      <view class="section-card" wx:if="{{activity.description}}">
        <view class="section-title">比赛介绍</view>
        <view class="description-content">
          <text>{{activity.description}}</text>
        </view>
      </view>
    </view>
 
    <!-- 底部操作栏 -->
    <view class="footer-actions">
      <button class="register-btn" bindtap="handleRegister" disabled="{{buttonDisabled}}">{{buttonText}}</button>
    </view>
  </block>
</view>