173 lines
5.6 KiB
Plaintext
173 lines
5.6 KiB
Plaintext
주소록 사전작업
|
|
주소록 메뉴 출력 확인
|
|
다이얼 패드 컴포넌트 적용
|
|
주소록 탭 컴포넌트 작성
|
|
주소록 프로토콜 정리
|
|
주소록 데이터 형식 파악
|
|
주소록 동기화 절차 분석
|
|
기존 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 |