@@ -597,6 +597,11 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
child: hasHeadImg | child: hasHeadImg | ||||
? CachedNetworkImage( | ? CachedNetworkImage( | ||||
imageUrl: UserData().basicInfo.headimgurl, | imageUrl: UserData().basicInfo.headimgurl, | ||||
placeholder: (context, url) => Image.asset( | |||||
Constants.DefaultHeadImgUrl, | |||||
width: 40, | |||||
height: 40, | |||||
), | |||||
width: 40, | width: 40, | ||||
height: 40, | height: 40, | ||||
) | ) | ||||
@@ -624,12 +629,11 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
print('发送引用的消息'); | print('发送引用的消息'); | ||||
MessageMgr().emit('Reply Select Message', widget.msg); | MessageMgr().emit('Reply Select Message', widget.msg); | ||||
}); | }); | ||||
actionsFunc.add(() { | |||||
actionsFunc.add(() { | |||||
print('转发消息'); | print('转发消息'); | ||||
AppNavigator.pushForwardPage(context, widget.msg); | AppNavigator.pushForwardPage(context, widget.msg); | ||||
}); | }); | ||||
if (widget.msg.msgType == ChatType.TextChatType.value) { | if (widget.msg.msgType == ChatType.TextChatType.value) { | ||||
actions.insert(0, I18n.of(context).copy); | actions.insert(0, I18n.of(context).copy); | ||||
actionsFunc.insert(0, () { | actionsFunc.insert(0, () { | ||||
@@ -1279,6 +1283,11 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
child: hasHeadImg | child: hasHeadImg | ||||
? CachedNetworkImage( | ? CachedNetworkImage( | ||||
imageUrl: friendInfo.headimgurl, | imageUrl: friendInfo.headimgurl, | ||||
placeholder: (context, url) => Image.asset( | |||||
Constants.DefaultHeadImgUrl, | |||||
width: 40, | |||||
height: 40, | |||||
), | |||||
width: 40, | width: 40, | ||||
height: 40, | height: 40, | ||||
) | ) | ||||
@@ -1518,7 +1518,9 @@ class _ProfilePageState extends State<ProfilePage> | |||||
return; | return; | ||||
} | } | ||||
if (UserData().addFdDistanceSwitch > 0 && userInfo.distince > 200) { | |||||
if (widget.addMode != 3 && | |||||
UserData().addFdDistanceSwitch > 0 && | |||||
userInfo.distince > 200) { | |||||
showToast(I18n.of(context).distance_long); | showToast(I18n.of(context).distance_long); | ||||
return; | return; | ||||
} | } | ||||
@@ -2466,7 +2468,7 @@ class _ProfilePageState extends State<ProfilePage> | |||||
), | ), | ||||
child: Row( | child: Row( | ||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly, | mainAxisAlignment: MainAxisAlignment.spaceEvenly, | ||||
children: widget.addMode == 1 | |||||
children: widget.addMode == 1 || widget.addMode == 3 | |||||
? <Widget>[_inviteFdBtn()] | ? <Widget>[_inviteFdBtn()] | ||||
: (widget.addMode == 2 | : (widget.addMode == 2 | ||||
? [_dealInvite()] | ? [_dealInvite()] | ||||
@@ -101,7 +101,7 @@ class _GlobalSearchPageState extends State<GlobalSearchPage> { | |||||
Navigator.of(context).push( | Navigator.of(context).push( | ||||
new MaterialPageRoute( | new MaterialPageRoute( | ||||
builder: (context) { | builder: (context) { | ||||
return ProfilePage(userId: userId, addMode: 1); | |||||
return ProfilePage(userId: userId, addMode: 3); | |||||
}, | }, | ||||
), | ), | ||||
); | ); | ||||
@@ -112,10 +112,10 @@ class _GlobalSearchPageState extends State<GlobalSearchPage> { | |||||
height: 55.1, | height: 55.1, | ||||
width: Screen.width, | width: Screen.width, | ||||
child: Row( | child: Row( | ||||
mainAxisAlignment: MainAxisAlignment.center, | |||||
mainAxisAlignment: MainAxisAlignment.start, | |||||
children: <Widget>[ | children: <Widget>[ | ||||
Container( | Container( | ||||
margin: EdgeInsets.only(right: 13), | |||||
margin: EdgeInsets.only(left: 20,right: 13), | |||||
width: Constants.ContactAvatarSize, | width: Constants.ContactAvatarSize, | ||||
height: Constants.ContactAvatarSize, | height: Constants.ContactAvatarSize, | ||||
decoration: BoxDecoration( | decoration: BoxDecoration( | ||||
@@ -132,10 +132,15 @@ class _GlobalSearchPageState extends State<GlobalSearchPage> { | |||||
color: Colors.white, | color: Colors.white, | ||||
), | ), | ||||
), | ), | ||||
Text('${I18n.of(context).search_phone}: ', | |||||
style: TextStyle(fontSize: 16.23)), | |||||
Text(searchStr, | |||||
style: TextStyle(fontSize: 16.23, color: Color(0xFF008AFF))) | |||||
Container( | |||||
child: Text('${I18n.of(context).search_phone}: ', | |||||
style: TextStyle(fontSize: 16.23)), | |||||
), | |||||
Container( | |||||
margin: EdgeInsets.only(top: 5), | |||||
child: Text(searchStr, | |||||
style: TextStyle( | |||||
fontSize: 16.23, color: Color(0xFF008AFF)))) | |||||
], | ], | ||||
), | ), | ||||
color: Colors.white)); | color: Colors.white)); | ||||
@@ -80,7 +80,7 @@ class GroupSettingState extends State<GroupSetting> { | |||||
//清空聊天记录 | //清空聊天记录 | ||||
clearRecord() { | clearRecord() { | ||||
//清楚最后一条数据 | |||||
//清楚最后一条数据 | |||||
widget.groupInfoModel.lastMsg = null; | widget.groupInfoModel.lastMsg = null; | ||||
//清空聊天数据 | //清空聊天数据 | ||||
@@ -542,24 +542,27 @@ class GroupSettingState extends State<GroupSetting> { | |||||
borderRadius: BorderRadius.all(Radius.circular(8.0)), | borderRadius: BorderRadius.all(Radius.circular(8.0)), | ||||
child: CachedNetworkImage( | child: CachedNetworkImage( | ||||
imageUrl: member.avtar, | imageUrl: member.avtar, | ||||
placeholder: CustomUI.buildImgLoding, | |||||
placeholder: (context, url) => Image.asset( | |||||
Constants.DefaultHeadImgUrl, | |||||
width: size - 30, | |||||
height: size - 30, | |||||
), | |||||
width: size - 30, | width: size - 30, | ||||
height: size - 30, | height: size - 30, | ||||
)), | )), | ||||
SizedBox( | SizedBox( | ||||
height: 5, | height: 5, | ||||
), | ), | ||||
SizedBox( | |||||
width:size - 30, | |||||
child: Text( | |||||
refName, | |||||
style: TextStyle(fontSize: 11, color: Color(0xff818181)), | |||||
maxLines: 1, | |||||
overflow: TextOverflow.ellipsis, | |||||
), | |||||
Container( | |||||
width: size - 30, | |||||
alignment: Alignment.center, | |||||
child: Text( | |||||
refName, | |||||
style: TextStyle(fontSize: 11, color: Color(0xff818181)), | |||||
maxLines: 1, | |||||
overflow: TextOverflow.ellipsis, | |||||
), | |||||
) | ) | ||||
], | ], | ||||
), | ), | ||||
width: size, | width: size, | ||||
@@ -569,7 +572,7 @@ class GroupSettingState extends State<GroupSetting> { | |||||
onTap: () { | onTap: () { | ||||
if (members[index].memberId != UserData().basicInfo.userId) { | if (members[index].memberId != UserData().basicInfo.userId) { | ||||
AppNavigator.pushProfileInfoPage(context, members[index].memberId, | AppNavigator.pushProfileInfoPage(context, members[index].memberId, | ||||
fromWhere: 2,addMode: 1); | |||||
fromWhere: 2, addMode: 1); | |||||
} | } | ||||
}, | }, | ||||
)); | )); | ||||
@@ -3,7 +3,6 @@ import 'package:chat/data/UserData.dart'; | |||||
import 'package:chat/data/constants.dart'; | import 'package:chat/data/constants.dart'; | ||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/home/find_page.dart'; | import 'package:chat/home/find_page.dart'; | ||||
import 'package:chat/home/group_chat_page.dart'; | |||||
import 'package:chat/home/realtimehelper/real_time_helper_page.dart'; | import 'package:chat/home/realtimehelper/real_time_helper_page.dart'; | ||||
import 'package:chat/home/unread_dot_widget.dart'; | import 'package:chat/home/unread_dot_widget.dart'; | ||||
import 'package:chat/models/UserInfo.dart'; | import 'package:chat/models/UserInfo.dart'; | ||||
@@ -1,30 +1,12 @@ | |||||
import 'package:cached_network_image/cached_network_image.dart'; | |||||
import 'package:chat/data/UserData.dart'; | |||||
import 'package:chat/data/chat_data_mgr.dart'; | |||||
import 'package:chat/data/group_data_mgr.dart'; | |||||
import 'package:chat/home/add_friend.dart'; | |||||
import 'package:chat/home/group_announcement.dart'; | |||||
import 'package:chat/home/group_manage_page.dart'; | |||||
import 'package:chat/home/realtimehelper/translation_butler_page.dart'; | import 'package:chat/home/realtimehelper/translation_butler_page.dart'; | ||||
import 'package:chat/home/realtimehelper/travel_butler_page.dart'; | import 'package:chat/home/realtimehelper/travel_butler_page.dart'; | ||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/models/ref_name_provider.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | |||||
import 'package:chat/utils/group_member_model.dart'; | |||||
import 'package:chat/utils/msgHandler.dart'; | |||||
import 'package:chat/utils/screen.dart'; | |||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:oktoast/oktoast.dart'; | |||||
import 'package:provider/provider.dart'; | |||||
import '../../data/constants.dart'; | import '../../data/constants.dart'; | ||||
import '../../generated/i18n.dart'; | import '../../generated/i18n.dart'; | ||||
import '../../r.dart'; | import '../../r.dart'; | ||||
import '../../utils/CustomUI.dart'; | |||||
import '../../utils/FullWithButton.dart'; | |||||
import '../../utils/app_navigator.dart'; | |||||
import '../create_group_view.dart'; | |||||
class RealTimeHelperPage extends StatefulWidget { | class RealTimeHelperPage extends StatefulWidget { | ||||
final GroupInfoModel groupInfoModel; | final GroupInfoModel groupInfoModel; | ||||
@@ -1,17 +1,6 @@ | |||||
import 'package:cached_network_image/cached_network_image.dart'; | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/data/chat_data_mgr.dart'; | |||||
import 'package:chat/data/group_data_mgr.dart'; | |||||
import 'package:chat/home/add_friend.dart'; | |||||
import 'package:chat/home/group_announcement.dart'; | |||||
import 'package:chat/home/group_manage_page.dart'; | |||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/models/money_change.dart'; | import 'package:chat/models/money_change.dart'; | ||||
import 'package:chat/models/ref_name_provider.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | |||||
import 'package:chat/utils/group_member_model.dart'; | |||||
import 'package:chat/utils/msgHandler.dart'; | |||||
import 'package:chat/utils/screen.dart'; | |||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:oktoast/oktoast.dart'; | import 'package:oktoast/oktoast.dart'; | ||||
@@ -21,9 +10,6 @@ import '../../data/constants.dart'; | |||||
import '../../generated/i18n.dart'; | import '../../generated/i18n.dart'; | ||||
import '../../r.dart'; | import '../../r.dart'; | ||||
import '../../utils/CustomUI.dart'; | import '../../utils/CustomUI.dart'; | ||||
import '../../utils/FullWithButton.dart'; | |||||
import '../../utils/app_navigator.dart'; | |||||
import '../create_group_view.dart'; | |||||
import 'package:chat/utils/PopUpMenu.dart' as myPop; | import 'package:chat/utils/PopUpMenu.dart' as myPop; | ||||
class TranslationButlerPage extends StatefulWidget { | class TranslationButlerPage extends StatefulWidget { | ||||
@@ -1,35 +1,18 @@ | |||||
import 'dart:math'; | import 'dart:math'; | ||||
import 'package:cached_network_image/cached_network_image.dart'; | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/data/chat_data_mgr.dart'; | |||||
import 'package:chat/data/group_data_mgr.dart'; | |||||
import 'package:chat/home/add_friend.dart'; | |||||
import 'package:chat/home/group_announcement.dart'; | |||||
import 'package:chat/home/group_manage_page.dart'; | |||||
import 'package:chat/map/google_map_location_picker.dart'; | import 'package:chat/map/google_map_location_picker.dart'; | ||||
import 'package:chat/map/location_result.dart'; | import 'package:chat/map/location_result.dart'; | ||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/models/ref_name_provider.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | |||||
import 'package:chat/utils/group_member_model.dart'; | |||||
import 'package:chat/utils/msgHandler.dart'; | |||||
import 'package:chat/utils/screen.dart'; | |||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; | |||||
import 'package:geolocator/geolocator.dart'; | import 'package:geolocator/geolocator.dart'; | ||||
import 'package:google_maps_flutter/google_maps_flutter.dart'; | import 'package:google_maps_flutter/google_maps_flutter.dart'; | ||||
import 'package:oktoast/oktoast.dart'; | |||||
import 'package:permission_handler/permission_handler.dart'; | import 'package:permission_handler/permission_handler.dart'; | ||||
import 'package:provider/provider.dart'; | |||||
import '../../data/constants.dart'; | import '../../data/constants.dart'; | ||||
import '../../generated/i18n.dart'; | import '../../generated/i18n.dart'; | ||||
import '../../utils/CustomUI.dart'; | import '../../utils/CustomUI.dart'; | ||||
import '../../utils/FullWithButton.dart'; | |||||
import '../../utils/app_navigator.dart'; | |||||
import '../create_group_view.dart'; | |||||
class TravelButlerPage extends StatefulWidget { | class TravelButlerPage extends StatefulWidget { | ||||
final GroupInfoModel groupInfoModel; | final GroupInfoModel groupInfoModel; | ||||
@@ -1,7 +1,6 @@ | |||||
import 'package:chat/data/constants.dart'; | import 'package:chat/data/constants.dart'; | ||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:oktoast/oktoast.dart'; | import 'package:oktoast/oktoast.dart'; | ||||
@@ -34,7 +34,7 @@ class MsgHandler { | |||||
static bool isAudioConnect = false; | static bool isAudioConnect = false; | ||||
static BuildContext context; | |||||
static BuildContext context = Constants.getCurrentContext(); | |||||
static List<MsgModel> sendCache = []; | static List<MsgModel> sendCache = []; | ||||