zdc 5 年之前
父節點
當前提交
5e93b7df09
共有 30 個文件被更改,包括 373 次插入319 次删除
  1. +1
    -1
      android/app/agconnect-services.json
  2. +3
    -3
      android/app/build.gradle
  3. +2
    -1
      i18n/en-US.json
  4. +2
    -1
      i18n/ja-JP.json
  5. +2
    -1
      i18n/ko-KR.json
  6. +74
    -73
      i18n/vi-VN.json
  7. +2
    -1
      i18n/zh-CN.json
  8. +2
    -1
      i18n/zh-HK.json
  9. +4
    -5
      ios/Flutter/flutter_export_environment.sh
  10. +12
    -12
      ios/Runner.xcodeproj/project.pbxproj
  11. +2
    -2
      ios/Runner/Info.plist
  12. +1
    -1
      lib/chat/group_chat_view.dart
  13. +4
    -2
      lib/data/chat_data_mgr.dart
  14. +165
    -148
      lib/generated/i18n.dart
  15. +1
    -1
      lib/home/EditData.dart
  16. +4
    -0
      lib/home/IndexPage.dart
  17. +22
    -16
      lib/home/MoneyPage.dart
  18. +1
    -1
      lib/home/MoneyPageOld.dart
  19. +23
    -13
      lib/home/ProfilePage.dart
  20. +2
    -0
      lib/home/Registerpage.dart
  21. +4
    -0
      lib/home/WhiteAndBlackList.dart
  22. +2
    -1
      lib/home/add_friend.dart
  23. +2
    -2
      lib/home/homeMain.dart
  24. +1
    -2
      lib/main.dart
  25. +4
    -3
      lib/models/ChatMsg.dart
  26. +1
    -1
      lib/models/group_info_model.dart
  27. +1
    -1
      lib/utils/CustomUI.dart
  28. +3
    -3
      lib/utils/HttpUtil.dart
  29. +25
    -22
      lib/utils/local_notification_util.dart
  30. +1
    -1
      pubspec.yaml

+ 1
- 1
android/app/agconnect-services.json 查看文件

@@ -24,4 +24,4 @@
},
"region":"SG",
"configuration_version":"1.0"
}
}

+ 3
- 3
android/app/build.gradle 查看文件

@@ -56,9 +56,9 @@ android {
// manifestPlaceholders = [
// AMAP_KEY : "1fd4e93e3b4b13747da41f484c955fe2", /// 高德地图key
// ]
// ndk {
// abiFilters 'armeabi-v7a'
// }
ndk {
abiFilters 'armeabi-v7a'
}
multiDexEnabled true
manifestPlaceholders = [
JPUSH_PKGNAME : 'com.cyhd.henhoandroid',


+ 2
- 1
i18n/en-US.json 查看文件

@@ -1256,5 +1256,6 @@
"new_msg": "/s1条新消息",
"upload1": "上传",
"his_profile": "他的资料",
"her_profile": "她的资料"
"her_profile": "她的资料",
"not_register": "手机号未注册"
}

+ 2
- 1
i18n/ja-JP.json 查看文件

@@ -1256,5 +1256,6 @@
"new_msg": "/s1条新消息",
"upload1": "上传",
"his_profile": "他的资料",
"her_profile": "她的资料"
"her_profile": "她的资料",
"not_register": "手机号未注册"
}

+ 2
- 1
i18n/ko-KR.json 查看文件

@@ -1256,5 +1256,6 @@
"new_msg": "/s1건 새 채팅",
"upload1": "업로드",
"his_profile": "그의 자료",
"her_profile": "그녀의 자료"
"her_profile": "그녀의 자료",
"not_register": "手机号未注册"
}

+ 74
- 73
i18n/vi-VN.json 查看文件

