This commit is contained in:
Park Byung Eun 2020-11-12 08:43:18 +09:00
parent de6a537ca4
commit 6b947a5d85
74 changed files with 1865 additions and 2 deletions

View File

@ -0,0 +1,48 @@
lf
ds
crm-pro
작업순서
통화 내역 리스트 조회
통화 내역 검색
통화 내역 등록
통화 내역 삭제
통화 수신 별도 화면 프로젝트 구성
통화 내역
통화 메인 페이지
인풋
라우터 파라미터 전화번호
통화 내역 리스트 페이지
라우트
액션
quickMenuClick( phonNumber, type)
섹션
통화 메인 섹션
인풋
전화번호
아웃
통화 종료(전화번호)
액션
발신
히스토리 아이디 (전화번호와 같이 저장)
종료
히스토리 아이디
통화 내역 섹션
다이얼 컴포넌트
인풋
전화번호
아웃
전화번호
액션
발신, 종료, 녹음, 주소록, 메모, 보류, 3자통화, 재발신, 회의통화, 전화예약
통화 내역 리스트 컴포넌트
인풋
전체, 발신, 수신, 부재중, 예약, 기간검색
통화 내역 리스트 (스테이트)
아웃
전화번호, 선택 퀵 메뉴
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwd1Jlc2V0WW4iOiJOIiwidXNlcl9uYW1lIjoiMSIsImNlbnRyZXhQdyI6ImNwIXVjQHBMRyIsInBob25lTnVtIjoiMDcwODI3NzQwMDQiLCJhdXRob3JpdGllcyI6WyJST0xFX0FETUlOIiwiUk9MRV9VU0VSIl0sImNsaWVudF9pZCI6InVjYXAiLCJleHByaXJlX2RhdGUiOjE2MDI1NzIxOTUyODIsImF1dGhZbiI6IlkiLCJjb21wYW55SWQiOjEsInNjb3BlIjpbInJlYWQiLCJ3cml0ZSJdLCJuYW1lIjoiQ3JtUHJvVGVzdENsaWVudCIsImlkIjoxLCJjZW50cmV4SWQiOiIwNzA4Mjc3NDAwNCIsImV4cCI6MTYwMjU3MjE5NSwianRpIjoiYmFhOWUwNDItNjJiOC00MDU5LThkYmQtMjZjMDQ3Mjc4MzY2In0.yZlRQJ2yzbis88AGAceEreHdyiQn2s6cyxOVg9FSaMs

View File

@ -0,0 +1,83 @@
ds
lf
crm-pro
일정 업데이트
통화 컴포넌트
프로세스
ocx: 수신 이벤트 -> electron 수신 event 전파
-> open call, open memo -> 부모창 call, memo data 변경 구독
수신 컴포넌트
사용자 로그인 정보
주소록 정보
메모 컴포넌트
data observer
child->parent communication
parent->child communication
crm-pro-electron
crm-pro-desktop
crm-pro-web
environments
call
memo
angular.json
call project add
memo project add
package.json
build cmd add
통화 예약 리스트 컴포넌트
export interface ReservationInfo {
/* SEQ(n) */
seq: number;
/* 예약 발신 번호 주소록 명 */
resvNumName?: string;
/* 예약 통화 번호 */
resvNum?: string;
/* 예약 메모 내용 */
resvMemo?: string;
/* Date형태 Format yyyy-MM-ddTHH:mm:ss */
resvDt?: string;
/* 통화 예약 Version 정보 */
version?: number;
}
export interface MemoInfo {
/** 메모 SEQ(n) */
seq: number;
/** 전화번호(s) */
callingNum: string;
/** 이름 */
callingNm?: string;
/** 메모타입 */
memoTypCd?: MemoType;
/** 메모내용 */
memoContent?: string;
/** 최근수정일 */
updatedDt?: string;
}
export enum MemoType {
// 0. 개인
Me = 'U',
// 1. 공용
Common = 'P'
}
<span
>{{ node.nodeType | ucapDate: 'LL' }}
{{ node.nodeType | ucapDate: 'dddd' }}</span
2020년 10월12일 월요일
>
{{ message!.sendDate | ucapDate: 'LT' }} 오후 6:05

View File

@ -0,0 +1,39 @@
ds
lf
crm-pro
통화 수신 팝업
통화 메모 팝업
문자 화면 리스트업
var date1 = moment('2016-10-08 10:29:23');
var date2 = moment('2016-10-08 11:06:55');
var diff = date2.diff(date1);
console diff = 37분
export interface RecordInfo {
/** Seq */
seq: number;
/** 파일이름(s) */
fileNm: string;
/** 내선번호(s) */
extension: string;
/** 타겟 전화번호(s) */
destnumber: string;
/** 전화통화 날짜(s) */
callDt: string;
/** 파일생성 날짜(s) */
fileTime: string;
/** 파일 사이즈(s) */
fileSize: string;
}
prettier not work
"editor.defaultFormatter": "esbenp.prettier-vscode" to settings.json
export enum QuickMenuType {
Call = 'CALL',
Reservation = 'RESERVATION',
Sms = 'SMS',
Memo = 'MEMO',
Contacts = 'CONTACTS'
}

View File

@ -0,0 +1,59 @@
ds
lf
crm-pro
메인 상단 CRM Pro Plus 볼드체 아님
통합검색 (placholder 글씨 잘림)
퍼블
(가로 스크롤 생김)
통화예약 팝업리스트
통화예약 알림 팝업
메모 팝업
통화내역 리스트 글씨 짤림
남은 화면 작업
공지사항, 자유게시판 화면
주소록관리
대량 문자 발신 내역
그룹 조회 화면
그룹 등록 화면
문자 예약조회
설정페이지
기본설정
수신그룹관리
비밀번호관리
인증관리
업그레이드
총 4페이지
페이지당 9개
현재페이지
내용이 없는 마지막 인덱스
초기화
페이지 변경
저장 버튼 클릭
페이지 변경
삭제 버튼 클릭
페이지 변경
페이지 이동 버튼 클릭
페이지 변경
페이지 변경
데이터 배열 확인 (널 체크)
데이터 배열 길이가 0인 경우
사용자 페이지 이동 버튼 클릭하여도 1페이지 이상 이동 금지
데이터 배열 길이가 1인 경우
사용자 페이지 이동 0,1 가능
데이터 배열 길이가 2인 경우
사용자 페이지 이동 0,1,2 가능
데이터 배열 길이가 3인 경우
사용자 페이지 이동 0,1,2 ,3 가능
현재 페이지에 출력할 데이터 계산
시작 인덱스
마지막 인덱스
페이지 데이터 = 데이터 배열 -> filter 시작인덱스, 마지막 인덱스에 포함하는 데이터 추출
현재 페이지 저장

