diff --git a/circle_app/android/app/build.gradle b/circle_app/android/app/build.gradle index ba53ca4..dc5c32e 100644 --- a/circle_app/android/app/build.gradle +++ b/circle_app/android/app/build.gradle @@ -71,8 +71,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 21 targetSdkVersion flutter.targetSdkVersion - versionCode 34 - versionName "1.4.3" + versionCode 37 + versionName "1.4.5" manifestPlaceholders = [ vivo_APPID: "105669716", vivo_APPKEY:"84f750207787376b310ca5b0d5969122", diff --git a/circle_app/ios/Runner.xcodeproj/project.pbxproj b/circle_app/ios/Runner.xcodeproj/project.pbxproj index f055a22..0caae0b 100644 --- a/circle_app/ios/Runner.xcodeproj/project.pbxproj +++ b/circle_app/ios/Runner.xcodeproj/project.pbxproj @@ -382,7 +382,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.4.2; - PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp; + PRODUCT_BUNDLE_IDENTIFIER = com.example.kyApp; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -531,7 +531,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.4.2; - PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp; + PRODUCT_BUNDLE_IDENTIFIER = com.example.kyApp; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; @@ -574,7 +574,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.4.2; - PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp; + PRODUCT_BUNDLE_IDENTIFIER = com.example.kyApp; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; diff --git a/circle_app/lib/app/call_out/logic.dart b/circle_app/lib/app/call_out/logic.dart index 4949e2d..692f80f 100644 --- a/circle_app/lib/app/call_out/logic.dart +++ b/circle_app/lib/app/call_out/logic.dart @@ -258,6 +258,7 @@ class Call_outLogic extends GetxController { showImg() async { try { + checkPhotosStatus(); if (state.videolist.length != 0) { showOKToast("已添加视频,无法添加图片。"); return; diff --git a/circle_app/lib/app/circle/view.dart b/circle_app/lib/app/circle/view.dart index cf94bf5..8ee0021 100644 --- a/circle_app/lib/app/circle/view.dart +++ b/circle_app/lib/app/circle/view.dart @@ -662,6 +662,7 @@ class _CirclePageState extends State width: 24.sp, ), Container( + width: 80.sp, margin: EdgeInsets.only(left: 4.sp, top: 4.sp), child: Text( modifyCityName(logic.cityName), @@ -793,7 +794,7 @@ class _CirclePageState extends State InkWell( onTap: () { Get.bottomSheet( - TodayPeopleDialog(), + TodayPeopleDialog(isShow:true), isScrollControlled: true, enableDrag: false, ); diff --git a/circle_app/lib/app/invent_record/logic.dart b/circle_app/lib/app/invent_record/logic.dart index 607b772..507c3b3 100644 --- a/circle_app/lib/app/invent_record/logic.dart +++ b/circle_app/lib/app/invent_record/logic.dart @@ -32,13 +32,13 @@ class Invent_recordLogic extends GetxController { } void loadData() async { - var result = await DioManager.instance.post(url:Get.arguments == 0 ? Api.inviteRecord : Api.inviteRankRecord,params: {'page':index,'pageSize':10}); + var result = await DioManager.instance.post(url:Get.arguments == 0 ? Api.inviteRecord : Api.inviteRankRecord,params: {'page':index,'pageSize':20}); isLoad = false; if (result['code'] == 200) { if (result['data'] != null) { List dataList = result['data']; - isMore = dataList.length >= 10; + isMore = dataList.length >= 20; if (index == 1) { data = result['data']; diff --git a/circle_app/lib/app/invent_record/view.dart b/circle_app/lib/app/invent_record/view.dart index 8b73615..5066b3e 100644 --- a/circle_app/lib/app/invent_record/view.dart +++ b/circle_app/lib/app/invent_record/view.dart @@ -105,7 +105,7 @@ class Invent_recordPage extends StatelessWidget { color: Color(0x0AFFFFFF), ), Expanded( - child: infoText('直接返利'), + child: infoText('直接获利'), flex: 1, ), Container( @@ -201,7 +201,7 @@ class Invent_recordPage extends StatelessWidget { infoText(String info, [Color color = const Color(0xFFF7FAFA)]) { return Center( child: Text( - info, + info ?? '', style: TextStyle(color: color, fontSize: 12.sp), overflow: TextOverflow.ellipsis, ), diff --git a/circle_app/lib/app/invite/share.dart b/circle_app/lib/app/invite/share.dart index f95da71..a9f5183 100644 --- a/circle_app/lib/app/invite/share.dart +++ b/circle_app/lib/app/invite/share.dart @@ -437,7 +437,9 @@ class _ShareState extends State { String username, ) { Clipboard.setData(ClipboardData( - text: '【${username}】邀请你加入“微乐园”,邀请码为${widget.code},点击进入${widget.link} 这是一款专为各种特色小众圈子爱好者打造的交友平台,资质齐全,安全正规。在这里,能看到很多没听说过的圈子,也能发现很多为数不多的真实情怀,还能见证小众亚文化在生活方式上的新体验。真实、安全、私密、走心,我和很多圈友都在玩哦~')); + text: '【${username}】邀请你加入“微乐园”,邀请码为${widget.code},点击进入${widget.link}' + '这是一款专为各种特色小众圈子爱好者打造的交友平台,资质齐全,安全正规。' + '在这里,能看到很多没听说过的圈子,也能发现很多为数不多的真实情怀,还能见证小众亚文化在生活方式上的新体验。真实、安全、私密、走心,我和很多圈友都在玩哦~')); showOKToast('您已成功复制分享链接,前往对应平台粘贴发送即可~'); } /** diff --git a/circle_app/lib/app/invite/view.dart b/circle_app/lib/app/invite/view.dart index 3618c04..38a80c3 100644 --- a/circle_app/lib/app/invite/view.dart +++ b/circle_app/lib/app/invite/view.dart @@ -255,7 +255,7 @@ class InvitePage extends StatelessWidget { fontWeight: FontWeight.w500), )), Text( - data['inviter_name'], + data['invitee_name'] ?? '', style: TextStyle( color: Color(0xff0DF5F7), fontSize: 16.sp, @@ -488,7 +488,7 @@ class InvitePage extends StatelessWidget { margin: EdgeInsets.only(top: 10.sp), child: Text( - '直接返利', + '直接获利', style: TextStyle( color: Color(0xFFF7FAFA), fontSize: 12.sp), @@ -764,7 +764,7 @@ class InvitePage extends StatelessWidget { color: Color(0x0AFFFFFF), ), Expanded( - child: infoText('直接返利'), + child: infoText('直接获利'), flex: 1, ), Container( diff --git a/circle_app/lib/app/login/complete_material/logic.dart b/circle_app/lib/app/login/complete_material/logic.dart index 7b135ef..dee0de2 100644 --- a/circle_app/lib/app/login/complete_material/logic.dart +++ b/circle_app/lib/app/login/complete_material/logic.dart @@ -226,24 +226,26 @@ class Complete_materialLogic extends GetxController { } else if(state.textEditingController.text.length>6){ showOKToast('昵称最多输入6个字'); return; - }else if (state.sex.isEmpty) { - showOKToast('请选择您的角色'); - return; - } else if (state.age.isEmpty) { - showOKToast('请选择您的年龄'); - return; - } else if (state.city.isEmpty) { - showOKToast('请选择您的常驻城市'); - return; - } else if (state.role.isEmpty) { + } + // else if (state.sex.isEmpty) { + // showOKToast('请选择您的角色'); + // return; + // } else if (state.age.isEmpty) { + // showOKToast('请选择您的年龄'); + // return; + // } else if (state.city.isEmpty) { + // showOKToast('请选择您的常驻城市'); + // return; + // } + else if (state.role.isEmpty) { showOKToast('请选择您的属性'); return; } else if (state.orientation.isEmpty) { showOKToast('请选择您的取向'); return; } else if (numbers.isEmpty) { - showOKToast('请选择您的兴趣'); - // return; + showOKToast('请选择您的兴趣圈子'); + return; } else if (state.descEditingController.text.isEmpty) { showOKToast('请输入您的交友宣言'); return; @@ -270,8 +272,8 @@ class Complete_materialLogic extends GetxController { } }); if(genderTagList.isEmpty){ - showOKToast("请点击选择你想认识的人"); - return; + // showOKToast("请点击选择你想认识的人"); + // return; } // LatLng location = await getLocation(); @@ -279,15 +281,27 @@ class Complete_materialLogic extends GetxController { numbers.forEach((element) { interestsList.add(element.id); }); + if (state.brithday.isEmpty) { + var date = PDuration.now(); + PDuration p = + PDuration(year: date.year! - 20, month: date.month, day: date.day); + + String month = p.month! < 10 ? '0${p.month!}' : p.month!.toString(); + String day = p.day! < 10 ? '0${p.day!}' : p.day!.toString(); + var time = '${p.year}-$month-$day'; + state.brithday = time; + } + + var data = await DioManager.instance.put(url: Api.UpdataUserInfo, params: { 'avatar_url': headUrl, 'birthday': state.brithday, - 'gender': state.genderId, //性别 + 'gender': state.genderId.isNotEmpty ? state.genderId : '2', //性别 'role': state.roleId, //Int 角色 'interests': interestsList, //兴趣 'orientation': state.orientationId, //Int 爱好 - 'city':state.city, - 'orientations':genderTagList, + 'city':state.city.isNotEmpty ? state.city : '上海市', + 'orientations':genderTagList.isEmpty ? [2] : genderTagList, // 'lat': location.latitude, // 'lng': location.longitude, 'nickname': state.textEditingController.text.trim(), @@ -327,7 +341,7 @@ class Complete_materialLogic extends GetxController { showOKToast('请选择您的取向'); return; } else if (numbers.isEmpty) { - showOKToast('请选择您的兴趣'); + showOKToast('请选择您的兴趣圈子'); // return; } else if (state.descEditingController.text.isEmpty) { showOKToast('请输入您的交友宣言'); @@ -393,6 +407,8 @@ class Complete_materialLogic extends GetxController { numbers.forEach((element) { interestsList.add(element.id); }); + + var data = await DioManager.instance.put(url: Api.UpdataUserInfo, params: { 'avatar_url': headUrl, 'birthday': state.brithday, diff --git a/circle_app/lib/app/login/complete_material/view.dart b/circle_app/lib/app/login/complete_material/view.dart index b84342c..fb379e5 100644 --- a/circle_app/lib/app/login/complete_material/view.dart +++ b/circle_app/lib/app/login/complete_material/view.dart @@ -241,7 +241,7 @@ class _Complete_materialPageState extends State { showOrientationPiker(context, controller); }), funcWidget( - '兴趣', + '兴趣圈子', Container( child: Row( children: controller.numbers.isNotEmpty diff --git a/circle_app/lib/app/msg/TIMUIKitConversation/tim_uikit_conversation.dart b/circle_app/lib/app/msg/TIMUIKitConversation/tim_uikit_conversation.dart index 6717582..bc4745b 100644 --- a/circle_app/lib/app/msg/TIMUIKitConversation/tim_uikit_conversation.dart +++ b/circle_app/lib/app/msg/TIMUIKitConversation/tim_uikit_conversation.dart @@ -1176,8 +1176,9 @@ class _TIMConversationState extends TIMUIKitState { setState(() {}); } } else { - showOKToast(data['msg']); - if (data['code'] == 21201 || data['code'] == 21202) { + + if ((data['code'] == 21201 || data['code'] == 21202) && recommendCircleFriendData.isNotEmpty) { + showOKToast(data['msg']); showVipDialog(); } } diff --git a/circle_app/lib/app/msg/sys_notify_list/view.dart b/circle_app/lib/app/msg/sys_notify_list/view.dart index 412f552..29cf7a8 100644 --- a/circle_app/lib/app/msg/sys_notify_list/view.dart +++ b/circle_app/lib/app/msg/sys_notify_list/view.dart @@ -37,19 +37,33 @@ class Sys_notify_listPage extends StatelessWidget { backgroundColor: Colors.transparent, appBar: MyAppBar( centerTitle: logic.con != null ? logic.con!.showName! ?? '' : '', - actionWdiget: logic.con != null ? logic.con!.showName == '活动驿站' ? InkWell( - onTap: () { - var con; - if(kDebugMode){ - con = V2TimConversation( - conversationID: "c2c_qpqz_dev_10_102", userID: "qpqz_dev_10_102", showName: "测试乐园客服", type: 1); - }else{ - con = V2TimConversation( - conversationID: "c2c_qpqz_prod_10_102", userID: "qpqz_prod_10_102", showName: "乐园客服", type: 1); - } - Get.toNamed(AppRoutes.Chat, arguments: con); - }, - child: Text('联系客服',style: TextStyle(color: Colors.white,fontSize: 15.sp),)) : Container() : Container(), + actionWdiget: logic.con != null + ? logic.con!.showName == '活动驿站' + ? InkWell( + onTap: () { + var con; + if (kDebugMode) { + con = V2TimConversation( + conversationID: "c2c_qpqz_dev_10_102", + userID: "qpqz_dev_10_102", + showName: "测试乐园客服", + type: 1); + } else { + con = V2TimConversation( + conversationID: "c2c_qpqz_prod_10_102", + userID: "qpqz_prod_10_102", + showName: "乐园客服", + type: 1); + } + Get.toNamed(AppRoutes.Chat, arguments: con); + }, + child: Text( + '联系客服', + style: + TextStyle(color: Colors.white, fontSize: 15.sp), + )) + : Container() + : Container(), ), body: Container( width: Get.width, @@ -230,8 +244,10 @@ class Sys_notify_listPage extends StatelessWidget { width: 160.sp, child: GestureDetector( onTap: () { - Get.toNamed(AppRoutes.SeriesPage, - arguments: {'id':logic.serieslists[index]['id'].toString(),'title':logic.serieslists[index]['name'] }); + Get.toNamed(AppRoutes.SeriesPage, arguments: { + 'id': logic.serieslists[index]['id'].toString(), + 'title': logic.serieslists[index]['name'] + }); }, child: seriesWidget(logic.serieslists[index]), ), @@ -510,28 +526,46 @@ class Sys_notify_listPage extends StatelessWidget { fontWeight: FontWeight.w500), ), ), - Row( - children: [ - CachedNetworkImage( - imageUrl: con.faceUrl!, - width: 34.sp, - ), - Column( + GestureDetector( + onTap: () async { + if (data.scene == 'url') { + Map bean = json.decode(data.note!); + String url = bean['url']; + + Get.toNamed(AppRoutes.WebViewActivity, + arguments: {'title': "", "url": url}); + } else { + if (data.note == null) { + // Map bean = json.decode(data.note!); + pushPage(data.scene!, ''); + } else { + Map bean = json.decode(data.note!); + pushPage(data.scene!, bean['param']); + } + } + }, + child: Row( children: [ - Container( - width: 0.712 * Get.width, - margin: EdgeInsets.only(left: 10.sp), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(10.sp), - color: Color(0xFF292836)), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: widgets), + CachedNetworkImage( + imageUrl: con.faceUrl!, + width: 34.sp, + ), + Column( + children: [ + Container( + width: 0.712 * Get.width, + margin: EdgeInsets.only(left: 10.sp), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10.sp), + color: Color(0xFF292836)), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: widgets), + ) + ], ) ], - ) - ], - ), + )), ], ), ); diff --git a/circle_app/lib/common/Widgets/circle_share.dart b/circle_app/lib/common/Widgets/circle_share.dart index bc02592..9c959de 100644 --- a/circle_app/lib/common/Widgets/circle_share.dart +++ b/circle_app/lib/common/Widgets/circle_share.dart @@ -751,7 +751,9 @@ class _CircleShareState extends State { String username, ) { Clipboard.setData(ClipboardData( - text: '【${username}】邀请你加入“微乐园”,邀请码为${widget.code},点击进入${widget.link!} 这是一款专为各种特色小众圈子爱好者打造的交友平台,资质齐全,安全正规。在这里,能看到很多没听说过的圈子,也能发现很多为数不多的真实情怀,还能见证小众亚文化在生活方式上的新体验。真实、安全、私密、走心,我和很多圈友都在玩哦~')); + text: '【${username}】邀请你加入“微乐园”,邀请码为${widget.code},点击进入${widget.link!} ' + '这是一款专为各种特色小众圈子爱好者打造的交友平台,资质齐全,安全正规。' + '在这里,能看到很多没听说过的圈子,也能发现很多为数不多的真实情怀,还能见证小众亚文化在生活方式上的新体验。真实、安全、私密、走心,我和很多圈友都在玩哦~')); showOKToast('您已成功复制分享链接,前往对应平台粘贴发送即可~'); } /** diff --git a/circle_app/lib/common/Widgets/today_people_dialog.dart b/circle_app/lib/common/Widgets/today_people_dialog.dart index ee254ed..e42c1a7 100644 --- a/circle_app/lib/common/Widgets/today_people_dialog.dart +++ b/circle_app/lib/common/Widgets/today_people_dialog.dart @@ -12,6 +12,10 @@ import '../../util/util.dart'; import '../colors/app_color.dart'; class TodayPeopleDialog extends StatefulWidget { + bool isShow; + TodayPeopleDialog({super.key,this.isShow = false}); + + @override _TodayPeopleDialogState createState() => new _TodayPeopleDialogState(); } @@ -42,10 +46,14 @@ class _TodayPeopleDialogState extends State { } } } else { - showOKToast(data['msg']); - Get.back(); - if (data['code'] == 21201 || data['code'] == 21202) { - showVipDialog(); + if (widget.isShow) { + showOKToast(data['msg']); + Get.back(); + if (data['code'] == 21201 || data['code'] == 21202) { + showVipDialog(); + } + } else { + Get.back(); } } } @@ -511,7 +519,7 @@ class _TodayPeopleDialogState extends State { Get.back(); }, child: Scaffold( - backgroundColor: Colors.black.withOpacity(0.75), + backgroundColor: recommendCircleFriendData.isNotEmpty ? Colors.black.withOpacity(0.75) : Colors.transparent, body: recommendCircleFriendData.isNotEmpty ? Column( mainAxisAlignment: MainAxisAlignment.center, diff --git a/circle_app/lib/util/util.dart b/circle_app/lib/util/util.dart index 5434a42..62e4995 100644 --- a/circle_app/lib/util/util.dart +++ b/circle_app/lib/util/util.dart @@ -941,7 +941,7 @@ checkPhotosStatus() async { content: SingleChildScrollView( child: ListBody( - children: [Text("请开启相册权限以上传图片")], + children: [Text("请开启相册权限以上传图片/视频")], ), ), actions: [