@@ -549,7 +549,7 @@
"question10": "[10] Làm thế nào để hủy tài khoản?",
"answer10": "Nếu hủy tài khoản bạn sẽ không thể đăng nhập vào ứng dụng. Sau này muốn tiếp tục sử dụng bạn phải đăng ký lại. Vui lòng xem xét cẩn thận, nếu bạn vẫn quyết định hủy tài khoản của mình vui lòng trả lời theo số thứ tự【12】 liên hệ hotline hỗ trợ người dùng.",
"question11": "[11]Quên mật khẩu, làm thế nào?",
"answer11": "Đối với người dùng đăng ký tài khoản bằng số điện thoại di động hoặc đã liên kết số điện thoại di động, có thể vào trang đăng nhập, chọn \"quên mật khẩu\" để cài đặt lại mật khẩu.,Đối với người dùng chưa liên kết số điện thoại di động, xin vui lòng liên kêt số điện thoại di động, sau đó cài đặt lại mật khẩu mới.",
"answer11": "Đối với người dùng đăng ký tài khoản bằng số điện thoại di động hoặc đã liên kết số điện thoại di động, có thể vào trang đăng nhập, chọn \"quên mật khẩu\"để cài đặt lại mật khẩu.,Đối với người dùng chưa liên kết số điện thoại di động, xin vui lòng liên kêt số điện thoại di động, sau đó cài đặt lại mật khẩu mới.",
"question12": "[12]Các vấn đề khác/ chuyển đến hotline nhân viên hỗ trợ khách hàng.",
"answer12": "Chào bạn, chúng tôi có thể giúp gì cho bạn? Xin nêu vấn đề của bạn (thời gian làm việc của bộ phận chăm sóc khách hàng 08:00 hôm nay- 02:00AM hôm sau, do số người cần tư vấn khá đông, bạn vui lòng đợi trong giây lát.)",
"certification_center": "Trung tâm xác thực",
@@ -610,7 +610,7 @@
"hide_distance": "Ẩn khoảng cách giữa tôi với người khác",
"hide_account": "Ẩn tài khoản của tôi với người khác",
"chat_setting": "Hạn chế trò chuyện trực tuyến",
"chat_me": "Cho phép người dùng \"được phép trò chuyện\" trò chuyện trực tuyến với tôi",
"chat_me": "Cho phép người dùng \"được phép trò chuyện\"trò chuyện trực tuyến với tôi",
"successfully_saved": "Đã lưu thành công",
"on_dynamic": "Bạn chưa đăng bất kỳ cập nhật nào",
"release_dynamics": "Đăng hoạt động gần đây",
@@ -879,7 +879,7 @@
"UG_LINE0": "Hibok giấy phép và thỏa thuận dịch vụ",
"UG_LINE1": "[Đầu tiên và giới thiệu]",
"UG_LINE2": "Qianhai Youlong Technology Co., Ltd. (sau đây gọi tắt là Cy Qianhai Youlong Technology Co., Ltd.) sau đây nhắc nhở người dùng đọc kỹ và hiểu đầy đủ Thỏa thuận dịch vụ này (sau đây gọi là Thỏa thuận ràng buộc). Người dùng nên đọc kỹ và hiểu đầy đủ Thỏa thuận này. Các điều khoản, bao gồm miễn trừ hoặc giới hạn trách nhiệm pháp lý của Qianhai Youlong Technology Co., Ltd. và các hạn chế về quyền của người dùng. Vui lòng đọc kỹ và chọn chấp nhận hoặc không chấp nhận Thỏa thuận này (trẻ vị thành niên phải có người giám hộ hợp pháp kèm theo). Bạn không được phép đăng ký, đăng nhập hoặc sử dụng các dịch vụ trong Thỏa thuận này trừ khi bạn chấp nhận tất cả các điều khoản của Thỏa thuận này. Việc đăng ký, đăng nhập, sử dụng, v.v. của bạn sẽ được coi là chấp nhận Thỏa thuận này và bạn đồng ý bị ràng buộc bởi các điều khoản của Thỏa thuận này.",
"UG_LINE3": "Thỏa thuận này là một thỏa thuận giữa bạn (sau đây gọi là \"Người dùng\" và Qianhai Youlong Technology Co., Ltd. về việc đăng ký, đăng ký và sử dụng \"dịch vụ Hibok\". Thỏa thuận này mô tả mối quan hệ giữa Qianhai Youlong Technology Co., Ltd. và Người dùng về \"dịch vụ Hibok\". Quyền và nghĩa vụ. Người dùng có nghĩa là cá nhân hoặc tổ chức đăng ký, đăng nhập, sử dụng và duyệt Dịch vụ. Việc bạn chấp nhận Thỏa thuận này tuân theo tất cả các điều khoản và điều kiện, bao gồm mọi sửa đổi do Qianhai Youlong Technology Co., Ltd. thực hiện đối với mọi Điều khoản dịch vụ bất kỳ lúc nào. Thỏa thuận có thể được Qianhai Youlong Technology Co., Ltd. cập nhật bất cứ lúc nào. Các điều khoản cập nhật của thỏa thuận sẽ được thay thế bằng các điều khoản ban đầu của thỏa thuận mà không cần thông báo trước. Người dùng có thể kiểm tra các điều khoản của thỏa thuận mới nhất trong ứng dụng này. Sau khi Qianhai Youlong Technology Co., Ltd. sửa đổi các điều khoản của thỏa thuận, Nếu người dùng không chấp nhận các điều khoản sửa đổi, xin vui lòng ngừng sử dụng nó ngay lập tức dịch vụ Cyhd TNHH cung cấp, người dùng tiếp tục sử dụng dịch vụ Cyhd TNHH lời đề nghị sẽ được coi là đã chấp nhận thỏa thuận sửa đổi.",
"UG_LINE3": "Thỏa thuận này là một thỏa thuận giữa bạn (sau đây gọi là \"Người dùng\"và Qianhai Youlong Technology Co., Ltd. về việc đăng ký, đăng ký và sử dụng \"dịch vụ Hibok\". Thỏa thuận này mô tả mối quan hệ giữa Qianhai Youlong Technology Co., Ltd. và Người dùng về \"dịch vụ Hibok\". Quyền và nghĩa vụ. Người dùng có nghĩa là cá nhân hoặc tổ chức đăng ký, đăng nhập, sử dụng và duyệt Dịch vụ. Việc bạn chấp nhận Thỏa thuận này tuân theo tất cả các điều khoản và điều kiện, bao gồm mọi sửa đổi do Qianhai Youlong Technology Co., Ltd. thực hiện đối với mọi Điều khoản dịch vụ bất kỳ lúc nào. Thỏa thuận có thể được Qianhai Youlong Technology Co., Ltd. cập nhật bất cứ lúc nào. Các điều khoản cập nhật của thỏa thuận sẽ được thay thế bằng các điều khoản ban đầu của thỏa thuận mà không cần thông báo trước. Người dùng có thể kiểm tra các điều khoản của thỏa thuận mới nhất trong ứng dụng này. Sau khi Qianhai Youlong Technology Co., Ltd. sửa đổi các điều khoản của thỏa thuận, Nếu người dùng không chấp nhận các điều khoản sửa đổi, xin vui lòng ngừng sử dụng nó ngay lập tức dịch vụ Cyhd TNHH cung cấp, người dùng tiếp tục sử dụng dịch vụ Cyhd TNHH lời đề nghị sẽ được coi là đã chấp nhận thỏa thuận sửa đổi.",
"UG_LINE4": "Đầu tiên, việc sử dụng các quy tắc",
"UG_LINE5": "1、 Người dùng hoàn toàn hiểu và đồng ý rằng chỉ cung cấp nền tảng chia sẻ, truyền tải và thu thập thông tin cho người dùng. Người dùng phải chịu trách nhiệm cho tất cả các hành động trong tài khoản đã đăng ký, bao gồm nhưng không giới hạn bất kỳ nội dung nào bạn truyền và bất kỳ kết quả nào. .",
"UG_LINE6": "2、 Qianhai Youlong Technology Co., Ltd. không chịu trách nhiệm cho bất kỳ nội dung nào được truyền tải bởi hoặc thông qua các Dịch vụ không phản ánh quan điểm hoặc chính sách của Qianhai Youlong Technology Co., Ltd..",
@@ -914,7 +914,7 @@
"UG_LINE35": "1. Người dùng vi phạm các quy định của Thỏa thuận này hoặc các điều khoản dịch vụ có liên quan, dẫn đến hoặc phát sinh từ bất kỳ khiếu nại, khiếu nại hoặc tổn thất nào được yêu cầu bởi bất kỳ bên thứ ba nào, bao gồm phí luật sư hợp lý và người dùng đồng ý bồi thường cho Qianhai Youlong Technology Co., Ltd. và công ty đối tác, các chi nhánh, Và bảo vệ nó khỏi thiệt hại.",
"UG_LINE36": "2. Qianhai Youlong Technology Co., Ltd. và các đối tác không chịu trách nhiệm cho bất kỳ tổn thất nào của người dùng do lỗi đường truyền, sự cố kỹ thuật, mạng, lỗi máy tính, mất ổn định hệ thống và các nguyên nhân bất khả kháng khác của các bên thứ ba như bộ phận viễn thông.",
"UG_LINE37": "3, do sự kiện thất bại bất khả kháng kỹ thuật ảnh hưởng đến hoạt động bình thường của dịch vụ, Qianhai Youlong Technology Co., Ltd. và cam kết đối tác với các đơn vị có liên quan trong lần đầu tiên với việc xử lý kịp thời sửa chữa, nhưng tất cả các tổn thất của người sử dụng và do đó, Qianhai Youlong Technology Co., Ltd. và Đơn vị đối tác không chịu trách nhiệm.",
"UG_LINE38": "4, các dịch vụ tương tự như hầu hết các dịch vụ Internet, tùy thuộc vào các yếu tố bao gồm, nhưng không giới hạn người sử dụng lý trí, chất lượng dịch vụ mạng, xã hội và sự khác biệt về môi trường chưa bị nhiễm khuẩn với một loạt các vấn đề an ninh, chẳng hạn như những người khác sử dụng dữ liệu của người dùng, dẫn đến trong cuộc sống thực Quấy rối, phần mềm khác được tải xuống hoặc cài đặt bởi người dùng hoặc các trang web khác được truy cập có chứa \"Trojan Horse\" và các vi-rút khác, đe dọa đến tính bảo mật của thông tin và dữ liệu máy tính của người dùng, do đó ảnh hưởng đến việc sử dụng dịch vụ thông thường. Người dùng nên tăng cường bảo mật thông tin và nhận thức bảo vệ thông tin người dùng và chú ý tăng cường bảo vệ mật khẩu để tránh mất mát và quấy rối.",
"UG_LINE38": "4, các dịch vụ tương tự như hầu hết các dịch vụ Internet, tùy thuộc vào các yếu tố bao gồm, nhưng không giới hạn người sử dụng lý trí, chất lượng dịch vụ mạng, xã hội và sự khác biệt về môi trường chưa bị nhiễm khuẩn với một loạt các vấn đề an ninh, chẳng hạn như những người khác sử dụng dữ liệu của người dùng, dẫn đến trong cuộc sống thực Quấy rối, phần mềm khác được tải xuống hoặc cài đặt bởi người dùng hoặc các trang web khác được truy cập có chứa \"Trojan Horse\"và các vi-rút khác, đe dọa đến tính bảo mật của thông tin và dữ liệu máy tính của người dùng, do đó ảnh hưởng đến việc sử dụng dịch vụ thông thường. Người dùng nên tăng cường bảo mật thông tin và nhận thức bảo vệ thông tin người dùng và chú ý tăng cường bảo vệ mật khẩu để tránh mất mát và quấy rối.",
"UG_LINE39": "5. Người dùng phải hiểu rằng việc sử dụng dịch vụ này có thể bị ảnh hưởng bởi các yếu tố không ổn định trong các liên kết khác nhau do các dịch vụ Internet. Do đó, dịch vụ có nguy cơ bị gián đoạn dịch vụ hoặc không đáp ứng yêu cầu của người dùng do bất khả kháng, virus máy tính hoặc tin tặc tấn công, mất ổn định hệ thống, vị trí người dùng, tắt máy và bất kỳ lý do công nghệ, internet, đường truyền thông nào khác. Người dùng chịu trách nhiệm cho các rủi ro trên và Qianhai Youlong Technology Co., Ltd. không đảm bảo. Qianhai Youlong Technology Co., Ltd. không chịu trách nhiệm cho việc người dùng không thể gửi và nhận thông tin đọc hoặc nhận thông tin không chính xác.",
"UG_LINE40": "6, người dùng phải hiểu, có sử dụng quy trình dịch vụ này, trong đó có nội dung đe dọa, phỉ báng, xúc phạm hoặc bất hợp pháp hay hành vi của bất kỳ người nào khác, hoặc vi phạm quyền của người khác (kể cả sở hữu trí tuệ) của Qianhai Youlong Technology Co., Ltd. và công ty đối tác không thực hiện bất kỳ loại bảo đảm nào cho dịch vụ, dù rõ ràng hay ngụ ý, bao gồm tất cả tính xác thực thông tin liên quan, tính thương mại, phù hợp với một số nhất định Việc sử dụng cụ thể, tiêu đề và không vi phạm các bảo đảm và điều kiện ngụ ý sẽ không chịu trách nhiệm cho bất kỳ thiệt hại trực tiếp, gián tiếp, ngẫu nhiên, đặc biệt hoặc hậu quả nào từ việc sử dụng Dịch vụ không đúng hoặc bất hợp pháp của Người dùng.",
"UG_LINE41": "7.Nội dung thông tin được xác định bởi Qianhai Youlong Technology Co., Ltd. bao gồm: văn bản, phần mềm, âm thanh, hình ảnh, video, đồ họa, tất cả nội dung trong quảng cáo, thông tin thương mại do Qianhai Youlong Technology Co., Ltd. cung cấp cho người dùng, tất cả đều thuộc bản quyền, nhãn hiệu và các quyền sở hữu trí tuệ khác. Và việc bảo vệ luật sở hữu. Do đó, người dùng chỉ có thể được sử dụng theo Qianhai Youlong Technology Co., Ltd. và các nhà quảng cáo có thẩm quyền của nội dung, nhưng không sao chép trái phép, sửa đổi, biên soạn này. Những nội dung, hoặc tạo ra các sản phẩm phái sinh nội dung liên quan đến.",
@@ -1044,7 +1044,7 @@
"add_friends_tips": "Đơn xin xác thực của bạn đã gửi và chờ đối phương thông qua",
"i_am": "Tôi là /s1",
"agree": "Cho phép",
"privacyAgreement": "\"Hi\"Bạn cần đồng ý với \"Thỏa thuận quyền riêng tư\" để sử dụng",
"privacyAgreement": "\"Hi\"Bạn cần đồng ý với \"Thỏa thuận quyền riêng tư\"để sử dụng",
"privacy": "Thỏa thuận quyền riêng tư",
"notification_addfriend": "Hi! có người yêu cầu thêm bạn, xem đó là ai",
"distance_long": "Thêm bạn bè cần đối diện với nhau mới thêm được ha",
@@ -1106,25 +1106,25 @@
"total_members": "Tổng /s1 người",
"qr_outtime": "Mã QR đã hết hạn",
"no_goupr_info": "Không có thông tin nhóm này",
"you_invite": " Bạn đã mời /s1 tham gia trò chuyện nhóm",
"you_invite": "Bạn đã mời /s1 tham gia trò chuyện nhóm",
"invite_you": "Bạn đã được mời vào trò chuyện nhóm này bởi /s1",
"invite_someone": "/s1 đã mời /s2 tham gia trò chuyện nhóm",
"you": "Bạn",
"delete_group": "/s1 đã xóa /s2 khỏi trò chuyện nhóm này",
"you_group_owner": " Bạn đã trở thành chủ nhóm mới của nhóm ",
"you_group_owner": "Bạn đã trở thành chủ nhóm mới của nhóm ",
"someone_group_owner": "/s1 đã trở thành chủ nhóm mới của nhóm này",
"change_group_owner1": " Tên nhóm được đổi thành /s1",
"change_group_owner1": "Tên nhóm được đổi thành /s1",
"update_group_announce": "Thông báo nhóm đã được cập nhật",
"you_qr": "Bạn tham gia trò chuyện nhóm bằng cách quét mã QR",
"others_qr": " /s1 Tham gia trò chuyện nhóm bằng cách quét mã QR",
"invite_confirm": "\"/s1\" muốn mời /s2 bạn bè vào nhóm trò chuyện \\$ Đi để xác nhận \\$",
"want_invite_confirm": " \"/s1\" Muốn mời \"/s2\" để tham gia trò chuyện nhóm",
"join_group_confirm": "\"/s1\" Tham gia trò chuyện nhóm Xác nhận",
"others_qr": "/s1 Tham gia trò chuyện nhóm bằng cách quét mã QR",
"invite_confirm": "\"/s1\"muốn mời /s2 bạn bè vào nhóm trò chuyện \\$ Đi để xác nhận \\$",
"want_invite_confirm": "\"/s1\"Muốn mời \"/s2\"để tham gia trò chuyện nhóm",
"join_group_confirm": "\"/s1\"Tham gia trò chuyện nhóm Xác nhận",
"you_invite_gourp": "Bạn đã được mời vào một cuộc trò chuyện nhóm bởi /s1",
"someone_join_group": " \"/s1\"Tham gia trò chuyện nhóm ",
"group_setting_tips1": " Chủ nhóm đã bật \"Xác nhận lời mời trò chuyện nhóm \", các thành viên nhóm cần xác nhận từ chủ nhóm để mời bạn bè vào nhóm",
"someone_join_group": "\"/s1\"Tham gia trò chuyện nhóm ",
"group_setting_tips1": "Chủ nhóm đã bật \"Xác nhận lời mời trò chuyện nhóm \", các thành viên nhóm cần xác nhận từ chủ nhóm để mời bạn bè vào nhóm",
"group_setting_tips2": "Chủ nhóm đã khôi phục phương thức tham gia nhóm mặc định",
"members_max": " Số thành viên nhóm đã đạt đến giới hạn",
"members_max": "Số thành viên nhóm đã đạt đến giới hạn",
"group_max": "Số lượng nhóm đã đạt đến giới hạn",
"my_money_info": "Biến động số dư",
"my_left_money": "Hiện có",
@@ -1155,25 +1155,25 @@
"daily_translate_voucher": "Phiếu phiên dịch",
"msg_notice": "Tin nhắn thông báo ",
"select_notice_people": "Chọn người nhắc nhở",
"search_phone": " Tìm số điện thoại",
"not_have_user": " Người dùng không tồn tại ",
"search_phone": "Tìm số điện thoại",
"not_have_user": "Người dùng không tồn tại ",
"not_add_Myself": "Bạn không thể thêm chính mình",
"you_are_blaklisted": " Đối phương đã đưa bạn vào danh sách đen",
"confrim_recovery": " Có chắc là bạn muốn phục hồi ảnh đã tiêu hủy không?\n (người dùng đã xem có thể xem lại lần nữa)",
"send_to": " Gửi tới ",
"you_are_blaklisted": "Đối phương đã đưa bạn vào danh sách đen",
"confrim_recovery": "Có chắc là bạn muốn phục hồi ảnh đã tiêu hủy không?\n (người dùng đã xem có thể xem lại lần nữa)",
"send_to": "Gửi tới ",
"search_plach": "Rà soát địa điểm",
"finding_place": " Tìm địa điểm",
"finding_place": "Tìm địa điểm",
"real_time_helper": "Hỗ trợ nhanh",
"translation_butler": "Dịch vụ dịch thuật \nthời gian thực",
"travel_butler": " Trợ lý chỉ đường",
"travel_butler": "Trợ lý chỉ đường",
"translation_butler_tips": "Trợ lý dịch thuật giúp bạn giải quyết trở ngại ngôn ngữ",
"choose_language": " Vui lòng chọn một ngôn ngữ để dịch ",
"choose_language": "Vui lòng chọn một ngôn ngữ để dịch ",
"translation_butler_rules": "Gọi trợ lý cần trả H-coin, thời gian sử dụng là 5 phút",
"translation_butler_scenes": "Tình cảnh hiện nay của bạn",
"translation_butler_scenes_tips": "Dữ liệu cho thấy, những người dùng đã xác nhận tình cảnh và mô tả rõ vấn đề sẽ được hỗ trợ hiệu quả hơn.",
"translation_butler_call": "Gọi trợ lý",
"travel_my_location": " Vị trí của tôi",
"travel_go_where": " Bạn muốn đi đâu ",
"travel_my_location": "Vị trí của tôi",
"travel_go_where": "Bạn muốn đi đâu ",
"travel_tips": "Định vị không đúng, bạn nên bấm \"kiểm tra khoảng cách\"",
"travel_check_distance": "Kiểm tra khoảng cách",
"travel_check_distance_result": "Theo vị trí định vị, hiện nay bạn cách mục tiêu có:",
@@ -1182,79 +1182,80 @@
"translation_butler_wait_people": "Số người đang xếp hàng",
"translation_butler_wait_people_unit": "Người",
"translation_butler_wait_time": "Bạn còn phải đợi",
"translation_butler_already_wait": " Đã Chờ",
"translation_butler_already_wait": "Đã Chờ",
"translation_butler_cancel": "Hủy dịch vụ",
"translation_butler_wait_service": "Chờ dịch vụ",
"translation_butler_dialog_title": "Hỗ trợ nhanh- trợ lý phiên dịch",
"translation_butler_dialog_order": "Bạn đã đặt dịch vụ qua hệ thống",
"translation_butler_dialog_start_service": "Dịch vụ bắt đầu",
"translation_butler_dialog_start_chat": " Bắt đầu trò chuyện ",
"translation_butler_dialog_start_chat": "Bắt đầu trò chuyện ",
"translation_butler_coin_time": "/s1H coin //s2 phút ",
"translation_butler_end_service": "Dịch vụ kết thúc",
"translation_butler_start_service": "Bắt đầu dịch vụ",
"translation_butler_service_end": "Kết thúc dịch vụ",
"translation_butler_evaluation": " Đánh giá",
"translation_butler_evaluation": "Đánh giá",
"translation_butler_start_tips": "Dịch vụ phiên dịch đã bắt đầu, hy vọng có thể khiến bạn hài lòng",
"translation_butler_evaluation_tips": "Dịch vụ phiên dịch đã kết thúc, hãy cho chúng tôi biết nếu bạn cảm thấy hài lòng.",
"translation_butler_dialog_tips": " Bạn có hài lòng với dịch vụ này?",
"translation_butler_dialog_yes": " Hài lòng ",
"translation_butler_dialog_no": " Không hài lòng ",
"translation_butler_dialog_submit": " Gửi đánh giá",
"translation_butler_dialog_tips": "Bạn có hài lòng với dịch vụ này?",
"translation_butler_dialog_yes": "Hài lòng ",
"translation_butler_dialog_no": "Không hài lòng ",
"translation_butler_dialog_submit": "Gửi đánh giá",
"translation_pos_1": "Kiên nhẫn",
"translation_pos_2": " Nhanh chóng kịp thời ",
"translation_pos_3": " Lịch sự nhiệt tình ",
"translation_pos_2": "Nhanh chóng kịp thời ",
"translation_pos_3": "Lịch sự nhiệt tình ",
"translation_pos_4": "Giao tiếp trôi chảy",
"translation_pos_5": "Dịch quá đỉnh",
"translation_neg1": " Đe dọa quấy rối ",
"translation_neg1": "Đe dọa quấy rối ",
"translation_neg2": "Giao tiếp khó khăn",
"translation_neg3": "Phản hồi chậm",
"translation_neg4": " Thái độ không tốt ",
"translation_neg4": "Thái độ không tốt ",
"translation_neg5": "Phiên dịch không tốt",
"translation_scenes_1": "Sân bay/ bến xe",
"translation_scenes_2": " Nhà hàng / khách sạn ",
"translation_scenes_3": " KTV/ Bar ",
"translation_scenes_4": " Khác ",
"translation_scenes_2": "Nhà hàng / khách sạn ",
"translation_scenes_3": "KTV/ Bar ",
"translation_scenes_4": "Khác ",
"file": "file",
"max_file": "File lớn hơn /s1M",
"translation_input_limit": "Bạn còn có thể nhập /s1 ký tự",
"translation_more_desc": "Mô tả thêm ",
"feedback_assistant": "Trợ giúp phản hồi",
"feedback_tips": "Nếu gặp phải vấn đề bạn có thể phản hồi với chúng tôi!",
"man_retranslate": " Người dịch lại",
"robot_retranslate": " Robot dịch lại",
"see_original": " Xem bản gốc ",
"forward": " Chia sẻ",
"copy_download_url": " Copy link tải",
"total_friends_nus": " Tổng có /s1 bạn bè chung ",
"hava_error_photo": " Có ảnh vi phạm quy định",
"translation_butler_evaluation_tips2": " Dịch vụ dịch thuật đã kết thúc và bạn đã làm việc vất vả rồi. Vui lòng luôn ở trạng thái online, chú ý thông báo đơn hàng mới",
"translation_butler_push_order_time": " Thời gian: Hôm nay /s1 Tổng thời gian: ",
"translation_butler_push_order_time2": " Thời gian đặt hàng: hôm nay /s1 Tổng thời gian chờ:",
"translation_butler_title3": " Đại thần chuyên quyền ",
"translation_butler_start_receive_order": " Bắt đầu bật chế độ tiếp nhận đơn",
"translation_butler_stop_receive_order": " Chưa bật chế độ tiếp nhận đơn",
"translation_butler_stop_tips": " Người phiên dịch không thể nhập tạo dịch vụ",
"translation_butler_scenes2": " Tình cảnh:",
"man_retranslate": "Người dịch lại",
"robot_retranslate": "Robot dịch lại",
"see_original": "Xem bản gốc ",
"forward": "Chia sẻ",
"copy_download_url": "Copy link tải",
"total_friends_nus": "Tổng có /s1 bạn bè chung ",
"hava_error_photo": "Có ảnh vi phạm quy định",
"translation_butler_evaluation_tips2": "Dịch vụ dịch thuật đã kết thúc và bạn đã làm việc vất vả rồi. Vui lòng luôn ở trạng thái online, chú ý thông báo đơn hàng mới",
"translation_butler_push_order_time": "Thời gian: Hôm nay /s1 Tổng thời gian: ",
"translation_butler_push_order_time2": "Thời gian đặt hàng: hôm nay /s1 Tổng thời gian chờ:",
"translation_butler_title3": "Đại thần chuyên quyền ",
"translation_butler_start_receive_order": "Bắt đầu bật chế độ tiếp nhận đơn",
"translation_butler_stop_receive_order": "Chưa bật chế độ tiếp nhận đơn",
"translation_butler_stop_tips": "Người phiên dịch không thể nhập tạo dịch vụ",
"translation_butler_scenes2": "Tình cảnh:",
"translation_butler_last_item_start": "[Bắt đầu dịch vụ phiên dịch]",
"translation_butler_last_item_end": "[Kết thúc dịch vụ phiên dịch]",
"travel_start": " Điểm bắt đầu ",
"travel_end": " Điểm kết thúc ",
"translation_butler_order_time_out": " Dịch vụ phiên dịch hết giờ đã bị hủy ",
"translation_butler_order_close_tips": " Khi dịch vụ phiên dịch chưa kết thúc, người dịch không thể chủ động kết thúc",
"translation_butler_order_close_tips2": " Bạn có phải muốn kết thúc dịch vụ dịch thuật?",
"translation_butler_order_failed": " Đơn hàng gửi thất bại ",
"translation_butler_order_failed2": " Yêu cầu dịch vụ thất bại, mạng bất thường ",
"translation_butler_introduction": " Bạn đang lo lắng đối phương nghe không hiểu bạn nói gì sao? Mời bạn chọn ngôn ngữ bạn cần dịch,bạn hãy nói lại vấn đề bạn gặp phải,trợ lý dịch thuật sẽ phục vụ bạn mọi lúc mọi nơi ",
"travel_introduction": " Có phải cách đích càng ngày càng xa tốt? Chọn điểm bắt đầu và điểm kết thúc của bạn, để trợ lý chỉ đường giúp bạn đo khoảng cách chính xác",
"splash_tips_content4": " Để chỉ đưởng và giao tiếp đơn giản hơn",
"splash_tips_content5": " Vô ưu du lịch của bạn",
"shock_notice": " Thông báo rung ",
"max_upload_size": " Tải lên tối đa /s1 ảnh ",
"travel_tips2": " Trợ lý chỉ đường giúp bạn giải quyết vấn đề về ngôn ngữ, gọi xe ,đi sai đường ",
"new_friends_tips": " Bây giờ chúng ta có thể bắt đầu trò chuyện rồi!",
"msg_tips": " Điền vào thông tin của bạn để được theo dõi nhiều hơn,xin điền vào đây",
"travel_start": "Điểm bắt đầu ",
"travel_end": "Điểm kết thúc ",
"translation_butler_order_time_out": "Dịch vụ phiên dịch hết giờ đã bị hủy ",
"translation_butler_order_close_tips": "Khi dịch vụ phiên dịch chưa kết thúc, người dịch không thể chủ động kết thúc",
"translation_butler_order_close_tips2": "Bạn có phải muốn kết thúc dịch vụ dịch thuật?",
"translation_butler_order_failed": "Đơn hàng gửi thất bại ",
"translation_butler_order_failed2": "Yêu cầu dịch vụ thất bại, mạng bất thường ",
"translation_butler_introduction": "Bạn đang lo lắng đối phương nghe không hiểu bạn nói gì sao? Mời bạn chọn ngôn ngữ bạn cần dịch,bạn hãy nói lại vấn đề bạn gặp phải,trợ lý dịch thuật sẽ phục vụ bạn mọi lúc mọi nơi ",
"travel_introduction": "Có phải cách đích càng ngày càng xa tốt? Chọn điểm bắt đầu và điểm kết thúc của bạn, để trợ lý chỉ đường giúp bạn đo khoảng cách chính xác",
"splash_tips_content4": "Để chỉ đưởng và giao tiếp đơn giản hơn",
"splash_tips_content5": "Vô ưu du lịch của bạn",
"shock_notice": "Thông báo rung ",
"max_upload_size": "Tải lên tối đa /s1 ảnh ",
"travel_tips2": "Trợ lý chỉ đường giúp bạn giải quyết vấn đề về ngôn ngữ, gọi xe ,đi sai đường ",
"new_friends_tips": "Bây giờ chúng ta có thể bắt đầu trò chuyện rồi!",
"msg_tips": "Điền vào thông tin của bạn để được theo dõi nhiều hơn,xin điền vào đây",
"new_msg": "/s1 tin nhắn mới ",
"upload1": " Tải lên ",
"his_profile": " Thông tin của anh ấy ",
"her_profile": " Thông tin của chị ấy "
"upload1": "Tải lên ",
"his_profile": "Thông tin của anh ấy ",
"her_profile": "Thông tin của chị ấy ",
"not_register": "手机号未注册"
}