View File

@ -0,0 +1,72 @@
ds
lf
crm-pro
일정공유
전체 화면 개수
탑, 네비게이션, 전체 레이아웃
통화
발신,
수신,
알림, 메모 등록, 블랙리스트, 부재중, 통화 부재중
다이얼 패드, 이력 리스트, 기간 검색, 예약 리스트, 예약 등록, 퀵메뉴
SMS
SMS 대화 내역 (채팅), SMS 입력창, SMS 수신 리스트, 특수문자, 커스텀문자, SMS 내역 리스트, 기간 검색, 퀵메뉴,
예약 리스트, 예약 등록, 문자 수신 알림,
주소록
개인 주소록 등록,
공용 주소록 등록,
개인 주소록 조회,
공용 주소록 조회,
기간검색,
퀵메뉴,
단축번호 조회, 단축번호 등록,
주소록 관리
연락처 불러오기
연락처 내보내기
구글 주소록
그룹 관리
그룹 조회
그룹 등록
메모
메모 상세 내역
메모 내역 리스트
메모 검색
메모 등록
검색 기간,
퀵메뉴,
녹취
재생 플레이어,
녹취 상세 리스트 내역
전체 녹취 리스트 내역
설정
기본, 수신그룹, 비밀번호 변경, 인증관리, 업데이트
게시판
공지사항
리스트 조회, 상세 조회
자유
등록, 상세 조회, 리스트 조회, 댓글 등록, 댓글 조회
로그인
인증
개인정보
67개
화면 전달 개수
48개
화면 작업중인 개수
19개
화면 완료 개수
완료 검증 필요
전체 기능 개수
서버 기능 개수
71개
클라이언트 기능 개수
105개
기능 완료 개수
22개
일렉트론 실행
데스크탑 프로젝트 검증
웹 프로젝트 검증
레이아웃 content 전체를 쓰는 화면에 대한 프로토타입

View File

@ -0,0 +1,183 @@
ds
lf
crm-pro
공지사항, 자유 게시판
일렉트론 실행
domain-user: 0.0.2
domain-sms: 0.0.6
domain-contacts: 0.0.5
domain-call: 0.0.8
domain-board: 0.0.1
api-sms: 0.0.6
api-call: 0.0.24
{
"statusCode": 200,
"errorMessage": "",
"data": {
"links": [
{
"rel": "self",
"href": "http://127.0.0.1:9095/api/v1.0/board/1/post?page=0&size=10&sort=createdDt,desc"
}
],
"content": [
{
"id": 2,
"board": {
"id": 1,
"companyId": 1,
"boardTypCd": "03",
"boardNm": "일반게시판",
"links": []
},
"postTitle": "테스트 글 두번째 등록",
"postContent": "테스트로 글을 등록 합니다.",
"readCnt": 0,
"commentYn": "N",
"author": {
"authorId": 1,
"authroName": "CrmProTestClient"
},
"updateDt": "2020-09-23T14:36:42",
"links": [
{
"rel": "self",
"href": "http://127.0.0.1:9095/api/v1.0/board/post/2"
}
]
},
{
"id": 1,
"board": {
"id": 1,
"companyId": 1,
"boardTypCd": "03",
"boardNm": "일반게시판",
"links": []
},
"postTitle": "테스트 글 등록",
"postContent": "테스트로 글을 등록 합니다.",
"readCnt": 0,
"author": {
"authorId": 1,
"authroName": "CrmProTestClient"
},
"updateDt": "2020-09-23T14:30:00",
"links": [
{
"rel": "self",
"href": "http://127.0.0.1:9095/api/v1.0/board/post/1"
}
]
}
],
"page": {
"size": 10,
"totalElements": 2,
"totalPages": 1,
"number": 0
}
}
}
{
"statusCode": 200,
"errorMessage": "",
"data": {
"links": [],
"content": [
{
"id": 2,
"comment": "댓글 첫번째",
"childComment": [
{
"id": 4,
"comment": "댓글의 댓글 첫번째",
"upCommentId": 2,
"childComment": [
{
"id": 5,
"comment": "댓글 댓글 댓글11",
"upCommentId": 4,
"childComment": [],
"author": {
"authorId": 1,
"authroName": "CrmProTestClient"
},
"links": []
},
{
"id": 6,
"comment": "댓글 댓글 댓글22",
"upCommentId": 4,
"childComment": [],
"author": {
"authorId": 1,
"authroName": "CrmProTestClient"
},
"links": []
}
],
"author": {
"authorId": 1,
"authroName": "CrmProTestClient"
},
"links": []
}
],
"author": {
"authorId": 1,
"authroName": "CrmProTestClient"
},
"links": []
}
]
}
}
,
{
seq: 6,
postTitle: 'Carbon',
postContent: '010-4055-6699',
author: { seq: 1, username: 'user1' },
readCnt: 2,
updatedDt: '2020-11-24T11:20'
},
{
seq: 7,
postTitle: 'Nitrogen',
postContent: '010-4055-6699',
author: { seq: 1, username: 'user1' },
readCnt: 2,
updatedDt: '2020-11-26T11:20'
},
{
seq: 8,
postTitle: 'Oxygen',
postContent: '010-4055-6699',
author: { seq: 1, username: 'user1' },
readCnt: 2,
updatedDt: '2020-11-27T11:20'
},
{
seq: 9,
postTitle: 'Fluorine',
postContent: '010-4055-6699',
author: { seq: 1, username: 'user1' },
readCnt: 2,
updatedDt: '2020-11-28T11:20'
},
{
seq: 10,
postTitle:
'1주일에 3건이상 구매하는 우량 고객으로서 각별한 관심과 사랑이 필요',
postContent: '010-4055-6699',
author: { seq: 1, username: 'user1' },
readCnt: 2,
updatedDt: '2020-11-29T11:20'
}

View File

@ -0,0 +1,4 @@
ds
lf
crm-pro

View File

@ -0,0 +1,22 @@
ds
lf
crm-pro
완료
그룹 관리
그룹 조회
그룹 등록
주소록 관리
연락처 불러오기
연락처 내보내기
구글 주소록
진행중
인증
개인정보
SMS
대량문자 발신내역
메모
새메모 팝업창
압축파일 3개 다운 받은 후 같은 폴더에서 압축 풀면 됩니다.
1. z01, z02 순서대로 압축 해제
2. nsis-web.zip 압축해제 후 exe 파일 실행하면 됩니다.

View File

@ -0,0 +1,63 @@
ds
lf
crm-pro
진행중
인증
개인정보
SMS
대량문자 발신내역
click sms
문자발송 화면
발송내역
예약내역
메모
새메모 팝업창
공통 컴포넌트 후보
메모 리스트
클라이언트
api 로그인
인증여부 검증
ok
세션 생성
ocx 로그인
통화 예약, 문자 예약, 주소록 조회
통화 예약, 문자 예약 최근 날짜 추출
스케줄 등록
사용자 환경설정 조회
ok
기존 환경 설정 적용
no
디폴트 환경 값 적용
no
처음 로그인 실행
번호 발급
사용자 입력
번호 확인 요청
동의버전 문서 요청
동의버전 동의 정보 요청
동의버전 동의 요청
로그인 이동
비밀번호 저장
비밀번호 찾기
처음 로그인
서버
로그인
인증
번호 발급
번호 확인
사용자 정보
사용자 비밀번호 변경
사용자 비밀번호 초기화
사용자 환경설정 저장
사용자 환경설정 조회
동의버전 문서 조회
동의버전 동의 정보 조회
버전정보 조회
클라이언트 버전 정보 저장
클라이언트 버전 정보 저장2

View File

@ -0,0 +1,92 @@
<div class="crm-pro-board-list-container">
<div class="board-list-container">
<table mat-table [dataSource]="boardList" class="mat-elevation-z8">
<!-- seq Column -->
<ng-container matColumnDef="seq">
<th mat-header-cell *matHeaderCellDef>번호</th>
<td mat-cell *matCellDef="let element">{{ element.seq }}</td>
</ng-container>
<!-- Title Column -->
<ng-container matColumnDef="title">
<th mat-header-cell *matHeaderCellDef>제목</th>
<td mat-cell *matCellDef="let element">{{ element.postTitle }}</td>
</ng-container>
<!-- Update Date Column -->
<ng-container matColumnDef="updateDt">
<th mat-header-cell *matHeaderCellDef>작성일자</th>
<td mat-cell *matCellDef="let element">
{{ element.updatedDt | ucapDate: 'LL' }}
{{ element.updatedDt | ucapDate: 'LT' }}
</td>
</ng-container>
<!-- Author Column -->
<ng-container matColumnDef="author">
<th mat-header-cell *matHeaderCellDef>작성자</th>
<td mat-cell *matCellDef="let element">
{{ element.author.username }}
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
(click)="__onClickRow(row)"
></tr>
</table>
</div>
<div class="button-wrap">
<button
mat-icon-button
class="btn-subject-info btn"
(click)="onClickAdd($event)"
>
글쓰기
</button>
</div>
</div>
<div class="crm-pro-notice-list-container" fxLayout="column">
<div class="notice-list-container" fxFlex="1 1 auto" fxLayout="column">
<table mat-table [dataSource]="noticeList" class="mat-elevation-z8">
<!-- seq Column -->
<ng-container matColumnDef="seq">
<th mat-header-cell *matHeaderCellDef>번호</th>
<td mat-cell *matCellDef="let element">{{ element.seq }}</td>
</ng-container>
<!-- Title Column -->
<ng-container matColumnDef="title">
<th mat-header-cell *matHeaderCellDef>제목</th>
<td mat-cell *matCellDef="let element">{{ element.noticeTitle }}</td>
</ng-container>
<!-- Update Date Column -->
<ng-container matColumnDef="updateDt">
<th mat-header-cell *matHeaderCellDef>작성일자</th>
<td mat-cell *matCellDef="let element">
{{ element.updatedDt | ucapDate: 'LL' }}
{{ element.updatedDt | ucapDate: 'LT' }}
</td>
</ng-container>
<!-- Author Column -->
<ng-container matColumnDef="createBy">
<th mat-header-cell *matHeaderCellDef>작성자</th>
<td mat-cell *matCellDef="let element">
{{ element.createBy }}
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></tr>
<tr
mat-row
*matRowDef="let row; columns: displayedColumns"
(click)="__onClickRow(row)"
></tr>
</table>
</div>
</div>

View File

