Просмотр исходного кода

修复bug:

1.搜索界面下拉刷新双图标问题。
2.连麦,私聊拉黑及时性问题
3.编辑资料名字文本框长度限制
master
ZCM 5 лет назад
Родитель
Сommit
e972171164
14 измененных файлов: 153 добавлений и 70 удалений
  1. +3
    -1
      i18n/en-US.json
  2. +3
    -1
      i18n/ja-JP.json
  3. +3
    -1
      i18n/ko-KR.json
  4. +3
    -1
      i18n/vi-VN.json
  5. +3
    -1
      i18n/zh-CN.json
  6. +3
    -1
      i18n/zh-HK.json
  7. +2
    -7
      lib/chat/ChatPage.dart
  8. +27
    -34
      lib/chat/util_keyboard.dart
  9. +77
    -8
      lib/generated/i18n.dart
  10. +5
    -11
      lib/home/ProfilePage.dart
  11. +2
    -2
      lib/home/SearchPage.dart
  12. +2
    -1
      lib/map/google_map_location_picker.dart
  13. +2
    -1
      lib/map/search_input.dart
  14. +18
    -0
      lib/utils/blacklist_mgr.dart

+ 3
- 1
i18n/en-US.json Просмотреть файл

@@ -1160,5 +1160,7 @@
"not_add_Myself":"你不能添加自己",
"you_are_blaklisted":"对方已拉黑了你",
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)",
"send_to": "發送到"
"send_to": "發送到",
"search_plach":"搜索位置",
"finding_place":"查找位置"
}

+ 3
- 1
i18n/ja-JP.json Просмотреть файл

@@ -1160,5 +1160,7 @@
"not_add_Myself":"你不能添加自己",
"you_are_blaklisted":"对方已拉黑了你",
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)",
"send_to": "發送到"
"send_to": "發送到",
"search_plach":"搜索位置",
"finding_place":"查找位置"
}

+ 3
- 1
i18n/ko-KR.json Просмотреть файл

@@ -1159,5 +1159,7 @@
"not_have_user":"用户不存在",
"you_are_blaklisted":"对方已拉黑了你",
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)",
"send_to": "發送到"
"send_to": "發送到",
"search_plach":"搜索位置",
"finding_place":"查找位置"
}

+ 3
- 1
i18n/vi-VN.json Просмотреть файл

@@ -1160,5 +1160,7 @@
"not_add_Myself":"你不能添加自己",
"you_are_blaklisted":"对方已拉黑了你",
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)",
"send_to": "發送到"
"send_to": "發送到",
"search_plach":"搜索位置",
"finding_place":"查找位置"
}

+ 3
- 1
i18n/zh-CN.json Просмотреть файл

@@ -1160,5 +1160,7 @@
"not_add_Myself":"你不能添加自己",
"you_are_blaklisted":"对方已拉黑了你",
"confrim_recovery":"确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)",
"send_to": "发送到"
"send_to": "发送到",
"search_plach":"搜索位置",
"finding_place":"查找位置"
}

+ 3
- 1
i18n/zh-HK.json Просмотреть файл

@@ -1160,5 +1160,7 @@
"not_add_Myself":"你不能添加自己",
"you_are_blaklisted":"對方已拉黑了你",
"confrim_recovery":"確定恢復已被焚毀的照片嗎?\n(已經看過的用戶可以再看一次)",
"send_to": "發送到"
"send_to": "發送到",
"search_plach":"搜索位置",
"finding_place":"查找位置"
}

+ 2
- 7
lib/chat/ChatPage.dart Просмотреть файл

