<!-- pages/news/list.wxml -->
|
<view class="container">
|
<!-- 新闻列表 -->
|
<view class="news-list">
|
<view
|
class="news-item"
|
wx:for="{{newsList}}"
|
wx:key="id"
|
bindtap="goToNewsDetail"
|
data-id="{{item.id}}"
|
>
|
<view class="news-card">
|
<view class="news-header">
|
<view class="news-title">{{item.title}}</view>
|
</view>
|
<view class="news-body">
|
<view wx:if="{{item.coverImage}}" class="news-cover">
|
<image class="cover-image" src="{{item.coverImage}}" mode="aspectFill" />
|
</view>
|
<view wx:if="{{item.summary}}" class="news-summary">{{item.summary}}</view>
|
</view>
|
<view class="news-footer">
|
<view class="news-meta">
|
<text wx:if="{{item.author}}" class="author">{{item.author}}</text>
|
<text wx:if="{{item.author}}" class="separator">|</text>
|
<text class="time">{{item.createTime}}</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
|
<!-- 加载状态 -->
|
<view class="loading-wrapper" wx:if="{{loading}}">
|
<view class="loading"></view>
|
<text class="loading-text">加载中...</text>
|
</view>
|
|
<!-- 没有更多数据 -->
|
<view class="no-more" wx:if="{{!hasMore && newsList.length > 0}}">
|
<text class="no-more-text">没有更多数据了</text>
|
</view>
|
|
<!-- 空状态 -->
|
<view class="empty-state" wx:if="{{!loading && newsList.length === 0}}">
|
<view class="empty-icon">📰</view>
|
<view class="empty-text">暂无新闻资讯</view>
|
<view class="empty-desc">请稍后再试</view>
|
</view>
|
</view>
|
</view>
|