mirror of
https://github.com/WuKongIM/WuKongIMFlutterSDK
synced 2025-05-28 06:32:19 +00:00
fix:修改切换网络时有时连接不上的问题
This commit is contained in:
commit
f6b405a0f7
@ -118,5 +118,7 @@
|
||||
* fix: Add query total unread quantity and query followed channels
|
||||
### 1.5.9
|
||||
* fix: Modify network monitoring
|
||||
### 1.6.0
|
||||
* fix: Error in modifying the channel extension data synchronized to the most recent session
|
||||
### 1.6.1
|
||||
* fix: 修复网络切换时有时无法连接问题
|
@ -319,7 +319,7 @@ class ListViewShowDataState extends State<ListViewShowData> {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (_) => const ChatPage(),
|
||||
builder: (context) => const ChatPage(),
|
||||
settings: RouteSettings(
|
||||
arguments: ChatChannel(
|
||||
msgList[pos].msg.channelID,
|
||||
@ -371,15 +371,15 @@ class ListViewShowDataState extends State<ListViewShowData> {
|
||||
_showDialog(BuildContext context) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext _context) => InputDialog(
|
||||
builder: (BuildContext ctx) => InputDialog(
|
||||
title: const Text("创建新的聊天"),
|
||||
back: (channelID, channelType) async {
|
||||
bool isSuccess = await HttpUtils.createGroup(channelID);
|
||||
if (isSuccess) {
|
||||
Navigator.push(
|
||||
context,
|
||||
ctx,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => ChatPage(),
|
||||
builder: (context) => const ChatPage(),
|
||||
settings: RouteSettings(
|
||||
arguments: ChatChannel(
|
||||
channelID,
|
||||
|
@ -43,7 +43,6 @@ class MyApp extends StatelessWidget {
|
||||
|
||||
class LoginDemo extends StatefulWidget {
|
||||
const LoginDemo({super.key});
|
||||
|
||||
@override
|
||||
LoginDemoState createState() => LoginDemoState();
|
||||
}
|
||||
@ -52,7 +51,9 @@ class LoginDemoState extends State<LoginDemo> {
|
||||
var apiStr = '';
|
||||
var uidStr = '';
|
||||
var tokenStr = '';
|
||||
|
||||
LoginDemoState() {
|
||||
WKIM.shared.connectionManager.disconnect(false);
|
||||
}
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
@ -156,10 +157,10 @@ class LoginDemoState extends State<LoginDemo> {
|
||||
UserInfo.uid = uidStr;
|
||||
IMUtils.initIM().then((result) {
|
||||
if (result) {
|
||||
Navigator.push(
|
||||
Navigator.pushAndRemoveUntil(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (_) => const HomePage()));
|
||||
MaterialPageRoute(builder: (_) => const HomePage()),
|
||||
(Route<dynamic> route) => false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -160,8 +160,11 @@ class ChannelDB {
|
||||
Future<List<WKChannel>> queryWithMuted() async {
|
||||
List<WKChannel> list = [];
|
||||
var sql = "select * from ${WKDBConst.tableChannel} where mute=1";
|
||||
List<Map<String, Object?>> results =
|
||||
await WKDBHelper.shared.getDB()!.rawQuery(sql);
|
||||
List<Map<String, Object?>>? results =
|
||||
await WKDBHelper.shared.getDB()?.rawQuery(sql);
|
||||
if (results == null || results.isEmpty) {
|
||||
return list;
|
||||
}
|
||||
for (Map<String, Object?> data in results) {
|
||||
var channel = WKDBConst.serializeChannel(data);
|
||||
list.add(channel);
|
||||
|
@ -32,6 +32,9 @@ class ConversationDB {
|
||||
for (Map<String, Object?> data in results) {
|
||||
WKConversationMsg msg = WKDBConst.serializeCoversation(data);
|
||||
WKChannel wkChannel = WKDBConst.serializeChannel(data);
|
||||
wkChannel.remoteExtraMap =
|
||||
WKDBConst.readDynamic(data, 'channel_remote_extra');
|
||||
wkChannel.localExtra = WKDBConst.readDynamic(data, 'channel_extra');
|
||||
WKUIConversationMsg uiMsg = getUIMsg(msg);
|
||||
uiMsg.setWkChannel(wkChannel);
|
||||
list.add(uiMsg);
|
||||
@ -102,7 +105,7 @@ class ConversationDB {
|
||||
var channels = await ChannelDB.shared.queryWithMuted();
|
||||
var channelIds = [];
|
||||
var sql = "";
|
||||
List<Map<String, Object?>> list;
|
||||
List<Map<String, Object?>>? list;
|
||||
if (channels.isNotEmpty) {
|
||||
for (var channel in channels) {
|
||||
channelIds.add(channel.channelID);
|
||||
@ -113,13 +116,14 @@ class ConversationDB {
|
||||
} else {
|
||||
sql =
|
||||
"select SUM(unread_count) count from ${WKDBConst.tableConversation}";
|
||||
list = await WKDBHelper.shared.getDB()!.rawQuery(sql);
|
||||
list = await WKDBHelper.shared.getDB()?.rawQuery(sql);
|
||||
}
|
||||
if (list.isNotEmpty) {
|
||||
dynamic data = list[0];
|
||||
count = WKDBConst.readInt(data, 'count');
|
||||
Logs.error('总数量$count');
|
||||
if (list == null || list.isEmpty) {
|
||||
return count;
|
||||
}
|
||||
dynamic data = list[0];
|
||||
count = WKDBConst.readInt(data, 'count');
|
||||
Logs.error('总数量$count');
|
||||
return count;
|
||||
}
|
||||
|
||||
|
@ -34,15 +34,17 @@ class ReminderDB {
|
||||
Future<List<WKReminder>> queryWithChannel(
|
||||
String channelID, int channelType, int done) async {
|
||||
List<WKReminder> list = [];
|
||||
List<Map<String, Object?>> results = await WKDBHelper.shared.getDB()!.query(
|
||||
WKDBConst.tableReminders,
|
||||
where: "channel_id=? and channel_type=? and done=?",
|
||||
whereArgs: [channelID, channelType, done],
|
||||
orderBy: "message_seq desc");
|
||||
if (results.isNotEmpty) {
|
||||
for (Map<String, Object?> data in results) {
|
||||
list.add(WKDBConst.serializeReminder(data));
|
||||
}
|
||||
List<Map<String, Object?>>? results = await WKDBHelper.shared
|
||||
.getDB()
|
||||
?.query(WKDBConst.tableReminders,
|
||||
where: "channel_id=? and channel_type=? and done=?",
|
||||
whereArgs: [channelID, channelType, done],
|
||||
orderBy: "message_seq desc");
|
||||
if (results == null || results.isEmpty) {
|
||||
return list;
|
||||
}
|
||||
for (Map<String, Object?> data in results) {
|
||||
list.add(WKDBConst.serializeReminder(data));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user