update connect

This commit is contained in:
SL 2023-08-19 19:42:56 +08:00
parent 28c84355dd
commit ab8abdfbbd
9 changed files with 120 additions and 108 deletions

View File

@ -7,8 +7,14 @@
## 快速入门 ## 快速入门
#### 安装
```
dependencies:
wukongimfluttersdk: ^1.0.1
```
#### 引入
```dart ```dart
import 'package:wukongimfluttersdk/wkim.dart';
``` ```
**初始化sdk** **初始化sdk**

View File

@ -11,6 +11,9 @@ class ChatChannel {
class CommonUtils { class CommonUtils {
static String getAvatar(String channelID) { static String getAvatar(String channelID) {
if (channelID == '') {
return '';
}
return channelID.substring(0, 1); return channelID.substring(0, 1);
} }

View File

@ -57,7 +57,7 @@ class LoginDemoState extends State<LoginDemo> {
TextStyle(fontSize: 30, fontWeight: FontWeight.bold), TextStyle(fontSize: 30, fontWeight: FontWeight.bold),
), ),
Text( Text(
'悟空IM演示程序。当前SDK版本V1.0.0', '悟空IM演示程序。当前SDK版本V1.0.1',
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: style:
TextStyle(fontSize: 20, fontWeight: FontWeight.bold), TextStyle(fontSize: 20, fontWeight: FontWeight.bold),

View File

@ -499,7 +499,7 @@ packages:
path: ".." path: ".."
relative: true relative: true
source: path source: path
version: "1.0.0" version: "1.0.1"
x25519: x25519:
dependency: transitive dependency: transitive
description: description:

View File

@ -78,11 +78,14 @@ class ChannelDB {
List<Map<String, Object?>> list = List<Map<String, Object?>> list =
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (list.isNotEmpty) { if (list.isNotEmpty) {
String channelID = list[0]['channel_id']!.toString(); dynamic data = list[0];
if (data != null) {
String channelID = WKDBConst.readString(data, 'channel_id');
if (channelID != '' && channelID.isNotEmpty) { if (channelID != '' && channelID.isNotEmpty) {
isExit = true; isExit = true;
} }
} }
}
return isExit; return isExit;
} }

View File

@ -43,7 +43,7 @@ class ChannelMemberDB {
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (results.isNotEmpty) { if (results.isNotEmpty) {
dynamic data = results[0]; dynamic data = results[0];
version = data['version']; version = WKDBConst.readInt(data, 'version');
} }
return version; return version;
} }

View File

@ -27,27 +27,27 @@ class WKDBConst {
msg.messageID = readString(data, 'message_id'); msg.messageID = readString(data, 'message_id');
msg.messageSeq = readInt(data, 'message_seq'); msg.messageSeq = readInt(data, 'message_seq');
msg.clientSeq = readInt(data, 'client_seq'); msg.clientSeq = readInt(data, 'client_seq');
msg.timestamp = data['timestamp']; msg.timestamp = readInt(data, 'timestamp');
msg.fromUID = data['from_uid']; msg.fromUID = readString(data, ' from_uid');
msg.channelID = data['channel_id']; msg.channelID = readString(data, 'channel_id');
msg.channelType = data['channel_type']; msg.channelType = readInt(data, 'channel_type');
msg.contentType = data['type']; msg.contentType = readInt(data, 'type');
msg.content = data['content']; msg.content = readString(data, 'content');
msg.status = data['status']; msg.status = readInt(data, 'status');
msg.voiceStatus = data['voice_status']; msg.voiceStatus = readInt(data, 'voice_status');
msg.searchableWord = data['searchable_word']; msg.searchableWord = readString(data, 'searchable_word');
msg.clientMsgNO = data['client_msg_no']; msg.clientMsgNO = readString(data, 'client_msg_no');
msg.isDeleted = data['is_deleted']; msg.isDeleted = readInt(data, 'is_deleted');
msg.orderSeq = data['order_seq']; msg.orderSeq = readInt(data, 'order_seq');
int setting = data['setting']; int setting = readInt(data, 'setting');
msg.setting = Setting().decode(setting); msg.setting = Setting().decode(setting);
msg.viewed = data['viewed']; msg.viewed = readInt(data, 'viewed');
msg.viewedAt = data['viewed_at']; msg.viewedAt = readInt(data, 'viewed_at');
msg.topicID = data['topic_id']; msg.topicID = readString(data, 'topic_id');
// //
msg.wkMsgExtra = serializeMsgExtra(data); msg.wkMsgExtra = serializeMsgExtra(data);
String extra = data['extra']; String extra = readString(data, 'extra');
if (extra != '') { if (extra != '') {
msg.localExtraMap = jsonEncode(extra); msg.localExtraMap = jsonEncode(extra);
} }
@ -85,32 +85,32 @@ class WKDBConst {
static WKMsgReaction serializeMsgReation(dynamic data) { static WKMsgReaction serializeMsgReation(dynamic data) {
WKMsgReaction reaction = WKMsgReaction(); WKMsgReaction reaction = WKMsgReaction();
reaction.channelID = data['channel_id']; reaction.channelID = readString(data, 'channel_id');
reaction.channelType = data['channel_type']; reaction.channelType = readInt(data, 'channel_type');
reaction.isDeleted = data['is_deleted']; reaction.isDeleted = readInt(data, 'is_deleted');
reaction.uid = data['uid']; reaction.uid = readString(data, 'uid');
reaction.name = data['name']; reaction.name = readString(data, 'name');
reaction.messageID = data['message_id']; reaction.messageID = readString(data, 'message_id');
reaction.createdAt = data['created_at']; reaction.createdAt = readString(data, 'created_at');
reaction.seq = data['seq']; reaction.seq = readInt(data, 'seq');
reaction.emoji = data['emoji']; reaction.emoji = readString(data, 'emoji');
reaction.isDeleted = data['is_deleted']; reaction.isDeleted = readInt(data, 'is_deleted');
return reaction; return reaction;
} }
static WKConversationMsg serializeCoversation(dynamic data) { static WKConversationMsg serializeCoversation(dynamic data) {
WKConversationMsg msg = WKConversationMsg(); WKConversationMsg msg = WKConversationMsg();
msg.channelID = data['channel_id']; msg.channelID = readString(data, 'channel_id');
msg.channelType = data['channel_type']; msg.channelType = readInt(data, 'channel_type');
msg.lastMsgTimestamp = data['last_msg_timestamp']; msg.lastMsgTimestamp = readInt(data, 'last_msg_timestamp');
msg.unreadCount = data['unread_count']; msg.unreadCount = readInt(data, 'unread_count');
msg.isDeleted = data['is_deleted']; msg.isDeleted = readInt(data, 'is_deleted');
msg.version = data['version']; msg.version = readInt(data, 'version');
msg.lastClientMsgNO = data['last_client_msg_no']; msg.lastClientMsgNO = readString(data, 'last_client_msg_no');
msg.lastMsgSeq = data['last_msg_seq']; msg.lastMsgSeq = readInt(data, 'last_msg_seq');
msg.parentChannelID = data['parent_channel_id']; msg.parentChannelID = readString(data, 'parent_channel_id');
msg.parentChannelType = data['parent_channel_type']; msg.parentChannelType = readInt(data, 'parent_channel_type');
String extra = data['extra']; String extra = readString(data, 'extra');
if (extra != '') { if (extra != '') {
msg.localExtraMap = jsonDecode(extra); msg.localExtraMap = jsonDecode(extra);
} }
@ -129,44 +129,44 @@ class WKDBConst {
extra.draftUpdatedAt = readInt(data, 'draft_updated_at'); extra.draftUpdatedAt = readInt(data, 'draft_updated_at');
extra.version = readInt(data, 'version'); extra.version = readInt(data, 'version');
if (data['extra_version'] != null) { if (data['extra_version'] != null) {
extra.version = data['extra_version']; extra.version = readInt(data, 'extra_version');
} }
return extra; return extra;
} }
static WKChannel serializeChannel(dynamic data) { static WKChannel serializeChannel(dynamic data) {
String channelID = data['channel_id']; String channelID = readString(data, 'channel_id');
int channelType = data['channel_type']; int channelType = readInt(data, 'channel_type');
WKChannel channel = WKChannel(channelID, channelType); WKChannel channel = WKChannel(channelID, channelType);
channel.channelName = data['channel_name']; channel.channelName = readString(data, 'channel_name');
channel.channelRemark = data['channel_remark']; channel.channelRemark = readString(data, 'channel_remark');
channel.showNick = data['show_nick']; channel.showNick = readInt(data, 'show_nick');
channel.top = data['top']; channel.top = readInt(data, 'top');
channel.mute = data['mute']; channel.mute = readInt(data, 'mute');
channel.isDeleted = data['is_deleted']; channel.isDeleted = readInt(data, 'is_deleted');
channel.forbidden = data['forbidden']; channel.forbidden = readInt(data, 'forbidden');
channel.status = data['status']; channel.status = readInt(data, 'status');
channel.follow = data['follow']; channel.follow = readInt(data, 'follow');
channel.invite = data['invite']; channel.invite = readInt(data, 'invite');
channel.version = data['version']; channel.version = readInt(data, 'version');
channel.avatar = data['avatar']; channel.avatar = readString(data, 'avatar');
channel.online = data['online']; channel.online = readInt(data, 'online');
channel.lastOffline = data['last_offline']; channel.lastOffline = readInt(data, 'last_offline');
channel.category = data['category']; channel.category = readString(data, 'category');
channel.receipt = data['receipt']; channel.receipt = readInt(data, 'receipt');
channel.robot = data['robot']; channel.robot = readInt(data, 'robot');
channel.username = data['username']; channel.username = readString(data, 'username');
channel.avatarCacheKey = data['avatar_cache_key']; channel.avatarCacheKey = readString(data, 'avatar_cache_key');
channel.deviceFlag = data['device_flag']; channel.deviceFlag = readInt(data, 'device_flag');
channel.parentChannelID = data['parent_channel_id']; channel.parentChannelID = readString(data, 'parent_channel_id');
channel.parentChannelType = data['parent_channel_type']; channel.parentChannelType = readInt(data, 'parent_channel_type');
channel.createdAt = data['created_at']; channel.createdAt = readString(data, 'created_at');
channel.updatedAt = data['updated_at']; channel.updatedAt = readString(data, 'updated_at');
String remoteExtra = data['remote_extra']; String remoteExtra = readString(data, 'remote_extra');
if (remoteExtra != '') { if (remoteExtra != '') {
channel.remoteExtraMap = jsonDecode(remoteExtra); channel.remoteExtraMap = jsonDecode(remoteExtra);
} }
String localExtra = data['extra']; String localExtra = readString(data, 'extra');
if (remoteExtra != '') { if (remoteExtra != '') {
channel.localExtra = jsonDecode(localExtra); channel.localExtra = jsonDecode(localExtra);
} }
@ -175,21 +175,21 @@ class WKDBConst {
static WKChannelMember serializeChannelMember(dynamic data) { static WKChannelMember serializeChannelMember(dynamic data) {
WKChannelMember member = WKChannelMember(); WKChannelMember member = WKChannelMember();
member.status = data['status']; member.status = readInt(data, 'status');
member.channelID = data['channel_id']; member.channelID = readString(data, 'channel_id');
member.channelType = data['channel_type']; member.channelType = readInt(data, 'channel_type');
member.memberUID = data['member_uid']; member.memberUID = readString(data, 'member_uid');
member.memberName = data['member_name']; member.memberName = readString(data, 'member_name');
member.memberAvatar = data['member_avatar']; member.memberAvatar = readString(data, 'member_avatar');
member.memberRemark = data['member_remark']; member.memberRemark = readString(data, 'member_remark');
member.role = data['role']; member.role = readInt(data, 'role');
member.isDeleted = data['is_deleted']; member.isDeleted = readInt(data, 'is_deleted');
member.version = data['version']; member.version = readInt(data, 'version');
member.createdAt = data['created_at']; member.createdAt = readString(data, 'created_at');
member.updatedAt = data['updated_at']; member.updatedAt = readString(data, 'updated_at');
member.memberInviteUID = data['member_invite_uid']; member.memberInviteUID = readString(data, 'member_invite_uid');
member.robot = data['robot']; member.robot = readInt(data, 'robot');
member.forbiddenExpirationTime = data['forbidden_expiration_time']; member.forbiddenExpirationTime = readInt(data, 'forbidden_expiration_time');
String channelName = readString(data, 'channel_name'); String channelName = readString(data, 'channel_name');
if (channelName != '') { if (channelName != '') {
member.memberName = channelName; member.memberName = channelName;
@ -212,19 +212,19 @@ class WKDBConst {
static WKReminder serializeReminder(dynamic data) { static WKReminder serializeReminder(dynamic data) {
WKReminder reminder = WKReminder(); WKReminder reminder = WKReminder();
reminder.type = data['type']; reminder.type = readInt(data, 'type');
reminder.reminderID = data['reminder_id']; reminder.reminderID = readInt(data, 'reminder_id');
reminder.messageID = data['message_id']; reminder.messageID = readString(data, 'message_id');
reminder.messageSeq = data['message_seq']; reminder.messageSeq = readInt(data, 'message_seq');
reminder.isLocate = data['is_locate']; reminder.isLocate = readInt(data, 'is_locate');
reminder.channelID = data['channel_id']; reminder.channelID = readString(data, 'channel_id');
reminder.channelType = data['channel_type']; reminder.channelType = readInt(data, 'channel_type');
reminder.text = data['text']; reminder.text = readString(data, 'text');
reminder.version = data['version']; reminder.version = readInt(data, 'version');
reminder.done = data['done']; reminder.done = readInt(data, 'done');
String data1 = data['data']; String data1 = readString(data, 'data');
reminder.needUpload = data['needUpload']; reminder.needUpload = readInt(data, 'needUpload');
reminder.publisher = data['publisher']; reminder.publisher = readString(data, 'publisher');
if (data1 != '') { if (data1 != '') {
reminder.data = jsonDecode(data1); reminder.data = jsonDecode(data1);
} }

View File

@ -109,7 +109,7 @@ class MessaggeDB {
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (list.isNotEmpty) { if (list.isNotEmpty) {
dynamic data = list[0]; dynamic data = list[0];
maxOrderSeq = data['order_seq']; maxOrderSeq = WKDBConst.readInt(data, 'order_seq');
} }
return maxOrderSeq; return maxOrderSeq;
} }
@ -122,7 +122,7 @@ class MessaggeDB {
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (list.isNotEmpty) { if (list.isNotEmpty) {
dynamic data = list[0]; dynamic data = list[0];
messageSeq = data['message_seq']; messageSeq = WKDBConst.readInt(data, 'message_seq');
} }
return messageSeq; return messageSeq;
} }
@ -136,7 +136,7 @@ class MessaggeDB {
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (list.isNotEmpty) { if (list.isNotEmpty) {
dynamic data = list[0]; dynamic data = list[0];
minOrderSeq = data['order_seq']; minOrderSeq = WKDBConst.readInt(data, 'order_seq');
} }
return minOrderSeq; return minOrderSeq;
} }
@ -416,7 +416,7 @@ class MessaggeDB {
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (list.isNotEmpty) { if (list.isNotEmpty) {
dynamic data = list[0]; dynamic data = list[0];
num = data['num']; num = WKDBConst.readInt(data, 'num');
} }
return num; return num;
} }
@ -437,7 +437,7 @@ class MessaggeDB {
await WKDBHelper.shared.getDB().rawQuery(sql); await WKDBHelper.shared.getDB().rawQuery(sql);
if (list.isNotEmpty) { if (list.isNotEmpty) {
dynamic data = list[0]; dynamic data = list[0];
messageSeq = data['message_seq']; messageSeq = WKDBConst.readInt(data, 'message_seq');
} }
return messageSeq; return messageSeq;
} }

View File

@ -15,7 +15,7 @@ description: wukong IM flutter sdk
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 1.0.0 version: 1.0.1
homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK
environment: environment: