This commit is contained in:
Park Byung Eun 2020-01-29 18:09:13 +09:00
parent 698e052f7f
commit 1514e7fd88
5 changed files with 370 additions and 0 deletions

View 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);
};

View 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'
];

View 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'
}

View 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":"" }"