diff --git a/circle_app/assets/images/circle/year_vip.png b/circle_app/assets/images/circle/year_vip.png new file mode 100644 index 0000000..3de0b0f Binary files /dev/null and b/circle_app/assets/images/circle/year_vip.png differ diff --git a/circle_app/lib/app/blacklist/view.dart b/circle_app/lib/app/blacklist/view.dart index 7f21ae7..8cd3d16 100644 --- a/circle_app/lib/app/blacklist/view.dart +++ b/circle_app/lib/app/blacklist/view.dart @@ -88,7 +88,7 @@ class BlacklistPage extends StatelessWidget { child: item.vip > 0 ? Image( - image: AssetImage(getBaseImage("vip")), + image: AssetImage(getBaseImage(item.vip == 1 ? "vip" : 'year_vip')), width: 44.sp, height: 18.sp, ) : Container(),) diff --git a/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item.dart b/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item.dart index 77ec639..ffa66d1 100644 --- a/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item.dart +++ b/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item.dart @@ -407,26 +407,22 @@ class _TIMUIKItHistoryMessageListItemState Container( // height: info.containsKey('city') ? 175.sp : 135.sp, 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( image: DecorationImage( fit: BoxFit.fill, image: AssetImage( 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( - children: [ - if (info.containsKey('city')) - info['city'].toString().isNotEmpty ? Container( + if (info.containsKey('city')) + info['city'].toString().isNotEmpty + ? Container( margin: EdgeInsets.only(top: 10.sp), child: Row( children: [ @@ -435,7 +431,8 @@ class _TIMUIKItHistoryMessageListItemState width: 3.sp, height: 3.sp, decoration: BoxDecoration( - borderRadius: BorderRadius.circular(1.5.sp), + borderRadius: + BorderRadius.circular(1.5.sp), color: Color(0xFF00FFF4)), ), Text( @@ -447,69 +444,83 @@ class _TIMUIKItHistoryMessageListItemState ) ], ), - ) : Container(), - if (info.containsKey('both_interests')) + ) + : Container(), + if (info.containsKey('both_interests')) + Container( + margin: EdgeInsets.only(top: 16.sp, right: 16.sp), + child: Row( + children: [ Container( - - margin: EdgeInsets.only(top: 16.sp,right: 16.sp), - child: Row( - children: [ - Container( - - margin: EdgeInsets.only(right: 2.sp), - width: 3, - height: 3, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(1.5), - color: Color(0xFF00FFF4)), + margin: EdgeInsets.only(right: 5.sp), + width: 3, + height: 3, + decoration: BoxDecoration( + borderRadius: + BorderRadius.circular(1.5), + color: Color(0xFF00FFF4)), + ), + Expanded( + child: Container( + child: Text( + info['both_interests'], + style: TextStyle( + color: Colors.white, + fontSize: 14.sp, + fontWeight: FontWeight.w500, ), - Expanded( - child: Container( - child: Text( - info['both_interests'] + info['both_interests'] + info['both_interests'], - style: TextStyle( - color: Colors.white, - fontSize: 14.sp, - fontWeight: FontWeight.w500,), - overflow: TextOverflow.ellipsis, - maxLines: 1, - ), - ), - ) - ], + overflow: TextOverflow.ellipsis, + maxLines: 1, + ), ), - ), - Container( - margin: EdgeInsets.only(top: 10.sp, bottom: 10.sp), - alignment: Alignment.centerLeft, - child: Text( - isFromSelf - ? info['user']['signature'] - : info['my']['signature'], - style: TextStyle( - color: Colors.white, - fontSize: 14.sp, - fontWeight: FontWeight.w500), - maxLines: 2, - overflow: TextOverflow.ellipsis, - ), - ), - Image.asset( - getCircleImage('line'), - width: Get.width, - fit: BoxFit.fill, - ), - interestWdiget( - isFromSelf ? info['interests'] : info['myInterests']) - ], + ) + ], + ), ), - ) + Container( + margin: + EdgeInsets.only(top: 10.sp, bottom: 10.sp), + alignment: Alignment.centerLeft, + 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 + ? '交友宣言:' + info['user']['signature'] + : '交友宣言:' + info['my']['signature'], + style: TextStyle( + color: Colors.white, + fontSize: 14.sp, + fontWeight: FontWeight.w500), + maxLines: 2, + overflow: TextOverflow.ellipsis, + )), + ])), + Image.asset( + getCircleImage('line'), + width: Get.width, + fit: BoxFit.fill, + ), + interestWdiget(isFromSelf + ? info['interests'] + : info['myInterests']) ], ), ), Container( 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), child: Row( mainAxisAlignment: MainAxisAlignment.center, @@ -525,7 +536,7 @@ class _TIMUIKItHistoryMessageListItemState width: 2.sp, ), GestureDetector( - onTap: (){ + onTap: () { navigateToCodeOfConduct(); }, child: Text( @@ -729,8 +740,8 @@ class _TIMUIKItHistoryMessageListItemState } interestWdiget(List data) { + if (!data.isNotEmpty) return Container(height: 0,); return Container( - // color: Colors.red, alignment: Alignment.centerLeft, height: 49.sp, width: Get.width, @@ -1298,16 +1309,16 @@ class _TIMUIKItHistoryMessageListItemState // fontSize: 12), // ), // ), - if (model.chatConfig.isShowGroupReadingStatus && - model.chatConfig.isShowGroupMessageReadReceipt && - model.conversationType == ConvType.group && - isSelf && - (message.status == MessageStatus.V2TIM_MSG_STATUS_SEND_SUCC || - message.status == MessageStatus.V2TIM_MSG_STATUS_SENDING)) - TIMUIKitMessageReadReceipt( - messageItem: widget.message, - onTapAvatar: widget.onTapForOthersPortrait, - ), + if (model.chatConfig.isShowGroupReadingStatus && + model.chatConfig.isShowGroupMessageReadReceipt && + model.conversationType == ConvType.group && + isSelf && + (message.status == MessageStatus.V2TIM_MSG_STATUS_SEND_SUCC || + message.status == MessageStatus.V2TIM_MSG_STATUS_SENDING)) + TIMUIKitMessageReadReceipt( + messageItem: widget.message, + onTapAvatar: widget.onTapForOthersPortrait, + ), ], ); } diff --git a/circle_app/lib/app/circle/widgets/info_list_view.dart b/circle_app/lib/app/circle/widgets/info_list_view.dart index fabcd27..c9cdfee 100644 --- a/circle_app/lib/app/circle/widgets/info_list_view.dart +++ b/circle_app/lib/app/circle/widgets/info_list_view.dart @@ -728,7 +728,7 @@ class InfoListViewState extends State with AutomaticKeepAliveClien lists.user?.vip != null && lists.user!.vip == 0 ? Container() : Image.asset( - getCircleImage('vip'), + getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'), width: 36.sp, ) ], @@ -1034,7 +1034,7 @@ class InfoListViewState extends State with AutomaticKeepAliveClien lists.user?.vip != null && lists.user!.vip == 0 ? Container() : Image.asset( - getCircleImage('vip'), + getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'), width: 36.sp, ) ], diff --git a/circle_app/lib/app/friendslist/view.dart b/circle_app/lib/app/friendslist/view.dart index 2ba2c39..d170b22 100644 --- a/circle_app/lib/app/friendslist/view.dart +++ b/circle_app/lib/app/friendslist/view.dart @@ -86,7 +86,7 @@ class FriendslistPage extends StatelessWidget { child: item.vip>0 ? Image( - image: AssetImage(getBaseImage("vip")), + image: AssetImage(getBaseImage(item.vip == 1 ? "vip" : 'year_vip')), width: 44.sp, height: 18.sp, ):Container(),) diff --git a/circle_app/lib/app/home/logic.dart b/circle_app/lib/app/home/logic.dart index 245702d..4b0e012 100644 --- a/circle_app/lib/app/home/logic.dart +++ b/circle_app/lib/app/home/logic.dart @@ -1,3 +1,6 @@ +import 'dart:async'; +import 'dart:io'; + import 'package:circle_app/app/circle/logic.dart'; import 'package:circle_app/app/minefragment/logic.dart'; import 'package:circle_app/main.dart'; @@ -73,7 +76,10 @@ class HomeLogic extends GetxController { if (getTotalUnreadMessageCountRes.code == 0) { unreadSIze.value = getTotalUnreadMessageCountRes.data.toString(); - setOfflinePushStatus(status: AppStatus.foreground); + if (Platform.isAndroid) { + setOfflinePushStatus(status: AppStatus.foreground); + } + }else{ getUnreadSize(); } @@ -83,17 +89,18 @@ class HomeLogic extends GetxController { @override Future setOfflinePushStatus( {required AppStatus status, int? totalCount}) { - if (status == AppStatus.foreground) { - // 当应用status为前台时,上报doForeground() - return TencentImSDKPlugin.v2TIMManager - .getOfflinePushManager() - .doForeground(); - } else { - // 当应用status为后台时,上报doBackground(),并带上未读数 - return TencentImSDKPlugin.v2TIMManager - .getOfflinePushManager() - .doBackground(unreadCount: totalCount ?? 0); - } + + if (status == AppStatus.foreground) { + // 当应用status为前台时,上报doForeground() + return TencentImSDKPlugin.v2TIMManager + .getOfflinePushManager() + .doForeground(); + } else { + // 当应用status为后台时,上报doBackground(),并带上未读数 + return TencentImSDKPlugin.v2TIMManager + .getOfflinePushManager() + .doBackground(unreadCount: totalCount ?? 0); + } } @override diff --git a/circle_app/lib/app/likelist/view.dart b/circle_app/lib/app/likelist/view.dart index afe5d42..27446ed 100644 --- a/circle_app/lib/app/likelist/view.dart +++ b/circle_app/lib/app/likelist/view.dart @@ -89,7 +89,7 @@ class LikelistPage extends StatelessWidget { bottom: 0.sp, child: item.user.vip!=0 ? Image( - image: AssetImage(getBaseImage("vip")), + image: AssetImage(getBaseImage(item.user.vip == 1 ? "vip" : 'year_vip')), width: 44.sp, height: 18.sp, ) diff --git a/circle_app/lib/app/text/binding.dart b/circle_app/lib/app/text/binding.dart deleted file mode 100644 index 85c4802..0000000 --- a/circle_app/lib/app/text/binding.dart +++ /dev/null @@ -1,10 +0,0 @@ -import 'package:get/get.dart'; - -import 'logic.dart'; - -class TextBinding extends Bindings { - @override - void dependencies() { - Get.lazyPut(() => TextLogic()); - } -} diff --git a/circle_app/lib/app/text/logic.dart b/circle_app/lib/app/text/logic.dart deleted file mode 100644 index dfcb921..0000000 --- a/circle_app/lib/app/text/logic.dart +++ /dev/null @@ -1,7 +0,0 @@ -import 'package:get/get.dart'; - -import 'state.dart'; - -class TextLogic extends GetxController { - final TextState state = TextState(); -} diff --git a/circle_app/lib/app/text/state.dart b/circle_app/lib/app/text/state.dart deleted file mode 100644 index 4f50ea6..0000000 --- a/circle_app/lib/app/text/state.dart +++ /dev/null @@ -1,5 +0,0 @@ -class TextState { - TextState() { - ///Initialize variables - } -} diff --git a/circle_app/lib/app/text/view.dart b/circle_app/lib/app/text/view.dart deleted file mode 100644 index 7ee6bda..0000000 --- a/circle_app/lib/app/text/view.dart +++ /dev/null @@ -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 createState() => _MyTabbedScreenState(); -} -class _MyTabbedScreenState extends State - 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: [ - NestedScrollView( - headerSliverBuilder: - (BuildContext context, bool innerBoxIsScrolled) { - return [ - 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: [ - 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: [ - new Container( - height: 165.sp, - child: new 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, - ), - ), - ), - ), - ), - ), // 替换为实际的列表项小部件 - ); - }, - ), - ), - ], - ), - ), - ], - ), - ), - ), - ), - 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( - "男,33,CD", - 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; - } -} - diff --git a/circle_app/lib/app/userinfo/view.dart b/circle_app/lib/app/userinfo/view.dart index 394c95e..18d1ef6 100644 --- a/circle_app/lib/app/userinfo/view.dart +++ b/circle_app/lib/app/userinfo/view.dart @@ -599,7 +599,7 @@ class MyTabbedScreenState extends State const SizedBox(width: 6), if (controller.isVip > 0) Image( - image: AssetImage(getBaseImage("vip")), + image: AssetImage(getBaseImage( controller.isVip == 1 ? "vip" : 'year_vip')), width: 44.sp, height: 18.sp, ), diff --git a/circle_app/lib/app/userinfo/widgets/home_call_out.dart b/circle_app/lib/app/userinfo/widgets/home_call_out.dart index d9abadb..6ba78d6 100644 --- a/circle_app/lib/app/userinfo/widgets/home_call_out.dart +++ b/circle_app/lib/app/userinfo/widgets/home_call_out.dart @@ -242,7 +242,7 @@ class _HomeCallOutViewState extends State with AutomaticKeepAli lists.user!.vip! == 0 ? Container() : Image.asset( - getCircleImage('vip'), + getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'), width: 36.sp, ) ], @@ -497,7 +497,7 @@ class _HomeCallOutViewState extends State with AutomaticKeepAli lists.user!.vip! == 0 ? Container() : Image.asset( - getCircleImage('vip'), + getCircleImage(lists.user!.vip == 1 ? 'vip' : 'year_vip'), width: 36.sp, ) ], diff --git a/circle_app/lib/app/visitorlist/view.dart b/circle_app/lib/app/visitorlist/view.dart index 10aa444..de17026 100644 --- a/circle_app/lib/app/visitorlist/view.dart +++ b/circle_app/lib/app/visitorlist/view.dart @@ -147,7 +147,7 @@ class VisitorlistPage extends StatelessWidget { bottom: 0.sp, child: item.user.vip != 0 ? Image( - image: AssetImage(getBaseImage("vip")), + image: AssetImage(getBaseImage(item.user.vip == 1 ? "vip" : 'year_vip')), width: 44.sp, height: 18.sp, ) diff --git a/circle_app/lib/network/api.dart b/circle_app/lib/network/api.dart index e60df20..f4ec783 100644 --- a/circle_app/lib/network/api.dart +++ b/circle_app/lib/network/api.dart @@ -3,6 +3,9 @@ class Api { 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'; diff --git a/circle_app/lib/router/app_pages.dart b/circle_app/lib/router/app_pages.dart index 2773d3f..078cafc 100644 --- a/circle_app/lib/router/app_pages.dart +++ b/circle_app/lib/router/app_pages.dart @@ -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/swiper/binding.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/view.dart'; import 'package:circle_app/app/visitorlist/view.dart'; @@ -144,11 +142,6 @@ class AppPages { page: () => BindmailPage(), binding: BindmailBinding(), ), - GetPage( - name: AppRoutes.TextActivity, - page: () => TextPage(), - binding: TextBinding(), - ), GetPage( name: AppRoutes.Swiper, page: () => SwiperPage(), diff --git a/circle_app/lib/util/paymentUtil.dart b/circle_app/lib/util/paymentUtil.dart index 3430d0e..ec12395 100644 --- a/circle_app/lib/util/paymentUtil.dart +++ b/circle_app/lib/util/paymentUtil.dart @@ -98,6 +98,7 @@ class IOSPayment { for (var element in logic.circle.lists) { if (element.id == int.parse(typeId)) { element.is_limit = false; + element.isJoin = true; } } logic.update();