134 lines
3.5 KiB
Plaintext
134 lines
3.5 KiB
Plaintext
|
|
|
|
이미지 뷰어 출력 타입
|
|
|
|
파일 타입
|
|
txt, word, ppt...
|
|
|
|
미디어 타입
|
|
image, mp4...
|
|
|
|
파일, 이미지,
|
|
getExpiredFile() {
|
|
if (
|
|
!!this.roomInfo &&
|
|
this.roomInfo.expiredFileStdSeq <= this.message.seq
|
|
) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
fileViewer = new EventEmitter<SelectFileInfo>();
|
|
SelectFileInfo = {
|
|
attachmentSeq: number;
|
|
index?: number;
|
|
}
|
|
|
|
데이터
|
|
선택된 파일
|
|
대화방 파일 리스트
|
|
현재 디바이스 타입
|
|
토큰
|
|
로그인 사용자 시퀀스
|
|
|
|
대화 번역
|
|
번역 기능 활성화
|
|
번역 컴포넌트 출력
|
|
번역 대상 언어
|
|
번역 심플 뷰
|
|
번역 미리보기
|
|
번역 전송
|
|
대화 복사
|
|
클립보드 서비스 생성
|
|
일반 텍스트,
|
|
장문 텍스트,
|
|
일반 번역 텍스트,
|
|
장문 번역 텍스트,
|
|
|
|
|
|
대화 컨텍스트 메뉴
|
|
대화복사, 대화답장
|
|
|
|
파일인 경우 대화 전달
|
|
로그인 사용자 seq
|
|
로그인 사용자 토큰
|
|
현재 디바이스 타입
|
|
대화방 번호
|
|
확인
|
|
프로필 영어이름 공백
|
|
대화 삭제, 회수
|
|
|
|
forwarForFileEvent$ = createEffect(
|
|
() => {
|
|
return this.actions$.pipe(
|
|
ofType(ChattingActions.forwarForFileEvent),
|
|
withLatestFrom(this.store.pipe(select(LoginSelector.loginRes))),
|
|
tap(([actionReq, loginRes]) => {
|
|
const loginSession = this.appAuthenticationService.getLoginSession();
|
|
|
|
const fileEventJson: FileEventJson = decodeFileEventJson(
|
|
actionReq.sendReq.sentMessage
|
|
);
|
|
|
|
const req: FileTalkShareRequest = {
|
|
userSeq: loginRes.userSeq,
|
|
deviceType: loginSession.deviceType,
|
|
token: loginRes.tokenString,
|
|
attachmentsSeq: fileEventJson.attachmentSeq.toString(),
|
|
roomId: actionReq.trgtRoomId,
|
|
synapKey: ''
|
|
};
|
|
|
|
return this.commonApiService
|
|
.fileTalkShare(req)
|
|
.pipe(
|
|
take(1),
|
|
map((res: FileTalkShareResponse) => {
|
|
const sedRequest = {
|
|
senderSeq: loginRes.userSeq,
|
|
req: {
|
|
roomId: actionReq.trgtRoomId,
|
|
eventType: actionReq.sendReq.eventType,
|
|
sentMessage: res.returnJson
|
|
}
|
|
};
|
|
if (actionReq.forwardType === 'O') {
|
|
if (res.statusCode === StatusCode.Success) {
|
|
this.store.dispatch(ChattingActions.send(sedRequest));
|
|
}
|
|
} else if (actionReq.forwardType === 'F') {
|
|
if (res.statusCode === StatusCode.Success) {
|
|
this.store.dispatch(
|
|
ChattingActions.roomOpenAfterForward({
|
|
...sedRequest,
|
|
trgtRoomId: actionReq.trgtRoomId
|
|
})
|
|
);
|
|
}
|
|
}
|
|
}),
|
|
catchError((error) =>
|
|
of(ChattingActions.forwardFailure({ error }))
|
|
)
|
|
)
|
|
.subscribe();
|
|
})
|
|
);
|
|
},
|
|
{ dispatch: false }
|
|
);
|
|
|
|
|
|
|
|
targetGroup.userSeqs.map((v) => console.log('orgSeq: ', v));
|
|
targetUserSeqs.map((v) => console.log('trgtSeq: ', v));
|
|
|
|
const temparr = [];
|
|
|
|
let userSeqsForDelete: string[] = targetGroup.userSeqs.filter((v) => {
|
|
if (!targetUserSeqs.includes(v)) {
|
|
return v;
|
|
}
|
|
});
|