From 872c8db08e1421266c350d26d3d4d2c120174e14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E9=A3=9E=E6=B4=8B?= <15778543+xufeiyang6017@user.noreply.gitee.com> Date: Sat, 3 Jan 2026 15:29:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=81=8A=E5=A4=A9=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=B8=8B=E6=8B=89=E5=88=B7=E6=96=B0=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E4=BF=AE=E5=A4=8D=E9=A6=96=E9=A1=B5=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主要修改: 1. 为聊天页面(pages/chat/index)添加下拉强制刷新数据功能 - 配置scroll-view组件支持下拉刷新 - 添加刷新状态变量和提示消息 - 实现onPullDownRefresh方法,3秒刷新提示 - 添加刷新动画效果和状态显示 2. 修复首页底部提示被遮挡问题 - 调整页面布局高度约束 - 确保'货源正在快马加鞭的赶来'提示正常显示 功能特点: - 下拉刷新时清除缓存,强制从数据库获取最新数据 - 刷新过程中显示loading状态和3秒提示 - 刷新完成后显示'刷新完成'提示1秒后自动隐藏 - 保持原有聊天页面其他功能不变 --- pages/chat/index.js | 46 ++++++++++++++++++++++++++++++++++++++++-- pages/chat/index.wxml | 17 +++++++++++++++- pages/chat/index.wxss | 31 ++++++++++++++++++++++++++++ pages/index/index.wxml | 19 +++++++---------- 4 files changed, 98 insertions(+), 15 deletions(-) diff --git a/pages/chat/index.js b/pages/chat/index.js index 2ea6325..0e652e9 100644 --- a/pages/chat/index.js +++ b/pages/chat/index.js @@ -28,7 +28,9 @@ Page({ debugCount: 0, // 调试信息输出计数器 loginToastShown: false, // 登录提示是否已显示 lastLoadTime: 0, // 用于节流的时间戳 - chatContentCache: {} // 缓存聊天项的内容,避免重复获取 + chatContentCache: {}, // 缓存聊天项的内容,避免重复获取 + isRefreshing: false, // 下拉刷新状态 + refreshingMessage: '' // 刷新提示消息 }, onLoad: function (options) { @@ -601,8 +603,48 @@ Page({ }); }, + // 下拉刷新恢复处理 + onRestore: function () { + console.log('下拉刷新恢复'); + }, + onPullDownRefresh: function () { - this.loadChatList(); + if (this.data.isRefreshing) { + return; + } + + console.log('开始下拉刷新聊天列表...'); + + // 设置刷新状态和提示消息 + this.setData({ + isRefreshing: true, + refreshingMessage: '正在刷新...' + }); + + // 清除缓存,确保获取最新数据 + this.setData({ + chatContentCache: {}, + lastLoadTime: 0 // 重置时间戳,强制刷新 + }, () => { + // 执行刷新 + this.loadChatList(); + + // 3秒后自动隐藏刷新提示 + setTimeout(() => { + this.setData({ + isRefreshing: false, + refreshingMessage: '刷新完成' + }); + + // 再过1秒后隐藏"刷新完成"提示 + setTimeout(() => { + this.setData({ + refreshingMessage: '' + }); + }, 1000); + }, 3000); + }); + wx.stopPullDownRefresh(); }, diff --git a/pages/chat/index.wxml b/pages/chat/index.wxml index f0bea36..242b183 100644 --- a/pages/chat/index.wxml +++ b/pages/chat/index.wxml @@ -12,8 +12,23 @@ /> + + + + {{refreshingMessage || '正在刷新...'}} + + - + - + @@ -183,10 +179,10 @@ {{item.name}} {{item.displaySpecification}} | {{item.displayYolk}} - - {{item.sourceType || ''}} + + {{item.sourceType || ''}} {{item.negotiateStatus}} - 库存:{{item.totalStock && item.totalStock !== '充足' ? item.totalStock + '件' : (item.totalStock || '充足')}} + 库存:{{item.totalStock && item.totalStock !== '充足' ? item.totalStock + '件' : (item.totalStock || '充足')}} 已有{{item.reservedCount || 0}}人收藏 @@ -204,11 +200,10 @@ - + 货源正在快马加鞭的赶来 - 📦