From b7d451c91ec40bee70f23b1e2cf6a8797643faef Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期六, 25 四月 2026 15:18:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
app/pages/message/message.vue | 138 +++++++++++++++++++++++++++------------------
1 files changed, 83 insertions(+), 55 deletions(-)
diff --git a/app/pages/message/message.vue b/app/pages/message/message.vue
index 6301116..1e9e90f 100644
--- a/app/pages/message/message.vue
+++ b/app/pages/message/message.vue
@@ -6,21 +6,31 @@
</view>
</view>
- <scroll-view class="message-page__body" scroll-y :style="bodyStyle">
+ <scroll-view class="message-page__body" scroll-y :style="bodyStyle" @scrolltolower="loadMore">
<view class="message-page__list">
<view v-for="item in messageList" :key="item.id" class="message-card">
<view class="message-card__icon-wrap">
<view class="message-card__icon-bg">
<text class="message-card__icon">馃敂</text>
</view>
- <view v-if="item.unread" class="message-card__dot"></view>
+ <view v-if="item.status === 0" class="message-card__dot"></view>
</view>
<view class="message-card__content">
<text class="message-card__title">{{ item.title }}</text>
- <text class="message-card__desc">{{ item.desc }}</text>
- <text class="message-card__time">{{ item.time }}</text>
+ <text class="message-card__desc">{{ item.content }}</text>
+ <text class="message-card__time">{{ item.createTime }}</text>
</view>
+ </view>
+
+ <view v-if="loading" class="message-page__loading">
+ <text class="message-page__loading-text">鍔犺浇涓�...</text>
+ </view>
+ <view v-if="finished && messageList.length > 0" class="message-page__loading">
+ <text class="message-page__loading-text">娌℃湁鏇村浜�</text>
+ </view>
+ <view v-if="!loading && messageList.length === 0" class="message-page__empty">
+ <image class="message-page__empty-icon" src="/static/image/default_nodata@2x.png" mode="aspectFit"></image>
</view>
</view>
</scroll-view>
@@ -33,57 +43,11 @@
return {
statusBarHeight: 0,
navHeight: 0,
- messageList: [
- {
- id: 1,
- title: '璁㈠崟寰呴厤閫�',
- desc: '鎮ㄥ凡鎶㈠崟鎴愬姛锛岃鍗曪細32728367487367锛岃鎸夋椂鍒般�愪腑閾佸揩杩愬崡绔欐棗鑸板簵銆戝彇璐�',
- time: '2026-04-12 20:00',
- unread: true
- },
- {
- id: 2,
- title: '閰嶉�佷腑',
- desc: '璁㈠崟锛�32728367487367宸插彇璐э紝璇锋寜鏃堕�佽揪',
- time: '2026-04-12 20:00',
- unread: true
- },
- {
- id: 3,
- title: '宸查�佽揪',
- desc: '璁㈠崟锛�32728367487367宸查�佽揪锛岃鑱旂郴鐢ㄦ埛纭绛炬敹',
- time: '2026-04-12 20:00',
- unread: false
- },
- {
- id: 4,
- title: '璁㈠崟宸插畬鎴�',
- desc: '璁㈠崟锛�32728367487367宸插畬鎴愶紝鐩稿叧璁㈠崟缁撶畻浼氬湪3涓伐浣滄棩鍐呭畬鎴�',
- time: '2026-04-12 20:00',
- unread: false
- },
- {
- id: 5,
- title: '璁㈠崟宸茶瘎浠�',
- desc: '璁㈠崟锛�32728367487367锛岀敤鎴峰凡璇勪环锛屽彲鏌ョ湅璇勪环鍐呭',
- time: '2026-04-12 20:00',
- unread: false
- },
- {
- id: 6,
- title: '閫�娆句腑',
- desc: '璁㈠崟锛�32728367487367锛岀敤鎴峰凡鎻愪氦閫�娆剧敵璇凤紝璇ヨ鍗曚换鍔″凡鍙栨秷锛岃鍕垮墠寰�銆�',
- time: '2026-04-12 20:00',
- unread: false
- },
- {
- id: 7,
- title: '璁㈠崟宸茬粨绠�',
- desc: '琛屾潕璁㈠崟锛�3729378487987 骞冲彴宸插畬鎴愮粨绠楋紝閲戦涓篨X鍏冿紝璇锋敞鎰忔煡鏀�',
- time: '2026-04-12 20:00',
- unread: false
- }
- ]
+ page: 1,
+ capacity: 10,
+ messageList: [],
+ loading: false,
+ finished: false
}
},
computed: {
@@ -98,6 +62,46 @@
const systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = systemInfo.statusBarHeight || 0
this.navHeight = this.statusBarHeight + uni.upx2px(88)
+ },
+
+ onShow() {
+ this.refreshList()
+ },
+
+ onReachBottom() {
+ this.loadMore()
+ },
+
+ methods: {
+ refreshList() {
+ this.page = 1
+ this.messageList = []
+ this.finished = false
+ this.getMessageList()
+ },
+
+ loadMore() {
+ if (this.loading || this.finished) return
+ this.page++
+ this.getMessageList()
+ },
+
+ getMessageList() {
+ this.loading = true
+ this.$u.api.driverNoticePage({ capacity: this.capacity, page: this.page, model: {} }).then(res => {
+ this.loading = false
+ if (res.code === 200) {
+ const list = res.data.records || []
+ if (this.page === 1) {
+ this.messageList = list
+ this.$u.api.driverReadAllNotice()
+ } else {
+ this.messageList = [...this.messageList, ...list]
+ }
+ this.finished = list.length < this.capacity
+ }
+ })
+ }
}
}
</script>
@@ -137,6 +141,30 @@
&__list {
padding: 18rpx 18rpx calc(env(safe-area-inset-bottom) + 24rpx);
}
+
+ &__loading {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 30rpx 0;
+ }
+
+ &__loading-text {
+ font-size: 26rpx;
+ color: #999;
+ }
+
+ &__empty {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+ }
+
+ &__empty-icon {
+ width: 320rpx;
+ height: 320rpx;
+ }
}
.message-card {
--
Gitblit v1.9.3