+ 2
- 1
i18n/zh-CN.json 查看文件

@@ -1256,5 +1256,6 @@
"new_msg": "/s1条新消息",
"upload1": "上传",
"his_profile": "他的资料",
"her_profile": "她的资料"
"her_profile": "她的资料",
"not_register": "手机号未注册"
}

+ 2
- 1
i18n/zh-HK.json 查看文件

@@ -1256,5 +1256,6 @@
"new_msg": "/s1條新消息",
"upload1": "上傳",
"his_profile": "他的資料",
"her_profile": "她的資料"
"her_profile": "她的資料",
"not_register": "手機號未註冊"
}

+ 4
- 5
ios/Flutter/flutter_export_environment.sh 查看文件

@@ -2,10 +2,9 @@
# This is a generated file; do not edit or check into version control.
export "FLUTTER_ROOT=/Users/random/sdk/flutter_sdk"
export "FLUTTER_APPLICATION_PATH=/Users/random/code/flutter/project/hibok"
export "FLUTTER_TARGET=/Users/random/code/flutter/project/hibok/lib/main.dart"
export "FLUTTER_TARGET=lib/main.dart"
export "FLUTTER_BUILD_DIR=build"
export "SYMROOT=${SOURCE_ROOT}/../build/ios"
export "FLUTTER_FRAMEWORK_DIR=/Users/random/sdk/flutter_sdk/bin/cache/artifacts/engine/ios"
export "FLUTTER_BUILD_NAME=1.1.1"
export "FLUTTER_BUILD_NUMBER=16"
export "TRACK_WIDGET_CREATION=true"
export "FLUTTER_FRAMEWORK_DIR=/Users/random/sdk/flutter_sdk/bin/cache/artifacts/engine/ios-release"
export "FLUTTER_BUILD_NAME=1.1.2"
export "FLUTTER_BUILD_NUMBER=17"

+ 12
- 12
ios/Runner.xcodeproj/project.pbxproj 查看文件

@@ -560,7 +560,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 14;
CURRENT_PROJECT_VERSION = 15;
DEVELOPMENT_TEAM = QJ9M3998Q6;
EMBEDDED_CONTENT_CONTAINS_SWIFT_CODE = YES;
ENABLE_BITCODE = NO;
@@ -575,7 +575,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.1.0;
MARKETING_VERSION = 1.1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.chengyouhudong.hibok;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -598,7 +598,7 @@
CODE_SIGN_ENTITLEMENTS = "Share Extension/Share Extension.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 14;
CURRENT_PROJECT_VERSION = 15;
DEVELOPMENT_TEAM = QJ9M3998Q6;
EMBEDDED_CONTENT_CONTAINS_SWIFT_CODE = NO;
ENABLE_BITCODE = YES;
@@ -606,7 +606,7 @@
INFOPLIST_FILE = "Share Extension/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 1.1.0;
MARKETING_VERSION = 1.1.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "";
@@ -632,7 +632,7 @@
CODE_SIGN_ENTITLEMENTS = "Share Extension/Share Extension.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 14;
CURRENT_PROJECT_VERSION = 15;
DEVELOPMENT_TEAM = QJ9M3998Q6;
EMBEDDED_CONTENT_CONTAINS_SWIFT_CODE = NO;
ENABLE_BITCODE = YES;
@@ -640,7 +640,7 @@
INFOPLIST_FILE = "Share Extension/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 1.1.0;
MARKETING_VERSION = 1.1.2;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.chengyouhudong.hibok.share;
@@ -664,7 +664,7 @@
CODE_SIGN_ENTITLEMENTS = "Share Extension/Share ExtensionProfile.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 14;
CURRENT_PROJECT_VERSION = 15;
DEVELOPMENT_TEAM = QJ9M3998Q6;
EMBEDDED_CONTENT_CONTAINS_SWIFT_CODE = NO;
ENABLE_BITCODE = YES;
@@ -672,7 +672,7 @@
INFOPLIST_FILE = "Share Extension/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
MARKETING_VERSION = 1.1.0;
MARKETING_VERSION = 1.1.2;
MTL_FAST_MATH = YES;
OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.chengyouhudong.hibok.share;
@@ -802,7 +802,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 14;
CURRENT_PROJECT_VERSION = 15;
DEVELOPMENT_TEAM = QJ9M3998Q6;
EMBEDDED_CONTENT_CONTAINS_SWIFT_CODE = YES;
ENABLE_BITCODE = NO;
@@ -817,7 +817,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.1.0;
MARKETING_VERSION = 1.1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.chengyouhudong.hibok;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -837,7 +837,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 14;
CURRENT_PROJECT_VERSION = 15;
DEVELOPMENT_TEAM = QJ9M3998Q6;
EMBEDDED_CONTENT_CONTAINS_SWIFT_CODE = YES;
ENABLE_BITCODE = NO;
@@ -852,7 +852,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.1.0;
MARKETING_VERSION = 1.1.2;
PRODUCT_BUNDLE_IDENTIFIER = com.chengyouhudong.hibok;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";


+ 2
- 2
ios/Runner/Info.plist 查看文件

