This commit is contained in:
2025-10-16 16:21:56 +08:00
parent dd3936944b
commit 89dbdc63db
12 changed files with 512 additions and 222 deletions

View File

@@ -31,12 +31,12 @@
</div>
<div class="mail-content">
<div class="mail-header">
<h3 class="mail-title">{{ mail.title }}</h3>
<h3 class="mail-title">{{ mail.title || '无标题' }}</h3>
<span class="mail-date">{{ formatDate(mail.sendTime) }}</span>
</div>
<p class="mail-preview">{{ mail.content.substring(0, 50) }}...</p>
<p class="mail-preview">{{ (mail.content || '').substring(0, 50) }}...</p>
<div class="mail-footer">
<span class="mail-recipient">收件人: {{ mail.recipient.username }}</span>
<span class="mail-recipient">收件人: {{ mail.recipient?.username || '未知' }}</span>
<van-tag :type="getStatusType(mail.status)" size="small">
{{ getStatusText(mail.status) }}
</van-tag>
@@ -62,7 +62,7 @@
</div>
</van-list>
<div v-if="mails.value.length === 0 && !loading" class="empty-state">
<div v-if="mails && mails.length === 0 && !loading" class="empty-state">
<van-empty description="暂无已发送的邮件" />
</div>
</div>
@@ -155,6 +155,8 @@ export default {
// 排序后的邮件
const sortedMails = computed(() => {
if (!mails.value || !Array.isArray(mails.value)) return []
const sorted = [...mails.value]
switch (sortType.value) {
@@ -221,15 +223,16 @@ export default {
size: pageSize.value
})
if (response.code === 200) {
// 响应拦截器已经处理了success判断这里直接处理数据
if (response && response.data) {
// 判断是否加载完成
if (response.data.list.length < pageSize.value) {
if (!response.data.list || response.data.list.length < pageSize.value) {
finished.value = true
} else {
page.value += 1
}
} else {
showFailToast(response.message || '获取邮件列表失败')
showFailToast('获取邮件列表失败')
}
} catch (error) {
console.error('获取邮件列表失败:', error)