dd
This commit is contained in:
parent
698e052f7f
commit
1514e7fd88
Binary file not shown.
28
documents/protocol/fileInfo.txt
Normal file
28
documents/protocol/fileInfo.txt
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
export const SVC_TYPE_FILE = 53; // File
|
||||||
|
export const SSVC_TYPE_FILE_INFO_REQ = 1; // File 정보 전송 요청
|
||||||
|
export const SSVC_TYPE_FILE_INFO_DATA = 2; // File 정보 Data
|
||||||
|
export const SSVC_TYPE_FILE_INFO_CHECK_DATA = 3; // File 다운로드 체크 Data
|
||||||
|
export const SSVC_TYPE_FILE_INFO_RES = 4; // File 정보 전송 응답
|
||||||
|
export const SSVC_TYPE_FILE_DOWN_CHECK_REQ = 11; // File 다운로드 완료 요청
|
||||||
|
export const SSVC_TYPE_FILE_DOWN_CHECK_RES = 12; // File 다운로드 완료 응답
|
||||||
|
|
||||||
|
export const decodeInfoCheckData: ProtocolDecoder<InfoCheckData> = (
|
||||||
|
message: ProtocolMessage
|
||||||
|
) => {
|
||||||
|
const fileDownloadInfos: FileDownloadInfo[] = [];
|
||||||
|
message.bodyList.forEach(fileInfo => {
|
||||||
|
const info = fileInfo.split(BodyStringDivider);
|
||||||
|
fileDownloadInfos.push({
|
||||||
|
roomSeq: info[0],
|
||||||
|
seq: Number(info[1]),
|
||||||
|
userSeq: Number(info[2]),
|
||||||
|
userName: info[3],
|
||||||
|
downloadDate: info[4],
|
||||||
|
isDownload: info[5] === 'Y' ? true : false
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
return decodeProtocolMessage(message, {
|
||||||
|
fileDownloadInfos
|
||||||
|
} as InfoCheckData);
|
||||||
|
};
|
260
documents/type/environment.type.ts
Normal file
260
documents/type/environment.type.ts
Normal file
|
@ -0,0 +1,260 @@
|
||||||
|
export type UCapRuntime = 'browser' | 'electron';
|
||||||
|
|
||||||
|
export interface Environment {
|
||||||
|
production: boolean;
|
||||||
|
runtime?: UCapRuntime;
|
||||||
|
title: string;
|
||||||
|
|
||||||
|
companyConfig: {
|
||||||
|
companyGroupCode: string;
|
||||||
|
fixedCompanyCode: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
productConfig: {
|
||||||
|
productId: string;
|
||||||
|
productName: string;
|
||||||
|
authentication: {
|
||||||
|
usePrivateInformationAgree: boolean;
|
||||||
|
rememberMe: {
|
||||||
|
use: boolean;
|
||||||
|
};
|
||||||
|
autoLogin: {
|
||||||
|
use: boolean;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
updateCheckConfig: {
|
||||||
|
deviceType: DeviceType;
|
||||||
|
intervalHour: number;
|
||||||
|
};
|
||||||
|
defaultSettings: Settings;
|
||||||
|
|
||||||
|
CommonSetting: {
|
||||||
|
/** 파일업로드 제한 사이즈 (mb) */
|
||||||
|
defaultFileAllowSize: number;
|
||||||
|
|
||||||
|
/** 내 프로필 이미지 수정 가능 여부 */
|
||||||
|
editableProfileImage: boolean;
|
||||||
|
|
||||||
|
/** 소속부서(내부서) 그룹핑 사용여부 */
|
||||||
|
useMyDeptGroup: boolean;
|
||||||
|
/** 소속부서(내부서) 고정 그룹 SEQ */
|
||||||
|
myDeptGroupSeq: number;
|
||||||
|
/** 삭제,수정 불가 그룹 Seqs:number[] */
|
||||||
|
fixedGroupSeqs: number[];
|
||||||
|
|
||||||
|
/** 타이머대화방 사용유무 */
|
||||||
|
useTimerRoom: boolean;
|
||||||
|
/** 타이머대화방 기본 interval */
|
||||||
|
timerRoomDefaultInterval: number;
|
||||||
|
|
||||||
|
/** 최대 대화방 참여인원 */
|
||||||
|
maxChatRoomUser: number;
|
||||||
|
/** 대용량대화 기준 */
|
||||||
|
masstextLength: number;
|
||||||
|
|
||||||
|
/** 대화방 초기 로딩 이벤트 갯수 */
|
||||||
|
eventRequestInitCount: number;
|
||||||
|
/** 대화방 이벤트 조회 개수 */
|
||||||
|
eventRequestDefaultCount: number;
|
||||||
|
|
||||||
|
/** 여기까지 읽음을 보여줄 최소 이벤트 개수 (show: over) */
|
||||||
|
readHereShowMinimumEventCount: number;
|
||||||
|
/** 여기까지 읽음을 보여줄 최대 이벤트 개수 (show: under) */
|
||||||
|
readHereShowMaximumEventCount: number;
|
||||||
|
/** 여기까지 읽음이 보여질때 대화방 이벤트 조회 개수. */
|
||||||
|
readHereEventRequestCount: number;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
customConfig?: any;
|
||||||
|
|
||||||
|
commonApiModuleConfig: CommonApiModuleConfig;
|
||||||
|
publicApiModuleConfig: PublicApiModuleConfig;
|
||||||
|
externalApiModuleConfig: ExternalApiModuleConfig;
|
||||||
|
messageApiModuleConfig: MessageApiModuleConfig;
|
||||||
|
promptApiModuleConfig: PromptApiModuleConfig;
|
||||||
|
piModuleConfig: PiModuleConfig;
|
||||||
|
protocolModuleConfig: ProtocolModuleConfig;
|
||||||
|
nativeModuleConfig: NativeModuleConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const commonApiUrls: CommonApiUrls = {
|
||||||
|
fileProfileSave: '/Common/FileProfileSave.aspx',
|
||||||
|
fileTalkDownload: '/Common/FileTalkDownload.aspx',
|
||||||
|
fileTalkSave: '/Common/FileTalkSave.aspx',
|
||||||
|
fileTalkShare: '/Common/FileTalkShare.aspx',
|
||||||
|
massTalkDownload: '/Common/MassTalkDownload.aspx',
|
||||||
|
massTalkSave: '/Common/MassTalkSave.aspx',
|
||||||
|
transMassTalkDownload: '/Common/TransMassTalkDownload.aspx',
|
||||||
|
transMassTalkSave: '/Common/TransMassTalkSave.aspx',
|
||||||
|
translationReq: '/Common/TranslationReq.aspx',
|
||||||
|
translationSave: '/Common/TranslationSave.aspx'
|
||||||
|
};
|
||||||
|
|
||||||
|
http://15.164.139.105/WebFile/GUC100/2020/01/29/MA_9829_111249476815_2.png.thumb.jpg
|
||||||
|
|
||||||
|
export const publicApiUrls: PublicApiUrls = {
|
||||||
|
versionInfo2: '/Pub/verinfo2.aspx',
|
||||||
|
updateInfo: '/Pub/updinfo.aspx'
|
||||||
|
};
|
||||||
|
export const externalApiUrls: ExternalApiUrls = {
|
||||||
|
checkUserInfoEx: '/Extern/CheckUserInfoEx.aspx',
|
||||||
|
companyList: '/Extern/CompanyList.aspx',
|
||||||
|
tokenUpdate: '/Extern/TokenUpdate.aspx',
|
||||||
|
urlInfo: '/Extern/urlinfo.aspx'
|
||||||
|
};
|
||||||
|
export const messageApiUrls: MessageApiUrls = {
|
||||||
|
retrieveSendMessageList: '/uCapMsg/msg/retrieveSendMessageList.do',
|
||||||
|
retrieveRecvMessageList: '/uCapMsg/msg/retrieveRecvMessageList.do',
|
||||||
|
retrieveReservationMessageList:
|
||||||
|
'/uCapMsg/msg/retrieveReservationMessageList.do',
|
||||||
|
retrieveSearchMessage: '/uCapMsg/msg/retrieveSearchMessage.do',
|
||||||
|
|
||||||
|
sendNewMessage: '/uCapMsg/msg/sendNewMessage.do',
|
||||||
|
|
||||||
|
retrieveMessageDetail: '/uCapMsg/msg/retrieveMessageDetail.do',
|
||||||
|
readMessage: '/uCapMsg/msg/readMessage.do',
|
||||||
|
retrieveReadCheck: '/uCapMsg/msg/retrieveReadCheck.do',
|
||||||
|
cancelMessage: '/uCapMsg/msg/cancelMessage.do',
|
||||||
|
cancelReservationMessage: '/uCapMsg/msg/cancelReservationMessage.do',
|
||||||
|
retrieveResourceFile: '/uCapMsg/msg/retrieveResourceFile.do',
|
||||||
|
|
||||||
|
deleteMessage: '/uCapMsg/msg/deleteMessage.do',
|
||||||
|
|
||||||
|
saveMyMessage: '/uCapMsg/msg/saveMyMessage.do',
|
||||||
|
retrieveMyMessage: '/uCapMsg/msg/retrieveMyMessage.do',
|
||||||
|
deleteMyMessage: '/uCapMsg/msg/deleteMyMessage.do',
|
||||||
|
editMyMessage: '/uCapMsg/msg/editMyMessage.do',
|
||||||
|
|
||||||
|
editReservationMessageEx: '/uCapMsg/msg/editReservationMessageEx.do',
|
||||||
|
|
||||||
|
sendCopyMessage: '/uCapMsg/msg/sendCopyMessage.do',
|
||||||
|
|
||||||
|
retrieveUnreadCount: '/uCapMsg/msg/retrieveUnreadCount.do',
|
||||||
|
|
||||||
|
retrieveNoticeList: '/uCapMsg/notice/retrieveNoticeList.do'
|
||||||
|
};
|
||||||
|
export const promptUrls: PromptUrls = {
|
||||||
|
sendCall: '/uCapPrompt/api/call/clicktocall'
|
||||||
|
};
|
||||||
|
export const piUrls: PiUrls = {
|
||||||
|
login2: '/uCapPi/login2',
|
||||||
|
userTermsAction: '/uCapPi/user/terms.action',
|
||||||
|
passwordInitStep1: '/uCapPi/password/initStep1',
|
||||||
|
passwordChange: '/uCapPi/password/change',
|
||||||
|
policyTotal: '/uCapPi/policy/total',
|
||||||
|
policyService: '/uCapPi/policy/service',
|
||||||
|
policyPrivacy: '/uCapPi/policy/privacy',
|
||||||
|
tokenCheck: '/uCapPi/tokenCheck',
|
||||||
|
userMobileAuth: '/uCapPi/user/mobileAuth',
|
||||||
|
userUserAuth: '/uCapPi/user/userAuth',
|
||||||
|
userCall: '/uCapPi/user/call',
|
||||||
|
userMoblieCallAuth: '/uCapPi/user/moblieCallAuth',
|
||||||
|
eventSendEventMail: '/uCapPi/event/sendEventMail',
|
||||||
|
userMobileInitial1: '/uCapPi/user/mobileInitial1',
|
||||||
|
eventSendInvite: '/uCapPi/event/sendInvite',
|
||||||
|
userRoom: '/uCapPi/user/room',
|
||||||
|
scheduleRetrieveScheduleList: '/uCapPi/schedule/retrieveScheduleList',
|
||||||
|
userScreenCapture: '/uCapPi/user/screenCapture'
|
||||||
|
};
|
||||||
|
export const protocolUrls: ProtocolUrls = {
|
||||||
|
base: '/'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const commonApiacceptableFileExtensions: string[] = [
|
||||||
|
// 문서1
|
||||||
|
'csv',
|
||||||
|
'd01',
|
||||||
|
'doc',
|
||||||
|
'docx',
|
||||||
|
'dot',
|
||||||
|
'dotx',
|
||||||
|
'hwp',
|
||||||
|
'log',
|
||||||
|
'one',
|
||||||
|
'pdf',
|
||||||
|
'pot',
|
||||||
|
'potx',
|
||||||
|
'pps',
|
||||||
|
'ppsx',
|
||||||
|
'ppt',
|
||||||
|
'pptx',
|
||||||
|
'ps',
|
||||||
|
// 문서2
|
||||||
|
'rtf',
|
||||||
|
'txt',
|
||||||
|
'vcf',
|
||||||
|
'xls',
|
||||||
|
'xlsx',
|
||||||
|
'xlt',
|
||||||
|
'xltx',
|
||||||
|
'xlsm',
|
||||||
|
'ods',
|
||||||
|
// CAD
|
||||||
|
'asc',
|
||||||
|
'dwg',
|
||||||
|
'dws',
|
||||||
|
'dwt',
|
||||||
|
'dxf',
|
||||||
|
'pgp',
|
||||||
|
'plt',
|
||||||
|
// MAC
|
||||||
|
'pages',
|
||||||
|
'keynote',
|
||||||
|
// 압축
|
||||||
|
'7z',
|
||||||
|
'a01',
|
||||||
|
'a02',
|
||||||
|
'a03',
|
||||||
|
'alz',
|
||||||
|
'egg',
|
||||||
|
'gz',
|
||||||
|
'rar',
|
||||||
|
'tar',
|
||||||
|
'zip',
|
||||||
|
// 오디오
|
||||||
|
'aac',
|
||||||
|
'aiff',
|
||||||
|
'flac',
|
||||||
|
'm4a',
|
||||||
|
'mp2',
|
||||||
|
'mp3',
|
||||||
|
'mpega',
|
||||||
|
'mpga',
|
||||||
|
'ogg',
|
||||||
|
'wma',
|
||||||
|
'wav',
|
||||||
|
// 플래쉬
|
||||||
|
'fla',
|
||||||
|
'flv',
|
||||||
|
'swf',
|
||||||
|
// 이미지
|
||||||
|
'ai',
|
||||||
|
'bmp',
|
||||||
|
'cdr',
|
||||||
|
'emf',
|
||||||
|
'eps',
|
||||||
|
'gif',
|
||||||
|
'jpeg',
|
||||||
|
'jpg',
|
||||||
|
'png',
|
||||||
|
'psd',
|
||||||
|
'tif',
|
||||||
|
'tiff',
|
||||||
|
'wmf',
|
||||||
|
// 동영상
|
||||||
|
'3gp',
|
||||||
|
'avi',
|
||||||
|
'm4v',
|
||||||
|
'mkv',
|
||||||
|
'mov',
|
||||||
|
'mp4',
|
||||||
|
'mpeg',
|
||||||
|
'mpg',
|
||||||
|
'rv',
|
||||||
|
'ts',
|
||||||
|
'webm',
|
||||||
|
'wmv',
|
||||||
|
// 폴더전송용
|
||||||
|
'zdr'
|
||||||
|
];
|
56
documents/type/event.type.ts
Normal file
56
documents/type/event.type.ts
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
export enum EventType {
|
||||||
|
/** J: 대화참여 */
|
||||||
|
Join = 'J',
|
||||||
|
/** C: 대화전송 */
|
||||||
|
Character = 'C',
|
||||||
|
/** F: 파일전송 */
|
||||||
|
File = 'F',
|
||||||
|
/** S: 스티커 */
|
||||||
|
Sticker = 'S',
|
||||||
|
/** T: Mass Text */
|
||||||
|
MassText = 'T',
|
||||||
|
/** E: 대화퇴장 */
|
||||||
|
Exit = 'E',
|
||||||
|
/** P: 일정 */
|
||||||
|
Plan = 'P',
|
||||||
|
/** V: 화상회의 */
|
||||||
|
VideoConference = 'V',
|
||||||
|
/** L: 링크(Legacy) */
|
||||||
|
Link = 'L',
|
||||||
|
/** R: 대화방명변경 */
|
||||||
|
RenameRoom = 'R',
|
||||||
|
/** Y: 번역 */
|
||||||
|
Translation = 'Y',
|
||||||
|
/** Z: 대용량 번역 */
|
||||||
|
MassTranslation = 'Z',
|
||||||
|
/** U: 회수된 메시지 */
|
||||||
|
RecalledMessage = 'U',
|
||||||
|
/** N: 방Timer 변경 안내 */
|
||||||
|
GuideForRoomTimerChanged = 'N',
|
||||||
|
/** X: iOS캡쳐알림 */
|
||||||
|
NotificationForiOSCapture = 'X',
|
||||||
|
/** B: 타이머대화방알림 */
|
||||||
|
NotificationForTimerRoom = 'B',
|
||||||
|
/** Q: 2개월전 메시지 */
|
||||||
|
Before2MonthsAgo = 'Q',
|
||||||
|
/** G: 강제 퇴장 */
|
||||||
|
ForcedExit = 'G',
|
||||||
|
/** H: 챗봇대화 시작 */
|
||||||
|
ChatbotStart = 'H',
|
||||||
|
/** K: 챗봇대화 종료 */
|
||||||
|
ChatbotEnd = 'K',
|
||||||
|
/** I: 챗봇대화 전송 */
|
||||||
|
ChatbotSend = 'I',
|
||||||
|
/** A: 챗봇 대용량 대화 전송 */
|
||||||
|
ChatbotSendMass = 'A',
|
||||||
|
/** M: 동영상 스트리밍 */
|
||||||
|
VideoStreamming = 'M',
|
||||||
|
/** O: SNS 공유 */
|
||||||
|
SnsShare = 'O',
|
||||||
|
|
||||||
|
// [daesang]
|
||||||
|
/** p: 코끼리 알림 */
|
||||||
|
AllimElephant = 'p',
|
||||||
|
/** g: TMS 알림 */
|
||||||
|
AllimTms = 'g'
|
||||||
|
}
|
26
documents/type/file.type.ts
Normal file
26
documents/type/file.type.ts
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
export enum FileType {
|
||||||
|
/** I : 이미지 */
|
||||||
|
Image = 'I',
|
||||||
|
/** V : 동영상 */
|
||||||
|
Video = 'V',
|
||||||
|
/** F : 파일 */
|
||||||
|
File = 'F',
|
||||||
|
/** S : 사운드파일 */
|
||||||
|
Sound = 'S',
|
||||||
|
/** "" 빈값이면 모든 타입을 내려줌 */
|
||||||
|
All = ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
roomSeq(pin):"48"
|
||||||
|
eventSeq(pin):23
|
||||||
|
seq(pin):90
|
||||||
|
senderSeq(pin):9828
|
||||||
|
type(pin):"F"
|
||||||
|
name(pin):"GUI_Display_V2.pptx"
|
||||||
|
url(pin):"/AttFile/GUC100/2020/01/05/MA_9828_210505505194_2.pptx"
|
||||||
|
size(pin):"394389"
|
||||||
|
sendDate(pin):"2020-01-05 21:05:05"
|
||||||
|
receivedUserCount(pin):0
|
||||||
|
receiverCount(pin):1
|
||||||
|
sentMessage(pin):"{ "StatusCode":"200", "ErrorMessage":"", "RoomID":"48", "FileName":"GUI_Display_V2.pptx", "FileExt":"pptx", "FileType":"F", "ThumbURL":"", "AttSEQ":"90", "AttSize":"394389", "AttRegDate":"2020-01-05 21:05:05", "ImageWidth":"320", "ImageHeight":"320", "CompanyCode":"GUC100", "VoiceTime":"", "SynappKey":"" }"
|
Loading…
Reference in New Issue
Block a user