修改匹配卡片圈子描述重复、显示年VIP标识判断、增加解锁圈子成功修改加入圈子状态代码

This commit is contained in:
CYH 2023-08-17 10:52:18 +08:00
parent 71ea3d19ad
commit 45fe408fe1
17 changed files with 122 additions and 1127 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -88,7 +88,7 @@ class BlacklistPage extends StatelessWidget {
child: item.vip > 0 ? child: item.vip > 0 ?
Image( Image(
image: AssetImage(getBaseImage("vip")), image: AssetImage(getBaseImage(item.vip == 1 ? "vip" : 'year_vip')),
width: 44.sp, width: 44.sp,
height: 18.sp, height: 18.sp,
) : Container(),) ) : Container(),)

View File

@ -407,26 +407,22 @@ class _TIMUIKItHistoryMessageListItemState
Container( Container(
// height: info.containsKey('city') ? 175.sp : 135.sp, // height: info.containsKey('city') ? 175.sp : 135.sp,
width: Get.width, width: Get.width,
margin: EdgeInsets.only(left: isFromSelf ? 16 : 0, right: isFromSelf ? 0 : 16), margin: EdgeInsets.only(
left: isFromSelf ? 16 : 0, right: isFromSelf ? 0 : 16),
padding: EdgeInsets.only(left: 12.sp, right: 12.sp),
// color: Colors.red,
decoration: BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
fit: BoxFit.fill, fit: BoxFit.fill,
image: AssetImage( image: AssetImage(
getCircleImage('pic_bg'), getCircleImage('pic_bg'),
))), ))),
// constraints: BoxConstraints(
// maxHeight: (info.containsKey('city')) && (info.containsKey('both_interests')) ? 175.sp : 155.sp,
// minHeight: 105.sp
// ),
child: Column(
children: [
Container(
padding: EdgeInsets.only(left: 12.sp, right: 12.sp),
// height: 60,
child: Column( child: Column(
children: [ children: [
if (info.containsKey('city')) if (info.containsKey('city'))
info['city'].toString().isNotEmpty ? Container( info['city'].toString().isNotEmpty
? Container(
margin: EdgeInsets.only(top: 10.sp), margin: EdgeInsets.only(top: 10.sp),
child: Row( child: Row(
children: [ children: [
@ -435,7 +431,8 @@ class _TIMUIKItHistoryMessageListItemState
width: 3.sp, width: 3.sp,
height: 3.sp, height: 3.sp,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(1.5.sp), borderRadius:
BorderRadius.circular(1.5.sp),
color: Color(0xFF00FFF4)), color: Color(0xFF00FFF4)),
), ),
Text( Text(
@ -447,30 +444,31 @@ class _TIMUIKItHistoryMessageListItemState
) )
], ],
), ),
) : Container(), )
: Container(),
if (info.containsKey('both_interests')) if (info.containsKey('both_interests'))
Container( Container(
margin: EdgeInsets.only(top: 16.sp, right: 16.sp), margin: EdgeInsets.only(top: 16.sp, right: 16.sp),
child: Row( child: Row(
children: [ children: [
Container( Container(
margin: EdgeInsets.only(right: 5.sp),
margin: EdgeInsets.only(right: 2.sp),
width: 3, width: 3,
height: 3, height: 3,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(1.5), borderRadius:
BorderRadius.circular(1.5),
color: Color(0xFF00FFF4)), color: Color(0xFF00FFF4)),
), ),
Expanded( Expanded(
child: Container( child: Container(
child: Text( child: Text(
info['both_interests'] + info['both_interests'] + info['both_interests'], info['both_interests'],
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 14.sp, fontSize: 14.sp,
fontWeight: FontWeight.w500,), fontWeight: FontWeight.w500,
),
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
maxLines: 1, maxLines: 1,
), ),
@ -480,36 +478,49 @@ class _TIMUIKItHistoryMessageListItemState
), ),
), ),
Container( Container(
margin: EdgeInsets.only(top: 10.sp, bottom: 10.sp), margin:
EdgeInsets.only(top: 10.sp, bottom: 10.sp),
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
child: Text( child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
margin: EdgeInsets.only(right: 5.sp,top: 10.sp),
width: 3,
height: 3,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(1.5),
color: Color(0xFF00FFF4)),
),
Expanded(child: Text(
isFromSelf isFromSelf
? info['user']['signature'] ? '交友宣言:' + info['user']['signature']
: info['my']['signature'], : '交友宣言:' + info['my']['signature'],
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 14.sp, fontSize: 14.sp,
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
maxLines: 2, maxLines: 2,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), )),
), ])),
Image.asset( Image.asset(
getCircleImage('line'), getCircleImage('line'),
width: Get.width, width: Get.width,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
interestWdiget( interestWdiget(isFromSelf
isFromSelf ? info['interests'] : info['myInterests']) ? info['interests']
], : info['myInterests'])
),
)
], ],
), ),
), ),
Container( Container(
width: Get.width, width: Get.width,
margin: EdgeInsets.only(top: 10.sp,left: isFromSelf ? 16 : 0, right: isFromSelf ? 0 : 16), margin: EdgeInsets.only(
top: 10.sp,
left: isFromSelf ? 16 : 0,
right: isFromSelf ? 0 : 16),
// margin: EdgeInsets.only(top: 10.sp), // margin: EdgeInsets.only(top: 10.sp),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -729,8 +740,8 @@ class _TIMUIKItHistoryMessageListItemState
} }
interestWdiget(List data) { interestWdiget(List data) {
if (!data.isNotEmpty) return Container(height: 0,);
return Container( return Container(
// color: Colors.red,
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
height: 49.sp, height: 49.sp,
width: Get.width, width: Get.width,

View File

@ -728,7 +728,7 @@ class InfoListViewState extends State<InfoListView> with AutomaticKeepAliveClien
lists.user?.vip != null && lists.user!.vip == 0 lists.user?.vip != null && lists.user!.vip == 0
? Container() ? Container()
: Image.asset( : Image.asset(
getCircleImage('vip'), getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'),
width: 36.sp, width: 36.sp,
) )
], ],
@ -1034,7 +1034,7 @@ class InfoListViewState extends State<InfoListView> with AutomaticKeepAliveClien
lists.user?.vip != null && lists.user!.vip == 0 lists.user?.vip != null && lists.user!.vip == 0
? Container() ? Container()
: Image.asset( : Image.asset(
getCircleImage('vip'), getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'),
width: 36.sp, width: 36.sp,
) )
], ],