@ -0,0 +1,144 @@
ds
lf
그룹 생성
엑셀 임포트 기능을 지원
crm-pro
로그인 API 수정에 대한 수정
비밀번호 초기화
로그인 세션 생성에 대한 사이드 이펙트 목록
주소록
로컬 저장소
개인 주소록 로드 (스토어 저장)
공용, 사내
서버 요청
스토어 저장
비밀번호 초기화
인증번호 요청
인증번호 확인
15:30
domain-authentication: 0.0.6
api-login:0.0.3
로그인
토큰 획득
세션생성
ocx 로그인
공용, 사내 주소록 버전 조회
개인 주소록 조회
주소록 동기화
사용자 현재 설정 조회
토큰 O
비밀번호 변경
사용자 정보 조회
환경설정
저장
조회
주소록
그룹(공용, 개인)
생성, 수정, 조회
고객
생성, 수정, 조회
단축번호
조회, 수정
즐겨찾기& 블랙리스트 (개인, 공용)
공용, 사내 조회, 저장, 삭제
개인 조회, 저장, 삭제
import
export
구글 주소록
토큰 저장, 조회, 삭제
API 연동
우편번호 API 연동
문자
보내기
엑셀
수신
이력 조회, 삭제
예약
저장, 조회, 삭제
스케쥴
저장, 조회, 삭제,
통화
전화걸기
전화끊기
보류
저장, 삭제
착신전환
저장, 삭제, 타입 조회
이력
저장, 조회, 삭제
예약
저장, 조회, 삭제
녹취
시작, 종료
메모
저장, 조회, 삭제,
게시판
공지사항
조회
자유게시판
저장, 수정, 삭제
조회
상세 조회 시 이전, 다음
댓글
저장, 수정, 삭제, 조회
녹취
조회, 다운로드, 재생
OCX
보류, 3자, 회의
일렉트론
통화
문자
예약
엑셀
토큰 x
사용자 관리
비밀번호 초기화
동의 관리
조회, 저장
질문
메모
설정 /api/v1.0/memo/setting 어디서 사용하는 API 인지 확인
레이아웃
닫기, 최소화 스타일
리사이즈 스타일
왼쪽 네비 메뉴 폰트 스타일
로그인
드래그앤드랍 x
일렉트론에서 위치를 잘못 잡고 있음
초기 로그인 팝업 화면
전화
버튼 폰트 스타일 디자인 일치x
통화예약
디자인 폰트와 다름
문자
디자인 폰트와 다름
대량 문자 발송 화면 진행 없음
발송내역 화면 진행 없음
예약내역 화면 진행 없음
특수문자
사용자 정의 -> 입력창 리사이즈 스타일x
주소록
디자인 폰트와 다름
등록 수정
등록, 수정, 보기 변경에 대한 스타일이 고려 되어 있지 않음
셀렉트 박스 변경에 대한 스타일 고려가 되어 있지 않음
그룹보기
삭제, 확인 버튼 위치가 디자인과 동일하지 않음
그룹생성 버튼 스타일 디자인과 동일하지 않음
사용자 정보 출력시 생년월일, 성별에 대한 구분선 스타일 누락되어 있음
주소록관리
디자인 폰트와 다름
구글주소록 연동 버튼 이미지 디자인과 동일하지 않음
단축번호 팝업
버튼 선택시 외곽에 여백이 생김

View File

@ -0,0 +1,122 @@
ds
lf
crm-pro
4"C"1KEeBj
API 로그인
성공
세션생성
로그인 정보 생성
주소록 조회 (개인, 사내/공용)
퀵메뉴 및 주소록 참조 기능
통화 예약 조회
문자 예약 조회
setTimeout();
구글 주소록 토큰 확인
O
토큰 리프레시
X
설정 조회
O
설정 적용
X
기본 설정 적용
실패
로그
ocx 로그인
성공
세션생성
실패
로그
로그인
토큰 획득
세션생성
ocx 로그인
공용, 사내 주소록 버전 조회
개인 주소록 조회
주소록 동기화
사용자 현재 설정 조회
토큰 O
비밀번호 변경
사용자 정보 조회
환경설정
저장
조회
주소록
그룹(공용, 개인)
생성, 수정, 조회
고객
생성, 수정, 조회
단축번호
조회, 수정
즐겨찾기& 블랙리스트 (개인, 공용)
공용, 사내 조회, 저장, 삭제
개인 조회, 저장, 삭제
import
export
구글 주소록
토큰 저장, 조회, 삭제
API 연동
우편번호 API 연동
문자
보내기
엑셀
수신
이력 조회, 삭제
예약
저장, 조회, 삭제
스케쥴
저장, 조회, 삭제,
통화
전화걸기
전화끊기
보류
저장, 삭제
착신전환
저장, 삭제, 타입 조회
이력
저장, 조회, 삭제
예약
저장, 조회, 삭제
녹취
시작, 종료
메모
저장, 조회, 삭제,
게시판
공지사항
조회
자유게시판
저장, 수정, 삭제
조회
상세 조회 시 이전, 다음
댓글
저장, 수정, 삭제, 조회
녹취
조회, 다운로드, 재생
OCX
보류, 3자, 회의
일렉트론
통화
문자
예약
엑셀
토큰 x
사용자 관리
비밀번호 초기화
동의 관리
조회, 저장
질문
메모
설정 /api/v1.0/memo/setting 어디서 사용하는 API 인지 확인
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJwd1Jlc2V0WW4iOiJZIiwidXNlcl9uYW1lIjoiMSIsImNlbnRyZXhQdyI6ImNwIXVjQHBMRyIsInBob25lTnVtIjoiMDcwODI3NzQwMDQiLCJhdXRob3JpdGllcyI6WyJST0xFX0FETUlOIiwiUk9MRV9VU0VSIl0sImNsaWVudF9pZCI6InVjYXAiLCJleHByaXJlX2RhdGUiOjE2MDM4NjU0NTc2NzEsImF1dGhZbiI6IlkiLCJjb21wYW55SWQiOjEsInNjb3BlIjpbInJlYWQiLCJ3cml0ZSJdLCJuYW1lIjoiQ3JtUHJvVGVzdENsaWVudCIsImlkIjoxLCJjZW50cmV4SWQiOiIwNzA4Mjc3NDAwNCIsImV4cCI6MTYwMzg2NTQ1NywianRpIjoiZTI3YmYxZTAtZjY2MC00ZTJiLTliOTItZGZmMWIxZmYyNzVlIn0.Daty2qii4kFuGRMC7TnUS04YO-rNtfeqbDBjyyRiz0pjYuhwLqGWa6yQHl1rAVpnf0ILyn14UD58esZgHQeRJmAHd-Zk0tBODxwZtho_ldUQR6Q6-Qfjhs6WM8_MKeMWfVWmbG2uBZYcBAyI9fotXru6G7R-CtK2BGPqOA-Qv-ts2sKgbTsPk0jGZxX3z61QX6E4fUdnJQiO83IJAEGw2ToAmPetvZLJNcGUetl71sUv2tyWew7TsKyeR3KqxD1Hrxj5QdWyPU1qaGtYsHAn1SqHHEJhu1OMD3W59fEG9APFy7YOt5bPGP5e0SOS-Rygw2RmAt8iTpMTfR5cvT_Dpw

View File

@ -0,0 +1,31 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
비밀번호 변경
비밀번호 리셋
개인정보 문서 조회
개인정보 문서 동의
환경설정 조회
환경설정 저장
클라 버전정보 저장
클라 버전정보 조회
인증번호 발급
인증번호 확인
사용자 정보 조회
API 서버 로그인 전
인증번호 발급 및 확인
개인정보 문서 조회
개인정보 문서 동의
비밀번호 리셋
API 서버 로그인 후
사용자 정보 조회
환경설정 조회, 저장
클라버전 정보 조회, 저장
비밀번호 변경

