|
|
|
@ -70,132 +70,27 @@ class MatchSpreadPage extends StatelessWidget { |
|
|
|
SizedBox(height: 24.w), |
|
|
|
Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
crossAxisAlignment: CrossAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Text('新红娘入驻权益', style: TextStyle(fontSize: 22, color: Color(0xFF333333))), |
|
|
|
SizedBox(width: 4.w), |
|
|
|
Container( |
|
|
|
padding: EdgeInsets.symmetric(vertical: 2.w, horizontal: 4.w), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(4.w)), |
|
|
|
gradient: LinearGradient( |
|
|
|
begin: Alignment.topLeft, // 0%:左边开始 |
|
|
|
end: Alignment.bottomRight, // 100%:右边结束 |
|
|
|
colors: [ |
|
|
|
Color(0xFFF8C18E), // 紫色 |
|
|
|
Color(0xFFF9DFC3),// 右侧深蓝 |
|
|
|
], |
|
|
|
stops: [0.0, 1.0], // 对应 CSS 百分比:0%、77.53%、100% |
|
|
|
), |
|
|
|
Text( |
|
|
|
"新红娘入驻权益", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 22.w, |
|
|
|
color: const Color.fromRGBO(48, 48, 48, 1), |
|
|
|
fontWeight: FontWeight.w500 |
|
|
|
), |
|
|
|
child: Text('限时', style: TextStyle(fontSize: 12, color: Color(0xFF894A0D))), |
|
|
|
), |
|
|
|
SizedBox(width: 4.w,), |
|
|
|
Image.asset( |
|
|
|
Assets.imagesLimitTime, |
|
|
|
width: 30.w, |
|
|
|
height: 16.w, |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
SizedBox(height: 16.w,), |
|
|
|
Container( |
|
|
|
padding: EdgeInsets.symmetric( |
|
|
|
vertical: 12.w, |
|
|
|
horizontal: 18.w |
|
|
|
), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(9.w)), |
|
|
|
color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesVipGift, |
|
|
|
width: 34.w, |
|
|
|
), |
|
|
|
SizedBox(width: 16.w,), |
|
|
|
Expanded( |
|
|
|
child: Text( |
|
|
|
'礼物收益范围15%-30%,嘉宾消费的分成3%;', |
|
|
|
style: TextStyle(color: Color(0xFF333333)), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 12.w,), |
|
|
|
Container( |
|
|
|
padding: EdgeInsets.symmetric( |
|
|
|
vertical: 12.w, |
|
|
|
horizontal: 18.w |
|
|
|
), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(9.w)), |
|
|
|
color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesMatchmakerIcon2, |
|
|
|
width: 34.w, |
|
|
|
), |
|
|
|
SizedBox(width: 16.w,), |
|
|
|
Expanded( |
|
|
|
child: Text( |
|
|
|
'每天前5人连麦的礼物收益15%,第6-10人连麦的礼物收益20%,第11-15人连麦的礼物收益25%,第16人以上连麦的礼物收益30%;', |
|
|
|
style: TextStyle(color: Color(0xFF333333)), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 12.w,), |
|
|
|
Container( |
|
|
|
padding: EdgeInsets.symmetric( |
|
|
|
vertical: 12.w, |
|
|
|
horizontal: 18.w |
|
|
|
), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(9.w)), |
|
|
|
color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesMatchmakerIcon3, |
|
|
|
width: 34.w, |
|
|
|
), |
|
|
|
SizedBox(width: 16.w,), |
|
|
|
Expanded( |
|
|
|
child: Text( |
|
|
|
'红娘推荐的嘉宾成为红娘,赚取入驻费的20%分成;', |
|
|
|
style: TextStyle(color: Color(0xFF333333)), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 12.w,), |
|
|
|
Container( |
|
|
|
padding: EdgeInsets.symmetric( |
|
|
|
vertical: 18.w, |
|
|
|
horizontal: 18.w |
|
|
|
), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(9.w)), |
|
|
|
color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesMatchmakerIcon4, |
|
|
|
width: 34.w, |
|
|
|
), |
|
|
|
SizedBox(width: 16.w,), |
|
|
|
Expanded( |
|
|
|
child: Text( |
|
|
|
'新徒弟首月收益的10%(平台奖励)', |
|
|
|
style: TextStyle(color: Color(0xFF333333)), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
...controller.revenue.map((entry){ |
|
|
|
return RevenueItem(item: entry); |
|
|
|
}), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
@ -298,7 +193,7 @@ class _PayItemState extends State<PayItem> { |
|
|
|
color: Color(0xFF333333), |
|
|
|
fontWeight: FontWeight.bold |
|
|
|
), |
|
|
|
) : Text('+10小时视频相亲', |
|
|
|
) : Text('+${widget.item.liveDurationHours ?? '10'}小时视频相亲', |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 12.w, |
|
|
|
color: Color(0xFF999999), |
|
|
|
@ -331,4 +226,60 @@ class _PayItemState extends State<PayItem> { |
|
|
|
widget.changeActive(widget.index); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
class RevenueItem extends StatefulWidget { |
|
|
|
final dynamic item; |
|
|
|
const RevenueItem({super.key, required this.item}); |
|
|
|
|
|
|
|
@override |
|
|
|
State<RevenueItem> createState() => _RevenueItemState(); |
|
|
|
} |
|
|
|
|
|
|
|
class _RevenueItemState extends State<RevenueItem> { |
|
|
|
|
|
|
|
@override |
|
|
|
Widget build(BuildContext context) { |
|
|
|
return Container( |
|
|
|
padding: EdgeInsets.all(17.w), |
|
|
|
margin: EdgeInsets.only(bottom: 8.w), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(16.w)), |
|
|
|
color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
_getButtonImage(widget.item['icon']), |
|
|
|
width: 26.w, |
|
|
|
height: 26.w, |
|
|
|
), |
|
|
|
SizedBox(width: 14.w,), |
|
|
|
Expanded( |
|
|
|
child: Text( |
|
|
|
widget.item['desc'], |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 12.w, |
|
|
|
color: Color(0xFF999999) |
|
|
|
), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
String _getButtonImage(String icon) { |
|
|
|
if(icon == '1'){ |
|
|
|
return Assets.imagesMatchmakerIcon1; |
|
|
|
} |
|
|
|
if(icon == '2'){ |
|
|
|
return Assets.imagesMatchmakerIcon2; |
|
|
|
} |
|
|
|
if(icon == '3'){ |
|
|
|
return Assets.imagesMatchmakerIcon3; |
|
|
|
} |
|
|
|
return Assets.imagesMatchmakerIcon4; // 直播显示直播间按钮(放在HI位置) |
|
|
|
} |
|
|
|
} |