View File

@ -86,7 +86,7 @@ class FriendslistPage extends StatelessWidget {
child: item.vip>0 ? child: item.vip>0 ?
Image( Image(
image: AssetImage(getBaseImage("vip")), image: AssetImage(getBaseImage(item.vip == 1 ? "vip" : 'year_vip')),
width: 44.sp, width: 44.sp,
height: 18.sp, height: 18.sp,
):Container(),) ):Container(),)

View File

@ -1,3 +1,6 @@
import 'dart:async';
import 'dart:io';
import 'package:circle_app/app/circle/logic.dart'; import 'package:circle_app/app/circle/logic.dart';
import 'package:circle_app/app/minefragment/logic.dart'; import 'package:circle_app/app/minefragment/logic.dart';
import 'package:circle_app/main.dart'; import 'package:circle_app/main.dart';
@ -73,7 +76,10 @@ class HomeLogic extends GetxController {
if (getTotalUnreadMessageCountRes.code == 0) { if (getTotalUnreadMessageCountRes.code == 0) {
unreadSIze.value = getTotalUnreadMessageCountRes.data.toString(); unreadSIze.value = getTotalUnreadMessageCountRes.data.toString();
if (Platform.isAndroid) {
setOfflinePushStatus(status: AppStatus.foreground); setOfflinePushStatus(status: AppStatus.foreground);
}
}else{ }else{
getUnreadSize(); getUnreadSize();
} }
@ -83,6 +89,7 @@ class HomeLogic extends GetxController {
@override @override
Future<V2TimCallback> setOfflinePushStatus( Future<V2TimCallback> setOfflinePushStatus(
{required AppStatus status, int? totalCount}) { {required AppStatus status, int? totalCount}) {
if (status == AppStatus.foreground) { if (status == AppStatus.foreground) {
// status为前台时doForeground() // status为前台时doForeground()
return TencentImSDKPlugin.v2TIMManager return TencentImSDKPlugin.v2TIMManager

View File

@ -89,7 +89,7 @@ class LikelistPage extends StatelessWidget {
bottom: 0.sp, bottom: 0.sp,
child: item.user.vip!=0 child: item.user.vip!=0
? Image( ? Image(
image: AssetImage(getBaseImage("vip")), image: AssetImage(getBaseImage(item.user.vip == 1 ? "vip" : 'year_vip')),
width: 44.sp, width: 44.sp,
height: 18.sp, height: 18.sp,
) )

View File

@ -1,10 +0,0 @@
import 'package:get/get.dart';
import 'logic.dart';
class TextBinding extends Bindings {
@override
void dependencies() {
Get.lazyPut(() => TextLogic());
}
}

View File

@ -1,7 +0,0 @@
import 'package:get/get.dart';
import 'state.dart';
class TextLogic extends GetxController {
final TextState state = TextState();
}

View File

@ -1,5 +0,0 @@
class TextState {
TextState() {
///Initialize variables
}
}

View File

@ -1,998 +0,0 @@
import 'package:circle_app/app/text/logic.dart';
import 'package:circle_app/util/util.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_state_manager/src/simple/get_state.dart';
import '../../components/my_app_bar.dart';
//TODO 线
class TextPage extends StatefulWidget {
@override
State<TextPage> createState() => _MyTabbedScreenState();
}
class _MyTabbedScreenState extends State<TextPage>
with SingleTickerProviderStateMixin {
late TabController _tabController;
ScrollController scrollController = ScrollController();
bool isShowBlackTitle = false;
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
void dispose() {
_tabController.dispose();
super.dispose();
}
void _onScroll(offset) {
if (offset > 100) {
setState(() {
isShowBlackTitle = true;
});
} else {
setState(() {
isShowBlackTitle = false;
});
}
}
@override
Widget build(BuildContext context) {
return GetBuilder(builder: (TextLogic controller) {
return Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(getBaseImage("home_back")),
fit: BoxFit.cover,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: MyAppBar(
centerTitle: '个人主页',
),
body:Container(
margin: EdgeInsets.all(10.sp),
child: Stack(children: [
NotificationListener(
onNotification: (scrollNotification) {
if (scrollNotification is ScrollUpdateNotification &&
scrollNotification.depth == 0) {
//
_onScroll(scrollNotification.metrics.pixels);
}
return true;
},
child: Stack(
children: <Widget>[
NestedScrollView(
headerSliverBuilder:
(BuildContext context, bool innerBoxIsScrolled) {
return <Widget>[
SliverOverlapAbsorber(
handle: NestedScrollView
.sliverOverlapAbsorberHandleFor(context),
sliver: SliverAppBar(
leading: new Container(
child: Container(),
),
title: isShowBlackTitle ? Text('') : Text(''),
centerTitle: false,
pinned: false,
floating: false,
snap: false,
primary: false,
expandedHeight: 165.0.sp,
backgroundColor: Colors.transparent,
elevation: 0,
//innerBoxIsScrolled
forceElevated: innerBoxIsScrolled,
actions: <Widget>[
new Container(
margin: EdgeInsets.only(
right: 10, top: 20, bottom: 10),
child: Container(),
),
new Container(
margin: EdgeInsets.only(
right: 10, top: 20, bottom: 10),
child: Container(),
),
],
flexibleSpace: FlexibleSpaceBar(
collapseMode: CollapseMode.pin,
background: new Column(
children: <Widget>[
new Container(
height: 165.sp,
child: new Column(
children: <Widget>[
Row(
children: [
_imagelistView(controller),
Flexible(
child: buildUserContainer(),
),
],
),
Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
children: [
Row(
children: [
Text(
"name",
style: TextStyle(
color: Color.fromRGBO(
247, 250, 250, 1.0),
fontSize: 16,
),
),
SizedBox(width: 10.sp),
_buildInfoRow(),
],
),
Row(
children: [
Container(
margin: EdgeInsets.only(
right: 5.sp),
width: 10.sp,
height: 10.sp,
decoration: BoxDecoration(
shape: BoxShape.circle,
color:
Color(0xFF00FFF4),
),
),
Text(
"在线·深圳",
style: TextStyle(
color: Color(
0xFF00FFF4)),
)
],
),
],
),
Container(
// margin: EdgeInsets.only(top: 18.sp, bottom: 18.sp),
height: 59.sp,
child: ListView.builder(
itemCount: 8,
// item
scrollDirection:
Axis.horizontal,
//
padding: EdgeInsets.symmetric(
vertical: 18.sp),
//
itemBuilder: (context, index) {
return Container(
margin: EdgeInsets.only(
right: 11.sp),
// item
child: Container(
decoration: BoxDecoration(
borderRadius:
BorderRadius
.circular(17.0),
//
gradient:
LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
),
color:
Color(0xFF392D53),
),
child: Container(
margin: EdgeInsets.all(
0.2.sp),
decoration:
BoxDecoration(
borderRadius:
BorderRadius
.circular(
17.0),
// shape: BoxShape.circle,
color:
Color(0xFF392D53),
),
child: Padding(
padding:
EdgeInsets.only(
top: 2.sp,
bottom: 2.sp,
left: 15.sp,
right: 15.sp),
child: Center(
child: Text(
"圆角背景边框",
style: TextStyle(
fontSize: 11.0,
color: Colors
.white,
),
),
),
),
),
), //
);
},
),
),
],
),
),
],
),
),
),
),
SliverPersistentHeader(
delegate: _SliverAppBarDelegate2(titleTab()),
pinned: true,
),
];
},
body: Container(
margin: EdgeInsets.all(0),
child: TabBarView(
controller: _tabController,
children: [
_imageAdapter(controller),
_imageAdapter(controller),
],
),
),
),
],
)),
Positioned(
bottom: 27.sp,
width:100,
child: _MeInfoButton(controller),
)
]),),
));
});
}
Widget _MeInfoButton(TextLogic controller) {
if ("" == "") {
return GestureDetector(
onTap: () {
// showToast("完善资料");
// Get.toNamed(AppRoutes.TextActivity);
// Get.toNamed(AppRoutes.Complete_materialPage, arguments: "user");
},
child: Center(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17),
gradient: LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 10.sp, bottom: 10.sp, left: 55.sp, right: 55.sp),
child: Text(
"完善个人形象照",
style: TextStyle(
color: Colors.white,
fontSize: 12,
),
),
),
),
);
} else {
return Container(
margin: EdgeInsets.only(left: 18.sp, right: 18.sp),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
onTap: () {
// showToast("鼓掌");
_showBottomSheet(context);
},
child: Image(
image: AssetImage(getMineImage("icon_like")),
width: 40.sp,
height: 40.sp,
),
),
GestureDetector(
onTap: () {
showOKToast("喜欢");
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.sp),
gradient: LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 10.sp, bottom: 10.sp, left: 52.sp, right: 52.sp),
child: Text(
"喜欢",
style: TextStyle(
color: Colors.white,
fontSize: 12.sp,
),
),
),
),
GestureDetector(
onTap: () {
showOKToast("私聊");
},
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.sp),
gradient: LinearGradient(
colors: [
Color(0x26FFFFFF),
Color(0x26FFFFFF),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 10.sp, bottom: 10.sp, left: 52.sp, right: 52.sp),
child: Text(
"私聊",
style: TextStyle(
color: Colors.white,
fontSize: 12.sp,
),
),
),
)
],
),
);
}
}
Widget buildContent(TextLogic controller) {
return Container(
padding: EdgeInsets.symmetric(horizontal: 19.sp, vertical: 14.sp),
child: Column(
children: [
Row(
children: [
_imagelistView(controller),
Flexible(
child: buildUserContainer(),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
Text(
"name",
style: TextStyle(
color: Color.fromRGBO(247, 250, 250, 1.0),
fontSize: 16,
),
),
SizedBox(width: 10.sp),
_buildInfoRow(),
],
),
Row(
children: [
Container(
margin: EdgeInsets.only(right: 5.sp),
width: 10.sp,
height: 10.sp,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Color(0xFF00FFF4),
),
),
Text(
"在线·深圳",
style: TextStyle(color: Color(0xFF00FFF4)),
)
],
),
],
),
Container(
// margin: EdgeInsets.only(top: 18.sp, bottom: 18.sp),
height: 59.sp,
child: ListView.builder(
itemCount: 8,
// item
scrollDirection: Axis.horizontal,
//
padding: EdgeInsets.symmetric(vertical: 18.sp),
//
itemBuilder: (context, index) {
return Container(
margin: EdgeInsets.only(right: 11.sp), // item
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.0), //
gradient: LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
),
color: Color(0xFF392D53),
),
child: Container(
margin: EdgeInsets.all(0.2.sp),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17.0),
// shape: BoxShape.circle,
color: Color(0xFF392D53),
),
child: Padding(
padding: EdgeInsets.only(
top: 2.sp, bottom: 2.sp, left: 15.sp, right: 15.sp),
child: Center(
child: Text(
"圆角背景边框",
style: TextStyle(
fontSize: 11.0,
color: Colors.white,
),
),
),
),
),
), //
);
},
),
),
titleTab(),
Container(
margin: EdgeInsets.only(top: 18.sp, bottom: 14.sp),
child: Text(
"1314位圈友感兴趣其中10位已催您更新",
style: TextStyle(color: Colors.white30),
)),
Expanded(
child: Container(
// color: Colors.blue,
child: TabBarView(
controller: _tabController,
children: [
_imageAdapter(controller),
Text("喊话"),
],
),
))
],
),
);
}
// Widget titleTab1() {
// return SliverAppBar(
// backgroundColor: Colors.transparent,
// pinned: true,
// floating: true,
// expandedHeight: 100.sp,
// flexibleSpace: FlexibleSpaceBar(
// background: Container(
// padding: EdgeInsets.symmetric(horizontal: 16.sp),
// alignment: Alignment.bottomLeft,
// child: Text(
// '标题',
// style: TextStyle(
// color: Colors.white,
// fontSize: 24.sp,
// fontWeight: FontWeight.bold,
// ),
// ),
// ),
// ),
// );
// }
Column titleTab(){
return Column(
children: [
Container(
alignment: Alignment.centerLeft,
height: 27.sp,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
TabBar(
isScrollable: true,
controller: _tabController,
indicatorColor: Color(0xFF00FFF4),
indicatorWeight: 2.sp,
labelColor: Color(0xFF00FFF4),
unselectedLabelColor: Color(0xB3FFFFFF),
indicatorSize: TabBarIndicatorSize.label,
tabs: [
Tab(
text: "形象照",
),
Tab(text: "喊话")
],
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17),
gradient: LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 2.sp, bottom: 2.sp, left: 12.sp, right: 12.sp),
child: Text(
"完成",
style: TextStyle(
color: Colors.white,
fontSize: 12,
),
),
),
],
)),
],
);
}
Widget _imageAdapter(TextLogic controller) {
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3, //
),
itemCount: 20, //
itemBuilder: (BuildContext context, int index) {
if (index == 0) {
//
return GestureDetector(
onTap: () {
// controller.getImageFile();
},
child: Container(
margin: EdgeInsets.all(5.sp),
child: Image(
image: AssetImage(getMineImage("icon_img_add")),
),
),
);
} else {
//
// data
// var itemData = data[index - 1]; //
return Container(
margin: EdgeInsets.all(5.sp),
child: Center(
child: _buildImageItem(
'https://book.flutterchina.club/assets/img/logo.png',
controller)),
);
}
},
);
}
Widget _buildInfoRow() {
return Row(
children: [
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17),
gradient: LinearGradient(
colors: [
Color.fromRGBO(141, 255, 248, 1.0),
Color.fromRGBO(181, 211, 255, 1.0),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 2.sp, bottom: 2.sp, left: 10.sp, right: 10.sp),
child: Text(
"33CD",
style: TextStyle(
color: Colors.black,
fontSize: 10,
),
),
),
SizedBox(width: 6.sp),
Image(
image: AssetImage(getBaseImage("vip")),
width: 44.sp,
height: 18.sp,
),
],
);
}
Widget buildUserContainer() {
return Container(
margin: EdgeInsets.symmetric(horizontal: 1.sp, vertical: 14.sp),
height: 58.sp,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(getMineImage("icon_user_content")),
fit: BoxFit.fill,
),
),
child: Container(
margin: EdgeInsets.only(left: 24.sp),
child: Center(
child: Text(
'动物是灵性的动物是灵性的动物是灵性的动物是灵性的动物是灵性的动物是灵性的动物是灵性的,不同于植物。 你若孤独, 它陪伴你。在阳光的午后,蜷缩在你的...',
maxLines: 2,
style: TextStyle(color: Colors.white),
overflow: TextOverflow.ellipsis,
),
),
),
);
}
Widget _imagelistView(TextLogic controller) {
return Stack(
alignment: Alignment.center,
children: [
Container(
width: 68.sp,
height: 68.sp,
decoration: BoxDecoration(
shape: BoxShape.circle,
gradient: LinearGradient(
colors: [Color(0xFFDD3DF4), Color(0xFF30FFD9)],
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
),
),
),
SizedBox(
width: 66.sp,
height: 66.sp,
child: _buildAvatar1(controller),
)
],
);
}
Widget _buildAvatar1(TextLogic controller) {
return ClipOval(
child: GestureDetector(
onTap: () {},
child: Image.network(
'https://book.flutterchina.club/assets/img/logo.png',
width: 66.sp,
height: 66.sp,
),
),
);
}
Widget _buildImageItem(String url, TextLogic controller) {
return Stack(
children: [
ClipRRect(
borderRadius: BorderRadius.circular(0.0),
child: GestureDetector(
onTap: () {
showOKToast("点击了图片");
},
child: Image.network(
url,
),
),
),
if ("" == "")
Positioned(
top: 0,
right: 0,
child: GestureDetector(
onTap: () {
showOKToast("删除");
},
child: Image(
image: AssetImage(getMineImage("icon_img_del")),
width: 20.sp,
height: 20.sp,
),
))
],
);
}
void _showBottomSheet(BuildContext context) {
showModalBottomSheet(
context: context,
backgroundColor: Colors.transparent,
builder: (BuildContext context) {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(16.0),
topRight: Radius.circular(16.0),
),
gradient: LinearGradient(
colors: [
Color(0xFF4A3E5D),
Color(0xFF344143),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
height: 118.0,
width: double.infinity,
child: Container(
alignment: Alignment.center,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
onTap: () {
Navigator.pop(context);
// Get.toNamed(AppRoutes.ReportActivity);
},
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image(
image: AssetImage(getMineImage("icon_report")),
width: 40.sp,
height: 40.sp,
),
Container(
margin: EdgeInsets.only(top: 2.sp),
child: Text(
"举报",
style: TextStyle(color: Colors.white),
),
)
],
),
),
SizedBox(width: 75.sp),
GestureDetector(
onTap: () {
Navigator.pop(context);
_showReportDialog(context);
},
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image(
image: AssetImage(getMineImage("icon_block")),
width: 40.sp,
height: 40.sp,
),
Container(
margin: EdgeInsets.only(top: 2.sp),
child: Text(
"拉黑",
style: TextStyle(color: Colors.white),
),
)
],
),
),
],
),
));
},
);
}
void _showReportDialog(BuildContext context) {
showDialog(
context: context,
builder: (BuildContext context) {
return Dialog(
backgroundColor: Colors.transparent,
child: Container(
height: 277.sp,
padding: EdgeInsets.all(1.0),
child: Stack(
children: [
Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(10.0),
gradient: LinearGradient(
colors: [Color(0xFFDD3DF4), Color(0xFF30FFD9)],
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
),
),
),
Container(
margin: EdgeInsets.all(1.sp),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
borderRadius: BorderRadius.circular(10.0),
gradient: LinearGradient(
colors: [Color(0xFF4C3E5F), Color(0xFF324140)],
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
),
),
),
Container(
margin: EdgeInsets.only(top: 24.sp),
child: Column(
children: [
Center(
child: Text(
"是否拉黑",
style:
TextStyle(color: Colors.white, fontSize: 16.sp),
),
),
Container(
margin: EdgeInsets.only(top: 14.sp),
alignment: Alignment.center,
child: Image(
image: AssetImage(getMineImage("icon_dialog_black")),
width: 70.sp,
height: 70.sp,
),
),
Container(
margin: EdgeInsets.only(
top: 12.sp, left: 14.sp, right: 14.sp),
alignment: Alignment.center,
child: Text(
"拉黑后,你将屏蔽对方的任何信息若您关注了对方,将自动取消关注。",
textAlign: TextAlign.center,
style: TextStyle(
color: Color(0xCCF7FAFA), fontSize: 16.sp),
),
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
onTap: () {
Navigator.pop(context);
},
child: Container(
margin: EdgeInsets.only(top: 24.sp),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17),
gradient: LinearGradient(
colors: [
Color(0x26FFFFFF),
Color(0x26FFFFFF),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 10.sp,
bottom: 10.sp,
left: 52.sp,
right: 52.sp),
child: Text(
"",
style: TextStyle(
color: Colors.white,
fontSize: 12,
),
),
),
),
SizedBox(width: 24.sp),
GestureDetector(
onTap: () {},
child: Container(
margin: EdgeInsets.only(top: 24.sp),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(17),
gradient: LinearGradient(
colors: [
Color(0xFF06F9FA),
Color(0xFFDC5BFD),
],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
),
padding: EdgeInsets.only(
top: 10.sp,
bottom: 10.sp,
left: 52.sp,
right: 52.sp),
child: Text(
"",
style: TextStyle(
color: Colors.white,
fontSize: 12,
),
),
),
)
],
)
],
),
)
],
),
),
);
},
);
}
}
class _SliverAppBarDelegate2 extends SliverPersistentHeaderDelegate {
_SliverAppBarDelegate2(this._tabBar);
final Column _tabBar;
@override
Widget build(
BuildContext context, double shrinkOffset, bool overlapsContent) {
return _tabBar;
}
@override
double get maxExtent => 52;
@override
double get minExtent => 52;
@override
bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) {
return true;
}
}