View File

@ -0,0 +1,142 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
개인정보 문서 조회
개인정보 문서 동의
주소록 검색
이름, 전화번호, 부서명 검색
suggestion search component
주소록
로그인
공용/사내 주소록 조회
개인 주소록 조회
액션
주소록 등록
주소록 수정
주소록 조회
주소록 삭제
그룹 등록
그룹 수정
그룹 리스트 조회
그룹 상세 조회
그룹 삭제
단축번호 조회
단축번호 삭제
단축번호 수정
이펙트
로그인 성공 이벤트
공용/사내 주소록 조회
개인 주소록 조회
그룹 조회
등록 요청
등록 성공
개인 일 때
공용 일때
수정
수정 성공
삭제
삭제 성공
리듀서
공용/사내 주소록 조회 성공
스테이트 업데이트
개인 주소록 조회 성공
스테이트 업데이트
그룹 조회 성공
스테이트 업데이트
스테이트
개인
공용/사내
그룹
주소록 등록 화면
그룹 리스트 조회
디폴트 그룹 리스트 = 개인
분류
공용
공용 그룹 리스트
개인
개인 그룹 리스트
단축번호 조회
사용 리스트,
그룹 소속 타입
*개인 그룹 등록 시 그룹 SEQ 가 겹치지 않게 특정 숫자 예를 들어 10000부터 시작하는 숫자를 가지며,
앱로드시 개인 그룹 SEQ 번호를 셀렉트 해와야 한다.
개인
그룹 리스트
그룹 이름
그룹 타입
그룹 번호
그룹에 소속된 주소록 리스트
공용
그룹 리스트
그룹 이름
그룹 타입
그룹 번호
그룹에 소속된 주소록 리스트
사내
그룹 리스트
그룹 이름
그룹 타입
그룹 번호
그룹에 소속된 주소록 리스트
즐겨찾기
블랙리스트
API 누락
단축번호 조회
그룹삭제
"clientGrade" : {
"id" : 3
},
"shortnos" : [
{
"phoneNum" : "01012345679" ,
"shortno" : "15"
}
],
"contactGrp" : {
"id" : 2
},
{
"name" : "홍길동_1",
"nickname" : "마스터홍_1",
"contactTypCd" : "P",
"birthDy": "19790101",
"genderCd": "M",
"officeNm" : "대한은행",
"clientGrade" : {
"id" : 3
},
"devisionNm" : "경영지원",
"positionNm" : "차장",
"mobile" : "01012345679",
"telephone" : "07012345679",
"extension" :"5679",
"shortnos" : [
{
"phoneNum" : "01012345679" ,
"shortno" : "15"
}
],
"email" : "abc@gmail.com",
"postCode" : "12345",
"address" : "서울시 마포구 발산동 123-45 사이언스 파크",
"addressDetail" : "E14동 906호",
"contactGrp" : {
"id" : 2
},
"website" : "https://www.lgcns.com",
"memo" : "테스트 주소록 첫번째",
"bookmark" : 0,
"blacklist" : 0
}

View File

@ -0,0 +1,90 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
개인정보 문서 조회
개인정보 문서 동의
/** 블랙리스트 조회 */
/** 즐겨찾기 조회 */
api-authentication 0.0.24
api-call 0.0.25
api-contacts 0.0.1
api-sms 0.0.7
api-user 0.0.6
domain-contacts 0.0.7
domain-call 0.0.9
domain-sms 0.0.7
/* 고객 SEQ(n)*/
seq: number;
/* 이름(s) */
name?: string;
/* 닉네임(s)*/
nickname?: string;
/* 분류(s) */
contactGroupType?: ContactsGroupType;
/* 회사 이름 officeNm (s) */
companyName?: string;
/* 부서 이름 devisionNm (s) */
deptName?: string;
/* 직급 이름 positionNm (s) */
gradeName?: string;
/* 고객 등급 clientGrade */
level?: LevelInfo;
/* 성별(n) */
genderCd?: string;
/* 메모(s) */
memo?: string;
/* 블랙리스트 여부 blacklist (b) */
isBlackList?: boolean;
/* 즐겨찾기 여부 bookmark (b) */
isFavorite?: boolean;
/* 생년월일 birthDy yyyyMMdd (s) */
birthday?: string;
/* 그룹정보 contactGrpCd */
groupInfo?: GroupInfo;
/* 휴대전화 (s) */
mobile: string;
/* 일반 전화 (s) */
telephone?: string;
/* 직통/내선 전화번호(s) */
extension?: string;
/* 단축번호 정보 */
shortNoInfoList?: ShortcutInfo[];
/* 주소1(s) */
address?: string;
/* 상세주소(s) */
addressDetail?: string;
/* 우편번호 */
postCode?: string;
/* 이메일(s) */
email?: string;
/* 웹사이트(s) */
website?: string;
/* 등록날짜(s) */
registDate?: string;
export interface HistoryInfo {
/** seq (n) */
seq?: number;
/** 사용자 이름(s) */
name?: string;
/** 수/발신 전화번호(s) */
destNum?: string;
/** 수/발신 날짜 smsDt */
smsDt?: string;
/** 문자 내용 smsMsg */
smsMsg?: string;
/** 문자 구분 smsDvCd */
smsDvCd?: SmsDivCode;
/** 주소록 정보 contactInfo */
customerInfo: CustomerInfo;
}

View File

@ -91,4 +91,10 @@ crm pro
contactInfo 오브젝트에 id 값 추가 요청 contactInfo 오브젝트에 id 값 추가 요청
ocx 전화 수신 시 수신 카운트 증가건에 대해 문의 ocx 전화 수신 시 수신 카운트 증가건에 대해 문의
OCX 이벤트 받는 API를 현재 만들어 두었는데요 아직 문서가 정리가 안되어서요 OCX 이벤트 받는 API를 현재 만들어 두었는데요 아직 문서가 정리가 안되어서요
추석 이후에 정리해서 전달 드리겠습니다. 추석 이후에 정리해서 전달 드리겠습니다.
박철우 부장
자유게시판 등록, 수정 상세조회 기획 누락
그룹 생성, 그룹 수정 기획 누락
특수문자 > 사용자 정의 기획 누락

