增加一个硬编码
This commit is contained in:
parent
88d9428970
commit
9cd4812987
@ -48,13 +48,54 @@ class SCGlobalConfig {
|
|||||||
static num get gameAppid => AppConfig.current.gameAppid;
|
static num get gameAppid => AppConfig.current.gameAppid;
|
||||||
static String get gameAppChannel => AppConfig.current.gameAppChannel;
|
static String get gameAppChannel => AppConfig.current.gameAppChannel;
|
||||||
|
|
||||||
///全服广播大群
|
///全服广播大群
|
||||||
static String get bigBroadcastGroup => AppConfig.current.bigBroadcastGroup;
|
static String get bigBroadcastGroup => AppConfig.current.bigBroadcastGroup;
|
||||||
|
|
||||||
static String get imAdmin => AppConfig.current.imAdmin;
|
static String get imAdmin => AppConfig.current.imAdmin;
|
||||||
|
static const Set<String> _extraSystemUserIds = {"yuminotice"};
|
||||||
///财富榜单
|
|
||||||
static String get wealthRankUrl => AppConfig.current.wealthRankUrl;
|
static String _normalizeConversationUserId(String conversationId) {
|
||||||
|
return conversationId.startsWith("c2c_")
|
||||||
|
? conversationId.replaceFirst("c2c_", "")
|
||||||
|
: conversationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Set<String> get systemUserIds {
|
||||||
|
return {
|
||||||
|
"administrator",
|
||||||
|
_normalizeConversationUserId(imAdmin),
|
||||||
|
..._extraSystemUserIds,
|
||||||
|
}.where((element) => element.isNotEmpty).toSet();
|
||||||
|
}
|
||||||
|
|
||||||
|
static Set<String> get systemConversationIds {
|
||||||
|
return {
|
||||||
|
"administrator",
|
||||||
|
...systemUserIds
|
||||||
|
.where((element) => element != "administrator")
|
||||||
|
.map((element) => "c2c_$element"),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
static String get primarySystemUserId => _normalizeConversationUserId(imAdmin);
|
||||||
|
static String get primarySystemConversationId => "c2c_$primarySystemUserId";
|
||||||
|
|
||||||
|
static bool isSystemConversationId(String? conversationId) {
|
||||||
|
if (conversationId == null || conversationId.isEmpty) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return systemConversationIds.contains(conversationId);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isSystemUserId(String? userId) {
|
||||||
|
if (userId == null || userId.isEmpty) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return systemUserIds.contains(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
///财富榜单
|
||||||
|
static String get wealthRankUrl => AppConfig.current.wealthRankUrl;
|
||||||
|
|
||||||
///魅力榜
|
///魅力榜
|
||||||
static String get charmRankUrl => AppConfig.current.charmRankUrl;
|
static String get charmRankUrl => AppConfig.current.charmRankUrl;
|
||||||
|
|||||||
@ -4,20 +4,17 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|||||||
import 'package:yumi/app_localizations.dart';
|
import 'package:yumi/app_localizations.dart';
|
||||||
import 'package:yumi/ui_kit/components/sc_debounce_widget.dart';
|
import 'package:yumi/ui_kit/components/sc_debounce_widget.dart';
|
||||||
import 'package:yumi/ui_kit/components/text/sc_text.dart';
|
import 'package:yumi/ui_kit/components/text/sc_text.dart';
|
||||||
import 'package:yumi/services/audio/rtm_manager.dart';
|
import 'package:yumi/services/audio/rtm_manager.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/conversation_type.dart';
|
import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/models/v2_tim_conversation.dart';
|
import 'package:tencent_cloud_chat_sdk/tencent_im_sdk_plugin.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart';
|
import 'package:yumi/app/constants/sc_global_config.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/tencent_im_sdk_plugin.dart';
|
|
||||||
import 'package:yumi/app/constants/sc_global_config.dart';
|
|
||||||
import 'package:yumi/app/config/business_logic_strategy.dart';
|
import 'package:yumi/app/config/business_logic_strategy.dart';
|
||||||
import 'package:yumi/app/routes/sc_fluro_navigator.dart';
|
import 'package:yumi/app/routes/sc_fluro_navigator.dart';
|
||||||
import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart';
|
import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart';
|
||||||
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
||||||
import 'package:yumi/ui_kit/theme/socialchat_theme.dart';
|
import 'package:yumi/ui_kit/theme/socialchat_theme.dart';
|
||||||
import 'package:yumi/ui_kit/widgets/msg/message_conversation_list_page.dart';
|
import 'package:yumi/ui_kit/widgets/msg/message_conversation_list_page.dart';
|
||||||
import 'package:yumi/modules/chat/message/sc_message_friends_page.dart';
|
|
||||||
|
|
||||||
import '../../index/main_route.dart';
|
import '../../index/main_route.dart';
|
||||||
import '../chat_route.dart';
|
import '../chat_route.dart';
|
||||||
@ -326,16 +323,12 @@ class _MessagePageState extends State<SCMessagePage> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
var conversation = V2TimConversation(
|
var conversation = provider.getPreferredSystemConversation();
|
||||||
type: ConversationType.V2TIM_C2C,
|
provider.updateSystemCount(0);
|
||||||
userID: SCGlobalConfig.imAdmin.replaceFirst('c2c_', ''),
|
var bool = await provider.startConversation(conversation);
|
||||||
conversationID: SCGlobalConfig.imAdmin,
|
if (!bool) return;
|
||||||
);
|
|
||||||
provider.updateSystemCount(0);
|
|
||||||
var bool = await provider.startConversation(conversation);
|
|
||||||
if (!bool) return;
|
|
||||||
var json = jsonEncode(conversation.toJson());
|
var json = jsonEncode(conversation.toJson());
|
||||||
SCNavigatorUtils.push(
|
SCNavigatorUtils.push(
|
||||||
context,
|
context,
|
||||||
|
|||||||
@ -258,9 +258,10 @@ class _SCMessageChatPageState extends State<SCMessageChatPage> {
|
|||||||
top: false,
|
top: false,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
if (currentConversation?.conversationID !=
|
if (!SCGlobalConfig.isSystemConversationId(
|
||||||
"administrator")
|
currentConversation?.conversationID,
|
||||||
_input(),
|
))
|
||||||
|
_input(),
|
||||||
_tools(provider),
|
_tools(provider),
|
||||||
_emoji(),
|
_emoji(),
|
||||||
// _fahongbao(),
|
// _fahongbao(),
|
||||||
@ -279,12 +280,16 @@ class _SCMessageChatPageState extends State<SCMessageChatPage> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadFriend() {
|
void loadFriend() {
|
||||||
SCLoadingManager.show();
|
if (SCGlobalConfig.isSystemConversationId(currentConversation?.conversationID) ||
|
||||||
Future.wait([
|
SCGlobalConfig.isSystemUserId(currentConversation?.userID)) {
|
||||||
SCAccountRepository().loadUserInfo("${currentConversation?.userID}"),
|
return;
|
||||||
SCAccountRepository().friendRelationCheck(
|
}
|
||||||
"${currentConversation?.userID}",
|
SCLoadingManager.show();
|
||||||
|
Future.wait([
|
||||||
|
SCAccountRepository().loadUserInfo("${currentConversation?.userID}"),
|
||||||
|
SCAccountRepository().friendRelationCheck(
|
||||||
|
"${currentConversation?.userID}",
|
||||||
),
|
),
|
||||||
])
|
])
|
||||||
.then((result) {
|
.then((result) {
|
||||||
|
|||||||
@ -16,11 +16,12 @@ import 'package:yumi/shared/data_sources/sources/local/floating_screen_manager.d
|
|||||||
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
||||||
import 'package:yumi/services/audio/rtc_manager.dart';
|
import 'package:yumi/services/audio/rtc_manager.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/V2TimAdvancedMsgListener.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/V2TimAdvancedMsgListener.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/V2TimConversationListener.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/V2TimConversationListener.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/V2TimGroupListener.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/V2TimGroupListener.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/V2TimSDKListener.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/V2TimSDKListener.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/group_type.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/conversation_type.dart';
|
||||||
|
import 'package:tencent_cloud_chat_sdk/enum/group_type.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/log_level_enum.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/log_level_enum.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/message_status.dart';
|
import 'package:tencent_cloud_chat_sdk/enum/message_status.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/manager/v2_tim_group_manager.dart';
|
import 'package:tencent_cloud_chat_sdk/manager/v2_tim_group_manager.dart';
|
||||||
@ -49,8 +50,7 @@ import 'package:yumi/shared/business_logic/models/res/sc_broad_cast_luck_gift_pu
|
|||||||
import 'package:yumi/shared/business_logic/models/res/broad_cast_mic_change_push.dart';
|
import 'package:yumi/shared/business_logic/models/res/broad_cast_mic_change_push.dart';
|
||||||
import 'package:yumi/shared/business_logic/models/res/gift_res.dart';
|
import 'package:yumi/shared/business_logic/models/res/gift_res.dart';
|
||||||
import 'package:yumi/shared/business_logic/models/res/sc_public_message_page_res.dart';
|
import 'package:yumi/shared/business_logic/models/res/sc_public_message_page_res.dart';
|
||||||
import 'package:yumi/shared/business_logic/models/res/sc_room_rocket_status_res.dart';
|
import 'package:yumi/shared/business_logic/models/res/sc_room_theme_list_res.dart';
|
||||||
import 'package:yumi/shared/business_logic/models/res/sc_room_theme_list_res.dart';
|
|
||||||
import 'package:yumi/ui_kit/widgets/room/invite/invite_room_dialog.dart';
|
import 'package:yumi/ui_kit/widgets/room/invite/invite_room_dialog.dart';
|
||||||
import 'package:yumi/ui_kit/widgets/room/room_msg_item.dart';
|
import 'package:yumi/ui_kit/widgets/room/room_msg_item.dart';
|
||||||
import 'package:yumi/shared/business_logic/models/res/login_res.dart';
|
import 'package:yumi/shared/business_logic/models/res/login_res.dart';
|
||||||
@ -113,18 +113,48 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
|||||||
Debouncer debouncer = Debouncer();
|
Debouncer debouncer = Debouncer();
|
||||||
List<V2TimConversation> conversationList = [];
|
List<V2TimConversation> conversationList = [];
|
||||||
|
|
||||||
///客服
|
///客服
|
||||||
SocialChatUserProfile? customerInfo;
|
SocialChatUserProfile? customerInfo;
|
||||||
|
|
||||||
void getConversationList() {
|
int _systemUnreadCount() {
|
||||||
List<V2TimConversation> list = conversationMap?.values?.toList() ?? [];
|
int count = 0;
|
||||||
list.removeWhere((element) {
|
for (final conversationId in SCGlobalConfig.systemConversationIds) {
|
||||||
if (element.conversationID == SCGlobalConfig.imAdmin) {
|
count += conversationMap[conversationId]?.unreadCount ?? 0;
|
||||||
return true;
|
}
|
||||||
}
|
return count;
|
||||||
if (element.conversationID == "c2c_${customerInfo?.id}") {
|
}
|
||||||
return true;
|
|
||||||
}
|
V2TimConversation getPreferredSystemConversation() {
|
||||||
|
final systemConversations =
|
||||||
|
conversationMap.values
|
||||||
|
.where(
|
||||||
|
(element) =>
|
||||||
|
SCGlobalConfig.isSystemConversationId(element.conversationID),
|
||||||
|
)
|
||||||
|
.toList()
|
||||||
|
..sort((e1, e2) {
|
||||||
|
final time1 = e1.lastMessage?.timestamp ?? 0;
|
||||||
|
final time2 = e2.lastMessage?.timestamp ?? 0;
|
||||||
|
return time2.compareTo(time1);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (systemConversations.isNotEmpty) {
|
||||||
|
return systemConversations.first;
|
||||||
|
}
|
||||||
|
|
||||||
|
return V2TimConversation(
|
||||||
|
type: ConversationType.V2TIM_C2C,
|
||||||
|
userID: SCGlobalConfig.primarySystemUserId,
|
||||||
|
conversationID: SCGlobalConfig.primarySystemConversationId,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void getConversationList() {
|
||||||
|
List<V2TimConversation> list = conversationMap.values.toList();
|
||||||
|
list.removeWhere((element) {
|
||||||
|
if (element.conversationID == "c2c_${customerInfo?.id}") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (element.conversationID == "c2c_atyou-newsletter") {
|
if (element.conversationID == "c2c_atyou-newsletter") {
|
||||||
///删除这个会话,后台乱发的联系人。。防止无效未读数
|
///删除这个会话,后台乱发的联系人。。防止无效未读数
|
||||||
clearC2CHistoryMessage(element.conversationID, false);
|
clearC2CHistoryMessage(element.conversationID, false);
|
||||||
@ -135,16 +165,15 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
list?.sort((e1, e2) {
|
list.sort((e1, e2) {
|
||||||
int time1 = e1.lastMessage?.timestamp ?? 0;
|
int time1 = e1.lastMessage?.timestamp ?? 0;
|
||||||
int time2 = e2.lastMessage?.timestamp ?? 0;
|
int time2 = e2.lastMessage?.timestamp ?? 0;
|
||||||
return time2.compareTo(time1);
|
return time2.compareTo(time1);
|
||||||
});
|
});
|
||||||
conversationList = list;
|
conversationList = list;
|
||||||
systemUnReadCount =
|
systemUnReadCount = _systemUnreadCount();
|
||||||
conversationMap[SCGlobalConfig.imAdmin]?.unreadCount ?? 0;
|
customerUnReadCount =
|
||||||
customerUnReadCount =
|
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount ?? 0;
|
||||||
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount ?? 0;
|
|
||||||
|
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
@ -205,12 +234,11 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
|||||||
// _onRefreshConversation(conversationList);
|
// _onRefreshConversation(conversationList);
|
||||||
initConversation();
|
initConversation();
|
||||||
},
|
},
|
||||||
onTotalUnreadMessageCountChanged: (int totalUnreadCount) {
|
onTotalUnreadMessageCountChanged: (int totalUnreadCount) {
|
||||||
messageUnReadCount = totalUnreadCount;
|
messageUnReadCount = totalUnreadCount;
|
||||||
systemUnReadCount =
|
systemUnReadCount = _systemUnreadCount();
|
||||||
conversationMap[SCGlobalConfig.imAdmin]?.unreadCount ?? 0;
|
customerUnReadCount =
|
||||||
customerUnReadCount =
|
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount ?? 0;
|
||||||
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount ?? 0;
|
|
||||||
allUnReadCount =
|
allUnReadCount =
|
||||||
messageUnReadCount +
|
messageUnReadCount +
|
||||||
notifcationUnReadCount +
|
notifcationUnReadCount +
|
||||||
@ -450,21 +478,16 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (message?.userID == customerInfo?.id) {
|
if (message?.userID == customerInfo?.id) {
|
||||||
if (onNewMessageCurrentConversationListener == null) {
|
|
||||||
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount =
|
|
||||||
(conversationMap["c2c_${customerInfo?.id}"]?.unreadCount ?? 0) + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (message?.userID == SCGlobalConfig.imAdmin.replaceFirst('c2c_', '')) {
|
|
||||||
if (onNewMessageCurrentConversationListener == null) {
|
if (onNewMessageCurrentConversationListener == null) {
|
||||||
conversationMap[SCGlobalConfig.imAdmin]?.unreadCount =
|
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount =
|
||||||
(conversationMap[SCGlobalConfig.imAdmin]?.unreadCount ?? 0) + 1;
|
(conversationMap["c2c_${customerInfo?.id}"]?.unreadCount ?? 0) + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
notifyListeners();
|
systemUnReadCount = _systemUnreadCount();
|
||||||
onNewMessageCurrentConversationListener?.call(message, msgId: msgId);
|
notifyListeners();
|
||||||
}
|
onNewMessageCurrentConversationListener?.call(message, msgId: msgId);
|
||||||
|
}
|
||||||
|
|
||||||
void _onRefreshConversation(List<V2TimConversation> conversations) {
|
void _onRefreshConversation(List<V2TimConversation> conversations) {
|
||||||
for (V2TimConversation conversation in conversations) {
|
for (V2TimConversation conversation in conversations) {
|
||||||
@ -1366,11 +1389,13 @@ class RealTimeMessagingManager extends ChangeNotifier {
|
|||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateSystemCount(int count) {
|
void updateSystemCount(int count) {
|
||||||
conversationMap[SCGlobalConfig.imAdmin]?.unreadCount = 0;
|
for (final conversationId in SCGlobalConfig.systemConversationIds) {
|
||||||
systemUnReadCount = 0;
|
conversationMap[conversationId]?.unreadCount = 0;
|
||||||
notifyListeners();
|
}
|
||||||
}
|
systemUnReadCount = 0;
|
||||||
|
notifyListeners();
|
||||||
|
}
|
||||||
|
|
||||||
void updateCustomerCount(int count) {
|
void updateCustomerCount(int count) {
|
||||||
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount = 0;
|
conversationMap["c2c_${customerInfo?.id}"]?.unreadCount = 0;
|
||||||
|
|||||||
@ -1,24 +1,19 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:ui' as ui;
|
import 'dart:ui' as ui;
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:flutter_debouncer/flutter_debouncer.dart';
|
import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
||||||
import 'package:yumi/shared/data_sources/sources/local/data_persistence.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:yumi/shared/data_sources/sources/local/user_manager.dart';
|
import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:tencent_cloud_chat_sdk/tencent_im_sdk_plugin.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/enum/conversation_type.dart';
|
|
||||||
import 'package:tencent_cloud_chat_sdk/models/v2_tim_conversation.dart';
|
import 'package:yumi/app_localizations.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart';
|
import 'package:yumi/ui_kit/components/sc_debounce_widget.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/tencent_im_sdk_plugin.dart';
|
import 'package:yumi/ui_kit/components/text/sc_text.dart';
|
||||||
|
import 'package:yumi/app/routes/sc_fluro_navigator.dart';
|
||||||
import 'package:yumi/app_localizations.dart';
|
import 'package:yumi/services/audio/rtm_manager.dart';
|
||||||
import 'package:yumi/ui_kit/components/sc_debounce_widget.dart';
|
|
||||||
import 'package:yumi/ui_kit/components/text/sc_text.dart';
|
|
||||||
import 'package:yumi/app/constants/sc_global_config.dart';
|
|
||||||
import 'package:yumi/app/routes/sc_fluro_navigator.dart';
|
|
||||||
import 'package:yumi/services/audio/rtm_manager.dart';
|
|
||||||
import 'package:yumi/ui_kit/widgets/msg/message_conversation_list_page.dart';
|
import 'package:yumi/ui_kit/widgets/msg/message_conversation_list_page.dart';
|
||||||
|
|
||||||
import '../../../modules/chat/chat_route.dart';
|
import '../../../modules/chat/chat_route.dart';
|
||||||
@ -347,16 +342,12 @@ class _BottomMessageConversationListPageState
|
|||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
var conversation = V2TimConversation(
|
var conversation = provider.getPreferredSystemConversation();
|
||||||
type: ConversationType.V2TIM_C2C,
|
provider.updateSystemCount(0);
|
||||||
userID: SCGlobalConfig.imAdmin.replaceFirst('c2c_', ''),
|
var bool = await provider.startConversation(conversation);
|
||||||
conversationID: SCGlobalConfig.imAdmin,
|
if (!bool) return;
|
||||||
);
|
|
||||||
provider.updateSystemCount(0);
|
|
||||||
var bool = await provider.startConversation(conversation);
|
|
||||||
if (!bool) return;
|
|
||||||
var json = jsonEncode(conversation.toJson());
|
var json = jsonEncode(conversation.toJson());
|
||||||
SCNavigatorUtils.push(
|
SCNavigatorUtils.push(
|
||||||
context,
|
context,
|
||||||
|
|||||||
@ -13,10 +13,11 @@ import 'package:tencent_cloud_chat_sdk/models/v2_tim_conversation.dart';
|
|||||||
import 'package:tencent_cloud_chat_sdk/models/v2_tim_custom_elem.dart';
|
import 'package:tencent_cloud_chat_sdk/models/v2_tim_custom_elem.dart';
|
||||||
import 'package:tencent_cloud_chat_sdk/models/v2_tim_text_elem.dart';
|
import 'package:tencent_cloud_chat_sdk/models/v2_tim_text_elem.dart';
|
||||||
import 'package:yumi/app_localizations.dart';
|
import 'package:yumi/app_localizations.dart';
|
||||||
import 'package:yumi/ui_kit/components/dialog/dialog_base.dart';
|
import 'package:yumi/ui_kit/components/dialog/dialog_base.dart';
|
||||||
import 'package:yumi/ui_kit/components/sc_compontent.dart';
|
import 'package:yumi/ui_kit/components/sc_compontent.dart';
|
||||||
import 'package:yumi/ui_kit/components/text/sc_text.dart';
|
import 'package:yumi/ui_kit/components/text/sc_text.dart';
|
||||||
import 'package:yumi/app/routes/sc_fluro_navigator.dart';
|
import 'package:yumi/app/constants/sc_global_config.dart';
|
||||||
|
import 'package:yumi/app/routes/sc_fluro_navigator.dart';
|
||||||
import 'package:yumi/shared/tools/sc_date_utils.dart';
|
import 'package:yumi/shared/tools/sc_date_utils.dart';
|
||||||
import 'package:yumi/shared/data_sources/sources/repositories/sc_user_repository_impl.dart';
|
import 'package:yumi/shared/data_sources/sources/repositories/sc_user_repository_impl.dart';
|
||||||
import 'package:yumi/shared/business_logic/models/res/login_res.dart';
|
import 'package:yumi/shared/business_logic/models/res/login_res.dart';
|
||||||
@ -347,21 +348,25 @@ class _ConversationItemState extends State<ConversationItem> {
|
|||||||
}*/
|
}*/
|
||||||
// print('time :${Platform.isAndroid ? (conversation.lastMsg?.timestamp ?? 0) * 1000 : conversation.lastMsg?.timestamp}');
|
// print('time :${Platform.isAndroid ? (conversation.lastMsg?.timestamp ?? 0) * 1000 : conversation.lastMsg?.timestamp}');
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
if (conversation != null) {
|
if (conversation != null) {
|
||||||
conversation.unreadCount = 0;
|
conversation.unreadCount = 0;
|
||||||
var bool = await Provider.of<RtmProvider>(
|
var bool = await Provider.of<RtmProvider>(
|
||||||
context,
|
context,
|
||||||
listen: false,
|
listen: false,
|
||||||
).startConversation(conversation);
|
).startConversation(conversation);
|
||||||
if (!bool) return;
|
if (!bool) return;
|
||||||
var json = jsonEncode(widget.conversation.toJson());
|
var json = jsonEncode(widget.conversation.toJson());
|
||||||
SCNavigatorUtils.push(
|
final route =
|
||||||
context,
|
SCGlobalConfig.isSystemConversationId(conversation.conversationID)
|
||||||
"${SCChatRouter.chat}?conversation=${Uri.encodeComponent(json)}",
|
? SCChatRouter.systemChat
|
||||||
);
|
: SCChatRouter.chat;
|
||||||
}
|
SCNavigatorUtils.push(
|
||||||
},
|
context,
|
||||||
|
"$route?conversation=${Uri.encodeComponent(json)}",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
onLongPress: () {
|
onLongPress: () {
|
||||||
showDeleteConfirm();
|
showDeleteConfirm();
|
||||||
},
|
},
|
||||||
@ -521,13 +526,13 @@ class _ConversationItemState extends State<ConversationItem> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loadUserInfo() {
|
void loadUserInfo() {
|
||||||
if (conversation.conversationID != "administrator" &&
|
if (!SCGlobalConfig.isSystemConversationId(conversation.conversationID) &&
|
||||||
conversation.conversationID != "customer" &&
|
conversation.conversationID != "customer" &&
|
||||||
conversation.conversationID != "article") {
|
conversation.conversationID != "article") {
|
||||||
SCAccountRepository().loadUserInfo("${conversation.userID}").then((value) {
|
SCAccountRepository().loadUserInfo("${conversation.userID}").then((value) {
|
||||||
user = value;
|
user = value;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user