diff --git a/documents/protocol/LF Click to Call_인터페이스정의서.xlsx b/documents/protocol/LF Click to Call_인터페이스정의서.xlsx new file mode 100644 index 0000000..a72acdc Binary files /dev/null and b/documents/protocol/LF Click to Call_인터페이스정의서.xlsx differ diff --git a/documents/protocol/LF-Web_인터페이스정의서_v1.0.xlsx b/documents/protocol/LF-Web_인터페이스정의서_v1.0.xlsx new file mode 100644 index 0000000..3811b9f Binary files /dev/null and b/documents/protocol/LF-Web_인터페이스정의서_v1.0.xlsx differ diff --git a/documents/업무/2월/3째주/0217.txt b/documents/업무/2월/3째주/0217.txt new file mode 100644 index 0000000..2003cd6 --- /dev/null +++ b/documents/업무/2월/3째주/0217.txt @@ -0,0 +1,173 @@ +주소록 사전작업 + 주소록 메뉴 출력 확인 + 다이얼 패드 컴포넌트 적용 + 주소록 탭 컴포넌트 작성 + 주소록 프로토콜 정리 + 주소록 데이터 형식 파악 + 주소록 동기화 절차 분석 + 기존 LF Talk 개인주소록 절차 분석 + + +// 개인주소록 동기화 방향 상수 값 +{let public constant PB_TO_MOBILE:String = "M"} || 폰북 씽크 동기화 방향(to mobile) +{let public constant PB_TO_PC:String = "P"} || 폰북 씽크 동기화 방향(to PC) +{let public constant PB_OK_Y:String = "Y"} || 폰북 씽크 준비여부(Y: 준비요청승인) +{let public constant PB_OK_N:String = "N"} || 폰북 씽크 준비여부(N: 준비요청거절) +{let public constant PB_SYNC_TYPE_WHOLE:String = "W"} || 폰북 씽크 타입(W: 전체(Whole)) +{let public constant PB_SYNC_TYPE_PART:String = "P"} || 폰북 씽크 타입(P: 부분(Part)) + +총 개수 +전체 페이지 개수 +현재 페이지 개수 +주소록 데이터 = sData +주소록 데이터 개수 + +PB_SYNC_TYPE_WHOLE 전체를 받을때 + +SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI (데이터 수신) + 데이터 초기화 + 폰북 씽크 타입이 전체이며, 현재 페이지 1인경우 + 기존 파일 삭제 + 폰북 씽크 타입이 부분이며, 현재 페이지 1인경우 + +정상적으로 완료되었을 경우 + 현재 페이지 개수와 토탈 페이지 개수 비교 + +SSVC_TYPE_SYNC_PHONEBOOK_RCV_REQ (데이터 수신 완료 응답) + +필요한 모델 + 개인주소록 씽크 타입 + PHONEBOOK_TO_MOBILE + PHONEBOOK_TO_PC + PHONEBOOK_OK_Y 씽크 준비 요청 승인 + PHONEBOOK_OK_N 씽크 준비 요청 거절 + PHONEBOOK_TYPE_WHOLE 전체 + PHONEBOOK_TYPE_PART 부분 + 개인주소록 페이지 + 전체 개수: number + 현재 페이지: number + 전체 페이지: number + 데이터: string[] + + + +(PC) +PC->Server 개인 주소록 동기화 요청 + SSVC_TYPE_SYNC_PHONEBOOK_READY_REQ + UserInfo.isMobile true 인지 확인 + 목적지 타입 set + 요청 +Server->PC 모바일 주소록 동기화 응답 + (30초 동안 SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI 프로토콜 오지 않으면 실패 알람) + SSVC_TYPE_SYNC_PHONEBOOK_READY_RES + 30초 동안 isWating set +Server -> PC 모바일 주소록 동기화 준비 완료 알림 + SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI + PC 동기화 준비 완료 요청 + SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_RES, SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_NOTI 사용X +Server->PC 동기화 데이터 노티 (실데이터) + SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI + 30초 동안 isWating false + 페이지 데이터 초기화 + 데이터 파싱 + {let public constant PARAM_DIV:char = 0x08} ||_T('\b') // 파라메터 분리자 + BodyStringDivider + 데이터 저장 + 에러처리 + 데이터가 없는 경우 + 에러가 난 경우 + PHONEBOOK_OK_N 서버 전송 + 기존 종료 조건은 현재 페이지개수와 전체페이지 개수를 비교 + +PC->Server 수신 완료 요청 + SSVC_TYPE_SYNC_PHONEBOOK_RCV_REQ + procStatus = 개인주소록 씽크 타입 + syncType = 개인주소록 씽크 타입 + totCnt = 전체 개수 + curPage = 현재 페이지 개수 + totopage = 전체 페이지 개수 + sData = string[] + + +sync-protocol-service + 3. SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI 준비 요청에 대한 노티피케이션 등록 + 5. SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI 전송 요청에 대한 노티피케이션 등록 + SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_NOTI (기존 소스에서는 사용하지 않음) + + 1. SSVC_TYPE_SYNC_PHONEBOOK_READY_REQ 콜 + 2. SSVC_TYPE_SYNC_PHONEBOOK_READY_RES 응답 + 30초 카운트 시작 + 4. SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_REQ 콜 + SSVC_TYPE_SYNC_PHONEBOOK_READY_RES (기존 소스에서는 사용하지 않음) + +notification-service + 3. SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI + dispatch(PC 동기화 준비 완료 요청) + 5. SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI + dispatch(데이터 파싱) + +데이터 파싱 + dispatch(수신 완료 요청) + + + +SSVC_TYPE_SYNC_PHONEBOOK_READY_RES 응답 후 30초 동안 SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI 이코드가 안오면 에러 + progress 필요 + file-download-item.ts 참고 + sync-protocol-service 응답 + notification-service와 + + + + + +/// +SSVC_TYPE_SYNC_PHONEBOOK_READY_REQ 요청 + SSVC_TYPE_SYNC_PHONEBOOK_READY_RES 응답 + 30초 대기 + SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI + SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_REQ 요청 + SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI + 데이터 파싱 + +1. 프로토콜 정의 +2. 모델 정의 +3. 함수 구현 + +sync-protocol.service.ts + phoneBook() 함수 추가 + SSVC_TYPE_SYNC_PHONEBOOK_READY_RES 응답코드 일때 특정 시간 대기? +notification.service.ts + SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI 프로토콜 코드에 대한 설정? + 설정한 경우 + sync-protocol.service.ts phoneBookReady() 함수 추가 및 호출? + 설정 안하게 되는 경우? + SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI 프로토콜 설정 + 데이터 파싱 + + + +(안드로이드) +SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI +SSVC_TYPE_SYNC_PHONEBOOK_SND_REQ +SSVC_TYPE_SYNC_PHONEBOOK_SND_RES +SSVC_TYPE_SYNC_PHONEBOOK_RCV_NOTI +SSVC_TYPE_SYNC_PHONEBOOK_SND_REQ +SSVC_TYPE_SYNC_PHONEBOOK_SND_RES +SSVC_TYPE_SYNC_PHONEBOOK_RCV_NOTI +안드에서 위와 같이 PC 메신저와 프로토콜을 주고 받고 있습니다 .참조하시기 바랍니다. + +{주소록정보} + 주소록SEQ + 사진파일 + 이름 + 태그 + 전화번호 [ 번호1 번호2 번호3 번호4 번호5] + 이메일 + 메모 + ActiveYN + +(사용X) +SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_REQ +SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_RES +SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_NOTI \ No newline at end of file diff --git a/documents/업무/2월/3째주/0218.txt b/documents/업무/2월/3째주/0218.txt new file mode 100644 index 0000000..ec15f2c --- /dev/null +++ b/documents/업무/2월/3째주/0218.txt @@ -0,0 +1,130 @@ +sync-protocol-service + 3. SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI 준비 요청에 대한 노티피케이션 등록 + 5. SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI 전송 요청에 대한 노티피케이션 등록 + SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_NOTI (기존 소스에서는 사용하지 않음) + + 1. SSVC_TYPE_SYNC_PHONEBOOK_READY_REQ 콜 + 2. SSVC_TYPE_SYNC_PHONEBOOK_READY_RES 응답 + 30초 카운트 시작 + 4. SSVC_TYPE_SYNC_PHONEBOOK_READY_OK_REQ 콜 + SSVC_TYPE_SYNC_PHONEBOOK_READY_RES (기존 소스에서는 사용하지 않음) + +notification-service + 3. SSVC_TYPE_SYNC_PHONEBOOK_READY_NOTI + dispatch(PC 동기화 준비 완료 요청) + 5. SSVC_TYPE_SYNC_PHONEBOOK_SND_NOTI + dispatch(데이터 파싱) + +데이터 파싱 + dispatch(수신 완료 요청) + +createGroupAndBuddy 액션 확인 + + +SSVC_TYPE_SYNC_PHONEBOOK_READY_RES + phoneBookReadyResponse -> syncStartDate에 현재 시간을 저장 + + + +phoneBook state management + 1. export interface PhoneBookState extends EntityState { + syncDate: string; + } + 2. legacy state object code added + phoneBook: PhoneBookState; + 3. adapterPhoneBook 생성 + 4. phoneBookInitialState 스테이트 초기화 + 5. init state object code added + 6. phoneBook select code added + 7. selector function modify + create selector (phoneBook) + +reducer management + +액션 + 폰 동기화 요청 + props x + 폰 동기화 응답 + 동기화 시작 시간 + 동기화 유효 시간 + 폰 동기화 실패 + state 동기화 실패 결과값 수정 + 폰 동기화 준비 완료 요청 + props x + 폰 동기화 준비 완료 응답 + 응답 확인 + 폰 동기화 준비 완료 실패 + state 동기화 실패 결과값 수정 + 폰 동기화 전송 노티 + state + 현재 시간 - 동기화 시작 시간 < 유효시간 체크 + 전체 개수 + 현재 개수 + 페이지 개수 + dataList 처리 + else + state 동기화 실패 결과값 수정 + 폰 동기화 완료 요청 + state 값 조회 + + 폰 동기화 완료 응답 + 폰 동기화 완료 실패 + +state 생성 + 폰북 리스트 + 주소록 번호 + 동기화 시작 시간 + 동기화 완료 시간 + 동기화 유효 시간 + +{주소록정보} + 주소록SEQ + 사진파일 + 이름 + 태그 + 번호1 + 번호2 + 번호3 + 번호4 + 번호5 + 이메일 + 메모 + ActiveYN + +새로운 주소록 정보 + 이름 + 폰번호: string[] + image +{ + 'totalcount': 100, + 'contact': [ + { + "name":"박성균", + "phone":[ + "01091568989", + "022563212" + ], + "image":"~~~~~~" + }, + ] +} + +파일 정보 조회 +0: {roomSeq: "13", eventSeq: 48, seq: 716, senderSeq: 9829, type: "F", …} +1: {roomSeq: "13", eventSeq: 49, seq: 717, senderSeq: 9829, type: "F", …} +2: {roomSeq: "13", eventSeq: 36, seq: 580, senderSeq: 9829, type: "b", …} +3: {roomSeq: "13", eventSeq: 37, seq: 581, senderSeq: 9829, type: "b", …} +4: {roomSeq: "13", eventSeq: 43, seq: 709, senderSeq: 9824, type: "b", …} +5: {roomSeq: "13", eventSeq: 44, seq: 710, senderSeq: 9824, type: "b", …} +6: {roomSeq: "13", eventSeq: 42, seq: 708, senderSeq: 9824, type: "I", …} +7: {roomSeq: "13", eventSeq: 45, seq: 711, senderSeq: 9829, type: "F", …} +8: {roomSeq: "13", eventSeq: 46, seq: 714, senderSeq: 9829, type: "F", …} +9: {roomSeq: "13", eventSeq: 47, seq: 715, senderSeq: 9829, type: "V", …} +10: {roomSeq: "13", eventSeq: 9, seq: 41, senderSeq: 9829, type: "I", …} +11: {roomSeq: "13", eventSeq: 27, seq: 296, senderSeq: 9829, type: "I", …} +12: {roomSeq: "13", eventSeq: 28, seq: 297, senderSeq: 9829, type: "I", …} +13: {roomSeq: "13", eventSeq: 31, seq: 574, senderSeq: 9829, type: "b", …} +14: {roomSeq: "13", eventSeq: 32, seq: 576, senderSeq: 9829, type: "b", …} +15: {roomSeq: "13", eventSeq: 33, seq: 577, senderSeq: 9829, type: "b", …} +16: {roomSeq: "13", eventSeq: 34, seq: 578, senderSeq: 9829, type: "b", …} +17: {roomSeq: "13", eventSeq: 35, seq: 579, senderSeq: 9829, type: "b", …} diff --git a/documents/업무/2월/3째주/date-seconds.html b/documents/업무/2월/3째주/date-seconds.html new file mode 100644 index 0000000..5f72c1e --- /dev/null +++ b/documents/업무/2월/3째주/date-seconds.html @@ -0,0 +1,17 @@ + + + JavaScript Get Seconds + + + + + \ No newline at end of file diff --git a/documents/업무/2월/3째주/fileInfo.txt b/documents/업무/2월/3째주/fileInfo.txt new file mode 100644 index 0000000..54ae335 --- /dev/null +++ b/documents/업무/2월/3째주/fileInfo.txt @@ -0,0 +1,21 @@ +roomSeq(pin):"13" +eventSeq(pin):44 +seq(pin):710 +senderSeq(pin):9824 +type(pin):"b" +name(pin):"92164325ccca37df669d862498de47b8_t.jpeg" +url(pin):"/AttFile/LF/2020/02/18/MA_9824_132559173_0.jpeg" +size(pin):"15221" +sendDate(pin):"2020-02-18 04:26:20" +receivedUserCount(pin):0 +receiverCount(pin):1 +sentMessage(pin):"{"StatusCode":"200","ErrorMessage":"","RoomID":"13","AttSEQ":"710","FileCount":"1","BaseURL":"http://13.209.221.130/WebFile/LF/2020/02/18/","ThumbURL":["MA_9824_132559173_0.jpeg.thumb.jpg"]}" +statusCode(pin):"200" +errorMessage(pin):"" +roomSeq(pin):"13" +attachmentSeq(pin):"710" +fileCount(pin):"1" +baseUrl(pin):"http://13.209.221.130/WebFile/LF/2020/02/18/" +0(pin):"MA_9824_132559173_0.jpeg.thumb.jpg" + +http://13.209.221.130/WebFile/LF/2020/02/14/MA_9829_174233376_0.jpg.thumb.jpg