@@ -0,0 +1,2 @@ | |||||
connection.project.dir= | |||||
eclipse.preferences.version=1 |
@@ -1162,5 +1162,12 @@ | |||||
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | "confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | ||||
"send_to": "發送到", | "send_to": "發送到", | ||||
"search_plach":"搜索位置", | "search_plach":"搜索位置", | ||||
"finding_place":"查找位置" | |||||
"finding_place":"查找位置", | |||||
"real_time_helper": "实时帮", | |||||
"translation_butler": "翻译管家", | |||||
"travel_butler": "出行管家", | |||||
"translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", | |||||
"choose_language": "请选择您的语言和要翻译的语言", | |||||
"translation_butler_rules": "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束", | |||||
"translation_butler_call": "呼叫管家" | |||||
} | } |
@@ -1162,5 +1162,12 @@ | |||||
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | "confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | ||||
"send_to": "發送到", | "send_to": "發送到", | ||||
"search_plach":"搜索位置", | "search_plach":"搜索位置", | ||||
"finding_place":"查找位置" | |||||
"finding_place":"查找位置", | |||||
"real_time_helper": "实时帮", | |||||
"translation_butler": "翻译管家", | |||||
"travel_butler": "出行管家", | |||||
"translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", | |||||
"choose_language": "请选择您的语言和要翻译的语言", | |||||
"translation_butler_rules": "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束", | |||||
"translation_butler_call": "呼叫管家" | |||||
} | } |
@@ -1161,5 +1161,12 @@ | |||||
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | "confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | ||||
"send_to": "發送到", | "send_to": "發送到", | ||||
"search_plach":"搜索位置", | "search_plach":"搜索位置", | ||||
"finding_place":"查找位置" | |||||
"finding_place":"查找位置", | |||||
"real_time_helper": "实时帮", | |||||
"translation_butler": "翻译管家", | |||||
"travel_butler": "出行管家", | |||||
"translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", | |||||
"choose_language": "请选择您的语言和要翻译的语言", | |||||
"translation_butler_rules": "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束", | |||||
"translation_butler_call": "呼叫管家" | |||||
} | } |
@@ -1162,5 +1162,12 @@ | |||||
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | "confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | ||||
"send_to": "發送到", | "send_to": "發送到", | ||||
"search_plach":"搜索位置", | "search_plach":"搜索位置", | ||||
"finding_place":"查找位置" | |||||
"finding_place":"查找位置", | |||||
"real_time_helper": "实时帮", | |||||
"translation_butler": "翻译管家", | |||||
"travel_butler": "出行管家", | |||||
"translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", | |||||
"choose_language": "请选择您的语言和要翻译的语言", | |||||
"translation_butler_rules": "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束", | |||||
"translation_butler_call": "呼叫管家" | |||||
} | } |
@@ -1162,5 +1162,16 @@ | |||||
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | "confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)", | ||||
"send_to": "发送到", | "send_to": "发送到", | ||||
"search_plach":"搜索位置", | "search_plach":"搜索位置", | ||||
"finding_place":"查找位置" | |||||
"finding_place":"查找位置", | |||||
"real_time_helper": "实时帮", | |||||
"translation_butler": "翻译管家", | |||||
"travel_butler": "出行管家", | |||||
"translation_butler_tips": "您的实时贴身翻译,随时随地帮您解决语言不通", | |||||
"choose_language": "请选择您的语言和要翻译的语言", | |||||
"translation_butler_rules": "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束", | |||||
"translation_butler_call": "呼叫管家" | |||||
} | } |
@@ -1162,5 +1162,12 @@ | |||||
"confrim_recovery":"確定恢復已被焚毀的照片嗎?\n(已經看過的用戶可以再看一次)", | "confrim_recovery":"確定恢復已被焚毀的照片嗎?\n(已經看過的用戶可以再看一次)", | ||||
"send_to": "發送到", | "send_to": "發送到", | ||||
"search_plach":"搜索位置", | "search_plach":"搜索位置", | ||||
"finding_place":"查找位置" | |||||
"finding_place":"查找位置", | |||||
"real_time_helper": "實時幫", | |||||
"translation_butler": "翻譯管家", | |||||
"travel_butler": "出行管家", | |||||
"translation_butler_tips": "您的實時貼身翻譯,隨時隨地幫您解決語言不通", | |||||
"choose_language": "請選擇您的語言和要翻譯的語言", | |||||
"translation_butler_rules": "呼叫管家需要預扣50H幣,超過10分鐘後根據每分鐘5H幣進行自動扣費,餘額不足時自動結束", | |||||
"translation_butler_call": "呼叫管家" | |||||
} | } |
@@ -2,9 +2,10 @@ | |||||
# This is a generated file; do not edit or check into version control. | # This is a generated file; do not edit or check into version control. | ||||
export "FLUTTER_ROOT=/Users/random/sdk/flutter_sdk" | export "FLUTTER_ROOT=/Users/random/sdk/flutter_sdk" | ||||
export "FLUTTER_APPLICATION_PATH=/Users/random/code/flutter/project/qunliao" | export "FLUTTER_APPLICATION_PATH=/Users/random/code/flutter/project/qunliao" | ||||
export "FLUTTER_TARGET=lib/main.dart" | |||||
export "FLUTTER_TARGET=/Users/random/code/flutter/project/qunliao/lib/main.dart" | |||||
export "FLUTTER_BUILD_DIR=build" | export "FLUTTER_BUILD_DIR=build" | ||||
export "SYMROOT=${SOURCE_ROOT}/../build/ios" | export "SYMROOT=${SOURCE_ROOT}/../build/ios" | ||||
export "FLUTTER_FRAMEWORK_DIR=/Users/random/sdk/flutter_sdk/bin/cache/artifacts/engine/ios-release" | |||||
export "FLUTTER_FRAMEWORK_DIR=/Users/random/sdk/flutter_sdk/bin/cache/artifacts/engine/ios" | |||||
export "FLUTTER_BUILD_NAME=1.0.5" | export "FLUTTER_BUILD_NAME=1.0.5" | ||||
export "FLUTTER_BUILD_NUMBER=6" | export "FLUTTER_BUILD_NUMBER=6" | ||||
export "TRACK_WIDGET_CREATION=true" |
@@ -1,5 +1,5 @@ | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/data/constants.dart'; | |||||
import 'package:extended_text_library/extended_text_library.dart'; | import 'package:extended_text_library/extended_text_library.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
@@ -28,7 +28,7 @@ class EmojiGifText extends SpecialText { | |||||
imageHeight: size, | imageHeight: size, | ||||
start: start, | start: start, | ||||
fit: BoxFit.fill, | fit: BoxFit.fill, | ||||
margin: EdgeInsets.only(left: 2.0, top: 2.0, right: 2.0)):SpecialTextSpan(text:'[${I18n.of(LoadingManage.context).emoji}]', actualText: '' ); | |||||
margin: EdgeInsets.only(left: 2.0, top: 2.0, right: 2.0)):SpecialTextSpan(text:'[${I18n.of(Constants.getCurrentContext()).emoji}]', actualText: '' ); | |||||
// return Image.asset(EmojiGifUitl.instance.emojiMap[key]); | // return Image.asset(EmojiGifUitl.instance.emojiMap[key]); | ||||
@@ -1,14 +1,14 @@ | |||||
import 'dart:io'; | import 'dart:io'; | ||||
import 'dart:typed_data'; | import 'dart:typed_data'; | ||||
import 'package:chat/chat/download_item.dart'; | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/models/ChatMsg.dart'; | import 'package:chat/models/ChatMsg.dart'; | ||||
import 'package:chat/utils/screen.dart'; | |||||
import 'package:extended_image/extended_image.dart'; | |||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:image_gallery_saver/image_gallery_saver.dart'; | import 'package:image_gallery_saver/image_gallery_saver.dart'; | ||||
import 'package:oktoast/oktoast.dart'; | import 'package:oktoast/oktoast.dart'; | ||||
import '../r.dart'; | |||||
class PhotoPage extends StatefulWidget { | class PhotoPage extends StatefulWidget { | ||||
final MsgModel msg; | final MsgModel msg; | ||||
@@ -20,12 +20,6 @@ class PhotoPage extends StatefulWidget { | |||||
class _PhotoPageState extends State<PhotoPage> | class _PhotoPageState extends State<PhotoPage> | ||||
with SingleTickerProviderStateMixin { | with SingleTickerProviderStateMixin { | ||||
AnimationController _controller; | AnimationController _controller; | ||||
Animation<Offset> _animation; | |||||
Offset _offset = Offset.zero; | |||||
double _scale = 1.0; | |||||
Offset _normalizedOffset; | |||||
double _previousScale; | |||||
double _kMinFlingVelocity = 600.0; | |||||
ImageProvider provider; | ImageProvider provider; | ||||
@@ -37,7 +31,6 @@ class _PhotoPageState extends State<PhotoPage> | |||||
_controller = AnimationController(vsync: this); | _controller = AnimationController(vsync: this); | ||||
_controller.addListener(() { | _controller.addListener(() { | ||||
setState(() { | setState(() { | ||||
_offset = _animation.value; | |||||
}); | }); | ||||
}); | }); | ||||
} | } | ||||
@@ -59,75 +52,50 @@ class _PhotoPageState extends State<PhotoPage> | |||||
super.dispose(); | super.dispose(); | ||||
} | } | ||||
Offset _clampOffset(Offset offset) { | |||||
final Size size = context.size; | |||||
// widget的屏幕宽度 | |||||
final Offset minOffset = Offset(size.width, size.height) * (1.0 - _scale); | |||||
// 限制他的最小尺寸 | |||||
return Offset( | |||||
offset.dx.clamp(minOffset.dx, 0.0), offset.dy.clamp(minOffset.dy, 0.0)); | |||||
} | |||||
void _handleOnScaleStart(ScaleStartDetails details) { | |||||
setState(() { | |||||
_previousScale = _scale; | |||||
_normalizedOffset = (details.focalPoint - _offset) / _scale; | |||||
// 计算图片放大后的位置 | |||||
_controller.stop(); | |||||
}); | |||||
} | |||||
void _handleOnScaleUpdate(ScaleUpdateDetails details) { | |||||
setState(() { | |||||
_scale = (_previousScale * details.scale).clamp(1.0, 3.0); | |||||
// 限制放大倍数 1~3倍 | |||||
_offset = _clampOffset(details.focalPoint - _normalizedOffset * _scale); | |||||
// 更新当前位置 | |||||
}); | |||||
} | |||||
void _handleOnScaleEnd(ScaleEndDetails details) { | |||||
final double magnitude = details.velocity.pixelsPerSecond.distance; | |||||
if (magnitude < _kMinFlingVelocity) return; | |||||
final Offset direction = details.velocity.pixelsPerSecond / magnitude; | |||||
// 计算当前的方向 | |||||
final double distance = (Offset.zero & context.size).shortestSide; | |||||
// 计算放大倍速,并相应的放大宽和高,比如原来是600*480的图片,放大后倍数为1.25倍时,宽和高是同时变化的 | |||||
_animation = _controller.drive(Tween<Offset>( | |||||
begin: _offset, end: _clampOffset(_offset + direction * distance))); | |||||
_controller | |||||
..value = 0.0 | |||||
..fling(velocity: magnitude / 1000.0); | |||||
} | |||||
@override | @override | ||||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
Uint8List fileData; | |||||
if (widget.msg.localFile != null) { | |||||
fileData = File(widget.msg.localFile).readAsBytesSync(); | |||||
} else { | |||||
fileData = Uint8List.fromList(widget.msg.msgContent); | |||||
} | |||||
return GestureDetector( | return GestureDetector( | ||||
onTap: () { | |||||
Navigator.pop(context); | |||||
}, | |||||
onScaleStart: _handleOnScaleStart, | |||||
onScaleUpdate: _handleOnScaleUpdate, | |||||
onScaleEnd: _handleOnScaleEnd, | |||||
child: Material( | |||||
child: DownloadItem( | |||||
msg: widget.msg, | |||||
isAutoDown: false, | |||||
onComplete: () { | |||||
getImgData(); | |||||
setState(() {}); | |||||
onTap: () { | |||||
Navigator.pop(context); | |||||
}, | }, | ||||
child: Transform( | |||||
transform: Matrix4.identity() | |||||
..translate(_offset.dx, _offset.dy) | |||||
..scale(_scale), | |||||
child: Container( | |||||
width: Screen.width, | |||||
height: Screen.height, | |||||
alignment: Alignment.center, | |||||
child: Stack( | child: Stack( | ||||
children: <Widget>[ | children: <Widget>[ | ||||
Image( | |||||
fit: BoxFit.fitWidth, | |||||
image: provider ?? AssetImage(R.assetsImagesIcAlbum), | |||||
), | |||||
SingleChildScrollView( | |||||
child: Column( | |||||
children: <Widget>[ | |||||
Container( | |||||
width: Screen.width, | |||||
constraints: BoxConstraints(minHeight: Screen.height), | |||||
child: ExtendedImage.memory( | |||||
fileData, | |||||
fit: BoxFit.fitWidth, | |||||
mode: ExtendedImageMode.gesture, | |||||
initGestureConfigHandler: (state) { | |||||
return GestureConfig( | |||||
minScale: 0.9, | |||||
animationMinScale: 0.7, | |||||
maxScale: 3.0, | |||||
animationMaxScale: 3.5, | |||||
speed: 1.0, | |||||
inertialSpeed: 100.0, | |||||
initialScale: 1.0, | |||||
inPageView: true, | |||||
initialAlignment: InitialAlignment.center, | |||||
); | |||||
}, | |||||
)) | |||||
], | |||||
)), | |||||
Positioned( | Positioned( | ||||
right: 10, | right: 10, | ||||
bottom: 10, | bottom: 10, | ||||
@@ -141,14 +109,12 @@ class _PhotoPageState extends State<PhotoPage> | |||||
child: Icon(Icons.save_alt, color: Colors.white70), | child: Icon(Icons.save_alt, color: Colors.white70), | ||||
))) | ))) | ||||
], | ], | ||||
)), | |||||
)), | |||||
); | |||||
))); | |||||
} | } | ||||
saveToGallery() async { | saveToGallery() async { | ||||
if (widget.msg.localFile != null) { | if (widget.msg.localFile != null) { | ||||
var data= File(widget.msg.localFile).readAsBytesSync(); | |||||
var data = File(widget.msg.localFile).readAsBytesSync(); | |||||
ImageGallerySaver.saveImage(data).then((res) { | ImageGallerySaver.saveImage(data).then((res) { | ||||
print(res); | print(res); | ||||
if (res != null) { | if (res != null) { | ||||
@@ -13,7 +13,7 @@ import 'package:chat/proto/all.pbserver.dart'; | |||||
import 'package:chat/utils/ChargeMoney.dart'; | import 'package:chat/utils/ChargeMoney.dart'; | ||||
import 'package:chat/utils/CustomUI.dart'; | import 'package:chat/utils/CustomUI.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | import 'package:chat/utils/HttpUtil.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/data/constants.dart'; | |||||
import 'package:chat/utils/app_navigator.dart'; | import 'package:chat/utils/app_navigator.dart'; | ||||
import 'package:chat/utils/blacklist_mgr.dart'; | import 'package:chat/utils/blacklist_mgr.dart'; | ||||
import 'package:chat/utils/image_util.dart'; | import 'package:chat/utils/image_util.dart'; | ||||
@@ -32,12 +32,17 @@ import 'package:file_picker/file_picker.dart'; | |||||
import '../r.dart'; | import '../r.dart'; | ||||
class UtilKeyboard extends StatelessWidget { | |||||
class UtilKeyboard extends StatefulWidget { | |||||
final double keyboardHeight; | final double keyboardHeight; | ||||
final Function sendMsg; | final Function sendMsg; | ||||
final bool isGroup; | final bool isGroup; | ||||
UtilKeyboard({this.keyboardHeight, this.sendMsg, this.isGroup}); | UtilKeyboard({this.keyboardHeight, this.sendMsg, this.isGroup}); | ||||
@override | |||||
_UtilKeyboardState createState() => _UtilKeyboardState(); | |||||
} | |||||
class _UtilKeyboardState extends State<UtilKeyboard> { | |||||
bool isAuthority = false; | bool isAuthority = false; | ||||
@override | @override | ||||
@@ -57,7 +62,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
_sendVideo(context); | _sendVideo(context); | ||||
})); | })); | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
iconList.add( | iconList.add( | ||||
_buildOtherSelect(R.assetsImagesChatItem3, I18n.of(context).chat, () { | _buildOtherSelect(R.assetsImagesChatItem3, I18n.of(context).chat, () { | ||||
_audioChat(context); | _audioChat(context); | ||||
@@ -69,7 +74,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
_openMap(context); | _openMap(context); | ||||
})); | })); | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
iconList.add(Offstage( | iconList.add(Offstage( | ||||
offstage: !isShowRedPacket, | offstage: !isShowRedPacket, | ||||
child: _buildOtherSelect( | child: _buildOtherSelect( | ||||
@@ -90,7 +95,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
return Container( | return Container( | ||||
width: Screen.width, | width: Screen.width, | ||||
color: Colors.white, | color: Colors.white, | ||||
height: keyboardHeight, | |||||
height: widget.keyboardHeight, | |||||
padding: EdgeInsets.only(top: 20, bottom: 10, left: 20), | padding: EdgeInsets.only(top: 20, bottom: 10, left: 20), | ||||
alignment: Alignment.topLeft, | alignment: Alignment.topLeft, | ||||
child: Wrap(spacing: 10.0, runSpacing: 20.0, children: iconList)); | child: Wrap(spacing: 10.0, runSpacing: 20.0, children: iconList)); | ||||
@@ -98,7 +103,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
_showGiftSheet(BuildContext context) { | _showGiftSheet(BuildContext context) { | ||||
int friendId = 0; | int friendId = 0; | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
@@ -112,7 +117,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
builder: (BuildContext context) { | builder: (BuildContext context) { | ||||
return StatefulBuilder( | return StatefulBuilder( | ||||
builder: (BuildContext context, setBottomSheetState) { | builder: (BuildContext context, setBottomSheetState) { | ||||
return GiftSelectWidget(friendId, sendMsg); | |||||
return GiftSelectWidget(friendId, widget.sendMsg); | |||||
}, | }, | ||||
); | ); | ||||
}); | }); | ||||
@@ -134,16 +139,16 @@ class UtilKeyboard extends StatelessWidget { | |||||
var reslutStr = jsonEncode(result); | var reslutStr = jsonEncode(result); | ||||
int friendId = 0; | int friendId = 0; | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
var msg = MsgHandler.createSendMsg( | var msg = MsgHandler.createSendMsg( | ||||
ChatType.PlaceChatType, utf8.encode(reslutStr), | ChatType.PlaceChatType, utf8.encode(reslutStr), | ||||
friendId: friendId, | friendId: friendId, | ||||
channelType: | channelType: | ||||
isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
widget.isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
sendMsg(msg); | |||||
widget.sendMsg(msg); | |||||
} | } | ||||
} | } | ||||
@@ -278,7 +283,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
int aspectRatio = rect.width * 100 ~/ rect.height; | int aspectRatio = rect.width * 100 ~/ rect.height; | ||||
int friendId = 0; | int friendId = 0; | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
var msg = MsgHandler.createSendMsg(ChatType.ImageChatType, sendImg, | var msg = MsgHandler.createSendMsg(ChatType.ImageChatType, sendImg, | ||||
@@ -286,9 +291,9 @@ class UtilKeyboard extends StatelessWidget { | |||||
friendId: friendId, | friendId: friendId, | ||||
localFile: isNeedUpload ? imgFile.absolute.path : null, | localFile: isNeedUpload ? imgFile.absolute.path : null, | ||||
channelType: | channelType: | ||||
isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
widget.isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
sendMsg(msg); | |||||
widget.sendMsg(msg); | |||||
} | } | ||||
} | } | ||||
@@ -303,10 +308,9 @@ class UtilKeyboard extends StatelessWidget { | |||||
} | } | ||||
int friendId = 0; | int friendId = 0; | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
var fileName = file.path.split('/').last; | var fileName = file.path.split('/').last; | ||||
print('fileName $fileName'); | print('fileName $fileName'); | ||||
@@ -326,9 +330,10 @@ class UtilKeyboard extends StatelessWidget { | |||||
ChatType.FileChatType, fileMsg.writeToBuffer(), | ChatType.FileChatType, fileMsg.writeToBuffer(), | ||||
friendId: friendId, | friendId: friendId, | ||||
localFile: file.path, | localFile: file.path, | ||||
channelType: isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
channelType: | |||||
widget.isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
sendMsg(msg); | |||||
widget.sendMsg(msg); | |||||
} | } | ||||
void _sendVideo(BuildContext context) async { | void _sendVideo(BuildContext context) async { | ||||
@@ -342,7 +347,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
print('视频大小:$videoSize'); | print('视频大小:$videoSize'); | ||||
if (videoSize > 33 * 1024 * 1024) { | if (videoSize > 33 * 1024 * 1024) { | ||||
showToast(I18n.of(LoadingManage.context).video_more_big); | |||||
showToast(I18n.of(Constants.getCurrentContext()).video_more_big); | |||||
return; | return; | ||||
} | } | ||||
@@ -354,7 +359,7 @@ class UtilKeyboard extends StatelessWidget { | |||||
int aspectRatio = rect.width * 100 ~/ rect.height; | int aspectRatio = rect.width * 100 ~/ rect.height; | ||||
int friendId = 0; | int friendId = 0; | ||||
if (!isGroup) { | |||||
if (!widget.isGroup) { | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
var msg = MsgHandler.createSendMsg(ChatType.ShortVideoChatType, thumbnail, | var msg = MsgHandler.createSendMsg(ChatType.ShortVideoChatType, thumbnail, | ||||
@@ -362,9 +367,9 @@ class UtilKeyboard extends StatelessWidget { | |||||
friendId: friendId, | friendId: friendId, | ||||
localFile: video.path, | localFile: video.path, | ||||
channelType: | channelType: | ||||
isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
widget.isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
sendMsg(msg); | |||||
widget.sendMsg(msg); | |||||
} | } | ||||
} | } | ||||
@@ -109,6 +109,16 @@ class Constants { | |||||
///ture 应用商店版本 false线下渠道 | ///ture 应用商店版本 false线下渠道 | ||||
static const bool isStoreVersion = false; | static const bool isStoreVersion = false; | ||||
//app全局key,处理content | |||||
static final GlobalKey<NavigatorState> navigatorKey = GlobalKey(); | |||||
/// 获取当前的state | |||||
static NavigatorState getCurrentState() => navigatorKey.currentState; | |||||
/// 获取当前的context | |||||
static BuildContext getCurrentContext() => navigatorKey.currentContext; | |||||
///在pubspec.yaml中修改版本号 | ///在pubspec.yaml中修改版本号 | ||||
static String versionName = '1.0.0'; | static String versionName = '1.0.0'; | ||||
@@ -2361,6 +2361,20 @@ class I18n implements WidgetsLocalizations { | |||||
String get search_plach => "搜索位置"; | String get search_plach => "搜索位置"; | ||||
/// "查找位置" | /// "查找位置" | ||||
String get finding_place => "查找位置"; | String get finding_place => "查找位置"; | ||||
/// "实时帮" | |||||
String get real_time_helper => "实时帮"; | |||||
/// "翻译管家" | |||||
String get translation_butler => "翻译管家"; | |||||
/// "出行管家" | |||||
String get travel_butler => "出行管家"; | |||||
/// "您的实时贴身翻译,随时随地帮您解决语言不通" | |||||
String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; | |||||
/// "请选择您的语言和要翻译的语言" | |||||
String get choose_language => "请选择您的语言和要翻译的语言"; | |||||
/// "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束" | |||||
String get translation_butler_rules => "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束"; | |||||
/// "呼叫管家" | |||||
String get translation_butler_call => "呼叫管家"; | |||||
} | } | ||||
class _I18n_en_US extends I18n { | class _I18n_en_US extends I18n { | ||||
@@ -5865,6 +5879,27 @@ class _I18n_vi_VN extends I18n { | |||||
/// "查找位置" | /// "查找位置" | ||||
@override | @override | ||||
String get finding_place => "查找位置"; | String get finding_place => "查找位置"; | ||||
/// "实时帮" | |||||
@override | |||||
String get real_time_helper => "实时帮"; | |||||
/// "翻译管家" | |||||
@override | |||||
String get translation_butler => "翻译管家"; | |||||
/// "出行管家" | |||||
@override | |||||
String get travel_butler => "出行管家"; | |||||
/// "您的实时贴身翻译,随时随地帮您解决语言不通" | |||||
@override | |||||
String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; | |||||
/// "请选择您的语言和要翻译的语言" | |||||
@override | |||||
String get choose_language => "请选择您的语言和要翻译的语言"; | |||||
/// "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束" | |||||
@override | |||||
String get translation_butler_rules => "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束"; | |||||
/// "呼叫管家" | |||||
@override | |||||
String get translation_butler_call => "呼叫管家"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -9365,6 +9400,27 @@ class _I18n_zh_HK extends I18n { | |||||
/// "查找位置" | /// "查找位置" | ||||
@override | @override | ||||
String get finding_place => "查找位置"; | String get finding_place => "查找位置"; | ||||
/// "實時幫" | |||||
@override | |||||
String get real_time_helper => "實時幫"; | |||||
/// "翻譯管家" | |||||
@override | |||||
String get translation_butler => "翻譯管家"; | |||||
/// "出行管家" | |||||
@override | |||||
String get travel_butler => "出行管家"; | |||||
/// "您的實時貼身翻譯,隨時隨地幫您解決語言不通" | |||||
@override | |||||
String get translation_butler_tips => "您的實時貼身翻譯,隨時隨地幫您解決語言不通"; | |||||
/// "請選擇您的語言和要翻譯的語言" | |||||
@override | |||||
String get choose_language => "請選擇您的語言和要翻譯的語言"; | |||||
/// "呼叫管家需要預扣50H幣,超過10分鐘後根據每分鐘5H幣進行自動扣費,餘額不足時自動結束" | |||||
@override | |||||
String get translation_butler_rules => "呼叫管家需要預扣50H幣,超過10分鐘後根據每分鐘5H幣進行自動扣費,餘額不足時自動結束"; | |||||
/// "呼叫管家" | |||||
@override | |||||
String get translation_butler_call => "呼叫管家"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -12865,6 +12921,27 @@ class _I18n_zh_CN extends _I18n_zh_HK { | |||||
/// "查找位置" | /// "查找位置" | ||||
@override | @override | ||||
String get finding_place => "查找位置"; | String get finding_place => "查找位置"; | ||||
/// "实时帮" | |||||
@override | |||||
String get real_time_helper => "实时帮"; | |||||
/// "翻译管家" | |||||
@override | |||||
String get translation_butler => "翻译管家"; | |||||
/// "出行管家" | |||||
@override | |||||
String get travel_butler => "出行管家"; | |||||
/// "您的实时贴身翻译,随时随地帮您解决语言不通" | |||||
@override | |||||
String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; | |||||
/// "请选择您的语言和要翻译的语言" | |||||
@override | |||||
String get choose_language => "请选择您的语言和要翻译的语言"; | |||||
/// "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束" | |||||
@override | |||||
String get translation_butler_rules => "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束"; | |||||
/// "呼叫管家" | |||||
@override | |||||
String get translation_butler_call => "呼叫管家"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -16362,6 +16439,27 @@ class _I18n_ko_KR extends I18n { | |||||
/// "查找位置" | /// "查找位置" | ||||
@override | @override | ||||
String get finding_place => "查找位置"; | String get finding_place => "查找位置"; | ||||
/// "实时帮" | |||||
@override | |||||
String get real_time_helper => "实时帮"; | |||||
/// "翻译管家" | |||||
@override | |||||
String get translation_butler => "翻译管家"; | |||||
/// "出行管家" | |||||
@override | |||||
String get travel_butler => "出行管家"; | |||||
/// "您的实时贴身翻译,随时随地帮您解决语言不通" | |||||
@override | |||||
String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; | |||||
/// "请选择您的语言和要翻译的语言" | |||||
@override | |||||
String get choose_language => "请选择您的语言和要翻译的语言"; | |||||
/// "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束" | |||||
@override | |||||
String get translation_butler_rules => "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束"; | |||||
/// "呼叫管家" | |||||
@override | |||||
String get translation_butler_call => "呼叫管家"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -19862,6 +19960,27 @@ class _I18n_ja_JP extends I18n { | |||||
/// "查找位置" | /// "查找位置" | ||||
@override | @override | ||||
String get finding_place => "查找位置"; | String get finding_place => "查找位置"; | ||||
/// "实时帮" | |||||
@override | |||||
String get real_time_helper => "实时帮"; | |||||
/// "翻译管家" | |||||
@override | |||||
String get translation_butler => "翻译管家"; | |||||
/// "出行管家" | |||||
@override | |||||
String get travel_butler => "出行管家"; | |||||
/// "您的实时贴身翻译,随时随地帮您解决语言不通" | |||||
@override | |||||
String get translation_butler_tips => "您的实时贴身翻译,随时随地帮您解决语言不通"; | |||||
/// "请选择您的语言和要翻译的语言" | |||||
@override | |||||
String get choose_language => "请选择您的语言和要翻译的语言"; | |||||
/// "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束" | |||||
@override | |||||
String get translation_butler_rules => "呼叫管家需要预扣50H币,超过10分钟后根据每分钟5H币进行自动扣费,余额不足时自动结束"; | |||||
/// "呼叫管家" | |||||
@override | |||||
String get translation_butler_call => "呼叫管家"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -1,22 +1,29 @@ | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/data/WebData.dart'; | import 'package:chat/data/WebData.dart'; | ||||
import 'package:chat/data/conversation.dart'; | import 'package:chat/data/conversation.dart'; | ||||
import 'package:chat/data/group_data_mgr.dart'; | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/home/InfoList.dart'; | import 'package:chat/home/InfoList.dart'; | ||||
import 'package:chat/home/last_chat_record_widget.dart'; | import 'package:chat/home/last_chat_record_widget.dart'; | ||||
import 'package:chat/home/rich_title.dart'; | import 'package:chat/home/rich_title.dart'; | ||||
import 'package:chat/home/unread_dot_widget.dart'; | import 'package:chat/home/unread_dot_widget.dart'; | ||||
import 'package:chat/models/group_info_model.dart'; | |||||
import 'package:chat/utils/CustomUI.dart'; | import 'package:chat/utils/CustomUI.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | import 'package:chat/utils/HttpUtil.dart'; | ||||
import 'package:chat/utils/MessageMgr.dart'; | import 'package:chat/utils/MessageMgr.dart'; | ||||
import 'package:chat/utils/TokenMgr.dart'; | import 'package:chat/utils/TokenMgr.dart'; | ||||
import 'package:chat/utils/screen.dart'; | |||||
import 'package:dio/dio.dart'; | import 'package:dio/dio.dart'; | ||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:shared_preferences/shared_preferences.dart'; | import 'package:shared_preferences/shared_preferences.dart'; | ||||
import '../data/constants.dart' show AppColors, AppStyles, Constants; | |||||
import '../data/constants.dart' show AppColors, AppStyles, Constants, GlobalSearchPageType, GroupOperatingPageType; | |||||
import 'package:cached_network_image/cached_network_image.dart'; | import 'package:cached_network_image/cached_network_image.dart'; | ||||
import 'create_group_view.dart'; | |||||
import 'global_search.dart'; | |||||
import 'group_item_widget.dart'; | |||||
class _ConversationItem extends StatelessWidget { | class _ConversationItem extends StatelessWidget { | ||||
const _ConversationItem( | const _ConversationItem( | ||||
{Key key, | {Key key, | ||||
@@ -229,9 +236,12 @@ class _ConversActionPageState extends State<ConversActionPage> | |||||
super.initState(); | super.initState(); | ||||
MessageMgr().on('update_system', getSystemMsg); | MessageMgr().on('update_system', getSystemMsg); | ||||
MessageMgr().on('Quit Group', quitGroup); | |||||
MessageMgr().on('Update Group List', updateGroupLastMsg); | |||||
getSystemMsg(null); | getSystemMsg(null); | ||||
tabCtrl = TabController(length: 2, vsync: this); | |||||
tabCtrl = TabController(length: 3, vsync: this); | |||||
} | } | ||||
@override | @override | ||||
@@ -243,6 +253,9 @@ class _ConversActionPageState extends State<ConversActionPage> | |||||
@override | @override | ||||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
List<GroupInfoModel> groupList = GroupInfoMgr().groupInfoList; | |||||
return Scaffold( | return Scaffold( | ||||
backgroundColor: Colors.white, | backgroundColor: Colors.white, | ||||
appBar: AppBar( | appBar: AppBar( | ||||
@@ -315,6 +328,13 @@ class _ConversActionPageState extends State<ConversActionPage> | |||||
textScaleFactor: 1.0), | textScaleFactor: 1.0), | ||||
), | ), | ||||
type: 1), | type: 1), | ||||
UnreadDot( | |||||
child: Container( | |||||
margin: EdgeInsets.only(right: 4), | |||||
child: Text(I18n.of(context).group_chat, | |||||
textScaleFactor: 1.0), | |||||
), | |||||
type: 4), | |||||
UnreadDot( | UnreadDot( | ||||
child: Container( | child: Container( | ||||
margin: EdgeInsets.only(right: 4), | margin: EdgeInsets.only(right: 4), | ||||
@@ -330,6 +350,22 @@ class _ConversActionPageState extends State<ConversActionPage> | |||||
child: TabBarView( | child: TabBarView( | ||||
children: <Widget>[ | children: <Widget>[ | ||||
LastChatPage(), | LastChatPage(), | ||||
ListView.builder( | |||||
// controller: _scrollController, | |||||
itemBuilder: (BuildContext context, int index) { | |||||
if (index == 0) { | |||||
return _buildCreateButton(); | |||||
} else { | |||||
var info = groupList[index - 1]; | |||||
return GroupItem(ValueKey(info), groupInfoModel: info); | |||||
} | |||||
}, | |||||
itemCount: groupList.length + 1, | |||||
), | |||||
ListView( | ListView( | ||||
children: <Widget>[ | children: <Widget>[ | ||||
SizedBox(height: 8.5), | SizedBox(height: 8.5), | ||||
@@ -480,4 +516,93 @@ class _ConversActionPageState extends State<ConversActionPage> | |||||
controller: tabCtrl, | controller: tabCtrl, | ||||
))); | ))); | ||||
} | } | ||||
Widget _buildCreateButton() { | |||||
List<GroupInfoModel> groupList = GroupInfoMgr().groupInfoList; | |||||
Widget _avatarIcon = ClipRRect( | |||||
borderRadius: BorderRadius.circular(GroupRadius), | |||||
child: Container( | |||||
color: const Color(0xFFF2F2F2), | |||||
height: AvatarSize, | |||||
width: AvatarSize, | |||||
child: Icon( | |||||
IconData(0xe66f, fontFamily: Constants.IconFontFamily), | |||||
color: Constants.BlueTextColor, | |||||
size: 35, | |||||
), | |||||
)); | |||||
Widget _button = InkWell( | |||||
onTap: () { | |||||
Navigator.of(context).push( | |||||
new MaterialPageRoute( | |||||
builder: (context) { | |||||
return CreateGroupPage( | |||||
GroupOperatingPageType.CreateGroup, [], null); | |||||
}, | |||||
), | |||||
); | |||||
}, | |||||
child: Container( | |||||
height: ItemHeight-20, | |||||
// margin: EdgeInsets.only(top: 1.5, bottom:1), | |||||
decoration: BoxDecoration(color: Colors.white), | |||||
child: Row( | |||||
children: <Widget>[ | |||||
SizedBox(width: LeftPadding), | |||||
_avatarIcon, | |||||
SizedBox(width: 14.0), | |||||
Text( | |||||
I18n.of(context).create_group_chat, | |||||
style: TextStyle(fontSize: 15.5), | |||||
), | |||||
], | |||||
), | |||||
)); | |||||
Widget tips = Container( | |||||
alignment: Alignment.centerLeft, | |||||
width: Screen.width, | |||||
height: 33.5, | |||||
padding: EdgeInsets.only(left: LeftPadding), | |||||
decoration: BoxDecoration( | |||||
color: Colors.white, | |||||
border: Border(bottom: Constants.GreyBorderSide)), | |||||
child: Text(I18n.of(context).group_chat + '(${groupList.length})'), | |||||
); | |||||
return Column( | |||||
children: <Widget>[ | |||||
SizedBox(height: 10,), | |||||
CustomUI.buildSearchButton(context, () { | |||||
Navigator.of(context).push( | |||||
new MaterialPageRoute( | |||||
builder: (context) { | |||||
return GlobalSearchPage( | |||||
type: GlobalSearchPageType.SearchGroup, | |||||
); | |||||
}, | |||||
), | |||||
); | |||||
},bottom: 10 ), | |||||
_button, | |||||
tips, | |||||
], | |||||
); | |||||
} | |||||
quitGroup(args) { | |||||
if (mounted) { | |||||
setState(() { | |||||
print('更新群列表'); | |||||
}); | |||||
} | |||||
} | |||||
updateGroupLastMsg(args) async { | |||||
await GroupInfoMgr().sortGroupList(); | |||||
if (mounted) { | |||||
setState(() {}); | |||||
} | |||||
} | |||||
} | } |
@@ -1,6 +1,5 @@ | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/screen.dart'; | import 'package:chat/utils/screen.dart'; | ||||
import 'package:connectivity/connectivity.dart'; | import 'package:connectivity/connectivity.dart'; | ||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
@@ -153,7 +152,7 @@ class _IndexPageState extends State<IndexPage> { | |||||
return; | return; | ||||
} | } | ||||
if (resData['data'] != null) { | if (resData['data'] != null) { | ||||
HttpUtil().changePage(LoadingManage.context, resData); | |||||
HttpUtil().changePage(Constants.getCurrentContext(), resData); | |||||
} | } | ||||
} | } | ||||
@@ -27,7 +27,7 @@ enum reason { | |||||
liar, | liar, | ||||
} | } | ||||
int Max_Img_Num = 4; | |||||
const int MaxImgNum = 4; | |||||
class InformUserPage extends StatefulWidget { | class InformUserPage extends StatefulWidget { | ||||
@required | @required | ||||
@@ -182,7 +182,7 @@ class _InformUserPageState extends State<InformUserPage> { | |||||
var photos = await PhotoPicker.pickAsset( | var photos = await PhotoPicker.pickAsset( | ||||
context: context, | context: context, | ||||
themeColor: Color(0xFFF0F0F0), | themeColor: Color(0xFFF0F0F0), | ||||
maxSelected: Max_Img_Num - imgUrlList.length, | |||||
maxSelected: MaxImgNum - imgUrlList.length, | |||||
textColor: Color(0xFF3F3F3F), | textColor: Color(0xFF3F3F3F), | ||||
pickType: PickType.onlyImage); | pickType: PickType.onlyImage); | ||||
@@ -346,7 +346,7 @@ class _InformUserPageState extends State<InformUserPage> { | |||||
List<Widget> list = imgUrlList.map((f) { | List<Widget> list = imgUrlList.map((f) { | ||||
return _buildImg(f); | return _buildImg(f); | ||||
}).toList(); | }).toList(); | ||||
if (list.length < Max_Img_Num) { | |||||
if (list.length < MaxImgNum) { | |||||
list.add(upButton); | list.add(upButton); | ||||
} | } | ||||
var socialCard = new Container( | var socialCard = new Container( | ||||
@@ -187,16 +187,6 @@ class _AlterSelectPageState extends State<AlterSelectPage> { | |||||
} | } | ||||
} | } | ||||
Widget _buildAvatar(url) { | |||||
return ClipRRect( | |||||
borderRadius: BorderRadius.circular(6), | |||||
child: CachedNetworkImage( | |||||
imageUrl: url, | |||||
width: Constants.ContactAvatarSize, | |||||
height: Constants.ContactAvatarSize, | |||||
)); | |||||
} | |||||
String getLetter(BuildContext context, double tileHeight, Offset globalPos) { | String getLetter(BuildContext context, double tileHeight, Offset globalPos) { | ||||
RenderBox _box = context.findRenderObject(); | RenderBox _box = context.findRenderObject(); | ||||
var local = _box.globalToLocal(globalPos); | var local = _box.globalToLocal(globalPos); | ||||
@@ -12,7 +12,6 @@ import 'package:chat/generated/i18n.dart'; | |||||
import 'package:chat/models/ref_name_provider.dart'; | import 'package:chat/models/ref_name_provider.dart'; | ||||
import 'package:chat/utils/CustomUI.dart'; | import 'package:chat/utils/CustomUI.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | import 'package:chat/utils/HttpUtil.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | import 'package:chat/utils/MessageMgr.dart'; | ||||
import 'package:chat/utils/TokenMgr.dart'; | import 'package:chat/utils/TokenMgr.dart'; | ||||
import 'package:chat/utils/conversation_table.dart'; | import 'package:chat/utils/conversation_table.dart'; | ||||
@@ -93,7 +92,7 @@ class _FriendPageState extends State<FriendPage> { | |||||
avatar: '', | avatar: '', | ||||
userId: 0, | userId: 0, | ||||
iconCode: 0xe66c, | iconCode: 0xe66c, | ||||
title: I18n.of(LoadingManage.context).new_friends, | |||||
title: I18n.of(Constants.getCurrentContext()).new_friends, | |||||
gradient: LinearGradient( | gradient: LinearGradient( | ||||
begin: Alignment.topCenter, | begin: Alignment.topCenter, | ||||
end: Alignment.bottomCenter, | end: Alignment.bottomCenter, | ||||
@@ -187,11 +186,11 @@ class _FriendPageState extends State<FriendPage> { | |||||
showPermission() async { | showPermission() async { | ||||
if (await CustomUI.showPermissionSetting( | if (await CustomUI.showPermissionSetting( | ||||
LoadingManage.context, | |||||
Constants.getCurrentContext(), | |||||
PermissionGroup.contacts, | PermissionGroup.contacts, | ||||
I18n.of(LoadingManage.context).contact_permission)) { | |||||
I18n.of(Constants.getCurrentContext()).contact_permission)) { | |||||
MessageMgr().emit('PostContact'); | MessageMgr().emit('PostContact'); | ||||
Navigator.push(LoadingManage.context, | |||||
Navigator.push(Constants.getCurrentContext(), | |||||
MaterialPageRoute<void>(builder: (BuildContext context) { | MaterialPageRoute<void>(builder: (BuildContext context) { | ||||
return ContactsPage(); | return ContactsPage(); | ||||
})); | })); | ||||
@@ -259,7 +258,7 @@ class _FriendPageState extends State<FriendPage> { | |||||
avatar: '', | avatar: '', | ||||
userId: 0, | userId: 0, | ||||
iconCode: 0xe659, | iconCode: 0xe659, | ||||
title: I18n.of(LoadingManage.context).scan, | |||||
title: I18n.of(Constants.getCurrentContext()).scan, | |||||
gradient: LinearGradient( | gradient: LinearGradient( | ||||
begin: Alignment.topCenter, | begin: Alignment.topCenter, | ||||
end: Alignment.bottomCenter, | end: Alignment.bottomCenter, | ||||
@@ -268,14 +267,14 @@ class _FriendPageState extends State<FriendPage> { | |||||
const Color(0xFF3441C1), | const Color(0xFF3441C1), | ||||
]), | ]), | ||||
onPressed: () { | onPressed: () { | ||||
CustomUI().goScanPage(LoadingManage.context); | |||||
CustomUI().goScanPage(Constants.getCurrentContext()); | |||||
}), | }), | ||||
FriendsInfo( | FriendsInfo( | ||||
avatar: '', | avatar: '', | ||||
userId: 0, | userId: 0, | ||||
iconCode: 0xe67a, | iconCode: 0xe67a, | ||||
isShowDivder: true, | isShowDivder: true, | ||||
title: I18n.of(LoadingManage.context).contact_add, | |||||
title: I18n.of(Constants.getCurrentContext()).contact_add, | |||||
gradient: LinearGradient( | gradient: LinearGradient( | ||||
begin: Alignment.topCenter, | begin: Alignment.topCenter, | ||||
end: Alignment.bottomCenter, | end: Alignment.bottomCenter, | ||||
@@ -303,7 +302,7 @@ class _FriendPageState extends State<FriendPage> { | |||||
userId: 0, | userId: 0, | ||||
iconCode: 0xe662, | iconCode: 0xe662, | ||||
isShowDivder: true, | isShowDivder: true, | ||||
title: I18n.of(LoadingManage.context).add_friends, | |||||
title: I18n.of(Constants.getCurrentContext()).add_friends, | |||||
gradient: LinearGradient( | gradient: LinearGradient( | ||||
begin: Alignment.topCenter, | begin: Alignment.topCenter, | ||||
end: Alignment.bottomCenter, | end: Alignment.bottomCenter, | ||||
@@ -312,7 +311,7 @@ class _FriendPageState extends State<FriendPage> { | |||||
const Color(0xFF6118A6), | const Color(0xFF6118A6), | ||||
]), | ]), | ||||
onPressed: () async { | onPressed: () async { | ||||
Navigator.push(LoadingManage.context, | |||||
Navigator.push(Constants.getCurrentContext(), | |||||
MaterialPageRoute<void>(builder: (BuildContext context) { | MaterialPageRoute<void>(builder: (BuildContext context) { | ||||
return SearchNewFriendsPage(); | return SearchNewFriendsPage(); | ||||
})); | })); | ||||
@@ -4,11 +4,11 @@ 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/group_chat_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'; | ||||
import 'package:chat/models/ref_name_provider.dart'; | import 'package:chat/models/ref_name_provider.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | import 'package:chat/utils/HttpUtil.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | import 'package:chat/utils/MessageMgr.dart'; | ||||
import 'package:chat/utils/TokenMgr.dart'; | import 'package:chat/utils/TokenMgr.dart'; | ||||
import 'package:chat/utils/app_navigator.dart'; | import 'package:chat/utils/app_navigator.dart'; | ||||
@@ -142,7 +142,6 @@ class _HomeMainState extends State<HomeMain> { | |||||
@override | @override | ||||
void initState() { | void initState() { | ||||
MsgHandler.context = context; | |||||
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light); | SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light); | ||||
super.initState(); | super.initState(); | ||||
@@ -253,7 +252,7 @@ class _HomeMainState extends State<HomeMain> { | |||||
goShareInfo(data) async { | goShareInfo(data) async { | ||||
Future.delayed(Duration(milliseconds: 1000), () { | Future.delayed(Duration(milliseconds: 1000), () { | ||||
Navigator.of(LoadingManage.context).push( | |||||
Navigator.of(Constants.getCurrentContext()).push( | |||||
new MaterialPageRoute( | new MaterialPageRoute( | ||||
builder: (context) { | builder: (context) { | ||||
return FilePreview(data); | return FilePreview(data); | ||||
@@ -310,7 +309,7 @@ class _HomeMainState extends State<HomeMain> { | |||||
NavigationIconView( | NavigationIconView( | ||||
title: _titles[2], | title: _titles[2], | ||||
icon: IconData( | icon: IconData( | ||||
0xe60b, | |||||
0xe67c, | |||||
fontFamily: 'iconfont', | fontFamily: 'iconfont', | ||||
), | ), | ||||
isShowdot: true, | isShowdot: true, | ||||
@@ -321,7 +320,7 @@ class _HomeMainState extends State<HomeMain> { | |||||
isShowdot: true, | isShowdot: true, | ||||
type: 5, | type: 5, | ||||
icon: IconData( | icon: IconData( | ||||
0xe663, | |||||
0xe66e, | |||||
fontFamily: 'iconfont', | fontFamily: 'iconfont', | ||||
), | ), | ||||
iconSize: 26.5), | iconSize: 26.5), | ||||
@@ -337,7 +336,7 @@ class _HomeMainState extends State<HomeMain> { | |||||
title: _titles[1], | title: _titles[1], | ||||
isShowdot: true, | isShowdot: true, | ||||
icon: IconData( | icon: IconData( | ||||
0xe66e, | |||||
0xe60b, | |||||
fontFamily: 'iconfont', | fontFamily: 'iconfont', | ||||
), | ), | ||||
type: 4, | type: 4, | ||||
@@ -345,17 +344,18 @@ class _HomeMainState extends State<HomeMain> { | |||||
NavigationIconView( | NavigationIconView( | ||||
title: _titles[3], | title: _titles[3], | ||||
icon: IconData( | icon: IconData( | ||||
0xe648, | |||||
0xe67b, | |||||
fontFamily: 'iconfont', | fontFamily: 'iconfont', | ||||
), | ), | ||||
iconSize: 26.5), | iconSize: 26.5), | ||||
]; | ]; | ||||
_pages = [ | _pages = [ | ||||
ConversActionPage(), | |||||
RealTimeHelperPage(), | |||||
FriendPage(), | FriendPage(), | ||||
FindPage(), | FindPage(), | ||||
GroupChatListPage(), | |||||
ConversActionPage(), | |||||
// GroupChatListPage(), | |||||
ProfilePage( | ProfilePage( | ||||
userId: UserData().basicInfo.userId, | userId: UserData().basicInfo.userId, | ||||
), | ), | ||||
@@ -7,7 +7,6 @@ import 'package:chat/data/group_data_mgr.dart'; | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/home/qr_scanner_overlay.dart'; | import 'package:chat/home/qr_scanner_overlay.dart'; | ||||
import 'package:chat/utils/CustomUI.dart'; | import 'package:chat/utils/CustomUI.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | import 'package:chat/utils/MessageMgr.dart'; | ||||
import 'package:chat/utils/app_navigator.dart'; | import 'package:chat/utils/app_navigator.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
@@ -208,7 +207,7 @@ class _QrScannerPageState extends State<QrScannerPage> | |||||
showToast(I18n.of(context).no_goupr_info); | showToast(I18n.of(context).no_goupr_info); | ||||
return; | return; | ||||
} | } | ||||
Navigator.push(LoadingManage.context, | |||||
Navigator.push(Constants.getCurrentContext(), | |||||
MaterialPageRoute<void>(builder: (BuildContext context) { | MaterialPageRoute<void>(builder: (BuildContext context) { | ||||
return JoinGroupConfirmPage( | return JoinGroupConfirmPage( | ||||
groupInfoModel: groupInfo, | groupInfoModel: groupInfo, | ||||
@@ -0,0 +1,129 @@ | |||||
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/travel_butler_page.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/material.dart'; | |||||
import 'package:oktoast/oktoast.dart'; | |||||
import 'package:provider/provider.dart'; | |||||
import '../../data/constants.dart'; | |||||
import '../../generated/i18n.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 { | |||||
final GroupInfoModel groupInfoModel; | |||||
RealTimeHelperPage({Key key, this.groupInfoModel}) : super(key: key); | |||||
@override | |||||
State<StatefulWidget> createState() { | |||||
return RealTimeHelperPageState(); | |||||
} | |||||
} | |||||
class RealTimeHelperPageState extends State<RealTimeHelperPage> { | |||||
@override | |||||
void initState() { | |||||
super.initState(); | |||||
} | |||||
@override | |||||
void dispose() { | |||||
// MessageMgr().off('Update Group Info', updateGroupInfo); | |||||
super.dispose(); | |||||
} | |||||
@override | |||||
Widget build(BuildContext context) { | |||||
Widget appBar = AppBar( | |||||
backgroundColor: AppColors.NewAppbarBgColor, | |||||
title: Text( | |||||
I18n.of(context).real_time_helper, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor), | |||||
), | |||||
// leading: CustomUI.buildCustomLeading(context), | |||||
centerTitle: false, | |||||
); | |||||
return Scaffold( | |||||
appBar: appBar, | |||||
body: SafeArea( | |||||
child: Container( | |||||
color: Color(0xffE8EAF0), | |||||
child: ListView( | |||||
children: <Widget>[ | |||||
helperCard(I18n.of(context).translation_butler, | |||||
R.assetsImagesImgTranslationButler, () { | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TranslationButlerPage(), | |||||
), | |||||
); | |||||
}), | |||||
helperCard( | |||||
I18n.of(context).travel_butler, R.assetsImagesImgTravelButler, | |||||
() { | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TravelButlerPage(), | |||||
), | |||||
); | |||||
}), | |||||
SizedBox( | |||||
height: 15, | |||||
), | |||||
], | |||||
), | |||||
), | |||||
), | |||||
); | |||||
} | |||||
Widget helperCard(String title, String assets, Function callBack) { | |||||
return InkWell( | |||||
child: Container( | |||||
margin: EdgeInsets.all(10), | |||||
child: Card( | |||||
elevation: 5, // 阴影 | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.circular(10), | |||||
// side: BorderSide(color: Colors.green,width: 25), | |||||
), | |||||
child: Container(padding: EdgeInsets.all(10),child: Column( | |||||
children: <Widget>[ | |||||
Image.asset( | |||||
assets, | |||||
), | |||||
Padding( | |||||
padding: EdgeInsets.only(top: 15, bottom: 15), | |||||
child: Text( | |||||
title + ' >>', | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: Color(0xff2685FA), fontSize: 20), | |||||
), | |||||
) | |||||
], | |||||
),), | |||||
), | |||||
), | |||||
onTap: callBack, | |||||
); | |||||
} | |||||
} |
@@ -0,0 +1,245 @@ | |||||
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/models/group_info_model.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/material.dart'; | |||||
import 'package:oktoast/oktoast.dart'; | |||||
import 'package:provider/provider.dart'; | |||||
import '../../data/constants.dart'; | |||||
import '../../generated/i18n.dart'; | |||||
import '../../r.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; | |||||
class TranslationButlerPage extends StatefulWidget { | |||||
final GroupInfoModel groupInfoModel; | |||||
TranslationButlerPage({Key key, this.groupInfoModel}) : super(key: key); | |||||
@override | |||||
State<StatefulWidget> createState() { | |||||
return TranslationButlerPageState(); | |||||
} | |||||
} | |||||
class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
int curToLang = 1; | |||||
int curSourceLang = UserData().language; | |||||
List langList; | |||||
@override | |||||
void initState() { | |||||
super.initState(); | |||||
} | |||||
@override | |||||
void didChangeDependencies() { | |||||
super.didChangeDependencies(); | |||||
langList = [ | |||||
I18n.of(context).english, | |||||
I18n.of(context).Vietnamese, | |||||
I18n.of(context).traditional_Chinese, | |||||
I18n.of(context).Simplified_Chinese, | |||||
I18n.of(context).Korean, | |||||
I18n.of(context).Japanese, | |||||
]; | |||||
} | |||||
@override | |||||
void dispose() { | |||||
// MessageMgr().off('Update Group Info', updateGroupInfo); | |||||
super.dispose(); | |||||
} | |||||
_langPopMenu(bool isSource) { | |||||
var curIndex = isSource ? curSourceLang : curToLang; | |||||
return myPop.PopupMenuButton( | |||||
child: Container( | |||||
constraints: BoxConstraints( | |||||
minHeight: 41, | |||||
minWidth: 115, | |||||
maxWidth: 165), | |||||
decoration: BoxDecoration(color: Color(0xffD3E7FF),borderRadius:BorderRadius.circular(10) ), | |||||
child: Row( | |||||
children: <Widget>[ | |||||
Expanded(child: Text(langList[curIndex],textAlign: TextAlign.center,textScaleFactor: 1.0,style: TextStyle(color: Colors.black, fontSize: 16),)), | |||||
Icon(IconData(0xe63b, fontFamily: Constants.IconFontFamily), | |||||
color: Colors.grey) | |||||
], | |||||
), | |||||
), | |||||
offset: Offset(0, 100), | |||||
onSelected: (int index) { | |||||
if (curIndex != index) { | |||||
if (isSource) { | |||||
curSourceLang = index; | |||||
} else { | |||||
curToLang = index; | |||||
} | |||||
print('更换翻译语言'); | |||||
setState(() {}); | |||||
} | |||||
}, | |||||
itemBuilder: (BuildContext context) { | |||||
return List<myPop.PopupMenuItem<int>>.generate(langList.length, | |||||
(int i) { | |||||
return myPop.PopupMenuItem( | |||||
child: Container( | |||||
alignment: Alignment.center, | |||||
color: Colors.white, | |||||
padding: EdgeInsets.symmetric(vertical: 10, horizontal: 10), | |||||
child: Text(langList[i], | |||||
textScaleFactor: 1.0, | |||||
maxLines: 1, | |||||
style: TextStyle( | |||||
color: i == curIndex | |||||
? Colors.blueAccent | |||||
: Color(AppColors.AppBarColor), | |||||
fontSize: 14)), | |||||
), | |||||
value: i, | |||||
); | |||||
}); | |||||
}); | |||||
} | |||||
@override | |||||
Widget build(BuildContext context) { | |||||
Widget appBar = AppBar( | |||||
backgroundColor: AppColors.NewAppbarBgColor, | |||||
title: Text( | |||||
I18n.of(context).translation_butler, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor), | |||||
), | |||||
// leading: CustomUI.buildCustomLeading(context), | |||||
centerTitle: true, | |||||
actions: <Widget>[ Container(child: CustomUI.buildImageLabel( | |||||
R.assetsImagesCoin, Provider.of<MoneyChangeProvider>(context).money, | |||||
isLeft: true),decoration: BoxDecoration(borderRadius:BorderRadius.circular(10)),),SizedBox(width: 10,)], | |||||
); | |||||
return Scaffold( | |||||
appBar: appBar, | |||||
body: SafeArea( | |||||
child: Container( | |||||
color: Color(0xffE8EAF0), | |||||
child: ListView( | |||||
children: <Widget>[ | |||||
Padding( | |||||
padding: EdgeInsets.only(left: 10, right: 10, top: 15), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_tips, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: Color(0xffABABAB), fontSize: 13), | |||||
), | |||||
), | |||||
Container( | |||||
margin: EdgeInsets.all(10), | |||||
child: Card( | |||||
elevation: 5, // 阴影 | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.circular(10), | |||||
// side: BorderSide(color: Colors.green,width: 25), | |||||
), | |||||
child: Container( | |||||
padding: EdgeInsets.all(10), | |||||
child: Column( | |||||
crossAxisAlignment: CrossAxisAlignment.start, | |||||
children: <Widget>[ | |||||
Text( | |||||
I18n.of(context).choose_language, | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor,fontSize: 17), | |||||
), | |||||
Row( | |||||
children: <Widget>[ | |||||
Image.asset( | |||||
R.assetsImagesImgTranslationIcon, | |||||
width: 195, | |||||
height: 175, | |||||
), | |||||
Column( | |||||
mainAxisSize: MainAxisSize.min, | |||||
children: <Widget>[ | |||||
_langPopMenu(true), | |||||
SizedBox(width: 10), | |||||
InkWell( | |||||
onTap: () { | |||||
var temp = curSourceLang; | |||||
curSourceLang = curToLang; | |||||
curToLang = temp; | |||||
setState(() {}); | |||||
}, | |||||
child: Container( | |||||
child: Icon( | |||||
IconData( | |||||
0xe669, | |||||
fontFamily: Constants.IconFontFamily, | |||||
), | |||||
size: 12, | |||||
), | |||||
padding: EdgeInsets.symmetric( | |||||
vertical: 5, horizontal: 5), | |||||
), | |||||
), | |||||
SizedBox(width: 20), | |||||
_langPopMenu(false), | |||||
], | |||||
), | |||||
], | |||||
), | |||||
Padding( | |||||
padding: EdgeInsets.only(left: 10, right: 10, top: 15), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_rules, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: Color(0xffABABAB), fontSize: 13), | |||||
), | |||||
), | |||||
], | |||||
), | |||||
), | |||||
), | |||||
), | |||||
Container( | |||||
margin: EdgeInsets.only(left: 70, right: 70,top: 50), | |||||
height: 47, | |||||
child: RaisedButton( | |||||
color: Color(0xff3875E9), | |||||
shape:RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.all(Radius.circular(10)) | |||||
), | |||||
child: Text(I18n.of(context).translation_butler_call+' (50h)',textScaleFactor: 1.0,style: TextStyle(color: Colors.white,fontSize: 19),), | |||||
onPressed: () { | |||||
showToast( | |||||
'呼叫管家${I18n.of(context).translation_butler_call}'); | |||||
}), | |||||
) | |||||
], | |||||
), | |||||
), | |||||
), | |||||
); | |||||
} | |||||
} |
@@ -0,0 +1,183 @@ | |||||
import 'dart:math'; | |||||
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/map/google_map_location_picker.dart'; | |||||
import 'package:chat/map/location_result.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/material.dart'; | |||||
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; | |||||
import 'package:geolocator/geolocator.dart'; | |||||
import 'package:google_maps_flutter/google_maps_flutter.dart'; | |||||
import 'package:oktoast/oktoast.dart'; | |||||
import 'package:permission_handler/permission_handler.dart'; | |||||
import 'package:provider/provider.dart'; | |||||
import '../../data/constants.dart'; | |||||
import '../../generated/i18n.dart'; | |||||
import '../../utils/CustomUI.dart'; | |||||
import '../../utils/FullWithButton.dart'; | |||||
import '../../utils/app_navigator.dart'; | |||||
import '../create_group_view.dart'; | |||||
class TravelButlerPage extends StatefulWidget { | |||||
final GroupInfoModel groupInfoModel; | |||||
TravelButlerPage({Key key, this.groupInfoModel}) : super(key: key); | |||||
@override | |||||
State<StatefulWidget> createState() { | |||||
return TravelButlerPageState(); | |||||
} | |||||
} | |||||
class TravelButlerPageState extends State<TravelButlerPage> { | |||||
LocationResult startResult; | |||||
LocationResult endResult; | |||||
double distance=0.0; | |||||
double distanceB=0.0; | |||||
@override | |||||
void initState() { | |||||
super.initState(); | |||||
} | |||||
@override | |||||
void dispose() { | |||||
// MessageMgr().off('Update Group Info', updateGroupInfo); | |||||
super.dispose(); | |||||
} | |||||
@override | |||||
Widget build(BuildContext context) { | |||||
Widget appBar = AppBar( | |||||
backgroundColor: AppColors.NewAppbarBgColor, | |||||
title: Text( | |||||
I18n.of(context).travel_butler, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor), | |||||
), | |||||
// leading: CustomUI.buildCustomLeading(context), | |||||
centerTitle: true, | |||||
); | |||||
return Scaffold( | |||||
appBar: appBar, | |||||
body: SafeArea( | |||||
child: ListView( | |||||
children: <Widget>[ | |||||
InkWell( | |||||
child: Text( | |||||
I18n.of(context).travel_butler+'起点', | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor,fontSize: 30), | |||||
), | |||||
onTap: () async{ | |||||
startResult =await _openMap(context); | |||||
}, | |||||
), | |||||
InkWell( | |||||
child: Text( | |||||
I18n.of(context).travel_butler+'终点', | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor,fontSize: 30), | |||||
), | |||||
onTap: () async{ | |||||
endResult = await _openMap(context); | |||||
}, | |||||
), | |||||
InkWell( | |||||
child: Text( | |||||
'距离查询', | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: AppColors.NewAppbarTextColor,fontSize: 30), | |||||
), | |||||
onTap: () async{ | |||||
if(startResult!=null && endResult!=null){ | |||||
distanceB =await Geolocator().distanceBetween(startResult.latLng.latitude,startResult.latLng.longitude,endResult.latLng.latitude,endResult.latLng.longitude); | |||||
setState(() { | |||||
print('开始计算'); | |||||
distance =getDistance(startResult.latLng.latitude,startResult.latLng.longitude,endResult.latLng.latitude,endResult.latLng.longitude); | |||||
}); | |||||
}else{ | |||||
print('参数为空'); | |||||
} | |||||
}, | |||||
), | |||||
// Text('距离为: ${getDistanceStr(distance)}'), | |||||
// Text('距离为: ${getDistanceStr(distanceB)}') | |||||
Text('距离为: $distance'), | |||||
Text('距离为: $distanceB'), | |||||
], | |||||
), | |||||
), | |||||
); | |||||
} | |||||
getDistanceStr(double m){ | |||||
if(m<1000){ | |||||
return '${m.toInt()} M'; | |||||
}else{ | |||||
return '${(m/1000).toStringAsFixed(2)} KM'; | |||||
} | |||||
} | |||||
getDistance(double lat1, double lng1, double lat2, double lng2) { | |||||
double radLat1 = rad(lat1); | |||||
double radLat2 = rad(lat2); | |||||
double a = radLat1 - radLat2; | |||||
double b = rad(lng1) - rad(lng2); | |||||
double s = 2 * | |||||
asin(sqrt(pow(sin(a / 2), 2) + | |||||
cos(radLat1) * cos(radLat2) * pow(sin(b / 2), 2))); | |||||
return s * 6378138.0; | |||||
} | |||||
double rad(double d) { | |||||
return d * pi / 180.0; | |||||
} | |||||
_openMap(BuildContext context) async { | |||||
if (await CustomUI.showPermissionSetting( | |||||
context, PermissionGroup.location, I18n.of(context).open_location)) { | |||||
return LocationPicker.pickLocation( | |||||
context, 'AIzaSyAb9JNtW0BEZ_qLeDg87ZhvxSmZply-7hU', | |||||
initialCenter: LatLng(UserData().latitude, UserData().longitude)); | |||||
// print('地图结果 ${result}'); | |||||
// return result; | |||||
} | |||||
} | |||||
} |
@@ -32,8 +32,8 @@ class ServiceMsgModel { | |||||
} | } | ||||
class ServiceCenterPage extends StatefulWidget { | class ServiceCenterPage extends StatefulWidget { | ||||
int questionIndex = -1; | |||||
ServiceCenterPage(this.questionIndex); | |||||
final int questionIndex; | |||||
ServiceCenterPage({this.questionIndex = -1}); | |||||
@override | @override | ||||
_ServiceCenterPageState createState() => _ServiceCenterPageState(); | _ServiceCenterPageState createState() => _ServiceCenterPageState(); | ||||
@@ -1,5 +1,4 @@ | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/screen.dart'; | import 'package:chat/utils/screen.dart'; | ||||
import 'package:chat/utils/sp_utils.dart'; | import 'package:chat/utils/sp_utils.dart'; | ||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
@@ -34,11 +33,11 @@ class SplashPageState extends State<SplashPage> { | |||||
void initState() { | void initState() { | ||||
super.initState(); | super.initState(); | ||||
list.add(SplashBean('assets/images/img_splash_1.png',I18n.of( LoadingManage.context).splash_tips1 , I18n.of( LoadingManage.context).splash_tips_content1, | |||||
list.add(SplashBean('assets/images/img_splash_1.png',I18n.of( Constants.getCurrentContext()).splash_tips1 , I18n.of( Constants.getCurrentContext()).splash_tips_content1, | |||||
Color(0xffEC527D))); | Color(0xffEC527D))); | ||||
list.add(SplashBean('assets/images/img_splash_2.png', I18n.of( LoadingManage.context).splash_tips2, I18n.of( LoadingManage.context).splash_tips_content2, | |||||
list.add(SplashBean('assets/images/img_splash_2.png', I18n.of( Constants.getCurrentContext()).splash_tips2, I18n.of( Constants.getCurrentContext()).splash_tips_content2, | |||||
Color(0xffB439EB))); | Color(0xffB439EB))); | ||||
list.add(SplashBean('assets/images/img_splash_3.png', I18n.of( LoadingManage.context).splash_tips3, I18n.of( LoadingManage.context).splash_tips_content3, | |||||
list.add(SplashBean('assets/images/img_splash_3.png', I18n.of( Constants.getCurrentContext()).splash_tips3, I18n.of( Constants.getCurrentContext()).splash_tips_content3, | |||||
Color(0xff2B79F7))); | Color(0xff2B79F7))); | ||||
pageController = PageController( | pageController = PageController( | ||||
@@ -12,7 +12,6 @@ import 'package:chat/home/splash_page.dart'; | |||||
import 'package:chat/models/gift_select_provider.dart'; | import 'package:chat/models/gift_select_provider.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/models/ref_name_provider.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | import 'package:chat/utils/MessageMgr.dart'; | ||||
import 'package:chat/utils/NetUtil.dart'; | import 'package:chat/utils/NetUtil.dart'; | ||||
import 'package:chat/utils/OtherLogin.dart'; | import 'package:chat/utils/OtherLogin.dart'; | ||||
@@ -115,7 +114,7 @@ void setCustomErrorPage(BuildContext context) { | |||||
Container( | Container( | ||||
margin: EdgeInsets.only(top: ScreenUtil().setHeight(50)), | margin: EdgeInsets.only(top: ScreenUtil().setHeight(50)), | ||||
child: Text( | child: Text( | ||||
I18n.of(LoadingManage.context).server_error_tips, | |||||
I18n.of(Constants.getCurrentContext()).server_error_tips, | |||||
style: TextStyle(color: Color(0xFF8F8E8E), fontSize: 18), | style: TextStyle(color: Color(0xFF8F8E8E), fontSize: 18), | ||||
), | ), | ||||
), | ), | ||||
@@ -214,7 +213,6 @@ class MyApp extends StatefulWidget { | |||||
_MyAppState createState() => _MyAppState(); | _MyAppState createState() => _MyAppState(); | ||||
} | } | ||||
final GlobalKey<NavigatorState> navigatorKey = new GlobalKey<NavigatorState>(); | |||||
class _MyAppState extends State<MyApp> with WidgetsBindingObserver { | class _MyAppState extends State<MyApp> with WidgetsBindingObserver { | ||||
final i18n = I18n.delegate; | final i18n = I18n.delegate; | ||||
@@ -232,7 +230,6 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver { | |||||
initVersionName(); | initVersionName(); | ||||
askLocationPermission(); | askLocationPermission(); | ||||
MsgHandler.context = context; | |||||
I18n.onLocaleChanged = onLocaleChange; | I18n.onLocaleChanged = onLocaleChange; | ||||
WidgetsBinding.instance.addObserver(this); | WidgetsBinding.instance.addObserver(this); | ||||
ReceiveShareFile.init(); | ReceiveShareFile.init(); | ||||
@@ -385,7 +382,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver { | |||||
// 此处 | // 此处 | ||||
return 'Hibok'; | return 'Hibok'; | ||||
}, | }, | ||||
navigatorKey: navigatorKey, | |||||
navigatorKey: Constants.navigatorKey, | |||||
routes: <String, WidgetBuilder>{ | routes: <String, WidgetBuilder>{ | ||||
'/main': (BuildContext context) => HomeMain(), | '/main': (BuildContext context) => HomeMain(), | ||||
}, | }, | ||||
@@ -410,8 +407,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver { | |||||
} | } | ||||
goIndex() { | goIndex() { | ||||
LoadingManage.context = navigatorKey.currentState.overlay.context; | |||||
if (!isOpen) { | if (!isOpen) { | ||||
return SplashPage(); | return SplashPage(); | ||||
} else { | } else { | ||||
@@ -8,7 +8,6 @@ import 'package:chat/models/last_message_model.dart'; | |||||
import 'package:chat/models/ref_name_provider.dart'; | import 'package:chat/models/ref_name_provider.dart'; | ||||
import 'package:chat/proto/chat.pb.dart'; | import 'package:chat/proto/chat.pb.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | import 'package:chat/utils/HttpUtil.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | import 'package:chat/utils/MessageMgr.dart'; | ||||
import 'package:chat/utils/msgHandler.dart'; | import 'package:chat/utils/msgHandler.dart'; | ||||
import 'package:chat/utils/screen.dart'; | import 'package:chat/utils/screen.dart'; | ||||
@@ -82,19 +81,19 @@ class _LastMsgDescriptionState extends State<LastMsgDescription> { | |||||
} | } | ||||
break; | break; | ||||
case ChatType.EmoticonType: | case ChatType.EmoticonType: | ||||
desc = '[${I18n.of(LoadingManage.context).emoji}]'; | |||||
desc = '[${I18n.of(Constants.getCurrentContext()).emoji}]'; | |||||
break; | break; | ||||
case ChatType.ImageChatType: | case ChatType.ImageChatType: | ||||
desc = '[${I18n.of(LoadingManage.context).picture}]'; | |||||
desc = '[${I18n.of(Constants.getCurrentContext()).picture}]'; | |||||
break; | break; | ||||
case ChatType.ShortVideoChatType: | case ChatType.ShortVideoChatType: | ||||
desc = '[${I18n.of(LoadingManage.context).video}]'; | |||||
desc = '[${I18n.of(Constants.getCurrentContext()).video}]'; | |||||
break; | break; | ||||
case ChatType.PlaceChatType: | case ChatType.PlaceChatType: | ||||
desc = '[${I18n.of(LoadingManage.context).locate}]'; | |||||
desc = '[${I18n.of(Constants.getCurrentContext()).locate}]'; | |||||
break; | break; | ||||
case ChatType.ShortVoiceChatType: | case ChatType.ShortVoiceChatType: | ||||
desc = '[${I18n.of(LoadingManage.context).voice}]'; | |||||
desc = '[${I18n.of(Constants.getCurrentContext()).voice}]'; | |||||
break; | break; | ||||
case ChatType.GiftChatType: | case ChatType.GiftChatType: | ||||
@@ -102,9 +101,9 @@ class _LastMsgDescriptionState extends State<LastMsgDescription> { | |||||
GiftChat.fromBuffer(widget.lastMessageModel.msgContent); | GiftChat.fromBuffer(widget.lastMessageModel.msgContent); | ||||
if (giftChat.tuId == UserData().basicInfo.userId) { | if (giftChat.tuId == UserData().basicInfo.userId) { | ||||
desc = I18n.of(LoadingManage.context).you_get; | |||||
desc = I18n.of(Constants.getCurrentContext()).you_get; | |||||
} else { | } else { | ||||
desc = I18n.of(LoadingManage.context).you_give; | |||||
desc = I18n.of(Constants.getCurrentContext()).you_give; | |||||
} | } | ||||
break; | break; | ||||
@@ -118,21 +117,21 @@ class _LastMsgDescriptionState extends State<LastMsgDescription> { | |||||
if (wallet.state == RedWalletState.Received) { | if (wallet.state == RedWalletState.Received) { | ||||
var myId = UserData().basicInfo.userId; | var myId = UserData().basicInfo.userId; | ||||
if (wallet.suId == myId) { | if (wallet.suId == myId) { | ||||
desc = I18n.of(LoadingManage.context) | |||||
desc = I18n.of(Constants.getCurrentContext()) | |||||
.get_money | .get_money | ||||
.replaceFirst('/s1', fdName); | .replaceFirst('/s1', fdName); | ||||
} else { | } else { | ||||
desc = I18n.of(LoadingManage.context) | |||||
desc = I18n.of(Constants.getCurrentContext()) | |||||
.you_get_money | .you_get_money | ||||
.replaceFirst('/s1', fdName); | .replaceFirst('/s1', fdName); | ||||
} | } | ||||
} else if (wallet.state == RedWalletState.Expire) { | } else if (wallet.state == RedWalletState.Expire) { | ||||
desc = I18n.of(LoadingManage.context).money_over; | |||||
desc = I18n.of(Constants.getCurrentContext()).money_over; | |||||
} else { | } else { | ||||
print('WWWWW${wallet.state}'); | print('WWWWW${wallet.state}'); | ||||
} | } | ||||
} else { | } else { | ||||
desc = '[${I18n.of(LoadingManage.context).red_money}]'; | |||||
desc = '[${I18n.of(Constants.getCurrentContext()).red_money}]'; | |||||
} | } | ||||
break; | break; | ||||
@@ -88,19 +88,6 @@ class _PhotoSelectMenuState extends State<PhotoSelectMenu> { | |||||
setState(() {}); | setState(() {}); | ||||
} | } | ||||
Widget _mask() { | |||||
return GestureDetector( | |||||
onTap: () { | |||||
print('到mask了'); | |||||
clearOverlay(); | |||||
}, | |||||
child: Expanded( | |||||
child: Container( | |||||
width: MediaQuery.of(context).size.width, | |||||
color: Color.fromRGBO(0, 0, 0, 0.1), | |||||
))); | |||||
} | |||||
void clearOverlay() { | void clearOverlay() { | ||||
if (overlayEntry != null) { | if (overlayEntry != null) { | ||||
overlayEntry.remove(); | overlayEntry.remove(); | ||||
@@ -1,508 +1,514 @@ | |||||
class R { | class R { | ||||
///  | |||||
static final String assetsImagesBack = 'assets/images/back.png'; | |||||
///  | |||||
static final String assetsImagesBg = 'assets/images/bg.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesBofang = 'assets/images/bofang.png'; | static final String assetsImagesBofang = 'assets/images/bofang.png'; | ||||
///  | |||||
static final String assetsImagesChatItem1 = 'assets/images/chat_item_1.png'; | |||||
///  | |||||
static final String assetsImagesChatItem2 = 'assets/images/chat_item_2.png'; | |||||
///  | |||||
static final String assetsImagesChatItem3 = 'assets/images/chat_item_3.png'; | |||||
///  | |||||
static final String assetsImagesChatItem4 = 'assets/images/chat_item_4.png'; | |||||
///  | |||||
static final String assetsImagesChatItem5 = 'assets/images/chat_item_5.png'; | |||||
///  | |||||
static final String assetsImagesChatItem6 = 'assets/images/chat_item_6.png'; | |||||
///  | |||||
static final String assetsImagesChatItem7 = 'assets/images/chat_item_7.png'; | |||||
///  | |||||
static final String assetsImagesCoin = 'assets/images/coin.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesIcQuickSearch = 'assets/images/ic_quick_search.png'; | |||||
///  | |||||
static final String assetsImagesImgTempShare = 'assets/images/img_temp_share.png'; | |||||
///  | |||||
static final String assetsImagesIcTag = 'assets/images/ic_tag.png'; | |||||
///  | |||||
static final String assetsImagesDefaultNorAvatar = 'assets/images/default_nor_avatar.png'; | |||||
///  | |||||
static final String assetsImagesServerIcon = 'assets/images/server_icon.png'; | |||||
///  | |||||
static final String assetsImagesIcPublicAccount = 'assets/images/ic_public_account.png'; | |||||
///  | |||||
static final String assetsImagesIcFeeds = 'assets/images/ic_feeds.png'; | |||||
///  | |||||
static final String assetsImagesDailyBg1 = 'assets/images/daily_bg_1.png'; | static final String assetsImagesDailyBg1 = 'assets/images/daily_bg_1.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesYqmBg = 'assets/images/yqm_bg.png'; | |||||
///  | |||||
static final String assetsImagesDailyBg2 = 'assets/images/daily_bg_2.png'; | static final String assetsImagesDailyBg2 = 'assets/images/daily_bg_2.png'; | ||||
///  | |||||
static final String assetsImagesDailyBtn1 = 'assets/images/daily_btn_1.png'; | |||||
///  | |||||
static final String assetsImagesDailyBtn2 = 'assets/images/daily_btn_2.png'; | |||||
///  | |||||
static final String assetsImagesDailyCoin = 'assets/images/daily_coin.png'; | |||||
///  | |||||
static final String assetsImagesDailyIcon = 'assets/images/daily_icon.png'; | |||||
///  | |||||
static final String assetsImagesDefaultNorAvatar = 'assets/images/default_nor_avatar.png'; | |||||
///  | |||||
static final String assetsImagesExtApk = 'assets/images/ext_apk.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesExtExcel = 'assets/images/ext_excel.png'; | static final String assetsImagesExtExcel = 'assets/images/ext_excel.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgFyj = 'assets/images/img_fyj.png'; | |||||
///  | |||||
static final String assetsImagesRightGray = 'assets/images/right_gray.png'; | |||||
///  | |||||
static final String assetsImagesIcGroupChat = 'assets/images/ic_group_chat.png'; | |||||
///  | |||||
static final String assetsImagesImgTempSee = 'assets/images/img_temp_see.png'; | |||||
///  | |||||
static final String assetsImagesExtPdf = 'assets/images/ext_pdf.png'; | static final String assetsImagesExtPdf = 'assets/images/ext_pdf.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtPpt = 'assets/images/ext_ppt.png'; | static final String assetsImagesExtPpt = 'assets/images/ext_ppt.png'; | ||||
///  | |||||
static final String assetsImagesExtSound = 'assets/images/ext_sound.png'; | |||||
///  | |||||
static final String assetsImagesExtTxt = 'assets/images/ext_txt.png'; | |||||
///  | |||||
static final String assetsImagesExtUnknown = 'assets/images/ext_unknown.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesIcMiniProgram = 'assets/images/ic_mini_program.png'; | |||||
///  | |||||
static final String assetsImagesIcShakePhone = 'assets/images/ic_shake_phone.png'; | |||||
///  | |||||
static final String assetsImagesIcGameEntry = 'assets/images/ic_game_entry.png'; | |||||
///  | |||||
static final String assetsImagesDailyIcon = 'assets/images/daily_icon.png'; | |||||
///  | |||||
static final String assetsImagesLeftGray = 'assets/images/left_gray.png'; | |||||
///  | |||||
static final String assetsImagesIcSocialCircle = 'assets/images/ic_social_circle.png'; | |||||
///  | |||||
static final String assetsImagesExtApk = 'assets/images/ext_apk.png'; | |||||
///  | |||||
static final String assetsImagesSvip = 'assets/images/svip.png'; | |||||
///  | |||||
static final String assetsImagesIcQrcodePreviewTiny = 'assets/images/ic_qrcode_preview_tiny.png'; | |||||
///  | |||||
static final String assetsImagesIcAlbum = 'assets/images/ic_album.png'; | |||||
///  | |||||
static final String assetsImagesZhiwen = 'assets/images/zhiwen.png'; | |||||
///  | |||||
static final String assetsImagesNetError = 'assets/images/net_error.png'; | |||||
///  | |||||
static final String assetsImagesIcEmotions = 'assets/images/ic_emotions.png'; | |||||
///  | |||||
static final String assetsImagesExtVideo = 'assets/images/ext_video.png'; | static final String assetsImagesExtVideo = 'assets/images/ext_video.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtWord = 'assets/images/ext_word.png'; | static final String assetsImagesExtWord = 'assets/images/ext_word.png'; | ||||
///  | |||||
static final String assetsImagesExtZip = 'assets/images/ext_zip.png'; | |||||
///  | |||||
static final String assetsImagesGift1 = 'assets/images/gift_1.png'; | |||||
///  | |||||
static final String assetsImagesGift2 = 'assets/images/gift_2.png'; | |||||
///  | |||||
static final String assetsImagesGift3 = 'assets/images/gift_3.png'; | |||||
///  | |||||
static final String assetsImagesGiftAnim1 = 'assets/images/gift_anim_1.gif'; | |||||
///  | |||||
static final String assetsImagesGiftAnim2 = 'assets/images/gift_anim_2.gif'; | |||||
///  | |||||
static final String assetsImagesGiftAnim3 = 'assets/images/gift_anim_3.gif'; | |||||
///  | |||||
static final String assetsImagesGiftShow21 = 'assets/images/gift_show_2_1.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow22 = 'assets/images/gift_show_2_2.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow23 = 'assets/images/gift_show_2_3.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow24 = 'assets/images/gift_show_2_4.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesImgTempHy = 'assets/images/img_temp_hy.png'; | |||||
///  | |||||
static final String assetsImagesHand = 'assets/images/hand.png'; | static final String assetsImagesHand = 'assets/images/hand.png'; | ||||
///  | |||||
static final String assetsImagesIcAlbum = 'assets/images/ic_album.png'; | |||||
///  | |||||
static final String assetsImagesIcBottleMsg = 'assets/images/ic_bottle_msg.png'; | |||||
///  | |||||
static final String assetsImagesIcCardsWallet = 'assets/images/ic_cards_wallet.png'; | |||||
///  | |||||
static final String assetsImagesIcCollections = 'assets/images/ic_collections.png'; | |||||
///  | |||||
static final String assetsImagesIcEmotions = 'assets/images/ic_emotions.png'; | |||||
///  | |||||
static final String assetsImagesIcFeeds = 'assets/images/ic_feeds.png'; | |||||
///  | |||||
static final String assetsImagesIcFengchao = 'assets/images/ic_fengchao.png'; | |||||
///  | |||||
static final String assetsImagesIcFileTransfer = 'assets/images/ic_file_transfer.png'; | |||||
///  | |||||
static final String assetsImagesIcGameEntry = 'assets/images/ic_game_entry.png'; | |||||
///  | |||||
static final String assetsImagesIcGroupChat = 'assets/images/ic_group_chat.png'; | |||||
///  | |||||
static final String assetsImagesIcMiniProgram = 'assets/images/ic_mini_program.png'; | |||||
///  | |||||
static final String assetsImagesIcNewFriend = 'assets/images/ic_new_friend.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesQianbaoBg = 'assets/images/qianbao_bg.png'; | |||||
///  | |||||
static final String assetsImagesImgSplash3 = 'assets/images/img_splash_3.png'; | |||||
///  | |||||
static final String assetsImagesImgUpdateBg = 'assets/images/img_update_bg.png'; | |||||
///  | |||||
static final String assetsImagesDailyBtn1 = 'assets/images/daily_btn_1.png'; | |||||
///  | |||||
static final String assetsImagesChatItem4 = 'assets/images/chat_item_4.png'; | |||||
///  | |||||
static final String assetsImagesChatItem5 = 'assets/images/chat_item_5.png'; | |||||
///  | |||||
static final String assetsImagesIcPeopleNearby = 'assets/images/ic_people_nearby.png'; | static final String assetsImagesIcPeopleNearby = 'assets/images/ic_people_nearby.png'; | ||||
///  | |||||
static final String assetsImagesIcPublicAccount = 'assets/images/ic_public_account.png'; | |||||
///  | |||||
static final String assetsImagesIcQrcodePreviewTiny = 'assets/images/ic_qrcode_preview_tiny.png'; | |||||
///  | |||||
static final String assetsImagesIcQuickScan = 'assets/images/ic_quick_scan.png'; | |||||
///  | |||||
static final String assetsImagesIcQuickSearch = 'assets/images/ic_quick_search.png'; | |||||
///  | |||||
static final String assetsImagesIcSettings = 'assets/images/ic_settings.png'; | |||||
///  | |||||
static final String assetsImagesIcShakePhone = 'assets/images/ic_shake_phone.png'; | |||||
///  | |||||
static final String assetsImagesIcShopping = 'assets/images/ic_shopping.png'; | |||||
///  | |||||
static final String assetsImagesIcSocialCircle = 'assets/images/ic_social_circle.png'; | |||||
///  | |||||
static final String assetsImagesIcTag = 'assets/images/ic_tag.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesImgSplash2 = 'assets/images/img_splash_2.png'; | |||||
///  | |||||
static final String assetsImagesIcTxNews = 'assets/images/ic_tx_news.png'; | static final String assetsImagesIcTxNews = 'assets/images/ic_tx_news.png'; | ||||
///  | |||||
static final String assetsImagesIcWallet = 'assets/images/ic_wallet.png'; | |||||
///  | |||||
static final String assetsImagesIcWxGames = 'assets/images/ic_wx_games.png'; | |||||
///  | |||||
static final String assetsImagesImgFyj = 'assets/images/img_fyj.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesServiceIcon = 'assets/images/service_icon.png'; | |||||
///  | |||||
static final String assetsImagesDailyBtn2 = 'assets/images/daily_btn_2.png'; | |||||
///  | |||||
static final String assetsImagesChatItem7 = 'assets/images/chat_item_7.png'; | |||||
///  | |||||
static final String assetsImagesImgTempQb = 'assets/images/img_temp_qb.png'; | |||||
///  | |||||
static final String assetsImagesImgTravelButler = 'assets/images/img_travel_butler.png'; | |||||
///  | |||||
static final String assetsImagesChatItem6 = 'assets/images/chat_item_6.png'; | |||||
///  | |||||
static final String assetsImagesImgLongIndex = 'assets/images/img_long_index.png'; | static final String assetsImagesImgLongIndex = 'assets/images/img_long_index.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgSplash1 = 'assets/images/img_splash_1.png'; | static final String assetsImagesImgSplash1 = 'assets/images/img_splash_1.png'; | ||||
///  | |||||
static final String assetsImagesImgSplash2 = 'assets/images/img_splash_2.png'; | |||||
///  | |||||
static final String assetsImagesImgSplash3 = 'assets/images/img_splash_3.png'; | |||||
///  | |||||
static final String assetsImagesImgTempHy = 'assets/images/img_temp_hy.png'; | |||||
///  | |||||
static final String assetsImagesImgTempQb = 'assets/images/img_temp_qb.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesDailyCoin = 'assets/images/daily_coin.png'; | |||||
///  | |||||
static final String assetsImagesIcNewFriend = 'assets/images/ic_new_friend.png'; | |||||
///  | |||||
static final String assetsImagesIcSettings = 'assets/images/ic_settings.png'; | |||||
///  | |||||
static final String assetsImagesIcCardsWallet = 'assets/images/ic_cards_wallet.png'; | |||||
///  | |||||
static final String assetsImagesChatItem2 = 'assets/images/chat_item_2.png'; | |||||
///  | |||||
static final String assetsImagesChatItem3 = 'assets/images/chat_item_3.png'; | |||||
///  | |||||
static final String assetsImagesRobot = 'assets/images/robot.jpg'; | |||||
///  | |||||
static final String assetsImagesExtSound = 'assets/images/ext_sound.png'; | |||||
///  | |||||
static final String assetsImagesExtZip = 'assets/images/ext_zip.png'; | |||||
///  | |||||
static final String assetsImagesChatItem1 = 'assets/images/chat_item_1.png'; | |||||
///  | |||||
static final String assetsImagesImgTempQd = 'assets/images/img_temp_qd.png'; | static final String assetsImagesImgTempQd = 'assets/images/img_temp_qd.png'; | ||||
///  | |||||
static final String assetsImagesImgTempSee = 'assets/images/img_temp_see.png'; | |||||
///  | |||||
static final String assetsImagesImgTempShare = 'assets/images/img_temp_share.png'; | |||||
///  | |||||
static final String assetsImagesImgUpdateBg = 'assets/images/img_update_bg.png'; | |||||
///  | |||||
static final String assetsImagesLeftGray = 'assets/images/left_gray.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesImgTranslationButler = 'assets/images/img_translation_butler.png'; | |||||
///  | |||||
static final String assetsImagesLeftWhite = 'assets/images/left_white.png'; | static final String assetsImagesLeftWhite = 'assets/images/left_white.png'; | ||||
///  | |||||
static final String assetsImagesNetError = 'assets/images/net_error.png'; | |||||
///  | |||||
static final String assetsImagesQianbaoBg = 'assets/images/qianbao_bg.png'; | |||||
///  | |||||
static final String assetsImagesRedPacketBg = 'assets/images/red_packet_bg.png'; | |||||
///  | |||||
static final String assetsImagesRightGray = 'assets/images/right_gray.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesVoucher = 'assets/images/voucher.png'; | |||||
///  | |||||
static final String assetsImagesVIP = 'assets/images/VIP.png'; | |||||
///  | |||||
static final String assetsImagesIcWallet = 'assets/images/ic_wallet.png'; | |||||
///  | |||||
static final String assetsImagesRightWhite = 'assets/images/right_white.png'; | static final String assetsImagesRightWhite = 'assets/images/right_white.png'; | ||||
///  | |||||
static final String assetsImagesRobot = 'assets/images/robot.jpg'; | |||||
///  | |||||
static final String assetsImagesServerIcon = 'assets/images/server_icon.png'; | |||||
///  | |||||
static final String assetsImagesServiceIcon = 'assets/images/service_icon.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesIcCollections = 'assets/images/ic_collections.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow24 = 'assets/images/gift_show_2_4.png'; | |||||
///  | |||||
static final String assetsImagesIcWxGames = 'assets/images/ic_wx_games.png'; | |||||
///  | |||||
static final String assetsImagesIcShopping = 'assets/images/ic_shopping.png'; | |||||
///  | |||||
static final String assetsImagesIcFengchao = 'assets/images/ic_fengchao.png'; | |||||
///  | |||||
static final String assetsImagesIcFileTransfer = 'assets/images/ic_file_transfer.png'; | |||||
///  | |||||
static final String assetsImagesSuo = 'assets/images/suo.png'; | static final String assetsImagesSuo = 'assets/images/suo.png'; | ||||
///  | |||||
static final String assetsImagesSvip = 'assets/images/svip.png'; | |||||
///  | |||||
static final String assetsImagesVIP = 'assets/images/VIP.png'; | |||||
///  | |||||
static final String assetsImagesVoucher = 'assets/images/voucher.png'; | |||||
///  | |||||
static final String assetsImagesYqmBg = 'assets/images/yqm_bg.png'; | |||||
///  | |||||
static final String assetsImagesZhiwen = 'assets/images/zhiwen.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesRedPacketBg = 'assets/images/red_packet_bg.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow23 = 'assets/images/gift_show_2_3.png'; | |||||
///  | |||||
static final String assetsImagesExtUnknown = 'assets/images/ext_unknown.png'; | |||||
///  | |||||
static final String assetsImagesCoin = 'assets/images/coin.png'; | |||||
///  | |||||
static final String assetsImagesGiftAnim3 = 'assets/images/gift_anim_3.gif'; | |||||
///  | |||||
static final String assetsImagesGiftAnim2 = 'assets/images/gift_anim_2.gif'; | |||||
///  | |||||
static final String assetsImagesGift1 = 'assets/images/gift_1.png'; | |||||
///  | |||||
static final String assetsImagesBack = 'assets/images/back.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow22 = 'assets/images/gift_show_2_2.png'; | |||||
///  | |||||
static final String assetsImagesGift3 = 'assets/images/gift_3.png'; | |||||
///  | |||||
static final String assetsImagesIcQuickScan = 'assets/images/ic_quick_scan.png'; | |||||
///  | |||||
static final String assetsImagesImgTranslationIcon = 'assets/images/img_translation_icon.png'; | |||||
///  | |||||
static final String assetsImagesIcBottleMsg = 'assets/images/ic_bottle_msg.png'; | |||||
///  | |||||
static final String assetsImagesGiftAnim1 = 'assets/images/gift_anim_1.gif'; | |||||
///  | |||||
static final String assetsImagesBg = 'assets/images/bg.png'; | |||||
///  | |||||
static final String assetsImagesGift2 = 'assets/images/gift_2.png'; | |||||
///  | |||||
static final String assetsImagesExtTxt = 'assets/images/ext_txt.png'; | |||||
///  | |||||
static final String assetsImagesGiftShow21 = 'assets/images/gift_show_2_1.png'; | |||||
///  | |||||
static final String assetsImagesChatEmoji = 'assets/images/chat/emoji.png'; | static final String assetsImagesChatEmoji = 'assets/images/chat/emoji.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatOnion = 'assets/images/chat/onion.png'; | |||||
///  | |||||
static final String assetsImagesChatIcon1 = 'assets/images/chat/icon1.png'; | static final String assetsImagesChatIcon1 = 'assets/images/chat/icon1.png'; | ||||
///  | |||||
static final String assetsImagesChatIcon2 = 'assets/images/chat/icon2.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesChatIcon3 = 'assets/images/chat/icon3.png'; | static final String assetsImagesChatIcon3 = 'assets/images/chat/icon3.png'; | ||||
///  | |||||
static final String assetsImagesChatIcon4 = 'assets/images/chat/icon4.png'; | |||||
///  | |||||
static final String assetsImagesChatIcon5 = 'assets/images/chat/icon5.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesChatIcon2 = 'assets/images/chat/icon2.png'; | |||||
///  | |||||
static final String assetsImagesChatIcon6 = 'assets/images/chat/icon6.png'; | static final String assetsImagesChatIcon6 = 'assets/images/chat/icon6.png'; | ||||
///  | |||||
static final String assetsImagesChatOnion = 'assets/images/chat/onion.png'; | |||||
///  | |||||
static final String assetsImagesLoginDelete = 'assets/images/login/delete.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon1 = 'assets/images/login/dly_icon1.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon2 = 'assets/images/login/dly_icon2.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon3 = 'assets/images/login/dly_icon3.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon4 = 'assets/images/login/dly_icon4.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyLogo = 'assets/images/login/dly_logo.png'; | |||||
///  | |||||
static final String assetsImagesLoginLock = 'assets/images/login/lock.png'; | |||||
///  | |||||
static final String assetsImagesLoginMoney = 'assets/images/login/money.png'; | |||||
///  | |||||
static final String assetsImagesLoginRzzx = 'assets/images/login/rzzx.png'; | |||||
///  | |||||
static final String assetsImagesLoginSYBg = 'assets/images/login/SY_bg.png'; | |||||
///  | |||||
static final String assetsImagesLoginSYLogo = 'assets/images/login/SY_logo.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesChatIcon5 = 'assets/images/chat/icon5.png'; | |||||
///  | |||||
static final String assetsImagesChatIcon4 = 'assets/images/chat/icon4.png'; | |||||
///  | |||||
static final String assetsImagesLoginVipWx = 'assets/images/login/vip_wx.png'; | |||||
///  | |||||
static final String assetsImagesLoginVipLogio = 'assets/images/login/vip_logio.png'; | static final String assetsImagesLoginVipLogio = 'assets/images/login/vip_logio.png'; | ||||
///  | |||||
static final String assetsImagesLoginVipOther = 'assets/images/login/vip_other.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesLoginLock = 'assets/images/login/lock.png'; | |||||
///  | |||||
static final String assetsImagesLoginVipRect1 = 'assets/images/login/vip_rect1.png'; | static final String assetsImagesLoginVipRect1 = 'assets/images/login/vip_rect1.png'; | ||||
///  | |||||
static final String assetsImagesLoginVipRect2 = 'assets/images/login/vip_rect2.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesLoginVipRect3 = 'assets/images/login/vip_rect3.png'; | static final String assetsImagesLoginVipRect3 = 'assets/images/login/vip_rect3.png'; | ||||
///  | |||||
static final String assetsImagesLoginVipWx = 'assets/images/login/vip_wx.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesLoginVipRect2 = 'assets/images/login/vip_rect2.png'; | |||||
///  | |||||
static final String assetsImagesLoginVipZfb = 'assets/images/login/vip_zfb.png'; | static final String assetsImagesLoginVipZfb = 'assets/images/login/vip_zfb.png'; | ||||
///  | |||||
static final String assetsImagesLoginXzxbFemale = 'assets/images/login/xzxb_female.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon3 = 'assets/images/login/dly_icon3.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon2 = 'assets/images/login/dly_icon2.png'; | |||||
///  | |||||
static final String assetsImagesLoginSYBg = 'assets/images/login/SY_bg.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyLogo = 'assets/images/login/dly_logo.png'; | |||||
///  | |||||
static final String assetsImagesLoginVipOther = 'assets/images/login/vip_other.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon1 = 'assets/images/login/dly_icon1.png'; | |||||
///  | |||||
static final String assetsImagesLoginRzzx = 'assets/images/login/rzzx.png'; | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon4 = 'assets/images/login/dly_icon4.png'; | |||||
///  | |||||
static final String assetsImagesLoginMoney = 'assets/images/login/money.png'; | |||||
///  | |||||
static final String assetsImagesLoginSYLogo = 'assets/images/login/SY_logo.png'; | |||||
///  | |||||
static final String assetsImagesLoginDelete = 'assets/images/login/delete.png'; | |||||
///  | |||||
static final String assetsImagesLoginXzxbMale = 'assets/images/login/xzxb_male.png'; | static final String assetsImagesLoginXzxbMale = 'assets/images/login/xzxb_male.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginXzxbFemale = 'assets/images/login/xzxb_female.png'; | |||||
///  | |||||
static final String assetsImagesParkQzIcon8 = 'assets/images/park/qz_icon8.png'; | |||||
///  | |||||
static final String assetsImagesParkQzIcon1 = 'assets/images/park/qz_icon1.png'; | static final String assetsImagesParkQzIcon1 = 'assets/images/park/qz_icon1.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesParkQzIcon2 = 'assets/images/park/qz_icon2.png'; | static final String assetsImagesParkQzIcon2 = 'assets/images/park/qz_icon2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesParkQzIcon3 = 'assets/images/park/qz_icon3.png'; | static final String assetsImagesParkQzIcon3 = 'assets/images/park/qz_icon3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesParkQzIcon7 = 'assets/images/park/qz_icon7.png'; | |||||
///  | |||||
static final String assetsImagesParkQzIcon6 = 'assets/images/park/qz_icon6.png'; | |||||
///  | |||||
static final String assetsImagesParkQzIcon4 = 'assets/images/park/qz_icon4.png'; | static final String assetsImagesParkQzIcon4 = 'assets/images/park/qz_icon4.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesParkQzIcon5 = 'assets/images/park/qz_icon5.png'; | static final String assetsImagesParkQzIcon5 = 'assets/images/park/qz_icon5.png'; | ||||
///  | |||||
static final String assetsImagesParkQzIcon6 = 'assets/images/park/qz_icon6.png'; | |||||
///  | |||||
static final String assetsImagesParkQzIcon7 = 'assets/images/park/qz_icon7.png'; | |||||
///  | |||||
static final String assetsImagesParkQzIcon8 = 'assets/images/park/qz_icon8.png'; | |||||
///  | |||||
static final String assetsImagesStickerSticker1 = 'assets/images/sticker/sticker_1.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker10 = 'assets/images/sticker/sticker_10.gif'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker11 = 'assets/images/sticker/sticker_11.gif'; | static final String assetsImagesStickerSticker11 = 'assets/images/sticker/sticker_11.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker7 = 'assets/images/sticker/sticker_7.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker6 = 'assets/images/sticker/sticker_6.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker10 = 'assets/images/sticker/sticker_10.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker12 = 'assets/images/sticker/sticker_12.gif'; | static final String assetsImagesStickerSticker12 = 'assets/images/sticker/sticker_12.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker4 = 'assets/images/sticker/sticker_4.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker5 = 'assets/images/sticker/sticker_5.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker13 = 'assets/images/sticker/sticker_13.gif'; | static final String assetsImagesStickerSticker13 = 'assets/images/sticker/sticker_13.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker17 = 'assets/images/sticker/sticker_17.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker1 = 'assets/images/sticker/sticker_1.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker16 = 'assets/images/sticker/sticker_16.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker14 = 'assets/images/sticker/sticker_14.gif'; | static final String assetsImagesStickerSticker14 = 'assets/images/sticker/sticker_14.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker28 = 'assets/images/sticker/sticker_28.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker2 = 'assets/images/sticker/sticker_2.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker3 = 'assets/images/sticker/sticker_3.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker29 = 'assets/images/sticker/sticker_29.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker15 = 'assets/images/sticker/sticker_15.gif'; | static final String assetsImagesStickerSticker15 = 'assets/images/sticker/sticker_15.gif'; | ||||
///  | |||||
static final String assetsImagesStickerSticker16 = 'assets/images/sticker/sticker_16.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker17 = 'assets/images/sticker/sticker_17.gif'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker18 = 'assets/images/sticker/sticker_18.gif'; | static final String assetsImagesStickerSticker18 = 'assets/images/sticker/sticker_18.gif'; | ||||
///  | |||||
static final String assetsImagesStickerSticker19 = 'assets/images/sticker/sticker_19.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker2 = 'assets/images/sticker/sticker_2.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker20 = 'assets/images/sticker/sticker_20.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker21 = 'assets/images/sticker/sticker_21.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker22 = 'assets/images/sticker/sticker_22.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker23 = 'assets/images/sticker/sticker_23.gif'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker24 = 'assets/images/sticker/sticker_24.gif'; | static final String assetsImagesStickerSticker24 = 'assets/images/sticker/sticker_24.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker30 = 'assets/images/sticker/sticker_30.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker25 = 'assets/images/sticker/sticker_25.gif'; | static final String assetsImagesStickerSticker25 = 'assets/images/sticker/sticker_25.gif'; | ||||
///  | |||||
static final String assetsImagesStickerSticker26 = 'assets/images/sticker/sticker_26.gif'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker19 = 'assets/images/sticker/sticker_19.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker27 = 'assets/images/sticker/sticker_27.gif'; | static final String assetsImagesStickerSticker27 = 'assets/images/sticker/sticker_27.gif'; | ||||
///  | |||||
static final String assetsImagesStickerSticker28 = 'assets/images/sticker/sticker_28.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker29 = 'assets/images/sticker/sticker_29.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker3 = 'assets/images/sticker/sticker_3.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker30 = 'assets/images/sticker/sticker_30.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker4 = 'assets/images/sticker/sticker_4.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker5 = 'assets/images/sticker/sticker_5.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker6 = 'assets/images/sticker/sticker_6.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker7 = 'assets/images/sticker/sticker_7.gif'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker26 = 'assets/images/sticker/sticker_26.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker22 = 'assets/images/sticker/sticker_22.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker8 = 'assets/images/sticker/sticker_8.gif'; | static final String assetsImagesStickerSticker8 = 'assets/images/sticker/sticker_8.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker9 = 'assets/images/sticker/sticker_9.gif'; | static final String assetsImagesStickerSticker9 = 'assets/images/sticker/sticker_9.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker23 = 'assets/images/sticker/sticker_23.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker21 = 'assets/images/sticker/sticker_21.gif'; | |||||
///  | |||||
static final String assetsImagesStickerSticker20 = 'assets/images/sticker/sticker_20.gif'; | |||||
///  | |||||
static final String assetsImagesVipHyBg = 'assets/images/vip/hy_bg.png'; | static final String assetsImagesVipHyBg = 'assets/images/vip/hy_bg.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesVipHyTj = 'assets/images/vip/hy_tj.png'; | |||||
///  | |||||
static final String assetsImagesVipHyXz = 'assets/images/vip/hy_xz.png'; | |||||
///  | |||||
static final String assetsImagesVipHyCjhy = 'assets/images/vip/hy_cjhy.png'; | static final String assetsImagesVipHyCjhy = 'assets/images/vip/hy_cjhy.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesVipHyHy = 'assets/images/vip/hy_hy.png'; | static final String assetsImagesVipHyHy = 'assets/images/vip/hy_hy.png'; | ||||
///  | |||||
static final String assetsImagesVipHyTj = 'assets/images/vip/hy_tj.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesVipHyTq = 'assets/images/vip/hy_tq.png'; | static final String assetsImagesVipHyTq = 'assets/images/vip/hy_tq.png'; | ||||
///  | |||||
static final String assetsImagesVipHyXz = 'assets/images/vip/hy_xz.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface1 = 'assets/images/emojiface/1.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface10 = 'assets/images/emojiface/10.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface11 = 'assets/images/emojiface/11.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface12 = 'assets/images/emojiface/12.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface13 = 'assets/images/emojiface/13.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface88 = 'assets/images/emojiface/88.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface77 = 'assets/images/emojiface/77.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface63 = 'assets/images/emojiface/63.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface62 = 'assets/images/emojiface/62.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface76 = 'assets/images/emojiface/76.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface89 = 'assets/images/emojiface/89.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface60 = 'assets/images/emojiface/60.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface74 = 'assets/images/emojiface/74.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface48 = 'assets/images/emojiface/48.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface49 = 'assets/images/emojiface/49.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface75 = 'assets/images/emojiface/75.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface61 = 'assets/images/emojiface/61.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface59 = 'assets/images/emojiface/59.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface65 = 'assets/images/emojiface/65.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface71 = 'assets/images/emojiface/71.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface70 = 'assets/images/emojiface/70.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface64 = 'assets/images/emojiface/64.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface58 = 'assets/images/emojiface/58.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface8 = 'assets/images/emojiface/8.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface72 = 'assets/images/emojiface/72.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface66 = 'assets/images/emojiface/66.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface67 = 'assets/images/emojiface/67.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface73 = 'assets/images/emojiface/73.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface9 = 'assets/images/emojiface/9.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface14 = 'assets/images/emojiface/14.png'; | static final String assetsImagesEmojiface14 = 'assets/images/emojiface/14.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface28 = 'assets/images/emojiface/28.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface29 = 'assets/images/emojiface/29.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface15 = 'assets/images/emojiface/15.png'; | static final String assetsImagesEmojiface15 = 'assets/images/emojiface/15.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface16 = 'assets/images/emojiface/16.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface17 = 'assets/images/emojiface/17.png'; | static final String assetsImagesEmojiface17 = 'assets/images/emojiface/17.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface18 = 'assets/images/emojiface/18.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface19 = 'assets/images/emojiface/19.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface2 = 'assets/images/emojiface/2.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface20 = 'assets/images/emojiface/20.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface16 = 'assets/images/emojiface/16.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface12 = 'assets/images/emojiface/12.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface13 = 'assets/images/emojiface/13.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface39 = 'assets/images/emojiface/39.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface11 = 'assets/images/emojiface/11.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface10 = 'assets/images/emojiface/10.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface38 = 'assets/images/emojiface/38.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface35 = 'assets/images/emojiface/35.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface21 = 'assets/images/emojiface/21.png'; | static final String assetsImagesEmojiface21 = 'assets/images/emojiface/21.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface20 = 'assets/images/emojiface/20.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface34 = 'assets/images/emojiface/34.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface22 = 'assets/images/emojiface/22.png'; | static final String assetsImagesEmojiface22 = 'assets/images/emojiface/22.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface36 = 'assets/images/emojiface/36.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface37 = 'assets/images/emojiface/37.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface23 = 'assets/images/emojiface/23.png'; | static final String assetsImagesEmojiface23 = 'assets/images/emojiface/23.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface24 = 'assets/images/emojiface/24.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface25 = 'assets/images/emojiface/25.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface26 = 'assets/images/emojiface/26.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface27 = 'assets/images/emojiface/27.png'; | static final String assetsImagesEmojiface27 = 'assets/images/emojiface/27.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface28 = 'assets/images/emojiface/28.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface29 = 'assets/images/emojiface/29.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface3 = 'assets/images/emojiface/3.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface33 = 'assets/images/emojiface/33.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface32 = 'assets/images/emojiface/32.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface26 = 'assets/images/emojiface/26.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface18 = 'assets/images/emojiface/18.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface30 = 'assets/images/emojiface/30.png'; | static final String assetsImagesEmojiface30 = 'assets/images/emojiface/30.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface24 = 'assets/images/emojiface/24.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface25 = 'assets/images/emojiface/25.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface31 = 'assets/images/emojiface/31.png'; | static final String assetsImagesEmojiface31 = 'assets/images/emojiface/31.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface32 = 'assets/images/emojiface/32.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface33 = 'assets/images/emojiface/33.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface34 = 'assets/images/emojiface/34.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface35 = 'assets/images/emojiface/35.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface36 = 'assets/images/emojiface/36.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface37 = 'assets/images/emojiface/37.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface38 = 'assets/images/emojiface/38.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface39 = 'assets/images/emojiface/39.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface19 = 'assets/images/emojiface/19.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface81 = 'assets/images/emojiface/81.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface4 = 'assets/images/emojiface/4.png'; | static final String assetsImagesEmojiface4 = 'assets/images/emojiface/4.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface40 = 'assets/images/emojiface/40.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface41 = 'assets/images/emojiface/41.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface56 = 'assets/images/emojiface/56.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface42 = 'assets/images/emojiface/42.png'; | static final String assetsImagesEmojiface42 = 'assets/images/emojiface/42.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface43 = 'assets/images/emojiface/43.png'; | static final String assetsImagesEmojiface43 = 'assets/images/emojiface/43.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface44 = 'assets/images/emojiface/44.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface45 = 'assets/images/emojiface/45.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface46 = 'assets/images/emojiface/46.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface47 = 'assets/images/emojiface/47.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface48 = 'assets/images/emojiface/48.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface49 = 'assets/images/emojiface/49.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface5 = 'assets/images/emojiface/5.png'; | static final String assetsImagesEmojiface5 = 'assets/images/emojiface/5.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface50 = 'assets/images/emojiface/50.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface51 = 'assets/images/emojiface/51.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface52 = 'assets/images/emojiface/52.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface53 = 'assets/images/emojiface/53.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface54 = 'assets/images/emojiface/54.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface55 = 'assets/images/emojiface/55.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface56 = 'assets/images/emojiface/56.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface57 = 'assets/images/emojiface/57.png'; | static final String assetsImagesEmojiface57 = 'assets/images/emojiface/57.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface58 = 'assets/images/emojiface/58.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface59 = 'assets/images/emojiface/59.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface6 = 'assets/images/emojiface/6.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface60 = 'assets/images/emojiface/60.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface61 = 'assets/images/emojiface/61.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface62 = 'assets/images/emojiface/62.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface63 = 'assets/images/emojiface/63.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface64 = 'assets/images/emojiface/64.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface65 = 'assets/images/emojiface/65.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface66 = 'assets/images/emojiface/66.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface67 = 'assets/images/emojiface/67.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface68 = 'assets/images/emojiface/68.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface69 = 'assets/images/emojiface/69.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface7 = 'assets/images/emojiface/7.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface70 = 'assets/images/emojiface/70.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface71 = 'assets/images/emojiface/71.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface72 = 'assets/images/emojiface/72.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface73 = 'assets/images/emojiface/73.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface74 = 'assets/images/emojiface/74.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface75 = 'assets/images/emojiface/75.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface76 = 'assets/images/emojiface/76.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface77 = 'assets/images/emojiface/77.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface78 = 'assets/images/emojiface/78.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface79 = 'assets/images/emojiface/79.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface8 = 'assets/images/emojiface/8.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface80 = 'assets/images/emojiface/80.png'; | static final String assetsImagesEmojiface80 = 'assets/images/emojiface/80.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface81 = 'assets/images/emojiface/81.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface82 = 'assets/images/emojiface/82.png'; | static final String assetsImagesEmojiface82 = 'assets/images/emojiface/82.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface41 = 'assets/images/emojiface/41.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface55 = 'assets/images/emojiface/55.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface7 = 'assets/images/emojiface/7.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface69 = 'assets/images/emojiface/69.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface68 = 'assets/images/emojiface/68.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface54 = 'assets/images/emojiface/54.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface6 = 'assets/images/emojiface/6.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface40 = 'assets/images/emojiface/40.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface83 = 'assets/images/emojiface/83.png'; | static final String assetsImagesEmojiface83 = 'assets/images/emojiface/83.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface84 = 'assets/images/emojiface/84.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface85 = 'assets/images/emojiface/85.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface86 = 'assets/images/emojiface/86.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface87 = 'assets/images/emojiface/87.png'; | static final String assetsImagesEmojiface87 = 'assets/images/emojiface/87.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface88 = 'assets/images/emojiface/88.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface89 = 'assets/images/emojiface/89.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface9 = 'assets/images/emojiface/9.png'; | |||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface78 = 'assets/images/emojiface/78.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface44 = 'assets/images/emojiface/44.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface2 = 'assets/images/emojiface/2.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface50 = 'assets/images/emojiface/50.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface3 = 'assets/images/emojiface/3.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface51 = 'assets/images/emojiface/51.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface45 = 'assets/images/emojiface/45.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface79 = 'assets/images/emojiface/79.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface86 = 'assets/images/emojiface/86.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface90 = 'assets/images/emojiface/90.png'; | static final String assetsImagesEmojiface90 = 'assets/images/emojiface/90.png'; | ||||
///  | |||||
static final String assetsImagesEmojiface84 = 'assets/images/emojiface/84.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface53 = 'assets/images/emojiface/53.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface1 = 'assets/images/emojiface/1.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface47 = 'assets/images/emojiface/47.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface46 = 'assets/images/emojiface/46.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface52 = 'assets/images/emojiface/52.png'; | |||||
///  | |||||
static final String assetsImagesEmojiface85 = 'assets/images/emojiface/85.png'; | |||||
} | } |
@@ -1151,14 +1151,14 @@ class CustomUI { | |||||
); | ); | ||||
} | } | ||||
static PreferredSizeWidget buildSearchButton(BuildContext context, callback) { | |||||
static PreferredSizeWidget buildSearchButton(BuildContext context, callback,{double bottom=14}) { | |||||
return PreferredSize( | return PreferredSize( | ||||
preferredSize: Size.fromHeight(49), | preferredSize: Size.fromHeight(49), | ||||
child: InkWell( | child: InkWell( | ||||
onTap: callback, | onTap: callback, | ||||
child: Container( | child: Container( | ||||
alignment: Alignment.center, | alignment: Alignment.center, | ||||
margin: EdgeInsets.only(bottom: 14, left: 12.5, right: 12.5), | |||||
margin: EdgeInsets.only(bottom: bottom, left: 12.5, right: 12.5), | |||||
height: 35, | height: 35, | ||||
decoration: BoxDecoration( | decoration: BoxDecoration( | ||||
color: const Color(0xFFEEEEEE), | color: const Color(0xFFEEEEEE), | ||||
@@ -87,7 +87,7 @@ class HttpUtil { | |||||
return response; // continue | return response; // continue | ||||
}, onError: (DioError e) async { | }, onError: (DioError e) async { | ||||
// Do something with response error | // Do something with response error | ||||
showToast(I18n.of(LoadingManage.context).net_error); | |||||
showToast(I18n.of(Constants.getCurrentContext()).net_error); | |||||
return e; //continue | return e; //continue | ||||
})); | })); | ||||
} | } | ||||
@@ -172,7 +172,7 @@ class HttpUtil { | |||||
} | } | ||||
print('post请求发生错误:$e'); | print('post请求发生错误:$e'); | ||||
if (isShowLoading) LoadingManage().closeLoading(); | if (isShowLoading) LoadingManage().closeLoading(); | ||||
showToast(I18n.of(LoadingManage.context).server_error_tips); | |||||
showToast(I18n.of(Constants.getCurrentContext()).server_error_tips); | |||||
if (failback != null) failback(); | if (failback != null) failback(); | ||||
} | } | ||||
return response; | return response; | ||||
@@ -5,6 +5,7 @@ | |||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:chat/utils/my_dialog.dart' as myDialog; | import 'package:chat/utils/my_dialog.dart' as myDialog; | ||||
import 'package:chat/data/constants.dart'; | |||||
class LoadingManage { | class LoadingManage { | ||||
//私有构造函数 | //私有构造函数 | ||||
@@ -16,10 +17,9 @@ class LoadingManage { | |||||
//工厂构造函数 | //工厂构造函数 | ||||
factory LoadingManage() => _singleton; | factory LoadingManage() => _singleton; | ||||
static BuildContext context; | |||||
showLoading() { | showLoading() { | ||||
myDialog.showDialog( | myDialog.showDialog( | ||||
context: context, | |||||
context: Constants.getCurrentContext(), | |||||
barrierDismissible: true, | barrierDismissible: true, | ||||
builder: (BuildContext context) { | builder: (BuildContext context) { | ||||
return LoadingDialog(); | return LoadingDialog(); | ||||
@@ -27,7 +27,7 @@ class LoadingManage { | |||||
} | } | ||||
closeLoading() { | closeLoading() { | ||||
Navigator.of(context).pop(); | |||||
Constants.getCurrentState().pop(); | |||||
} | } | ||||
} | } | ||||
@@ -9,7 +9,6 @@ import 'package:chat/data/constants.dart'; | |||||
import 'package:chat/data/group_data_mgr.dart'; | import 'package:chat/data/group_data_mgr.dart'; | ||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/proto/all.pbserver.dart'; | import 'package:chat/proto/all.pbserver.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/utils/net_state_util.dart'; | import 'package:chat/utils/net_state_util.dart'; | ||||
import 'package:chat/utils/screen.dart'; | import 'package:chat/utils/screen.dart'; | ||||
import 'package:chat/utils/upload_util.dart'; | import 'package:chat/utils/upload_util.dart'; | ||||
@@ -164,7 +163,7 @@ class NetWork { | |||||
} else { | } else { | ||||
_stateBloc.addState(ChatState.loginFailed); | _stateBloc.addState(ChatState.loginFailed); | ||||
print('登录失败${msgContent.errorCode}'); | print('登录失败${msgContent.errorCode}'); | ||||
showToast(I18n.of(LoadingManage.context).fail); | |||||
showToast(I18n.of(Constants.getCurrentContext()).fail); | |||||
} | } | ||||
} else if (msgId == 3) { | } else if (msgId == 3) { | ||||
//用户登出,其他设备替换 | //用户登出,其他设备替换 | ||||
@@ -134,7 +134,7 @@ class AppNavigator { | |||||
//客服 | //客服 | ||||
static pushServicePage(BuildContext context, {questionIndex = -1}) async { | static pushServicePage(BuildContext context, {questionIndex = -1}) async { | ||||
AppNavigator.push(context, ServiceCenterPage(questionIndex)); | |||||
AppNavigator.push(context, ServiceCenterPage(questionIndex : questionIndex)); | |||||
} | } | ||||
//群成员列表 | //群成员列表 | ||||
@@ -1,3 +1,5 @@ | |||||
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:chat/utils/LoadingDialog.dart'; | ||||
@@ -38,12 +40,12 @@ class BlacklistMgr { | |||||
//判断是否被别人拉黑或者拉黑别人 | //判断是否被别人拉黑或者拉黑别人 | ||||
static bool isBlack(int userId) { | static bool isBlack(int userId) { | ||||
if (isBlaklistMe(userId)) { | if (isBlaklistMe(userId)) { | ||||
showToast(I18n.of(LoadingManage.context).you_are_blaklisted); | |||||
showToast(I18n.of(Constants.getCurrentContext()).you_are_blaklisted); | |||||
return true; | return true; | ||||
} | } | ||||
if (BlacklistMgr.isInMyblaklist(userId)) { | if (BlacklistMgr.isInMyblaklist(userId)) { | ||||
showToast(I18n.of(LoadingManage.context).reject_message); | |||||
showToast(I18n.of(Constants.getCurrentContext()).reject_message); | |||||
return true; | return true; | ||||
} | } | ||||
return false; | return false; | ||||
@@ -1,7 +1,7 @@ | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/models/UserInfo.dart'; | import 'package:chat/models/UserInfo.dart'; | ||||
import 'package:chat/models/ref_name_provider.dart'; | import 'package:chat/models/ref_name_provider.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/data/constants.dart'; | |||||
import 'package:chat/utils/sql_model.dart'; | import 'package:chat/utils/sql_model.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:lpinyin/lpinyin.dart'; | import 'package:lpinyin/lpinyin.dart'; | ||||
@@ -39,7 +39,7 @@ class FriendModel { | |||||
} | } | ||||
updataRefName() { | updataRefName() { | ||||
refName = Provider.of<RefNameProvider>(LoadingManage.context, listen: false) | |||||
refName = Provider.of<RefNameProvider>(Constants.getCurrentContext(), listen: false) | |||||
.getRefName(friendId, name); | .getRefName(friendId, name); | ||||
nameTag = getNameTag(); | nameTag = getNameTag(); | ||||
} | } | ||||
@@ -38,7 +38,7 @@ class BottomAreaAvoider extends StatefulWidget { | |||||
/// Animation curve. Defaults to [defaultCurve] | /// Animation curve. Defaults to [defaultCurve] | ||||
final Curve curve; | final Curve curve; | ||||
ScrollController scrollTo; | |||||
final ScrollController scrollTo; | |||||
BottomAreaAvoider({ | BottomAreaAvoider({ | ||||
Key key, | Key key, | ||||
@@ -181,7 +181,7 @@ RenderObject findFocusedObject(RenderObject root) { | |||||
final q = Queue<RenderObject>(); | final q = Queue<RenderObject>(); | ||||
q.add(root); | q.add(root); | ||||
while (q.isNotEmpty) { | while (q.isNotEmpty) { | ||||
final node = q.removeFirst(); | |||||
final RenderObject node = q.removeFirst(); | |||||
final config = SemanticsConfiguration(); | final config = SemanticsConfiguration(); | ||||
node.describeSemanticsConfiguration(config); | node.describeSemanticsConfiguration(config); | ||||
if (config.isFocused) { | if (config.isFocused) { | ||||
@@ -1,31 +1,23 @@ | |||||
import 'dart:async'; | |||||
import 'package:receive_sharing_intent/receive_sharing_intent.dart'; | import 'package:receive_sharing_intent/receive_sharing_intent.dart'; | ||||
import 'MessageMgr.dart'; | import 'MessageMgr.dart'; | ||||
class ReceiveShareFile { | class ReceiveShareFile { | ||||
static StreamSubscription _intentDataStreamSubscription; | |||||
static List<SharedMediaFile> _sharedFiles; | |||||
static String tempFilePath; | static String tempFilePath; | ||||
static int mLastClickTime = 0; | static int mLastClickTime = 0; | ||||
static final int TIME_INTERVAL = 3000; | |||||
static int timeInterval = 3000; | |||||
static void init() { | static void init() { | ||||
// For sharing images coming from outside the app while the app is in the memory | // For sharing images coming from outside the app while the app is in the memory | ||||
_intentDataStreamSubscription = ReceiveSharingIntent.getMediaStream() | |||||
ReceiveSharingIntent.getMediaStream() | |||||
.listen((List<SharedMediaFile> value) { | .listen((List<SharedMediaFile> value) { | ||||
// setState(() { | |||||
// _sharedFiles = value; | |||||
// print("Shared:" + (_sharedFiles?.map((f) => f.path)?.join(",") ?? "")); | |||||
// }); | |||||
// print('#### getfilePath ${value[0].path}'); | |||||
if (currentIndex == 1) { | if (currentIndex == 1) { | ||||
int nowTime = DateTime.now().millisecondsSinceEpoch; | int nowTime = DateTime.now().millisecondsSinceEpoch; | ||||
if (nowTime - mLastClickTime > TIME_INTERVAL) { | |||||
if (nowTime - mLastClickTime > timeInterval) { | |||||
if (value != null && value.length > 0) { | if (value != null && value.length > 0) { | ||||
MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, value[0].path); | MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, value[0].path); | ||||
} | } | ||||
@@ -51,7 +43,7 @@ class ReceiveShareFile { | |||||
if (currentIndex == 1) { | if (currentIndex == 1) { | ||||
int nowTime = DateTime.now().millisecondsSinceEpoch; | int nowTime = DateTime.now().millisecondsSinceEpoch; | ||||
if (nowTime - mLastClickTime > TIME_INTERVAL) { | |||||
if (nowTime - mLastClickTime > timeInterval) { | |||||
// do something | // do something | ||||
if (value != null && value.length > 0) { | if (value != null && value.length > 0) { | ||||
MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, value[0].path); | MessageMgr().emit(MessageMgr.RECEIVE_THIRD_SHARE, value[0].path); | ||||
@@ -67,7 +59,6 @@ class ReceiveShareFile { | |||||
}); | }); | ||||
// For sharing or opening urls/text coming from outside the app while the app is in the memory | // For sharing or opening urls/text coming from outside the app while the app is in the memory | ||||
_intentDataStreamSubscription = | |||||
ReceiveSharingIntent.getTextStream().listen((String value) { | ReceiveSharingIntent.getTextStream().listen((String value) { | ||||
print('#### getfilePath $value '); | print('#### getfilePath $value '); | ||||
// setState(() { | // setState(() { | ||||
@@ -5,7 +5,7 @@ import 'package:chat/models/ChatMsg.dart'; | |||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/models/group_info_server_model.dart'; | import 'package:chat/models/group_info_server_model.dart'; | ||||
import 'package:chat/proto/all.pbserver.dart'; | import 'package:chat/proto/all.pbserver.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | |||||
import 'package:chat/data/constants.dart'; | |||||
import 'package:chat/utils/file_cache_mgr.dart'; | import 'package:chat/utils/file_cache_mgr.dart'; | ||||
import 'package:convert/convert.dart'; | import 'package:convert/convert.dart'; | ||||
import 'package:dio/dio.dart'; | import 'package:dio/dio.dart'; | ||||
@@ -224,12 +224,12 @@ class UploadUtil { | |||||
return path; | return path; | ||||
} else { | } else { | ||||
msg.state = MsgState.DownloadFailed; | msg.state = MsgState.DownloadFailed; | ||||
showToast(I18n.of(LoadingManage.context).server_error_tips); | |||||
showToast(I18n.of(Constants.getCurrentContext()).server_error_tips); | |||||
return null; | return null; | ||||
} | } | ||||
} catch (e) { | } catch (e) { | ||||
msg.state = MsgState.DownloadFailed; | msg.state = MsgState.DownloadFailed; | ||||
showToast(I18n.of(LoadingManage.context).server_error_tips); | |||||
showToast(I18n.of(Constants.getCurrentContext()).server_error_tips); | |||||
print(response.toString()); | print(response.toString()); | ||||
} | } | ||||
} | } | ||||
@@ -197,265 +197,268 @@ flutter: | |||||
assets: | assets: | ||||
# assets-generator-begin | # assets-generator-begin | ||||
# assets/images/* | # assets/images/* | ||||
- assets/images/back.png | |||||
- assets/images/bg.png | |||||
- assets/images/bofang.png | - assets/images/bofang.png | ||||
- assets/images/chat_item_1.png | |||||
- assets/images/chat_item_2.png | |||||
- assets/images/chat_item_3.png | |||||
- assets/images/chat_item_4.png | |||||
- assets/images/chat_item_5.png | |||||
- assets/images/chat_item_6.png | |||||
- assets/images/chat_item_7.png | |||||
- assets/images/coin.png | |||||
- assets/images/ic_quick_search.png | |||||
- assets/images/img_temp_share.png | |||||
- assets/images/ic_tag.png | |||||
- assets/images/default_nor_avatar.png | |||||
- assets/images/server_icon.png | |||||
- assets/images/ic_public_account.png | |||||
- assets/images/ic_feeds.png | |||||
- assets/images/daily_bg_1.png | - assets/images/daily_bg_1.png | ||||
- assets/images/yqm_bg.png | |||||
- assets/images/daily_bg_2.png | - assets/images/daily_bg_2.png | ||||
- assets/images/daily_btn_1.png | |||||
- assets/images/daily_btn_2.png | |||||
- assets/images/daily_coin.png | |||||
- assets/images/daily_icon.png | |||||
- assets/images/default_nor_avatar.png | |||||
- assets/images/ext_apk.png | |||||
- assets/images/ext_excel.png | - assets/images/ext_excel.png | ||||
- assets/images/img_fyj.png | |||||
- assets/images/right_gray.png | |||||
- assets/images/ic_group_chat.png | |||||
- assets/images/img_temp_see.png | |||||
- assets/images/ext_pdf.png | - assets/images/ext_pdf.png | ||||
- assets/images/ext_ppt.png | - assets/images/ext_ppt.png | ||||
- assets/images/ext_sound.png | |||||
- assets/images/ext_txt.png | |||||
- assets/images/ext_unknown.png | |||||
- assets/images/ic_mini_program.png | |||||
- assets/images/ic_shake_phone.png | |||||
- assets/images/ic_game_entry.png | |||||
- assets/images/daily_icon.png | |||||
- assets/images/left_gray.png | |||||
- assets/images/ic_social_circle.png | |||||
- assets/images/ext_apk.png | |||||
- assets/images/svip.png | |||||
- assets/images/ic_qrcode_preview_tiny.png | |||||
- assets/images/ic_album.png | |||||
- assets/images/zhiwen.png | |||||
- assets/images/net_error.png | |||||
- assets/images/ic_emotions.png | |||||
- assets/images/ext_video.png | - assets/images/ext_video.png | ||||
- assets/images/ext_word.png | - assets/images/ext_word.png | ||||
- assets/images/ext_zip.png | |||||
- assets/images/gift_1.png | |||||
- assets/images/gift_2.png | |||||
- assets/images/gift_3.png | |||||
- assets/images/gift_anim_1.gif | |||||
- assets/images/gift_anim_2.gif | |||||
- assets/images/gift_anim_3.gif | |||||
- assets/images/gift_show_2_1.png | |||||
- assets/images/gift_show_2_2.png | |||||
- assets/images/gift_show_2_3.png | |||||
- assets/images/gift_show_2_4.png | |||||
- assets/images/img_temp_hy.png | |||||
- assets/images/hand.png | - assets/images/hand.png | ||||
- assets/images/ic_album.png | |||||
- assets/images/ic_bottle_msg.png | |||||
- assets/images/ic_cards_wallet.png | |||||
- assets/images/ic_collections.png | |||||
- assets/images/ic_emotions.png | |||||
- assets/images/ic_feeds.png | |||||
- assets/images/ic_fengchao.png | |||||
- assets/images/ic_file_transfer.png | |||||
- assets/images/ic_game_entry.png | |||||
- assets/images/ic_group_chat.png | |||||
- assets/images/ic_mini_program.png | |||||
- assets/images/ic_new_friend.png | |||||
- assets/images/qianbao_bg.png | |||||
- assets/images/img_splash_3.png | |||||
- assets/images/img_update_bg.png | |||||
- assets/images/daily_btn_1.png | |||||
- assets/images/chat_item_4.png | |||||
- assets/images/chat_item_5.png | |||||
- assets/images/ic_people_nearby.png | - assets/images/ic_people_nearby.png | ||||
- assets/images/ic_public_account.png | |||||
- assets/images/ic_qrcode_preview_tiny.png | |||||
- assets/images/ic_quick_scan.png | |||||
- assets/images/ic_quick_search.png | |||||
- assets/images/ic_settings.png | |||||
- assets/images/ic_shake_phone.png | |||||
- assets/images/ic_shopping.png | |||||
- assets/images/ic_social_circle.png | |||||
- assets/images/ic_tag.png | |||||
- assets/images/img_splash_2.png | |||||
- assets/images/ic_tx_news.png | - assets/images/ic_tx_news.png | ||||
- assets/images/ic_wallet.png | |||||
- assets/images/ic_wx_games.png | |||||
- assets/images/img_fyj.png | |||||
- assets/images/service_icon.png | |||||
- assets/images/daily_btn_2.png | |||||
- assets/images/chat_item_7.png | |||||
- assets/images/img_temp_qb.png | |||||
- assets/images/img_travel_butler.png | |||||
- assets/images/chat_item_6.png | |||||
- assets/images/img_long_index.png | - assets/images/img_long_index.png | ||||
- assets/images/img_splash_1.png | - assets/images/img_splash_1.png | ||||
- assets/images/img_splash_2.png | |||||
- assets/images/img_splash_3.png | |||||
- assets/images/img_temp_hy.png | |||||
- assets/images/img_temp_qb.png | |||||
- assets/images/daily_coin.png | |||||
- assets/images/ic_new_friend.png | |||||
- assets/images/ic_settings.png | |||||
- assets/images/ic_cards_wallet.png | |||||
- assets/images/chat_item_2.png | |||||
- assets/images/chat_item_3.png | |||||
- assets/images/robot.jpg | |||||
- assets/images/ext_sound.png | |||||
- assets/images/ext_zip.png | |||||
- assets/images/chat_item_1.png | |||||
- assets/images/img_temp_qd.png | - assets/images/img_temp_qd.png | ||||
- assets/images/img_temp_see.png | |||||
- assets/images/img_temp_share.png | |||||
- assets/images/img_update_bg.png | |||||
- assets/images/left_gray.png | |||||
- assets/images/img_translation_butler.png | |||||
- assets/images/left_white.png | - assets/images/left_white.png | ||||
- assets/images/net_error.png | |||||
- assets/images/qianbao_bg.png | |||||
- assets/images/red_packet_bg.png | |||||
- assets/images/right_gray.png | |||||
- assets/images/voucher.png | |||||
- assets/images/VIP.png | |||||
- assets/images/ic_wallet.png | |||||
- assets/images/right_white.png | - assets/images/right_white.png | ||||
- assets/images/robot.jpg | |||||
- assets/images/server_icon.png | |||||
- assets/images/service_icon.png | |||||
- assets/images/ic_collections.png | |||||
- assets/images/gift_show_2_4.png | |||||
- assets/images/ic_wx_games.png | |||||
- assets/images/ic_shopping.png | |||||
- assets/images/ic_fengchao.png | |||||
- assets/images/ic_file_transfer.png | |||||
- assets/images/suo.png | - assets/images/suo.png | ||||
- assets/images/svip.png | |||||
- assets/images/VIP.png | |||||
- assets/images/voucher.png | |||||
- assets/images/yqm_bg.png | |||||
- assets/images/zhiwen.png | |||||
- assets/images/red_packet_bg.png | |||||
- assets/images/gift_show_2_3.png | |||||
- assets/images/ext_unknown.png | |||||
- assets/images/coin.png | |||||
- assets/images/gift_anim_3.gif | |||||
- assets/images/gift_anim_2.gif | |||||
- assets/images/gift_1.png | |||||
- assets/images/back.png | |||||
- assets/images/gift_show_2_2.png | |||||
- assets/images/gift_3.png | |||||
- assets/images/ic_quick_scan.png | |||||
- assets/images/img_translation_icon.png | |||||
- assets/images/ic_bottle_msg.png | |||||
- assets/images/gift_anim_1.gif | |||||
- assets/images/bg.png | |||||
- assets/images/gift_2.png | |||||
- assets/images/ext_txt.png | |||||
- assets/images/gift_show_2_1.png | |||||
# assets/images/chat/* | # assets/images/chat/* | ||||
- assets/images/chat/emoji.png | - assets/images/chat/emoji.png | ||||
- assets/images/chat/onion.png | |||||
- assets/images/chat/icon1.png | - assets/images/chat/icon1.png | ||||
- assets/images/chat/icon2.png | |||||
- assets/images/chat/icon3.png | - assets/images/chat/icon3.png | ||||
- assets/images/chat/icon4.png | |||||
- assets/images/chat/icon5.png | |||||
- assets/images/chat/icon2.png | |||||
- assets/images/chat/icon6.png | - assets/images/chat/icon6.png | ||||
- assets/images/chat/onion.png | |||||
- assets/images/chat/icon5.png | |||||
- assets/images/chat/icon4.png | |||||
# assets/images/login/* | # assets/images/login/* | ||||
- assets/images/login/delete.png | |||||
- assets/images/login/dly_icon1.png | |||||
- assets/images/login/dly_icon2.png | |||||
- assets/images/login/dly_icon3.png | |||||
- assets/images/login/dly_icon4.png | |||||
- assets/images/login/dly_logo.png | |||||
- assets/images/login/lock.png | |||||
- assets/images/login/money.png | |||||
- assets/images/login/rzzx.png | |||||
- assets/images/login/SY_bg.png | |||||
- assets/images/login/SY_logo.png | |||||
- assets/images/login/vip_wx.png | |||||
- assets/images/login/vip_logio.png | - assets/images/login/vip_logio.png | ||||
- assets/images/login/vip_other.png | |||||
- assets/images/login/lock.png | |||||
- assets/images/login/vip_rect1.png | - assets/images/login/vip_rect1.png | ||||
- assets/images/login/vip_rect2.png | |||||
- assets/images/login/vip_rect3.png | - assets/images/login/vip_rect3.png | ||||
- assets/images/login/vip_wx.png | |||||
- assets/images/login/vip_rect2.png | |||||
- assets/images/login/vip_zfb.png | - assets/images/login/vip_zfb.png | ||||
- assets/images/login/xzxb_female.png | |||||
- assets/images/login/dly_icon3.png | |||||
- assets/images/login/dly_icon2.png | |||||
- assets/images/login/SY_bg.png | |||||
- assets/images/login/dly_logo.png | |||||
- assets/images/login/vip_other.png | |||||
- assets/images/login/dly_icon1.png | |||||
- assets/images/login/rzzx.png | |||||
- assets/images/login/dly_icon4.png | |||||
- assets/images/login/money.png | |||||
- assets/images/login/SY_logo.png | |||||
- assets/images/login/delete.png | |||||
- assets/images/login/xzxb_male.png | - assets/images/login/xzxb_male.png | ||||
- assets/images/login/xzxb_female.png | |||||
# assets/images/park/* | # assets/images/park/* | ||||
- assets/images/park/qz_icon8.png | |||||
- assets/images/park/qz_icon1.png | - assets/images/park/qz_icon1.png | ||||
- assets/images/park/qz_icon2.png | - assets/images/park/qz_icon2.png | ||||
- assets/images/park/qz_icon3.png | - assets/images/park/qz_icon3.png | ||||
- assets/images/park/qz_icon7.png | |||||
- assets/images/park/qz_icon6.png | |||||
- assets/images/park/qz_icon4.png | - assets/images/park/qz_icon4.png | ||||
- assets/images/park/qz_icon5.png | - assets/images/park/qz_icon5.png | ||||
- assets/images/park/qz_icon6.png | |||||
- assets/images/park/qz_icon7.png | |||||
- assets/images/park/qz_icon8.png | |||||
# assets/images/sticker/* | # assets/images/sticker/* | ||||
- assets/images/sticker/sticker_1.gif | |||||
- assets/images/sticker/sticker_10.gif | |||||
- assets/images/sticker/sticker_11.gif | - assets/images/sticker/sticker_11.gif | ||||
- assets/images/sticker/sticker_7.gif | |||||
- assets/images/sticker/sticker_6.gif | |||||
- assets/images/sticker/sticker_10.gif | |||||
- assets/images/sticker/sticker_12.gif | - assets/images/sticker/sticker_12.gif | ||||
- assets/images/sticker/sticker_4.gif | |||||
- assets/images/sticker/sticker_5.gif | |||||
- assets/images/sticker/sticker_13.gif | - assets/images/sticker/sticker_13.gif | ||||
- assets/images/sticker/sticker_17.gif | |||||
- assets/images/sticker/sticker_1.gif | |||||
- assets/images/sticker/sticker_16.gif | |||||
- assets/images/sticker/sticker_14.gif | - assets/images/sticker/sticker_14.gif | ||||
- assets/images/sticker/sticker_28.gif | |||||
- assets/images/sticker/sticker_2.gif | |||||
- assets/images/sticker/sticker_3.gif | |||||
- assets/images/sticker/sticker_29.gif | |||||
- assets/images/sticker/sticker_15.gif | - assets/images/sticker/sticker_15.gif | ||||
- assets/images/sticker/sticker_16.gif | |||||
- assets/images/sticker/sticker_17.gif | |||||
- assets/images/sticker/sticker_18.gif | - assets/images/sticker/sticker_18.gif | ||||
- assets/images/sticker/sticker_19.gif | |||||
- assets/images/sticker/sticker_2.gif | |||||
- assets/images/sticker/sticker_20.gif | |||||
- assets/images/sticker/sticker_21.gif | |||||
- assets/images/sticker/sticker_22.gif | |||||
- assets/images/sticker/sticker_23.gif | |||||
- assets/images/sticker/sticker_24.gif | - assets/images/sticker/sticker_24.gif | ||||
- assets/images/sticker/sticker_30.gif | |||||
- assets/images/sticker/sticker_25.gif | - assets/images/sticker/sticker_25.gif | ||||
- assets/images/sticker/sticker_26.gif | |||||
- assets/images/sticker/sticker_19.gif | |||||
- assets/images/sticker/sticker_27.gif | - assets/images/sticker/sticker_27.gif | ||||
- assets/images/sticker/sticker_28.gif | |||||
- assets/images/sticker/sticker_29.gif | |||||
- assets/images/sticker/sticker_3.gif | |||||
- assets/images/sticker/sticker_30.gif | |||||
- assets/images/sticker/sticker_4.gif | |||||
- assets/images/sticker/sticker_5.gif | |||||
- assets/images/sticker/sticker_6.gif | |||||
- assets/images/sticker/sticker_7.gif | |||||
- assets/images/sticker/sticker_26.gif | |||||
- assets/images/sticker/sticker_22.gif | |||||
- assets/images/sticker/sticker_8.gif | - assets/images/sticker/sticker_8.gif | ||||
- assets/images/sticker/sticker_9.gif | - assets/images/sticker/sticker_9.gif | ||||
- assets/images/sticker/sticker_23.gif | |||||
- assets/images/sticker/sticker_21.gif | |||||
- assets/images/sticker/sticker_20.gif | |||||
# assets/images/vip/* | # assets/images/vip/* | ||||
- assets/images/vip/hy_bg.png | - assets/images/vip/hy_bg.png | ||||
- assets/images/vip/hy_tj.png | |||||
- assets/images/vip/hy_xz.png | |||||
- assets/images/vip/hy_cjhy.png | - assets/images/vip/hy_cjhy.png | ||||
- assets/images/vip/hy_hy.png | - assets/images/vip/hy_hy.png | ||||
- assets/images/vip/hy_tj.png | |||||
- assets/images/vip/hy_tq.png | - assets/images/vip/hy_tq.png | ||||
- assets/images/vip/hy_xz.png | |||||
# assets/images/emojiface/* | # assets/images/emojiface/* | ||||
- assets/images/emojiface/1.png | |||||
- assets/images/emojiface/10.png | |||||
- assets/images/emojiface/11.png | |||||
- assets/images/emojiface/12.png | |||||
- assets/images/emojiface/13.png | |||||
- assets/images/emojiface/88.png | |||||
- assets/images/emojiface/77.png | |||||
- assets/images/emojiface/63.png | |||||
- assets/images/emojiface/62.png | |||||
- assets/images/emojiface/76.png | |||||
- assets/images/emojiface/89.png | |||||
- assets/images/emojiface/60.png | |||||
- assets/images/emojiface/74.png | |||||
- assets/images/emojiface/48.png | |||||
- assets/images/emojiface/49.png | |||||
- assets/images/emojiface/75.png | |||||
- assets/images/emojiface/61.png | |||||
- assets/images/emojiface/59.png | |||||
- assets/images/emojiface/65.png | |||||
- assets/images/emojiface/71.png | |||||
- assets/images/emojiface/70.png | |||||
- assets/images/emojiface/64.png | |||||
- assets/images/emojiface/58.png | |||||
- assets/images/emojiface/8.png | |||||
- assets/images/emojiface/72.png | |||||
- assets/images/emojiface/66.png | |||||
- assets/images/emojiface/67.png | |||||
- assets/images/emojiface/73.png | |||||
- assets/images/emojiface/9.png | |||||
- assets/images/emojiface/14.png | - assets/images/emojiface/14.png | ||||
- assets/images/emojiface/28.png | |||||
- assets/images/emojiface/29.png | |||||
- assets/images/emojiface/15.png | - assets/images/emojiface/15.png | ||||
- assets/images/emojiface/16.png | |||||
- assets/images/emojiface/17.png | - assets/images/emojiface/17.png | ||||
- assets/images/emojiface/18.png | |||||
- assets/images/emojiface/19.png | |||||
- assets/images/emojiface/2.png | |||||
- assets/images/emojiface/20.png | |||||
- assets/images/emojiface/16.png | |||||
- assets/images/emojiface/12.png | |||||
- assets/images/emojiface/13.png | |||||
- assets/images/emojiface/39.png | |||||
- assets/images/emojiface/11.png | |||||
- assets/images/emojiface/10.png | |||||
- assets/images/emojiface/38.png | |||||
- assets/images/emojiface/35.png | |||||
- assets/images/emojiface/21.png | - assets/images/emojiface/21.png | ||||
- assets/images/emojiface/20.png | |||||
- assets/images/emojiface/34.png | |||||
- assets/images/emojiface/22.png | - assets/images/emojiface/22.png | ||||
- assets/images/emojiface/36.png | |||||
- assets/images/emojiface/37.png | |||||
- assets/images/emojiface/23.png | - assets/images/emojiface/23.png | ||||
- assets/images/emojiface/24.png | |||||
- assets/images/emojiface/25.png | |||||
- assets/images/emojiface/26.png | |||||
- assets/images/emojiface/27.png | - assets/images/emojiface/27.png | ||||
- assets/images/emojiface/28.png | |||||
- assets/images/emojiface/29.png | |||||
- assets/images/emojiface/3.png | |||||
- assets/images/emojiface/33.png | |||||
- assets/images/emojiface/32.png | |||||
- assets/images/emojiface/26.png | |||||
- assets/images/emojiface/18.png | |||||
- assets/images/emojiface/30.png | - assets/images/emojiface/30.png | ||||
- assets/images/emojiface/24.png | |||||
- assets/images/emojiface/25.png | |||||
- assets/images/emojiface/31.png | - assets/images/emojiface/31.png | ||||
- assets/images/emojiface/32.png | |||||
- assets/images/emojiface/33.png | |||||
- assets/images/emojiface/34.png | |||||
- assets/images/emojiface/35.png | |||||
- assets/images/emojiface/36.png | |||||
- assets/images/emojiface/37.png | |||||
- assets/images/emojiface/38.png | |||||
- assets/images/emojiface/39.png | |||||
- assets/images/emojiface/19.png | |||||
- assets/images/emojiface/81.png | |||||
- assets/images/emojiface/4.png | - assets/images/emojiface/4.png | ||||
- assets/images/emojiface/40.png | |||||
- assets/images/emojiface/41.png | |||||
- assets/images/emojiface/56.png | |||||
- assets/images/emojiface/42.png | - assets/images/emojiface/42.png | ||||
- assets/images/emojiface/43.png | - assets/images/emojiface/43.png | ||||
- assets/images/emojiface/44.png | |||||
- assets/images/emojiface/45.png | |||||
- assets/images/emojiface/46.png | |||||
- assets/images/emojiface/47.png | |||||
- assets/images/emojiface/48.png | |||||
- assets/images/emojiface/49.png | |||||
- assets/images/emojiface/5.png | - assets/images/emojiface/5.png | ||||
- assets/images/emojiface/50.png | |||||
- assets/images/emojiface/51.png | |||||
- assets/images/emojiface/52.png | |||||
- assets/images/emojiface/53.png | |||||
- assets/images/emojiface/54.png | |||||
- assets/images/emojiface/55.png | |||||
- assets/images/emojiface/56.png | |||||
- assets/images/emojiface/57.png | - assets/images/emojiface/57.png | ||||
- assets/images/emojiface/58.png | |||||
- assets/images/emojiface/59.png | |||||
- assets/images/emojiface/6.png | |||||
- assets/images/emojiface/60.png | |||||
- assets/images/emojiface/61.png | |||||
- assets/images/emojiface/62.png | |||||
- assets/images/emojiface/63.png | |||||
- assets/images/emojiface/64.png | |||||
- assets/images/emojiface/65.png | |||||
- assets/images/emojiface/66.png | |||||
- assets/images/emojiface/67.png | |||||
- assets/images/emojiface/68.png | |||||
- assets/images/emojiface/69.png | |||||
- assets/images/emojiface/7.png | |||||
- assets/images/emojiface/70.png | |||||
- assets/images/emojiface/71.png | |||||
- assets/images/emojiface/72.png | |||||
- assets/images/emojiface/73.png | |||||
- assets/images/emojiface/74.png | |||||
- assets/images/emojiface/75.png | |||||
- assets/images/emojiface/76.png | |||||
- assets/images/emojiface/77.png | |||||
- assets/images/emojiface/78.png | |||||
- assets/images/emojiface/79.png | |||||
- assets/images/emojiface/8.png | |||||
- assets/images/emojiface/80.png | - assets/images/emojiface/80.png | ||||
- assets/images/emojiface/81.png | |||||
- assets/images/emojiface/82.png | - assets/images/emojiface/82.png | ||||
- assets/images/emojiface/41.png | |||||
- assets/images/emojiface/55.png | |||||
- assets/images/emojiface/7.png | |||||
- assets/images/emojiface/69.png | |||||
- assets/images/emojiface/68.png | |||||
- assets/images/emojiface/54.png | |||||
- assets/images/emojiface/6.png | |||||
- assets/images/emojiface/40.png | |||||
- assets/images/emojiface/83.png | - assets/images/emojiface/83.png | ||||
- assets/images/emojiface/84.png | |||||
- assets/images/emojiface/85.png | |||||
- assets/images/emojiface/86.png | |||||
- assets/images/emojiface/87.png | - assets/images/emojiface/87.png | ||||
- assets/images/emojiface/88.png | |||||
- assets/images/emojiface/89.png | |||||
- assets/images/emojiface/9.png | |||||
- assets/images/emojiface/78.png | |||||
- assets/images/emojiface/44.png | |||||
- assets/images/emojiface/2.png | |||||
- assets/images/emojiface/50.png | |||||
- assets/images/emojiface/3.png | |||||
- assets/images/emojiface/51.png | |||||
- assets/images/emojiface/45.png | |||||
- assets/images/emojiface/79.png | |||||
- assets/images/emojiface/86.png | |||||
- assets/images/emojiface/90.png | - assets/images/emojiface/90.png | ||||
- assets/images/emojiface/84.png | |||||
- assets/images/emojiface/53.png | |||||
- assets/images/emojiface/1.png | |||||
- assets/images/emojiface/47.png | |||||
- assets/images/emojiface/46.png | |||||
- assets/images/emojiface/52.png | |||||
- assets/images/emojiface/85.png | |||||
# assets-generator-end | # assets-generator-end | ||||
# To add custom fonts to your application, add a fonts section here, | # To add custom fonts to your application, add a fonts section here, | ||||