Commit 4520946c by Kim Eunchul

#43695 ウェブソケットの送信方式変更

parent 976f40c4
...@@ -158,7 +158,7 @@ Common.startCollaboration = function (collaborationType) { ...@@ -158,7 +158,7 @@ Common.startCollaboration = function (collaborationType) {
return; return;
} }
const sendData = DATA_MESSAGE_SCHEME + FINISH_ALL_COLLABORATION_SIGNAL; const sendData = DATA_MESSAGE_SCHEME + FINISH_ALL_COLLABORATION_SIGNAL;
CHAT_SOCKET.emitCreateMessage(sendData, 0); CHAT_SOCKET.emitCreateMessage(SOCKET_KEY.CREATE_MESSAGE, sendData);
NativeBridgeDelegate.finishAllCollaboration(); NativeBridgeDelegate.finishAllCollaboration();
} }
NativeBridgeDelegate.startCollaboration(collaborationType); NativeBridgeDelegate.startCollaboration(collaborationType);
......
...@@ -131,6 +131,7 @@ const SOCKET_KEY = { ...@@ -131,6 +131,7 @@ const SOCKET_KEY = {
DISCONNECT: "disconnect", DISCONNECT: "disconnect",
CONNECT_ERROR: "connect_error", CONNECT_ERROR: "connect_error",
NEW_MESSAGE: "newMessage", NEW_MESSAGE: "newMessage",
NEW_COMMUNICATION: "newCommunication",
NEW_NOTIFICATION: "newNotification", NEW_NOTIFICATION: "newNotification",
REFRESH_GROUPLIST: "refreshGroupList", REFRESH_GROUPLIST: "refreshGroupList",
REFRESH_USERLIST_INGROUP: "refreshUserListInGroup", REFRESH_USERLIST_INGROUP: "refreshUserListInGroup",
...@@ -138,6 +139,10 @@ const SOCKET_KEY = { ...@@ -138,6 +139,10 @@ const SOCKET_KEY = {
RETRY_JOIN_PROCESS: "retryJoinProcess", RETRY_JOIN_PROCESS: "retryJoinProcess",
JOIN: "join", JOIN: "join",
CREATE_MESSAGE: "createMessage", CREATE_MESSAGE: "createMessage",
CREATE_TEXT: "createText",
CREATE_IMAGE: "createImage",
CREATE_VIDEO: "createVideo",
CREATE_COMMUNICATIONSTART: "createCommunicationStart",
GET_GROUP_LIST: "getGroupList", GET_GROUP_LIST: "getGroupList",
LEAVE_ROOM: "leaveRoom", LEAVE_ROOM: "leaveRoom",
}; };
......
...@@ -2,47 +2,56 @@ var bindOnNewMessage = function () { ...@@ -2,47 +2,56 @@ var bindOnNewMessage = function () {
// New Message // New Message
// #36170 // #36170
socket.on(SOCKET_KEY.NEW_MESSAGE, function (message, roomID, roomName) { socket.on(SOCKET_KEY.NEW_MESSAGE, function (message, roomID, roomName) {
const systemMessageTemplate = getTemplate(TemplateURL.SYSTEM_MESSAGE); handleMessage(message, roomName, SOCKET_KEY.NEW_MESSAGE)
});
const unwrappedMessageInfo = decodeMessage(message.text);
if ( socket.on(SOCKET_KEY.NEW_COMMUNICATION, function (message, roomID, roomName) {
unwrappedMessageInfo == handleMessage(message, roomName, SOCKET_KEY.NEW_COMMUNICATION)
DATA_MESSAGE_SCHEME + FINISH_ALL_COLLABORATION_SIGNAL
) {
cleanUpCollaborationMessage();
return;
}
if (unwrappedMessageInfo.includes(messageSeperator)) {
const messageInfo = unwrappedMessageInfo.split(messageSeperator);
const messageText = messageInfo[0];
const messageType = messageInfo[1];
if (
messageType == MessageType.COMMUNICATIONSTART ||
messageType == MessageType.COMMUNICATIONEND
) {
addCollaborationMessage(
messageInfo,
message.userId,
roomName,
message.insertDate,
message.createdAt
);
} else {
addTextMessage(messageText, message, socket.id);
}
}
if (typeof ChatRoom !== "undefined") {
// 画像、動画の描画を待ってからスクロール
setTimeout(function () {
ChatRoom.scrollToBottom();
}, 300);
}
}); });
}; };
var handleMessage = function (message, roomName, socketKey) {
const systemMessageTemplate = getTemplate(TemplateURL.SYSTEM_MESSAGE);
const unwrappedMessageInfo = decodeMessage(message.text);
if (
unwrappedMessageInfo ==
DATA_MESSAGE_SCHEME + FINISH_ALL_COLLABORATION_SIGNAL
) {
cleanUpCollaborationMessage();
return;
}
const messageInfo = unwrappedMessageInfo.split(messageSeperator);
const messageType = socketKey;
let messageText = unwrappedMessageInfo;
if (unwrappedMessageInfo.includes(messageSeperator)) {
messageText = messageInfo[0];
}
if (
messageType == SOCKET_KEY.NEW_COMMUNICATION
) {
addCollaborationMessage(
messageInfo,
message.userId,
roomName,
message.insertDate,
message.createdAt
);
} else {
addTextMessage(messageText, message, socket.id);
}
if (typeof ChatRoom !== "undefined") {
// 画像、動画の描画を待ってからスクロール
setTimeout(function () {
ChatRoom.scrollToBottom();
}, 300);
}
}
var decodeMessage = function (text) { var decodeMessage = function (text) {
try { try {
return decodeURIComponent(text); return decodeURIComponent(text);
......
...@@ -188,14 +188,30 @@ var bindOnRefreshUserListInGroup = function () { ...@@ -188,14 +188,30 @@ var bindOnRefreshUserListInGroup = function () {
); );
}; };
CHAT_SOCKET.emitCreateMessage = function (sendData, offset) { CHAT_SOCKET.emitCreateMessage = function (socketKey, sendData) {
socket.emit(SOCKET_KEY.CREATE_MESSAGE, { text: sendData }, offset); socket.emit(socketKey, { text: sendData });
};
CHAT_SOCKET.emitCreateText = function (sendData) {
CHAT_SOCKET.emitCreateMessage(SOCKET_KEY.CREATE_TEXT, sendData);
};
CHAT_SOCKET.emitCreateImage = function (sendData) {
CHAT_SOCKET.emitCreateMessage(SOCKET_KEY.CREATE_IMAGE, sendData);
};
CHAT_SOCKET.emitCreateVideo = function (sendData) {
CHAT_SOCKET.emitCreateMessage(SOCKET_KEY.CREATE_VIDEO, sendData);
};
CHAT_SOCKET.emitCreateCommunicationStart = function (sendData) {
CHAT_SOCKET.emitCreateMessage(SOCKET_KEY.CREATE_COMMUNICATIONSTART, sendData);
}; };
CHAT_SOCKET.emitCollaborationFinishMessage = function () { CHAT_SOCKET.emitCollaborationFinishMessage = function () {
if (socket != null && socket.connected) { if (socket != null && socket.connected) {
const sendData = DATA_MESSAGE_SCHEME + FINISH_ALL_COLLABORATION_SIGNAL; const sendData = DATA_MESSAGE_SCHEME + FINISH_ALL_COLLABORATION_SIGNAL;
CHAT_SOCKET.emitCreateMessage(sendData, 0); CHAT_SOCKET.emitCreateMessage(SOCKET_KEY.CREATE_MESSAGE, sendData);
} }
} }
......
...@@ -168,8 +168,8 @@ ChatMediaHandler.videoEncodeEnd = function (encodedUri) { ...@@ -168,8 +168,8 @@ ChatMediaHandler.videoEncodeEnd = function (encodedUri) {
} catch (e) { } catch (e) {
encodedText = text; encodedText = text;
} }
const sendData = encodedText + messageSeperator + MessageType.VIDEO; const sendData = encodedText;
CHAT_SOCKET.emitCreateMessage(sendData, 1); CHAT_SOCKET.emitCreateVideo(sendData);
$(".overlay").removeClass("active undismissable"); $(".overlay").removeClass("active undismissable");
$(".loader").removeClass("active"); $(".loader").removeClass("active");
...@@ -319,8 +319,8 @@ ChatMediaHandler.uploadImage = function (formData) { ...@@ -319,8 +319,8 @@ ChatMediaHandler.uploadImage = function (formData) {
} catch (e) { } catch (e) {
encodedText = text; encodedText = text;
} }
const sendData = encodedText + messageSeperator + MessageType.IMAGE; const sendData = encodedText;
CHAT_SOCKET.emitCreateMessage(sendData, 1); CHAT_SOCKET.emitCreateImage(sendData);
} else { } else {
// 動画の処理 // 動画の処理
if (res.thumbnailPath && res.thumbnailPath.length > 0) { if (res.thumbnailPath && res.thumbnailPath.length > 0) {
...@@ -369,8 +369,8 @@ ChatMediaHandler.uploadImage = function (formData) { ...@@ -369,8 +369,8 @@ ChatMediaHandler.uploadImage = function (formData) {
} catch (e) { } catch (e) {
encodedText = text; encodedText = text;
} }
const sendData = encodedText + messageSeperator + MessageType.VIDEO; const sendData = encodedText;
CHAT_SOCKET.emitCreateMessage(sendData, 1); CHAT_SOCKET.emitCreateVideo(sendData);
} }
$(".overlay").removeClass("active undismissable"); $(".overlay").removeClass("active undismissable");
......
...@@ -65,8 +65,8 @@ ChatRoom.sendMessage = function (e) { ...@@ -65,8 +65,8 @@ ChatRoom.sendMessage = function (e) {
messageTextBox.val(""); messageTextBox.val("");
if (message.length > 0) { if (message.length > 0) {
const sendData = message + messageSeperator + MessageType.TEXT; const sendData = message;
CHAT_SOCKET.emitCreateMessage(sendData, 0); CHAT_SOCKET.emitCreateText(sendData);
} }
$(".message_input_form").focus(); $(".message_input_form").focus();
}; };
......
...@@ -206,15 +206,13 @@ CollaborationFeature.didReceiveCreateRoomResponseMessage = function () { ...@@ -206,15 +206,13 @@ CollaborationFeature.didReceiveCreateRoomResponseMessage = function () {
let coviewInviteMessage = let coviewInviteMessage =
"" + "" +
messageSeperator + messageSeperator +
MessageType.COMMUNICATIONSTART +
messageSeperator +
CHAT_UTIL.getCollaborationTypeNumber(globalUserInfo.collaborationType); CHAT_UTIL.getCollaborationTypeNumber(globalUserInfo.collaborationType);
if (globalUserInfo.collaborationType == COLLABORATION_TYPE.DOCUMENT) { if (globalUserInfo.collaborationType == COLLABORATION_TYPE.DOCUMENT) {
coviewInviteMessage += messageSeperator + globalUserInfo.meetingID; coviewInviteMessage += messageSeperator + globalUserInfo.meetingID;
} }
CHAT_SOCKET.emitCreateMessage(coviewInviteMessage, 0); CHAT_SOCKET.emitCreateCommunicationStart(coviewInviteMessage);
}; };
CollaborationFeature.didReceivedJoinRoomInfoResponseMessage = function () { CollaborationFeature.didReceivedJoinRoomInfoResponseMessage = function () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment