From 615a07fd086b5c815d531271cb80eb3c6000c076 Mon Sep 17 00:00:00 2001 From: xin Date: Thu, 5 Feb 2026 11:47:28 +0800 Subject: [PATCH] feat: make referral list collapsible via header tap --- pages/promote/promote.js | 14 +++++++- pages/promote/promote.wxml | 65 +++++++++++++++++++++++++++----------- pages/promote/promote.wxss | 38 ++++++++++++++++++++++ 3 files changed, 97 insertions(+), 20 deletions(-) diff --git a/pages/promote/promote.js b/pages/promote/promote.js index 82f1b4e..6676daa 100644 --- a/pages/promote/promote.js +++ b/pages/promote/promote.js @@ -20,7 +20,9 @@ Page({ defaultAvatar: 'https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=500&auto=format&fit=crop&q=60', loading: false, // 分享配置 - shareConfig: null + shareConfig: null, + // 推广列表收放状态 + isExpanded: false }, onLoad() { @@ -41,6 +43,16 @@ Page({ this.loadShareConfig() }, + /** + * 切换推广列表收放状态 + */ + toggleExpand() { + if (!this.data.referrals || this.data.referrals.length <= 3) return + this.setData({ + isExpanded: !this.data.isExpanded + }) + }, + /** * 加载分享配置 */ diff --git a/pages/promote/promote.wxml b/pages/promote/promote.wxml index 49d3293..6dfa079 100644 --- a/pages/promote/promote.wxml +++ b/pages/promote/promote.wxml @@ -33,40 +33,67 @@ - + 推广列表 + - 暂无推广用户 + + 暂无推广用户 - - - diff --git a/pages/promote/promote.wxss b/pages/promote/promote.wxss index 173a1b6..b8ffad0 100644 --- a/pages/promote/promote.wxss +++ b/pages/promote/promote.wxss @@ -150,6 +150,10 @@ padding-top:42rpx; } +.panel-header.clickable:active { + opacity: 0.85; +} + .header-left { display: flex; align-items: center; @@ -169,6 +173,20 @@ color: #111827; } +.toggle-triangle { + width: 0; + height: 0; + border-left: 10rpx solid transparent; + border-right: 10rpx solid transparent; + border-top: 12rpx solid #9CA3AF; + margin-left: 6rpx; + transition: transform 0.2s ease; +} + +.toggle-triangle.expanded { + transform: rotate(180deg); +} + /* Referral List Styles */ .user-list { display: flex; @@ -176,6 +194,26 @@ gap: 24rpx; } +.empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 48rpx 0; +} + +.empty-icon { + width: 160rpx; + height: 160rpx; + margin-bottom: 16rpx; + opacity: 0.5; +} + +.empty-text { + font-size: 28rpx; + color: #9CA3AF; +} + .user-row { display: flex; align-items: center;