diff --git a/i18n/en-US.json b/i18n/en-US.json index 4dbf198..eee7d78 100644 --- a/i18n/en-US.json +++ b/i18n/en-US.json @@ -1130,7 +1130,7 @@ "my_left_money": "my balance", "money_tips": "H coins can be obtained by recharging or exchange, and cannot be withdrawn", "get_money_detail": "income details", - "hibok_money": "Hibox revenue", + "hibok_money": "Hibok revenue", "charge_h": "exchange h coins ", "charge_tips": "withdrawal rules", "splash_tips1": "variable positioning", @@ -1144,7 +1144,7 @@ "Representation_succes": " your application is successful, and the system has refunded", "system_give": " presented by system ", "exchange_fail": "your withdrawal application failed and has been returned", - "hibok_exchange": "exchange /s1H coins through Hibox income ", + "hibok_exchange": "exchange /s1H coins through Hibok income ", "bind_code_success": "binding invitation code succeeded", "translate_money": " you have spent /s1H coins on manual translation", "system_back": " system return cancelled", @@ -1224,5 +1224,6 @@ "robot_retranslate":"机器重译", "see_original":"查看原文", "forward":"Forward", - "copy_download_url":"复制下载地址" + "copy_download_url":"复制下载地址", + "total_friends_nus":"共/s1位朋友" } \ No newline at end of file diff --git a/i18n/ja-JP.json b/i18n/ja-JP.json index 526cffc..8997dd6 100644 --- a/i18n/ja-JP.json +++ b/i18n/ja-JP.json @@ -1130,7 +1130,7 @@ "my_left_money": "残高", "money_tips": "H幣はチャージや両替で得られます、引き出しができません", "get_money_detail": "所得明細", - "hibok_money": "Hibox收入", + "hibok_money": "Hibok收入", "charge_h": "H幤に両替", "charge_tips": "引き出し規則", "splash_tips1": "百変の位置", @@ -1144,7 +1144,7 @@ "Representation_succes": "申し立ては成功し、システムは返金しました", "system_give": "システム支払い", "exchange_fail": "引き出し申請は失敗しました,返送されました", - "hibok_exchange": "Hibox収入で/s 1 H幤に両替します", + "hibok_exchange": "Hibok収入で/s 1 H幤に両替します", "bind_code_success": "招待コード関連成功", "translate_money": "人工翻訳のために/s1H幤を消費しました", "system_back": "システムキャンセルリターン", @@ -1224,5 +1224,6 @@ "robot_retranslate":"机器重译", "see_original":"查看原文", "forward":"转发", - "copy_download_url":"复制下载地址" + "copy_download_url":"复制下载地址", + "total_friends_nus":"共/s1位朋友" } \ No newline at end of file diff --git a/i18n/ko-KR.json b/i18n/ko-KR.json index b44caeb..8f9efaf 100644 --- a/i18n/ko-KR.json +++ b/i18n/ko-KR.json @@ -1130,7 +1130,7 @@ "my_left_money": "내 잔고", "money_tips": "H화폐는 충전이나 환전으로 얻을 수 있고 현금인출이 불가능합니다.", "get_money_detail": "소득명세", - "hibok_money": "Hibox소득", + "hibok_money": "Hibok소득", "charge_h": "H화폐 교환", "charge_tips": "인출 규칙", "splash_tips1": "많은 편화 위치 改편리한 위치 변환", @@ -1144,7 +1144,7 @@ "Representation_succes": "당신의 진술이 성공하여 시스템이 환불되었습니다.", "system_give": "시스템 증정", "exchange_fail": "당신의 인출 신청이 실패하여, 반송되었습니다.", - "hibok_exchange": "Hibox를 통해 환전/s1H화폐", + "hibok_exchange": "Hibok를 통해 환전/s1H화폐", "bind_code_success": "성공적으로 초대 코드를 묶음", "translate_money": "당신은/s1H화폐를 소모해서 인공번역을 합니다.", "system_back": "시스템 취소 반송", @@ -1224,5 +1224,6 @@ "robot_retranslate":"机器重译", "see_original":"查看原文", "forward":"转发", - "copy_download_url":"复制下载地址" + "copy_download_url":"复制下载地址", + "total_friends_nus":"共/s1位朋友" } \ No newline at end of file diff --git a/i18n/vi-VN.json b/i18n/vi-VN.json index b88df40..b9b50c1 100644 --- a/i18n/vi-VN.json +++ b/i18n/vi-VN.json @@ -1130,7 +1130,7 @@ "my_left_money": "Số dư của tôi", "money_tips": "H-coin có thể nạp trực tiếp hoặc hối đổi, nhưng không thể rút tiền mặt.", "get_money_detail": "Thu nhập cụ thể", - "hibok_money": "Thu nhập Hibox", + "hibok_money": "Thu nhập Hibok", "charge_h": "Hối đổi H-coin", "charge_tips": "Quy tắc rút tiền", "splash_tips1": "Định vị đa dạng", @@ -1144,7 +1144,7 @@ "Representation_succes": "Yêu cầu của bạn đã thành công, và hệ thống đã hoàn tiền", "system_give": "Hệ thống tặng", "exchange_fail": "Yêu cầu rút tiền của bạn thất bại và đã được trả lại", - "hibok_exchange": "Thông qua thu nhập Hibox hối đổi được /s1H coin", + "hibok_exchange": "Thông qua thu nhập Hibok hối đổi được /s1H coin", "bind_code_success": "Liên kết mã mời thành công", "translate_money": "Bạn đã dành /s1H coin để sự dụng người dịch", "system_back": "Hệ thống hủy bỏ trả lại", @@ -1224,5 +1224,6 @@ "robot_retranslate": "机器重译", "see_original": "查看原文", "forward": "转发", - "copy_download_url": "复制下载地址" + "copy_download_url": "复制下载地址", + "total_friends_nus":"共/s1位朋友" } \ No newline at end of file diff --git a/i18n/zh-CN.json b/i18n/zh-CN.json index af64e22..1da7dde 100644 --- a/i18n/zh-CN.json +++ b/i18n/zh-CN.json @@ -1130,7 +1130,7 @@ "my_left_money": "我的余额", "money_tips": "H币可通过充值或兑换方式获得,无法进行提现", "get_money_detail": "收入明细", - "hibok_money": "Hibox收入", + "hibok_money": "Hibok收入", "charge_h": "兑换H币", "charge_tips": "提款规则", "splash_tips1": "百变定位", @@ -1144,7 +1144,7 @@ "Representation_succes": "您的申述成功,系统已退款", "system_give": "系统赠送", "exchange_fail": "您的提款申请失败,已退回", - "hibok_exchange": "通过Hibox收入兑换/s1H币", + "hibok_exchange": "通过Hibok收入兑换/s1H币", "bind_code_success": "成功绑定代理优惠码", "translate_money": "您消耗了/s1H币进行人工翻译", "system_back": "系统取消退回", @@ -1224,5 +1224,6 @@ "robot_retranslate":"机器重译", "see_original":"查看原文", "forward":"转发", - "copy_download_url":"复制下载地址" + "copy_download_url":"复制下载地址", + "total_friends_nus":"共/s1位朋友" } \ No newline at end of file diff --git a/i18n/zh-HK.json b/i18n/zh-HK.json index bd48da2..65e7d09 100644 --- a/i18n/zh-HK.json +++ b/i18n/zh-HK.json @@ -1130,7 +1130,7 @@ "my_left_money": "我的餘額", "money_tips": "H幣可通過充值或兌換方式獲得,無法進行提現", "get_money_detail": "收入明細", - "hibok_money": "Hibox收入", + "hibok_money": "Hibok收入", "charge_h": "兌換H幣", "charge_tips": "提款規則", "splash_tips1": "百變定位", @@ -1144,7 +1144,7 @@ "Representation_succes": "您的申述成功,系統已退款", "system_give": "系統贈送", "exchange_fail": "您的提款申請失敗,已退回", - "hibok_exchange": "通過Hibox收入兌換/s1H幣", + "hibok_exchange": "通過Hibok收入兌換/s1H幣", "bind_code_success": "成功綁定代理優惠碼", "translate_money": "您消耗了/s1H幣進行人工翻譯", "system_back": "系統取消退回", @@ -1224,5 +1224,6 @@ "robot_retranslate":"機器重譯", "see_original":"查看原文", "forward":"转发", - "copy_download_url":"複製下載地址" + "copy_download_url":"複製下載地址", + "total_friends_nus":"共/s1位朋友" } \ No newline at end of file diff --git a/lib/generated/i18n.dart b/lib/generated/i18n.dart index b2cd5b5..399339a 100644 --- a/lib/generated/i18n.dart +++ b/lib/generated/i18n.dart @@ -2295,8 +2295,8 @@ class I18n implements WidgetsLocalizations { String get money_tips => "H coins can be obtained by recharging or exchange, and cannot be withdrawn"; /// "income details" String get get_money_detail => "income details"; - /// "Hibox revenue" - String get hibok_money => "Hibox revenue"; + /// "Hibok revenue" + String get hibok_money => "Hibok revenue"; /// "exchange h coins " String get charge_h => "exchange h coins "; /// "withdrawal rules" @@ -2323,8 +2323,8 @@ class I18n implements WidgetsLocalizations { String get system_give => " presented by system "; /// "your withdrawal application failed and has been returned" String get exchange_fail => "your withdrawal application failed and has been returned"; - /// "exchange /s1H coins through Hibox income " - String get hibok_exchange => "exchange /s1H coins through Hibox income "; + /// "exchange /s1H coins through Hibok income " + String get hibok_exchange => "exchange /s1H coins through Hibok income "; /// "binding invitation code succeeded" String get bind_code_success => "binding invitation code succeeded"; /// " you have spent /s1H coins on manual translation" @@ -2485,6 +2485,8 @@ class I18n implements WidgetsLocalizations { String get forward => "Forward"; /// "复制下载地址" String get copy_download_url => "复制下载地址"; + /// "共/s1位朋友" + String get total_friends_nus => "共/s1位朋友"; } class _I18n_en_US extends I18n { @@ -5890,9 +5892,9 @@ class _I18n_vi_VN extends I18n { /// "Thu nhập cụ thể" @override String get get_money_detail => "Thu nhập cụ thể"; - /// "Thu nhập Hibox" + /// "Thu nhập Hibok" @override - String get hibok_money => "Thu nhập Hibox"; + String get hibok_money => "Thu nhập Hibok"; /// "Hối đổi H-coin" @override String get charge_h => "Hối đổi H-coin"; @@ -5932,9 +5934,9 @@ class _I18n_vi_VN extends I18n { /// "Yêu cầu rút tiền của bạn thất bại và đã được trả lại" @override String get exchange_fail => "Yêu cầu rút tiền của bạn thất bại và đã được trả lại"; - /// "Thông qua thu nhập Hibox hối đổi được /s1H coin" + /// "Thông qua thu nhập Hibok hối đổi được /s1H coin" @override - String get hibok_exchange => "Thông qua thu nhập Hibox hối đổi được /s1H coin"; + String get hibok_exchange => "Thông qua thu nhập Hibok hối đổi được /s1H coin"; /// "Liên kết mã mời thành công" @override String get bind_code_success => "Liên kết mã mời thành công"; @@ -6172,6 +6174,9 @@ class _I18n_vi_VN extends I18n { /// "复制下载地址" @override String get copy_download_url => "复制下载地址"; + /// "共/s1位朋友" + @override + String get total_friends_nus => "共/s1位朋友"; @override TextDirection get textDirection => TextDirection.ltr; @@ -9573,9 +9578,9 @@ class _I18n_zh_HK extends I18n { /// "收入明細" @override String get get_money_detail => "收入明細"; - /// "Hibox收入" + /// "Hibok收入" @override - String get hibok_money => "Hibox收入"; + String get hibok_money => "Hibok收入"; /// "兌換H幣" @override String get charge_h => "兌換H幣"; @@ -9615,9 +9620,9 @@ class _I18n_zh_HK extends I18n { /// "您的提款申請失敗,已退回" @override String get exchange_fail => "您的提款申請失敗,已退回"; - /// "通過Hibox收入兌換/s1H幣" + /// "通過Hibok收入兌換/s1H幣" @override - String get hibok_exchange => "通過Hibox收入兌換/s1H幣"; + String get hibok_exchange => "通過Hibok收入兌換/s1H幣"; /// "成功綁定代理優惠碼" @override String get bind_code_success => "成功綁定代理優惠碼"; @@ -9858,6 +9863,9 @@ class _I18n_zh_HK extends I18n { /// "複製下載地址" @override String get copy_download_url => "複製下載地址"; + /// "共/s1位朋友" + @override + String get total_friends_nus => "共/s1位朋友"; @override TextDirection get textDirection => TextDirection.ltr; @@ -13259,9 +13267,9 @@ class _I18n_zh_CN extends _I18n_zh_HK { /// "收入明细" @override String get get_money_detail => "收入明细"; - /// "Hibox收入" + /// "Hibok收入" @override - String get hibok_money => "Hibox收入"; + String get hibok_money => "Hibok收入"; /// "兑换H币" @override String get charge_h => "兑换H币"; @@ -13301,9 +13309,9 @@ class _I18n_zh_CN extends _I18n_zh_HK { /// "您的提款申请失败,已退回" @override String get exchange_fail => "您的提款申请失败,已退回"; - /// "通过Hibox收入兑换/s1H币" + /// "通过Hibok收入兑换/s1H币" @override - String get hibok_exchange => "通过Hibox收入兑换/s1H币"; + String get hibok_exchange => "通过Hibok收入兑换/s1H币"; /// "成功绑定代理优惠码" @override String get bind_code_success => "成功绑定代理优惠码"; @@ -13544,6 +13552,9 @@ class _I18n_zh_CN extends _I18n_zh_HK { /// "复制下载地址" @override String get copy_download_url => "复制下载地址"; + /// "共/s1位朋友" + @override + String get total_friends_nus => "共/s1位朋友"; @override TextDirection get textDirection => TextDirection.ltr; @@ -16945,9 +16956,9 @@ class _I18n_ko_KR extends I18n { /// "소득명세" @override String get get_money_detail => "소득명세"; - /// "Hibox소득" + /// "Hibok소득" @override - String get hibok_money => "Hibox소득"; + String get hibok_money => "Hibok소득"; /// "H화폐 교환" @override String get charge_h => "H화폐 교환"; @@ -16987,9 +16998,9 @@ class _I18n_ko_KR extends I18n { /// "당신의 인출 신청이 실패하여, 반송되었습니다." @override String get exchange_fail => "당신의 인출 신청이 실패하여, 반송되었습니다."; - /// "Hibox를 통해 환전/s1H화폐" + /// "Hibok를 통해 환전/s1H화폐" @override - String get hibok_exchange => "Hibox를 통해 환전/s1H화폐"; + String get hibok_exchange => "Hibok를 통해 환전/s1H화폐"; /// "성공적으로 초대 코드를 묶음" @override String get bind_code_success => "성공적으로 초대 코드를 묶음"; @@ -17230,6 +17241,9 @@ class _I18n_ko_KR extends I18n { /// "复制下载地址" @override String get copy_download_url => "复制下载地址"; + /// "共/s1位朋友" + @override + String get total_friends_nus => "共/s1位朋友"; @override TextDirection get textDirection => TextDirection.ltr; @@ -20631,9 +20645,9 @@ class _I18n_ja_JP extends I18n { /// "所得明細" @override String get get_money_detail => "所得明細"; - /// "Hibox收入" + /// "Hibok收入" @override - String get hibok_money => "Hibox收入"; + String get hibok_money => "Hibok收入"; /// "H幤に両替" @override String get charge_h => "H幤に両替"; @@ -20673,9 +20687,9 @@ class _I18n_ja_JP extends I18n { /// "引き出し申請は失敗しました,返送されました" @override String get exchange_fail => "引き出し申請は失敗しました,返送されました"; - /// "Hibox収入で/s 1 H幤に両替します" + /// "Hibok収入で/s 1 H幤に両替します" @override - String get hibok_exchange => "Hibox収入で/s 1 H幤に両替します"; + String get hibok_exchange => "Hibok収入で/s 1 H幤に両替します"; /// "招待コード関連成功" @override String get bind_code_success => "招待コード関連成功"; @@ -20916,6 +20930,9 @@ class _I18n_ja_JP extends I18n { /// "复制下载地址" @override String get copy_download_url => "复制下载地址"; + /// "共/s1位朋友" + @override + String get total_friends_nus => "共/s1位朋友"; @override TextDirection get textDirection => TextDirection.ltr; diff --git a/lib/home/friend_page.dart b/lib/home/friend_page.dart index df41e8d..646b7f8 100644 --- a/lib/home/friend_page.dart +++ b/lib/home/friend_page.dart @@ -152,7 +152,7 @@ class _FriendPageState extends State { height: 5, ), Text(I18n.of(context).apply_fro_friends, - textScaleFactor: 1.0, + textScaleFactor: 1.0, style: TextStyle(fontSize: 10, color: const Color(0xFF6A6A6A))), ], @@ -403,7 +403,7 @@ class _FriendPageState extends State { width: 20, child: Text( word, - textScaleFactor: 1.0, + textScaleFactor: 1.0, style: TextStyle( fontSize: 10, color: @@ -467,6 +467,7 @@ class _FriendPageState extends State { return _functionButtons[index]; } } + var result; int _contactIndex = index - _functionButtons.length; bool _isGroupTitle = true; FriendModel _contact = friendList[_contactIndex]; @@ -476,13 +477,31 @@ class _FriendPageState extends State { _isGroupTitle = false; } - return FriendsInfo( + result = FriendsInfo( userId: _contact.friendId, avatar: _contact.avatar, title: Provider.of(context) .getRefName(_contact.friendId, _contact.name), isShowDivder: true, groupTitle: _isGroupTitle ? _contact.nameTag : null); + + if (index == (friendList.length + _functionButtons.length - 1)) { + return result = Column( + children: [ + result, + Container( + height: 50, + color: Colors.white, + child: Text(I18n.of(context) + .total_friends_nus + .replaceFirst('/s1', friendList.length.toString())), + alignment: Alignment.center, + width: Screen.width, + ), + ], + ); + } + return result; }, itemCount: friendList.length + _functionButtons.length, ), @@ -511,8 +530,8 @@ class _FriendPageState extends State { Radius.circular(Constants.IndexLetterBoxRadius)), ), child: Center( - child: - Text(_currentLetter, textScaleFactor: 1.0,style: AppStyles.IndexLetterBoxTextStyle), + child: Text(_currentLetter, + textScaleFactor: 1.0, style: AppStyles.IndexLetterBoxTextStyle), ), ), )); diff --git a/lib/utils/HttpUtil.dart b/lib/utils/HttpUtil.dart index ae16e6b..7661a77 100644 --- a/lib/utils/HttpUtil.dart +++ b/lib/utils/HttpUtil.dart @@ -35,6 +35,7 @@ import 'dart:io'; import '../data/UserData.dart'; import '../utils/TokenMgr.dart'; import 'package:http_parser/http_parser.dart'; +import 'package:chat/utils/friend_list_mgr.dart'; class HttpUtil { static HttpUtil _instance; @@ -217,7 +218,8 @@ class HttpUtil { var fileBytes; if (contentType == 'image' && size > 10240) { - fileBytes = await WidgetUtil.getCompressImg(path,quality: 80,percentage: 80); + fileBytes = + await WidgetUtil.getCompressImg(path, quality: 80, percentage: 80); } else { fileBytes = imgfile.readAsBytesSync(); } @@ -282,7 +284,7 @@ class HttpUtil { print('用户信息resData $resData'); if (resData['code'] == 0) { var info = UserInfo.fromJson(resData['data']); - info.isBlackened + info.isBlackened ? BlacklistMgr.addBlackListMe(info.userId) : BlacklistMgr.removeBalckListMe(info.userId); @@ -543,7 +545,7 @@ class HttpUtil { saveAotuLoginKey(resData, isSaveUserId: false); return; } - + checkFriends(); LocalNotificationUtil.instance.startPush(); //ChatDataMgr().initMsg(); Navigator.of(context) @@ -1200,7 +1202,7 @@ class HttpUtil { //根据经纬度获取用户国家城市 getAddress(double lon, double lat) async { Map data = { - "lon": lon.toString(), + "lon": lon.toString(), "lat": lat.toString(), }; data['sign'] = TokenMgr().getSign(data); @@ -1246,7 +1248,7 @@ class HttpUtil { if (UserData().basicInfo.userId == null) return; Map data = { "userId": UserData().basicInfo.userId, - "lon": lon.toString(), + "lon": lon.toString(), "lat": lat.toString(), }; data['sign'] = TokenMgr().getSign(data); @@ -1277,6 +1279,7 @@ class HttpUtil { callback(resData['data']['UserId']); } } + //拉黑用户 blackUser(int userId, callback) async { Map data = { @@ -1350,6 +1353,7 @@ class HttpUtil { callback(); } } + //向企业服务助手提交信息 Future commitInfoToCompany(MsgModel msgModel) async { Map data = { @@ -1398,4 +1402,19 @@ class HttpUtil { callback(); } } + + //获取好友校验值 + checkFriends() async { + Map data = { + "userId": UserData().basicInfo.userId, + }; + data['sign'] = TokenMgr().getSign(data); + + Response res = await HttpUtil() + .post('friendship/check/userFriends', data: data); + Map resData = res.data; + if (resData['code'] == 0) { + FriendListMgr().checkFromServer(resData['data']); + } + } } diff --git a/lib/utils/friend_list_mgr.dart b/lib/utils/friend_list_mgr.dart index 44494ca..9057962 100644 --- a/lib/utils/friend_list_mgr.dart +++ b/lib/utils/friend_list_mgr.dart @@ -122,8 +122,7 @@ class FriendListMgr { idList.add(model.friendId); } idList.sort(); - String md5 = TokenMgr().generateMd5(idList.join(',')); - if (friendList.length == 0 || md5 != sign) { + if (friendList.length == 0 || TokenMgr().generateMd5(idList.join(',')) != sign) { getFriendListFromServer(); } }