View File

@ -7,4 +7,69 @@ crm pro
전화 화면 구성 전화 화면 구성
통화 설정 관련 문의 통화 설정 관련 문의
발신그룹 설정이란 부분은 기획서 화면 정의서에 정의 되어 있지 않은데 기능 목록에는 추가되어 있음 발신그룹 설정이란 부분은 기획서 화면 정의서에 정의 되어 있지 않은데 기능 목록에는 추가되어 있음
전체 화면 개수
탑, 네비게이션, 전체 레이아웃
통화
발신,
수신,
알림, 메모 등록, 블랙리스트, 부재중, 통화 부재중
다이얼 패드, 이력 리스트, 기간 검색, 예약 리스트, 예약 등록, 퀵메뉴
SMS
SMS 대화 내역 (채팅), SMS 입력창, SMS 수신 리스트, 특수문자, 커스텀문자, SMS 내역 리스트, 기간 검색, 퀵메뉴,
예약 리스트, 예약 등록, 문자 수신 알림,
주소록
개인 주소록 등록,
공용 주소록 등록,
개인 주소록 조회,
공용 주소록 조회,
기간검색,
퀵메뉴,
단축번호 조회, 단축번호 등록,
주소록 관리
연락처 불러오기
연락처 내보내기
구글 주소록
그룹 관리
그룹 조회
그룹 등록
메모
메모 상세 내역
메모 내역 리스트
메모 검색
메모 등록
검색 기간,
퀵메뉴,
녹취
재생 플레이어,
녹취 상세 리스트 내역
전체 녹취 리스트 내역
설정
기본, 수신그룹, 비밀번호 변경, 인증관리, 업데이트
게시판
공지사항
리스트 조회, 상세 조회
자유
등록, 상세 조회, 리스트 조회, 댓글 등록, 댓글 조회
로그인
인증
개인정보
67개
화면 전달 개수
48개
화면 작업중인 개수
19개
화면 완료 개수
완료 검증 필요
전체 기능 개수
서버 기능 개수
71개
클라이언트 기능 개수
105개
기능 완료 개수
22개
일렉트론 실행
데스크탑 프로젝트 검증
웹 프로젝트 검증

View File

@ -0,0 +1,127 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
개인정보 문서 조회
개인정보 문서 동의
주소록 API 연동
/** 블랙리스트 조회 */
/** 즐겨찾기 조회 */
검색
010
주소록
010 검색
로그인 성공 후
개인 주소록 (로컬) 조회
공용 주소록 (서버) 조회 액션
주소록 등록 요청
성공
실패
주소록 등록 요청 성공
스테이트 변경 처리
기존 데이터 업데이트
주소록 등록 요청 실패
실패 원인 출력
사후 처리
그룹 등록 요청
성공
실패
그룹 등록 요청 성공
스테이트 변경 처리
기존 데이터 업데이트
그룹 조회 요청 실패
실패 원인 출력
사후 처리
단축번호 등록 요청
성공
실패
단축번호 등록 요청 성공
스테이트 변경 처리
단축번호 등록 요청 실패
즐겨찾기 요청
즐겨찾기 요청 성공
즐겨찾기 요청 실패
블랙리스트 요청
블랙리스트 요청 성공
블랙리스트 요청 실패
서버 버그 리스트업
그룹 등록 시 기본 타입(공용) 등록 되지 않음
등록된 단축번호 리스트 조회 API 누락
const customerAddEncodeMap = {
seq: 'id',
name: 'name',
nickname: 'nickname',
contactGroupType: 'contactTypCd',
companyName: 'officeNm',
deptName: 'devisionNm',
gradeName: 'positionNm',
genderCd: 'genderCd',
memo: 'memo',
isBlackList: 'blacklist',
isFavorite: 'bookmark',
birthDy: 'birthDy',
mobile: 'mobile',
telephone: 'telephone',
extension: 'extension',
address: 'address',
addressDetail: 'addressDetail',
email: 'email',
website: 'website',
postCode: 'postCode',
level: 'clientGrade',
groupInfo: 'contactGrp',
shortNoInfoList: 'shortnos'
};
const extraParams: any = {};
if (!!customerInfo && !!customerInfo.level && customerInfo.level.seq > 0) {
extraParams.level = {};
extraParams.level.id = JSON.stringify(customerInfo.level.seq);
}
if (
!!customerInfo &&
!!customerInfo.groupInfo &&
customerInfo.groupInfo.seq > 0
) {
extraParams.contactGrp = {};
extraParams.contactGrp = JSON.stringify(customerInfo.groupInfo.seq);
}
if (
!!customerInfo &&
!!customerInfo.shortNoInfoList &&
customerInfo.shortNoInfoList.length > 0
) {
const shortNoInfoList: any[] = [];
customerInfo.shortNoInfoList.forEach((shortInfo) => {
shortNoInfoList.push({
phoneNum: shortInfo.phoneNumber,
shortno: shortInfo.shortNo
});
});
extraParams.shortNoInfoList = shortNoInfoList;
}
const test = ParameterUtil.encodeJson(
customerAddEncodeMap,
customerInfo,
extraParams
);
console.log(test);
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJwd1Jlc2V0WW4iOiJOIiwidXNlcl9uYW1lIjoiMSIsImNlbnRyZXhQdyI6ImNwIXVjQHBMRyIsInBob25lTnVtIjoiMDcwODI3NzQwMDQiLCJhdXRob3JpdGllcyI6WyJST0xFX0FETUlOIiwiUk9MRV9VU0VSIl0sImNsaWVudF9pZCI6InVjYXAiLCJleHByaXJlX2RhdGUiOjE2MDQzNjc5OTIxMzQsImF1dGhZbiI6IlkiLCJjb21wYW55SWQiOjEsInNjb3BlIjpbInJlYWQiLCJ3cml0ZSJdLCJuYW1lIjoiQ3JtUHJvVGVzdENsaWVudCIsImlkIjoxLCJjZW50cmV4SWQiOiIwNzA4Mjc3NDAwNCIsImV4cCI6MTYwNDM2Nzk5MiwianRpIjoiMjcwNzcwMjktN2E0OS00N2Y5LWJiODYtMzI1YjRlMzg5YTNiIn0.YAU7ovT4NPiC3VefGP-G0hcfelrZ9jI0VyigXyBh8aDqu3kxW5ejijr5crCO8Bnjg3xZh6xclFFvLOgw5cqmcJ4vw91EEEypYaSheA_kplIwgeKHh8hoyJeMd3L99PK-tG_tasiUqDnqz6dJQKiO9nyVqaGsVJwziViLRVduNtRjyRPE2MOYp8CAou_Bw-tdFybwY5x0PD4PBsgxsPPxHw9tih9eeu8L0LofMHvcH8lNaBUGYN8op3NzqcJGx2NFvd9jrQIoNPYQ7gUQC7hqVmdzkPfDKHTHcDlV_5YyBPUKYyn_TWy7oC6IbN30TRitHjF-0fsr0415a9--RB2c9w

