|
|
@ -92,170 +92,169 @@ class MineVipView extends StatelessWidget { |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return AspectRatio( |
|
|
|
return Container( |
|
|
|
aspectRatio: 1.6, |
|
|
|
margin: EdgeInsets.fromLTRB(padding.w, 16.h, padding.w, 8.h), |
|
|
|
child: Container( |
|
|
|
width: MediaQuery.of(context).size.width - 32.w, |
|
|
|
margin: EdgeInsets.fromLTRB(padding.w, 16.h, padding.w, 8.h), |
|
|
|
height: 200.h, |
|
|
|
decoration: BoxDecoration( |
|
|
|
decoration: BoxDecoration( |
|
|
|
gradient: LinearGradient( |
|
|
|
gradient: LinearGradient( |
|
|
|
colors: linearColor, |
|
|
|
colors: linearColor, |
|
|
|
begin: Alignment.topLeft, |
|
|
|
begin: Alignment.topLeft, |
|
|
|
end: Alignment.bottomRight, |
|
|
|
end: Alignment.bottomRight, |
|
|
|
), |
|
|
|
|
|
|
|
borderRadius: BorderRadius.circular(8), |
|
|
|
|
|
|
|
boxShadow: [ |
|
|
|
|
|
|
|
BoxShadow( |
|
|
|
|
|
|
|
color: Colors.black.withAlpha(12), |
|
|
|
|
|
|
|
offset: Offset(0, 3), |
|
|
|
|
|
|
|
blurRadius: 14, |
|
|
|
|
|
|
|
spreadRadius: 0, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
), |
|
|
|
), |
|
|
|
child: Column( |
|
|
|
borderRadius: BorderRadius.circular(8), |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
boxShadow: [ |
|
|
|
children: [ |
|
|
|
BoxShadow( |
|
|
|
Row( |
|
|
|
color: Colors.black.withAlpha(12), |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
offset: Offset(0, 3), |
|
|
|
children: [ |
|
|
|
blurRadius: 14, |
|
|
|
Container( |
|
|
|
spreadRadius: 0, |
|
|
|
height: 95.h, |
|
|
|
), |
|
|
|
child: Column( |
|
|
|
], |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
), |
|
|
|
crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
child: Column( |
|
|
|
mainAxisSize: MainAxisSize.max, |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
children: [ |
|
|
|
children: [ |
|
|
|
Container( |
|
|
|
Row( |
|
|
|
padding: EdgeInsets.fromLTRB(9.w, 4.h, 8.w, 4.h), |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
decoration: BoxDecoration( |
|
|
|
children: [ |
|
|
|
color: levelColor, |
|
|
|
Container( |
|
|
|
borderRadius: BorderRadius.only( |
|
|
|
height: 95.h, |
|
|
|
topLeft: Radius.circular(8), |
|
|
|
child: Column( |
|
|
|
bottomRight: Radius.circular(8), |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
), |
|
|
|
crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
|
|
|
|
mainAxisSize: MainAxisSize.max, |
|
|
|
|
|
|
|
children: [ |
|
|
|
|
|
|
|
Container( |
|
|
|
|
|
|
|
padding: EdgeInsets.fromLTRB(9.w, 4.h, 8.w, 4.h), |
|
|
|
|
|
|
|
decoration: BoxDecoration( |
|
|
|
|
|
|
|
color: levelColor, |
|
|
|
|
|
|
|
borderRadius: BorderRadius.only( |
|
|
|
|
|
|
|
topLeft: Radius.circular(8), |
|
|
|
|
|
|
|
bottomRight: Radius.circular(8), |
|
|
|
), |
|
|
|
), |
|
|
|
child: Text( |
|
|
|
), |
|
|
|
topLeft, |
|
|
|
child: Text( |
|
|
|
style: TextStyle( |
|
|
|
topLeft, |
|
|
|
fontSize: 12.sp, |
|
|
|
style: TextStyle( |
|
|
|
fontWeight: FontWeight.bold, |
|
|
|
fontSize: 12.sp, |
|
|
|
color: Colors.white, |
|
|
|
fontWeight: FontWeight.bold, |
|
|
|
), |
|
|
|
color: Colors.white, |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
Container( |
|
|
|
), |
|
|
|
margin: EdgeInsets.only(left: 13.w), |
|
|
|
Container( |
|
|
|
child: Text( |
|
|
|
margin: EdgeInsets.only(left: 13.w), |
|
|
|
levelText, |
|
|
|
child: Text( |
|
|
|
style: TextStyle( |
|
|
|
levelText, |
|
|
|
color: textColor, |
|
|
|
style: TextStyle( |
|
|
|
fontWeight: FontWeight.bold, |
|
|
|
color: textColor, |
|
|
|
fontSize: 23.sp, |
|
|
|
fontWeight: FontWeight.bold, |
|
|
|
), |
|
|
|
fontSize: 23.sp, |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
Container( |
|
|
|
), |
|
|
|
margin: EdgeInsets.only(right: 11.w, bottom: 9.h), |
|
|
|
Container( |
|
|
|
child: Image.asset( |
|
|
|
margin: EdgeInsets.only(right: 11.w, bottom: 9.h), |
|
|
|
"assets/image/icon_mine_huixiang_logo.png", |
|
|
|
child: Image.asset( |
|
|
|
width: 86.w, |
|
|
|
"assets/image/icon_mine_huixiang_logo.png", |
|
|
|
height: 86.h, |
|
|
|
width: 86.w, |
|
|
|
fit: BoxFit.contain, |
|
|
|
height: 86.h, |
|
|
|
), |
|
|
|
fit: BoxFit.contain, |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
Container( |
|
|
|
), |
|
|
|
margin: EdgeInsets.only(left: 13.w, right: 12.w, bottom: 12.h), |
|
|
|
Container( |
|
|
|
child: Column( |
|
|
|
margin: EdgeInsets.only(left: 13.w, right: 12.w, bottom: 12.h), |
|
|
|
children: [ |
|
|
|
child: Column( |
|
|
|
Row( |
|
|
|
children: [ |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
Row( |
|
|
|
crossAxisAlignment: CrossAxisAlignment.baseline, |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
textBaseline: TextBaseline.alphabetic, |
|
|
|
crossAxisAlignment: CrossAxisAlignment.baseline, |
|
|
|
children: [ |
|
|
|
textBaseline: TextBaseline.alphabetic, |
|
|
|
Expanded( |
|
|
|
children: [ |
|
|
|
child: Text( |
|
|
|
Expanded( |
|
|
|
rank > rankMax |
|
|
|
child: Text( |
|
|
|
? S.of(context).dangqiandengji |
|
|
|
rank > rankMax |
|
|
|
: "${S.of(context).jifen_(rankMax - rank)} ${S.of(context).daoxiayidengji}", |
|
|
|
? S.of(context).dangqiandengji |
|
|
|
overflow: TextOverflow.ellipsis, |
|
|
|
: "${S.of(context).jifen_(rankMax - rank)} ${S.of(context).daoxiayidengji}", |
|
|
|
style: TextStyle( |
|
|
|
overflow: TextOverflow.ellipsis, |
|
|
|
color: textColor, |
|
|
|
style: TextStyle( |
|
|
|
fontWeight: FontWeight.w400, |
|
|
|
color: textColor, |
|
|
|
fontSize: 14.sp, |
|
|
|
fontWeight: FontWeight.w400, |
|
|
|
), |
|
|
|
fontSize: 14.sp, |
|
|
|
), |
|
|
|
), |
|
|
|
flex: 1, |
|
|
|
|
|
|
|
), |
|
|
|
), |
|
|
|
Text.rich( |
|
|
|
flex: 1, |
|
|
|
TextSpan( |
|
|
|
), |
|
|
|
children: [ |
|
|
|
Text.rich( |
|
|
|
|
|
|
|
TextSpan( |
|
|
|
|
|
|
|
children: [ |
|
|
|
|
|
|
|
TextSpan( |
|
|
|
|
|
|
|
text: "$rank", |
|
|
|
|
|
|
|
style: TextStyle( |
|
|
|
|
|
|
|
fontSize: 26.sp, |
|
|
|
|
|
|
|
fontWeight: FontWeight.bold, |
|
|
|
|
|
|
|
color: textColor, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
if (rank <= rankMax) |
|
|
|
TextSpan( |
|
|
|
TextSpan( |
|
|
|
text: "$rank", |
|
|
|
// string |
|
|
|
|
|
|
|
text: rankMax > 0 ? "/$rankMax" : "/0", |
|
|
|
style: TextStyle( |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 26.sp, |
|
|
|
fontSize: 14.sp, |
|
|
|
fontWeight: FontWeight.bold, |
|
|
|
fontWeight: FontWeight.w400, |
|
|
|
color: textColor, |
|
|
|
color: textColor, |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
if (rank <= rankMax) |
|
|
|
], |
|
|
|
TextSpan( |
|
|
|
|
|
|
|
// string |
|
|
|
|
|
|
|
text: rankMax > 0 ? "/$rankMax" : "/0", |
|
|
|
|
|
|
|
style: TextStyle( |
|
|
|
|
|
|
|
fontSize: 14.sp, |
|
|
|
|
|
|
|
fontWeight: FontWeight.w400, |
|
|
|
|
|
|
|
color: textColor, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
Container( |
|
|
|
|
|
|
|
margin: EdgeInsets.only(top: 12.h, bottom: 12.h), |
|
|
|
|
|
|
|
height: 8.h, |
|
|
|
|
|
|
|
child: ClipRRect( |
|
|
|
|
|
|
|
borderRadius: BorderRadius.circular(6.5), |
|
|
|
|
|
|
|
child: LinearProgressIndicator( |
|
|
|
|
|
|
|
value: rankMax > 0 ? rank / rankMax : 0, |
|
|
|
|
|
|
|
backgroundColor: Colors.white, |
|
|
|
|
|
|
|
color: levelColor, |
|
|
|
|
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
Container( |
|
|
|
|
|
|
|
margin: EdgeInsets.only(top: 12.h, bottom: 12.h), |
|
|
|
|
|
|
|
height: 8.h, |
|
|
|
|
|
|
|
child: ClipRRect( |
|
|
|
|
|
|
|
borderRadius: BorderRadius.circular(6.5), |
|
|
|
|
|
|
|
child: LinearProgressIndicator( |
|
|
|
|
|
|
|
value: rankMax > 0 ? rank / rankMax : 0, |
|
|
|
|
|
|
|
backgroundColor: Colors.white, |
|
|
|
|
|
|
|
color: levelColor, |
|
|
|
|
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
Row( |
|
|
|
), |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
Row( |
|
|
|
crossAxisAlignment: CrossAxisAlignment.center, |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
children: [ |
|
|
|
crossAxisAlignment: CrossAxisAlignment.center, |
|
|
|
Text( |
|
|
|
children: [ |
|
|
|
S.of(context).kaitongriqi( |
|
|
|
Text( |
|
|
|
(createTime != null && createTime != "") |
|
|
|
S.of(context).kaitongriqi( |
|
|
|
? createTime.split(" ")[0] |
|
|
|
(createTime != null && createTime != "") |
|
|
|
: "$createTime"), |
|
|
|
? createTime.split(" ")[0] |
|
|
|
style: TextStyle( |
|
|
|
: "$createTime"), |
|
|
|
color: textColor, |
|
|
|
style: TextStyle( |
|
|
|
fontWeight: FontWeight.w400, |
|
|
|
color: textColor, |
|
|
|
fontSize: 12.sp, |
|
|
|
fontWeight: FontWeight.w400, |
|
|
|
), |
|
|
|
fontSize: 12.sp, |
|
|
|
), |
|
|
|
|
|
|
|
Icon( |
|
|
|
|
|
|
|
Icons.qr_code, |
|
|
|
|
|
|
|
size: 24, |
|
|
|
|
|
|
|
color: Colors.white, |
|
|
|
|
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
Icon( |
|
|
|
], |
|
|
|
Icons.qr_code, |
|
|
|
), |
|
|
|
size: 24, |
|
|
|
|
|
|
|
color: Colors.white, |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|