View File

@ -599,7 +599,7 @@ class MyTabbedScreenState extends State<UserinfoPage>
const SizedBox(width: 6), const SizedBox(width: 6),
if (controller.isVip > 0) if (controller.isVip > 0)
Image( Image(
image: AssetImage(getBaseImage("vip")), image: AssetImage(getBaseImage( controller.isVip == 1 ? "vip" : 'year_vip')),
width: 44.sp, width: 44.sp,
height: 18.sp, height: 18.sp,
), ),

View File

@ -242,7 +242,7 @@ class _HomeCallOutViewState extends State<HomeCallOutView> with AutomaticKeepAli
lists.user!.vip! == 0 lists.user!.vip! == 0
? Container() ? Container()
: Image.asset( : Image.asset(
getCircleImage('vip'), getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'),
width: 36.sp, width: 36.sp,
) )
], ],
@ -497,7 +497,7 @@ class _HomeCallOutViewState extends State<HomeCallOutView> with AutomaticKeepAli
lists.user!.vip! == 0 lists.user!.vip! == 0
? Container() ? Container()
: Image.asset( : Image.asset(
getCircleImage('vip'), getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'),
width: 36.sp, width: 36.sp,
) )
], ],

View File

@ -147,7 +147,7 @@ class VisitorlistPage extends StatelessWidget {
bottom: 0.sp, bottom: 0.sp,
child: item.user.vip != 0 child: item.user.vip != 0
? Image( ? Image(
image: AssetImage(getBaseImage("vip")), image: AssetImage(getBaseImage(item.user.vip == 1 ? "vip" : 'year_vip')),
width: 44.sp, width: 44.sp,
height: 18.sp, height: 18.sp,
) )

View File

@ -3,6 +3,9 @@
class Api { class Api {
static const baseUrl = 'https://leyuan666.com/zuul-service/'; static const baseUrl = 'https://leyuan666.com/zuul-service/';
// static const baseUrl = 'http://192.168.3.55:2000/' ;
// //
static const sendCode = 'msg-service/sms/code/send'; static const sendCode = 'msg-service/sms/code/send';

View File

@ -49,8 +49,6 @@ import 'package:circle_app/app/signal_circle_list/view.dart';
import 'package:circle_app/app/splash/binding.dart'; import 'package:circle_app/app/splash/binding.dart';
import 'package:circle_app/app/swiper/binding.dart'; import 'package:circle_app/app/swiper/binding.dart';
import 'package:circle_app/app/swiper/view.dart'; import 'package:circle_app/app/swiper/view.dart';
import 'package:circle_app/app/text/binding.dart';
import 'package:circle_app/app/text/view.dart';
import 'package:circle_app/app/userinfo/binding.dart'; import 'package:circle_app/app/userinfo/binding.dart';
import 'package:circle_app/app/userinfo/view.dart'; import 'package:circle_app/app/userinfo/view.dart';
import 'package:circle_app/app/visitorlist/view.dart'; import 'package:circle_app/app/visitorlist/view.dart';
@ -144,11 +142,6 @@ class AppPages {
page: () => BindmailPage(), page: () => BindmailPage(),
binding: BindmailBinding(), binding: BindmailBinding(),
), ),
GetPage(
name: AppRoutes.TextActivity,
page: () => TextPage(),
binding: TextBinding(),
),
GetPage( GetPage(
name: AppRoutes.Swiper, name: AppRoutes.Swiper,
page: () => SwiperPage(), page: () => SwiperPage(),

View File

@ -98,6 +98,7 @@ class IOSPayment {
for (var element in logic.circle.lists) { for (var element in logic.circle.lists) {
if (element.id == int.parse(typeId)) { if (element.id == int.parse(typeId)) {
element.is_limit = false; element.is_limit = false;
element.isJoin = true;
} }
} }
logic.update(); logic.update();