From 70c260ac0f13ff8091a9cb02f34d1b8f1b9dc4b4 Mon Sep 17 00:00:00 2001 From: Park Byung Eun Date: Wed, 22 Jan 2020 18:05:18 +0900 Subject: [PATCH] dd --- ...AP_Next_Messenger_서비스흐름도.V0.2.2.pptx | Bin 195724 -> 200527 bytes documents/protocol/ChatRoom.txt | 85 ++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 documents/protocol/ChatRoom.txt diff --git a/documents/03.UCAP_Next_Messenger_서비스흐름도.V0.2.2.pptx b/documents/03.UCAP_Next_Messenger_서비스흐름도.V0.2.2.pptx index 638ff36351ac08ab01da4cc99bf9bd015509368b..f3b2887be58b3efb1fb9eb79605bedac81ca41f5 100644 GIT binary patch delta 30357 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 delta 25879 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 diff --git a/documents/protocol/ChatRoom.txt b/documents/protocol/ChatRoom.txt new file mode 100644 index 0000000..71456c1 --- /dev/null +++ b/documents/protocol/ChatRoom.txt @@ -0,0 +1,85 @@ +SVC_TYPE_ROOM = 10; // 대화방 +SSVC_TYPE_ROOM_OPEN_REQ = 1; // 대화방 개설 요청 + room-protocol.service.ts open() +SSVC_TYPE_ROOM_OPEN_RES = 2; +SSVC_TYPE_ROOM_OPEN2_REQ = 3; // 대화방 개설 요청2 +SSVC_TYPE_ROOM_OPEN2_RES = 4; +SSVC_TYPE_ROOM_OPEN3_REQ = 5; // 대화방 개설 요청3 + room-protocol.service.ts open3() +SSVC_TYPE_ROOM_OPEN3_RES = 6; +SSVC_TYPE_ROOM_OPEN4_REQ = 7; // 대화방 개설 요청4 +SSVC_TYPE_ROOM_OPEN4_RES = 8; +SSVC_TYPE_ROOM_INVITE_REQ = 11; // 초대 요청 + message.component: || 1565, 시작 + room-user-list.component: || 170, 시작 + messenger\room\effects.ts || inviteOrOpen$ + room-protocol.service.ts || invite() + sync\effects || inviteSuccess$ + sync\effects || room$ + async sync-protol.service || 147 sc: 83, ssc: 1 대화방 목록 싱크 + async room\effects || selectedRoomForInfo$ || 77 + room\effects || info$ + room-protocol.service || info() || 240 + +SSVC_TYPE_ROOM_INVITE_RES = 12; + notification.service.ts | this.roomProtocolService.notification$ + room-protocol.service.ts | this.protocolService.serverMessage +SSVC_TYPE_ROOM_INVITE_NOTI = 13; + notification.service.ts | this.roomProtocolService.notification$ + room-protocol.service.ts | this.protocolService.serverMessage +SSVC_TYPE_ROOM_INFO_REQ = 21; // 대화방 정보 요청 || room-protocol.service.ts | info() +SSVC_TYPE_ROOM_INFO_ROOM = 22; // 대화방 정보 + messenger\room\effects.ts + messenger\sync\effects.ts + room-protocol.service.ts +SSVC_TYPE_ROOM_INFO_USER = 23; // 참가자 정보 +SSVC_TYPE_ROOM_INFO_USER2 = 25; // 참가자 정보(상세) + messenger\room\effects.ts + messenger\sync\effects.ts + room-protocol.service.ts +SSVC_TYPE_ROOM_INFO_RES = 24; // 대화방 정보 완료 + messenger\room\effects.ts + messenger\sync\effects.ts + room-protocol.service.ts +SSVC_TYPE_ROOM_INFO_SIMPLE_REQ = 26; // 대화방 정보 요청 +st SSVC_TYPE_ROOM_INFO_ROOM = 22; // 대화방 정보 +st SSVC_TYPE_ROOM_INFO_USER = 25; // 참가자 정보(상세) +SSVC_TYPE_ROOM_INFO_SIMPLE_RES = 27; // 대화방 정보 완료 +SSVC_TYPE_ROOM_UPD_REQ = 31; // 대화방 변경 요청 + room-protocol.service.ts +SSVC_TYPE_ROOM_UPD_RES = 32; + notification.service.ts + room-protocol.service.ts +SSVC_TYPE_ROOM_INFO_UPD_REQ = 33; // 대화방 정보 변경 요청 + room-protocol.service.ts +SSVC_TYPE_ROOM_INFO_UPD_RES = 34; // 대화방 정보 변경 응답 +SSVC_TYPE_ROOM_FONT_UPD_REQ = 35; // 대화방 옵션 변경 요청 + services\room-protocol.service.ts | updateFont() +SSVC_TYPE_ROOM_FONT_UPD_NOTI = 36; // 대화방 옵션 변경 알림 + notification.service.ts | 546 + room-protocol.service.ts | 178 +SSVC_TYPE_ROOM_FONT_UPD_RES = 37; // 대화방 옵션 변경 응답 +SSVC_TYPE_ROOM_DEL_REQ = 41; // 대화방 삭제 요청 +SSVC_TYPE_ROOM_DEL_RES = 42; +SSVC_TYPE_ROOM_EXIT_REQ = 51; // 퇴장 요청 + room-protocol.service.ts | exit() +SSVC_TYPE_ROOM_EXIT_RES = 52; + notification.service.ts | 501 + room-protocol.service.ts | 158 +SSVC_TYPE_ROOM_EXIT_NOTI = 53; + notification.service.ts | 502 + room-protocol.service.ts | 159 +SSVC_TYPE_ROOM_EXIT_ALL_REQ = 61; // 전체 대화방 퇴장 요청 + room-protocol.service.ts | exitAll() +SSVC_TYPE_ROOM_EXIT_ALL_RES = 62; // 전체 대화방 퇴장 응답 +SSVC_TYPE_ROOM_EXIT_FORCING_REQ = 54; // 대화상대 강퇴 요청 + room-protocol.service.ts | exitForcing() +SSVC_TYPE_ROOM_EXIT_FORCING_NOTI = 55; // 대화상대 강퇴 알림 + notification.service.ts | 531 + room-protocol.service.ts | 171 +SSVC_TYPE_ROOM_EXIT_FORCING_RES = 56; // 대화상대 강퇴 응답 + notification.service.ts | 516 + room-protocol.service.ts | 164 +SSVC_TYPE_ROOM_USER_STATUS_REQ = 71; // 대화상대 오프라인 체크 요청 (userStatusOffline()) + notification.service.ts | userStatusOffline() +SSVC_TYPE_ROOM_USER_STATUS_RES = 72; // 대화상대 오프라인 체크 응답 \ No newline at end of file