Files
chat-flutter/lib/tools/tools_enum.dart
2025-09-12 20:35:12 +08:00

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,
);
}
}