mirror of
https://github.com/lakaola/chat-flutter.git
synced 2026-05-07 22:15:44 +08:00
104 lines
1.8 KiB
Dart
104 lines
1.8 KiB
Dart
// 类型
|
|
enum SettingType {
|
|
// 关闭
|
|
close('close'),
|
|
// 我的
|
|
mine('mine'),
|
|
// 好友
|
|
friend('friend'),
|
|
// 群聊
|
|
group('group'),
|
|
// 删除
|
|
delete('delete'),
|
|
// 消息
|
|
message('message'),
|
|
// 删除消息
|
|
remove('remove'),
|
|
// 清空消息
|
|
clear('clear'),
|
|
;
|
|
|
|
const SettingType(this.value);
|
|
final String value;
|
|
|
|
static SettingType init(String value) {
|
|
return SettingType.values.firstWhere(
|
|
(e) => e.value == value,
|
|
orElse: () => SettingType.close,
|
|
);
|
|
}
|
|
}
|
|
|
|
// 对象枚举
|
|
enum ChatTalk {
|
|
// 单聊
|
|
friend('friend'),
|
|
// 群聊
|
|
group('group'),
|
|
;
|
|
|
|
const ChatTalk(this.value);
|
|
final String value;
|
|
|
|
static ChatTalk init(String value) {
|
|
return ChatTalk.values.firstWhere(
|
|
(e) => e.value == value,
|
|
orElse: () => ChatTalk.friend,
|
|
);
|
|
}
|
|
}
|
|
|
|
// 消息枚举
|
|
enum MsgType {
|
|
// 未知
|
|
none('none', '[未知消息]'),
|
|
// 提示
|
|
tips('tips', '[提示消息]'),
|
|
// 文本
|
|
text('text', '[文本消息]'),
|
|
// 图片
|
|
image('image', '[图片消息]'),
|
|
// 视频
|
|
video('video', '[视频消息]'),
|
|
// 声音
|
|
voice('voice', '[声音消息]'),
|
|
// 文件
|
|
file('file', '[文件消息]'),
|
|
// 名片
|
|
card('card', '[名片消息]'),
|
|
;
|
|
|
|
const MsgType(
|
|
this.value,
|
|
this.label,
|
|
);
|
|
final String value;
|
|
final String label;
|
|
|
|
static MsgType init(String value) {
|
|
return MsgType.values.firstWhere(
|
|
(e) => e.value == value,
|
|
orElse: () => MsgType.none,
|
|
);
|
|
}
|
|
}
|
|
|
|
// 状态枚举
|
|
enum MiddleStatus {
|
|
// 登录
|
|
login('login'),
|
|
// 正常
|
|
normal('normal'),
|
|
;
|
|
|
|
const MiddleStatus(this.value);
|
|
final String value;
|
|
|
|
static MiddleStatus init(String value) {
|
|
return MiddleStatus.values.firstWhere(
|
|
(e) => e.value == value,
|
|
orElse: () => MiddleStatus.login,
|
|
);
|
|
}
|
|
}
|