1.3.8代码提交
This commit is contained in:
parent
0751408802
commit
fb8e556303
@ -71,8 +71,8 @@ android {
|
|||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion flutter.targetSdkVersion
|
targetSdkVersion flutter.targetSdkVersion
|
||||||
versionCode 29
|
versionCode 30
|
||||||
versionName "1.3.7"
|
versionName "1.3.8"
|
||||||
manifestPlaceholders = [
|
manifestPlaceholders = [
|
||||||
vivo_APPID: "105669716",
|
vivo_APPID: "105669716",
|
||||||
vivo_APPKEY:"84f750207787376b310ca5b0d5969122",
|
vivo_APPKEY:"84f750207787376b310ca5b0d5969122",
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.3 KiB |
@ -381,7 +381,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.3.2;
|
MARKETING_VERSION = 1.3.7;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp;
|
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||||
@ -530,7 +530,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.3.2;
|
MARKETING_VERSION = 1.3.7;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp;
|
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||||
@ -573,7 +573,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.3.2;
|
MARKETING_VERSION = 1.3.7;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp;
|
PRODUCT_BUNDLE_IDENTIFIER = com.example.circleapp;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import 'package:circle_app/network/api.dart';
|
|||||||
import 'package:circle_app/network/dio_manager.dart';
|
import 'package:circle_app/network/dio_manager.dart';
|
||||||
import 'package:circle_app/util/util.dart';
|
import 'package:circle_app/util/util.dart';
|
||||||
import 'package:diff_match_patch/diff_match_patch.dart';
|
import 'package:diff_match_patch/diff_match_patch.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/business_logic/view_models/tui_setting_model.dart';
|
import 'package:tencent_cloud_chat_uikit/business_logic/view_models/tui_setting_model.dart';
|
||||||
import 'package:tencent_cloud_chat_uikit/data_services/friendShip/friendship_services.dart';
|
import 'package:tencent_cloud_chat_uikit/data_services/friendShip/friendship_services.dart';
|
||||||
@ -288,11 +289,169 @@ class _InputTextFieldState extends TIMUIKitState<TIMInputTextField> {
|
|||||||
return imStatusOK;
|
return imStatusOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _showReportDialog(BuildContext context) {
|
||||||
|
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(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: 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: 52.sp,
|
||||||
|
right: 52.sp),
|
||||||
|
child: const Text(
|
||||||
|
"否",
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 12,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(width: 24.sp),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () async {
|
||||||
|
Get.back();
|
||||||
|
var data = await DioManager.instance.post(
|
||||||
|
url: '${Api.setBlock + widget.conversationID.split('_').last}/block', params: {'status': '0'});
|
||||||
|
var bean = BaseResponse<dynamic>.fromJson(
|
||||||
|
data,
|
||||||
|
(jsonData) => jsonData,
|
||||||
|
);
|
||||||
|
if (bean.isSuccess()) {
|
||||||
|
final FriendshipServices _friendshipServices =
|
||||||
|
serviceLocator<FriendshipServices>();
|
||||||
|
isBlack = false;
|
||||||
|
}
|
||||||
|
showOKToast(bean.msg);
|
||||||
|
},
|
||||||
|
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,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool isSendLoging = false;
|
bool isSendLoging = false;
|
||||||
onSubmitted() async {
|
onSubmitted() async {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -558,6 +558,7 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
onTap: () async {
|
onTap: () async {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
showKeyboard = showSendSoundText;
|
showKeyboard = showSendSoundText;
|
||||||
@ -768,6 +769,7 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
getImageFile();
|
getImageFile();
|
||||||
@ -779,6 +781,7 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
getTakeImageFile();
|
getTakeImageFile();
|
||||||
@ -790,6 +793,7 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
onTap: () async {
|
onTap: () async {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
showGiftPannel();
|
showGiftPannel();
|
||||||
@ -803,6 +807,8 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
getVideoFile(ImageSource.gallery);
|
getVideoFile(ImageSource.gallery);
|
||||||
@ -814,6 +820,7 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
if (isBlack) {
|
if (isBlack) {
|
||||||
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
showOKToast("您已将对方拉黑,请移除黑名单后在发送消息~");
|
||||||
|
_showReportDialog(context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
getVideoFile(ImageSource.camera);
|
getVideoFile(ImageSource.camera);
|
||||||
@ -1333,6 +1340,163 @@ class _TIMTextFieldLayoutNarrowState
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _showReportDialog(BuildContext context) {
|
||||||
|
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(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: 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: 52.sp,
|
||||||
|
right: 52.sp),
|
||||||
|
child: const Text(
|
||||||
|
"否",
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 12,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(width: 24.sp),
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () async {
|
||||||
|
Get.back();
|
||||||
|
var data = await DioManager.instance.post(
|
||||||
|
url: '${Api.setBlock + widget.conversationID.split('_').last}/block', params: {'status': '0'});
|
||||||
|
var bean = BaseResponse<dynamic>.fromJson(
|
||||||
|
data,
|
||||||
|
(jsonData) => jsonData,
|
||||||
|
);
|
||||||
|
if (bean.isSuccess()) {
|
||||||
|
final FriendshipServices _friendshipServices =
|
||||||
|
serviceLocator<FriendshipServices>();
|
||||||
|
isBlack = false;
|
||||||
|
}
|
||||||
|
showOKToast(bean.msg);
|
||||||
|
},
|
||||||
|
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,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
void loadUserData() async {
|
void loadUserData() async {
|
||||||
var data = await DioManager.instance.get(
|
var data = await DioManager.instance.get(
|
||||||
url:
|
url:
|
||||||
|
|||||||
@ -49,7 +49,7 @@ class _ChatPageState extends State<ChatPage> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
initEventBus();
|
initEventBus();
|
||||||
loadMyInfo();
|
loadMyInfo();
|
||||||
// loadIsShowSendGiftDialogData();
|
loadIsShowSendGiftDialogData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
String withStr = '';
|
String withStr = '';
|
||||||
int selectedIndex = -1;
|
int selectedIndex = -1;
|
||||||
|
|
||||||
|
String tipStr = '';
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
// TODO: implement initState
|
// TODO: implement initState
|
||||||
@ -43,6 +43,7 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
if (info['name'] == '浪漫告白') {
|
if (info['name'] == '浪漫告白') {
|
||||||
selectedIndex = i ;
|
selectedIndex = i ;
|
||||||
giftId = info['id'].toString();
|
giftId = info['id'].toString();
|
||||||
|
tipStr = info['topHours'] != null ? info['topHours'].toString() : '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,8 +65,8 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
constraints: BoxConstraints(
|
constraints: BoxConstraints(
|
||||||
maxHeight: 285.sp
|
maxHeight: 285.sp
|
||||||
),
|
),
|
||||||
margin: EdgeInsets.only(left: 15.sp,right: 15.sp),
|
margin: EdgeInsets.only(left: 10.sp,right: 10.sp),
|
||||||
padding: EdgeInsets.only(left: 15.sp,right: 15.sp),
|
padding: EdgeInsets.only(left: 10.sp,right: 10.sp),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10.sp),
|
borderRadius: BorderRadius.circular(10.sp),
|
||||||
gradient: LinearGradient(colors: [Color(0xFF4C3E5F),Color(0xFF324140)]),
|
gradient: LinearGradient(colors: [Color(0xFF4C3E5F),Color(0xFF324140)]),
|
||||||
@ -85,14 +86,38 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
height: 102.sp,
|
height: tipStr.isNotEmpty ? 145.sp : 122.sp,
|
||||||
margin: EdgeInsets.only(top: 12.sp,),
|
margin: EdgeInsets.only(top: 12.sp),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10.sp),
|
borderRadius: BorderRadius.circular(10.sp),
|
||||||
gradient: LinearGradient(
|
gradient: LinearGradient(
|
||||||
colors: [Color(0xFF132B40), Color(0xFF251240)])),
|
colors: [Color(0xFF132B40), Color(0xFF251240)])),
|
||||||
child: giftGridWidget(),
|
child: Column(
|
||||||
|
children: [
|
||||||
|
if (tipStr.isNotEmpty)
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(top:6.sp),
|
||||||
|
child: Text(
|
||||||
|
'礼物送出后,获得$tipStr小时的消息置顶',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColor.mainColor,
|
||||||
|
fontSize: 12.sp,
|
||||||
|
fontWeight: FontWeight.w500),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
|
giftGridWidget(),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// Container(
|
||||||
|
// height: 102.sp,
|
||||||
|
// margin: EdgeInsets.only(top: 12.sp,),
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius: BorderRadius.circular(10.sp),
|
||||||
|
// gradient: LinearGradient(
|
||||||
|
// colors: [Color(0xFF132B40), Color(0xFF251240)])),
|
||||||
|
// child: giftGridWidget(),
|
||||||
|
// ),
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsets.only(top: 25.sp,),
|
margin: EdgeInsets.only(top: 25.sp,),
|
||||||
padding: EdgeInsets.only(left: 15.sp, right: 15.sp),
|
padding: EdgeInsets.only(left: 15.sp, right: 15.sp),
|
||||||
@ -169,9 +194,9 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
giftGridWidget() {
|
giftGridWidget() {
|
||||||
return Container(
|
return Container(
|
||||||
width: Get.width,
|
width: Get.width,
|
||||||
height: 102.sp,
|
height: 120.sp,
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.only(left: 10.sp, right: 10.sp, top: 10.sp, bottom: 10.sp),
|
EdgeInsets.only(left: 5.sp, right: 5.sp, top: 10.sp, bottom: 10.sp),
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
scrollDirection: Axis.horizontal,
|
scrollDirection: Axis.horizontal,
|
||||||
itemCount: giftList.length,
|
itemCount: giftList.length,
|
||||||
@ -192,12 +217,12 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
selectedIndex = index;
|
selectedIndex = index;
|
||||||
giftId = info['id'].toString();
|
giftId = info['id'].toString();
|
||||||
// tipStr = info['topHours'] != null ? info['topHours'].toString() : '';
|
tipStr = info['topHours'] != null ? info['topHours'].toString() : '';
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
height: 78.sp,
|
height: 120.sp,
|
||||||
width: 78.sp,
|
width: 75.sp,
|
||||||
child: Stack(
|
child: Stack(
|
||||||
fit: StackFit.expand,
|
fit: StackFit.expand,
|
||||||
children: [
|
children: [
|
||||||
@ -207,9 +232,20 @@ class _SendGiftDialogState extends State<SendGiftDialog> {
|
|||||||
children: [
|
children: [
|
||||||
Image.network(
|
Image.network(
|
||||||
info['icon'],
|
info['icon'],
|
||||||
width: 65.sp,
|
width: 60.sp,
|
||||||
height: 65.sp,
|
height: 60.sp,
|
||||||
),
|
),
|
||||||
|
|
||||||
|
Text(info['name'],
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 12.sp,
|
||||||
|
fontWeight: FontWeight.w500)),
|
||||||
|
Text('${price.toInt()}小票',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 12.sp,
|
||||||
|
fontWeight: FontWeight.w500))
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@ -66,7 +66,7 @@ class _WishDialogState extends State<WishDialog> {
|
|||||||
giftGridWidget() {
|
giftGridWidget() {
|
||||||
return Container(
|
return Container(
|
||||||
width: Get.width,
|
width: Get.width,
|
||||||
height: 102.sp,
|
height: 120.sp,
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.only(left: 10.sp, right: 10.sp, top: 10.sp, bottom: 10.sp),
|
EdgeInsets.only(left: 10.sp, right: 10.sp, top: 10.sp, bottom: 10.sp),
|
||||||
child: ListView.builder(
|
child: ListView.builder(
|
||||||
@ -93,8 +93,8 @@ class _WishDialogState extends State<WishDialog> {
|
|||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
height: 78.sp,
|
height: 120.sp,
|
||||||
width: 78.sp,
|
width: 77.sp,
|
||||||
child: Stack(
|
child: Stack(
|
||||||
fit: StackFit.expand,
|
fit: StackFit.expand,
|
||||||
children: [
|
children: [
|
||||||
@ -107,6 +107,16 @@ class _WishDialogState extends State<WishDialog> {
|
|||||||
width: 65.sp,
|
width: 65.sp,
|
||||||
height: 65.sp,
|
height: 65.sp,
|
||||||
),
|
),
|
||||||
|
Text(info['name'],
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 12.sp,
|
||||||
|
fontWeight: FontWeight.w500)),
|
||||||
|
Text('${price.toInt()}小票',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 12.sp,
|
||||||
|
fontWeight: FontWeight.w500))
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
@ -153,7 +163,7 @@ class _WishDialogState extends State<WishDialog> {
|
|||||||
style: TextStyle(color: Colors.white, fontSize: 15.sp),
|
style: TextStyle(color: Colors.white, fontSize: 15.sp),
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
height: tipStr.isNotEmpty ? 125.sp : 102.sp,
|
height: tipStr.isNotEmpty ? 145.sp : 122.sp,
|
||||||
margin: EdgeInsets.only(top: 12.sp),
|
margin: EdgeInsets.only(top: 12.sp),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10.sp),
|
borderRadius: BorderRadius.circular(10.sp),
|
||||||
@ -228,7 +238,6 @@ class _WishDialogState extends State<WishDialog> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var info = giftList[selectedIndex];
|
var info = giftList[selectedIndex];
|
||||||
|
|
||||||
sendInventWishCustomMsg(
|
sendInventWishCustomMsg(
|
||||||
widget.accId, jsonEncode(info), '邀请你许个愿');
|
widget.accId, jsonEncode(info), '邀请你许个愿');
|
||||||
},
|
},
|
||||||
|
|||||||
@ -303,7 +303,28 @@ class CircleLogic extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
if (vicinityPage == 1) {
|
||||||
vicinityList.addAll(bean.data.users);
|
vicinityList.addAll(bean.data.users);
|
||||||
|
} else {
|
||||||
|
List<VicinityItemBean> info = [];
|
||||||
|
bean.data.users.forEach((element) {
|
||||||
|
bool isContain = false;
|
||||||
|
vicinityList.forEach((listInfo) {
|
||||||
|
|
||||||
|
if (listInfo.id == element.id) {
|
||||||
|
isContain = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!isContain) {
|
||||||
|
info.add(element);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (info.isNotEmpty) {
|
||||||
|
vicinityList.addAll(info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vicinityPage = vicinityPage + 1;
|
vicinityPage = vicinityPage + 1;
|
||||||
} on Exception {}
|
} on Exception {}
|
||||||
update();
|
update();
|
||||||
|
|||||||
@ -227,7 +227,24 @@ class _DiscoverState extends State<Discover>
|
|||||||
list = dataList;
|
list = dataList;
|
||||||
refreshController.refreshCompleted();
|
refreshController.refreshCompleted();
|
||||||
} else {
|
} else {
|
||||||
list.addAll(dataList);
|
List info = [];
|
||||||
|
dataList.forEach((element) {
|
||||||
|
var user = Users.fromJson(element);
|
||||||
|
bool isContain = false;
|
||||||
|
list.forEach((listInfo) {
|
||||||
|
var user1 = Users.fromJson(listInfo);
|
||||||
|
if (user1.userId == user.userId) {
|
||||||
|
isContain = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!isContain) {
|
||||||
|
info.add(element);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (info.isNotEmpty) {
|
||||||
|
list.addAll(info);
|
||||||
|
}
|
||||||
|
// list.addAll(dataList);
|
||||||
}
|
}
|
||||||
|
|
||||||
index = index + 1;
|
index = index + 1;
|
||||||
|
|||||||
@ -72,7 +72,8 @@ class _LikeViewState extends State<LikeView>
|
|||||||
|
|
||||||
scroToTop = EventBusManager.on<ScrollToTop>().listen((event) {
|
scroToTop = EventBusManager.on<ScrollToTop>().listen((event) {
|
||||||
// if (widget.logic.state.index == widget.index) {
|
// if (widget.logic.state.index == widget.index) {
|
||||||
var str = '{\"content\":{\"calloutId\":10453,\"interestId\":5},\"event\":3}';
|
var str =
|
||||||
|
'{\"content\":{\"calloutId\":10453,\"interestId\":5},\"event\":3}';
|
||||||
var params = jsonDecode(str);
|
var params = jsonDecode(str);
|
||||||
scrollController.animateTo(
|
scrollController.animateTo(
|
||||||
0.0,
|
0.0,
|
||||||
@ -142,8 +143,22 @@ class _LikeViewState extends State<LikeView>
|
|||||||
}
|
}
|
||||||
if (dataList.isNotEmpty) {
|
if (dataList.isNotEmpty) {
|
||||||
recomandMore = true;
|
recomandMore = true;
|
||||||
|
List<Lists> info = [];
|
||||||
for (var element in dataList) {
|
for (var element in dataList) {
|
||||||
recomanddlists.add(Lists.fromJson(element));
|
Lists infos = Lists.fromJson(element);
|
||||||
|
|
||||||
|
bool isContain = false;
|
||||||
|
recomanddlists.forEach((listInfo) {
|
||||||
|
if (listInfo.id == infos.id) {
|
||||||
|
isContain = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!isContain) {
|
||||||
|
info.add(infos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (info.isNotEmpty) {
|
||||||
|
recomanddlists.addAll(info);
|
||||||
}
|
}
|
||||||
recomandPage++;
|
recomandPage++;
|
||||||
}
|
}
|
||||||
@ -274,14 +289,11 @@ class _LikeViewState extends State<LikeView>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!isContain) {
|
if (!isContain) {
|
||||||
bean.chat!.users!.add(Users(avatar: avatar,id: userId,nickname: name));
|
bean.chat!.users!
|
||||||
|
.add(Users(avatar: avatar, id: userId, nickname: name));
|
||||||
bean.chat!.count = bean.chat!.count + 1;
|
bean.chat!.count = bean.chat!.count + 1;
|
||||||
setState(() {
|
setState(() {});
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1261,7 +1273,8 @@ class _LikeViewState extends State<LikeView>
|
|||||||
bean['is_join'] = !bean['is_join'];
|
bean['is_join'] = !bean['is_join'];
|
||||||
if (recomanddlists.isNotEmpty) {
|
if (recomanddlists.isNotEmpty) {
|
||||||
recomanddlists.forEach((element) {
|
recomanddlists.forEach((element) {
|
||||||
if (element.interest!['id'].toString() == bean['id'].toString()) {
|
if (element.interest!['id'].toString() ==
|
||||||
|
bean['id'].toString()) {
|
||||||
element.interest!['is_join'] = true;
|
element.interest!['is_join'] = true;
|
||||||
element.interest = element.interest!;
|
element.interest = element.interest!;
|
||||||
}
|
}
|
||||||
@ -1270,7 +1283,8 @@ class _LikeViewState extends State<LikeView>
|
|||||||
|
|
||||||
if (lists.isNotEmpty) {
|
if (lists.isNotEmpty) {
|
||||||
lists.forEach((element) {
|
lists.forEach((element) {
|
||||||
if (element.interest!['id'].toString() == bean['id'].toString()) {
|
if (element.interest!['id'].toString() ==
|
||||||
|
bean['id'].toString()) {
|
||||||
element.interest!['is_join'] = true;
|
element.interest!['is_join'] = true;
|
||||||
element.interest = element.interest!;
|
element.interest = element.interest!;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -373,6 +373,7 @@ class HomeLogic extends GetxController with WidgetsBindingObserver {
|
|||||||
logic.getMode();
|
logic.getMode();
|
||||||
} else if (index == 2) {
|
} else if (index == 2) {
|
||||||
final logic = Get.find<MsgLogic>();
|
final logic = Get.find<MsgLogic>();
|
||||||
|
EventBusManager.fire(MsgRecommendCardRefresh());
|
||||||
logic.loadChatData();
|
logic.loadChatData();
|
||||||
}
|
}
|
||||||
update();
|
update();
|
||||||
@ -440,3 +441,7 @@ class conTop {
|
|||||||
String conId;
|
String conId;
|
||||||
conTop(this.isTop,this.conId);
|
conTop(this.isTop,this.conId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class MsgRecommendCardRefresh {
|
||||||
|
|
||||||
|
}
|
||||||
@ -170,11 +170,16 @@ class _TIMConversationState extends TIMUIKitState<TIMConversation> {
|
|||||||
// serviceLocator<TUIFriendShipViewModel>();
|
// serviceLocator<TUIFriendShipViewModel>();
|
||||||
bool hasMore = true;
|
bool hasMore = true;
|
||||||
List<String> chatImIdList = [];
|
List<String> chatImIdList = [];
|
||||||
var recommendCircleFriendData = {};
|
Map recommendCircleFriendData = {};
|
||||||
|
|
||||||
|
|
||||||
|
var sub;
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
sub = EventBusManager.on().listen((event) {
|
||||||
|
loadRecommendCircleFriendData();
|
||||||
|
});
|
||||||
loadRecommendCircleFriendData();
|
loadRecommendCircleFriendData();
|
||||||
final controller = getController();
|
final controller = getController();
|
||||||
widget.scrollController!.addListener(() {
|
widget.scrollController!.addListener(() {
|
||||||
@ -392,6 +397,7 @@ class _TIMConversationState extends TIMUIKitState<TIMConversation> {
|
|||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
sub.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -637,6 +643,7 @@ class _TIMConversationState extends TIMUIKitState<TIMConversation> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
recommendCircleFriendWidget() {
|
recommendCircleFriendWidget() {
|
||||||
|
try {
|
||||||
var info = {};
|
var info = {};
|
||||||
|
|
||||||
var user = Users.fromJson(recommendCircleFriendData['user']);
|
var user = Users.fromJson(recommendCircleFriendData['user']);
|
||||||
@ -651,71 +658,8 @@ class _TIMConversationState extends TIMUIKitState<TIMConversation> {
|
|||||||
// ·很多圈友都喜欢TA40
|
// ·很多圈友都喜欢TA40
|
||||||
// ·TA是乐园优秀圈主哦~30
|
// ·TA是乐园优秀圈主哦~30
|
||||||
|
|
||||||
var titleList = [];
|
|
||||||
|
|
||||||
if (recommendCircleFriendData['is_follow_me']) {
|
info = checkCardReturnData(recommendCircleFriendData);
|
||||||
titleList.add('对方喜欢了你');
|
|
||||||
} else if (recommendCircleFriendData['has_both_friend']) {
|
|
||||||
titleList.add('你们有共同喜欢的圈友');
|
|
||||||
} else if (recommendCircleFriendData['has_friend_follow_to']) {
|
|
||||||
titleList.add('你喜欢的圈友也喜欢TA');
|
|
||||||
}
|
|
||||||
if (titleList.length < 3) {
|
|
||||||
List citys = recommendCircleFriendData['both_cities'];
|
|
||||||
if (citys.isNotEmpty) {
|
|
||||||
titleList.add('你们都在${citys.first}留下过足迹');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (titleList.length < 3) {
|
|
||||||
List circles = recommendCircleFriendData['both_interests'];
|
|
||||||
if (circles.isNotEmpty) {
|
|
||||||
List<dynamic> both_interests =
|
|
||||||
recommendCircleFriendData['both_interests'];
|
|
||||||
List<String> circleList = [];
|
|
||||||
both_interests.forEach((element) {
|
|
||||||
circleList.add(element['title']);
|
|
||||||
});
|
|
||||||
if (circleList.isNotEmpty) {
|
|
||||||
titleList
|
|
||||||
.add('你们有${circleList.length}个共同的圈子:${circleList.join('、')}');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (titleList.length < 3) {
|
|
||||||
if (recommendCircleFriendData.containsKey('is_new_user')) {
|
|
||||||
titleList.add('我刚来到这里哦');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (titleList.length < 3) {
|
|
||||||
if (recommendCircleFriendData['is_wanna_meet']) {
|
|
||||||
titleList.add('很多圈友都喜欢TA');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (titleList.length < 3) {
|
|
||||||
if (recommendCircleFriendData['is_most_fans']) {
|
|
||||||
titleList.add('可能是你想认识的人');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (titleList.length < 3) {
|
|
||||||
if (recommendCircleFriendData['is_excellent_qz_leader']) {
|
|
||||||
titleList.add('TA是乐园优秀圈主哦~');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (titleList.length >= 1) {
|
|
||||||
info['city'] = titleList.first;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (titleList.length >= 2) {
|
|
||||||
info['both_interests'] = titleList[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (titleList.length >= 3) {
|
|
||||||
info['desc'] = titleList[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
List circleList = recommendCircleFriendData['interests'];
|
List circleList = recommendCircleFriendData['interests'];
|
||||||
|
|
||||||
@ -1060,6 +1004,10 @@ class _TIMConversationState extends TIMUIKitState<TIMConversation> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
]));
|
]));
|
||||||
|
} catch (e) {
|
||||||
|
loadRecommendCircleFriendData();
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
circleInfoItem(var bean, int index) {
|
circleInfoItem(var bean, int index) {
|
||||||
|
|||||||
@ -22,9 +22,23 @@ class SwiperPage extends StatefulWidget {
|
|||||||
class _SwiperPageState extends State<SwiperPage> {
|
class _SwiperPageState extends State<SwiperPage> {
|
||||||
|
|
||||||
GlobalKey _globalKey = GlobalKey();
|
GlobalKey _globalKey = GlobalKey();
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return GetBuilder<SwiperLogic>(builder: (logic) {
|
return GetBuilder<SwiperLogic>(builder: (logic) {
|
||||||
|
List<Widget> imgList = [];
|
||||||
|
logic.imgList.forEach((element) {
|
||||||
|
imgList.add(CachedNetworkImage(
|
||||||
|
imageUrl: element,
|
||||||
|
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
height: Get.height,
|
||||||
|
width: Get.width,
|
||||||
|
));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: null,
|
appBar: null,
|
||||||
backgroundColor: Colors.black87,
|
backgroundColor: Colors.black87,
|
||||||
@ -41,6 +55,7 @@ class _SwiperPageState extends State<SwiperPage> {
|
|||||||
controller: logic.swiperController,
|
controller: logic.swiperController,
|
||||||
index: logic.index,
|
index: logic.index,
|
||||||
loop: false,
|
loop: false,
|
||||||
|
|
||||||
itemBuilder: (BuildContext context, int index) {
|
itemBuilder: (BuildContext context, int index) {
|
||||||
// if (logic.index == index) {
|
// if (logic.index == index) {
|
||||||
// return RepaintBoundary(
|
// return RepaintBoundary(
|
||||||
@ -89,20 +104,40 @@ class _SwiperPageState extends State<SwiperPage> {
|
|||||||
|
|
||||||
itemWidget(SwiperLogic logic,int index) {
|
itemWidget(SwiperLogic logic,int index) {
|
||||||
return Container(
|
return Container(
|
||||||
width: double.infinity,
|
width: Get.width,
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Stack(
|
Stack(
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
Container(
|
Container(
|
||||||
// color: Colors.red,
|
// color: Colors.red,
|
||||||
|
|
||||||
child: CachedNetworkImage(
|
child: CachedNetworkImage(
|
||||||
|
// progressIndicatorBuilder: (context,str,progress) {
|
||||||
|
// return Container();
|
||||||
|
// },
|
||||||
|
placeholder: (context,str) {
|
||||||
|
print(str + '进度');
|
||||||
|
if (Get.arguments['index'] == index) {
|
||||||
|
return Container(
|
||||||
|
// color: Colors.red,
|
||||||
|
child: CachedNetworkImage(
|
||||||
|
imageUrl: logic.imgList[index].toString(),
|
||||||
|
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
width: Get.width,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
|
},
|
||||||
imageUrl: logic.imgList[index].toString().contains('?') ? logic.imgList[index].toString().split('?').first : logic.imgList[index].toString(),
|
imageUrl: logic.imgList[index].toString().contains('?') ? logic.imgList[index].toString().split('?').first : logic.imgList[index].toString(),
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
width: double.infinity,
|
width: Get.width,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Positioned(
|
Positioned(
|
||||||
|
|||||||
@ -228,10 +228,22 @@ class MyTabbedScreenState extends State<UserinfoPage>
|
|||||||
color: Color(0xFF240F3B)),
|
color: Color(0xFF240F3B)),
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
height: 24.sp,
|
height: 24.sp,
|
||||||
child: Text(
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Image.asset(
|
||||||
|
getDisCoverImage('wx'),
|
||||||
|
width: 20.sp,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 2.sp,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
'想要微信号',
|
'想要微信号',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white, fontSize: 14.sp),
|
color: Colors.white, fontSize: 13.sp),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@ -154,7 +154,7 @@ Widget getZN() {
|
|||||||
),
|
),
|
||||||
margin: EdgeInsets.only(left: 10.0.sp),
|
margin: EdgeInsets.only(left: 10.0.sp),
|
||||||
child: Text(
|
child: Text(
|
||||||
"直男",
|
"男",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: const Color(0xFFF7FAFA),
|
color: const Color(0xFFF7FAFA),
|
||||||
fontSize: 12.0.sp,
|
fontSize: 12.0.sp,
|
||||||
@ -176,7 +176,7 @@ Widget getNV() {
|
|||||||
),
|
),
|
||||||
margin: EdgeInsets.only(left: 10.0.sp),
|
margin: EdgeInsets.only(left: 10.0.sp),
|
||||||
child: Text(
|
child: Text(
|
||||||
"真女",
|
"女",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: const Color(0xFFF7FAFA),
|
color: const Color(0xFFF7FAFA),
|
||||||
fontSize: 12.0.sp,
|
fontSize: 12.0.sp,
|
||||||
|
|||||||
@ -42,7 +42,7 @@ class _TodayPeopleDialogState extends State<TodayPeopleDialog> {
|
|||||||
itemWidget() {
|
itemWidget() {
|
||||||
var info = {};
|
var info = {};
|
||||||
|
|
||||||
var user = Users.fromJson(recommendCircleFriendData['user']);
|
|
||||||
|
|
||||||
// 对方喜欢了你100
|
// 对方喜欢了你100
|
||||||
// ·你们有共同喜欢的圈友90
|
// ·你们有共同喜欢的圈友90
|
||||||
@ -54,6 +54,8 @@ class _TodayPeopleDialogState extends State<TodayPeopleDialog> {
|
|||||||
// ·TA是乐园优秀圈主哦~30
|
// ·TA是乐园优秀圈主哦~30
|
||||||
|
|
||||||
var titleList = [];
|
var titleList = [];
|
||||||
|
var user = Users.fromJson(recommendCircleFriendData['user']);
|
||||||
|
try {
|
||||||
|
|
||||||
if (recommendCircleFriendData['is_follow_me']) {
|
if (recommendCircleFriendData['is_follow_me']) {
|
||||||
titleList.add('对方喜欢了你');
|
titleList.add('对方喜欢了你');
|
||||||
@ -120,6 +122,10 @@ class _TodayPeopleDialogState extends State<TodayPeopleDialog> {
|
|||||||
if (titleList.length >= 3) {
|
if (titleList.length >= 3) {
|
||||||
info['desc'] = titleList[2];
|
info['desc'] = titleList[2];
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
|
loadRecommendCircleFriendData();
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
|
|
||||||
List circleList = recommendCircleFriendData['interests'];
|
List circleList = recommendCircleFriendData['interests'];
|
||||||
return Container(
|
return Container(
|
||||||
@ -139,7 +145,8 @@ class _TodayPeopleDialogState extends State<TodayPeopleDialog> {
|
|||||||
children: [
|
children: [
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(AppRoutes.UserInfoActivity, arguments: '');
|
|
||||||
|
Get.toNamed(AppRoutes.UserInfoActivity, arguments: recommendCircleFriendData['user']['id'].toString());
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|||||||
@ -26,6 +26,8 @@ import '../app/select_circle/logic.dart';
|
|||||||
import '../network/dio_manager.dart';
|
import '../network/dio_manager.dart';
|
||||||
import 'SharedPreferencesHelper.dart';
|
import 'SharedPreferencesHelper.dart';
|
||||||
|
|
||||||
|
List chatIdList = [];
|
||||||
|
|
||||||
class Util {}
|
class Util {}
|
||||||
|
|
||||||
//获取图片
|
//获取图片
|
||||||
@ -515,6 +517,8 @@ pushChatPage(String userId, String imId, String userName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
createCustomMsg(String userId, String imId) async {
|
createCustomMsg(String userId, String imId) async {
|
||||||
|
if (chatIdList.contains(imId)) return;
|
||||||
|
chatIdList.add(imId);
|
||||||
//通过会话ID获取指定会话列表
|
//通过会话ID获取指定会话列表
|
||||||
V2TimValueCallback<List<V2TimConversation>>
|
V2TimValueCallback<List<V2TimConversation>>
|
||||||
getConversationListByConversaionIdsRes = await TencentImSDKPlugin
|
getConversationListByConversaionIdsRes = await TencentImSDKPlugin
|
||||||
@ -772,3 +776,74 @@ sendInventWishCustomMsg(String userId, String data, String desc) async {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//判断卡片返回信息
|
||||||
|
Map checkCardReturnData(Map recommendCircleFriendData) {
|
||||||
|
var titleList = [];
|
||||||
|
Map info = {};
|
||||||
|
if (recommendCircleFriendData['is_follow_me']) {
|
||||||
|
titleList.add('对方喜欢了你');
|
||||||
|
} else if (recommendCircleFriendData['has_both_friend']) {
|
||||||
|
titleList.add('你们有共同喜欢的圈友');
|
||||||
|
} else if (recommendCircleFriendData['has_friend_follow_to']) {
|
||||||
|
titleList.add('你喜欢的圈友也喜欢TA');
|
||||||
|
}
|
||||||
|
if (titleList.length < 3) {
|
||||||
|
List citys = recommendCircleFriendData['both_cities'];
|
||||||
|
if (citys.isNotEmpty) {
|
||||||
|
titleList.add('你们都在${citys.first}留下过足迹');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (titleList.length < 3) {
|
||||||
|
List circles = recommendCircleFriendData['both_interests'];
|
||||||
|
if (circles.isNotEmpty) {
|
||||||
|
List<dynamic> both_interests =
|
||||||
|
recommendCircleFriendData['both_interests'];
|
||||||
|
List<String> circleList = [];
|
||||||
|
both_interests.forEach((element) {
|
||||||
|
circleList.add(element['title']);
|
||||||
|
});
|
||||||
|
if (circleList.isNotEmpty) {
|
||||||
|
titleList
|
||||||
|
.add('你们有${circleList.length}个共同的圈子:${circleList.join('、')}');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (titleList.length < 3) {
|
||||||
|
if (recommendCircleFriendData.containsKey('is_new_user')) {
|
||||||
|
titleList.add('我刚来到这里哦');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (titleList.length < 3) {
|
||||||
|
if (recommendCircleFriendData['is_wanna_meet']) {
|
||||||
|
titleList.add('很多圈友都喜欢TA');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (titleList.length < 3) {
|
||||||
|
if (recommendCircleFriendData['is_most_fans']) {
|
||||||
|
titleList.add('可能是你想认识的人');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (titleList.length < 3) {
|
||||||
|
if (recommendCircleFriendData['is_excellent_qz_leader']) {
|
||||||
|
titleList.add('TA是乐园优秀圈主哦~');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (titleList.length >= 1) {
|
||||||
|
info['city'] = titleList.first;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (titleList.length >= 2) {
|
||||||
|
info['both_interests'] = titleList[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (titleList.length >= 3) {
|
||||||
|
info['desc'] = titleList[2];
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
}
|
||||||
@ -89,7 +89,7 @@ dependencies:
|
|||||||
# 微信SDK插件
|
# 微信SDK插件
|
||||||
fluwx: ^3.8.1+1
|
fluwx: ^3.8.1+1
|
||||||
event_bus: ^2.0.0
|
event_bus: ^2.0.0
|
||||||
#安装apk
|
# #安装apk
|
||||||
flutter_install_app: 1.3.0
|
flutter_install_app: 1.3.0
|
||||||
#闪屏页
|
#闪屏页
|
||||||
flutter_native_splash: 2.2.16
|
flutter_native_splash: 2.2.16
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user