@@ -122,6 +122,8 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportsDocumentBrowser</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>UTExportedTypeDeclarations</key>
@@ -188,8 +190,6 @@
</array>
<key>io.flutter.embedded_views_preview</key>
<true/>
<key>UISupportsDocumentBrowser</key>
<true/>
<key>kTCCServiceMediaLibrary</key>
<string>App need your agree, can visit your music</string>
</dict>


+ 1
- 1
lib/chat/group_chat_view.dart 查看文件

@@ -530,7 +530,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
var lastMsgTime;
if (index < msgList.length - 1) {
lastMsgTime = msgList[index].time;
lastMsgTime = msgList[index+1].time;
}
MsgModel msg = msgList[index];


+ 4
- 2
lib/data/chat_data_mgr.dart 查看文件

@@ -127,19 +127,21 @@ class ChatDataMgr {
int curIndex = 0;
if (record != null && record.length > 0) {
print('#### 有历史聊天记录 条数 ${record.length}');
for (var i = 0; i < record.length; i++) {
if (record[i].time == msgModel.time) {
curIndex = i;
break;
}
}
}else{
print('#### 没有聊天记录');
}
int maxLen = min(curIndex + 4, record.length);
for (var i = curIndex + 1; i < maxLen; i++) {
var shortDesc = record[i].shortRecordForTranslator();
print(shortDesc);
// print('shortDesc'+shortDesc['Content']);
res.add(shortDesc);
}


+ 165
- 148
lib/generated/i18n.dart 查看文件

@@ -2549,6 +2549,8 @@ class I18n implements WidgetsLocalizations {
String get his_profile => "他的资料";
/// "她的资料"
String get her_profile => "她的资料";
/// "手机号未注册"
String get not_register => "手机号未注册";
}

class _I18n_en_US extends I18n {
@@ -4211,9 +4213,9 @@ class _I18n_vi_VN extends I18n {
/// "[11]Quên mật khẩu, làm thế nào?"
@override
String get question11 => "[11]Quên mật khẩu, làm thế nào?";
/// "Đối với người dùng đăng ký tài khoản bằng số điện thoại di động hoặc đã liên kết số điện thoại di động, có thể vào trang đăng nhập, chọn \"quên mật khẩu\" để cài đặt lại mật khẩu.,Đối với người dùng chưa liên kết số điện thoại di động, xin vui lòng liên kêt số điện thoại di động, sau đó cài đặt lại mật khẩu mới."
/// "Đối với người dùng đăng ký tài khoản bằng số điện thoại di động hoặc đã liên kết số điện thoại di động, có thể vào trang đăng nhập, chọn \"quên mật khẩu\"để cài đặt lại mật khẩu.,Đối với người dùng chưa liên kết số điện thoại di động, xin vui lòng liên kêt số điện thoại di động, sau đó cài đặt lại mật khẩu mới."
@override
String get answer11 => "Đối với người dùng đăng ký tài khoản bằng số điện thoại di động hoặc đã liên kết số điện thoại di động, có thể vào trang đăng nhập, chọn \"quên mật khẩu\" để cài đặt lại mật khẩu.,Đối với người dùng chưa liên kết số điện thoại di động, xin vui lòng liên kêt số điện thoại di động, sau đó cài đặt lại mật khẩu mới.";
String get answer11 => "Đối với người dùng đăng ký tài khoản bằng số điện thoại di động hoặc đã liên kết số điện thoại di động, có thể vào trang đăng nhập, chọn \"quên mật khẩu\"để cài đặt lại mật khẩu.,Đối với người dùng chưa liên kết số điện thoại di động, xin vui lòng liên kêt số điện thoại di động, sau đó cài đặt lại mật khẩu mới.";
/// "[12]Các vấn đề khác/ chuyển đến hotline nhân viên hỗ trợ khách hàng."
@override
String get question12 => "[12]Các vấn đề khác/ chuyển đến hotline nhân viên hỗ trợ khách hàng.";
@@ -4394,9 +4396,9 @@ class _I18n_vi_VN extends I18n {
/// "Hạn chế trò chuyện trực tuyến"
@override
String get chat_setting => "Hạn chế trò chuyện trực tuyến";
/// "Cho phép người dùng \"được phép trò chuyện\" trò chuyện trực tuyến với tôi"
/// "Cho phép người dùng \"được phép trò chuyện\"trò chuyện trực tuyến với tôi"
@override
String get chat_me => "Cho phép người dùng \"được phép trò chuyện\" trò chuyện trực tuyến với tôi";
String get chat_me => "Cho phép người dùng \"được phép trò chuyện\"trò chuyện trực tuyến với tôi";
/// "Đã lưu thành công"
@override
String get successfully_saved => "Đã lưu thành công";
@@ -5201,9 +5203,9 @@ class _I18n_vi_VN extends I18n {
/// "Qianhai Youlong Technology Co., Ltd. (sau đây gọi tắt là Cy Qianhai Youlong Technology Co., Ltd.) sau đây nhắc nhở người dùng đọc kỹ và hiểu đầy đủ Thỏa thuận dịch vụ này (sau đây gọi là Thỏa thuận ràng buộc). Người dùng nên đọc kỹ và hiểu đầy đủ Thỏa thuận này. Các điều khoản, bao gồm miễn trừ hoặc giới hạn trách nhiệm pháp lý của Qianhai Youlong Technology Co., Ltd. và các hạn chế về quyền của người dùng. Vui lòng đọc kỹ và chọn chấp nhận hoặc không chấp nhận Thỏa thuận này (trẻ vị thành niên phải có người giám hộ hợp pháp kèm theo). Bạn không được phép đăng ký, đăng nhập hoặc sử dụng các dịch vụ trong Thỏa thuận này trừ khi bạn chấp nhận tất cả các điều khoản của Thỏa thuận này. Việc đăng ký, đăng nhập, sử dụng, v.v. của bạn sẽ được coi là chấp nhận Thỏa thuận này và bạn đồng ý bị ràng buộc bởi các điều khoản của Thỏa thuận này."
@override
String get UG_LINE2 => "Qianhai Youlong Technology Co., Ltd. (sau đây gọi tắt là Cy Qianhai Youlong Technology Co., Ltd.) sau đây nhắc nhở người dùng đọc kỹ và hiểu đầy đủ Thỏa thuận dịch vụ này (sau đây gọi là Thỏa thuận ràng buộc). Người dùng nên đọc kỹ và hiểu đầy đủ Thỏa thuận này. Các điều khoản, bao gồm miễn trừ hoặc giới hạn trách nhiệm pháp lý của Qianhai Youlong Technology Co., Ltd. và các hạn chế về quyền của người dùng. Vui lòng đọc kỹ và chọn chấp nhận hoặc không chấp nhận Thỏa thuận này (trẻ vị thành niên phải có người giám hộ hợp pháp kèm theo). Bạn không được phép đăng ký, đăng nhập hoặc sử dụng các dịch vụ trong Thỏa thuận này trừ khi bạn chấp nhận tất cả các điều khoản của Thỏa thuận này. Việc đăng ký, đăng nhập, sử dụng, v.v. của bạn sẽ được coi là chấp nhận Thỏa thuận này và bạn đồng ý bị ràng buộc bởi các điều khoản của Thỏa thuận này.";
/// "Thỏa thuận này là một thỏa thuận giữa bạn (sau đây gọi là \"Người dùng\" và Qianhai Youlong Technology Co., Ltd. về việc đăng ký, đăng ký và sử dụng \"dịch vụ Hibok\". Thỏa thuận này mô tả mối quan hệ giữa Qianhai Youlong Technology Co., Ltd. và Người dùng về \"dịch vụ Hibok\". Quyền và nghĩa vụ. Người dùng có nghĩa là cá nhân hoặc tổ chức đăng ký, đăng nhập, sử dụng và duyệt Dịch vụ. Việc bạn chấp nhận Thỏa thuận này tuân theo tất cả các điều khoản và điều kiện, bao gồm mọi sửa đổi do Qianhai Youlong Technology Co., Ltd. thực hiện đối với mọi Điều khoản dịch vụ bất kỳ lúc nào. Thỏa thuận có thể được Qianhai Youlong Technology Co., Ltd. cập nhật bất cứ lúc nào. Các điều khoản cập nhật của thỏa thuận sẽ được thay thế bằng các điều khoản ban đầu của thỏa thuận mà không cần thông báo trước. Người dùng có thể kiểm tra các điều khoản của thỏa thuận mới nhất trong ứng dụng này. Sau khi Qianhai Youlong Technology Co., Ltd. sửa đổi các điều khoản của thỏa thuận, Nếu người dùng không chấp nhận các điều khoản sửa đổi, xin vui lòng ngừng sử dụng nó ngay lập tức dịch vụ Cyhd TNHH cung cấp, người dùng tiếp tục sử dụng dịch vụ Cyhd TNHH lời đề nghị sẽ được coi là đã chấp nhận thỏa thuận sửa đổi."
/// "Thỏa thuận này là một thỏa thuận giữa bạn (sau đây gọi là \"Người dùng\"và Qianhai Youlong Technology Co., Ltd. về việc đăng ký, đăng ký và sử dụng \"dịch vụ Hibok\". Thỏa thuận này mô tả mối quan hệ giữa Qianhai Youlong Technology Co., Ltd. và Người dùng về \"dịch vụ Hibok\". Quyền và nghĩa vụ. Người dùng có nghĩa là cá nhân hoặc tổ chức đăng ký, đăng nhập, sử dụng và duyệt Dịch vụ. Việc bạn chấp nhận Thỏa thuận này tuân theo tất cả các điều khoản và điều kiện, bao gồm mọi sửa đổi do Qianhai Youlong Technology Co., Ltd. thực hiện đối với mọi Điều khoản dịch vụ bất kỳ lúc nào. Thỏa thuận có thể được Qianhai Youlong Technology Co., Ltd. cập nhật bất cứ lúc nào. Các điều khoản cập nhật của thỏa thuận sẽ được thay thế bằng các điều khoản ban đầu của thỏa thuận mà không cần thông báo trước. Người dùng có thể kiểm tra các điều khoản của thỏa thuận mới nhất trong ứng dụng này. Sau khi Qianhai Youlong Technology Co., Ltd. sửa đổi các điều khoản của thỏa thuận, Nếu người dùng không chấp nhận các điều khoản sửa đổi, xin vui lòng ngừng sử dụng nó ngay lập tức dịch vụ Cyhd TNHH cung cấp, người dùng tiếp tục sử dụng dịch vụ Cyhd TNHH lời đề nghị sẽ được coi là đã chấp nhận thỏa thuận sửa đổi."
@override
String get UG_LINE3 => "Thỏa thuận này là một thỏa thuận giữa bạn (sau đây gọi là \"Người dùng\" và Qianhai Youlong Technology Co., Ltd. về việc đăng ký, đăng ký và sử dụng \"dịch vụ Hibok\". Thỏa thuận này mô tả mối quan hệ giữa Qianhai Youlong Technology Co., Ltd. và Người dùng về \"dịch vụ Hibok\". Quyền và nghĩa vụ. Người dùng có nghĩa là cá nhân hoặc tổ chức đăng ký, đăng nhập, sử dụng và duyệt Dịch vụ. Việc bạn chấp nhận Thỏa thuận này tuân theo tất cả các điều khoản và điều kiện, bao gồm mọi sửa đổi do Qianhai Youlong Technology Co., Ltd. thực hiện đối với mọi Điều khoản dịch vụ bất kỳ lúc nào. Thỏa thuận có thể được Qianhai Youlong Technology Co., Ltd. cập nhật bất cứ lúc nào. Các điều khoản cập nhật của thỏa thuận sẽ được thay thế bằng các điều khoản ban đầu của thỏa thuận mà không cần thông báo trước. Người dùng có thể kiểm tra các điều khoản của thỏa thuận mới nhất trong ứng dụng này. Sau khi Qianhai Youlong Technology Co., Ltd. sửa đổi các điều khoản của thỏa thuận, Nếu người dùng không chấp nhận các điều khoản sửa đổi, xin vui lòng ngừng sử dụng nó ngay lập tức dịch vụ Cyhd TNHH cung cấp, người dùng tiếp tục sử dụng dịch vụ Cyhd TNHH lời đề nghị sẽ được coi là đã chấp nhận thỏa thuận sửa đổi.";
String get UG_LINE3 => "Thỏa thuận này là một thỏa thuận giữa bạn (sau đây gọi là \"Người dùng\"và Qianhai Youlong Technology Co., Ltd. về việc đăng ký, đăng ký và sử dụng \"dịch vụ Hibok\". Thỏa thuận này mô tả mối quan hệ giữa Qianhai Youlong Technology Co., Ltd. và Người dùng về \"dịch vụ Hibok\". Quyền và nghĩa vụ. Người dùng có nghĩa là cá nhân hoặc tổ chức đăng ký, đăng nhập, sử dụng và duyệt Dịch vụ. Việc bạn chấp nhận Thỏa thuận này tuân theo tất cả các điều khoản và điều kiện, bao gồm mọi sửa đổi do Qianhai Youlong Technology Co., Ltd. thực hiện đối với mọi Điều khoản dịch vụ bất kỳ lúc nào. Thỏa thuận có thể được Qianhai Youlong Technology Co., Ltd. cập nhật bất cứ lúc nào. Các điều khoản cập nhật của thỏa thuận sẽ được thay thế bằng các điều khoản ban đầu của thỏa thuận mà không cần thông báo trước. Người dùng có thể kiểm tra các điều khoản của thỏa thuận mới nhất trong ứng dụng này. Sau khi Qianhai Youlong Technology Co., Ltd. sửa đổi các điều khoản của thỏa thuận, Nếu người dùng không chấp nhận các điều khoản sửa đổi, xin vui lòng ngừng sử dụng nó ngay lập tức dịch vụ Cyhd TNHH cung cấp, người dùng tiếp tục sử dụng dịch vụ Cyhd TNHH lời đề nghị sẽ được coi là đã chấp nhận thỏa thuận sửa đổi.";
/// "Đầu tiên, việc sử dụng các quy tắc"
@override
String get UG_LINE4 => "Đầu tiên, việc sử dụng các quy tắc";
@@ -5306,9 +5308,9 @@ class _I18n_vi_VN extends I18n {
/// "3, do sự kiện thất bại bất khả kháng kỹ thuật ảnh hưởng đến hoạt động bình thường của dịch vụ, Qianhai Youlong Technology Co., Ltd. và cam kết đối tác với các đơn vị có liên quan trong lần đầu tiên với việc xử lý kịp thời sửa chữa, nhưng tất cả các tổn thất của người sử dụng và do đó, Qianhai Youlong Technology Co., Ltd. và Đơn vị đối tác không chịu trách nhiệm."
@override
String get UG_LINE37 => "3, do sự kiện thất bại bất khả kháng kỹ thuật ảnh hưởng đến hoạt động bình thường của dịch vụ, Qianhai Youlong Technology Co., Ltd. và cam kết đối tác với các đơn vị có liên quan trong lần đầu tiên với việc xử lý kịp thời sửa chữa, nhưng tất cả các tổn thất của người sử dụng và do đó, Qianhai Youlong Technology Co., Ltd. và Đơn vị đối tác không chịu trách nhiệm.";
/// "4, các dịch vụ tương tự như hầu hết các dịch vụ Internet, tùy thuộc vào các yếu tố bao gồm, nhưng không giới hạn người sử dụng lý trí, chất lượng dịch vụ mạng, xã hội và sự khác biệt về môi trường chưa bị nhiễm khuẩn với một loạt các vấn đề an ninh, chẳng hạn như những người khác sử dụng dữ liệu của người dùng, dẫn đến trong cuộc sống thực Quấy rối, phần mềm khác được tải xuống hoặc cài đặt bởi người dùng hoặc các trang web khác được truy cập có chứa \"Trojan Horse\" và các vi-rút khác, đe dọa đến tính bảo mật của thông tin và dữ liệu máy tính của người dùng, do đó ảnh hưởng đến việc sử dụng dịch vụ thông thường. Người dùng nên tăng cường bảo mật thông tin và nhận thức bảo vệ thông tin người dùng và chú ý tăng cường bảo vệ mật khẩu để tránh mất mát và quấy rối."
/// "4, các dịch vụ tương tự như hầu hết các dịch vụ Internet, tùy thuộc vào các yếu tố bao gồm, nhưng không giới hạn người sử dụng lý trí, chất lượng dịch vụ mạng, xã hội và sự khác biệt về môi trường chưa bị nhiễm khuẩn với một loạt các vấn đề an ninh, chẳng hạn như những người khác sử dụng dữ liệu của người dùng, dẫn đến trong cuộc sống thực Quấy rối, phần mềm khác được tải xuống hoặc cài đặt bởi người dùng hoặc các trang web khác được truy cập có chứa \"Trojan Horse\"và các vi-rút khác, đe dọa đến tính bảo mật của thông tin và dữ liệu máy tính của người dùng, do đó ảnh hưởng đến việc sử dụng dịch vụ thông thường. Người dùng nên tăng cường bảo mật thông tin và nhận thức bảo vệ thông tin người dùng và chú ý tăng cường bảo vệ mật khẩu để tránh mất mát và quấy rối."
@override
String get UG_LINE38 => "4, các dịch vụ tương tự như hầu hết các dịch vụ Internet, tùy thuộc vào các yếu tố bao gồm, nhưng không giới hạn người sử dụng lý trí, chất lượng dịch vụ mạng, xã hội và sự khác biệt về môi trường chưa bị nhiễm khuẩn với một loạt các vấn đề an ninh, chẳng hạn như những người khác sử dụng dữ liệu của người dùng, dẫn đến trong cuộc sống thực Quấy rối, phần mềm khác được tải xuống hoặc cài đặt bởi người dùng hoặc các trang web khác được truy cập có chứa \"Trojan Horse\" và các vi-rút khác, đe dọa đến tính bảo mật của thông tin và dữ liệu máy tính của người dùng, do đó ảnh hưởng đến việc sử dụng dịch vụ thông thường. Người dùng nên tăng cường bảo mật thông tin và nhận thức bảo vệ thông tin người dùng và chú ý tăng cường bảo vệ mật khẩu để tránh mất mát và quấy rối.";
String get UG_LINE38 => "4, các dịch vụ tương tự như hầu hết các dịch vụ Internet, tùy thuộc vào các yếu tố bao gồm, nhưng không giới hạn người sử dụng lý trí, chất lượng dịch vụ mạng, xã hội và sự khác biệt về môi trường chưa bị nhiễm khuẩn với một loạt các vấn đề an ninh, chẳng hạn như những người khác sử dụng dữ liệu của người dùng, dẫn đến trong cuộc sống thực Quấy rối, phần mềm khác được tải xuống hoặc cài đặt bởi người dùng hoặc các trang web khác được truy cập có chứa \"Trojan Horse\"và các vi-rút khác, đe dọa đến tính bảo mật của thông tin và dữ liệu máy tính của người dùng, do đó ảnh hưởng đến việc sử dụng dịch vụ thông thường. Người dùng nên tăng cường bảo mật thông tin và nhận thức bảo vệ thông tin người dùng và chú ý tăng cường bảo vệ mật khẩu để tránh mất mát và quấy rối.";
/// "5. Người dùng phải hiểu rằng việc sử dụng dịch vụ này có thể bị ảnh hưởng bởi các yếu tố không ổn định trong các liên kết khác nhau do các dịch vụ Internet. Do đó, dịch vụ có nguy cơ bị gián đoạn dịch vụ hoặc không đáp ứng yêu cầu của người dùng do bất khả kháng, virus máy tính hoặc tin tặc tấn công, mất ổn định hệ thống, vị trí người dùng, tắt máy và bất kỳ lý do công nghệ, internet, đường truyền thông nào khác. Người dùng chịu trách nhiệm cho các rủi ro trên và Qianhai Youlong Technology Co., Ltd. không đảm bảo. Qianhai Youlong Technology Co., Ltd. không chịu trách nhiệm cho việc người dùng không thể gửi và nhận thông tin đọc hoặc nhận thông tin không chính xác."
@override
String get UG_LINE39 => "5. Người dùng phải hiểu rằng việc sử dụng dịch vụ này có thể bị ảnh hưởng bởi các yếu tố không ổn định trong các liên kết khác nhau do các dịch vụ Internet. Do đó, dịch vụ có nguy cơ bị gián đoạn dịch vụ hoặc không đáp ứng yêu cầu của người dùng do bất khả kháng, virus máy tính hoặc tin tặc tấn công, mất ổn định hệ thống, vị trí người dùng, tắt máy và bất kỳ lý do công nghệ, internet, đường truyền thông nào khác. Người dùng chịu trách nhiệm cho các rủi ro trên và Qianhai Youlong Technology Co., Ltd. không đảm bảo. Qianhai Youlong Technology Co., Ltd. không chịu trách nhiệm cho việc người dùng không thể gửi và nhận thông tin đọc hoặc nhận thông tin không chính xác.";
@@ -5696,9 +5698,9 @@ class _I18n_vi_VN extends I18n {
/// "Cho phép"
@override
String get agree => "Cho phép";
/// "\"Hi\"Bạn cần đồng ý với \"Thỏa thuận quyền riêng tư\" để sử dụng"
/// "\"Hi\"Bạn cần đồng ý với \"Thỏa thuận quyền riêng tư\"để sử dụng"
@override
String get privacyAgreement => "\"Hi\"Bạn cần đồng ý với \"Thỏa thuận quyền riêng tư\" để sử dụng";
String get privacyAgreement => "\"Hi\"Bạn cần đồng ý với \"Thỏa thuận quyền riêng tư\"để sử dụng";
/// "Thỏa thuận quyền riêng tư"
@override
String get privacy => "Thỏa thuận quyền riêng tư";
@@ -5882,9 +5884,9 @@ class _I18n_vi_VN extends I18n {
/// "Không có thông tin nhóm này"
@override
String get no_goupr_info => "Không có thông tin nhóm này";
/// " Bạn đã mời /s1 tham gia trò chuyện nhóm"
/// "Bạn đã mời /s1 tham gia trò chuyện nhóm"
@override
String get you_invite => " Bạn đã mời /s1 tham gia trò chuyện nhóm";
String get you_invite => "Bạn đã mời /s1 tham gia trò chuyện nhóm";
/// "Bạn đã được mời vào trò chuyện nhóm này bởi /s1"
@override
String get invite_you => "Bạn đã được mời vào trò chuyện nhóm này bởi /s1";
@@ -5897,48 +5899,48 @@ class _I18n_vi_VN extends I18n {
/// "/s1 đã xóa /s2 khỏi trò chuyện nhóm này"
@override
String get delete_group => "/s1 đã xóa /s2 khỏi trò chuyện nhóm này";
/// " Bạn đã trở thành chủ nhóm mới của nhóm "
/// "Bạn đã trở thành chủ nhóm mới của nhóm "
@override
String get you_group_owner => " Bạn đã trở thành chủ nhóm mới của nhóm ";
String get you_group_owner => "Bạn đã trở thành chủ nhóm mới của nhóm ";
/// "/s1 đã trở thành chủ nhóm mới của nhóm này"
@override
String get someone_group_owner => "/s1 đã trở thành chủ nhóm mới của nhóm này";
/// " Tên nhóm được đổi thành /s1"
/// "Tên nhóm được đổi thành /s1"
@override
String get change_group_owner1 => " Tên nhóm được đổi thành /s1";
String get change_group_owner1 => "Tên nhóm được đổi thành /s1";
/// "Thông báo nhóm đã được cập nhật"
@override
String get update_group_announce => "Thông báo nhóm đã được cập nhật";
/// "Bạn tham gia trò chuyện nhóm bằng cách quét mã QR"
@override
String get you_qr => "Bạn tham gia trò chuyện nhóm bằng cách quét mã QR";
/// " /s1 Tham gia trò chuyện nhóm bằng cách quét mã QR"
/// "/s1 Tham gia trò chuyện nhóm bằng cách quét mã QR"
@override
String get others_qr => " /s1 Tham gia trò chuyện nhóm bằng cách quét mã QR";
/// "\"/s1\" muốn mời /s2 bạn bè vào nhóm trò chuyện \$ Đi để xác nhận \$"
String get others_qr => "/s1 Tham gia trò chuyện nhóm bằng cách quét mã QR";
/// "\"/s1\"muốn mời /s2 bạn bè vào nhóm trò chuyện \$ Đi để xác nhận \$"
@override
String get invite_confirm => "\"/s1\" muốn mời /s2 bạn bè vào nhóm trò chuyện \$ Đi để xác nhận \$";
/// " \"/s1\" Muốn mời \"/s2\" để tham gia trò chuyện nhóm"
String get invite_confirm => "\"/s1\"muốn mời /s2 bạn bè vào nhóm trò chuyện \$ Đi để xác nhận \$";
/// "\"/s1\"Muốn mời \"/s2\"để tham gia trò chuyện nhóm"
@override
String get want_invite_confirm => " \"/s1\" Muốn mời \"/s2\" để tham gia trò chuyện nhóm";
/// "\"/s1\" Tham gia trò chuyện nhóm Xác nhận"
String get want_invite_confirm => "\"/s1\"Muốn mời \"/s2\"để tham gia trò chuyện nhóm";
/// "\"/s1\"Tham gia trò chuyện nhóm Xác nhận"
@override
String get join_group_confirm => "\"/s1\" Tham gia trò chuyện nhóm Xác nhận";
String get join_group_confirm => "\"/s1\"Tham gia trò chuyện nhóm Xác nhận";
/// "Bạn đã được mời vào một cuộc trò chuyện nhóm bởi /s1"
@override
String get you_invite_gourp => "Bạn đã được mời vào một cuộc trò chuyện nhóm bởi /s1";
/// " \"/s1\"Tham gia trò chuyện nhóm "
/// "\"/s1\"Tham gia trò chuyện nhóm "
@override
String get someone_join_group => " \"/s1\"Tham gia trò chuyện nhóm ";
/// " Chủ nhóm đã bật \"Xác nhận lời mời trò chuyện nhóm \", các thành viên nhóm cần xác nhận từ chủ nhóm để mời bạn bè vào nhóm"
String get someone_join_group => "\"/s1\"Tham gia trò chuyện nhóm ";
/// "Chủ nhóm đã bật \"Xác nhận lời mời trò chuyện nhóm \", các thành viên nhóm cần xác nhận từ chủ nhóm để mời bạn bè vào nhóm"
@override
String get group_setting_tips1 => " Chủ nhóm đã bật \"Xác nhận lời mời trò chuyện nhóm \", các thành viên nhóm cần xác nhận từ chủ nhóm để mời bạn bè vào nhóm";
String get group_setting_tips1 => "Chủ nhóm đã bật \"Xác nhận lời mời trò chuyện nhóm \", các thành viên nhóm cần xác nhận từ chủ nhóm để mời bạn bè vào nhóm";
/// "Chủ nhóm đã khôi phục phương thức tham gia nhóm mặc định"
@override
String get group_setting_tips2 => "Chủ nhóm đã khôi phục phương thức tham gia nhóm mặc định";
/// " Số thành viên nhóm đã đạt đến giới hạn"
/// "Số thành viên nhóm đã đạt đến giới hạn"
@override
String get members_max => " Số thành viên nhóm đã đạt đến giới hạn";
String get members_max => "Số thành viên nhóm đã đạt đến giới hạn";
/// "Số lượng nhóm đã đạt đến giới hạn"
@override
String get group_max => "Số lượng nhóm đã đạt đến giới hạn";
@@ -6029,45 +6031,45 @@ class _I18n_vi_VN extends I18n {
/// "Chọn người nhắc nhở"
@override
String get select_notice_people => "Chọn người nhắc nhở";
/// " Tìm số điện thoại"
/// "Tìm số điện thoại"
@override
String get search_phone => " Tìm số điện thoại";
/// " Người dùng không tồn tại "
String get search_phone => "Tìm số điện thoại";
/// "Người dùng không tồn tại "
@override
String get not_have_user => " Người dùng không tồn tại ";
String get not_have_user => "Người dùng không tồn tại ";
/// "Bạn không thể thêm chính mình"
@override
String get not_add_Myself => "Bạn không thể thêm chính mình";
/// " Đối phương đã đưa bạn vào danh sách đen"
/// "Đối phương đã đưa bạn vào danh sách đen"
@override
String get you_are_blaklisted => " Đối phương đã đưa bạn vào danh sách đen";
/// " Có chắc là bạn muốn phục hồi ảnh đã tiêu hủy không?\n (người dùng đã xem có thể xem lại lần nữa)"
String get you_are_blaklisted => "Đối phương đã đưa bạn vào danh sách đen";
/// "Có chắc là bạn muốn phục hồi ảnh đã tiêu hủy không?\n (người dùng đã xem có thể xem lại lần nữa)"
@override
String get confrim_recovery => " Có chắc là bạn muốn phục hồi ảnh đã tiêu hủy không?\n (người dùng đã xem có thể xem lại lần nữa)";
/// " Gửi tới "
String get confrim_recovery => "Có chắc là bạn muốn phục hồi ảnh đã tiêu hủy không?\n (người dùng đã xem có thể xem lại lần nữa)";
/// "Gửi tới "
@override
String get send_to => " Gửi tới ";
String get send_to => "Gửi tới ";
/// "Rà soát địa điểm"
@override
String get search_plach => "Rà soát địa điểm";
/// " Tìm địa điểm"
/// "Tìm địa điểm"
@override
String get finding_place => " Tìm địa điểm";
String get finding_place => "Tìm địa điểm";
/// "Hỗ trợ nhanh"
@override
String get real_time_helper => "Hỗ trợ nhanh";
/// "Dịch vụ dịch thuật \nthời gian thực"
@override
String get translation_butler => "Dịch vụ dịch thuật \nthời gian thực";
/// " Trợ lý chỉ đường"
/// "Trợ lý chỉ đường"
@override
String get travel_butler => " Trợ lý chỉ đường";
String get travel_butler => "Trợ lý chỉ đường";
/// "Trợ lý dịch thuật giúp bạn giải quyết trở ngại ngôn ngữ"
@override
String get translation_butler_tips => "Trợ lý dịch thuật giúp bạn giải quyết trở ngại ngôn ngữ";
/// " Vui lòng chọn một ngôn ngữ để dịch "
/// "Vui lòng chọn một ngôn ngữ để dịch "
@override
String get choose_language => " Vui lòng chọn một ngôn ngữ để dịch ";
String get choose_language => "Vui lòng chọn một ngôn ngữ để dịch ";
/// "Gọi trợ lý cần trả H-coin, thời gian sử dụng là 5 phút"
@override
String get translation_butler_rules => "Gọi trợ lý cần trả H-coin, thời gian sử dụng là 5 phút";
@@ -6080,12 +6082,12 @@ class _I18n_vi_VN extends I18n {
/// "Gọi trợ lý"
@override
String get translation_butler_call => "Gọi trợ lý";
/// " Vị trí của tôi"
/// "Vị trí của tôi"
@override
String get travel_my_location => " Vị trí của tôi";
/// " Bạn muốn đi đâu "
String get travel_my_location => "Vị trí của tôi";
/// "Bạn muốn đi đâu "
@override
String get travel_go_where => " Bạn muốn đi đâu ";
String get travel_go_where => "Bạn muốn đi đâu ";
/// "Định vị không đúng, bạn nên bấm \"kiểm tra khoảng cách\""
@override
String get travel_tips => "Định vị không đúng, bạn nên bấm \"kiểm tra khoảng cách\"";
@@ -6110,9 +6112,9 @@ class _I18n_vi_VN extends I18n {
/// "Bạn còn phải đợi"
@override
String get translation_butler_wait_time => "Bạn còn phải đợi";
/// " Đã Chờ"
/// "Đã Chờ"
@override
String get translation_butler_already_wait => " Đã Chờ";
String get translation_butler_already_wait => "Đã Chờ";
/// "Hủy dịch vụ"
@override
String get translation_butler_cancel => "Hủy dịch vụ";
@@ -6128,9 +6130,9 @@ class _I18n_vi_VN extends I18n {
/// "Dịch vụ bắt đầu"
@override
String get translation_butler_dialog_start_service => "Dịch vụ bắt đầu";
/// " Bắt đầu trò chuyện "
/// "Bắt đầu trò chuyện "
@override
String get translation_butler_dialog_start_chat => " Bắt đầu trò chuyện ";
String get translation_butler_dialog_start_chat => "Bắt đầu trò chuyện ";
/// "/s1H coin //s2 phút "
@override
String get translation_butler_coin_time => "/s1H coin //s2 phút ";
@@ -6143,69 +6145,69 @@ class _I18n_vi_VN extends I18n {
/// "Kết thúc dịch vụ"
@override
String get translation_butler_service_end => "Kết thúc dịch vụ";
/// " Đánh giá"
/// "Đánh giá"
@override
String get translation_butler_evaluation => " Đánh giá";
String get translation_butler_evaluation => "Đánh giá";
/// "Dịch vụ phiên dịch đã bắt đầu, hy vọng có thể khiến bạn hài lòng"
@override
String get translation_butler_start_tips => "Dịch vụ phiên dịch đã bắt đầu, hy vọng có thể khiến bạn hài lòng";
/// "Dịch vụ phiên dịch đã kết thúc, hãy cho chúng tôi biết nếu bạn cảm thấy hài lòng."
@override
String get translation_butler_evaluation_tips => "Dịch vụ phiên dịch đã kết thúc, hãy cho chúng tôi biết nếu bạn cảm thấy hài lòng.";
/// " Bạn có hài lòng với dịch vụ này?"
/// "Bạn có hài lòng với dịch vụ này?"
@override
String get translation_butler_dialog_tips => " Bạn có hài lòng với dịch vụ này?";
/// " Hài lòng "
String get translation_butler_dialog_tips => "Bạn có hài lòng với dịch vụ này?";
/// "Hài lòng "
@override
String get translation_butler_dialog_yes => " Hài lòng ";
/// " Không hài lòng "
String get translation_butler_dialog_yes => "Hài lòng ";
/// "Không hài lòng "
@override
String get translation_butler_dialog_no => " Không hài lòng ";
/// " Gửi đánh giá"
String get translation_butler_dialog_no => "Không hài lòng ";
/// "Gửi đánh giá"
@override
String get translation_butler_dialog_submit => " Gửi đánh giá";
String get translation_butler_dialog_submit => "Gửi đánh giá";
/// "Kiên nhẫn"
@override
String get translation_pos_1 => "Kiên nhẫn";
/// " Nhanh chóng kịp thời "
/// "Nhanh chóng kịp thời "
@override
String get translation_pos_2 => " Nhanh chóng kịp thời ";
/// " Lịch sự nhiệt tình "
String get translation_pos_2 => "Nhanh chóng kịp thời ";
/// "Lịch sự nhiệt tình "
@override
String get translation_pos_3 => " Lịch sự nhiệt tình ";
String get translation_pos_3 => "Lịch sự nhiệt tình ";
/// "Giao tiếp trôi chảy"
@override
String get translation_pos_4 => "Giao tiếp trôi chảy";
/// "Dịch quá đỉnh"
@override
String get translation_pos_5 => "Dịch quá đỉnh";
/// " Đe dọa quấy rối "
/// "Đe dọa quấy rối "
@override
String get translation_neg1 => " Đe dọa quấy rối ";
String get translation_neg1 => "Đe dọa quấy rối ";
/// "Giao tiếp khó khăn"
@override
String get translation_neg2 => "Giao tiếp khó khăn";
/// "Phản hồi chậm"
@override
String get translation_neg3 => "Phản hồi chậm";
/// " Thái độ không tốt "
/// "Thái độ không tốt "
@override
String get translation_neg4 => " Thái độ không tốt ";
String get translation_neg4 => "Thái độ không tốt ";
/// "Phiên dịch không tốt"
@override
String get translation_neg5 => "Phiên dịch không tốt";
/// "Sân bay/ bến xe"
@override
String get translation_scenes_1 => "Sân bay/ bến xe";
/// " Nhà hàng / khách sạn "
/// "Nhà hàng / khách sạn "
@override
String get translation_scenes_2 => " Nhà hàng / khách sạn ";
/// " KTV/ Bar "
String get translation_scenes_2 => "Nhà hàng / khách sạn ";
/// "KTV/ Bar "
@override
String get translation_scenes_3 => " KTV/ Bar ";
/// " Khác "
String get translation_scenes_3 => "KTV/ Bar ";
/// "Khác "
@override
String get translation_scenes_4 => " Khác ";
String get translation_scenes_4 => "Khác ";
/// "file"
@override
String get file => "file";
@@ -6224,117 +6226,120 @@ class _I18n_vi_VN extends I18n {
/// "Nếu gặp phải vấn đề bạn có thể phản hồi với chúng tôi!"
@override
String get feedback_tips => "Nếu gặp phải vấn đề bạn có thể phản hồi với chúng tôi!";
/// " Người dịch lại"
/// "Người dịch lại"
@override
String get man_retranslate => " Người dịch lại";
/// " Robot dịch lại"
String get man_retranslate => "Người dịch lại";
/// "Robot dịch lại"
@override
String get robot_retranslate => " Robot dịch lại";
/// " Xem bản gốc "
String get robot_retranslate => "Robot dịch lại";
/// "Xem bản gốc "
@override
String get see_original => " Xem bản gốc ";
/// " Chia sẻ"
String get see_original => "Xem bản gốc ";
/// "Chia sẻ"
@override
String get forward => " Chia sẻ";
/// " Copy link tải"
String get forward => "Chia sẻ";
/// "Copy link tải"
@override
String get copy_download_url => " Copy link tải";
/// " Tổng có /s1 bạn bè chung "
String get copy_download_url => "Copy link tải";
/// "Tổng có /s1 bạn bè chung "
@override
String get total_friends_nus => " Tổng có /s1 bạn bè chung ";
/// " Có ảnh vi phạm quy định"
String get total_friends_nus => "Tổng có /s1 bạn bè chung ";
/// "Có ảnh vi phạm quy định"
@override
String get hava_error_photo => " Có ảnh vi phạm quy định";
/// " Dịch vụ dịch thuật đã kết thúc và bạn đã làm việc vất vả rồi. Vui lòng luôn ở trạng thái online, chú ý thông báo đơn hàng mới"
String get hava_error_photo => "Có ảnh vi phạm quy định";
/// "Dịch vụ dịch thuật đã kết thúc và bạn đã làm việc vất vả rồi. Vui lòng luôn ở trạng thái online, chú ý thông báo đơn hàng mới"
@override
String get translation_butler_evaluation_tips2 => " Dịch vụ dịch thuật đã kết thúc và bạn đã làm việc vất vả rồi. Vui lòng luôn ở trạng thái online, chú ý thông báo đơn hàng mới";
/// " Thời gian: Hôm nay /s1 Tổng thời gian: "
String get translation_butler_evaluation_tips2 => "Dịch vụ dịch thuật đã kết thúc và bạn đã làm việc vất vả rồi. Vui lòng luôn ở trạng thái online, chú ý thông báo đơn hàng mới";
/// "Thời gian: Hôm nay /s1 Tổng thời gian: "
@override
String get translation_butler_push_order_time => " Thời gian: Hôm nay /s1 Tổng thời gian: ";
/// " Thời gian đặt hàng: hôm nay /s1 Tổng thời gian chờ:"
String get translation_butler_push_order_time => "Thời gian: Hôm nay /s1 Tổng thời gian: ";
/// "Thời gian đặt hàng: hôm nay /s1 Tổng thời gian chờ:"
@override
String get translation_butler_push_order_time2 => " Thời gian đặt hàng: hôm nay /s1 Tổng thời gian chờ:";
/// " Đại thần chuyên quyền "
String get translation_butler_push_order_time2 => "Thời gian đặt hàng: hôm nay /s1 Tổng thời gian chờ:";
/// "Đại thần chuyên quyền "
@override
String get translation_butler_title3 => " Đại thần chuyên quyền ";
/// " Bắt đầu bật chế độ tiếp nhận đơn"
String get translation_butler_title3 => "Đại thần chuyên quyền ";
/// "Bắt đầu bật chế độ tiếp nhận đơn"
@override
String get translation_butler_start_receive_order => " Bắt đầu bật chế độ tiếp nhận đơn";
/// " Chưa bật chế độ tiếp nhận đơn"
String get translation_butler_start_receive_order => "Bắt đầu bật chế độ tiếp nhận đơn";
/// "Chưa bật chế độ tiếp nhận đơn"
@override
String get translation_butler_stop_receive_order => " Chưa bật chế độ tiếp nhận đơn";
/// " Người phiên dịch không thể nhập tạo dịch vụ"
String get translation_butler_stop_receive_order => "Chưa bật chế độ tiếp nhận đơn";
/// "Người phiên dịch không thể nhập tạo dịch vụ"
@override
String get translation_butler_stop_tips => " Người phiên dịch không thể nhập tạo dịch vụ";
/// " Tình cảnh:"
String get translation_butler_stop_tips => "Người phiên dịch không thể nhập tạo dịch vụ";
/// "Tình cảnh:"
@override
String get translation_butler_scenes2 => " Tình cảnh:";
String get translation_butler_scenes2 => "Tình cảnh:";
/// "[Bắt đầu dịch vụ phiên dịch]"
@override
String get translation_butler_last_item_start => "[Bắt đầu dịch vụ phiên dịch]";
/// "[Kết thúc dịch vụ phiên dịch]"
@override
String get translation_butler_last_item_end => "[Kết thúc dịch vụ phiên dịch]";
/// " Điểm bắt đầu "
/// "Điểm bắt đầu "
@override
String get travel_start => " Điểm bắt đầu ";
/// " Điểm kết thúc "
String get travel_start => "Điểm bắt đầu ";
/// "Điểm kết thúc "
@override
String get travel_end => " Điểm kết thúc ";
/// " Dịch vụ phiên dịch hết giờ đã bị hủy "
String get travel_end => "Điểm kết thúc ";
/// "Dịch vụ phiên dịch hết giờ đã bị hủy "
@override
String get translation_butler_order_time_out => " Dịch vụ phiên dịch hết giờ đã bị hủy ";
/// " Khi dịch vụ phiên dịch chưa kết thúc, người dịch không thể chủ động kết thúc"
String get translation_butler_order_time_out => "Dịch vụ phiên dịch hết giờ đã bị hủy ";
/// "Khi dịch vụ phiên dịch chưa kết thúc, người dịch không thể chủ động kết thúc"
@override
String get translation_butler_order_close_tips => " Khi dịch vụ phiên dịch chưa kết thúc, người dịch không thể chủ động kết thúc";
/// " Bạn có phải muốn kết thúc dịch vụ dịch thuật?"
String get translation_butler_order_close_tips => "Khi dịch vụ phiên dịch chưa kết thúc, người dịch không thể chủ động kết thúc";
/// "Bạn có phải muốn kết thúc dịch vụ dịch thuật?"
@override
String get translation_butler_order_close_tips2 => " Bạn có phải muốn kết thúc dịch vụ dịch thuật?";
/// " Đơn hàng gửi thất bại "
String get translation_butler_order_close_tips2 => "Bạn có phải muốn kết thúc dịch vụ dịch thuật?";
/// "Đơn hàng gửi thất bại "
@override
String get translation_butler_order_failed => " Đơn hàng gửi thất bại ";
/// " Yêu cầu dịch vụ thất bại, mạng bất thường "
String get translation_butler_order_failed => "Đơn hàng gửi thất bại ";
/// "Yêu cầu dịch vụ thất bại, mạng bất thường "
@override
String get translation_butler_order_failed2 => " Yêu cầu dịch vụ thất bại, mạng bất thường ";
/// " Bạn đang lo lắng đối phương nghe không hiểu bạn nói gì sao? Mời bạn chọn ngôn ngữ bạn cần dịch,bạn hãy nói lại vấn đề bạn gặp phải,trợ lý dịch thuật sẽ phục vụ bạn mọi lúc mọi nơi "
String get translation_butler_order_failed2 => "Yêu cầu dịch vụ thất bại, mạng bất thường ";
/// "Bạn đang lo lắng đối phương nghe không hiểu bạn nói gì sao? Mời bạn chọn ngôn ngữ bạn cần dịch,bạn hãy nói lại vấn đề bạn gặp phải,trợ lý dịch thuật sẽ phục vụ bạn mọi lúc mọi nơi "
@override
String get translation_butler_introduction => " Bạn đang lo lắng đối phương nghe không hiểu bạn nói gì sao? Mời bạn chọn ngôn ngữ bạn cần dịch,bạn hãy nói lại vấn đề bạn gặp phải,trợ lý dịch thuật sẽ phục vụ bạn mọi lúc mọi nơi ";
/// " Có phải cách đích càng ngày càng xa tốt? Chọn điểm bắt đầu và điểm kết thúc của bạn, để trợ lý chỉ đường giúp bạn đo khoảng cách chính xác"
String get translation_butler_introduction => "Bạn đang lo lắng đối phương nghe không hiểu bạn nói gì sao? Mời bạn chọn ngôn ngữ bạn cần dịch,bạn hãy nói lại vấn đề bạn gặp phải,trợ lý dịch thuật sẽ phục vụ bạn mọi lúc mọi nơi ";
/// "Có phải cách đích càng ngày càng xa tốt? Chọn điểm bắt đầu và điểm kết thúc của bạn, để trợ lý chỉ đường giúp bạn đo khoảng cách chính xác"
@override
String get travel_introduction => " Có phải cách đích càng ngày càng xa tốt? Chọn điểm bắt đầu và điểm kết thúc của bạn, để trợ lý chỉ đường giúp bạn đo khoảng cách chính xác";
/// " Để chỉ đưởng và giao tiếp đơn giản hơn"
String get travel_introduction => "Có phải cách đích càng ngày càng xa tốt? Chọn điểm bắt đầu và điểm kết thúc của bạn, để trợ lý chỉ đường giúp bạn đo khoảng cách chính xác";
/// "Để chỉ đưởng và giao tiếp đơn giản hơn"
@override
String get splash_tips_content4 => " Để chỉ đưởng và giao tiếp đơn giản hơn";
/// " Vô ưu du lịch của bạn"
String get splash_tips_content4 => "Để chỉ đưởng và giao tiếp đơn giản hơn";
/// "Vô ưu du lịch của bạn"
@override
String get splash_tips_content5 => " Vô ưu du lịch của bạn";
/// " Thông báo rung "
String get splash_tips_content5 => "Vô ưu du lịch của bạn";
/// "Thông báo rung "
@override
String get shock_notice => " Thông báo rung ";
/// " Tải lên tối đa /s1 ảnh "
String get shock_notice => "Thông báo rung ";
/// "Tải lên tối đa /s1 ảnh "
@override
String get max_upload_size => " Tải lên tối đa /s1 ảnh ";
/// " Trợ lý chỉ đường giúp bạn giải quyết vấn đề về ngôn ngữ, gọi xe ,đi sai đường "
String get max_upload_size => "Tải lên tối đa /s1 ảnh ";
/// "Trợ lý chỉ đường giúp bạn giải quyết vấn đề về ngôn ngữ, gọi xe ,đi sai đường "
@override
String get travel_tips2 => " Trợ lý chỉ đường giúp bạn giải quyết vấn đề về ngôn ngữ, gọi xe ,đi sai đường ";
/// " Bây giờ chúng ta có thể bắt đầu trò chuyện rồi!"
String get travel_tips2 => "Trợ lý chỉ đường giúp bạn giải quyết vấn đề về ngôn ngữ, gọi xe ,đi sai đường ";
/// "Bây giờ chúng ta có thể bắt đầu trò chuyện rồi!"
@override
String get new_friends_tips => " Bây giờ chúng ta có thể bắt đầu trò chuyện rồi!";
/// " Điền vào thông tin của bạn để được theo dõi nhiều hơn,xin điền vào đây"
String get new_friends_tips => "Bây giờ chúng ta có thể bắt đầu trò chuyện rồi!";
/// "Điền vào thông tin của bạn để được theo dõi nhiều hơn,xin điền vào đây"
@override
String get msg_tips => " Điền vào thông tin của bạn để được theo dõi nhiều hơn,xin điền vào đây";
String get msg_tips => "Điền vào thông tin của bạn để được theo dõi nhiều hơn,xin điền vào đây";
/// "/s1 tin nhắn mới "
@override
String get new_msg => "/s1 tin nhắn mới ";
/// " Tải lên "
/// "Tải lên "
@override
String get upload1 => " Tải lên ";
/// " Thông tin của anh ấy "
String get upload1 => "Tải lên ";
/// "Thông tin của anh ấy "
@override
String get his_profile => " Thông tin của anh ấy ";
/// " Thông tin của chị ấy "
String get his_profile => "Thông tin của anh ấy ";
/// "Thông tin của chị ấy "
@override
String get her_profile => " Thông tin của chị ấy ";
String get her_profile => "Thông tin của chị ấy ";
/// "手机号未注册"
@override
String get not_register => "手机号未注册";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -10117,6 +10122,9 @@ class _I18n_zh_HK extends I18n {
/// "她的資料"
@override
String get her_profile => "她的資料";
/// "手機號未註冊"
@override
String get not_register => "手機號未註冊";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -13635,9 +13643,9 @@ class _I18n_zh_CN extends _I18n_zh_HK {
/// "呼叫管家需要预付H币,管家服务时长为5分钟"
@override
String get translation_butler_rules => "呼叫管家需要预付H币,管家服务时长为5分钟";
/// "您所在场景"
/// "您所在场景"
@override
String get translation_butler_scenes => "您所在场景";
String get translation_butler_scenes => "您所在场景";
/// "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!"
@override
String get translation_butler_scenes_tips => "根据大数据显示,选择了场景并描述问题的用户得到了更有效的帮助哦!";
@@ -13899,6 +13907,9 @@ class _I18n_zh_CN extends _I18n_zh_HK {
/// "她的资料"
@override
String get her_profile => "她的资料";
/// "手机号未注册"
@override
String get not_register => "手机号未注册";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -17681,6 +17692,9 @@ class _I18n_ko_KR extends I18n {
/// "그녀의 자료"
@override
String get her_profile => "그녀의 자료";
/// "手机号未注册"
@override
String get not_register => "手机号未注册";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -21463,6 +21477,9 @@ class _I18n_ja_JP extends I18n {
/// "她的资料"
@override
String get her_profile => "她的资料";
/// "手机号未注册"
@override
String get not_register => "手机号未注册";

@override
TextDirection get textDirection => TextDirection.ltr;


+ 1
- 1
lib/home/EditData.dart 查看文件

@@ -74,7 +74,7 @@ class _EditPageState extends State<EditPage> {
//约会范围
String dateRange = '';
Set<String> dateRangeId = Set.from(UserData().basicInfo.meetPlace == null
? []
? [UserData().currentCity]
: UserData().basicInfo.meetPlace.split(','));
//生日


+ 4
- 0
lib/home/IndexPage.dart 查看文件

@@ -1,5 +1,6 @@
import 'package:chat/data/UserData.dart';
import 'package:chat/generated/i18n.dart';
import 'package:chat/utils/local_notification_util.dart';
import 'package:chat/utils/screen.dart';
import 'package:connectivity/connectivity.dart';
import 'package:flutter/cupertino.dart';
@@ -37,6 +38,9 @@ class _IndexPageState extends State<IndexPage> {
@override
void initState() {
super.initState();
print('index page--');
LocalNotificationUtil.instance.initJPush();
LocalNotificationUtil.instance.initLocalPush();
fluwx.responseFromAuth.listen((data) {
if (data.errCode == 0) {
getLoginData(data.code);


+ 22
- 16
lib/home/MoneyPage.dart 查看文件

@@ -138,26 +138,31 @@ class MoneyPageState extends State<MoneyPage>
CustomUI.buildConfirmBotton(I18n.of(context).determine, () async {
var m;
if (money == null || money == '' || (m = int.parse(money)) == 0) {
showToast(I18n.of(context).enter_num_qian1);
showToast(I18n.of(context).enter_num_qian1,
position: ToastPosition.top);
return;
}
if (m > Provider.of<MoneyChangeProvider>(context).money) {
showToast(I18n.of(context).not_enough);
showToast(I18n.of(context).not_enough, position: ToastPosition.top);
return;
}
if (m < minMoney) {
showToast(I18n.of(context)
.little_min
.replaceFirst('/s1', (minMoney * 1000).toString()));
showToast(
I18n.of(context)
.little_min
.replaceFirst('/s1', (minMoney * 1000).toString()),
position: ToastPosition.top);
return;
}
if (m > maxMoney) {
showToast(I18n.of(context)
.more_big
.replaceFirst('/s1', (maxMoney * 1000).toString()));
showToast(
I18n.of(context)
.more_big
.replaceFirst('/s1', (maxMoney * 1000).toString()),
position: ToastPosition.top);
return;
}
@@ -170,7 +175,7 @@ class MoneyPageState extends State<MoneyPage>
Response res = await HttpUtil().post('wallet/draw/order', data: data);
Map resData = res.data;
showToast(resData['msg']);
showToast(resData['msg'], position: ToastPosition.top);
if (resData['code'] == 0) {
Navigator.of(context).pop();
UserData().incomeMoney -= m;
@@ -237,19 +242,21 @@ class MoneyPageState extends State<MoneyPage>
CustomUI.buildConfirmBotton(I18n.of(context).determine, () async {
var m;
if (money == null || money == '' || (m = int.parse(money)) == 0) {
showToast(I18n.of(context).enter_num_qian);
showToast(I18n.of(context).enter_num_qian, position: ToastPosition.top);
return;
}
if (m > maxMoney) {
showToast(I18n.of(context).not_enough);
showToast(I18n.of(context).not_enough, position: ToastPosition.top);
return;
}
if (m < minMoney) {
showToast(I18n.of(context)
.little_min
.replaceFirst('/s1', minMoney.toString()));
showToast(
I18n.of(context)
.little_min
.replaceFirst('/s1', minMoney.toString()),
position: ToastPosition.top);
return;
}
@@ -262,7 +269,7 @@ class MoneyPageState extends State<MoneyPage>
Response res =
await HttpUtil().post('/wallet/income/exchange', data: data);
Map resData = res.data;
showToast(resData['msg']);
showToast(resData['msg'], position: ToastPosition.top);
if (resData['code'] == 0) {
Navigator.of(context).pop();
UserData().incomeMoney -= m;
@@ -684,7 +691,6 @@ class MoneyPageState extends State<MoneyPage>
],
),
InkWell(
onTap: () {
launch(
"http://datechatagent.chengyouhd.com/zh-CN/Home/WithdrawalRole?language=${UserData().language}");


+ 1
- 1
lib/home/MoneyPageOld.dart 查看文件

@@ -751,7 +751,7 @@ class MoneyPageOldState extends State<MoneyPageOld>
data['Status'] == 1),
money:
isAdd(isMyself, data['DetailType']) ? data['Value'] : -data['Value'],
title: RichTitle.getRichTitleWidget(data, context, InfoType.Money,
title: RichTitle.getRichTitleWidget(data, context, InfoType.IncomeMoney,
titleStyle: TextStyle(fontSize: 12, color: const Color(0XFF7F7F7F)),
nameStyle: TextStyle(
fontWeight: FontWeight.normal,


+ 23
- 13
lib/home/ProfilePage.dart 查看文件

@@ -486,17 +486,22 @@ class _ProfilePageState extends State<ProfilePage>
),
);
},
child: Row(children: <Widget>[
Text(I18n.of(context).msg_tips, style: textStyle),
Transform.rotate(
angle: math.pi * 2,
child: Icon(
IconData(0xe68d,
fontFamily: Constants.IconFontFamily),
color: Color(0xFF717171),
size: 16,
))
]))
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
constraints: BoxConstraints(maxWidth: width),
child: Text(I18n.of(context).msg_tips,
style: textStyle)),
Transform.rotate(
angle: math.pi * 2,
child: Icon(
IconData(0xe68d,
fontFamily: Constants.IconFontFamily),
color: Color(0xFF717171),
size: 16,
))
]))
: Container())
: Row(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -614,6 +619,10 @@ class _ProfilePageState extends State<ProfilePage>
}
}
cannotWatchTips() {
showToast(isMan ? I18n.of(context).view_user : I18n.of(context).view_user2);
}
Widget _buildButtonList() {
List<Widget> list = [];
if (isMyself) {
@@ -627,7 +636,7 @@ class _ProfilePageState extends State<ProfilePage>
} else if (userInfo.sex == UserData().basicInfo.sex) {
list = [
_buildBorderButton(I18n.of(context).private_chat, 140,
isCanWatch ? buyChatAccount : null,
isCanWatch ? buyChatAccount : cannotWatchTips,
iconCode: IconData(0xe68c, fontFamily: 'iconfont')),
];
} else {
@@ -637,7 +646,8 @@ class _ProfilePageState extends State<ProfilePage>
fontFamily: Constants.IconFontFamily),
iconColor: userInfo.isLike ? 0xFFFF7777 : 0xFF181818),
SizedBox(width: 12.5),
_buildBorderButton('', 53, isCanWatch ? buyChatAccount : null,
_buildBorderButton(
'', 53, isCanWatch ? buyChatAccount : cannotWatchTips,
iconCode: IconData(0xe68c, fontFamily: 'iconfont')),
];
}


+ 2
- 0
lib/home/Registerpage.dart 查看文件

@@ -446,6 +446,8 @@ class _RegisterPageState extends State<RegisterPage> {
showToast(resData['msg']);
if (resData['code'] == 0) {
Navigator.of(context).pop();
} else if (resData['code'] == -7) {
showToast(I18n.of(context).not_register);
}
} catch (e) {}
}


+ 4
- 0
lib/home/WhiteAndBlackList.dart 查看文件

@@ -43,9 +43,13 @@ class _WhiteAndBlackPageState extends State<WhiteAndBlackPage> {
var item = list[i];
if (item['FollowUserId'] == data['UserId'] && data['flag'] != 0) {
list.removeAt(i);
break;
}
}
if (list.length == 0) {
_refreshController.refreshCompleted();
}
setState(() {});
}


+ 2
- 1
lib/home/add_friend.dart 查看文件

@@ -70,7 +70,8 @@ class _AddFriendPageState extends State<AddFriendPage> {
InkWell(
onTap: () {
var content = _txtCtrl.text;
if (_txtCtrl.text.length == 0) {
if (_txtCtrl.text.length == 0 &&
widget.pageType != SendMessagePageType.Remark) {
content = UserData().basicInfo.nickName;
}
switch (widget.pageType) {


+ 2
- 2
lib/home/homeMain.dart 查看文件

@@ -6,7 +6,6 @@ import 'package:chat/data/translate_hk_data_mgr.dart';
import 'package:chat/generated/i18n.dart';
import 'package:chat/home/SystemEditPage.dart';
import 'package:chat/home/find_page.dart';
import 'package:chat/home/realtimehelper/real_time_helper_page.dart';
import 'package:chat/home/unread_dot_widget.dart';
import 'package:chat/models/UserInfo.dart';
import 'package:chat/models/ref_name_provider.dart';
@@ -152,6 +151,7 @@ class _HomeMainState extends State<HomeMain> {
@override
void initState() {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);
super.initState();
LocalNotificationUtil.instance.initState(context);
@@ -567,7 +567,7 @@ class _HomeMainState extends State<HomeMain> {
// MessageMgr().emit('refresh_list_when_no_data');
// }
MessageMgr().emit('update_system');
MessageMgr().emit('do_friend_apply');
//MessageMgr().emit('do_friend_apply');
// LocalNotificationUtil.instance.cleanAllNotifications();
setState(() {
_currentIndex = index;


+ 1
- 2
lib/main.dart 查看文件

@@ -71,8 +71,7 @@ initLocalData() async {
void main() async {
WidgetsFlutterBinding.ensureInitialized();
LocalNotificationUtil.instance.initJPush();
LocalNotificationUtil.instance.initLocalPush();
await FileCacheMgr.initPathKey();
await SqlUtil.init();


+ 4
- 3
lib/models/ChatMsg.dart 查看文件

@@ -283,9 +283,10 @@ class MsgModel {
return {
'SendTime': DateUtils()
.getFormartData(timeSamp: time, format: 'yyyy:MM:dd hh:mm:ss'),
'Content': desc,
'UserId': from
.getFormartData(timeSamp: time, format: 'yyyy-MM-dd hh:mm:ss'),
'Content': base64Encode(utf8.encode(desc)),
'UserId': from,
'ChatType':msgType
};
}
}

+ 1
- 1
lib/models/group_info_model.dart 查看文件

@@ -73,7 +73,7 @@ class GroupInfoModel {
hosterId = model.memberId;
}
if (member.info.id == myId) {
myName = member.name;
//myName = member.name;
messageFree = member.messageFree ? 1 : 0;
}
}


+ 1
- 1
lib/utils/CustomUI.dart 查看文件

@@ -380,7 +380,7 @@ class CustomUI {
));
}
static Widget buildImgCover(int imgId, List pics, String imgUrl, double width,
static Widget buildImgCover(int imgId, List<PicSwiperItem> pics, String imgUrl, double width,
double raduis, bool isWatch, BuildContext context, int type,
{bool isMyself = false, int payStatus = 0, int state = 1}) {
Color color = isWatch


+ 3
- 3
lib/utils/HttpUtil.dart 查看文件

@@ -44,9 +44,9 @@ class HttpUtil {
//static const String BaseUrl = 'http://192.168.0.223:7001/';
//static const String BaseUrl = 'http://192.168.0.207:9080/';
static const String BaseUrl = 'http://120.79.107.63:9080/';
// static const String BaseUrl = 'http://120.79.107.63:9080/';
//static const String BaseUrl = 'http://192.168.0.177:9016/';
// static const String BaseUrl = 'https://datasm.chengyouhd.com/';
static const String BaseUrl = 'https://datasm.chengyouhd.com/';
static HttpUtil _getInstance() {
if (_instance == null) {
@@ -171,7 +171,7 @@ class HttpUtil {
if (CancelToken.isCancel(e)) {
print('post请求取消! ' + e.message);
}
print('post请求发生错误$e');
print('post请求发生错误 url:$url 参数:$data 错误:$e');
if (isShowLoading) LoadingManage().closeLoading();
showToast(I18n.of(Constants.getCurrentContext()).server_error_tips);
if (failback != null) failback();


+ 25
- 22
lib/utils/local_notification_util.dart 查看文件

@@ -36,7 +36,7 @@ class LocalNotificationUtil {
/// date+@+节目id
static const String PAYLOAD_OTHER = 'other';
JPush jpush = new JPush();
/// 其他
LocalNotificationUtil._internal() {
@@ -58,7 +58,7 @@ class LocalNotificationUtil {
BehaviorSubject<String> selectNotificationSubject = BehaviorSubject<String>();
void initJPush() {
JPush jpush = new JPush();
///ios一定要加这句
jpush.applyPushAuthority(
@@ -117,7 +117,7 @@ class LocalNotificationUtil {
jpush.setup(
appKey: "13dd603952a6632d1dd3ac54",
channel: "theChannel",
production: false,
production: true,
debug: true, // 设置是否打印 debug 日志
);
jpush.getRegistrationID().then((rid) {
@@ -126,24 +126,27 @@ class LocalNotificationUtil {
}
void setAlias() {
JPush jpush = new JPush();
print('flutter jpush setAlias ${UserData().basicInfo.userId.toString()}');
jpush.setAlias(UserData().basicInfo.userId.toString()).then((map) {});
jpush.addTags(
["yueliao", 'yueliao_' + UserData().language.toString()],
).then((map) {});
try{
jpush.setAlias(UserData().basicInfo.userId.toString()).then((map) {});
jpush.addTags(
["yueliao", 'yueliao_' + UserData().language.toString()],
).then((map) {});
if (Platform.isIOS) {
jpush.getLaunchAppNotification().then((map) {
print('getLaunchAppNotification $map');
Map jExtra = map['extras'];
String payload = getPayload(jExtra);
print('onOpenNotification payload:$payload');
goPage(payload);
FlutterAppBadger.removeBadge();
}).catchError((error) {
print('getLaunchAppNotificationerror $error');
});
}
}catch(e){
if (Platform.isIOS) {
jpush.getLaunchAppNotification().then((map) {
print('getLaunchAppNotification $map');
Map jExtra = map['extras'];
String payload = getPayload(jExtra);
print('onOpenNotification payload:$payload');
goPage(payload);
FlutterAppBadger.removeBadge();
}).catchError((error) {
print('getLaunchAppNotificationerror $error');
});
}
}
@@ -248,7 +251,7 @@ class LocalNotificationUtil {
payload = PAYLOAD_OTHER + '@' + InfoType.Apply.toString();
break;
case 4:
payload = PAYLOAD_OTHER + '@' + InfoType.Money.toString();
payload = PAYLOAD_OTHER + '@' + InfoType.IncomeMoney.toString();
break;
case 5:
payload = PAYLOAD_OTHER + '@' + InfoType.System.toString();
@@ -296,7 +299,7 @@ class LocalNotificationUtil {
title = I18n.of(mContext).application_notice;
break;
case InfoType.Money:
case InfoType.IncomeMoney:
title = I18n.of(mContext).wallet_reminder;
break;
@@ -351,7 +354,7 @@ class LocalNotificationUtil {
break;
case 4:
needPush = UserData().checkPhotoSwitch;
payload = PAYLOAD_OTHER + '@' + InfoType.Money.toString();
payload = PAYLOAD_OTHER + '@' + InfoType.IncomeMoney.toString();
break;
case 5:
needPush = UserData().codeSucessSwitch;


+ 1
- 1
pubspec.yaml 查看文件

@@ -1,7 +1,7 @@
name: chat
description: A new Flutter project.
#修改版本号后get-clean
version: 1.1.1+16
version: 1.1.2+17

environment:
sdk: ">=2.1.0 <3.0.0"


Loading…
取消
儲存