ai-c/pages/theme-travel/theme-travel.wxml
2026-02-02 18:21:32 +08:00

135 lines
5.3 KiB
Plaintext

<!-- 主题旅行页面 -->
<view class="page-container">
<!-- 固定导航栏容器 -->
<view class="nav-container">
<!-- 顶部状态栏占位 -->
<view class="status-bar" style="height: {{statusBarHeight}}px;"></view>
<!-- 自定义导航栏 -->
<view class="nav-bar" style="height: {{navBarHeight}}px;">
<view class="nav-back" bindtap="onBack">
<image src="/images/icon-back.png" class="back-icon" mode="aspectFit"></image>
</view>
<view class="nav-title">高端定制</view>
</view>
</view>
<!-- 内容区域 -->
<scroll-view scroll-y class="content-scroll" style="padding-top: {{totalNavHeight}}px;" enhanced show-scrollbar="{{false}}">
<!-- 推广卡片 -->
<view class="city-group-card">
<view class="group-info">
<view class="group-title">高端定制俱乐部</view>
<view class="group-tags">
<text class="tag-item">结伴同行</text>
<text class="tag-item">精彩旅程</text>
</view>
</view>
<view class="join-btn" bindtap="onJoinGroup">
点击立即加入
</view>
</view>
<!-- 活动列表标题 -->
<view class="section-header">
<view class="section-title">热门线路</view>
<text class="activity-count">共 {{activityList.length}} 条线路</text>
</view>
<!-- 活动列表 -->
<view class="activity-list">
<view class="activity-card"
wx:for="{{activityList}}"
wx:key="id"
data-id="{{item.id}}"
bindtap="onActivityTap">
<!-- 活动图片容器 -->
<view class="activity-image-wrap">
<image wx:if="{{item.image}}"
class="activity-image"
src="{{item.image}}"
mode="aspectFill"></image>
<view wx:else class="activity-image-gradient" style="background: {{item.bgColor}};"></view>
<!-- 点赞数 -->
<view class="like-badge {{item.isLiked ? 'liked' : ''}}"
catchtap="onLike"
data-id="{{item.id}}"
data-index="{{index}}">
<app-icon name="{{item.isLiked ? 'heart-filled' : 'heart'}}" size="32" color="{{item.isLiked ? '#FF5252' : '#4A5565'}}" />
<text class="like-count">{{item.likes}}</text>
</view>
<!-- 价格标签 -->
<view class="price-tag {{item.priceType}}">{{item.price}}</view>
</view>
<!-- 活动信息 -->
<view class="activity-info">
<text class="activity-title">{{item.title}}</text>
<view class="activity-meta">
<view class="meta-item">
<image src="/images/icon-calendar.png" class="meta-icon" mode="aspectFit"></image>
<text class="meta-text">{{item.date}}</text>
</view>
<view class="meta-row">
<view class="meta-item">
<image src="/images/icon-location.png" class="meta-icon" mode="aspectFit"></image>
<text class="meta-text">{{item.location}} · {{item.venue}}</text>
</view>
<!-- 热度显示 -->
<view class="meta-item heat-item" wx:if="{{item.heat}}">
<app-icon name="flame-hot" size="32" color="#F97316" />
<text class="meta-text heat-text">{{item.heat}}</text>
</view>
</view>
</view>
<!-- 报名信息 -->
<view class="activity-footer">
<view class="participants">
<text class="participant-text">{{item.participants}}人已报名</text>
</view>
<view class="signup-btn {{item.isSignedUp ? 'signed' : ''}}"
catchtap="onSignUp"
data-id="{{item.id}}"
data-index="{{index}}">
{{item.isSignedUp ? '已报名' : '立即报名'}}
</view>
</view>
</view>
</view>
<view class="empty-state" wx:if="{{!loading && activityList.length === 0}}">
<image src="/images/icon-empty.png" class="empty-icon" mode="aspectFit"></image>
<text class="empty-text">暂无线路</text>
</view>
<view class="list-footer" wx:if="{{activityList.length > 0}}">
<text class="footer-text">没有更多线路了 ~</text>
</view>
</view>
<!-- 底部占位 -->
<view style="height: 60rpx;"></view>
</scroll-view>
<!-- 二维码弹窗 -->
<view class="qrcode-modal {{showQrcodeModal ? 'show' : ''}}" catchtap="onCloseQrcodeModal">
<view class="modal-mask"></view>
<view class="modal-content" catchtap="preventBubble">
<view class="close-btn" bindtap="onCloseQrcodeModal">
<image src="/images/icon-close.png" class="close-icon" mode="aspectFit"></image>
</view>
<view class="modal-title">加入高端定制群</view>
<view class="modal-subtitle">进群获取更多定制资讯,开启您的精彩旅程</view>
<view class="qrcode-container">
<image src="{{qrcodeImageUrl}}" class="qrcode-image" mode="aspectFit" show-menu-by-longpress></image>
</view>
<view class="modal-tips">长按二维码识别或保存</view>
<view class="save-btn" bindtap="onSaveQrcode">
保存二维码
</view>
</view>
</view>
</view>