@@ -36,6 +36,7 @@ import 'ChatPageItem.dart';
import 'input_bar.dart';
import 'package:chat/utils/PopUpMenu.dart' as myPop;
import 'package:chat/models/money_change.dart';
class ChatPage extends StatefulWidget {
final int friendId;
final int enterType; // 0默认 1图片
@@ -479,13 +480,7 @@ class _ChatPageState extends State<ChatPage> {
sendMsg(MsgModel msg) {
print('对方是否拉黑你 ${friendInfo.isBlackened}');
if (BlacklistMgr.isBlaklistMe(friendInfo.userId)) {
showToast(I18n.of(context).you_are_blaklisted);
return;
}
if (BlacklistMgr.isInMyblaklist(friendInfo.userId)) {
showToast(I18n.of(context).reject_message);
if (BlacklistMgr.isBlack(friendInfo.userId)) {
return;
}


+ 27
- 34
lib/chat/util_keyboard.dart Просмотреть файл

@@ -32,7 +32,6 @@ import 'package:file_picker/file_picker.dart';
import '../r.dart';
class UtilKeyboard extends StatelessWidget {
final double keyboardHeight;
final Function sendMsg;
@@ -163,13 +162,8 @@ class UtilKeyboard extends StatelessWidget {
showToast(I18n.of(context).cantt_voice);
return;
}
if (BlacklistMgr.isBlaklistMe(info.userId)) {
showToast(I18n.of(context).you_are_blaklisted);
return;
}
if (BlacklistMgr.isInMyblaklist(info.userId)) {
showToast(I18n.of(context).reject_message);
if (BlacklistMgr.isBlack(info.userId)) {
return;
}
@@ -303,39 +297,38 @@ class UtilKeyboard extends StatelessWidget {
int fileSize = file.lengthSync();
print('选择的文件 ${file.path} 大小 $fileSize');
if (fileSize > 33 * 1024 * 1024) {
showToast('文件大于33M');
return;
}
int friendId = 0;
if (!isGroup) {
friendId = Provider.of<int>(context);
}
if (fileSize > 33 * 1024 * 1024) {
showToast('文件大于33M');
return;
}
var fileName = file.path.split('/').last;
print('fileName $fileName');
int friendId = 0;
if (!isGroup) {
friendId = Provider.of<int>(context);
}
var ext = '';
var extList = fileName.split('.');
if (extList.length > 1) {
ext = extList.last;
}
print('ext $ext');
var fileName = file.path.split('/').last;
print('fileName $fileName');
var fileMsg = FileChat.create();
fileMsg.type = ext;
fileMsg.size = fileSize;
fileMsg.name = fileName;
var ext = '';
var extList = fileName.split('.');
if (extList.length > 1) {
ext = extList.last;
}
print('ext $ext');
var msg = MsgHandler.createSendMsg(ChatType.FileChatType, fileMsg.writeToBuffer(),
friendId: friendId,
localFile: file.path,
channelType:
isGroup ? ChatChannelType.Group : ChatChannelType.Session);
var fileMsg = FileChat.create();
fileMsg.type = ext;
fileMsg.size = fileSize;
fileMsg.name = fileName;
sendMsg(msg);
var msg = MsgHandler.createSendMsg(
ChatType.FileChatType, fileMsg.writeToBuffer(),
friendId: friendId,
localFile: file.path,
channelType: isGroup ? ChatChannelType.Group : ChatChannelType.Session);
sendMsg(msg);
}
void _sendVideo(BuildContext context) async {


+ 77
- 8
lib/generated/i18n.dart Просмотреть файл

@@ -2357,6 +2357,10 @@ class I18n implements WidgetsLocalizations {
String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)";
/// "發送到"
String get send_to => "發送到";
/// "搜索位置"
String get search_plach => "搜索位置";
/// "查找位置"
String get finding_place => "查找位置";
}

class _I18n_en_US extends I18n {
@@ -5846,8 +5850,7 @@ class _I18n_vi_VN extends I18n {
/// "你不能添加自己"
@override
String get not_add_Myself => "你不能添加自己";

/// "对方已拉黑了你"
/// "对方已拉黑了你"
@override
String get you_are_blaklisted => "对方已拉黑了你";
/// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"
@@ -5856,6 +5859,12 @@ class _I18n_vi_VN extends I18n {
/// "發送到"
@override
String get send_to => "發送到";
/// "搜索位置"
@override
String get search_plach => "搜索位置";
/// "查找位置"
@override
String get finding_place => "查找位置";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -8840,9 +8849,9 @@ class _I18n_zh_HK extends I18n {
/// "今日簽到可領取/s1積分"
@override
String get today_score => "今日簽到可領取/s1積分";
/// "1、每日簽到可領取積分,累計天數越多積分越高\n2、積分可兌換H幣,兌換將消耗對應積分,請慎重兌換\n3、每月最後一天將重置簽到,清零積分,請記得及時兌換"
/// "1、每日簽到可領取積分,累計天數越多積分越高\n2、積分可兌換H幣,兌換將消耗對應積分,請慎重兌換\n3、每月最後一天將重置簽到,清零積分,請記得及時兌換"
@override
String get sign_tips => "1、每日簽到可領取積分,累計天數越多積分越高\n2、積分可兌換H幣,兌換將消耗對應積分,請慎重兌換\n3、每月最後一天將重置簽到,清零積分,請記得及時兌換";
String get sign_tips => "1、每日簽到可領取積分,累計天數越多積分越高\n2、積分可兌換H幣,兌換將消耗對應積分,請慎重兌換\n3、每月最後一天將重置簽到,清零積分,請記得及時兌換";
/// "簽到"
@override
String get sign_in => "簽到";
@@ -9341,6 +9350,21 @@ class _I18n_zh_HK extends I18n {
/// "你不能添加自己"
@override
String get not_add_Myself => "你不能添加自己";
/// "對方已拉黑了你"
@override
String get you_are_blaklisted => "對方已拉黑了你";
/// "確定恢復已被焚毀的照片嗎?\n(已經看過的用戶可以再看一次)"
@override
String get confrim_recovery => "確定恢復已被焚毀的照片嗎?\n(已經看過的用戶可以再看一次)";
/// "發送到"
@override
String get send_to => "發送到";
/// "搜索位置"
@override
String get search_plach => "搜索位置";
/// "查找位置"
@override
String get finding_place => "查找位置";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -12325,9 +12349,9 @@ class _I18n_zh_CN extends _I18n_zh_HK {
/// "今日签到可领取/s1积分"
@override
String get today_score => "今日签到可领取/s1积分";
/// "1、每日签到可领取积分,累计天数越多积分越高\n2、积分可兑换H币,兑换将消耗对应积分,请慎重兑换\n3、每月最后一天将重置签到,清零积分,请记得及时兑换"
/// "1、每日签到可领取积分,累计天数越多积分越高\n2、积分可兑换H币,兑换将消耗对应积分,请慎重兑换\n3、每月最后一天将重置签到,清零积分,请记得及时兑换"
@override
String get sign_tips => "1、每日签到可领取积分,累计天数越多积分越高\n2、积分可兑换H币,兑换将消耗对应积分,请慎重兑换\n3、每月最后一天将重置签到,清零积分,请记得及时兑换";
String get sign_tips => "1、每日签到可领取积分,累计天数越多积分越高\n2、积分可兑换H币,兑换将消耗对应积分,请慎重兑换\n3、每月最后一天将重置签到,清零积分,请记得及时兑换";
/// "签到"
@override
String get sign_in => "签到";
@@ -12826,6 +12850,21 @@ class _I18n_zh_CN extends _I18n_zh_HK {
/// "你不能添加自己"
@override
String get not_add_Myself => "你不能添加自己";
/// "对方已拉黑了你"
@override
String get you_are_blaklisted => "对方已拉黑了你";
/// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"
@override
String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)";
/// "发送到"
@override
String get send_to => "发送到";
/// "搜索位置"
@override
String get search_plach => "搜索位置";
/// "查找位置"
@override
String get finding_place => "查找位置";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -16308,6 +16347,21 @@ class _I18n_ko_KR extends I18n {
/// "用户不存在"
@override
String get not_have_user => "用户不存在";
/// "对方已拉黑了你"
@override
String get you_are_blaklisted => "对方已拉黑了你";
/// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"
@override
String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)";
/// "發送到"
@override
String get send_to => "發送到";
/// "搜索位置"
@override
String get search_plach => "搜索位置";
/// "查找位置"
@override
String get finding_place => "查找位置";

@override
TextDirection get textDirection => TextDirection.ltr;
@@ -19292,9 +19346,9 @@ class _I18n_ja_JP extends I18n {
/// "本日サインして/s1ポイントが受け入れる"
@override
String get today_score => "本日サインして/s1ポイントが受け入れる";
/// "1.毎日サインしてポイントが受け入れます、累積日数が多ければ多いほどポイントが高くなります\n2.ポイントはH幤に交換できます、交換はポイントを消費しますので慎重に交換してください\n3.サインは毎月の最終日にリセットされ、ポイントもクリアされます。時間内に交換することを忘れないでください "
/// "1.毎日サインしてポイントが受け入れます、累積日数が多ければ多いほどポイントが高くなります.\n2.ポイントはH幤に交換できます、交換はポイントを消費しますので慎重に交換してください.\n3.サインは毎月の最終日にリセットされ、ポイントもクリアされます。時間内に交換することを忘れないでください."
@override
String get sign_tips => "1.毎日サインしてポイントが受け入れます、累積日数が多ければ多いほどポイントが高くなります\n2.ポイントはH幤に交換できます、交換はポイントを消費しますので慎重に交換してください\n3.サインは毎月の最終日にリセットされ、ポイントもクリアされます。時間内に交換することを忘れないでください ";
String get sign_tips => "1.毎日サインしてポイントが受け入れます、累積日数が多ければ多いほどポイントが高くなります.\n2.ポイントはH幤に交換できます、交換はポイントを消費しますので慎重に交換してください.\n3.サインは毎月の最終日にリセットされ、ポイントもクリアされます。時間内に交換することを忘れないでください.";
/// "サイン"
@override
String get sign_in => "サイン";
@@ -19793,6 +19847,21 @@ class _I18n_ja_JP extends I18n {
/// "你不能添加自己"
@override
String get not_add_Myself => "你不能添加自己";
/// "对方已拉黑了你"
@override
String get you_are_blaklisted => "对方已拉黑了你";
/// "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)"
@override
String get confrim_recovery => "确定恢复已被焚毁的照片吗?\n(已经看过的用户可以再看一次)";
/// "發送到"
@override
String get send_to => "發送到";
/// "搜索位置"
@override
String get search_plach => "搜索位置";
/// "查找位置"
@override
String get finding_place => "查找位置";

@override
TextDirection get textDirection => TextDirection.ltr;


+ 5
- 11
lib/home/ProfilePage.dart Просмотреть файл

@@ -1090,9 +1090,8 @@ class _ProfilePageState extends State<ProfilePage>
top: 20,
child: InkWell(
onTap: () async {
if (!userInfo.isLike) {
HttpUtil().setLove(userInfo.userId, () {
HttpUtil().setLove(userInfo.userId, () {
MessageMgr().emit('refresh_love_list',
{'UserId': userInfo.userId, 'flag': 0});
setState(() {
@@ -2090,7 +2089,8 @@ class _ProfilePageState extends State<ProfilePage>
description: I18n.of(context).recovery_photo,
showDivider: false,
showRightIcon: false,
onPressed: () async {CustomUI.buildOneConfirm(
onPressed: () async {
CustomUI.buildOneConfirm(
context,
I18n.of(context).confrim_recovery,
I18n.of(context).determine, () async {
@@ -2320,7 +2320,7 @@ class _ProfilePageState extends State<ProfilePage>
),
onTap: isblack
? () async {
HttpUtil().cancleBlackUser(
HttpUtil().cancleBlackUser(
userInfo.userId, () {
Navigator.of(context).pop();
isblack = false;
@@ -2529,13 +2529,7 @@ class _ProfilePageState extends State<ProfilePage>
showToast(I18n.of(context).cantt_voice);
return;
}
if (BlacklistMgr.isBlaklistMe(userInfo.userId)) {
showToast(I18n.of(context).you_are_blaklisted);
return;
}
if (BlacklistMgr.isInMyblaklist(userInfo.userId)) {
showToast(I18n.of(context).reject_message);
if (BlacklistMgr.isBlack(userInfo.userId)) {
return;
}
//对方关闭陌生人消息,则提示


+ 2
- 2
lib/home/SearchPage.dart Просмотреть файл

@@ -175,8 +175,8 @@ class _SearchPageState extends State<SearchPage> {
child: Stack(
children: <Widget>[
SmartRefresher(
enablePullDown: list.length > 0,
enablePullUp: true,
enablePullDown: !isLoading,
enablePullUp: !isLoading,
header: MaterialClassicHeader(),
footer: CustomUI.buildLoadingFooter(),
controller: _refreshController,


+ 2
- 1
lib/map/google_map_location_picker.dart Просмотреть файл

@@ -1,6 +1,7 @@
import 'dart:async';
import 'dart:convert';
import 'package:chat/generated/i18n.dart';
import 'package:chat/map/auto_comp_iete_item.dart';
import 'package:chat/map/location_provider.dart';
import 'package:chat/map/location_result.dart';
@@ -137,7 +138,7 @@ class LocationPickerState extends State<LocationPicker> {
),
Expanded(
child: Text(
"Finding place...",
"${I18n.of(context).finding_place}...",
style: TextStyle(
fontSize: 16,
),


+ 2
- 1
lib/map/search_input.dart Просмотреть файл

@@ -1,5 +1,6 @@
import 'dart:async';
import 'package:chat/generated/i18n.dart';
import 'package:flutter/material.dart';
/// Custom Search input field, showing the search and clear icons.
@@ -80,7 +81,7 @@ class SearchInputState extends State {
keyboardAppearance: Brightness.light,
style: TextStyle(textBaseline: TextBaseline.alphabetic),
decoration: InputDecoration(
hintText: 'Search place',
hintText: I18n.of(context).search_plach,
border: InputBorder.none,
),
controller: editController,


+ 18
- 0
lib/utils/blacklist_mgr.dart Просмотреть файл

@@ -1,3 +1,7 @@
import 'package:chat/generated/i18n.dart';
import 'package:chat/utils/LoadingDialog.dart';
import 'package:oktoast/oktoast.dart';
class BlacklistMgr {
//我拉黑的用户id
@@ -30,4 +34,18 @@ class BlacklistMgr {
static bool isBlaklistMe(int userId) {
return blacklistMeSet.contains(userId);
}
//判断是否被别人拉黑或者拉黑别人
static bool isBlack(int userId) {
if (isBlaklistMe(userId)) {
showToast(I18n.of(LoadingManage.context).you_are_blaklisted);
return true;
}
if (BlacklistMgr.isInMyblaklist(userId)) {
showToast(I18n.of(LoadingManage.context).reject_message);
return true;
}
return false;
}
}

Загрузка…
Отмена
Сохранить