getMessageOnlineUrl method
Future<V2TimValueCallback<V2TimMessageOnlineUrl> >
getMessageOnlineUrl({
- V2TimMessage? message,
- String? msgID,
Implementation
Future<V2TimValueCallback<V2TimMessageOnlineUrl>> getMessageOnlineUrl({
V2TimMessage? message,
String? msgID,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimValueCallback<V2TimMessageOnlineUrl>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
if (message == null) {
if (msgID == null) {
return V2TimValueCallback<V2TimMessageOnlineUrl>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "message and msgID are both empty");
} else {
V2TimValueCallback<List<V2TimMessage>> findResult = await findMessages(messageIDList: [msgID]);
if (findResult.code != TIMErrCode.ERR_SUCC.value) {
print("deleteMessageExtensions, find message failed");
return V2TimValueCallback<V2TimMessageOnlineUrl>(code: findResult.code, desc: findResult.desc);
}
List<V2TimMessage> msgList = findResult.data!;
if (msgList.isEmpty) {
print("deleteMessageExtensions, message not found");
return V2TimValueCallback<V2TimMessageOnlineUrl>(code: TIMErrCode.ERR_INVALID_PARAMETERS.value, desc: "message not found");
}
message = msgList[0];
}
}
V2TimMessageOnlineUrl result = V2TimMessageOnlineUrl();
switch (message.elemType) {
case MessageElemType.V2TIM_ELEM_TYPE_IMAGE:
result.imageElem = message.imageElem;
break;
case MessageElemType.V2TIM_ELEM_TYPE_VIDEO:
result.videoElem = message.videoElem;
break;
case MessageElemType.V2TIM_ELEM_TYPE_SOUND:
result.soundElem = message.soundElem;
break;
case MessageElemType.V2TIM_ELEM_TYPE_FILE:
result.fileElem = message.fileElem;
break;
default:
break;
}
return V2TimValueCallback<V2TimMessageOnlineUrl>.fromObject(result);
}