Files
tongxunruanjian/mobile/lib/models/signaling.dart
T
KIMI b95159f7eb 新增 mobile/:畅联手机端 Flutter 工程(B-58)
- 登录:工号+密码走 account-service /api/login,自动登录、被踢下线回登录页
- 消息:会话列表(未读角标/免打扰/时间)、单聊群聊、文字/语音/图片/文件消息、失败重发、历史分页
- 通讯录:新的同事/我的群聊入口、按部门分组(好友 ex 字段)、搜索
- 通话:一对一语音通话(信令走 OpenIM 自定义消息 + LiveKit,token 走 /api/rtc_token)
- 界面按确认效果图 m1/m2/m3 实现,主色 #3B87F5,四态视图齐全,无英文残留
2026-08-09 01:28:12 +08:00

70 lines
1.7 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/// 通话信令的数据模型。
/// 与官方样板工程 openim_common 的 InvitationInfo 字段保持一致,
/// 保证和 PC 端 / 其他端互通。
class InvitationInfo {
/// 邀请者 userID
String? inviterUserID;
/// 被邀请者 userID 列表,单聊只有一个元素
List<String>? inviteeUserIDList;
/// 群聊时为群 ID,单聊为空
String? groupID;
/// 房间 ID,必须唯一
String? roomID;
/// 邀请超时时间(秒)
int? timeout;
/// 发起时间
int? initiateTime;
/// video 或者 audio(本项目只做 audio
String? mediaType;
/// 会话类型:1 为单聊
int? sessionType;
/// 发起方平台
int? platformID;
InvitationInfo({
this.inviterUserID,
this.inviteeUserIDList,
this.groupID,
this.roomID,
this.timeout,
this.initiateTime,
this.mediaType,
this.sessionType,
this.platformID,
});
InvitationInfo.fromJson(Map<String, dynamic> json) {
inviterUserID = json['inviterUserID'];
inviteeUserIDList = json['inviteeUserIDList']?.cast<String>();
groupID = json['groupID'];
roomID = json['roomID'];
timeout = json['timeout'];
initiateTime = json['initiateTime'];
mediaType = json['mediaType'];
sessionType = json['sessionType'];
platformID = json['platformID'];
}
Map<String, dynamic> toJson() {
final data = <String, dynamic>{};
data['inviterUserID'] = inviterUserID;
data['inviteeUserIDList'] = inviteeUserIDList;
data['groupID'] = groupID;
data['roomID'] = roomID;
data['timeout'] = timeout;
data['initiateTime'] = initiateTime;
data['mediaType'] = mediaType;
data['sessionType'] = sessionType;
data['platformID'] = platformID;
return data;
}
}