diff --git a/circle_app/assets/images/circle/chat_icon.png b/circle_app/assets/images/circle/chat_icon.png index f7498a9..ed83062 100644 Binary files a/circle_app/assets/images/circle/chat_icon.png and b/circle_app/assets/images/circle/chat_icon.png differ diff --git a/circle_app/assets/images/circle/like_icon.png b/circle_app/assets/images/circle/like_icon.png index e8b1c9a..f91c91f 100644 Binary files a/circle_app/assets/images/circle/like_icon.png and b/circle_app/assets/images/circle/like_icon.png differ diff --git a/circle_app/assets/images/circle/no_look_icon.png b/circle_app/assets/images/circle/no_look_icon.png index e5fff0d..8b48b4c 100644 Binary files a/circle_app/assets/images/circle/no_look_icon.png and b/circle_app/assets/images/circle/no_look_icon.png differ diff --git a/circle_app/assets/images/circle/no_look_icon_h.png b/circle_app/assets/images/circle/no_look_icon_h.png new file mode 100644 index 0000000..9af64c5 Binary files /dev/null and b/circle_app/assets/images/circle/no_look_icon_h.png differ diff --git a/circle_app/assets/images/circle/nor_like_icon.png b/circle_app/assets/images/circle/nor_like_icon.png index c76c8a0..efc6530 100644 Binary files a/circle_app/assets/images/circle/nor_like_icon.png and b/circle_app/assets/images/circle/nor_like_icon.png differ diff --git a/circle_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/circle_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c87d15a..f3d88ac 100644 --- a/circle_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/circle_app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -40,7 +40,7 @@ ().listen((event) { myVip = event.vip; - // update(); + update(); }); } @@ -281,23 +281,36 @@ class CircleLogic extends GetxController { }); var bean = BaseResponse.fromJson( data, (data) => VicinityBean.fromJson(data)); - try { - offset = bean.data.offset; - deep = bean.data.deep; - } catch (Exception) {} - if (vicinityPage == 1) { - cityName = bean.data.city; - vicinityList.clear(); - } - try{ - vicinityList.addAll(bean.data.users); - } on Exception{} + if (bean.code == 200) { + try { + offset = bean.data.offset; + deep = bean.data.deep; + } catch (Exception) {} - if (vicinityPage == 1) { - refreshController.refreshCompleted(); - } else { + if (vicinityPage == 1) { + cityName = bean.data.city; + + vicinityList.clear(); + } + + + if (vicinityPage == 1) { + refreshController.refreshCompleted(); + } else { + refreshController.loadComplete(); + } + + try{ + + vicinityList.addAll(bean.data.users); + vicinityPage = vicinityPage + 1; + } on Exception{} + + } else if (bean.code == 21201) { + myVip = 0; refreshController.loadComplete(); + update(); } update(); diff --git a/circle_app/lib/app/circle/view.dart b/circle_app/lib/app/circle/view.dart index 290a20e..c4e7263 100644 --- a/circle_app/lib/app/circle/view.dart +++ b/circle_app/lib/app/circle/view.dart @@ -678,23 +678,20 @@ class _CirclePageState extends State indicator: UnderlineTabIndicator( borderSide: BorderSide( color: const Color(0xFF00FFF4), - width: 1.5.sp, ), - insets: EdgeInsets.symmetric(horizontal: 6.0.sp), - borderRadius: BorderRadius.circular(18.0), ), indicatorColor: const Color(0xFF00FFF4), - indicatorWeight: 1.sp, + indicatorWeight: 2.sp, labelColor: const Color(0xFF00FFF4), unselectedLabelColor: const Color(0xB3FFFFFF), indicatorSize: TabBarIndicatorSize.label, - indicatorPadding: EdgeInsets.only(left: 6.sp, right: 6.sp), + indicatorPadding: EdgeInsets.only(left: 12.sp, right: 12.sp), tabs: [ Tab( child: Text( '圈子', style: TextStyle( - fontSize: 18.sp, + fontSize: 20.sp, ), ), ), @@ -702,7 +699,7 @@ class _CirclePageState extends State child: Text( '附近', style: TextStyle( - fontSize: 18.sp, + fontSize: 20.sp, ), ), ), @@ -710,7 +707,7 @@ class _CirclePageState extends State child: Text( '发现', style: TextStyle( - fontSize: 18.sp, + fontSize: 20.sp, ), ), ), @@ -758,7 +755,7 @@ class _CirclePageState extends State ), Positioned( right: 0, - child: logic.isShowCircle + child: _tabController.index == 0 ? GestureDetector( onTap: () { Get.toNamed(AppRoutes.MyCircle, arguments: ''); diff --git a/circle_app/lib/app/circle/widgets/discover.dart b/circle_app/lib/app/circle/widgets/discover.dart index 235a826..7fe21a1 100644 --- a/circle_app/lib/app/circle/widgets/discover.dart +++ b/circle_app/lib/app/circle/widgets/discover.dart @@ -1,5 +1,6 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:circle_app/app/circle/view.dart'; +import 'package:circle_app/common/Widgets/base_tip_widget.dart'; import 'package:circle_app/common/Widgets/genderview.dart'; import 'package:circle_app/common/colors/app_color.dart'; import 'package:circle_app/common/const.dart'; @@ -547,7 +548,7 @@ class _DiscoverState extends State ), ), SizedBox( - height: 8.sp, + height: 15.sp, ), GestureDetector( onTap: () { @@ -567,9 +568,13 @@ class _DiscoverState extends State width: 40.sp, ), ), + SizedBox( + height: 8.sp, + ), GestureDetector( onTap: () { - sendNoLookData(user.userId!,index); + _showReportDialog(context,user.userId!.toString(),index); + }, child: Image.asset( getCircleImage( @@ -678,27 +683,174 @@ class _DiscoverState extends State } loadWxNumData() async { - // var data = await DioManager.instance.post(url: Api.myMainPage); - // - // if (data['code'] == 10000) { - // if (data['userBase']['wxNum'] == null) { - // showAddWxPicker(false); - // } else if (data['userBase']['wxNum'].toString().isEmpty) { - // showAddWxPicker(false); - // } - // - // } + var data = await DioManager.instance.get(url: Api.getUserInfo); + + if (data['code'] == 200) { + if (data['data']['user']['wxNum'] == null) { + showAddWxPicker(false); + } else if (data['data']['user']['wxNum'].toString().isEmpty) { + showAddWxPicker(false); + } + + } } - void sendNoLookData(int userId,int index) async { - var data = await DioManager.instance.post(url: Api.uninterested + userId.toString()); + void sendNoLookData(String userId,int index) async { + var data = await DioManager.instance.post(url: Api.uninterested + userId); if (data['code'] == 200) { + showOKToast('操作成功'); list.removeAt(index); setState(() { }); } } + + void _showReportDialog(BuildContext context,String userId,int currentIndex) { + showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + backgroundColor: Colors.transparent, + child: Container( + height: 277.sp, + padding: const EdgeInsets.all(1.0), + child: Stack( + children: [ + Container( + decoration: BoxDecoration( + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(10.0), + gradient: const 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: const 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(getCircleImage("no_look_icon_h")), + width: 70.sp, + height: 70.sp, + ), + ), + Container( + margin: EdgeInsets.only( + top: 12.sp, left: 14.sp, right: 14.sp), + alignment: Alignment.center, + child: Text( + "您确认对TA不感兴趣吗?确认之后在这个板块就看不见TA了。", + textAlign: TextAlign.center, + style: TextStyle( + color: const 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: const LinearGradient( + colors: [ + Color(0x26FFFFFF), + Color(0x26FFFFFF), + ], + begin: Alignment.centerLeft, + end: Alignment.centerRight, + ), + ), + padding: EdgeInsets.only( + top: 10.sp, + bottom: 10.sp, + left: 27.sp, + right: 27.sp), + child: const Text( + "再考虑考虑", + style: TextStyle( + color: Colors.white, + fontSize: 12, + ), + ), + ), + ), + SizedBox(width: 24.sp), + GestureDetector( + onTap: () { + Get.back(); + sendNoLookData(userId,currentIndex); + }, + child: Container( + margin: EdgeInsets.only(top: 24.sp), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(17), + gradient: const 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: const Text( + "确定", + style: TextStyle( + color: Colors.white, + fontSize: 12, + ), + ), + ), + ) + ], + ) + ], + ), + ) + ], + ), + ), + ); + }, + ); + } } diff --git a/circle_app/lib/app/circle/widgets/vicinity.dart b/circle_app/lib/app/circle/widgets/vicinity.dart index 11cfcfe..f5af8c4 100644 --- a/circle_app/lib/app/circle/widgets/vicinity.dart +++ b/circle_app/lib/app/circle/widgets/vicinity.dart @@ -46,29 +46,32 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin @override Widget build(BuildContext context) { // TODO: add widget build method - return widget.logic.vicinityList.isNotEmpty ? SmartRefresher( - controller: widget.logic.refreshController, - onRefresh: _onRefresh, - onLoading: _onLoading, - enablePullUp: widget.logic.myVip > 0, - child: ListView.builder( - controller: _scrollController, - padding: EdgeInsets.all(10.sp), - itemCount: widget.logic.myVip == 0 - ? widget.logic.vicinityList.length + 2 - : widget.logic.vicinityList.length + 1, - itemBuilder: (context, index) { - if (index == 0) { - return bannerView(widget.logic); - } else { - if (widget.logic.myVip == 0 && index == widget.logic.vicinityList.length + 1) { - return showVipView(); - } else { - return ListItem(widget.logic.vicinityList[index - 1], index - 1); - } - } - }, - ), + return widget.logic.vicinityList.isNotEmpty ? Stack( + fit: StackFit.expand, + children: [ + SmartRefresher( + controller: widget.logic.refreshController, + onRefresh: _onRefresh, + onLoading: _onLoading, + enablePullUp: true, + child: ListView.builder( + controller: _scrollController, + padding: EdgeInsets.all(10.sp), + itemCount: widget.logic.vicinityList.length + 1, + itemBuilder: (context, index) { + if (index == 0) { + return bannerView(widget.logic); + } else { + return ListItem(widget.logic.vicinityList[index - 1], index - 1); + } + }, + ), + ), + if (widget.logic.myVip == 0) + Positioned( + bottom: 0, + child: showVipView()) + ], ) : loaddingWidget(true); } @@ -143,7 +146,8 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin Widget showVipView() { return Container( - margin: EdgeInsets.only(top: 10.sp), + width: Get.width, + // margin: EdgeInsets.only(top: 10.sp), color: const Color(0xB30B011B), padding: EdgeInsets.symmetric(vertical: 14.sp, horizontal: 20.sp), child: Column( @@ -158,7 +162,7 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin padding: EdgeInsets.only(top: 18.sp), child: Text( "开通VIP后,才能查看更多附近的圈友,也可以根据您的喜好、属性、角色、取向等筛选出想要认识的人,还可以获得其他十几种会员特权,拥有更多不一样的体验", - style: TextStyle(color: Colors.white, fontSize: 12.sp), + style: TextStyle(color: Colors.white, fontSize: 14.sp), ), ), GestureDetector( @@ -312,7 +316,7 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin ), ), Container( - height: 50.sp, // 设置固定高度 + height: 38.sp, // 设置固定高度 width: Get.width, margin: EdgeInsets.symmetric(horizontal: 8.0), child: Align( @@ -326,7 +330,7 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin ), ), Container( - margin: EdgeInsets.only(left: 8.sp, right: 3.sp), + margin: EdgeInsets.only(left: 8.sp, right: 3.sp,bottom: 5.sp), child: _buildInterestsListView(item.interests)) ]), ], @@ -414,7 +418,7 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin color: const Color(0xFF392D53), ), child: Container( - margin: EdgeInsets.all(0.2.sp), + margin: EdgeInsets.all(1.sp), decoration: BoxDecoration( borderRadius: BorderRadius.circular(17.0), color: const Color(0xFF392D53), @@ -453,14 +457,14 @@ class _VicinityState extends State with AutomaticKeepAliveClientMixin } void _onLoading() async { - if (widget.logic.myVip > 0) { - widget.logic.vicinityPage = widget.logic.vicinityPage + 1; + // if (widget.logic.myVip > 0) { + // widget.logic.vicinityPage = widget.logic.vicinityPage + 1; // logic.offset = 0; // widget.logic.getNearByList(); - } else { - widget.logic.refreshController.loadComplete(); - } + // } else { + // widget.logic.refreshController.loadComplete(); + // } } @override diff --git a/circle_app/lib/app/home/view.dart b/circle_app/lib/app/home/view.dart index a7c6284..0b63f75 100644 --- a/circle_app/lib/app/home/view.dart +++ b/circle_app/lib/app/home/view.dart @@ -35,7 +35,7 @@ class _HomePageState extends State height: 49.sp + MediaQuery.of(context).padding.bottom, width: Get.width, // color: Colors.red, - padding: EdgeInsets.only(left: 50.sp, right: 50.sp), + padding: EdgeInsets.only(left: 40.sp, right: 40.sp), decoration: BoxDecoration( color: const Color(0xFF423055), image: DecorationImage( @@ -44,7 +44,7 @@ class _HomePageState extends State getTabbarImage('tabbar_bg'), ))), child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, + mainAxisAlignment: MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.start, children: [ funcItem(0, 'msg', 0 == controller.currentIndex, controller), @@ -78,7 +78,7 @@ class _HomePageState extends State funcItem(int index, String image, bool isSelected, HomeLogic controller) { return SizedBox( width: 80.sp, - height: 36.sp, + height: 50.sp, child: GestureDetector( behavior: HitTestBehavior.opaque, onTap: () { @@ -98,8 +98,9 @@ class _HomePageState extends State isSelected ? getTabbarImage('${image}_selected') : getTabbarImage('${image}_normal'), - width: 34.sp, - height: 34.sp, + width: 38.sp, + height: 38.sp, + fit: BoxFit.fill, excludeFromSemantics: true, gaplessPlayback: true, ))), @@ -108,7 +109,7 @@ class _HomePageState extends State visible: index == 0 && controller.unreadSIze != "0", child: Positioned( // right: 4.sp, - top: 4.sp, + top: 6.sp, child: Container( margin: EdgeInsets.only( left: int.parse(controller.unreadSIze.value) > 99 @@ -119,7 +120,7 @@ class _HomePageState extends State alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, - borderRadius: BorderRadius.circular(11.sp)), + borderRadius: BorderRadius.circular(10.sp)), child: Text( int.parse(controller.unreadSIze.value) > 99 ? '99+' diff --git a/circle_app/lib/app/invite/view.dart b/circle_app/lib/app/invite/view.dart index cf29d7f..a1e3027 100644 --- a/circle_app/lib/app/invite/view.dart +++ b/circle_app/lib/app/invite/view.dart @@ -37,7 +37,10 @@ class InvitePage extends StatelessWidget { alignment: Alignment.center, height: 22.sp, width: 62.sp, + child: Image.asset(getMineImage('invite_right_icon'), + width: 62.sp, + fit: BoxFit.fill, ), ), onPressed: (){ @@ -66,30 +69,30 @@ class InvitePage extends StatelessWidget { allSpan.addAll(getTextSpanList( 'Tip:您已成功邀请', Color(0xFF0DF5F7), - 12.sp, + 13.sp, searchContent: 'Tip:')); allSpan.addAll(getTextSpanList( ' ${logic.homeData!.inviteCount! ?? 0} 位圈友,', Color(0xFFDC5BFD), - 12.sp, + 13.sp, searchContent: '${logic.homeData!.inviteCount! ?? 0}')); allSpan.addAll(getTextSpanList( '免费获得会员 ${logic.homeData!.achieveRewardDay! ?? '0'} 天,', Color(0xFFDC5BFD), - 12.sp, + 13.sp, searchContent: '${logic.homeData!.achieveRewardDay! ?? '0'} ')); int maxCount = logic.homeData!.inviteAwardConf!.last.inviteCount ?? 0; if (logic.homeData!.inviteCount! >= maxCount) { allSpan.addAll(getTextSpanList( ' 再邀请可领取更多奖励~', Color(0xFFDC5BFD), - 12.sp, + 13.sp, searchContent: '')); } else { allSpan.addAll(getTextSpanList( ' 再邀请 ${logic.homeData!.diffAwardCount} 位圈友可领取更多奖励~', Color(0xFFDC5BFD), - 12.sp, + 13.sp, searchContent: '${logic.homeData!.diffAwardCount}')); } @@ -361,7 +364,7 @@ class InvitePage extends StatelessWidget { Expanded(child: Container()), Container( margin: EdgeInsets.only( - left: 15.sp, right: 15.sp,bottom: 15.sp), + left: 15.sp, right: 15.sp,bottom: 10.sp), child: RichText( text: TextSpan( children: allSpan @@ -439,7 +442,7 @@ class InvitePage extends StatelessWidget { timeWidget(String time) { return Text( time, - style: TextStyle(color: Colors.white, fontSize: 12.sp), + style: TextStyle(color: Colors.white, fontSize: 14.sp), ); } diff --git a/circle_app/lib/app/login/complete_material/view.dart b/circle_app/lib/app/login/complete_material/view.dart index ece378f..7179814 100644 --- a/circle_app/lib/app/login/complete_material/view.dart +++ b/circle_app/lib/app/login/complete_material/view.dart @@ -14,14 +14,21 @@ import 'package:get/get.dart'; import 'logic.dart'; -class Complete_materialPage extends StatelessWidget { +class Complete_materialPage extends StatefulWidget { Complete_materialPage({Key? key}) : super(key: key); + @override + State createState() => _Complete_materialPageState(); +} + +class _Complete_materialPageState extends State { // final logic = Get.put(Complete_materialLogic()); - // PickerStyle pickerStyle = PickerStyle(); + bool isShowWx = Get.arguments == 'user'; + @override Widget build(BuildContext context) { + return GetBuilder(builder: (Complete_materialLogic controller) { return Stack( children: [ @@ -34,7 +41,9 @@ class Complete_materialPage extends StatelessWidget { ), ), Scaffold( + resizeToAvoidBottomInset: false, appBar: MyAppBar( + centerTitle: '完善您的个人形象', isBack: true, isDiyBack: true, @@ -111,7 +120,7 @@ class Complete_materialPage extends StatelessWidget { ), () {}, img: 'edit'), - if (Get.arguments == 'user') + if (isShowWx) funcWidget( '微信', TextField( @@ -187,10 +196,12 @@ class Complete_materialPage extends StatelessWidget { }), funcWidget( '兴趣', - Row( - children: controller.numbers.isNotEmpty - ? [interestWdiget('JK圈', controller)] - : [], + Container( + child: Row( + children: controller.numbers.isNotEmpty + ? [interestWdiget('JK圈', controller)] + : [], + ), ), () async { var data = await Get.toNamed( AppRoutes.SelectCircleActivity, @@ -337,9 +348,11 @@ class Complete_materialPage extends StatelessWidget { } interestWdiget(String interest, Complete_materialLogic controller) { - return SizedBox( + + return Container( height: 59.sp, - width: 240.sp, + + width: Get.width - 140.sp, child: ListView.builder( itemCount: controller.numbers.length, scrollDirection: Axis.horizontal, @@ -387,6 +400,7 @@ class Complete_materialPage extends StatelessWidget { } showSexPiker(context, Complete_materialLogic controller) { + FocusManager.instance.primaryFocus?.unfocus(); Pickers.showSinglePicker(context, pickerStyle: DefaultPickerStyle.dark(), data: controller.genderList, @@ -401,6 +415,7 @@ class Complete_materialPage extends StatelessWidget { } showAgePiker(context, Complete_materialLogic controller) { + FocusManager.instance.primaryFocus?.unfocus(); var date = PDuration.now(); PDuration currentDur = PDuration(year: date.year! - 18, month: date.month, day: date.day); @@ -434,6 +449,7 @@ class Complete_materialPage extends StatelessWidget { } showRolePiker(context, Complete_materialLogic controller) { + FocusManager.instance.primaryFocus?.unfocus(); Pickers.showSinglePicker(context, pickerStyle: DefaultPickerStyle.dark(), data: controller.roleList, @@ -449,6 +465,7 @@ class Complete_materialPage extends StatelessWidget { // showOrientationPiker(context, Complete_materialLogic controller) { + FocusManager.instance.primaryFocus?.unfocus(); Pickers.showSinglePicker(context, pickerStyle: DefaultPickerStyle.dark(), data: controller.orientationList, diff --git a/circle_app/lib/app/minefragment/view.dart b/circle_app/lib/app/minefragment/view.dart index ffa75cd..6d15ec8 100644 --- a/circle_app/lib/app/minefragment/view.dart +++ b/circle_app/lib/app/minefragment/view.dart @@ -90,7 +90,7 @@ class MinefragmentPage extends StatelessWidget { Widget _circleLiveView(MinefragmentLogic logic) { return Column( - children: [_circleItemView(logic), _helpItemView(),_setUpItemView()], + children: [_circleItemView(logic),_invienItemView(), _helpItemView(),_setUpItemView()], ); } diff --git a/circle_app/lib/common/Widgets/add_wx_tip.dart b/circle_app/lib/common/Widgets/add_wx_tip.dart index eec81ff..610b358 100644 --- a/circle_app/lib/common/Widgets/add_wx_tip.dart +++ b/circle_app/lib/common/Widgets/add_wx_tip.dart @@ -78,7 +78,7 @@ class _AddWxTipState extends State { desc, style: TextStyle( color: Colors.white, - fontSize: 14.sp, + fontSize: 16.sp, fontWeight: FontWeight.w500, height: 2.0, ), @@ -90,7 +90,7 @@ class _AddWxTipState extends State { style: TextStyle( color: Colors.white, fontWeight: FontWeight.w500, - fontSize: 14.sp, + fontSize: 16.sp, height: 2.0, ), )) @@ -148,7 +148,7 @@ class _AddWxTipState extends State { // padding: EdgeInsets.only(left: 6.sp, right: 6.sp), alignment: Alignment.center, decoration: BoxDecoration( - color: AppColor.mainColor, + gradient: AppColor.mainLinearGradient, borderRadius: BorderRadius.circular(4.sp)), child: Text( widget.isHaveWx ? ' 更新微信 ':' 填写微信 ', diff --git a/circle_app/lib/common/Widgets/unlock_wx_tip.dart b/circle_app/lib/common/Widgets/unlock_wx_tip.dart index aa8bd91..5cd4569 100644 --- a/circle_app/lib/common/Widgets/unlock_wx_tip.dart +++ b/circle_app/lib/common/Widgets/unlock_wx_tip.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:circle_app/common/Widgets/open_vip_tip/logic.dart'; +import 'package:circle_app/common/colors/app_color.dart'; import 'package:circle_app/network/api.dart'; import 'package:circle_app/network/dio_manager.dart'; import 'package:circle_app/util/PaymentUtils.dart'; @@ -50,7 +51,7 @@ class _UnlockWxTipState extends State { Container( margin: EdgeInsets.only(left: 20.sp,right: 20.sp), padding: EdgeInsets.all(15.sp), - height: !Platform.isIOS ? 440.sp : 410.sp, + height: !Platform.isIOS ? 440.sp : 350.sp, decoration: BoxDecoration( color: const Color(0xFF393949), borderRadius: BorderRadius.circular(10.sp) @@ -257,18 +258,31 @@ class _UnlockWxTipState extends State { : const Color(0xFF464556), borderRadius: BorderRadius.circular(6), border: index == selectedIndex - ? Border.all(color: const Color(0xFF21BEAB), width: 1.sp) + ? Border.all(color: AppColor.mainColor, width: 1.sp) : null, ), child: Container( margin: EdgeInsets.only(left: 6.sp, right: 6.sp), child: Row( children: [ - Image.asset( - iconIv, // Replace this with the actual image path - width: 31.sp, - height: 29.sp, + Container( + width: 40.sp, + alignment: Alignment.center, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: AppColor.mainLinearGradient + ), + child: Text( + 'VIP', + + style: TextStyle(color: Colors.white, fontSize: 12.sp,fontWeight: FontWeight.w500), + ), ), + // Image.asset( + // iconIv, // Replace this with the actual image path + // width: 31.sp, + // height: 29.sp, + // ), SizedBox(width: 8.sp), Column( mainAxisAlignment: MainAxisAlignment.center, @@ -282,7 +296,7 @@ class _UnlockWxTipState extends State { Text( - "同时对方可获得${price.bonus}跨豆", + "同时对方可获得${price.bonus == 30 ? '一个月' : price.bonus == 90 ? '三个月' : price.bonus == 365 ? '一年' : '3年' }会员时长", style: TextStyle( color: const Color(0xFFEFD84E), fontSize: 10.0.sp), ), @@ -290,7 +304,7 @@ class _UnlockWxTipState extends State { Expanded(child: Container()), // To push the next widget to the right edge Text( - '${price.curPrice}元', + '${price.curPrice!.toInt()}元', style: TextStyle(color: Colors.white, fontSize: 14.sp), ), ], diff --git a/circle_app/lib/common/colors/app_color.dart b/circle_app/lib/common/colors/app_color.dart index 2df2bf4..f627eab 100644 --- a/circle_app/lib/common/colors/app_color.dart +++ b/circle_app/lib/common/colors/app_color.dart @@ -3,7 +3,7 @@ import 'dart:ui'; import 'package:flutter/material.dart'; class AppColor { - static Color mainColor = Color(0xFFCE51FF); + static Color mainColor = Color(0xFF06F9FA); static Gradient mainLinearGradient = const LinearGradient( colors: [ diff --git a/circle_app/lib/util/paymentUtil.dart b/circle_app/lib/util/paymentUtil.dart index 0b0fbab..dd650bb 100644 --- a/circle_app/lib/util/paymentUtil.dart +++ b/circle_app/lib/util/paymentUtil.dart @@ -113,6 +113,7 @@ class IOSPayment { } } else if (type == 2) { showOKToast('开通会员成功'); + EventBusManager.fire(CommentVipEvent(1)); } else { showOKToast('解锁微信号成功'); unLockWxSuccessResult(target_id);