View File

@ -0,0 +1,65 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
주소록
기능
개인 주소록 조회
공용 주소록 조회
사내 주소록 조회
개인 주소록 등록
공용 주소록 등록
개인 주소록 삭제
공용 주소록 삭제
개인 주소록 수정
공용 주소록 수정
즐겨 찾기 주소록 조회
블랙 리스트 주소록 조회
개인 그룹 이동 (선택한 고객)
개인 그룹 등록
개인 그룹 수정
공용 그룹 이동 (선택한 고객)
공용 그룹 등록
공용 그룹 수정
문자 발송 담기 (선택한 고객)
공통
기간 검색
주소록 (이름, 전화번호, 부서명) 검색
스토어 설계
화면 갱신
주소록 검색
주소록 등록
주소록 삭제
주소록 수정
그룹 등록
그룹 수정
그룹 삭제
주소록 초기화
개인
그룹
공용
그룹
사내
그룹
이펙트
로그인 후
서버 주소록 조회
개인 주소록 조회
서버 그룹 조회
개인 그룹 조회
고객 주소록 스테이트 생성
고객 그룹 스테이트 생성
주소록 등록
주소록 수정
그룹 등록
그룹 수정
단축번호 등록
formControlName="customerName"
formControlName="customerNickname"

View File

@ -0,0 +1,52 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
고객 선택 시
고객 seq 입력
고객 정보 추출
section에 데이터 전달
grid 컴포넌트에 데이터 전달
새로운 고객 등록
스테이터스 변경
input
formControlName="birthday"
formControlName="companyName"
formControlName="deptName"
formControlName="gradeName"
formControlName="mobile"
formControlName="telephone"
formControlName="extension"
formControlName="email"
formControlName="website"
formControlName="memo"
select
formControlName="levelName"
radio
formControlName="changeContactType" de me
고객 등록
고객 수정
고객 보기
데이터x
데이터o
주소록 사이드네비 페이지
신규등록 버튼 클릭
신규 등록 출력
주소록 보기 클릭
고객 정보 출력
주소록 수정 클릭
수정 페이지 클릭
그룹 보기 클릭
그룹 리스트 출력
그룹 등록 클릭
그룹 등록 출력
인덱스 페이지

View File

@ -0,0 +1,73 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
로그인 성공 후
로컬 저장소 개인 주소록 존재여부
O
customersSucess 액션 발행
X
로컬 저장소 그룹 존재여부
O
groupsSucess 액션 발행
X
기본 그룹 생성
로컬 저장소에 저장
공용 고객등록
서버 저장
개인 고객등록
로컬 저장
공용 타입
서버로 디스패치
개인 타입
기존 개인 주소록 로컬 저장소에서 조회
새로운 고객 주소록 기존 주소록에 머지
고객 등록 액션
스테이터스 변경
고객 서비스
고객 등록
공용
서버 디스패치
개인
로컬 저장소 기존 데이터에 추가
로컬 저장소 저장 성공
스토어 주소록 갱신
로컬 저장소 저장 실패
고객 수정
공용
서버 디스패치
개인
로컬 저장소 검색 후 수정
로컬 저장소 수정 성공
스토어 주소록 갱신
로컬 저장소 수정 실패
고객 삭제
공용
서버 디스패치
개인
로컬 저장소 검색 후 삭제
로컬 저장소 삭제 성공
스토어 주소록 갱신
로컬 저장소 삭제 실패
고객 조회(store)
공용
개인
그룹 등록
공용
개인
그룹 수정
공용
개인
그룹 삭제
공용
개인
그룹 조회(store)
공용
개인

View File

@ -0,0 +1,27 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
생성, 수정
seq
O
라우터 이동
X
export interface MemoInfo {
/** 메모 SEQ(n) */
seq: number;
/** 전화번호(s) */
callingNum: string;
/** 이름 */
callingNm?: string;
/** 메모타입 */
memoTypCd?: MemoType;
/** 메모내용 */
memoContent?: string;
/** 최근수정일 */
updatedDt?: string;
}

View File

@ -0,0 +1,33 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
crm-pro
1. 사용자 주소록 검색
2. 입력 값
sidenav 화면
list 화면
주소록 검색(이름, 전화번호, 부서명)
리스트 화면 변경
전체 검색 (이름, 전화번호, 부서명)
검색어가 숫자인지 문자인지 구분
숫자인 경우 (6글자 이하는 제외)
문자인 경우 (1글자 이하는 제외)
생성, 수정
seq
O
라우터 이동
X
메모 리스트
전화번호
메모 내용
메모 날짜
마지막 통화 시간
메모유형

View File

@ -0,0 +1,44 @@
lf
대화방 생성시 엑셀 템플릿 업로드
이름, 전화번호, 이메일, 부서명으로 대화상대 검색(서버, 스토어)
검색후 선택박스에 삽입
ds
link 이중 루프 리팩토링 해야함
첨부파일을 삭제하지 않고 모두 보관할 경우의 영향성 문의
-디스크는 부족하지 않다는 가정하에 답변 부탁드립니다.
PC 메신저 첨부파일 저장시 .이 포함되면 알 수 없는 파일로 저장됨
- 폴더옵션에 확장자가 표시 되지 않도록 옵션이 설정되어 있는 경우만 발생
crm-pro
1. 사용자 주소록 검색
2. 입력 값
sms 로우 선택
라우터
아이템
-> history info
박스
-> history info
섹션
-> history info
페이지
history info seq -> index page call
index 페이지
장점
단점
seq 들고 다녀야 함
페이지 전환 시 알아야 할 포인트가 많음
스토어
아이템
-> history info
박스
-> history info
섹션
초기 -> 현재 최근 날짜 가장 최근 Seq 아이템 추출
out
07082774004
in

