|
|
|
@ -181,231 +181,257 @@ class UserInformationPage extends StatelessWidget { |
|
|
|
await controller.getPostList(); |
|
|
|
}, |
|
|
|
child: SingleChildScrollView( |
|
|
|
child: Container( |
|
|
|
padding: EdgeInsets.only(top: 361.w), |
|
|
|
child: Container( |
|
|
|
width: 375.w, |
|
|
|
padding: EdgeInsets.only( |
|
|
|
top: 31.w, |
|
|
|
left: 15.w, |
|
|
|
right: 24.w |
|
|
|
), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.vertical( |
|
|
|
top: Radius.circular(23.w) |
|
|
|
child: Stack( |
|
|
|
clipBehavior: Clip.none, |
|
|
|
children: [ |
|
|
|
Container( |
|
|
|
padding: EdgeInsets.only(top: 361.w), |
|
|
|
child: Container( |
|
|
|
width: 375.w, |
|
|
|
padding: EdgeInsets.only( |
|
|
|
top: 31.w, |
|
|
|
left: 15.w, |
|
|
|
right: 24.w |
|
|
|
), |
|
|
|
color: Colors.white |
|
|
|
), |
|
|
|
child: Column( |
|
|
|
crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
children: [ |
|
|
|
Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.vertical( |
|
|
|
top: Radius.circular(23.w) |
|
|
|
), |
|
|
|
color: Colors.white |
|
|
|
), |
|
|
|
child: Column( |
|
|
|
crossAxisAlignment: CrossAxisAlignment.start, |
|
|
|
children: [ |
|
|
|
Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
children: [ |
|
|
|
Text( |
|
|
|
controller.userData.value.nickName ?? "", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 22.w, |
|
|
|
color: const Color.fromRGBO(51, 51, 51, 1), |
|
|
|
fontWeight: FontWeight.w600 |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 13.w,), |
|
|
|
if(controller.myUserData.value?.genderCode == 0) Container( |
|
|
|
width: 33.w, |
|
|
|
height: 13.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(255, 237, 255, 1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesFemale, |
|
|
|
width: 8.w, |
|
|
|
height: 8.w, |
|
|
|
), |
|
|
|
SizedBox(width: 2.w,), |
|
|
|
Text( |
|
|
|
"${ |
|
|
|
controller.calculateAge( |
|
|
|
(controller.userData.value.birthDate != null && controller.userData.value.birthDate!.isNotEmpty) ? |
|
|
|
(controller.userData.value.birthDate ?? "") : controller.userData.value.birthYear != null && controller.userData.value.birthYear!.isNotEmpty ? |
|
|
|
"${controller.userData.value.birthYear}-01-01" : "") |
|
|
|
}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(255, 66, 236, 1) |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 3.w,), |
|
|
|
Container( |
|
|
|
width: 33.w, |
|
|
|
height: 13.w, |
|
|
|
margin: EdgeInsets.only(right: 2.w), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(234, 255, 219, 1) |
|
|
|
), |
|
|
|
child: Center( |
|
|
|
child: Text( |
|
|
|
"在线", |
|
|
|
Row( |
|
|
|
children: [ |
|
|
|
Text( |
|
|
|
controller.userData.value.nickName ?? "", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(38, 199, 124, 1) |
|
|
|
fontSize: 22.w, |
|
|
|
color: const Color.fromRGBO(51, 51, 51, 1), |
|
|
|
fontWeight: FontWeight.w600 |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 4.w,), |
|
|
|
if (controller.userData.value.identityCard != "" && controller.userData.value.identityCard != null) Container( |
|
|
|
width: 43.w, |
|
|
|
height: 13.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(246, 237, 255, 1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesRealName, |
|
|
|
width: 8.w, |
|
|
|
height: 7.w, |
|
|
|
SizedBox(width: 13.w,), |
|
|
|
if(controller.myUserData.value?.genderCode == 0) Container( |
|
|
|
width: 33.w, |
|
|
|
height: 13.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(255, 237, 255, 1) |
|
|
|
), |
|
|
|
SizedBox(width: 2.w,), |
|
|
|
Text( |
|
|
|
"实名", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(160, 92, 255, 1) |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 4.w,), |
|
|
|
if(controller.myUserData.value?.genderCode == 1) Container( |
|
|
|
width: 33.w, |
|
|
|
height: 13.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(237, 245, 255, 1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesMale, |
|
|
|
width: 8.w, |
|
|
|
height: 8.w, |
|
|
|
child: Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesFemale, |
|
|
|
width: 8.w, |
|
|
|
height: 8.w, |
|
|
|
), |
|
|
|
SizedBox(width: 2.w,), |
|
|
|
Text( |
|
|
|
"${ |
|
|
|
controller.calculateAge( |
|
|
|
(controller.userData.value.birthDate != null && controller.userData.value.birthDate!.isNotEmpty) ? |
|
|
|
(controller.userData.value.birthDate ?? "") : controller.userData.value.birthYear != null && controller.userData.value.birthYear!.isNotEmpty ? |
|
|
|
"${controller.userData.value.birthYear}-01-01" : "") |
|
|
|
}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(255, 66, 236, 1) |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 3.w,), |
|
|
|
Container( |
|
|
|
width: 33.w, |
|
|
|
height: 13.w, |
|
|
|
margin: EdgeInsets.only(right: 2.w), |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(234, 255, 219, 1) |
|
|
|
), |
|
|
|
SizedBox(width: 2.w,), |
|
|
|
Text( |
|
|
|
"${controller.calculateAge(controller.userData.value.birthDate ?? (controller.userData.value.birthYear != null && controller.userData.value.birthYear!.isNotEmpty ? "${controller.userData.value.birthYear}-01-01" : ""))}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(120, 140, 255, 1) |
|
|
|
child: Center( |
|
|
|
child: Text( |
|
|
|
"在线", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(38, 199, 124, 1) |
|
|
|
), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 4.w,), |
|
|
|
if (controller.userData.value.identityCard != "" && controller.userData.value.identityCard != null) Container( |
|
|
|
width: 43.w, |
|
|
|
height: 13.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(246, 237, 255, 1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesRealName, |
|
|
|
width: 8.w, |
|
|
|
height: 7.w, |
|
|
|
), |
|
|
|
SizedBox(width: 2.w,), |
|
|
|
Text( |
|
|
|
"实名", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(160, 92, 255, 1) |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(width: 4.w,), |
|
|
|
if(controller.myUserData.value?.genderCode == 1) Container( |
|
|
|
width: 33.w, |
|
|
|
height: 13.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(13.w)), |
|
|
|
color: const Color.fromRGBO(237, 245, 255, 1) |
|
|
|
), |
|
|
|
child: Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Image.asset( |
|
|
|
Assets.imagesMale, |
|
|
|
width: 8.w, |
|
|
|
height: 8.w, |
|
|
|
), |
|
|
|
SizedBox(width: 2.w,), |
|
|
|
Text( |
|
|
|
"${controller.calculateAge(controller.userData.value.birthDate ?? (controller.userData.value.birthYear != null && controller.userData.value.birthYear!.isNotEmpty ? "${controller.userData.value.birthYear}-01-01" : ""))}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 11.w, |
|
|
|
color: const Color.fromRGBO(120, 140, 255, 1) |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
// 语音介绍功能暂时隐藏(为了通过苹果审核) |
|
|
|
// Container( |
|
|
|
// width: 63.w, |
|
|
|
// height: 27.w, |
|
|
|
// decoration: BoxDecoration( |
|
|
|
// borderRadius: BorderRadius.all(Radius.circular(27.w)), |
|
|
|
// color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
// ), |
|
|
|
// child: Row( |
|
|
|
// mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
// children: [ |
|
|
|
// Image.asset( |
|
|
|
// Assets.imagesPlayer, |
|
|
|
// width: 15.w, |
|
|
|
// height: 15.w, |
|
|
|
// ), |
|
|
|
// SizedBox(width: 4.w,), |
|
|
|
// Image.asset( |
|
|
|
// Assets.imagesVoice, |
|
|
|
// width: 15.w, |
|
|
|
// height: 13.w, |
|
|
|
// ), |
|
|
|
// SizedBox(width: 4.w,), |
|
|
|
// Text( |
|
|
|
// "6'", |
|
|
|
// style: TextStyle( |
|
|
|
// fontSize: 11.w, |
|
|
|
// color: const Color.fromRGBO(117, 98, 249, 1) |
|
|
|
// ), |
|
|
|
// ) |
|
|
|
// ], |
|
|
|
// ), |
|
|
|
// ) |
|
|
|
], |
|
|
|
), |
|
|
|
// 语音介绍功能暂时隐藏(为了通过苹果审核) |
|
|
|
// Container( |
|
|
|
// width: 63.w, |
|
|
|
// height: 27.w, |
|
|
|
// decoration: BoxDecoration( |
|
|
|
// borderRadius: BorderRadius.all(Radius.circular(27.w)), |
|
|
|
// color: const Color.fromRGBO(117, 98, 249, .1) |
|
|
|
// ), |
|
|
|
// child: Row( |
|
|
|
// mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
// children: [ |
|
|
|
// Image.asset( |
|
|
|
// Assets.imagesPlayer, |
|
|
|
// width: 15.w, |
|
|
|
// height: 15.w, |
|
|
|
// ), |
|
|
|
// SizedBox(width: 4.w,), |
|
|
|
// Image.asset( |
|
|
|
// Assets.imagesVoice, |
|
|
|
// width: 15.w, |
|
|
|
// height: 13.w, |
|
|
|
// ), |
|
|
|
// SizedBox(width: 4.w,), |
|
|
|
// Text( |
|
|
|
// "6'", |
|
|
|
// style: TextStyle( |
|
|
|
// fontSize: 11.w, |
|
|
|
// color: const Color.fromRGBO(117, 98, 249, 1) |
|
|
|
// ), |
|
|
|
// ) |
|
|
|
// ], |
|
|
|
// ), |
|
|
|
// ) |
|
|
|
], |
|
|
|
), |
|
|
|
SizedBox(height: 8.w,), |
|
|
|
Text( |
|
|
|
"父母催婚找个结婚的", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 14.w, |
|
|
|
color: const Color.fromRGBO(144, 144, 144, 1) |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 11.w,), |
|
|
|
Wrap( |
|
|
|
spacing: 12.w, |
|
|
|
runSpacing: 12.w, |
|
|
|
children: [ |
|
|
|
...controller.tagList.map((e){ |
|
|
|
return TagItem(label: e); |
|
|
|
}), |
|
|
|
], |
|
|
|
), |
|
|
|
SizedBox(height: 16.w,), |
|
|
|
if ((controller.userData.value.provinceName?.isNotEmpty ?? false)) Text( |
|
|
|
"IP属地:${controller.userData.value.provinceName}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 12.w, |
|
|
|
color: const Color.fromRGBO(144, 144, 144, 1) |
|
|
|
), |
|
|
|
), |
|
|
|
Text( |
|
|
|
"趣恋恋ID:${userId}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 12.w, |
|
|
|
color: const Color.fromRGBO(144, 144, 144, 1) |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 10.w,), |
|
|
|
if(controller.postList.isNotEmpty) Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
SizedBox(height: 8.w,), |
|
|
|
Text( |
|
|
|
controller.userData.value.describeInfo ?? "我想找一个有缘的异性,快来联系我吧。", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 14.w, |
|
|
|
color: const Color.fromRGBO(144, 144, 144, 1) |
|
|
|
), |
|
|
|
), |
|
|
|
SizedBox(height: 11.w,), |
|
|
|
Wrap( |
|
|
|
spacing: 12.w, |
|
|
|
runSpacing: 12.w, |
|
|
|
children: [ |
|
|
|
...controller.tagList.map((e){ |
|
|
|
return TagItem(label: e); |
|
|
|
}), |
|
|
|
], |
|
|
|
), |
|
|
|
SizedBox(height: 16.w,), |
|
|
|
if ((controller.userData.value.provinceName?.isNotEmpty ?? false)) Text( |
|
|
|
"IP属地:${controller.userData.value.provinceName}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 12.w, |
|
|
|
color: const Color.fromRGBO(144, 144, 144, 1) |
|
|
|
), |
|
|
|
), |
|
|
|
Text( |
|
|
|
"动态", |
|
|
|
"趣恋恋ID:${userId}", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 18.w |
|
|
|
fontSize: 12.w, |
|
|
|
color: const Color.fromRGBO(144, 144, 144, 1) |
|
|
|
), |
|
|
|
) |
|
|
|
), |
|
|
|
SizedBox(height: 10.w,), |
|
|
|
if(controller.postList.isNotEmpty) Row( |
|
|
|
mainAxisAlignment: MainAxisAlignment.center, |
|
|
|
children: [ |
|
|
|
Text( |
|
|
|
"动态", |
|
|
|
style: TextStyle( |
|
|
|
fontSize: 18.w |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
SizedBox(height: 10.w,), |
|
|
|
...controller.postList.map((e){ |
|
|
|
return TimelineItem(item: e); |
|
|
|
}) |
|
|
|
], |
|
|
|
), |
|
|
|
SizedBox(height: 10.w,), |
|
|
|
...controller.postList.map((e){ |
|
|
|
return TimelineItem(item: e); |
|
|
|
}) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
Positioned( |
|
|
|
left: 15.w, |
|
|
|
top: 301.w, |
|
|
|
child: ClipRRect( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(90.w)), |
|
|
|
child: Container( |
|
|
|
width: 90.w, |
|
|
|
height: 90.w, |
|
|
|
decoration: BoxDecoration( |
|
|
|
borderRadius: BorderRadius.all(Radius.circular(90.w)), |
|
|
|
border: Border.all(width: 3.w, color: Colors.white) |
|
|
|
), |
|
|
|
child: CachedNetworkImage( |
|
|
|
imageUrl: "${controller.userData.value.profilePhoto}?x-oss-process=image/format,webp", |
|
|
|
width: 84.w, |
|
|
|
height: 84.w, |
|
|
|
fit: BoxFit.cover, |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
) |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
|