@@ -5,11 +5,12 @@ | |||||
}, | }, | ||||
"client":{ | "client":{ | ||||
"cp_id":"890086000300385560", | "cp_id":"890086000300385560", | ||||
"product_id":"9105385871708389411", | |||||
"client_id":"270664671340528640", | |||||
"client_secret":"00CC308FC014C334D58CF79471B490FD6274BC39FEAAD89B63E762871DB4EBCC", | |||||
"app_id":"101598177", | |||||
"package_name":"com.cyhd.henhoandroid" | |||||
"product_id":"9105385871708615262", | |||||
"client_id":"330243365088003136", | |||||
"client_secret":"7A8C08A4377B06C3FE950D55511A0F7CBA4164C9319E06E8401A33BBCBDCFA7C", | |||||
"app_id":"101961905", | |||||
"package_name":"com.cyhd.henhoandroid", | |||||
"api_key":"CV6qgj5CPtQonVHTR8gGJxvdRrkeBaZ+KqTsHcRmUyTtSgpYuBknlD5Z8mb3ob8TH7Kq2FJknGNbmserIjlUfmiuUZ2D" | |||||
}, | }, | ||||
"service":{ | "service":{ | ||||
"analytics":{ | "analytics":{ | ||||
@@ -18,9 +19,9 @@ | |||||
"channel_id":"" | "channel_id":"" | ||||
}, | }, | ||||
"ml":{ | "ml":{ | ||||
"mlservice_url":"ml-api-dra.ai.hicloud.com,ml-api-dra.ai.dbankcloud.cn" | |||||
"mlservice_url":"ml-api-dra.ai.dbankcloud.com,ml-api-dra.ai.dbankcloud.cn" | |||||
} | } | ||||
}, | }, | ||||
"region":"SG", | "region":"SG", | ||||
"configuration_version":"1.0" | "configuration_version":"1.0" | ||||
} | |||||
} |
@@ -70,7 +70,7 @@ android { | |||||
XIAOMI_APPKEY:"MI-5221829498125",//小米平台注册的appkey | XIAOMI_APPKEY:"MI-5221829498125",//小米平台注册的appkey | ||||
XIAOMI_APPID:"MI-2882303761518294125",//小米平台注册的appid | XIAOMI_APPID:"MI-2882303761518294125",//小米平台注册的appid | ||||
// | // | ||||
HUAWEI_APPID:"101598177",//华为平台注册的appid | |||||
HUAWEI_APPID:"101961905",//华为平台注册的appid | |||||
OPPO_APPKEY : "OP-cd9ece5049514019842f54d537068018", // OPPO平台注册的appkey | OPPO_APPKEY : "OP-cd9ece5049514019842f54d537068018", // OPPO平台注册的appkey | ||||
@@ -2,4 +2,4 @@ org.gradle.jvmargs=-Xmx1536M | |||||
android.useAndroidX=true | android.useAndroidX=true | ||||
android.enableJetifier=true | android.enableJetifier=true | ||||
android.enableR8=true | |||||
android.enableR8=false |
@@ -1226,5 +1226,19 @@ | |||||
"forward":"Forward", | "forward":"Forward", | ||||
"copy_download_url":"复制下载地址", | "copy_download_url":"复制下载地址", | ||||
"total_friends_nus":"共/s1位朋友", | "total_friends_nus":"共/s1位朋友", | ||||
"hava_error_photo":"有图片违规" | |||||
"hava_error_photo":"有图片违规", | |||||
"translation_butler_evaluation_tips2": "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知", | |||||
"translation_butler_push_order_time": "时间:今天/s1 时长:", | |||||
"translation_butler_push_order_time2": "下单时间:今天/s1 等待时长:", | |||||
"translation_butler_title3": "大神专属", | |||||
"translation_butler_start_receive_order": "开启接单", | |||||
"translation_butler_stop_receive_order": "未开启接单", | |||||
"translation_butler_stop_tips": "翻译人员无法进入创建订单", | |||||
"translation_butler_scenes2": "场景:", | |||||
"translation_butler_last_item_start": "[翻译管家服务开始]", | |||||
"translation_butler_last_item_end": "[翻译管家服务结束]", | |||||
"travel_start": "起点", | |||||
"travel_end": "终点", | |||||
"translation_butler_order_time_out": "翻译订单超时已被取消" | |||||
} | } |
@@ -1226,5 +1226,18 @@ | |||||
"forward":"转发", | "forward":"转发", | ||||
"copy_download_url":"复制下载地址", | "copy_download_url":"复制下载地址", | ||||
"total_friends_nus":"共/s1位朋友", | "total_friends_nus":"共/s1位朋友", | ||||
"hava_error_photo":"有图片违规" | |||||
"hava_error_photo":"有图片违规", | |||||
"translation_butler_push_order_time": "时间:今天/s1 时长:", | |||||
"translation_butler_push_order_time2": "下单时间:今天/s1 等待时长:", | |||||
"translation_butler_title3": "大神专属", | |||||
"translation_butler_start_receive_order": "开启接单", | |||||
"translation_butler_stop_receive_order": "未开启接单", | |||||
"translation_butler_stop_tips": "翻译人员无法进入创建订单", | |||||
"translation_butler_scenes2": "场景:", | |||||
"translation_butler_last_item_start": "[翻译管家服务开始]", | |||||
"translation_butler_last_item_end": "[翻译管家服务结束]", | |||||
"travel_start": "起点", | |||||
"travel_end": "终点", | |||||
"translation_butler_order_time_out": "翻译订单超时已被取消" | |||||
} | } |
@@ -1226,5 +1226,19 @@ | |||||
"forward":"转发", | "forward":"转发", | ||||
"copy_download_url":"复制下载地址", | "copy_download_url":"复制下载地址", | ||||
"total_friends_nus":"共/s1位朋友", | "total_friends_nus":"共/s1位朋友", | ||||
"hava_error_photo":"有图片违规" | |||||
"hava_error_photo":"有图片违规", | |||||
"translation_butler_evaluation_tips2": "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知", | |||||
"translation_butler_push_order_time": "时间:今天/s1 时长:", | |||||
"translation_butler_push_order_time2": "下单时间:今天/s1 等待时长:", | |||||
"translation_butler_title3": "大神专属", | |||||
"translation_butler_start_receive_order": "开启接单", | |||||
"translation_butler_stop_receive_order": "未开启接单", | |||||
"translation_butler_stop_tips": "翻译人员无法进入创建订单", | |||||
"translation_butler_scenes2": "场景:", | |||||
"translation_butler_last_item_start": "[翻译管家服务开始]", | |||||
"translation_butler_last_item_end": "[翻译管家服务结束]", | |||||
"travel_start": "起点", | |||||
"travel_end": "终点", | |||||
"translation_butler_order_time_out": "翻译订单超时已被取消" | |||||
} | } |
@@ -1226,5 +1226,18 @@ | |||||
"forward": "转发", | "forward": "转发", | ||||
"copy_download_url": "复制下载地址", | "copy_download_url": "复制下载地址", | ||||
"total_friends_nus":"共/s1位朋友", | "total_friends_nus":"共/s1位朋友", | ||||
"hava_error_photo":"有图片违规" | |||||
"hava_error_photo":"有图片违规", | |||||
"translation_butler_push_order_time": "时间:今天/s1 时长:", | |||||
"translation_butler_push_order_time2": "下单时间:今天/s1 等待时长:", | |||||
"translation_butler_title3": "大神专属", | |||||
"translation_butler_start_receive_order": "开启接单", | |||||
"translation_butler_stop_receive_order": "未开启接单", | |||||
"translation_butler_stop_tips": "翻译人员无法进入创建订单", | |||||
"translation_butler_scenes2": "场景:", | |||||
"translation_butler_last_item_start": "[翻译管家服务开始]", | |||||
"translation_butler_last_item_end": "[翻译管家服务结束]", | |||||
"travel_start": "起点", | |||||
"travel_end": "终点", | |||||
"translation_butler_order_time_out": "翻译订单超时已被取消" | |||||
} | } |
@@ -1226,5 +1226,19 @@ | |||||
"forward":"转发", | "forward":"转发", | ||||
"copy_download_url":"复制下载地址", | "copy_download_url":"复制下载地址", | ||||
"total_friends_nus":"共/s1位朋友", | "total_friends_nus":"共/s1位朋友", | ||||
"hava_error_photo":"有图片违规" | |||||
"hava_error_photo":"有图片违规", | |||||
"translation_butler_evaluation_tips2": "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知", | |||||
"translation_butler_push_order_time": "时间:今天/s1 时长:", | |||||
"translation_butler_push_order_time2": "下单时间:今天/s1 等待时长:", | |||||
"translation_butler_title3": "大神专属", | |||||
"translation_butler_start_receive_order": "开启接单", | |||||
"translation_butler_stop_receive_order": "未开启接单", | |||||
"translation_butler_stop_tips": "翻译人员无法进入创建订单", | |||||
"translation_butler_scenes2": "场景:", | |||||
"translation_butler_last_item_start": "[翻译管家服务开始]", | |||||
"translation_butler_last_item_end": "[翻译管家服务结束]", | |||||
"travel_start": "起点", | |||||
"travel_end": "终点", | |||||
"translation_butler_order_time_out": "翻译订单超时已被取消" | |||||
} | } |
@@ -1226,5 +1226,18 @@ | |||||
"forward":"转发", | "forward":"转发", | ||||
"copy_download_url":"複製下載地址", | "copy_download_url":"複製下載地址", | ||||
"total_friends_nus":"共/s1位朋友", | "total_friends_nus":"共/s1位朋友", | ||||
"hava_error_photo":"有圖片違規" | |||||
"hava_error_photo":"有圖片違規", | |||||
"translation_butler_push_order_time": "时间:今天/s1 时长:", | |||||
"translation_butler_push_order_time2": "下单时间:今天/s1 等待时长:", | |||||
"translation_butler_title3": "大神专属", | |||||
"translation_butler_start_receive_order": "开启接单", | |||||
"translation_butler_stop_receive_order": "未开启接单", | |||||
"translation_butler_stop_tips": "翻译人员无法进入创建订单", | |||||
"translation_butler_scenes2": "场景:", | |||||
"translation_butler_last_item_start": "[翻译管家服务开始]", | |||||
"translation_butler_last_item_end": "[翻译管家服务结束]", | |||||
"travel_start": "起点", | |||||
"travel_end": "终点", | |||||
"translation_butler_order_time_out": "翻译订单超时已被取消" | |||||
} | } |
@@ -30,6 +30,8 @@ PODS: | |||||
- connectivity (0.0.1): | - connectivity (0.0.1): | ||||
- Flutter | - Flutter | ||||
- Reachability | - Reachability | ||||
- device_info (0.0.1): | |||||
- Flutter | |||||
- easy_contact_picker (0.0.1): | - easy_contact_picker (0.0.1): | ||||
- Flutter | - Flutter | ||||
- FBSDKCoreKit (5.13.1): | - FBSDKCoreKit (5.13.1): | ||||
@@ -167,6 +169,7 @@ DEPENDENCIES: | |||||
- auto_orientation (from `.symlinks/plugins/auto_orientation/ios`) | - auto_orientation (from `.symlinks/plugins/auto_orientation/ios`) | ||||
- city_pickers (from `.symlinks/plugins/city_pickers/ios`) | - city_pickers (from `.symlinks/plugins/city_pickers/ios`) | ||||
- connectivity (from `.symlinks/plugins/connectivity/ios`) | - connectivity (from `.symlinks/plugins/connectivity/ios`) | ||||
- device_info (from `.symlinks/plugins/device_info/ios`) | |||||
- easy_contact_picker (from `.symlinks/plugins/easy_contact_picker/ios`) | - easy_contact_picker (from `.symlinks/plugins/easy_contact_picker/ios`) | ||||
- file_picker (from `.symlinks/plugins/file_picker/ios`) | - file_picker (from `.symlinks/plugins/file_picker/ios`) | ||||
- Flutter (from `Flutter`) | - Flutter (from `Flutter`) | ||||
@@ -249,6 +252,8 @@ EXTERNAL SOURCES: | |||||
:path: ".symlinks/plugins/city_pickers/ios" | :path: ".symlinks/plugins/city_pickers/ios" | ||||
connectivity: | connectivity: | ||||
:path: ".symlinks/plugins/connectivity/ios" | :path: ".symlinks/plugins/connectivity/ios" | ||||
device_info: | |||||
:path: ".symlinks/plugins/device_info/ios" | |||||
easy_contact_picker: | easy_contact_picker: | ||||
:path: ".symlinks/plugins/easy_contact_picker/ios" | :path: ".symlinks/plugins/easy_contact_picker/ios" | ||||
file_picker: | file_picker: | ||||
@@ -351,6 +356,7 @@ SPEC CHECKSUMS: | |||||
Bugly: dbac48b55ad469a97cc4321045cd50df8f63d44f | Bugly: dbac48b55ad469a97cc4321045cd50df8f63d44f | ||||
city_pickers: b0370f4c35c201723b5b7fcce10ec29b59d5bc35 | city_pickers: b0370f4c35c201723b5b7fcce10ec29b59d5bc35 | ||||
connectivity: 6e94255659cc86dcbef1d452ad3e0491bb1b3e75 | connectivity: 6e94255659cc86dcbef1d452ad3e0491bb1b3e75 | ||||
device_info: cbf09d2ec12aa7110e0b09fabe54b5bd6c8efe74 | |||||
easy_contact_picker: 9ab9dc70e8ddde6e76a19ffc482d7bf899868730 | easy_contact_picker: 9ab9dc70e8ddde6e76a19ffc482d7bf899868730 | ||||
FBSDKCoreKit: 8fb98209109fb684937f05d534305edb18c20207 | FBSDKCoreKit: 8fb98209109fb684937f05d534305edb18c20207 | ||||
FBSDKLoginKit: c7c6ffd9ca9ea45aee32361840af040ad8f6706a | FBSDKLoginKit: c7c6ffd9ca9ea45aee32361840af040ad8f6706a | ||||
@@ -1,5 +1,6 @@ | |||||
import 'dart:convert'; | import 'dart:convert'; | ||||
import 'dart:io'; | import 'dart:io'; | ||||
import 'package:chat/data/translate_hk_data_mgr.dart'; | |||||
import 'package:chat/home/audio_chat_view.dart'; | import 'package:chat/home/audio_chat_view.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'; | ||||
@@ -35,6 +36,7 @@ import 'package:dio/dio.dart'; | |||||
import 'package:extended_text/extended_text.dart'; | import 'package:extended_text/extended_text.dart'; | ||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
import 'package:flutter/services.dart'; | |||||
import 'package:oktoast/oktoast.dart'; | import 'package:oktoast/oktoast.dart'; | ||||
import 'package:provider/provider.dart'; | import 'package:provider/provider.dart'; | ||||
import 'package:scroll_to_index/scroll_to_index.dart'; | import 'package:scroll_to_index/scroll_to_index.dart'; | ||||
@@ -76,6 +78,10 @@ class _ChatPageState extends State<ChatPage> { | |||||
//统计聊天时长 | //统计聊天时长 | ||||
int startTime; | int startTime; | ||||
bool isTranslateButler; | |||||
bool isTranslateButlerFinish=false;///翻译管家是否已经结束 | |||||
int jumpTime; | int jumpTime; | ||||
AutoScrollController controller; | AutoScrollController controller; | ||||
@@ -89,6 +95,7 @@ class _ChatPageState extends State<ChatPage> { | |||||
msgMgr.off('New Chat Message', receiveMsg); | msgMgr.off('New Chat Message', receiveMsg); | ||||
msgMgr.off('Keyboard Hide', dealWithKeyboardHide); | msgMgr.off('Keyboard Hide', dealWithKeyboardHide); | ||||
msgMgr.off('Delete Select Message', _deleteItem); | msgMgr.off('Delete Select Message', _deleteItem); | ||||
msgMgr.off(MessageMgr.TRANSLATE_HK_END_CHAT, translateHKChatEnd); | |||||
msgMgr.off('Jump to Msg', jumpToMsg); | msgMgr.off('Jump to Msg', jumpToMsg); | ||||
MsgHandler.curActiveSession = 0; | MsgHandler.curActiveSession = 0; | ||||
@@ -126,10 +133,15 @@ class _ChatPageState extends State<ChatPage> { | |||||
getDefaultSetting(); | getDefaultSetting(); | ||||
getUserInfo(); | getUserInfo(); | ||||
<<<<<<< HEAD | |||||
controller = AutoScrollController( | controller = AutoScrollController( | ||||
viewportBoundaryGetter: () => | viewportBoundaryGetter: () => | ||||
Rect.fromLTRB(0, 0, 0, MediaQuery.of(context).padding.bottom), | Rect.fromLTRB(0, 0, 0, MediaQuery.of(context).padding.bottom), | ||||
axis: Axis.vertical); | axis: Axis.vertical); | ||||
======= | |||||
isTranslateButler = widget.isTranslateButler; | |||||
///todo 这里再判断是否还在服务时间 | |||||
>>>>>>> 81c28f9c954a27b2453da76e51b7ec7c3f76017c | |||||
startTime = DateTime.now().millisecondsSinceEpoch ~/ 1000; | startTime = DateTime.now().millisecondsSinceEpoch ~/ 1000; | ||||
@@ -139,9 +151,17 @@ class _ChatPageState extends State<ChatPage> { | |||||
msgMgr.on('Keyboard Hide', dealWithKeyboardHide); | msgMgr.on('Keyboard Hide', dealWithKeyboardHide); | ||||
msgMgr.on('Send CoinBag', _sendCoin); | msgMgr.on('Send CoinBag', _sendCoin); | ||||
msgMgr.on('Delete Select Message', _deleteItem); | msgMgr.on('Delete Select Message', _deleteItem); | ||||
msgMgr.on(MessageMgr.TRANSLATE_HK_END_CHAT, translateHKChatEnd); | |||||
msgMgr.on('Jump to Msg', jumpToMsg); | msgMgr.on('Jump to Msg', jumpToMsg); | ||||
} | } | ||||
translateHKChatEnd(args){ | |||||
setState(() { | |||||
isTranslateButlerFinish=true; | |||||
}); | |||||
} | |||||
void _sendFile(File file) async { | void _sendFile(File file) async { | ||||
// File file = await FilePicker.getFile(); | // File file = await FilePicker.getFile(); | ||||
int fileSize = file.lengthSync(); | int fileSize = file.lengthSync(); | ||||
@@ -357,80 +377,114 @@ class _ChatPageState extends State<ChatPage> { | |||||
]; | ]; | ||||
}))); | }))); | ||||
return Stack( | |||||
children: <Widget>[ | |||||
MultiProvider( | |||||
providers: [ | |||||
ChangeNotifierProvider(create: (_) => _keyboardIndexProvider), | |||||
Provider<bool>.value(value: false), | |||||
Provider<int>.value(value: widget.friendId), | |||||
], | |||||
child: GestureDetector( | |||||
onTap: hideKeyBoard, | |||||
child: ExtendedTextSelectionPointerHandler( | |||||
///选择文字,消除弹窗 | |||||
builder: (states) { | |||||
return Listener( | |||||
child: Scaffold( | |||||
resizeToAvoidBottomInset: false, | |||||
backgroundColor: const Color(0xFFE2E9F1), | |||||
appBar: AppBar( | |||||
title: Text( | |||||
'${Provider.of<RefNameProvider>(context).getRefName(friendInfo.userId, friendInfo.nickName)}', | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: Constants.BlackTextColor, | |||||
fontSize: 16.47), | |||||
), | |||||
leading: CustomUI.buildCustomLeading(context), | |||||
titleSpacing: -10, | |||||
centerTitle: false, | |||||
elevation: 1, | |||||
actions: actions), | |||||
body: SafeArea( | |||||
child: Column( | |||||
children: <Widget>[ | |||||
NetStateWidget(), | |||||
widget.isTranslateButler | |||||
? _buildTranslationButler() | |||||
: Container(), | |||||
Expanded(child: _buildMessageList()), | |||||
InputBar( | |||||
sendMsg: sendMsg, | |||||
isTranslateHK: widget.isTranslateButler, | |||||
), | |||||
], | |||||
))), | |||||
behavior: HitTestBehavior.translucent, | |||||
onPointerDown: (value) { | |||||
for (var state in states) { | |||||
if (!state.containsPosition(value.position)) { | |||||
//clear other selection | |||||
state.clearSelection(); | |||||
} | |||||
} | |||||
}, | |||||
onPointerMove: (value) { | |||||
//clear other selection | |||||
for (var state in states) { | |||||
if (!state.containsPosition(value.position)) { | |||||
return WillPopScope( | |||||
child: Stack( | |||||
children: <Widget>[ | |||||
MultiProvider( | |||||
providers: [ | |||||
ChangeNotifierProvider(create: (_) => _keyboardIndexProvider), | |||||
Provider<bool>.value(value: false), | |||||
Provider<int>.value(value: widget.friendId), | |||||
], | |||||
child: GestureDetector( | |||||
onTap: hideKeyBoard, | |||||
child: ExtendedTextSelectionPointerHandler( | |||||
///选择文字,消除弹窗 | |||||
builder: (states) { | |||||
return Listener( | |||||
child: Scaffold( | |||||
resizeToAvoidBottomInset: false, | |||||
backgroundColor: const Color(0xFFE2E9F1), | |||||
appBar: AppBar( | |||||
title: Text( | |||||
'${Provider.of<RefNameProvider>(context).getRefName(friendInfo.userId, friendInfo.nickName)}', | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: Constants.BlackTextColor, | |||||
fontSize: 16.47), | |||||
), | |||||
leading: CustomUI.buildCustomLeading(context,onTap:(){ | |||||
goBackCheck(); | |||||
}), | |||||
titleSpacing: -10, | |||||
centerTitle: false, | |||||
elevation: 1, | |||||
actions: actions), | |||||
body: SafeArea( | |||||
child: Column( | |||||
children: <Widget>[ | |||||
NetStateWidget(), | |||||
(isTranslateButler&!isTranslateButlerFinish) | |||||
? _buildTranslationButler() | |||||
: Container(), | |||||
Expanded(child: _buildMessageList()), | |||||
InputBar(sendMsg: sendMsg,isTranslateHK: isTranslateButler,), | |||||
], | |||||
))), | |||||
behavior: HitTestBehavior.translucent, | |||||
onPointerDown: (value) { | |||||
for (var state in states) { | |||||
if (!state.containsPosition(value.position)) { | |||||
//clear other selection | |||||
state.clearSelection(); | |||||
} | |||||
} | |||||
}, | |||||
onPointerMove: (value) { | |||||
//clear other selection | //clear other selection | ||||
state.clearSelection(); | |||||
} | |||||
} | |||||
for (var state in states) { | |||||
if (!state.containsPosition(value.position)) { | |||||
//clear other selection | |||||
state.clearSelection(); | |||||
} | |||||
} | |||||
}, | |||||
); | |||||
}, | }, | ||||
); | |||||
}, | |||||
))), | |||||
// widget.isTranslateButler ? getAudioChatView() : Container(), | |||||
// widget.isTranslateButler ? zoomAudioButton() : Container() | |||||
], | |||||
); | |||||
))), | |||||
isTranslateButler ? getAudioChatView() : Container(), | |||||
isTranslateButler ? zoomAudioButton() : Container() | |||||
], | |||||
), | |||||
onWillPop: () { | |||||
goBackCheck(); | |||||
return Future.value(true); | |||||
}); | |||||
} | |||||
goBackCheck(){ | |||||
if(isTranslateButler && !isTranslateButlerFinish){ | |||||
if(UserData().isTranslateUser){ | |||||
showToast('翻译服务未结束不能主动结束'); | |||||
}else{ | |||||
CustomUI.buildTowConfirm( | |||||
context, | |||||
'是否提前结束翻译管家服务?', | |||||
I18n.of(context).confirm, | |||||
(){ | |||||
setState(() { | |||||
isTranslateButlerFinish=true; | |||||
}); | |||||
MsgHandler.sendEndTransHKOrderReq(); | |||||
Navigator.of(context).pop(); | |||||
}, | |||||
'取消', | |||||
(){ Navigator.of(context).pop();}); | |||||
} | |||||
}else{ | |||||
Navigator.of(context).pop(); | |||||
} | |||||
} | } | ||||
Widget getAudioChatView() { | Widget getAudioChatView() { | ||||
if (friendInfo == null) { | |||||
if (friendInfo == null || isTranslateButlerFinish) { | |||||
return Container(); | return Container(); | ||||
} | } | ||||
@@ -441,6 +495,7 @@ class _ChatPageState extends State<ChatPage> { | |||||
child: AudioChatPage( | child: AudioChatPage( | ||||
userInfo: friendInfo, | userInfo: friendInfo, | ||||
isTranslateButler: true, | isTranslateButler: true, | ||||
isReplay: !TranslateHKMgr().isUser, | |||||
translateButlerCloseCallBack: audioChatPageCallBack, | translateButlerCloseCallBack: audioChatPageCallBack, | ||||
), | ), | ||||
); | ); | ||||
@@ -471,7 +526,7 @@ class _ChatPageState extends State<ChatPage> { | |||||
bool isShowZoomButton = true; | bool isShowZoomButton = true; | ||||
GlobalKey mykey = GlobalKey(); | GlobalKey mykey = GlobalKey(); | ||||
double dx = 0, dy = 0; | |||||
double dx = 0 , dy = 0; | |||||
double zoomButtonSize = 60; | double zoomButtonSize = 60; | ||||
void dragEvent(DragUpdateDetails details) { | void dragEvent(DragUpdateDetails details) { | ||||
@@ -480,7 +535,7 @@ class _ChatPageState extends State<ChatPage> { | |||||
dx = details.globalPosition.dx - mykey.currentContext.size.width / 2; | dx = details.globalPosition.dx - mykey.currentContext.size.width / 2; | ||||
dy = details.globalPosition.dy - mykey.currentContext.size.height / 2; | dy = details.globalPosition.dy - mykey.currentContext.size.height / 2; | ||||
print('dx $dx dy $dy screen width:${Screen.width}'); | |||||
// print('dx $dx dy $dy screen width:${Screen.width}'); | |||||
if (dx > Screen.width - zoomButtonSize) { | if (dx > Screen.width - zoomButtonSize) { | ||||
dx = Screen.width - zoomButtonSize; | dx = Screen.width - zoomButtonSize; | ||||
@@ -498,33 +553,33 @@ class _ChatPageState extends State<ChatPage> { | |||||
} | } | ||||
Widget zoomAudioButton() { | Widget zoomAudioButton() { | ||||
friendInfo == null | |||||
? Container() | |||||
: AudioChatPage( | |||||
userInfo: friendInfo, | |||||
); | |||||
if (friendInfo == null || !isShowZoomButton) { | if (friendInfo == null || !isShowZoomButton) { | ||||
return Container(); | return Container(); | ||||
} | } | ||||
Widget button = Container( | |||||
Widget button = Container( | |||||
key: mykey, | key: mykey, | ||||
color: Colors.blue, | |||||
width: 60, | |||||
height: 60, | |||||
width: 57, | |||||
height: 74, | |||||
child: Card(child: Align(child: Icon( | |||||
IconData(0xe67d, fontFamily: Constants.IconFontFamily), | |||||
color: Color(0xFF008AFF), | |||||
size: 35.0, | |||||
),alignment: Alignment.center,),), | |||||
); | ); | ||||
return GestureDetector( | return GestureDetector( | ||||
onHorizontalDragUpdate: dragEvent, | onHorizontalDragUpdate: dragEvent, | ||||
onVerticalDragUpdate: dragEvent, | onVerticalDragUpdate: dragEvent, | ||||
onTap: () { | |||||
onTap: (){ | |||||
setState(() { | setState(() { | ||||
isShowAudio = !isShowAudio; | isShowAudio = !isShowAudio; | ||||
isShowZoomButton = !isShowZoomButton; | isShowZoomButton = !isShowZoomButton; | ||||
}); | }); | ||||
}, | }, | ||||
child: Container( | child: Container( | ||||
child: Transform.translate( | child: Transform.translate( | ||||
offset: Offset(dx, dy), | offset: Offset(dx, dy), | ||||
child: Align( | child: Align( | ||||
@@ -597,26 +652,31 @@ class _ChatPageState extends State<ChatPage> { | |||||
constraints: BoxConstraints(maxWidth: 135), | constraints: BoxConstraints(maxWidth: 135), | ||||
), | ), | ||||
), | ), | ||||
Expanded( | |||||
TranslateHKMgr().isUser?Expanded( | |||||
child: Container( | child: Container( | ||||
constraints: BoxConstraints(maxWidth: 130), | constraints: BoxConstraints(maxWidth: 130), | ||||
width: double.maxFinite, | width: double.maxFinite, | ||||
child: CountDownButton( | child: CountDownButton( | ||||
I18n.of(context).translation_butler_end_service, | I18n.of(context).translation_butler_end_service, | ||||
() { | () { | ||||
Navigator.of(context).pop(); | |||||
// Navigator.of(context).pop(); | |||||
}, | }, | ||||
countDownTime: 3600, | |||||
countDownTime: 60*5, | |||||
align: Alignment.centerRight, | align: Alignment.centerRight, | ||||
onPress: () {}, | |||||
onPress: () { | |||||
MsgHandler.sendEndTransHKOrderReq(); | |||||
// Navigator.of(context).pop(); | |||||
}, | |||||
), | ), | ||||
// alignment: Alignment(1,0), | // alignment: Alignment(1,0), | ||||
)), | |||||
)):Container(), | |||||
], | ], | ||||
), | ), | ||||
); | ); | ||||
} | } | ||||
Widget _buildMessageList() { | Widget _buildMessageList() { | ||||
return Container( | return Container( | ||||
alignment: Alignment.topCenter, | alignment: Alignment.topCenter, | ||||
@@ -656,10 +716,15 @@ class _ChatPageState extends State<ChatPage> { | |||||
_keyboardIndexProvider.changeReadOnlyKey(true); | _keyboardIndexProvider.changeReadOnlyKey(true); | ||||
} | } | ||||
<<<<<<< HEAD | |||||
sendMsg(MsgModel msg) async { | sendMsg(MsgModel msg) async { | ||||
// if(widget.isTranslateButler){ ///翻译管家聊天通道 | // if(widget.isTranslateButler){ ///翻译管家聊天通道 | ||||
// msg.channelType = ChatChannelType.TransHK.value; | // msg.channelType = ChatChannelType.TransHK.value; | ||||
// } | // } | ||||
======= | |||||
sendMsg(MsgModel msg) { | |||||
>>>>>>> 81c28f9c954a27b2453da76e51b7ec7c3f76017c | |||||
print('对方是否拉黑你 ${friendInfo.isBlackened}'); | print('对方是否拉黑你 ${friendInfo.isBlackened}'); | ||||
if (BlacklistMgr.isBlack(friendInfo.userId)) { | if (BlacklistMgr.isBlack(friendInfo.userId)) { | ||||
@@ -261,18 +261,16 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
///todo 翻译管家系统通知消息 | ///todo 翻译管家系统通知消息 | ||||
print('这里应该要有翻译管家'); | print('这里应该要有翻译管家'); | ||||
if (type == ChatType.GroupChatNoticeType.value && | |||||
widget.msg.channelType == ChatChannelType.Session.value) { | |||||
TransHKChatNotice res = | |||||
TransHKChatNotice.fromBuffer(widget.msg.msgContent); | |||||
if (type == ChatType.GroupChatNoticeType.value && widget.msg.channelType ==ChatChannelType.Session.value) { | |||||
TransHKChatNotice res = TransHKChatNotice.fromBuffer(widget.msg.msgContent); | |||||
if (res.noticeType == TransHKChatNoticeType.StartChat) { | |||||
if(res.noticeType==TransHKChatNoticeType.StartChat){ | |||||
///开始翻译服务 | ///开始翻译服务 | ||||
return _buildServiceCard(true, () {}); | return _buildServiceCard(true, () {}); | ||||
} else if (res.noticeType == TransHKChatNoticeType.EndChat) { | |||||
}else if(res.noticeType==TransHKChatNoticeType.EndChat){ | |||||
///翻译服务结束 | ///翻译服务结束 | ||||
return _buildServiceCard(false, () {}); | return _buildServiceCard(false, () {}); | ||||
} else { | |||||
}else{ | |||||
return Container(); | return Container(); | ||||
} | } | ||||
// return Container(); | // return Container(); | ||||
@@ -297,6 +295,8 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
// } | // } | ||||
// } | // } | ||||
} | } | ||||
return Container(); | return Container(); | ||||
} | } | ||||
@@ -700,6 +700,7 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
List<String> actions = [ | List<String> actions = [ | ||||
I18n.of(context).delete, | I18n.of(context).delete, | ||||
I18n.of(context).reply, | I18n.of(context).reply, | ||||
]; | ]; | ||||
actionsFunc.add(() { | actionsFunc.add(() { | ||||
@@ -710,6 +711,7 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
MessageMgr().emit('Reply Select Message', widget.msg); | MessageMgr().emit('Reply Select Message', widget.msg); | ||||
}); | }); | ||||
///转发 | ///转发 | ||||
if (widget.msg.msgType == ChatType.TextChatType.value || | if (widget.msg.msgType == ChatType.TextChatType.value || | ||||
widget.msg.msgType == ChatType.ImageChatType.value || | widget.msg.msgType == ChatType.ImageChatType.value || | ||||
@@ -751,7 +753,10 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
} | } | ||||
ShareExtend.share(FileCacheMgr.replacePath(path), type); | ShareExtend.share(FileCacheMgr.replacePath(path), type); | ||||
}); | }); | ||||
} | } | ||||
if (widget.msg.msgType == ChatType.TextChatType.value) { | if (widget.msg.msgType == ChatType.TextChatType.value) { | ||||
@@ -956,6 +961,7 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
showMsg.add(tranWidget); | showMsg.add(tranWidget); | ||||
} | } | ||||
///todo | |||||
Widget text = Stack(children: <Widget>[ | Widget text = Stack(children: <Widget>[ | ||||
Container( | Container( | ||||
width: width + 20, | width: width + 20, | ||||
@@ -1186,6 +1192,7 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
), | ), | ||||
), | ), | ||||
); | ); | ||||
} | } | ||||
_receiveVideo(BuildContext context, List<int> imgData, | _receiveVideo(BuildContext context, List<int> imgData, | ||||
@@ -1535,8 +1542,13 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
]); | ]); | ||||
} | } | ||||
Widget _buildServiceCard(bool isStart, Function callBack) { | Widget _buildServiceCard(bool isStart, Function callBack) { | ||||
String endStr = UserData().isTranslateUser?I18n.of(context).translation_butler_evaluation_tips2:I18n.of(context).translation_butler_evaluation_tips; | |||||
return Container( | return Container( | ||||
alignment: Alignment.center, | alignment: Alignment.center, | ||||
margin: EdgeInsets.all(10), | margin: EdgeInsets.all(10), | ||||
child: Card( | child: Card( | ||||
@@ -1550,51 +1562,52 @@ class _ChatPageItemState extends State<ChatPageItem> | |||||
padding: EdgeInsets.only(left: 10, right: 10, top: 15, bottom: 15), | padding: EdgeInsets.only(left: 10, right: 10, top: 15, bottom: 15), | ||||
child: Row( | child: Row( | ||||
children: <Widget>[ | children: <Widget>[ | ||||
Column( | |||||
crossAxisAlignment: CrossAxisAlignment.start, | |||||
children: <Widget>[ | |||||
Text( | |||||
isStart | |||||
? I18n.of(context).translation_butler_start_service | |||||
: I18n.of(context).translation_butler_service_end, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: AppColors.NewAppbarTextColor, fontSize: 15), | |||||
), | |||||
Text( | |||||
isStart | |||||
? I18n.of(context).translation_butler_start_tips | |||||
: I18n.of(context).translation_butler_evaluation_tips, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: AppColors.NewAppbarTextColor, fontSize: 13), | |||||
) | |||||
], | |||||
), | |||||
isStart | |||||
Expanded(child: Container( child: Column( | |||||
crossAxisAlignment: CrossAxisAlignment.start, | |||||
children: <Widget>[ | |||||
Text( | |||||
isStart | |||||
? I18n.of(context).translation_butler_start_service | |||||
: I18n.of(context).translation_butler_service_end, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: AppColors.NewAppbarTextColor, fontSize: 15), | |||||
), | |||||
Text( | |||||
isStart | |||||
? I18n.of(context).translation_butler_start_tips | |||||
: endStr, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: Color(0xFF797979), fontSize: 13), | |||||
), | |||||
], | |||||
),)), | |||||
(isStart||UserData().isTranslateUser) | |||||
? Container() | ? Container() | ||||
: Expanded( | : Expanded( | ||||
child: Container( | |||||
margin: EdgeInsets.only(left: 15), | |||||
height: 30, | |||||
child: RaisedButton( | |||||
color: Color(0xff3875E9), | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: | |||||
BorderRadius.all(Radius.circular(10))), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_evaluation, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: Colors.white, fontSize: 15), | |||||
), | |||||
onPressed: () { | |||||
CustomUI.buildTranslationEvaluationDialog(context); | |||||
}), | |||||
)), | |||||
child: Container( | |||||
margin: EdgeInsets.only(left: 15), | |||||
height: 30, | |||||
child: RaisedButton( | |||||
color: Color(0xff3875E9), | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: | |||||
BorderRadius.all(Radius.circular(10))), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_evaluation, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: Colors.white, fontSize: 15), | |||||
), | |||||
onPressed: () { | |||||
CustomUI.buildTranslationEvaluationDialog(context); | |||||
}), | |||||
)), | |||||
], | ], | ||||
), | ), | ||||
), | ), | ||||
), | ), | ||||
); | ); | ||||
} | } | ||||
} | } |
@@ -1,7 +1,6 @@ | |||||
import 'dart:convert'; | import 'dart:convert'; | ||||
import 'dart:io'; | import 'dart:io'; | ||||
import 'dart:typed_data'; | import 'dart:typed_data'; | ||||
import 'package:chat/chat/keyboard_icon.dart'; | import 'package:chat/chat/keyboard_icon.dart'; | ||||
import 'package:chat/chat/record_view.dart'; | import 'package:chat/chat/record_view.dart'; | ||||
import 'package:chat/chat/util_keyboard.dart'; | import 'package:chat/chat/util_keyboard.dart'; | ||||
@@ -36,7 +35,7 @@ import 'emoji_text.dart'; | |||||
class InputBar extends StatefulWidget { | class InputBar extends StatefulWidget { | ||||
final Function sendMsg; | final Function sendMsg; | ||||
final bool isTranslateHK; | final bool isTranslateHK; | ||||
InputBar({this.sendMsg, this.isTranslateHK = false}); | |||||
InputBar({this.sendMsg,this.isTranslateHK=false}); | |||||
@override | @override | ||||
InputBarState createState() => InputBarState(); | InputBarState createState() => InputBarState(); | ||||
@@ -714,10 +713,13 @@ class InputBarState extends State<InputBar> | |||||
_sendPhotoFile(file); | _sendPhotoFile(file); | ||||
} | } | ||||
} | } | ||||
} on Exception catch (e) { | } on Exception catch (e) { | ||||
print(e.toString()); | print(e.toString()); | ||||
} | } | ||||
// var photos = await PhotoPicker.pickAsset( | // var photos = await PhotoPicker.pickAsset( | ||||
// context: context, | // context: context, | ||||
// themeColor: Color(0xFFF0F0F0), | // themeColor: Color(0xFFF0F0F0), | ||||
@@ -742,13 +744,19 @@ class InputBarState extends State<InputBar> | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
ChatChannelType channelType =isGroup ? ChatChannelType.Group : ChatChannelType.Session; | |||||
if(widget.isTranslateHK){ | |||||
channelType = ChatChannelType.TransHK; | |||||
print('聊天是 TransHK'); | |||||
} | |||||
print('群聊模式 $isGroup'); | print('群聊模式 $isGroup'); | ||||
var msg = MsgHandler.createSendMsg( | var msg = MsgHandler.createSendMsg( | ||||
ChatType.ShortVoiceChatType, Uint8List(0), | ChatType.ShortVoiceChatType, Uint8List(0), | ||||
localFile: soundPath, | localFile: soundPath, | ||||
friendId: friendId, | friendId: friendId, | ||||
extra: duration, | extra: duration, | ||||
channelType: isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
channelType: channelType); | |||||
widget.sendMsg(msg); | widget.sendMsg(msg); | ||||
} | } | ||||
@@ -785,11 +793,16 @@ class InputBarState extends State<InputBar> | |||||
friendId = Provider.of<int>(context); | friendId = Provider.of<int>(context); | ||||
} | } | ||||
ChatChannelType channelType =isGroup ? ChatChannelType.Group : ChatChannelType.Session; | |||||
if(widget.isTranslateHK){ | |||||
channelType = ChatChannelType.TransHK; | |||||
print('聊天是 TransHK'); | |||||
} | |||||
var msg = MsgHandler.createSendMsg(ChatType.ImageChatType, sendImg, | var msg = MsgHandler.createSendMsg(ChatType.ImageChatType, sendImg, | ||||
localFile: isNeedUpload ? imgFile.absolute.path : null, | localFile: isNeedUpload ? imgFile.absolute.path : null, | ||||
extra: aspectRatio, | extra: aspectRatio, | ||||
friendId: friendId, | friendId: friendId, | ||||
channelType: isGroup ? ChatChannelType.Group : ChatChannelType.Session); | |||||
channelType: channelType); | |||||
widget.sendMsg(msg); | widget.sendMsg(msg); | ||||
} | } | ||||
@@ -840,9 +853,8 @@ class InputBarState extends State<InputBar> | |||||
} | } | ||||
} | } | ||||
ChatChannelType channelType = | |||||
isGroup ? ChatChannelType.Group : ChatChannelType.Session; | |||||
if (widget.isTranslateHK) { | |||||
ChatChannelType channelType =isGroup ? ChatChannelType.Group : ChatChannelType.Session; | |||||
if(widget.isTranslateHK){ | |||||
channelType = ChatChannelType.TransHK; | channelType = ChatChannelType.TransHK; | ||||
print('聊天是 TransHK'); | print('聊天是 TransHK'); | ||||
} | } | ||||
@@ -59,6 +59,7 @@ class UserData { | |||||
bool stationOpenSwitch = true; //开启电台开关 | bool stationOpenSwitch = true; //开启电台开关 | ||||
bool myProgramOpenSwitch = true; //我的节目开关 | bool myProgramOpenSwitch = true; //我的节目开关 | ||||
bool nearbyOpenSwitch = true; //附近的人开关 | bool nearbyOpenSwitch = true; //附近的人开关 | ||||
bool isTranslateUser = false ; | |||||
List contactList = []; | List contactList = []; | ||||
bool isInChina = false; | bool isInChina = false; | ||||
int homemainIndex = 0; | int homemainIndex = 0; | ||||
@@ -7,6 +7,7 @@ class TranslateOrder{ | |||||
int tLanguage; | int tLanguage; | ||||
int scenes; | int scenes; | ||||
String desc; | String desc; | ||||
String userName; | |||||
} | } | ||||
class TranslateHKMgr { | class TranslateHKMgr { | ||||
@@ -21,17 +22,19 @@ class TranslateHKMgr { | |||||
return _instance; | return _instance; | ||||
} | } | ||||
TranslateOrder order; | |||||
TranslateOrder order; ///翻译官被指派的订单 | |||||
String orderId; | |||||
String orderId; ///用户发起的订单Id | |||||
int waitNum=0; | int waitNum=0; | ||||
int startWaitTime=0; | |||||
bool isUser=false; ///是用户或者翻译官 | |||||
bool isUser=false; | |||||
int orderStatus=0; | |||||
int orderStatus=0; | |||||
static const ORDER_STATUS_EMPTY=0; ///未创建订单 | static const ORDER_STATUS_EMPTY=0; ///未创建订单 | ||||
static const ORDER_STATUS_WAITING=1;///等待翻译官 | static const ORDER_STATUS_WAITING=1;///等待翻译官 | ||||
static const ORDER_STATUS_START=1;///翻译管家开始 | |||||
} | } |
@@ -2489,6 +2489,32 @@ class I18n implements WidgetsLocalizations { | |||||
String get total_friends_nus => "共/s1位朋友"; | String get total_friends_nus => "共/s1位朋友"; | ||||
/// "有图片违规" | /// "有图片违规" | ||||
String get hava_error_photo => "有图片违规"; | String get hava_error_photo => "有图片违规"; | ||||
/// "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知" | |||||
String get translation_butler_evaluation_tips2 => "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知"; | |||||
/// "时间:今天/s1 时长:" | |||||
String get translation_butler_push_order_time => "时间:今天/s1 时长:"; | |||||
/// "下单时间:今天/s1 等待时长:" | |||||
String get translation_butler_push_order_time2 => "下单时间:今天/s1 等待时长:"; | |||||
/// "大神专属" | |||||
String get translation_butler_title3 => "大神专属"; | |||||
/// "开启接单" | |||||
String get translation_butler_start_receive_order => "开启接单"; | |||||
/// "未开启接单" | |||||
String get translation_butler_stop_receive_order => "未开启接单"; | |||||
/// "翻译人员无法进入创建订单" | |||||
String get translation_butler_stop_tips => "翻译人员无法进入创建订单"; | |||||
/// "场景:" | |||||
String get translation_butler_scenes2 => "场景:"; | |||||
/// "[翻译管家服务开始]" | |||||
String get translation_butler_last_item_start => "[翻译管家服务开始]"; | |||||
/// "[翻译管家服务结束]" | |||||
String get translation_butler_last_item_end => "[翻译管家服务结束]"; | |||||
/// "起点" | |||||
String get travel_start => "起点"; | |||||
/// "终点" | |||||
String get travel_end => "终点"; | |||||
/// "翻译订单超时已被取消" | |||||
String get translation_butler_order_time_out => "翻译订单超时已被取消"; | |||||
} | } | ||||
class _I18n_en_US extends I18n { | class _I18n_en_US extends I18n { | ||||
@@ -6185,6 +6211,42 @@ class _I18n_vi_VN extends I18n { | |||||
/// "有图片违规" | /// "有图片违规" | ||||
@override | @override | ||||
String get hava_error_photo => "有图片违规"; | String get hava_error_photo => "有图片违规"; | ||||
/// "时间:今天/s1 时长:" | |||||
@override | |||||
String get translation_butler_push_order_time => "时间:今天/s1 时长:"; | |||||
/// "下单时间:今天/s1 等待时长:" | |||||
@override | |||||
String get translation_butler_push_order_time2 => "下单时间:今天/s1 等待时长:"; | |||||
/// "大神专属" | |||||
@override | |||||
String get translation_butler_title3 => "大神专属"; | |||||
/// "开启接单" | |||||
@override | |||||
String get translation_butler_start_receive_order => "开启接单"; | |||||
/// "未开启接单" | |||||
@override | |||||
String get translation_butler_stop_receive_order => "未开启接单"; | |||||
/// "翻译人员无法进入创建订单" | |||||
@override | |||||
String get translation_butler_stop_tips => "翻译人员无法进入创建订单"; | |||||
/// "场景:" | |||||
@override | |||||
String get translation_butler_scenes2 => "场景:"; | |||||
/// "[翻译管家服务开始]" | |||||
@override | |||||
String get translation_butler_last_item_start => "[翻译管家服务开始]"; | |||||
/// "[翻译管家服务结束]" | |||||
@override | |||||
String get translation_butler_last_item_end => "[翻译管家服务结束]"; | |||||
/// "起点" | |||||
@override | |||||
String get travel_start => "起点"; | |||||
/// "终点" | |||||
@override | |||||
String get travel_end => "终点"; | |||||
/// "翻译订单超时已被取消" | |||||
@override | |||||
String get translation_butler_order_time_out => "翻译订单超时已被取消"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -9877,6 +9939,42 @@ class _I18n_zh_HK extends I18n { | |||||
/// "有圖片違規" | /// "有圖片違規" | ||||
@override | @override | ||||
String get hava_error_photo => "有圖片違規"; | String get hava_error_photo => "有圖片違規"; | ||||
/// "时间:今天/s1 时长:" | |||||
@override | |||||
String get translation_butler_push_order_time => "时间:今天/s1 时长:"; | |||||
/// "下单时间:今天/s1 等待时长:" | |||||
@override | |||||
String get translation_butler_push_order_time2 => "下单时间:今天/s1 等待时长:"; | |||||
/// "大神专属" | |||||
@override | |||||
String get translation_butler_title3 => "大神专属"; | |||||
/// "开启接单" | |||||
@override | |||||
String get translation_butler_start_receive_order => "开启接单"; | |||||
/// "未开启接单" | |||||
@override | |||||
String get translation_butler_stop_receive_order => "未开启接单"; | |||||
/// "翻译人员无法进入创建订单" | |||||
@override | |||||
String get translation_butler_stop_tips => "翻译人员无法进入创建订单"; | |||||
/// "场景:" | |||||
@override | |||||
String get translation_butler_scenes2 => "场景:"; | |||||
/// "[翻译管家服务开始]" | |||||
@override | |||||
String get translation_butler_last_item_start => "[翻译管家服务开始]"; | |||||
/// "[翻译管家服务结束]" | |||||
@override | |||||
String get translation_butler_last_item_end => "[翻译管家服务结束]"; | |||||
/// "起点" | |||||
@override | |||||
String get travel_start => "起点"; | |||||
/// "终点" | |||||
@override | |||||
String get travel_end => "终点"; | |||||
/// "翻译订单超时已被取消" | |||||
@override | |||||
String get translation_butler_order_time_out => "翻译订单超时已被取消"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -13569,6 +13667,45 @@ class _I18n_zh_CN extends _I18n_zh_HK { | |||||
/// "有图片违规" | /// "有图片违规" | ||||
@override | @override | ||||
String get hava_error_photo => "有图片违规"; | String get hava_error_photo => "有图片违规"; | ||||
/// "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知" | |||||
@override | |||||
String get translation_butler_evaluation_tips2 => "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知"; | |||||
/// "时间:今天/s1 时长:" | |||||
@override | |||||
String get translation_butler_push_order_time => "时间:今天/s1 时长:"; | |||||
/// "下单时间:今天/s1 等待时长:" | |||||
@override | |||||
String get translation_butler_push_order_time2 => "下单时间:今天/s1 等待时长:"; | |||||
/// "大神专属" | |||||
@override | |||||
String get translation_butler_title3 => "大神专属"; | |||||
/// "开启接单" | |||||
@override | |||||
String get translation_butler_start_receive_order => "开启接单"; | |||||
/// "未开启接单" | |||||
@override | |||||
String get translation_butler_stop_receive_order => "未开启接单"; | |||||
/// "翻译人员无法进入创建订单" | |||||
@override | |||||
String get translation_butler_stop_tips => "翻译人员无法进入创建订单"; | |||||
/// "场景:" | |||||
@override | |||||
String get translation_butler_scenes2 => "场景:"; | |||||
/// "[翻译管家服务开始]" | |||||
@override | |||||
String get translation_butler_last_item_start => "[翻译管家服务开始]"; | |||||
/// "[翻译管家服务结束]" | |||||
@override | |||||
String get translation_butler_last_item_end => "[翻译管家服务结束]"; | |||||
/// "起点" | |||||
@override | |||||
String get travel_start => "起点"; | |||||
/// "终点" | |||||
@override | |||||
String get travel_end => "终点"; | |||||
/// "翻译订单超时已被取消" | |||||
@override | |||||
String get translation_butler_order_time_out => "翻译订单超时已被取消"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -17261,6 +17398,45 @@ class _I18n_ko_KR extends I18n { | |||||
/// "有图片违规" | /// "有图片违规" | ||||
@override | @override | ||||
String get hava_error_photo => "有图片违规"; | String get hava_error_photo => "有图片违规"; | ||||
/// "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知" | |||||
@override | |||||
String get translation_butler_evaluation_tips2 => "翻译服务已结束,辛苦你了。请保持在线,留意新订单通知"; | |||||
/// "时间:今天/s1 时长:" | |||||
@override | |||||
String get translation_butler_push_order_time => "时间:今天/s1 时长:"; | |||||
/// "下单时间:今天/s1 等待时长:" | |||||
@override | |||||
String get translation_butler_push_order_time2 => "下单时间:今天/s1 等待时长:"; | |||||
/// "大神专属" | |||||
@override | |||||
String get translation_butler_title3 => "大神专属"; | |||||
/// "开启接单" | |||||
@override | |||||
String get translation_butler_start_receive_order => "开启接单"; | |||||
/// "未开启接单" | |||||
@override | |||||
String get translation_butler_stop_receive_order => "未开启接单"; | |||||
/// "翻译人员无法进入创建订单" | |||||
@override | |||||
String get translation_butler_stop_tips => "翻译人员无法进入创建订单"; | |||||
/// "场景:" | |||||
@override | |||||
String get translation_butler_scenes2 => "场景:"; | |||||
/// "[翻译管家服务开始]" | |||||
@override | |||||
String get translation_butler_last_item_start => "[翻译管家服务开始]"; | |||||
/// "[翻译管家服务结束]" | |||||
@override | |||||
String get translation_butler_last_item_end => "[翻译管家服务结束]"; | |||||
/// "起点" | |||||
@override | |||||
String get travel_start => "起点"; | |||||
/// "终点" | |||||
@override | |||||
String get travel_end => "终点"; | |||||
/// "翻译订单超时已被取消" | |||||
@override | |||||
String get translation_butler_order_time_out => "翻译订单超时已被取消"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -20953,6 +21129,42 @@ class _I18n_ja_JP extends I18n { | |||||
/// "有图片违规" | /// "有图片违规" | ||||
@override | @override | ||||
String get hava_error_photo => "有图片违规"; | String get hava_error_photo => "有图片违规"; | ||||
/// "时间:今天/s1 时长:" | |||||
@override | |||||
String get translation_butler_push_order_time => "时间:今天/s1 时长:"; | |||||
/// "下单时间:今天/s1 等待时长:" | |||||
@override | |||||
String get translation_butler_push_order_time2 => "下单时间:今天/s1 等待时长:"; | |||||
/// "大神专属" | |||||
@override | |||||
String get translation_butler_title3 => "大神专属"; | |||||
/// "开启接单" | |||||
@override | |||||
String get translation_butler_start_receive_order => "开启接单"; | |||||
/// "未开启接单" | |||||
@override | |||||
String get translation_butler_stop_receive_order => "未开启接单"; | |||||
/// "翻译人员无法进入创建订单" | |||||
@override | |||||
String get translation_butler_stop_tips => "翻译人员无法进入创建订单"; | |||||
/// "场景:" | |||||
@override | |||||
String get translation_butler_scenes2 => "场景:"; | |||||
/// "[翻译管家服务开始]" | |||||
@override | |||||
String get translation_butler_last_item_start => "[翻译管家服务开始]"; | |||||
/// "[翻译管家服务结束]" | |||||
@override | |||||
String get translation_butler_last_item_end => "[翻译管家服务结束]"; | |||||
/// "起点" | |||||
@override | |||||
String get travel_start => "起点"; | |||||
/// "终点" | |||||
@override | |||||
String get travel_end => "终点"; | |||||
/// "翻译订单超时已被取消" | |||||
@override | |||||
String get translation_butler_order_time_out => "翻译订单超时已被取消"; | |||||
@override | @override | ||||
TextDirection get textDirection => TextDirection.ltr; | TextDirection get textDirection => TextDirection.ltr; | ||||
@@ -217,10 +217,14 @@ class _AudioChatPageState extends State<AudioChatPage> { | |||||
isReply ? _replayToolBar() : _bottomToolBar(), | isReply ? _replayToolBar() : _bottomToolBar(), | ||||
], | ], | ||||
))), | ))), | ||||
widget.isTranslateButler?Material(child: InkWell(child: Container(color: Colors.yellow,width: 60,height: 60,),onTap: (){ | |||||
widget.isTranslateButler?InkWell(child: Container( width: 60,height: 60,child: Align(child: Icon( | |||||
IconData(0xe67f, fontFamily: Constants.IconFontFamily), | |||||
color: Colors.white, | |||||
size: 35.0, | |||||
),alignment: Alignment.center,),),onTap: (){ | |||||
widget.translateButlerCloseCallBack(1); | widget.translateButlerCloseCallBack(1); | ||||
print('内页内页'); | print('内页内页'); | ||||
},),):Container() | |||||
},):Container() | |||||
], | ], | ||||
))); | ))); | ||||
} | } | ||||
@@ -3,6 +3,7 @@ import 'package:chat/chat/ChatPage.dart'; | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/data/chat_data_mgr.dart'; | import 'package:chat/data/chat_data_mgr.dart'; | ||||
import 'package:chat/data/constants.dart'; | import 'package:chat/data/constants.dart'; | ||||
import 'package:chat/data/translate_hk_data_mgr.dart'; | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/home/SystemEditPage.dart'; | import 'package:chat/home/SystemEditPage.dart'; | ||||
import 'package:chat/home/find_page.dart'; | import 'package:chat/home/find_page.dart'; | ||||
@@ -279,22 +280,44 @@ class _HomeMainState extends State<HomeMain> { | |||||
} | } | ||||
receiveTranslateOrder(var data) async { | receiveTranslateOrder(var data) async { | ||||
CustomUI.buildTranslationHelperOrderDialog(context, false, | |||||
orderId: data.orderId, scenes: data.scenes, desc: data.desc); | |||||
TranslateOrder order = data; | |||||
CustomUI.buildTranslationHelperOrderDialog(context,false,orderId: order.orderId,scenes: order.scenes,desc: order.desc,createTime: order.createTime,userName: order.userName); | |||||
} | } | ||||
startTranslateHKChat(var friendID) { | |||||
Navigator.of(context).push( | |||||
new MaterialPageRoute( | |||||
builder: (context) { | |||||
return ChatPage( | |||||
key: Key('Chat'), | |||||
friendId: friendID, | |||||
isTranslateButler: true, | |||||
); | |||||
}, | |||||
), | |||||
); | |||||
startTranslateHKChat(var friendID){ | |||||
if(TranslateHKMgr().isUser){ | |||||
CustomUI.buildTranslationHelperOrderDialog(context,true,userStartChat: (){ | |||||
Navigator.of(context).push( | |||||
new MaterialPageRoute( | |||||
builder: (context) { | |||||
return ChatPage( | |||||
key: Key('Chat'), | |||||
friendId: friendID, | |||||
isTranslateButler: true, | |||||
); | |||||
}, | |||||
), | |||||
); | |||||
}); | |||||
}else{ | |||||
Navigator.of(context).push( | |||||
new MaterialPageRoute( | |||||
builder: (context) { | |||||
return ChatPage( | |||||
key: Key('Chat'), | |||||
friendId: friendID, | |||||
isTranslateButler: true, | |||||
); | |||||
}, | |||||
), | |||||
); | |||||
} | |||||
} | } | ||||
msgTestPermission(data) async { | msgTestPermission(data) async { | ||||
@@ -477,26 +500,26 @@ class _HomeMainState extends State<HomeMain> { | |||||
child: Container( | child: Container( | ||||
// color: Colors.white, | // color: Colors.white, | ||||
color: AppColors.NewAppbarBgColor, | color: AppColors.NewAppbarBgColor, | ||||
child: Scaffold( | |||||
appBar: PreferredSize( | |||||
preferredSize: Size.fromHeight(1), | |||||
child: AppBar( | |||||
backgroundColor: AppColors.NewAppbarBgColor, | |||||
), | |||||
), | |||||
child: SafeArea(top: false,child: Scaffold( | |||||
// appBar: PreferredSize( | |||||
// preferredSize: Size.fromHeight(1), | |||||
//// child: AppBar( | |||||
//// backgroundColor: AppColors.NewAppbarBgColor, | |||||
//// ), | |||||
// ), | |||||
resizeToAvoidBottomPadding: false, | resizeToAvoidBottomPadding: false, | ||||
body: SafeArea( | |||||
child: Stack( | |||||
body: Stack( | |||||
alignment: AlignmentDirectional.bottomStart, | alignment: AlignmentDirectional.bottomStart, | ||||
children: <Widget>[ | children: <Widget>[ | ||||
Container( | Container( | ||||
padding: EdgeInsets.only(bottom: 48), | padding: EdgeInsets.only(bottom: 48), | ||||
color: Constants.LightGreyBackgroundColor, | color: Constants.LightGreyBackgroundColor, | ||||
child: SafeArea( | child: SafeArea( | ||||
top: false, | |||||
child: IndexedStack( | child: IndexedStack( | ||||
index: _currentIndex, | |||||
children: _pages, | |||||
)), | |||||
index: _currentIndex, | |||||
children: _pages, | |||||
)), | |||||
), | ), | ||||
Positioned( | Positioned( | ||||
bottom: 0, | bottom: 0, | ||||
@@ -529,7 +552,7 @@ class _HomeMainState extends State<HomeMain> { | |||||
type: myBottm.BottomNavigationBarType.fixed, | type: myBottm.BottomNavigationBarType.fixed, | ||||
fixedColor: const Color(AppColors.TabIconActive), | fixedColor: const Color(AppColors.TabIconActive), | ||||
items: | items: | ||||
_navigationViews.map((NavigationIconView view) { | |||||
_navigationViews.map((NavigationIconView view) { | |||||
return view.item; | return view.item; | ||||
}).toList(), | }).toList(), | ||||
onTap: (int index) { | onTap: (int index) { | ||||
@@ -1,8 +1,15 @@ | |||||
import 'package:chat/data/UserData.dart'; | |||||
import 'package:chat/home/realtimehelper/translation_butler_page.dart'; | import 'package:chat/home/realtimehelper/translation_butler_page.dart'; | ||||
import 'package:chat/home/realtimehelper/travel_butler_page.dart'; | import 'package:chat/home/realtimehelper/travel_butler_page.dart'; | ||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | |||||
import 'package:chat/utils/TokenMgr.dart'; | |||||
import 'package:chat/utils/screen.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:oktoast/oktoast.dart'; | |||||
import '../../data/constants.dart'; | import '../../data/constants.dart'; | ||||
import '../../generated/i18n.dart'; | import '../../generated/i18n.dart'; | ||||
@@ -20,21 +27,69 @@ class RealTimeHelperPage extends StatefulWidget { | |||||
} | } | ||||
class RealTimeHelperPageState extends State<RealTimeHelperPage> { | class RealTimeHelperPageState extends State<RealTimeHelperPage> { | ||||
bool isTranslateHKLogin = false; | |||||
bool isReady=false; | |||||
@override | @override | ||||
void initState() { | void initState() { | ||||
super.initState(); | super.initState(); | ||||
MessageMgr().on('update_system',refresh); | |||||
WidgetsBinding.instance.addPostFrameCallback((_) { | |||||
isTranslateAndStatus(); | |||||
}); | |||||
} | } | ||||
refresh(args){ | |||||
isTranslateAndStatus(); | |||||
} | |||||
///实时帮-翻译人员状态,是否是翻译人员 | |||||
isTranslateAndStatus() async { | |||||
Map data = { | |||||
"userId": UserData().basicInfo.userId, | |||||
}; | |||||
data['sign'] = TokenMgr().getSign(data); | |||||
Response res = await HttpUtil().post('steward/userStatus', data: data); | |||||
if (res == null) { | |||||
print('请求异常'); | |||||
return; | |||||
} | |||||
var resData = res.data; | |||||
if (resData['code'] == 0) { | |||||
isReady=true; | |||||
print('xxxdksldsd $resData'); | |||||
UserData().isTranslateUser = resData['data']['isTranslateUser'] == 1; | |||||
int status = resData['data']['Status'] ; | |||||
if(status==1){ | |||||
isTranslateHKLogin=true; | |||||
} | |||||
setState(() { | |||||
}); | |||||
print('翻译人员状态 status $status isTranslateUser ${UserData().isTranslateUser} '); | |||||
}else{ | |||||
print('获取翻译人员翻译人员状态 失败 ${resData['msg']}'); | |||||
} | |||||
} | |||||
@override | @override | ||||
void dispose() { | void dispose() { | ||||
// MessageMgr().off('Update Group Info', updateGroupInfo); | |||||
super.dispose(); | super.dispose(); | ||||
MessageMgr().on('update_system',refresh); | |||||
} | } | ||||
@override | @override | ||||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
Widget appBar = AppBar( | Widget appBar = AppBar( | ||||
backgroundColor: AppColors.NewAppbarBgColor, | |||||
backgroundColor: Colors.white, | |||||
title: Text( | title: Text( | ||||
I18n.of(context).real_time_helper, | I18n.of(context).real_time_helper, | ||||
textScaleFactor: 1.0, | textScaleFactor: 1.0, | ||||
@@ -44,7 +99,90 @@ class RealTimeHelperPageState extends State<RealTimeHelperPage> { | |||||
centerTitle: false, | centerTitle: false, | ||||
); | ); | ||||
return Scaffold( | |||||
return UserData().isTranslateUser?Scaffold( | |||||
// appBar: appBar, | |||||
body: Container( | |||||
color: Color(0xffE8EAF0), | |||||
child: Stack( | |||||
children: <Widget>[ | |||||
Container( | |||||
child: Image.asset( | |||||
R.assetsImagesImgRealtimeBg2, | |||||
width: MediaQuery.of(context).size.width, | |||||
height:250, | |||||
fit: BoxFit.cover, | |||||
), | |||||
), | |||||
Container( | |||||
child: Image.asset( | |||||
R.assetsImagesImgRealtimeBg1, | |||||
width: MediaQuery.of(context).size.width, | |||||
height:MediaQuery.of(context).padding.top+80, | |||||
fit: BoxFit.cover, | |||||
), | |||||
), | |||||
Container( | |||||
child: SafeArea( | |||||
child: ListView( | |||||
children: <Widget>[ | |||||
Container( | |||||
alignment: Alignment.center, | |||||
child: fixedText(I18n.of(context).translation_butler_title3, color: Colors.white, fontSize: 21), | |||||
), | |||||
UnconstrainedBox(child: InkWell(onTap: (){ | |||||
HttpUtil().translateHKloginRecord(!isTranslateHKLogin,(){ | |||||
isTranslateHKLogin = !isTranslateHKLogin; | |||||
setState(() { | |||||
}); | |||||
}); | |||||
},child: Container( | |||||
alignment: Alignment.center, | |||||
padding: EdgeInsets.only(left: 11,right: 11,top: 3,bottom: 3), | |||||
decoration: BoxDecoration( | |||||
border: Border.all(color: isTranslateHKLogin?Color(0xFFFEE645):Colors.white, width: 1), | |||||
borderRadius: BorderRadius.circular(11)), | |||||
child: fixedText(isTranslateHKLogin?I18n.of(context).translation_butler_start_receive_order:I18n.of(context).translation_butler_stop_receive_order, color: isTranslateHKLogin?Color(0xFFFEE645):Colors.white, fontSize: 15), | |||||
),),), | |||||
Container( | |||||
padding: EdgeInsets.only(left: 13,top: 20), | |||||
child: fixedText(I18n.of(context).real_time_helper, color: Colors.white, fontSize: 22,fontWeight: FontWeight.w700), | |||||
), | |||||
helperCard(I18n.of(context).translation_butler, | |||||
R.assetsImagesImgTranslationButler, () { | |||||
if (UserData().isTranslateUser) { | |||||
showToast(I18n.of(context).translation_butler_stop_tips); | |||||
} else { | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TranslationButlerPage(), | |||||
), | |||||
); | |||||
} | |||||
}, textColor: Color(0xff2685FA)), | |||||
helperCard(I18n.of(context).travel_butler, | |||||
R.assetsImagesImgTravelButler, () { | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TravelButlerPage(), | |||||
), | |||||
); | |||||
}, textColor: Color(0xffff682d)), | |||||
SizedBox( | |||||
height: 15, | |||||
), | |||||
], | |||||
)), | |||||
) | |||||
], | |||||
), | |||||
), | |||||
):Scaffold( | |||||
appBar: appBar, | appBar: appBar, | ||||
body: SafeArea( | body: SafeArea( | ||||
child: Container( | child: Container( | ||||
@@ -53,21 +191,21 @@ class RealTimeHelperPageState extends State<RealTimeHelperPage> { | |||||
children: <Widget>[ | children: <Widget>[ | ||||
helperCard(I18n.of(context).translation_butler, | helperCard(I18n.of(context).translation_butler, | ||||
R.assetsImagesImgTranslationButler, () { | R.assetsImagesImgTranslationButler, () { | ||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TranslationButlerPage(), | |||||
), | |||||
); | |||||
},textColor: Color(0xff2685FA)), | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TranslationButlerPage(), | |||||
), | |||||
); | |||||
},textColor: Color(0xff2685FA)), | |||||
helperCard( | helperCard( | ||||
I18n.of(context).travel_butler, R.assetsImagesImgTravelButler, | I18n.of(context).travel_butler, R.assetsImagesImgTravelButler, | ||||
() { | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TravelButlerPage(), | |||||
), | |||||
); | |||||
},textColor: Color(0xffff682d)), | |||||
() { | |||||
Navigator.of(context).push( | |||||
MaterialPageRoute( | |||||
builder: (_) => TravelButlerPage(), | |||||
), | |||||
); | |||||
},textColor: Color(0xffff682d)), | |||||
SizedBox( | SizedBox( | ||||
height: 15, | height: 15, | ||||
), | ), | ||||
@@ -78,7 +216,8 @@ class RealTimeHelperPageState extends State<RealTimeHelperPage> { | |||||
); | ); | ||||
} | } | ||||
Widget helperCard(String title, String assets, Function callBack,{Color textColor }) { | |||||
Widget helperCard(String title, String assets, Function callBack, | |||||
{Color textColor}) { | |||||
return InkWell( | return InkWell( | ||||
child: Container( | child: Container( | ||||
margin: EdgeInsets.all(10), | margin: EdgeInsets.all(10), | ||||
@@ -88,24 +227,27 @@ class RealTimeHelperPageState extends State<RealTimeHelperPage> { | |||||
borderRadius: BorderRadius.circular(10), | borderRadius: BorderRadius.circular(10), | ||||
// side: BorderSide(color: Colors.green,width: 25), | // 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: textColor, fontSize: 20), | |||||
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: textColor, fontSize: 20), | |||||
), | |||||
) | |||||
], | |||||
), | |||||
), | |||||
), | ), | ||||
), | ), | ||||
onTap: callBack, | |||||
onTap: isReady?callBack:null, | |||||
); | ); | ||||
} | } | ||||
} | } |
@@ -1,4 +1,5 @@ | |||||
import 'dart:async'; | import 'dart:async'; | ||||
import 'dart:ffi'; | |||||
import 'package:chat/data/UserData.dart'; | import 'package:chat/data/UserData.dart'; | ||||
import 'package:chat/data/translate_hk_data_mgr.dart'; | import 'package:chat/data/translate_hk_data_mgr.dart'; | ||||
@@ -62,13 +63,34 @@ class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
refreshOrder(args){ | refreshOrder(args){ | ||||
orderStatus = TranslateHKMgr().orderStatus; | orderStatus = TranslateHKMgr().orderStatus; | ||||
waitNum = TranslateHKMgr().waitNum; | |||||
waitTimer = Timer.periodic(Duration(seconds: 1), (Timer t) { | |||||
handleTick(); | |||||
}); | |||||
switch(orderStatus){ | |||||
case TranslateHKMgr.ORDER_STATUS_EMPTY: | |||||
isCreatingOrder=false; | |||||
waitTimer?.cancel(); | |||||
secondsPassed = 0; | |||||
SPUtils.save(Constants.TranslationHelper,null); | |||||
break; | |||||
case TranslateHKMgr.ORDER_STATUS_WAITING: | |||||
secondsPassed = 0; | |||||
waitNum = TranslateHKMgr().waitNum; | |||||
waitTimer = Timer.periodic(Duration(seconds: 1), (Timer t) { | |||||
handleTick(); | |||||
}); | |||||
break; | |||||
} | |||||
setState(() {}); | setState(() {}); | ||||
} | } | ||||
///订单没有人接,超时,服务器会发送取消订单通知 | |||||
canceledOrder(args){ | |||||
TranslateHKMgr().orderStatus = TranslateHKMgr.ORDER_STATUS_EMPTY; | |||||
refreshOrder(null); | |||||
} | |||||
@override | @override | ||||
void initState() { | void initState() { | ||||
super.initState(); | super.initState(); | ||||
@@ -79,7 +101,7 @@ class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
initData(); | initData(); | ||||
MessageMgr().on(MessageMgr.TRANSLATE_HK_REFRESH_ORDER, refreshOrder); | MessageMgr().on(MessageMgr.TRANSLATE_HK_REFRESH_ORDER, refreshOrder); | ||||
MessageMgr().on(MessageMgr.TRANSLATE_HK_CANCEL_ORDER, canceledOrder); | |||||
WidgetsBinding.instance.addPostFrameCallback((_) { | WidgetsBinding.instance.addPostFrameCallback((_) { | ||||
@@ -116,7 +138,6 @@ class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
} | } | ||||
secondsPassed = | secondsPassed = | ||||
((DateTime.now().millisecondsSinceEpoch ~/ 1000 - second)); | ((DateTime.now().millisecondsSinceEpoch ~/ 1000 - second)); | ||||
apply(); | |||||
} else { | } else { | ||||
print('time: null'); | print('time: null'); | ||||
} | } | ||||
@@ -129,9 +150,9 @@ class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
return; | return; | ||||
} | } | ||||
isCreatingOrder=true; | isCreatingOrder=true; | ||||
TranslateHKMgr().startWaitTime=DateTime.now().millisecondsSinceEpoch; | |||||
MsgHandler.sendCreateTranslateOrder(langList[curSourceLang].key,langList[curToLang].key,scenesList[curScenes].key,extraMsg); | MsgHandler.sendCreateTranslateOrder(langList[curSourceLang].key,langList[curToLang].key,scenesList[curScenes].key,extraMsg); | ||||
extraMsg=''; | |||||
} | } | ||||
@@ -162,6 +183,7 @@ class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
void dispose() { | void dispose() { | ||||
waitTimer?.cancel(); | waitTimer?.cancel(); | ||||
MessageMgr().off(MessageMgr.TRANSLATE_HK_REFRESH_ORDER, refreshOrder); | MessageMgr().off(MessageMgr.TRANSLATE_HK_REFRESH_ORDER, refreshOrder); | ||||
MessageMgr().off(MessageMgr.TRANSLATE_HK_CANCEL_ORDER, canceledOrder); | |||||
if (orderStatus==TranslateHKMgr.ORDER_STATUS_WAITING && timeStamp != null) { | if (orderStatus==TranslateHKMgr.ORDER_STATUS_WAITING && timeStamp != null) { | ||||
print('保存时间戳$timeStamp'); | print('保存时间戳$timeStamp'); | ||||
SPUtils.save(Constants.TranslationHelper, timeStamp.toString()); | SPUtils.save(Constants.TranslationHelper, timeStamp.toString()); | ||||
@@ -698,36 +720,22 @@ class TranslationButlerPageState extends State<TranslationButlerPage> { | |||||
textScaleFactor: 1.0, | textScaleFactor: 1.0, | ||||
style: TextStyle(color: Colors.white, fontSize: 19), | style: TextStyle(color: Colors.white, fontSize: 19), | ||||
), | ), | ||||
onPressed: () async { | |||||
await SPUtils.save(Constants.TranslationHelper, null); | |||||
setState(() { | |||||
orderStatus = TranslateHKMgr.ORDER_STATUS_EMPTY; | |||||
waitTimer?.cancel(); | |||||
secondsPassed = 0; | |||||
MsgHandler.sendCancelTranslateOrder(); | |||||
}); | |||||
}), | |||||
onPressed: cancelOrder ), | |||||
), | ), | ||||
Container( | |||||
margin: EdgeInsets.only(left: 70, right: 70, top: 25), | |||||
height: 47, | |||||
child: RaisedButton( | |||||
color: Color(0xffB3B3B3), | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.all(Radius.circular(10))), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_wait_service, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle(color: Colors.white, fontSize: 19), | |||||
), | |||||
onPressed: () {}), | |||||
) | |||||
], | ], | ||||
); | ); | ||||
} | } | ||||
void cancelOrder()async { | |||||
await SPUtils.save(Constants.TranslationHelper, null); | |||||
setState(() { | |||||
TranslateHKMgr().orderStatus = TranslateHKMgr.ORDER_STATUS_EMPTY; | |||||
refreshOrder(null); | |||||
MsgHandler.sendCancelTranslateOrder(); | |||||
}); | |||||
} | |||||
void handleTick() { | void handleTick() { | ||||
setState(() { | setState(() { | ||||
@@ -1,6 +1,8 @@ | |||||
import 'package:chat/data/constants.dart'; | import 'package:chat/data/constants.dart'; | ||||
import 'package:chat/data/translate_hk_data_mgr.dart'; | |||||
import 'package:chat/generated/i18n.dart'; | import 'package:chat/generated/i18n.dart'; | ||||
import 'package:chat/r.dart'; | import 'package:chat/r.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | |||||
import 'package:chat/utils/screen.dart'; | import 'package:chat/utils/screen.dart'; | ||||
import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
@@ -36,11 +38,11 @@ class TravelEvaluationPageState extends State<TravelEvaluationPage> { | |||||
void didChangeDependencies() { | void didChangeDependencies() { | ||||
super.didChangeDependencies(); | super.didChangeDependencies(); | ||||
posList = [ | posList = [ | ||||
EvaluationBean(1, I18n.of(context).translation_pos_1), | |||||
EvaluationBean(2, I18n.of(context).translation_pos_2), | |||||
EvaluationBean(3, I18n.of(context).translation_pos_3), | |||||
EvaluationBean(4, I18n.of(context).translation_pos_4), | |||||
EvaluationBean(5, I18n.of(context).translation_pos_5), | |||||
EvaluationBean(6, I18n.of(context).translation_pos_1), | |||||
EvaluationBean(7, I18n.of(context).translation_pos_2), | |||||
EvaluationBean(8, I18n.of(context).translation_pos_3), | |||||
EvaluationBean(9, I18n.of(context).translation_pos_4), | |||||
EvaluationBean(10, I18n.of(context).translation_pos_5), | |||||
]; | ]; | ||||
negList = [ | negList = [ | ||||
@@ -52,6 +54,29 @@ class TravelEvaluationPageState extends State<TravelEvaluationPage> { | |||||
]; | ]; | ||||
} | } | ||||
///评价接口 | |||||
evaluationAPI(){ | |||||
List<EvaluationBean> list= isGood ? posList : negList; | |||||
String value=''; | |||||
for(int k=0;k<list.length;k++){ | |||||
EvaluationBean item = posList[k]; | |||||
if(item.isSelect){ | |||||
if(k==0){ | |||||
value= '${item.id}'; | |||||
}else{ | |||||
value = value+'|${item.id}'; | |||||
} | |||||
} | |||||
} | |||||
HttpUtil().evaluationTransalteHK(TranslateHKMgr().orderId,value,isGood,(){ | |||||
Navigator.of(context).pop(); | |||||
}); | |||||
} | |||||
@override | @override | ||||
Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
@@ -211,9 +236,7 @@ class TravelEvaluationPageState extends State<TravelEvaluationPage> { | |||||
style: TextStyle(color: Colors.white, fontSize: 15,fontWeight: FontWeight.w500), | style: TextStyle(color: Colors.white, fontSize: 15,fontWeight: FontWeight.w500), | ||||
),), | ),), | ||||
onPressed:(){ | |||||
Navigator.of(context)..pop(); | |||||
} ), | |||||
onPressed:evaluationAPI ), | |||||
) | ) | ||||
], | ], | ||||
@@ -239,6 +262,9 @@ class TravelEvaluationPageState extends State<TravelEvaluationPage> { | |||||
),); | ),); | ||||
} | } | ||||
getItem(List<EvaluationBean> posList) { | getItem(List<EvaluationBean> posList) { | ||||
List<Widget> evaluationWidget = []; | List<Widget> evaluationWidget = []; | ||||
for (int k = 0; k < posList.length; k++) { | for (int k = 0; k < posList.length; k++) { | ||||
@@ -0,0 +1,218 @@ | |||||
import 'package:chat/data/UserData.dart'; | |||||
import 'package:chat/data/constants.dart'; | |||||
import 'package:chat/data/translate_hk_data_mgr.dart'; | |||||
import 'package:chat/generated/i18n.dart'; | |||||
import 'package:chat/r.dart'; | |||||
import 'package:chat/utils/HttpUtil.dart'; | |||||
import 'package:chat/utils/MessageMgr.dart'; | |||||
import 'package:chat/utils/count_down_button.dart'; | |||||
import 'package:chat/utils/msgHandler.dart'; | |||||
import 'package:chat/utils/screen.dart'; | |||||
import 'package:flutter/material.dart'; | |||||
///翻译管家-结束后评论弹窗 | |||||
class TranslateOrderPushPage extends StatefulWidget { | |||||
bool isUser; | |||||
String orderId; | |||||
int scenes; | |||||
String desc; | |||||
Function userStartChat; | |||||
int createTime; | |||||
String userName; | |||||
TranslateOrderPushPage(this.isUser, | |||||
{this.orderId, | |||||
this.scenes, | |||||
this.desc, | |||||
this.userStartChat, | |||||
this.createTime, | |||||
this.userName}); | |||||
@override | |||||
State<StatefulWidget> createState() { | |||||
return TranslateOrderPushPageState(); | |||||
} | |||||
} | |||||
class TranslateOrderPushPageState extends State<TranslateOrderPushPage> { | |||||
@override | |||||
void initState() { | |||||
// TODO: implement initState | |||||
super.initState(); | |||||
MessageMgr().on(MessageMgr.TRANSLATE_HK_CANCEL_ORDER, cancelOrder); | |||||
} | |||||
cancelOrder(args){ | |||||
Navigator.pop(context); | |||||
} | |||||
@override | |||||
void dispose() { | |||||
// TODO: implement dispose | |||||
super.dispose(); | |||||
MessageMgr().off(MessageMgr.TRANSLATE_HK_CANCEL_ORDER, cancelOrder); | |||||
} | |||||
@override | |||||
void didChangeDependencies() { | |||||
// TODO: implement didChangeDependencies | |||||
super.didChangeDependencies(); | |||||
} | |||||
String withZero(int num){ | |||||
return num<10?'0$num':'$num'; | |||||
} | |||||
@override | |||||
Widget build(BuildContext context) { | |||||
// TODO: implement build | |||||
var scenesList = [ | |||||
I18n.of(context).translation_scenes_1, | |||||
I18n.of(context).translation_scenes_2, | |||||
I18n.of(context).translation_scenes_3, | |||||
I18n.of(context).translation_scenes_4, | |||||
]; | |||||
DateTime date = UserData().isTranslateUser?DateTime.now():DateTime.fromMillisecondsSinceEpoch(TranslateHKMgr().startWaitTime); | |||||
String time = '${withZero(date.hour)}:${withZero(date.minute)}'; | |||||
int second = (DateTime.now().millisecondsSinceEpoch-TranslateHKMgr().startWaitTime)~/1000; | |||||
String userWaitStr ; | |||||
if( second>60){ | |||||
userWaitStr = (second~/60).toString()+I18n.of(context).minute; | |||||
}else{ | |||||
userWaitStr = second.toString()+I18n.of(context).second; | |||||
} | |||||
String translateStr= I18n.of(context).translation_butler_push_order_time.replaceAll('/s1', time)+'5${I18n.of(context).minute}'; | |||||
String userStr= I18n.of(context).translation_butler_push_order_time2.replaceAll('/s1', time)+userWaitStr; | |||||
return UnconstrainedBox( | |||||
alignment: Alignment.topCenter, | |||||
child: InkWell( | |||||
onTap: () {}, | |||||
child: Container( | |||||
alignment: Alignment.topCenter, | |||||
// height: 180, | |||||
width: Screen.width - 20, | |||||
margin: EdgeInsets.all(10), | |||||
child: Card( | |||||
elevation: 2, // 阴影 | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.circular(10), | |||||
// side: BorderSide(color: Colors.green,width: 25), | |||||
), | |||||
child: Container( | |||||
// color: Colors.yellow, | |||||
width: double.maxFinite, | |||||
padding: EdgeInsets.all(16), | |||||
child: Column( | |||||
crossAxisAlignment: CrossAxisAlignment.start, | |||||
children: <Widget>[ | |||||
Padding( | |||||
padding: EdgeInsets.only(bottom: 15), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_dialog_title, | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle( | |||||
fontWeight: FontWeight.w500, | |||||
color: AppColors.NewAppbarTextColor, | |||||
fontSize: 17), | |||||
), | |||||
), | |||||
Text( | |||||
I18n.of(context).translation_butler_dialog_order.replaceAll( | |||||
'/s1', widget.isUser ? I18n.of(context).you : widget.userName), | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle( | |||||
color: AppColors.NewAppbarTextColor, fontSize: 14), | |||||
), | |||||
SizedBox( | |||||
height: 10, | |||||
), | |||||
Text( | |||||
widget.isUser?userStr: translateStr, | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle(color: Color(0xFF797979), fontSize: 11), | |||||
), | |||||
widget.isUser | |||||
? Container() | |||||
: Text( | |||||
'${I18n.of(context).translation_butler_scenes2}:${scenesList[widget.scenes]}', | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: | |||||
TextStyle(color: Color(0xFF797979), fontSize: 11), | |||||
), | |||||
widget.isUser | |||||
? Container() | |||||
: Text( | |||||
'${I18n.of(context).translation_more_desc}:${widget.desc}', | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: | |||||
TextStyle(color: Color(0xFF797979), fontSize: 11), | |||||
), | |||||
// | |||||
Container( | |||||
margin: EdgeInsets.only( | |||||
left: 30, right: 30, top: 20, bottom: 10), | |||||
child: widget.isUser | |||||
? Container( | |||||
margin: EdgeInsets.only(top: 10), | |||||
height: 36, | |||||
alignment: Alignment.center, | |||||
child: RaisedButton( | |||||
color: Color(0xff3875E9), | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: | |||||
BorderRadius.all(Radius.circular(10))), | |||||
child: Padding( | |||||
padding: EdgeInsets.only(left: 10, right: 10), | |||||
child: Text( | |||||
I18n.of(context) | |||||
.translation_butler_dialog_start_chat, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: Colors.white, | |||||
fontSize: 15, | |||||
fontWeight: FontWeight.w500), | |||||
), | |||||
), | |||||
onPressed: () { | |||||
Navigator.of(context).pop(); | |||||
widget.userStartChat(); | |||||
}), | |||||
) | |||||
: CountDownButton( | |||||
I18n.of(context) | |||||
.translation_butler_dialog_start_service, | |||||
() { | |||||
///倒计时结束自动关闭 | |||||
Navigator.of(context).pop(); | |||||
}, | |||||
onPress: () { | |||||
///发送确认接单 | |||||
MsgHandler.sendReceiveOrder(); | |||||
Navigator.of(context).pop(); | |||||
}, | |||||
), | |||||
) | |||||
], | |||||
), | |||||
), | |||||
), | |||||
), | |||||
), | |||||
); | |||||
} | |||||
} |
@@ -3,6 +3,7 @@ import 'package:chat/data/UserData.dart'; | |||||
import 'package:chat/map/google_map_location_picker.dart'; | import 'package:chat/map/google_map_location_picker.dart'; | ||||
import 'package:chat/map/location_result.dart'; | import 'package:chat/map/location_result.dart'; | ||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/utils/HttpUtil.dart'; | |||||
import 'package:chat/utils/screen.dart'; | import 'package:chat/utils/screen.dart'; | ||||
import 'package:chat/utils/separator_line.dart'; | import 'package:chat/utils/separator_line.dart'; | ||||
import 'package:flutter/cupertino.dart'; | import 'package:flutter/cupertino.dart'; | ||||
@@ -178,6 +179,9 @@ class TravelButlerPageState extends State<TravelButlerPage> { | |||||
endResult.latLng.latitude, | endResult.latLng.latitude, | ||||
endResult.latLng.longitude); | endResult.latLng.longitude); | ||||
HttpUtil().userRanging(distanceB.toInt(),startResult.address,endResult.address); | |||||
setState(() { | setState(() { | ||||
}); | }); | ||||
} | } | ||||
@@ -243,7 +247,7 @@ class TravelButlerPageState extends State<TravelButlerPage> { | |||||
Widget positionLayout(bool isStart){ | Widget positionLayout(bool isStart){ | ||||
String str = isStart?'我的位置':'你要去哪儿'; | |||||
String str = isStart?I18n.of(context).travel_my_location:I18n.of(context).travel_go_where; | |||||
if(isStart && startResult!=null && startResult.address!=null){ | if(isStart && startResult!=null && startResult.address!=null){ | ||||
str = startResult.address; | str = startResult.address; | ||||
}else if (!isStart && endResult!=null &&endResult.address!=null){ | }else if (!isStart && endResult!=null &&endResult.address!=null){ | ||||
@@ -251,7 +255,7 @@ class TravelButlerPageState extends State<TravelButlerPage> { | |||||
} | } | ||||
return Container(height:50,child: Row(mainAxisSize: MainAxisSize.max, children: <Widget>[ | return Container(height:50,child: Row(mainAxisSize: MainAxisSize.max, children: <Widget>[ | ||||
Expanded(child: Container( child: fixedText(str,color: Colors.black,fontSize: 16),)), | Expanded(child: Container( child: fixedText(str,color: Colors.black,fontSize: 16),)), | ||||
fixedText(isStart?'起点':'终点',color: Color(0xff797979),fontSize: 14) | |||||
fixedText(isStart?I18n.of(context).travel_start:I18n.of(context).travel_end,color: Color(0xff797979),fontSize: 14) | |||||
],),); | ],),); | ||||
@@ -140,15 +140,14 @@ class _LastMsgDescriptionState extends State<LastMsgDescription> { | |||||
if(widget.lastMessageModel.channelType==ChatChannelType.Session.value){ | if(widget.lastMessageModel.channelType==ChatChannelType.Session.value){ | ||||
///翻译管家的 通知消息 | ///翻译管家的 通知消息 | ||||
desc = '翻译管家---'; | |||||
print('翻译管家的 通知消息-'); | print('翻译管家的 通知消息-'); | ||||
TransHKChatNotice res = TransHKChatNotice.fromBuffer(widget.lastMessageModel.msgContent); | TransHKChatNotice res = TransHKChatNotice.fromBuffer(widget.lastMessageModel.msgContent); | ||||
if(res.noticeType==TransHKChatNoticeType.StartChat){ | if(res.noticeType==TransHKChatNoticeType.StartChat){ | ||||
return '[翻译管家服务开始]'; | |||||
desc = I18n.of(Constants.getCurrentContext()).translation_butler_last_item_start; | |||||
}else if(res.noticeType==TransHKChatNoticeType.EndChat){ | }else if(res.noticeType==TransHKChatNoticeType.EndChat){ | ||||
return '[翻译管家服务结束]'; | |||||
desc = I18n.of(Constants.getCurrentContext()).translation_butler_last_item_end; | |||||
}else{ | }else{ | ||||
return ''; | |||||
desc = ''; | |||||
} | } | ||||
@@ -202,13 +202,72 @@ class CancellationTransHKOrderRes extends $pb.GeneratedMessage { | |||||
void clearOrderId() => clearField(2); | void clearOrderId() => clearField(2); | ||||
} | } | ||||
class EndTransHKOrderReq extends $pb.GeneratedMessage { | |||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('EndTransHKOrderReq', package: const $pb.PackageName('yl_pb')) | |||||
..aOS(1, 'orderId') | |||||
..hasRequiredFields = false | |||||
; | |||||
EndTransHKOrderReq._() : super(); | |||||
factory EndTransHKOrderReq() => create(); | |||||
factory EndTransHKOrderReq.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); | |||||
factory EndTransHKOrderReq.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); | |||||
EndTransHKOrderReq clone() => EndTransHKOrderReq()..mergeFromMessage(this); | |||||
EndTransHKOrderReq copyWith(void Function(EndTransHKOrderReq) updates) => super.copyWith((message) => updates(message as EndTransHKOrderReq)); | |||||
$pb.BuilderInfo get info_ => _i; | |||||
@$core.pragma('dart2js:noInline') | |||||
static EndTransHKOrderReq create() => EndTransHKOrderReq._(); | |||||
EndTransHKOrderReq createEmptyInstance() => create(); | |||||
static $pb.PbList<EndTransHKOrderReq> createRepeated() => $pb.PbList<EndTransHKOrderReq>(); | |||||
static EndTransHKOrderReq getDefault() => _defaultInstance ??= create()..freeze(); | |||||
static EndTransHKOrderReq _defaultInstance; | |||||
$core.String get orderId => $_getS(0, ''); | |||||
set orderId($core.String v) { $_setString(0, v); } | |||||
$core.bool hasOrderId() => $_has(0); | |||||
void clearOrderId() => clearField(1); | |||||
} | |||||
class EndTransHKOrderRes extends $pb.GeneratedMessage { | |||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('EndTransHKOrderRes', package: const $pb.PackageName('yl_pb')) | |||||
..a<$core.int>(1, 'errorCode', $pb.PbFieldType.O3) | |||||
..aOS(2, 'orderId') | |||||
..hasRequiredFields = false | |||||
; | |||||
EndTransHKOrderRes._() : super(); | |||||
factory EndTransHKOrderRes() => create(); | |||||
factory EndTransHKOrderRes.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); | |||||
factory EndTransHKOrderRes.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); | |||||
EndTransHKOrderRes clone() => EndTransHKOrderRes()..mergeFromMessage(this); | |||||
EndTransHKOrderRes copyWith(void Function(EndTransHKOrderRes) updates) => super.copyWith((message) => updates(message as EndTransHKOrderRes)); | |||||
$pb.BuilderInfo get info_ => _i; | |||||
@$core.pragma('dart2js:noInline') | |||||
static EndTransHKOrderRes create() => EndTransHKOrderRes._(); | |||||
EndTransHKOrderRes createEmptyInstance() => create(); | |||||
static $pb.PbList<EndTransHKOrderRes> createRepeated() => $pb.PbList<EndTransHKOrderRes>(); | |||||
static EndTransHKOrderRes getDefault() => _defaultInstance ??= create()..freeze(); | |||||
static EndTransHKOrderRes _defaultInstance; | |||||
$core.int get errorCode => $_get(0, 0); | |||||
set errorCode($core.int v) { $_setSignedInt32(0, v); } | |||||
$core.bool hasErrorCode() => $_has(0); | |||||
void clearErrorCode() => clearField(1); | |||||
$core.String get orderId => $_getS(1, ''); | |||||
set orderId($core.String v) { $_setString(1, v); } | |||||
$core.bool hasOrderId() => $_has(1); | |||||
void clearOrderId() => clearField(2); | |||||
} | |||||
class DeliveryTransHKOrderPush extends $pb.GeneratedMessage { | class DeliveryTransHKOrderPush extends $pb.GeneratedMessage { | ||||
static final $pb.BuilderInfo _i = $pb.BuilderInfo('DeliveryTransHKOrderPush', package: const $pb.PackageName('yl_pb')) | static final $pb.BuilderInfo _i = $pb.BuilderInfo('DeliveryTransHKOrderPush', package: const $pb.PackageName('yl_pb')) | ||||
..aOS(1, 'orderId') | ..aOS(1, 'orderId') | ||||
..aInt64(2, 'createTime') | |||||
..a<$core.int>(3, 'tLanguage', $pb.PbFieldType.OU3) | |||||
..a<$core.int>(4, 'scenes', $pb.PbFieldType.O3) | |||||
..aOS(5, 'desc') | |||||
..a<$0.BaseUserInfo>(2, 'employer', $pb.PbFieldType.OM, $0.BaseUserInfo.getDefault, $0.BaseUserInfo.create) | |||||
..aInt64(3, 'createTime') | |||||
..a<$core.int>(4, 'tLanguage', $pb.PbFieldType.OU3) | |||||
..a<$core.int>(5, 'scenes', $pb.PbFieldType.O3) | |||||
..aOS(6, 'desc') | |||||
..hasRequiredFields = false | ..hasRequiredFields = false | ||||
; | ; | ||||
@@ -231,25 +290,30 @@ class DeliveryTransHKOrderPush extends $pb.GeneratedMessage { | |||||
$core.bool hasOrderId() => $_has(0); | $core.bool hasOrderId() => $_has(0); | ||||
void clearOrderId() => clearField(1); | void clearOrderId() => clearField(1); | ||||
Int64 get createTime => $_getI64(1); | |||||
set createTime(Int64 v) { $_setInt64(1, v); } | |||||
$core.bool hasCreateTime() => $_has(1); | |||||
void clearCreateTime() => clearField(2); | |||||
$core.int get tLanguage => $_get(2, 0); | |||||
set tLanguage($core.int v) { $_setUnsignedInt32(2, v); } | |||||
$core.bool hasTLanguage() => $_has(2); | |||||
void clearTLanguage() => clearField(3); | |||||
$core.int get scenes => $_get(3, 0); | |||||
set scenes($core.int v) { $_setSignedInt32(3, v); } | |||||
$core.bool hasScenes() => $_has(3); | |||||
void clearScenes() => clearField(4); | |||||
$core.String get desc => $_getS(4, ''); | |||||
set desc($core.String v) { $_setString(4, v); } | |||||
$core.bool hasDesc() => $_has(4); | |||||
void clearDesc() => clearField(5); | |||||
$0.BaseUserInfo get employer => $_getN(1); | |||||
set employer($0.BaseUserInfo v) { setField(2, v); } | |||||
$core.bool hasEmployer() => $_has(1); | |||||
void clearEmployer() => clearField(2); | |||||
Int64 get createTime => $_getI64(2); | |||||
set createTime(Int64 v) { $_setInt64(2, v); } | |||||
$core.bool hasCreateTime() => $_has(2); | |||||
void clearCreateTime() => clearField(3); | |||||
$core.int get tLanguage => $_get(3, 0); | |||||
set tLanguage($core.int v) { $_setUnsignedInt32(3, v); } | |||||
$core.bool hasTLanguage() => $_has(3); | |||||
void clearTLanguage() => clearField(4); | |||||
$core.int get scenes => $_get(4, 0); | |||||
set scenes($core.int v) { $_setSignedInt32(4, v); } | |||||
$core.bool hasScenes() => $_has(4); | |||||
void clearScenes() => clearField(5); | |||||
$core.String get desc => $_getS(5, ''); | |||||
set desc($core.String v) { $_setString(5, v); } | |||||
$core.bool hasDesc() => $_has(5); | |||||
void clearDesc() => clearField(6); | |||||
} | } | ||||
class CancellationTransHKOrderPush extends $pb.GeneratedMessage { | class CancellationTransHKOrderPush extends $pb.GeneratedMessage { | ||||
@@ -283,6 +347,8 @@ class TransHKChatNotice extends $pb.GeneratedMessage { | |||||
..e<TransHKChatNoticeType>(1, 'noticeType', $pb.PbFieldType.OE, TransHKChatNoticeType.StartChat, TransHKChatNoticeType.valueOf, TransHKChatNoticeType.values) | ..e<TransHKChatNoticeType>(1, 'noticeType', $pb.PbFieldType.OE, TransHKChatNoticeType.StartChat, TransHKChatNoticeType.valueOf, TransHKChatNoticeType.values) | ||||
..a<$0.BaseUserInfo>(2, 'operatuId', $pb.PbFieldType.OM, $0.BaseUserInfo.getDefault, $0.BaseUserInfo.create) | ..a<$0.BaseUserInfo>(2, 'operatuId', $pb.PbFieldType.OM, $0.BaseUserInfo.getDefault, $0.BaseUserInfo.create) | ||||
..pc<$0.BaseUserInfo>(3, 'operateduId', $pb.PbFieldType.PM,$0.BaseUserInfo.create) | ..pc<$0.BaseUserInfo>(3, 'operateduId', $pb.PbFieldType.PM,$0.BaseUserInfo.create) | ||||
..a<$0.BaseUserInfo>(4, 'inter', $pb.PbFieldType.OM, $0.BaseUserInfo.getDefault, $0.BaseUserInfo.create) | |||||
..a<$0.BaseUserInfo>(5, 'employer', $pb.PbFieldType.OM, $0.BaseUserInfo.getDefault, $0.BaseUserInfo.create) | |||||
..hasRequiredFields = false | ..hasRequiredFields = false | ||||
; | ; | ||||
@@ -311,5 +377,15 @@ class TransHKChatNotice extends $pb.GeneratedMessage { | |||||
void clearOperatuId() => clearField(2); | void clearOperatuId() => clearField(2); | ||||
$core.List<$0.BaseUserInfo> get operateduId => $_getList(2); | $core.List<$0.BaseUserInfo> get operateduId => $_getList(2); | ||||
$0.BaseUserInfo get inter => $_getN(3); | |||||
set inter($0.BaseUserInfo v) { setField(4, v); } | |||||
$core.bool hasInter() => $_has(3); | |||||
void clearInter() => clearField(4); | |||||
$0.BaseUserInfo get employer => $_getN(4); | |||||
set employer($0.BaseUserInfo v) { setField(5, v); } | |||||
$core.bool hasEmployer() => $_has(4); | |||||
void clearEmployer() => clearField(5); | |||||
} | } | ||||
@@ -71,14 +71,30 @@ const CancellationTransHKOrderRes$json = const { | |||||
], | ], | ||||
}; | }; | ||||
const EndTransHKOrderReq$json = const { | |||||
'1': 'EndTransHKOrderReq', | |||||
'2': const [ | |||||
const {'1': 'OrderId', '3': 1, '4': 1, '5': 9, '10': 'OrderId'}, | |||||
], | |||||
}; | |||||
const EndTransHKOrderRes$json = const { | |||||
'1': 'EndTransHKOrderRes', | |||||
'2': const [ | |||||
const {'1': 'ErrorCode', '3': 1, '4': 1, '5': 5, '10': 'ErrorCode'}, | |||||
const {'1': 'OrderId', '3': 2, '4': 1, '5': 9, '10': 'OrderId'}, | |||||
], | |||||
}; | |||||
const DeliveryTransHKOrderPush$json = const { | const DeliveryTransHKOrderPush$json = const { | ||||
'1': 'DeliveryTransHKOrderPush', | '1': 'DeliveryTransHKOrderPush', | ||||
'2': const [ | '2': const [ | ||||
const {'1': 'OrderId', '3': 1, '4': 1, '5': 9, '10': 'OrderId'}, | const {'1': 'OrderId', '3': 1, '4': 1, '5': 9, '10': 'OrderId'}, | ||||
const {'1': 'CreateTime', '3': 2, '4': 1, '5': 3, '10': 'CreateTime'}, | |||||
const {'1': 'TLanguage', '3': 3, '4': 1, '5': 13, '10': 'TLanguage'}, | |||||
const {'1': 'Scenes', '3': 4, '4': 1, '5': 5, '10': 'Scenes'}, | |||||
const {'1': 'Desc', '3': 5, '4': 1, '5': 9, '10': 'Desc'}, | |||||
const {'1': 'Employer', '3': 2, '4': 1, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'Employer'}, | |||||
const {'1': 'CreateTime', '3': 3, '4': 1, '5': 3, '10': 'CreateTime'}, | |||||
const {'1': 'TLanguage', '3': 4, '4': 1, '5': 13, '10': 'TLanguage'}, | |||||
const {'1': 'Scenes', '3': 5, '4': 1, '5': 5, '10': 'Scenes'}, | |||||
const {'1': 'Desc', '3': 6, '4': 1, '5': 9, '10': 'Desc'}, | |||||
], | ], | ||||
}; | }; | ||||
@@ -95,6 +111,8 @@ const TransHKChatNotice$json = const { | |||||
const {'1': 'NoticeType', '3': 1, '4': 1, '5': 14, '6': '.yl_pb.TransHKChatNoticeType', '10': 'NoticeType'}, | const {'1': 'NoticeType', '3': 1, '4': 1, '5': 14, '6': '.yl_pb.TransHKChatNoticeType', '10': 'NoticeType'}, | ||||
const {'1': 'OperatuId', '3': 2, '4': 1, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'OperatuId'}, | const {'1': 'OperatuId', '3': 2, '4': 1, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'OperatuId'}, | ||||
const {'1': 'OperateduId', '3': 3, '4': 3, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'OperateduId'}, | const {'1': 'OperateduId', '3': 3, '4': 3, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'OperateduId'}, | ||||
const {'1': 'Inter', '3': 4, '4': 1, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'Inter'}, | |||||
const {'1': 'Employer', '3': 5, '4': 1, '5': 11, '6': '.yl_pb.BaseUserInfo', '10': 'Employer'}, | |||||
], | ], | ||||
}; | }; | ||||
@@ -13,7 +13,6 @@ enum TransHKOrderState{ | |||||
Completed = 5; //已完成 | Completed = 5; //已完成 | ||||
} | } | ||||
//comid = 3 | |||||
enum TransHKChatNoticeType{ | enum TransHKChatNoticeType{ | ||||
StartChat = 1; //开始 | StartChat = 1; //开始 | ||||
EndChat = 2; //结束 | EndChat = 2; //结束 | ||||
@@ -55,15 +54,25 @@ message CancellationTransHKOrderRes { | |||||
optional string OrderId = 2; //订单号 | optional string OrderId = 2; //订单号 | ||||
} | } | ||||
//Msg= 7 结束订单请求 | |||||
message EndTransHKOrderReq{ | |||||
optional string OrderId = 1; //订单号 | |||||
} | |||||
//Msg= 8 结束订单请求回应 | |||||
message EndTransHKOrderRes{ | |||||
optional int32 ErrorCode = 1; //详见错误码文档 | |||||
optional string OrderId = 2; //订单号 | |||||
} | |||||
//Msg= 20 派送订单推送 | //Msg= 20 派送订单推送 | ||||
message DeliveryTransHKOrderPush { | message DeliveryTransHKOrderPush { | ||||
optional string OrderId =1; //订单号 | optional string OrderId =1; //订单号 | ||||
optional int64 CreateTime = 2; //创建时间 | |||||
optional uint32 TLanguage =3; //翻译语言 | |||||
optional int32 Scenes =4; //场景 | |||||
optional string Desc =5; //描述 | |||||
optional BaseUserInfo Employer = 2; //雇主 | |||||
optional int64 CreateTime = 3; //创建时间 | |||||
optional uint32 TLanguage =4; //翻译语言 | |||||
optional int32 Scenes =5; //场景 | |||||
optional string Desc =6; //描述 | |||||
} | } | ||||
//Msg= 21 订单取消推送 | //Msg= 21 订单取消推送 | ||||
@@ -77,4 +86,6 @@ message TransHKChatNotice { | |||||
optional TransHKChatNoticeType NoticeType = 1; //公告类型 | optional TransHKChatNoticeType NoticeType = 1; //公告类型 | ||||
optional BaseUserInfo OperatuId = 2; //操作用户Id | optional BaseUserInfo OperatuId = 2; //操作用户Id | ||||
repeated BaseUserInfo OperateduId = 3; //被操作用户Ids 有可能是多人 | repeated BaseUserInfo OperateduId = 3; //被操作用户Ids 有可能是多人 | ||||
optional BaseUserInfo Inter = 4; //翻译官 | |||||
optional BaseUserInfo Employer = 5; //客户 | |||||
} | } |
@@ -1,526 +1,532 @@ | |||||
class R { | class R { | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgRealtimeBg2 = 'assets/images/img_realtime_bg2.png'; | |||||
///  | |||||
static final String assetsImagesBofang = 'assets/images/bofang.png'; | static final String assetsImagesBofang = 'assets/images/bofang.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcQuickSearch = 'assets/images/ic_quick_search.png'; | static final String assetsImagesIcQuickSearch = 'assets/images/ic_quick_search.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTempShare = 'assets/images/img_temp_share.png'; | static final String assetsImagesImgTempShare = 'assets/images/img_temp_share.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgRealtimeBg1 = 'assets/images/img_realtime_bg1.png'; | |||||
///  | |||||
static final String assetsImagesIcTag = 'assets/images/ic_tag.png'; | static final String assetsImagesIcTag = 'assets/images/ic_tag.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesDefaultNorAvatar = 'assets/images/default_nor_avatar.png'; | static final String assetsImagesDefaultNorAvatar = 'assets/images/default_nor_avatar.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesServerIcon = 'assets/images/server_icon.png'; | static final String assetsImagesServerIcon = 'assets/images/server_icon.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcPublicAccount = 'assets/images/ic_public_account.png'; | static final String assetsImagesIcPublicAccount = 'assets/images/ic_public_account.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcFeeds = 'assets/images/ic_feeds.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 assetsImagesImgTranslationNo = 'assets/images/img_translation_no.png'; | static final String assetsImagesImgTranslationNo = 'assets/images/img_translation_no.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgCheckPhotoBg = 'assets/images/img_check_photo_bg.png'; | |||||
///  | |||||
static final String assetsImagesYqmBg = 'assets/images/yqm_bg.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 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 assetsImagesImgFyj = 'assets/images/img_fyj.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesRightGray = 'assets/images/right_gray.png'; | static final String assetsImagesRightGray = 'assets/images/right_gray.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcGroupChat = 'assets/images/ic_group_chat.png'; | static final String assetsImagesIcGroupChat = 'assets/images/ic_group_chat.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTempSee = 'assets/images/img_temp_see.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 assetsImagesIcMiniProgram = 'assets/images/ic_mini_program.png'; | static final String assetsImagesIcMiniProgram = 'assets/images/ic_mini_program.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcShakePhone = 'assets/images/ic_shake_phone.png'; | static final String assetsImagesIcShakePhone = 'assets/images/ic_shake_phone.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTranslationNoP = 'assets/images/img_translation_no_p.png'; | static final String assetsImagesImgTranslationNoP = 'assets/images/img_translation_no_p.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcGameEntry = 'assets/images/ic_game_entry.png'; | static final String assetsImagesIcGameEntry = 'assets/images/ic_game_entry.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTranslationYes = 'assets/images/img_translation_yes.png'; | static final String assetsImagesImgTranslationYes = 'assets/images/img_translation_yes.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesDailyIcon = 'assets/images/daily_icon.png'; | static final String assetsImagesDailyIcon = 'assets/images/daily_icon.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLeftGray = 'assets/images/left_gray.png'; | static final String assetsImagesLeftGray = 'assets/images/left_gray.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcSocialCircle = 'assets/images/ic_social_circle.png'; | static final String assetsImagesIcSocialCircle = 'assets/images/ic_social_circle.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtApk = 'assets/images/ext_apk.png'; | static final String assetsImagesExtApk = 'assets/images/ext_apk.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesSvip = 'assets/images/svip.png'; | static final String assetsImagesSvip = 'assets/images/svip.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcQrcodePreviewTiny = 'assets/images/ic_qrcode_preview_tiny.png'; | static final String assetsImagesIcQrcodePreviewTiny = 'assets/images/ic_qrcode_preview_tiny.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTranIcon = 'assets/images/img_tran_icon.png'; | static final String assetsImagesImgTranIcon = 'assets/images/img_tran_icon.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcAlbum = 'assets/images/ic_album.png'; | static final String assetsImagesIcAlbum = 'assets/images/ic_album.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesZhiwen = 'assets/images/zhiwen.png'; | static final String assetsImagesZhiwen = 'assets/images/zhiwen.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesNetError = 'assets/images/net_error.png'; | static final String assetsImagesNetError = 'assets/images/net_error.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcEmotions = 'assets/images/ic_emotions.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 assetsImagesImgTempHy = 'assets/images/img_temp_hy.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 assetsImagesQianbaoBg = 'assets/images/qianbao_bg.png'; | static final String assetsImagesQianbaoBg = 'assets/images/qianbao_bg.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgSplash3 = 'assets/images/img_splash_3.png'; | static final String assetsImagesImgSplash3 = 'assets/images/img_splash_3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgUpdateBg = 'assets/images/img_update_bg.png'; | static final String assetsImagesImgUpdateBg = 'assets/images/img_update_bg.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesDailyBtn1 = 'assets/images/daily_btn_1.png'; | static final String assetsImagesDailyBtn1 = 'assets/images/daily_btn_1.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem4 = 'assets/images/chat_item_4.png'; | static final String assetsImagesChatItem4 = 'assets/images/chat_item_4.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem5 = 'assets/images/chat_item_5.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 assetsImagesImgSplash2 = 'assets/images/img_splash_2.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 assetsImagesServiceIcon = 'assets/images/service_icon.png'; | static final String assetsImagesServiceIcon = 'assets/images/service_icon.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesDailyBtn2 = 'assets/images/daily_btn_2.png'; | static final String assetsImagesDailyBtn2 = 'assets/images/daily_btn_2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem7 = 'assets/images/chat_item_7.png'; | static final String assetsImagesChatItem7 = 'assets/images/chat_item_7.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTempQb = 'assets/images/img_temp_qb.png'; | static final String assetsImagesImgTempQb = 'assets/images/img_temp_qb.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTravelButler = 'assets/images/img_travel_butler.png'; | static final String assetsImagesImgTravelButler = 'assets/images/img_travel_butler.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem6 = 'assets/images/chat_item_6.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 assetsImagesImgTranslationYesP = 'assets/images/img_translation_yes_p.png'; | static final String assetsImagesImgTranslationYesP = 'assets/images/img_translation_yes_p.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesDailyCoin = 'assets/images/daily_coin.png'; | static final String assetsImagesDailyCoin = 'assets/images/daily_coin.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcNewFriend = 'assets/images/ic_new_friend.png'; | static final String assetsImagesIcNewFriend = 'assets/images/ic_new_friend.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcSettings = 'assets/images/ic_settings.png'; | static final String assetsImagesIcSettings = 'assets/images/ic_settings.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcCardsWallet = 'assets/images/ic_cards_wallet.png'; | static final String assetsImagesIcCardsWallet = 'assets/images/ic_cards_wallet.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem2 = 'assets/images/chat_item_2.png'; | static final String assetsImagesChatItem2 = 'assets/images/chat_item_2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem3 = 'assets/images/chat_item_3.png'; | static final String assetsImagesChatItem3 = 'assets/images/chat_item_3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesRobot = 'assets/images/robot.jpg'; | static final String assetsImagesRobot = 'assets/images/robot.jpg'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtSound = 'assets/images/ext_sound.png'; | static final String assetsImagesExtSound = 'assets/images/ext_sound.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtZip = 'assets/images/ext_zip.png'; | static final String assetsImagesExtZip = 'assets/images/ext_zip.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatItem1 = 'assets/images/chat_item_1.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 assetsImagesImgTranslationButler = 'assets/images/img_translation_butler.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 assetsImagesVoucher = 'assets/images/voucher.png'; | static final String assetsImagesVoucher = 'assets/images/voucher.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesVIP = 'assets/images/VIP.png'; | static final String assetsImagesVIP = 'assets/images/VIP.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcWallet = 'assets/images/ic_wallet.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 assetsImagesIcCollections = 'assets/images/ic_collections.png'; | static final String assetsImagesIcCollections = 'assets/images/ic_collections.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGiftShow24 = 'assets/images/gift_show_2_4.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 assetsImagesIcWxGames = 'assets/images/ic_wx_games.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcShopping = 'assets/images/ic_shopping.png'; | static final String assetsImagesIcShopping = 'assets/images/ic_shopping.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcFengchao = 'assets/images/ic_fengchao.png'; | static final String assetsImagesIcFengchao = 'assets/images/ic_fengchao.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcFileTransfer = 'assets/images/ic_file_transfer.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 assetsImagesRedPacketBg = 'assets/images/red_packet_bg.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 assetsImagesGiftShow23 = 'assets/images/gift_show_2_3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtUnknown = 'assets/images/ext_unknown.png'; | static final String assetsImagesExtUnknown = 'assets/images/ext_unknown.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesCoin = 'assets/images/coin.png'; | static final String assetsImagesCoin = 'assets/images/coin.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGiftAnim3 = 'assets/images/gift_anim_3.gif'; | static final String assetsImagesGiftAnim3 = 'assets/images/gift_anim_3.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGiftAnim2 = 'assets/images/gift_anim_2.gif'; | static final String assetsImagesGiftAnim2 = 'assets/images/gift_anim_2.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGift1 = 'assets/images/gift_1.png'; | static final String assetsImagesGift1 = 'assets/images/gift_1.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesBack = 'assets/images/back.png'; | static final String assetsImagesBack = 'assets/images/back.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGiftShow22 = 'assets/images/gift_show_2_2.png'; | static final String assetsImagesGiftShow22 = 'assets/images/gift_show_2_2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGift3 = 'assets/images/gift_3.png'; | static final String assetsImagesGift3 = 'assets/images/gift_3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcQuickScan = 'assets/images/ic_quick_scan.png'; | static final String assetsImagesIcQuickScan = 'assets/images/ic_quick_scan.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTranslationIcon = 'assets/images/img_translation_icon.png'; | static final String assetsImagesImgTranslationIcon = 'assets/images/img_translation_icon.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesImgTranslationTick = 'assets/images/img_translation_tick.png'; | static final String assetsImagesImgTranslationTick = 'assets/images/img_translation_tick.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesIcBottleMsg = 'assets/images/ic_bottle_msg.png'; | static final String assetsImagesIcBottleMsg = 'assets/images/ic_bottle_msg.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGiftAnim1 = 'assets/images/gift_anim_1.gif'; | static final String assetsImagesGiftAnim1 = 'assets/images/gift_anim_1.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesBg = 'assets/images/bg.png'; | static final String assetsImagesBg = 'assets/images/bg.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGift2 = 'assets/images/gift_2.png'; | static final String assetsImagesGift2 = 'assets/images/gift_2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesExtTxt = 'assets/images/ext_txt.png'; | static final String assetsImagesExtTxt = 'assets/images/ext_txt.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesGiftShow21 = 'assets/images/gift_show_2_1.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 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 assetsImagesChatIcon3 = 'assets/images/chat/icon3.png'; | static final String assetsImagesChatIcon3 = 'assets/images/chat/icon3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatIcon2 = 'assets/images/chat/icon2.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 assetsImagesChatIcon5 = 'assets/images/chat/icon5.png'; | static final String assetsImagesChatIcon5 = 'assets/images/chat/icon5.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesChatIcon4 = 'assets/images/chat/icon4.png'; | static final String assetsImagesChatIcon4 = 'assets/images/chat/icon4.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginVipWx = 'assets/images/login/vip_wx.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 assetsImagesLoginLock = 'assets/images/login/lock.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 assetsImagesLoginVipRect3 = 'assets/images/login/vip_rect3.png'; | static final String assetsImagesLoginVipRect3 = 'assets/images/login/vip_rect3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginVipRect2 = 'assets/images/login/vip_rect2.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 assetsImagesLoginDlyIcon3 = 'assets/images/login/dly_icon3.png'; | static final String assetsImagesLoginDlyIcon3 = 'assets/images/login/dly_icon3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon2 = 'assets/images/login/dly_icon2.png'; | static final String assetsImagesLoginDlyIcon2 = 'assets/images/login/dly_icon2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginSYBg = 'assets/images/login/SY_bg.png'; | static final String assetsImagesLoginSYBg = 'assets/images/login/SY_bg.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginDlyLogo = 'assets/images/login/dly_logo.png'; | static final String assetsImagesLoginDlyLogo = 'assets/images/login/dly_logo.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginVipOther = 'assets/images/login/vip_other.png'; | static final String assetsImagesLoginVipOther = 'assets/images/login/vip_other.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon1 = 'assets/images/login/dly_icon1.png'; | static final String assetsImagesLoginDlyIcon1 = 'assets/images/login/dly_icon1.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginRzzx = 'assets/images/login/rzzx.png'; | static final String assetsImagesLoginRzzx = 'assets/images/login/rzzx.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginDlyIcon4 = 'assets/images/login/dly_icon4.png'; | static final String assetsImagesLoginDlyIcon4 = 'assets/images/login/dly_icon4.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginMoney = 'assets/images/login/money.png'; | static final String assetsImagesLoginMoney = 'assets/images/login/money.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginSYLogo = 'assets/images/login/SY_logo.png'; | static final String assetsImagesLoginSYLogo = 'assets/images/login/SY_logo.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesLoginDelete = 'assets/images/login/delete.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 assetsImagesLoginXzxbFemale = 'assets/images/login/xzxb_female.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesParkQzIcon8 = 'assets/images/park/qz_icon8.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 assetsImagesParkQzIcon7 = 'assets/images/park/qz_icon7.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesParkQzIcon6 = 'assets/images/park/qz_icon6.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 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 assetsImagesStickerSticker7 = 'assets/images/sticker/sticker_7.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker6 = 'assets/images/sticker/sticker_6.gif'; | static final String assetsImagesStickerSticker6 = 'assets/images/sticker/sticker_6.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker10 = 'assets/images/sticker/sticker_10.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 assetsImagesStickerSticker4 = 'assets/images/sticker/sticker_4.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker5 = 'assets/images/sticker/sticker_5.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 assetsImagesStickerSticker17 = 'assets/images/sticker/sticker_17.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker1 = 'assets/images/sticker/sticker_1.gif'; | static final String assetsImagesStickerSticker1 = 'assets/images/sticker/sticker_1.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker16 = 'assets/images/sticker/sticker_16.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 assetsImagesStickerSticker28 = 'assets/images/sticker/sticker_28.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker2 = 'assets/images/sticker/sticker_2.gif'; | static final String assetsImagesStickerSticker2 = 'assets/images/sticker/sticker_2.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker3 = 'assets/images/sticker/sticker_3.gif'; | static final String assetsImagesStickerSticker3 = 'assets/images/sticker/sticker_3.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker29 = 'assets/images/sticker/sticker_29.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 assetsImagesStickerSticker18 = 'assets/images/sticker/sticker_18.gif'; | static final String assetsImagesStickerSticker18 = 'assets/images/sticker/sticker_18.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 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 assetsImagesStickerSticker19 = 'assets/images/sticker/sticker_19.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 assetsImagesStickerSticker26 = 'assets/images/sticker/sticker_26.gif'; | static final String assetsImagesStickerSticker26 = 'assets/images/sticker/sticker_26.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker22 = 'assets/images/sticker/sticker_22.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 assetsImagesStickerSticker23 = 'assets/images/sticker/sticker_23.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker21 = 'assets/images/sticker/sticker_21.gif'; | static final String assetsImagesStickerSticker21 = 'assets/images/sticker/sticker_21.gif'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesStickerSticker20 = 'assets/images/sticker/sticker_20.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 assetsImagesVipHyTj = 'assets/images/vip/hy_tj.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesVipHyXz = 'assets/images/vip/hy_xz.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 assetsImagesVipHyTq = 'assets/images/vip/hy_tq.png'; | static final String assetsImagesVipHyTq = 'assets/images/vip/hy_tq.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface88 = 'assets/images/emojiface/88.png'; | static final String assetsImagesEmojiface88 = 'assets/images/emojiface/88.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface77 = 'assets/images/emojiface/77.png'; | static final String assetsImagesEmojiface77 = 'assets/images/emojiface/77.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface63 = 'assets/images/emojiface/63.png'; | static final String assetsImagesEmojiface63 = 'assets/images/emojiface/63.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface62 = 'assets/images/emojiface/62.png'; | static final String assetsImagesEmojiface62 = 'assets/images/emojiface/62.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface76 = 'assets/images/emojiface/76.png'; | static final String assetsImagesEmojiface76 = 'assets/images/emojiface/76.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface89 = 'assets/images/emojiface/89.png'; | static final String assetsImagesEmojiface89 = 'assets/images/emojiface/89.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface60 = 'assets/images/emojiface/60.png'; | static final String assetsImagesEmojiface60 = 'assets/images/emojiface/60.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface74 = 'assets/images/emojiface/74.png'; | static final String assetsImagesEmojiface74 = 'assets/images/emojiface/74.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface48 = 'assets/images/emojiface/48.png'; | static final String assetsImagesEmojiface48 = 'assets/images/emojiface/48.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface49 = 'assets/images/emojiface/49.png'; | static final String assetsImagesEmojiface49 = 'assets/images/emojiface/49.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface75 = 'assets/images/emojiface/75.png'; | static final String assetsImagesEmojiface75 = 'assets/images/emojiface/75.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface61 = 'assets/images/emojiface/61.png'; | static final String assetsImagesEmojiface61 = 'assets/images/emojiface/61.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface59 = 'assets/images/emojiface/59.png'; | static final String assetsImagesEmojiface59 = 'assets/images/emojiface/59.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface65 = 'assets/images/emojiface/65.png'; | static final String assetsImagesEmojiface65 = 'assets/images/emojiface/65.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface71 = 'assets/images/emojiface/71.png'; | static final String assetsImagesEmojiface71 = 'assets/images/emojiface/71.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface70 = 'assets/images/emojiface/70.png'; | static final String assetsImagesEmojiface70 = 'assets/images/emojiface/70.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface64 = 'assets/images/emojiface/64.png'; | static final String assetsImagesEmojiface64 = 'assets/images/emojiface/64.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface58 = 'assets/images/emojiface/58.png'; | static final String assetsImagesEmojiface58 = 'assets/images/emojiface/58.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface8 = 'assets/images/emojiface/8.png'; | static final String assetsImagesEmojiface8 = 'assets/images/emojiface/8.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface72 = 'assets/images/emojiface/72.png'; | static final String assetsImagesEmojiface72 = 'assets/images/emojiface/72.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface66 = 'assets/images/emojiface/66.png'; | static final String assetsImagesEmojiface66 = 'assets/images/emojiface/66.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface67 = 'assets/images/emojiface/67.png'; | static final String assetsImagesEmojiface67 = 'assets/images/emojiface/67.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface73 = 'assets/images/emojiface/73.png'; | static final String assetsImagesEmojiface73 = 'assets/images/emojiface/73.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface9 = 'assets/images/emojiface/9.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 assetsImagesEmojiface28 = 'assets/images/emojiface/28.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface29 = 'assets/images/emojiface/29.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 assetsImagesEmojiface17 = 'assets/images/emojiface/17.png'; | static final String assetsImagesEmojiface17 = 'assets/images/emojiface/17.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface16 = 'assets/images/emojiface/16.png'; | static final String assetsImagesEmojiface16 = 'assets/images/emojiface/16.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface12 = 'assets/images/emojiface/12.png'; | static final String assetsImagesEmojiface12 = 'assets/images/emojiface/12.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface13 = 'assets/images/emojiface/13.png'; | static final String assetsImagesEmojiface13 = 'assets/images/emojiface/13.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface39 = 'assets/images/emojiface/39.png'; | static final String assetsImagesEmojiface39 = 'assets/images/emojiface/39.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface11 = 'assets/images/emojiface/11.png'; | static final String assetsImagesEmojiface11 = 'assets/images/emojiface/11.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface10 = 'assets/images/emojiface/10.png'; | static final String assetsImagesEmojiface10 = 'assets/images/emojiface/10.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface38 = 'assets/images/emojiface/38.png'; | static final String assetsImagesEmojiface38 = 'assets/images/emojiface/38.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface35 = 'assets/images/emojiface/35.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 assetsImagesEmojiface20 = 'assets/images/emojiface/20.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface34 = 'assets/images/emojiface/34.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 assetsImagesEmojiface36 = 'assets/images/emojiface/36.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface37 = 'assets/images/emojiface/37.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 assetsImagesEmojiface27 = 'assets/images/emojiface/27.png'; | static final String assetsImagesEmojiface27 = 'assets/images/emojiface/27.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface33 = 'assets/images/emojiface/33.png'; | static final String assetsImagesEmojiface33 = 'assets/images/emojiface/33.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface32 = 'assets/images/emojiface/32.png'; | static final String assetsImagesEmojiface32 = 'assets/images/emojiface/32.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface26 = 'assets/images/emojiface/26.png'; | static final String assetsImagesEmojiface26 = 'assets/images/emojiface/26.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface18 = 'assets/images/emojiface/18.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 assetsImagesEmojiface24 = 'assets/images/emojiface/24.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface25 = 'assets/images/emojiface/25.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 assetsImagesEmojiface19 = 'assets/images/emojiface/19.png'; | static final String assetsImagesEmojiface19 = 'assets/images/emojiface/19.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface81 = 'assets/images/emojiface/81.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 assetsImagesEmojiface56 = 'assets/images/emojiface/56.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 assetsImagesEmojiface5 = 'assets/images/emojiface/5.png'; | static final String assetsImagesEmojiface5 = 'assets/images/emojiface/5.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface57 = 'assets/images/emojiface/57.png'; | static final String assetsImagesEmojiface57 = 'assets/images/emojiface/57.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface80 = 'assets/images/emojiface/80.png'; | static final String assetsImagesEmojiface80 = 'assets/images/emojiface/80.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 assetsImagesEmojiface41 = 'assets/images/emojiface/41.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface55 = 'assets/images/emojiface/55.png'; | static final String assetsImagesEmojiface55 = 'assets/images/emojiface/55.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface7 = 'assets/images/emojiface/7.png'; | static final String assetsImagesEmojiface7 = 'assets/images/emojiface/7.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface69 = 'assets/images/emojiface/69.png'; | static final String assetsImagesEmojiface69 = 'assets/images/emojiface/69.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface68 = 'assets/images/emojiface/68.png'; | static final String assetsImagesEmojiface68 = 'assets/images/emojiface/68.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface54 = 'assets/images/emojiface/54.png'; | static final String assetsImagesEmojiface54 = 'assets/images/emojiface/54.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface6 = 'assets/images/emojiface/6.png'; | static final String assetsImagesEmojiface6 = 'assets/images/emojiface/6.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface40 = 'assets/images/emojiface/40.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 assetsImagesEmojiface87 = 'assets/images/emojiface/87.png'; | static final String assetsImagesEmojiface87 = 'assets/images/emojiface/87.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface78 = 'assets/images/emojiface/78.png'; | static final String assetsImagesEmojiface78 = 'assets/images/emojiface/78.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface44 = 'assets/images/emojiface/44.png'; | static final String assetsImagesEmojiface44 = 'assets/images/emojiface/44.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface2 = 'assets/images/emojiface/2.png'; | static final String assetsImagesEmojiface2 = 'assets/images/emojiface/2.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface50 = 'assets/images/emojiface/50.png'; | static final String assetsImagesEmojiface50 = 'assets/images/emojiface/50.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface3 = 'assets/images/emojiface/3.png'; | static final String assetsImagesEmojiface3 = 'assets/images/emojiface/3.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface51 = 'assets/images/emojiface/51.png'; | static final String assetsImagesEmojiface51 = 'assets/images/emojiface/51.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface45 = 'assets/images/emojiface/45.png'; | static final String assetsImagesEmojiface45 = 'assets/images/emojiface/45.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface79 = 'assets/images/emojiface/79.png'; | static final String assetsImagesEmojiface79 = 'assets/images/emojiface/79.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface86 = 'assets/images/emojiface/86.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 assetsImagesEmojiface84 = 'assets/images/emojiface/84.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface53 = 'assets/images/emojiface/53.png'; | static final String assetsImagesEmojiface53 = 'assets/images/emojiface/53.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface1 = 'assets/images/emojiface/1.png'; | static final String assetsImagesEmojiface1 = 'assets/images/emojiface/1.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface47 = 'assets/images/emojiface/47.png'; | static final String assetsImagesEmojiface47 = 'assets/images/emojiface/47.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface46 = 'assets/images/emojiface/46.png'; | static final String assetsImagesEmojiface46 = 'assets/images/emojiface/46.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface52 = 'assets/images/emojiface/52.png'; | static final String assetsImagesEmojiface52 = 'assets/images/emojiface/52.png'; | ||||
///  | |||||
///  | |||||
static final String assetsImagesEmojiface85 = 'assets/images/emojiface/85.png'; | static final String assetsImagesEmojiface85 = 'assets/images/emojiface/85.png'; | ||||
} | } |
@@ -8,6 +8,7 @@ import 'package:chat/generated/i18n.dart'; | |||||
import 'package:chat/home/VerificationCenter.dart'; | import 'package:chat/home/VerificationCenter.dart'; | ||||
import 'package:chat/home/VipPage.dart'; | import 'package:chat/home/VipPage.dart'; | ||||
import 'package:chat/home/realtimehelper/translation_evaluation_dialog.dart'; | import 'package:chat/home/realtimehelper/translation_evaluation_dialog.dart'; | ||||
import 'package:chat/home/realtimehelper/translation_order_push_dialog.dart'; | |||||
import 'package:chat/models/group_info_model.dart'; | import 'package:chat/models/group_info_model.dart'; | ||||
import 'package:chat/photo/ui/dialog/not_permission_dialog.dart'; | import 'package:chat/photo/ui/dialog/not_permission_dialog.dart'; | ||||
import 'package:chat/utils/LoadingDialog.dart'; | import 'package:chat/utils/LoadingDialog.dart'; | ||||
@@ -1266,145 +1267,11 @@ class CustomUI { | |||||
///** isUser 是否是用户,或为 翻译 | ///** isUser 是否是用户,或为 翻译 | ||||
static void buildTranslationHelperOrderDialog( | static void buildTranslationHelperOrderDialog( | ||||
BuildContext context, bool isUser, | BuildContext context, bool isUser, | ||||
{String orderId, int scenes = 0, String desc}) { | |||||
var scenesList = [ | |||||
I18n.of(context).translation_scenes_1, | |||||
I18n.of(context).translation_scenes_2, | |||||
I18n.of(context).translation_scenes_3, | |||||
I18n.of(context).translation_scenes_4, | |||||
]; | |||||
{String orderId, int scenes = 0, String desc,Function userStartChat,int createTime,String userName}) { | |||||
Navigator.of(context).push(TutorialOverlay( | |||||
child: InkWell( | |||||
onTap: () { | |||||
Navigator.of(context).pop(); | |||||
}, | |||||
child: UnconstrainedBox( | |||||
alignment: Alignment.topCenter, | |||||
child: InkWell( | |||||
onTap: () {}, | |||||
child: Container( | |||||
alignment: Alignment.topCenter, | |||||
// height: 180, | |||||
width: Screen.width - 20, | |||||
margin: EdgeInsets.all(10), | |||||
child: Card( | |||||
elevation: 2, // 阴影 | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.circular(10), | |||||
// side: BorderSide(color: Colors.green,width: 25), | |||||
), | |||||
child: Container( | |||||
// color: Colors.yellow, | |||||
width: double.maxFinite, | |||||
padding: EdgeInsets.all(16), | |||||
child: Column( | |||||
crossAxisAlignment: CrossAxisAlignment.start, | |||||
children: <Widget>[ | |||||
Padding( | |||||
padding: EdgeInsets.only(bottom: 15), | |||||
child: Text( | |||||
I18n.of(context).translation_butler_dialog_title, | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle( | |||||
fontWeight: FontWeight.w500, | |||||
color: AppColors.NewAppbarTextColor, | |||||
fontSize: 17), | |||||
), | |||||
), | |||||
Text( | |||||
I18n.of(context) | |||||
.translation_butler_dialog_order | |||||
.replaceAll( | |||||
'/s1', isUser ? I18n.of(context).you : 'xxx'), | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle( | |||||
color: AppColors.NewAppbarTextColor, fontSize: 14), | |||||
), | |||||
SizedBox( | |||||
height: 10, | |||||
), | |||||
Text( | |||||
'时间:今天11:45 时长:5分钟', | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: | |||||
TextStyle(color: Color(0xFF797979), fontSize: 11), | |||||
), | |||||
isUser | |||||
? Container() | |||||
: Text( | |||||
'场景:${scenesList[scenes]}', | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle( | |||||
color: Color(0xFF797979), fontSize: 11), | |||||
), | |||||
isUser | |||||
? Container() | |||||
: Text( | |||||
'更多描述:$desc}', | |||||
textScaleFactor: 1.0, | |||||
textAlign: TextAlign.left, | |||||
style: TextStyle( | |||||
color: Color(0xFF797979), fontSize: 11), | |||||
), | |||||
// | |||||
Container( | |||||
margin: EdgeInsets.only( | |||||
left: 30, right: 30, top: 20, bottom: 10), | |||||
child: isUser | |||||
? Container( | |||||
margin: EdgeInsets.only(top: 10), | |||||
height: 36, | |||||
alignment: Alignment.center, | |||||
child: RaisedButton( | |||||
color: Color(0xff3875E9), | |||||
shape: RoundedRectangleBorder( | |||||
borderRadius: BorderRadius.all( | |||||
Radius.circular(10))), | |||||
child: Padding( | |||||
padding: | |||||
EdgeInsets.only(left: 10, right: 10), | |||||
child: Text( | |||||
I18n.of(context) | |||||
.translation_butler_dialog_start_chat, | |||||
textScaleFactor: 1.0, | |||||
style: TextStyle( | |||||
color: Colors.white, | |||||
fontSize: 15, | |||||
fontWeight: FontWeight.w500), | |||||
), | |||||
), | |||||
onPressed: () { | |||||
Navigator.of(context)..pop(); | |||||
}), | |||||
) | |||||
: CountDownButton( | |||||
I18n.of(context) | |||||
.translation_butler_dialog_start_service, | |||||
() { | |||||
Navigator.of(context).pop(); | |||||
}, | |||||
onPress: () { | |||||
MsgHandler.sendReceiveOrder(); | |||||
Navigator.of(context).pop(); | |||||
}, | |||||
), | |||||
) | |||||
], | |||||
), | |||||
), | |||||
), | |||||
), | |||||
), | |||||
), | |||||
), | |||||
Navigator.of(context).push(TutorialOverlay( | |||||
child: TranslateOrderPushPage(isUser,orderId: orderId,scenes: scenes,desc: desc,userStartChat: userStartChat,createTime: createTime,userName: userName,), | |||||
)); | )); | ||||
} | } | ||||
@@ -1418,7 +1418,7 @@ class HttpUtil { | |||||
} | } | ||||
} | } | ||||
//保存设备名称和编码 | //保存设备名称和编码 | ||||
saveMobileInfo() async { | saveMobileInfo() async { | ||||
@@ -1446,4 +1446,79 @@ String mobileType = ''; | |||||
Map resData = res.data; | Map resData = res.data; | ||||
print(resData); | print(resData); | ||||
} | } | ||||
///实时帮-翻译管家评价 | |||||
evaluationTransalteHK(String orderNo,String value,bool isGood,Function callback) async { | |||||
Map data = { | |||||
"userId": UserData().basicInfo.userId, | |||||
"orderNo": orderNo, | |||||
"gradeStatus":isGood?1:2 | |||||
}; | |||||
data['sign'] = TokenMgr().getSign(data); | |||||
data['value'] = value; | |||||
Response res = await HttpUtil().post('steward/evaluation', data: data); | |||||
callback(); | |||||
if (res == null) { | |||||
print('请求异常'); | |||||
return; | |||||
} | |||||
var resData = res.data; | |||||
if (resData['code'] == 0) { | |||||
showToast('评价成功'); | |||||
}else{ | |||||
showToast(I18n.of(Constants.getCurrentContext()).net_error); | |||||
} | |||||
} | |||||
///实时帮-用户测距 | |||||
userRanging(int distance,String origin,String ending) async { | |||||
Map data = { | |||||
"userId": UserData().basicInfo.userId, | |||||
"distance": distance, | |||||
}; | |||||
data['sign'] = TokenMgr().getSign(data); | |||||
data['origin'] = origin; | |||||
data['ending'] = ending; | |||||
Response res = await HttpUtil().post('steward/userRanging', data: data); | |||||
if (res == null) { | |||||
print('请求异常'); | |||||
return; | |||||
} | |||||
var resData = res.data; | |||||
if (resData['code'] == 0) { | |||||
print('实时帮-用户测距提交 成功'); | |||||
}else{ | |||||
print('实时帮-用户测距提交 失败'); | |||||
} | |||||
} | |||||
///实时帮-翻译人员上线、下线 | |||||
translateHKloginRecord(bool isLogin,Function callback) async { | |||||
Map data = { | |||||
"userId": UserData().basicInfo.userId, | |||||
"type": isLogin?1:2, | |||||
}; | |||||
data['sign'] = TokenMgr().getSign(data); | |||||
print('请求data : $data'); | |||||
Response res = await HttpUtil().post('steward/loginRecord', data: data); | |||||
if (res == null) { | |||||
print('请求异常'); | |||||
return; | |||||
} | |||||
var resData = res.data; | |||||
if (resData['code'] == 0) { | |||||
callback(); | |||||
print('翻译人员上线、下线 成功'); | |||||
}else{ | |||||
print('翻译人员上线、下线 失败 ${resData['msg']}'); | |||||
} | |||||
} | |||||
} | } |
@@ -8,7 +8,9 @@ class MessageMgr { | |||||
static const String TRANSLATE_HK_REFRESH_ORDER ='translate_hk_refresh_order'; | static const String TRANSLATE_HK_REFRESH_ORDER ='translate_hk_refresh_order'; | ||||
static const String TRANSLATE_HK_RECEIVE_ORDER ='translate_hk_receive_order'; | static const String TRANSLATE_HK_RECEIVE_ORDER ='translate_hk_receive_order'; | ||||
static const String TRANSLATE_HK_CANCEL_ORDER ='translate_hk_cancel_order'; | |||||
static const String TRANSLATE_HK_START_CHAT ='translate_hk_start_chat'; | static const String TRANSLATE_HK_START_CHAT ='translate_hk_start_chat'; | ||||
static const String TRANSLATE_HK_END_CHAT ='translate_hk_end_chat'; | |||||
//私有构造函数 | //私有构造函数 | ||||
@@ -412,39 +412,46 @@ class MsgHandler { | |||||
} | } | ||||
} else if (isTranslateHK) { | } else if (isTranslateHK) { | ||||
var myId = UserData().basicInfo.userId; | var myId = UserData().basicInfo.userId; | ||||
TransHKChatNotice notice = | |||||
TransHKChatNotice.fromBuffer(chat.contentBuff); | |||||
BaseUserInfo friendId; | |||||
if (notice.operateduId[0].id == myId) { | |||||
friendId = notice.operateduId[1]; | |||||
} else { | |||||
friendId = notice.operateduId[0]; | |||||
print('chat.contentBuff:${chat.contentBuff.length}'); | |||||
TransHKChatNotice notice = TransHKChatNotice.fromBuffer(chat.contentBuff); | |||||
BaseUserInfo friendId ; | |||||
print('chat.contentBuff AAAA'); | |||||
TranslateHKMgr().isUser = myId== notice.employer.id; ///判断自己是翻译官还是用户 | |||||
print('chat.contentBuff BBBB'); | |||||
if(myId== notice.employer.id){ | |||||
friendId =notice.inter; | |||||
}else{ | |||||
friendId = notice.employer; | |||||
} | } | ||||
print('notice.operateduId length ${notice.operateduId.length}'); | |||||
print('friend id: ${friendId.id} '); | print('friend id: ${friendId.id} '); | ||||
int sessionId = chat.targetId; | int sessionId = chat.targetId; | ||||
if (chat.cType == ChatType.GroupChatNoticeType) { | if (chat.cType == ChatType.GroupChatNoticeType) { | ||||
print('是群公告哦'); | |||||
msgModel = MsgModel(0, friendId.id, chat.cType.value, | msgModel = MsgModel(0, friendId.id, chat.cType.value, | ||||
chat.contentBuff, chat.sendTime.toInt(), sessionId, | chat.contentBuff, chat.sendTime.toInt(), sessionId, | ||||
channelType: ChatChannelType.Session.value); | channelType: ChatChannelType.Session.value); | ||||
} | } | ||||
///接到开始翻译管家消息-打开翻译管家页面 | |||||
if (notice.noticeType == TransHKChatNoticeType.StartChat) { | |||||
if (TranslateHKMgr().isUser) { | |||||
//TRANSLATE_HK_RECEIVE_ORDER 发送开始聊天弹窗 | |||||
} else { | |||||
Future.delayed(Duration(seconds: 3), () { | |||||
curActiveSession = sessionId; | |||||
print('curActiveSession:$curActiveSession'); | |||||
MessageMgr() | |||||
.emit(MessageMgr.TRANSLATE_HK_START_CHAT, friendId.id); | |||||
}); | |||||
} | |||||
///接到开始翻译管家消息-打开翻译管家聊天页面 | |||||
if(notice.noticeType==TransHKChatNoticeType.StartChat){ | |||||
Future.delayed(Duration(seconds: 1),(){ | |||||
TranslateHKMgr().orderStatus = TranslateHKMgr.ORDER_STATUS_EMPTY; | |||||
MessageMgr().emit(MessageMgr.TRANSLATE_HK_REFRESH_ORDER ); | |||||
curActiveSession = sessionId; | |||||
print('curActiveSession:$curActiveSession'); | |||||
MessageMgr().emit(MessageMgr.TRANSLATE_HK_START_CHAT, friendId.id); | |||||
}); | |||||
}else if(notice.noticeType==TransHKChatNoticeType.EndChat){ | |||||
print('chat.contentBuff cccc'); | |||||
MessageMgr().emit(MessageMgr.TRANSLATE_HK_END_CHAT, friendId.id); | |||||
} | } | ||||
} else { | } else { | ||||
//私聊通知消息 | //私聊通知消息 | ||||
@@ -872,8 +879,9 @@ class MsgHandler { | |||||
} | } | ||||
} | } | ||||
} else if (msgId == 3) { | } else if (msgId == 3) { | ||||
print('收到聊天消息'); | |||||
var msgContent = PushChat.fromBuffer(content); | var msgContent = PushChat.fromBuffer(content); | ||||
// print('收到聊天消息'); | |||||
print('收到聊天消息BBBBB'); | |||||
ackServerMsg(msgContent.sendTime); | ackServerMsg(msgContent.sendTime); | ||||
handlerReceiveMsg(msgContent); | handlerReceiveMsg(msgContent); | ||||
} else if (msgId == 4) { | } else if (msgId == 4) { | ||||
@@ -967,6 +975,10 @@ class MsgHandler { | |||||
handlerCancelTranslateOrder(content); | handlerCancelTranslateOrder(content); | ||||
} else if (msgId == 20) { | } else if (msgId == 20) { | ||||
handlerDeliveryInterpreterOrderPush(content); | handlerDeliveryInterpreterOrderPush(content); | ||||
}else if(msgId==21){ | |||||
handlerCancellationTransHKOrderPush(content); | |||||
}else if(msgId==8){ | |||||
handlerEndTransHKOrderRes(content); | |||||
} | } | ||||
break; | break; | ||||
@@ -1256,15 +1268,14 @@ class MsgHandler { | |||||
} | } | ||||
//发布翻译管家帮助订单 | //发布翻译管家帮助订单 | ||||
static sendCreateTranslateOrder( | |||||
int fromLanguage, int toLanguage, int scences, String extraDesc) { | |||||
debugPrint( | |||||
'发布翻译管家帮助订单 fromLanguage:$fromLanguage toLanguage: $toLanguage | ${fromLanguage | toLanguage}'); | |||||
static sendCreateTranslateOrder(int fromLanguage,int toLanguage,int scences,String extraDesc) { | |||||
TranslateHKMgr().isUser=true; | |||||
debugPrint('发布翻译管家帮助订单 fromLanguage:$fromLanguage toLanguage: $toLanguage | ${fromLanguage|toLanguage}' ); | |||||
var seq = IssueTransHKOrderReq.create(); | var seq = IssueTransHKOrderReq.create(); | ||||
seq.tLanguage = fromLanguage | toLanguage; | seq.tLanguage = fromLanguage | toLanguage; | ||||
seq.scenes = scences; | seq.scenes = scences; | ||||
seq.desc = extraDesc; | seq.desc = extraDesc; | ||||
TranslateHKMgr().isUser = true; | |||||
NetWork().sendMsg(ComId.TranslateOrder, 1, seq); | NetWork().sendMsg(ComId.TranslateOrder, 1, seq); | ||||
} | } | ||||
@@ -1313,15 +1324,31 @@ class MsgHandler { | |||||
'OrderId: ${res.orderId} createTime: ${res.createTime} tLanguage:${res.tLanguage} scenes:${res.scenes} desc${res.desc}'); | 'OrderId: ${res.orderId} createTime: ${res.createTime} tLanguage:${res.tLanguage} scenes:${res.scenes} desc${res.desc}'); | ||||
TranslateOrder order = new TranslateOrder(); | TranslateOrder order = new TranslateOrder(); | ||||
order.orderId = res.orderId; | |||||
order.desc = res.desc; | |||||
order.createTime = res.createTime.toInt(); | |||||
order.tLanguage = res.tLanguage.toInt(); | |||||
order.scenes = res.scenes.toInt(); | |||||
order.orderId=res.orderId; | |||||
order.desc=res.desc; | |||||
order.createTime=res.createTime.toInt(); | |||||
order.tLanguage=res.tLanguage.toInt(); | |||||
order.scenes=res.scenes.toInt(); | |||||
order.userName = res.employer.niceName; | |||||
TranslateHKMgr().order = order; | TranslateHKMgr().order = order; | ||||
MessageMgr().emit(MessageMgr.TRANSLATE_HK_RECEIVE_ORDER, res); | |||||
MessageMgr().emit(MessageMgr.TRANSLATE_HK_RECEIVE_ORDER, order); | |||||
} | } | ||||
//派送订单已被取消 | |||||
static handlerCancellationTransHKOrderPush(List<int> msgContent) { | |||||
var res = CancellationTransHKOrderPush.fromBuffer(msgContent); | |||||
debugPrint('派送订单已被取消: orderId${res.orderId}'); | |||||
// print('OrderId: ${res.orderId} createTime: ${res.createTime} tLanguage:${res.tLanguage} scenes:${res.scenes} desc${res.desc}'); | |||||
TranslateHKMgr().order = null; | |||||
MessageMgr().emit(MessageMgr.TRANSLATE_HK_CANCEL_ORDER); | |||||
showToast(I18n.of(context).translation_butler_order_time_out); | |||||
} | |||||
//接收订单请求 | //接收订单请求 | ||||
static sendReceiveOrder() { | static sendReceiveOrder() { | ||||
TranslateOrder order = TranslateHKMgr().order; | TranslateOrder order = TranslateHKMgr().order; | ||||
@@ -1344,12 +1371,36 @@ class MsgHandler { | |||||
} | } | ||||
} | } | ||||
///翻译官价聊天开始推送 | |||||
static handlerTranslateStart(List<int> msgContent) { | |||||
debugPrint('翻译官价聊天开始推送'); | |||||
// var res = TransHKChatStartPush.fromBuffer(msgContent); | |||||
//用户主动结束翻译管家服务 | |||||
static sendEndTransHKOrderReq() { | |||||
debugPrint('用户主动结束翻译管家服务 ${TranslateHKMgr().orderId}' ); | |||||
var seq = EndTransHKOrderReq.create(); | |||||
seq.orderId = TranslateHKMgr().orderId; | |||||
NetWork().sendMsg(ComId.TranslateOrder, 7, seq); | |||||
} | } | ||||
//用户主动结束翻译管家服务回应 | |||||
static handlerEndTransHKOrderRes(List<int> msgContent) { | |||||
debugPrint('用户主动结束翻译管家服务'); | |||||
var res = EndTransHKOrderRes.fromBuffer(msgContent); | |||||
if (res.errorCode == 0) { | |||||
// GroupInfoMgr().updateMemberMsgFree(res.groupId, res.messageFree); | |||||
debugPrint('用户主动结束翻译管家服务 成功: '); | |||||
} else { | |||||
debugPrint('用户主动结束翻译管家服务 失败${res.errorCode}'); | |||||
} | |||||
} | |||||
//消息免打扰请求结果 | //消息免打扰请求结果 | ||||
static handlerGroupIsShowMenberNiceName(List<int> msgContent) { | static handlerGroupIsShowMenberNiceName(List<int> msgContent) { | ||||
print('设置是否显示群昵称'); | print('设置是否显示群昵称'); | ||||
@@ -204,9 +204,11 @@ flutter: | |||||
assets: | assets: | ||||
# assets-generator-begin | # assets-generator-begin | ||||
# assets/images/* | # assets/images/* | ||||
- assets/images/img_realtime_bg2.png | |||||
- assets/images/bofang.png | - assets/images/bofang.png | ||||
- assets/images/ic_quick_search.png | - assets/images/ic_quick_search.png | ||||
- assets/images/img_temp_share.png | - assets/images/img_temp_share.png | ||||
- assets/images/img_realtime_bg1.png | |||||
- assets/images/ic_tag.png | - assets/images/ic_tag.png | ||||
- assets/images/default_nor_avatar.png | - assets/images/default_nor_avatar.png | ||||
- assets/images/server_icon.png | - assets/images/server_icon.png | ||||
@@ -214,6 +216,7 @@ flutter: | |||||
- assets/images/ic_feeds.png | - assets/images/ic_feeds.png | ||||
- assets/images/daily_bg_1.png | - assets/images/daily_bg_1.png | ||||
- assets/images/img_translation_no.png | - assets/images/img_translation_no.png | ||||
- assets/images/img_check_photo_bg.png | |||||
- assets/images/yqm_bg.png | - assets/images/yqm_bg.png | ||||
- assets/images/daily_bg_2.png | - assets/images/daily_bg_2.png | ||||
- assets/images/ext_excel.png | - assets/images/ext_excel.png | ||||