View File

@ -0,0 +1,26 @@
ds
새로운 대화 입력 후
대화내용이 맨밑으로 안되고 상단으로 올라가는 이슈
crm pro
서버연동
통화 설정 관련 문의
발신그룹 설정이란 부분은 기획서 화면 정의서에 정의 되어 있지 않은데 기능 목록에는 추가되어 있음
주소록
그룹 삭제 API 추가
전체 화면 이슈
게시판
자유게시판 등록, 수정 상세조회
주소록
그룹 생성, 그룹 수정(이름만 변경 박철우 부장 확인), 그룹 삭제
특수문자 > 사용자 정의 페이지 없음
메모
서버에서 사용자 전화번호에 메모가 있는경우에 대한 리스트 내역을 내려주어야함
문자
source number, destnumber 필요(전체 내역 리스트를 출력 하는것이 아닌 해당 번호와 주고 받은 문자를 표현하기 위해)
일렉트론 실행
데스크탑 프로젝트 검증
웹 프로젝트 검증

View File

@ -0,0 +1,121 @@
nexus 인증서 설치
chrome
https://10.81.13.229/nexus/repository/npm-all/ 로그인
주소창왼쪽 느낌표 아이콘 클릭 인증서 클릭
자세히 -> 파일에복사 -> 인증서 내보내기 마법사 시작
-> DER로 인코딩된 바이너리 X.509(.CER))(D) 선택 후 다음 -> 바탕화면 저장 -> 인증서 클릭 후 설치
======== UCAP ===================================================
0. Git
1) url
> http://10.81.13.229:9080/
ID: leejh
PW: 1q2w3e4r5t
1. npm nexus
1) Nexus url
> http://10.81.13.221:8081/nexus/ < old
> http://10.81.13.229:8081/
ID: leejh
PW: 1q2w3e4r5t
2) setting
> setting registry
> npm config set registry http://10.81.13.221:8081/nexus/repository/npm-all/
> Authentication Using Basic Auth
> https://help.sonatype.com/repomanager3/formats/npm-registry#npmRegistry-AuthenticationUsingBasicAuth
> sample .npmrc : (C:\Users\user\.npmrc)
registry=http://10.81.13.221:8081/nexus/repository/npm-all/
email=leejh@biztechpartners.co.kr
always-auth=true
_auth=bGVlamluaG86cXdlcG9pMDk4NyEh
3) set publish
> npm --registry http://10.81.13.221:8081/nexus/repository/npm-ucap/ login
> Username: leejinho
Password: qwepoi0987!!
Email: (this IS public) leejinho@gmail.com
Logged in as leejinho on http://10.81.13.221:8081/nexus/repository/npm-ucap/.
2. Module
1) ucap
> install / build
> file:pack 부분을 제거하고 npm install
2) ucap-angular
> install / build
> file:pack 부분을 제거하고 npm install
3) ucap-electron
> install / build
> file:pack 부분을 제거하고 npm install
4) ucap-lg-desktop
5) ucap-lg-web
9. Server
1) DEV
13.124.88.127
administrator
uc#uc@pLG
D:\UCAP\service\NvWeb_NewPC-PROD
D:\UCAP\service\NvWeb_NewPC-DEV
0. local start
1) browser
1. ucap-lg-web
> npm run start:app
> npm run start:chat
* 하나씩 진행(동시진행 X)
2) electron
1. ucap-lg-web
> npm run start:app:renderer
> npm run start:chat:renderer
* 하나씩 진행(동시진행 X)
2. ucap-lg-desktop
> npm run start
> 중간에 멈추면(Auto attach 가 잘 안들어서 멈춤)
> F1 > Debug:Attach to Node Process
> cmd: /d /s /c "electron ^^^" 어쩌고저쩌고 선택.
0. Build
1) browser
1. ucap-lg-web
> environment.prod.ts
모든 ModuleConfig 의 domain 을 상황에 맞게 수정.
> dev : 13.124.88.127
> prod : www.lgucap.com
모든 ModuleConfig 의 protocol 을 상황에 맞게 수정.
> dev : http
> prod : https
> npm run build:app:production
> npm run build:chat:production
> app 패키지 배포.
> app 배포 폴더 밑에 /multi-view/chat/ 폴더 생성후 그 밑에 chat 패키지 배포.
2) electron
1. ucap-lg-web
> npm run build:app:production-renderer
> npm run build:chat:production:renderer
> (MOVE) ./dist/{생성폴더} => ../ucap-lg-desktop/dist-resources/{생성폴더}
2. ucap-lg-desktop
> npm run build
> npm run pack:windows:x64

View File

@ -0,0 +1,30 @@
접속포트 : 9876, TCP
1. 로그인
1.1. 요청
{ "req_type" : "Login", "SeqNum" : "1", "LoginId" : "07082774004", "Password" : "cp!uc@pLG" }
1.2. 응답
{ "RespType" : "LoginResult", "Result" : "LOGINRESULT|STATUS:1|EXTEN:101t4004|CALLERID:07082774004|DOMAIN:premium_c_965657.lgdacom.net|MSG:101t4004,07082774004,tmpid4004@premium_c_965657.lgdacom."}
2. 전화걸기
2.1. 요청
{ "req_type" : "ClickCall", "SeqNum" : "1", "CallNumber" : "01012345678" }
2.2. 응답
{ "RespType" : "SendRingEvent", "Result" : "RINGEVENT|ISDIAL:0|CHANNEL:SIP/10013458..." }
3. 이벤트
3.1. SendRingEvent, 송신/수신시
{ "RespType" : "SendRingEvent", "Result" : "RINGEVENT|ISDIAL:0|CHANNEL:SIP/10013458..." }
3.2. SendChannelListEvent, 전화통화 이루어 질 때, (Answer 시)
{ "RespType" : "SendChannelListEvent", "Result" : "......" }
3.3. SendChannelOutEvent, ring 종료시, 통화중 채널종료시
{ "RespType" : "SendChannelOutEvent", "Result" : "......" }