Files
code-bang/frontend/miniapp/pages/message/list/index.wxml
T

40 lines
1.7 KiB
Plaintext

<!--pages/message/index.wxml-->
<wxs src="./index.wxs" module="_index" />
<view class="message-page">
<!-- 顶部标题行:用 flex 保证标题与清除按钮垂直居中对齐 -->
<view class="message-header">
<!-- 未读数已在下方「全部」tab 的角标展示,此处不再重复显示 -->
<text class="site-message-title">站内消息</text>
<t-icon class="message-clear" name="clear" size="40rpx" bindtap="onClearUnreadTap" />
</view>
<!-- 消息类型分类 -->
<t-tabs value="{{currentTabIndex}}" bind:change="onTabsChange" swipeable="{{false}}" t-class="message-tabs">
<t-tab-panel
wx:for="{{tabs}}"
wx:key="key"
label="{{item.label}}"
value="{{index}}"
badge-props="{{ { count: item.key === '' ? totalUnread : unreadMap[item.key] } }}"
/>
</t-tabs>
<view class="message-list">
<view class="message-item" wx:for="{{list}}" wx:for-item="item" wx:key="id">
<t-cell hover bordered bind:tap="onMessageTap" data-id="{{item.id}}">
<t-avatar class="avatar-example" slot="image" image="{{item.image}}" badge-props="{{ {dot: !item.is_read, offset: [0, 4] } }}" />
<view slot="title" class="msg-title">
<text class="msg-title-text">{{item.title}}</text>
<t-tag size="small" variant="light" theme="{{_index.tagTheme(item.message_type)}}" class="msg-type-tag">{{item.message_type_text}}</t-tag>
</view>
<view slot="description">{{_index.ellipsis(item.content, 22)}}</view>
<text slot="note">{{item.createtime_text}}</text>
</t-cell>
</view>
</view>
<view class="empty-container" wx:if="{{list.length <= 0}}">
<t-empty icon="chat-bubble-error" description="暂无消息" />
</view>
<view class="safe-bottom" />
</view>