From c8cf6469faac4ed4b4a2c61038f673fef7443f29 Mon Sep 17 00:00:00 2001 From: ltx <19304474232@163.com> Date: Fri, 10 Apr 2026 01:07:07 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E4=B8=8D=E6=98=BE=E7=A4=BAbug&?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E6=9F=A5=E7=9C=8B=E8=B5=9B=E4=BA=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/apply/apply.wxml | 3 -- pages/detail/detail.js | 23 ++++++++- pages/home/home.js | 9 +++- pages/home/home.wxml | 24 +++++++++- pages/home/home.wxss | 68 ++++++++++++++++++++++++++- project.private.config.json | 2 +- subpackages/mine/cert/cert.js | 4 +- subpackages/mine/cert/cert.wxml | 4 +- subpackages/mine/cert/cert.wxss | 2 - subpackages/mine/order/order.js | 2 +- subpackages/mine/order/order.wxml | 10 ++-- subpackages/mine/order/order.wxss | 11 ++++- subpackages/mine/points/points.js | 4 +- subpackages/mine/points/points.wxml | 4 +- subpackages/mine/points/points.wxss | 4 +- subpackages/mine/records/records.js | 2 +- subpackages/mine/records/records.wxml | 9 +--- subpackages/mine/records/records.wxss | 2 +- 18 files changed, 145 insertions(+), 42 deletions(-) diff --git a/pages/apply/apply.wxml b/pages/apply/apply.wxml index 9a0dea0..8160529 100644 --- a/pages/apply/apply.wxml +++ b/pages/apply/apply.wxml @@ -1,8 +1,5 @@ - - - diff --git a/pages/detail/detail.js b/pages/detail/detail.js index 95ff456..693d455 100644 --- a/pages/detail/detail.js +++ b/pages/detail/detail.js @@ -362,7 +362,26 @@ Page({ }, onLoad(options) { - const id = Number(options.id); + console.log('Detail onLoad options:', options); + + let rawId = options.id; + + // 处理扫描普通二维码进入:options.q 为 URL 编码后的链接 + // 格式:https://jitsi-web.yuedongsports.com/mini-app/event?id=xxx + if (!rawId && options.q) { + try { + const decoded = decodeURIComponent(options.q); + const match = decoded.match(/[?&]id=([^&]+)/); + console.log('Detail onLoad options:', decoded); + console.log('Detail onLoad options:', match); + + if (match) rawId = match[1]; + } catch (e) { + console.warn('Detail: 解析 options.q 失败', e); + } + } + + const id = Number(rawId); this.setData({ id }); if (!id) return; this.fetchDetail(id); @@ -372,7 +391,7 @@ Page({ request({ path: API.eventDetail(id), method: 'GET', - needAuth: false + needAuth: true }) .then((res) => { const detail = res || {}; diff --git a/pages/home/home.js b/pages/home/home.js index 8a0325f..4079948 100644 --- a/pages/home/home.js +++ b/pages/home/home.js @@ -58,6 +58,7 @@ Page({ banners: [], rows: [], loading: false, + isFirstLoad: false, loadingText: '加载中...', pageNo: 1, @@ -278,7 +279,7 @@ Page({ }); } - this.setData({ loading: true }); + this.setData({ loading: true, isFirstLoad: !!reset }); const pageNo = reset ? 1 : this.data.pageNo; const pageSize = this.data.pageSize; const status = this.data.status; @@ -336,12 +337,14 @@ Page({ rows: nextRows, hasMore, loading: false, + isFirstLoad: false, loadingText: hasMore ? '加载中...' : '没有更多了' }); }) .catch((err) => { this.setData({ loading: false, + isFirstLoad: false, hasMore: false, rows: reset ? [] : this.data.rows, loadingText: err && err.message ? err.message : '加载失败' @@ -365,7 +368,7 @@ Page({ }); } - this.setData({ loading: true }); + this.setData({ loading: true, isFirstLoad: !!reset }); const pageNo = reset ? 1 : this.data.pageNo; const pageSize = this.data.pageSize; @@ -419,12 +422,14 @@ Page({ rows: nextRows, hasMore, loading: false, + isFirstLoad: false, loadingText: hasMore ? '加载中...' : '没有更多了' }); }) .catch(() => { this.setData({ loading: false, + isFirstLoad: false, hasMore: false, rows: reset ? [] : this.data.rows, loadingText: '加载失败' diff --git a/pages/home/home.wxml b/pages/home/home.wxml index bce4c56..4d8f69f 100644 --- a/pages/home/home.wxml +++ b/pages/home/home.wxml @@ -47,6 +47,19 @@ + + + + + + + + + + + + + 暂无数据 @@ -98,7 +111,16 @@ - {{loadingText}} + + + + + + + + + + 没有更多了 \ No newline at end of file diff --git a/pages/home/home.wxss b/pages/home/home.wxss index fbeef5f..77a79e8 100644 --- a/pages/home/home.wxss +++ b/pages/home/home.wxss @@ -368,8 +368,74 @@ page { } .loading { - text-align: center; + display: flex; + justify-content: center; + align-items: center; color: #969799; font-size: 26rpx; padding: 32rpx 0 48rpx; } + +/* ===== 三点加载动画 ===== */ +.loading-dots { + display: flex; + align-items: center; + gap: 12rpx; +} + +.loading-dot { + width: 14rpx; + height: 14rpx; + border-radius: 50%; + background: #1a56db; + animation: dot-bounce 2.8s infinite ease-in-out; +} + +.loading-dot:nth-child(1) { animation-delay: 0s; } +.loading-dot:nth-child(2) { animation-delay: 0.2s; } +.loading-dot:nth-child(3) { animation-delay: 0.4s; } + +@keyframes dot-bounce { + 0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; } + 40% { transform: scale(1); opacity: 1; } +} + +/* ===== 首屏骨架屏 ===== */ +.skeleton-card { + background: #fff; + border-radius: 20rpx; + overflow: hidden; + margin-bottom: 24rpx; +} + +.skeleton-cover { + width: 100%; + height: 300rpx; + background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); + background-size: 200% 100%; + animation: skeleton-shimmer 1.4s infinite; +} + +.skeleton-body { + padding: 24rpx 28rpx 28rpx; + display: flex; + flex-direction: column; + gap: 16rpx; +} + +.skeleton-line { + height: 24rpx; + border-radius: 8rpx; + background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); + background-size: 200% 100%; + animation: skeleton-shimmer 1.4s infinite; +} + +.skeleton-line--long { width: 80%; } +.skeleton-line--mid { width: 60%; } +.skeleton-line--short { width: 40%; } + +@keyframes skeleton-shimmer { + 0% { background-position: 200% 0; } + 100% { background-position: -200% 0; } +} diff --git a/project.private.config.json b/project.private.config.json index 4701181..d2b5502 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -1,5 +1,5 @@ { - "libVersion": "3.15.0", + "libVersion": "3.15.1", "projectname": "YD_Event.miniApp", "setting": { "urlCheck": false, diff --git a/subpackages/mine/cert/cert.js b/subpackages/mine/cert/cert.js index 6715a10..460f270 100644 --- a/subpackages/mine/cert/cert.js +++ b/subpackages/mine/cert/cert.js @@ -76,8 +76,8 @@ Page({ return this.loadRecords(); }, - /** 触底加载更多 */ - onLoadMore() { + /** 上拉加载更多 */ + onReachBottom() { if (this.data.loading || this.data.noMore) return; this.loadRecords(); }, diff --git a/subpackages/mine/cert/cert.wxml b/subpackages/mine/cert/cert.wxml index 091265d..70b8a4f 100644 --- a/subpackages/mine/cert/cert.wxml +++ b/subpackages/mine/cert/cert.wxml @@ -23,7 +23,7 @@ - + @@ -63,6 +63,6 @@ 没有更多了 - + diff --git a/subpackages/mine/cert/cert.wxss b/subpackages/mine/cert/cert.wxss index a132d0b..22f168c 100644 --- a/subpackages/mine/cert/cert.wxss +++ b/subpackages/mine/cert/cert.wxss @@ -120,8 +120,6 @@ /* ===== 列表容器 ===== */ .record-list { - flex: 1; - height: 0; background: #ffffff; border-radius: 16rpx; margin: 0 20rpx; diff --git a/subpackages/mine/order/order.js b/subpackages/mine/order/order.js index 1b250ec..930c84c 100644 --- a/subpackages/mine/order/order.js +++ b/subpackages/mine/order/order.js @@ -80,7 +80,7 @@ Page({ wx.navigateTo({ url: `/subpackages/mine/order-detail/order-detail?id=${id}` }); }, - onLoadMore() { + onReachBottom() { this.loadOrders(false); } }); diff --git a/subpackages/mine/order/order.wxml b/subpackages/mine/order/order.wxml index 7d61ab7..49cc3ab 100644 --- a/subpackages/mine/order/order.wxml +++ b/subpackages/mine/order/order.wxml @@ -7,12 +7,7 @@ left-arrow > --> - + + 暂无订单 @@ -47,5 +43,5 @@ 没有更多了 加载中... - + diff --git a/subpackages/mine/order/order.wxss b/subpackages/mine/order/order.wxss index 13e1f73..2ac1c4a 100644 --- a/subpackages/mine/order/order.wxss +++ b/subpackages/mine/order/order.wxss @@ -5,7 +5,6 @@ } .list { - height: calc(100vh - 88rpx); padding: 24rpx 32rpx 40rpx; box-sizing: border-box; } @@ -90,9 +89,17 @@ display: flex; flex-direction: column; align-items: center; - padding-top: 200rpx; + justify-content: center; + padding-top: 240rpx; } +.empty-icon { + display: flex; + flex-direction: column; + align-items: center; + width: 60%; + /* margin-bottom: 32rpx; */ +} .empty-text { font-size: 28rpx; color: #999; diff --git a/subpackages/mine/points/points.js b/subpackages/mine/points/points.js index b3787f1..8413a80 100644 --- a/subpackages/mine/points/points.js +++ b/subpackages/mine/points/points.js @@ -57,8 +57,8 @@ Page({ return this.loadRecords(true); }, - /** 加载更多 */ - onLoadMore() { + /** 上拉加载更多 */ + onReachBottom() { if (this.data.loading || this.data.noMore) return; this.loadRecords(false); }, diff --git a/subpackages/mine/points/points.wxml b/subpackages/mine/points/points.wxml index de766d8..f080392 100644 --- a/subpackages/mine/points/points.wxml +++ b/subpackages/mine/points/points.wxml @@ -21,7 +21,7 @@ - +