sync 0507
This commit is contained in:
parent
0d68fa7611
commit
239d686ad3
|
@ -24,4 +24,10 @@
|
|||
|
||||
4. 그룹수정
|
||||
유저 리스트
|
||||
그룹명 수정
|
||||
그룹명 수정
|
||||
|
||||
대화상대 추가 -> 그룹생성 -> 그룹명
|
||||
대화상대 추가 -> 그룹수정 -> 그룹명 수정
|
||||
대화상대 추가 -> 메세지 전달
|
||||
대화상대 추가 -> 채팅방 생성
|
||||
|
||||
|
|
289
documents/업무/5월/1째주/0507.txt
Normal file
289
documents/업무/5월/1째주/0507.txt
Normal file
|
@ -0,0 +1,289 @@
|
|||
대화방 생성
|
||||
파라미터
|
||||
대화방 제목
|
||||
결과
|
||||
선택된 유저 리스트
|
||||
대화방 생성 액션
|
||||
|
||||
대화 전달
|
||||
파라미터
|
||||
대화방 제목
|
||||
결과
|
||||
선택된 유저 리스트
|
||||
대화 전달 액션
|
||||
룸seq: -999
|
||||
|
||||
대화방 멤버 수정 (EditChatMember)
|
||||
파라미터
|
||||
대화방 제목
|
||||
대화방 유저[]
|
||||
결과
|
||||
선택된 유저 리스트
|
||||
수정검사
|
||||
대화방 멤버 수정 액션
|
||||
|
||||
그룹 생성
|
||||
파라미터
|
||||
대화방 제목
|
||||
결과
|
||||
선택된 유저 리스트
|
||||
그룹 생성 액션
|
||||
|
||||
그룹 멤버 수정 (EditMember)
|
||||
파라미터
|
||||
대화방 제목
|
||||
groupDetailData
|
||||
결과
|
||||
선택된 유저 리스트
|
||||
그룹 멤버 수정
|
||||
|
||||
|
||||
createChatDialog
|
||||
오픈 시 받아야 할 데이터
|
||||
type:
|
||||
title:
|
||||
group?:
|
||||
curRoomUser?:
|
||||
|
||||
결과
|
||||
선택 유저 리스트
|
||||
|
||||
대화방 생성
|
||||
검색
|
||||
그룹/조직도 출력
|
||||
선택 유저 출력
|
||||
|
||||
완료
|
||||
대화방 오픈
|
||||
선택 유저 리스트
|
||||
취소
|
||||
x
|
||||
그룹지정 후 완료
|
||||
그룹 생성?
|
||||
선택 유저 리스트
|
||||
기존 그룹 수정?
|
||||
선택 유저 리스트
|
||||
대화 전달
|
||||
검색
|
||||
그룹/조직도 출력
|
||||
선택 유저 출력
|
||||
|
||||
완료
|
||||
대화 전달 액션
|
||||
이벤트 seq
|
||||
선택 유저 리스트
|
||||
취소
|
||||
x
|
||||
|
||||
대화방 멤버 수정 (EditChatMember)
|
||||
검색
|
||||
그룹/조직도 출력
|
||||
기존 대화방 유저[] 체크
|
||||
선택 유저 출력
|
||||
|
||||
그룹 생성
|
||||
검색
|
||||
그룹/조직도 출력
|
||||
선택 유저 출력
|
||||
|
||||
완료
|
||||
그룹 생성 액션
|
||||
그룹이름
|
||||
선택 유저 리스트
|
||||
취소
|
||||
x
|
||||
그룹 멤버 수정 (EditMember)
|
||||
검색
|
||||
그룹/조직도 출력
|
||||
선택 유저 출력
|
||||
|
||||
완료
|
||||
그룹 수정 액션
|
||||
선택 유저 리스트
|
||||
기존 그룹 유저 리스트
|
||||
취소
|
||||
x
|
||||
|
||||
대화
|
||||
|
||||
createChatDialogComponent
|
||||
selectUserSectionComponent
|
||||
tenantSearchComponent
|
||||
groupListSectionComponent
|
||||
treeSectionComponent
|
||||
타입별 다음 단계 정의
|
||||
타입별 액션 정의
|
||||
|
||||
UserSelectDialogType.EditChatMember
|
||||
message-write.dialog.component.ts
|
||||
if (!!result && !!result.choice && result.choice) {
|
||||
// while (receiverList.length) {
|
||||
// receiverList.pop();
|
||||
// }
|
||||
const selectedUserList: UserInfo[] = [];
|
||||
result.selectedUserList.forEach(v => {
|
||||
selectedUserList.push(v as UserInfo);
|
||||
});
|
||||
this.curReceiverList = selectedUserList;
|
||||
}
|
||||
|
||||
room-user-list.component.ts
|
||||
if (!!result && !!result.choice && result.choice) {
|
||||
if (
|
||||
!!result.selectedUserList &&
|
||||
result.selectedUserList.length > 0 &&
|
||||
curRoomUser
|
||||
.map(user => user.seq)
|
||||
.sort()
|
||||
.join('|') ===
|
||||
result.selectedUserList
|
||||
.map(user => user.seq)
|
||||
.sort()
|
||||
.join('|')
|
||||
) {
|
||||
// 변경된 것이 없다면 중지.
|
||||
return;
|
||||
}
|
||||
|
||||
// include me here..
|
||||
const userSeqs: number[] = this.userInfoList
|
||||
.filter(userInfo => userInfo.isJoinRoom)
|
||||
.map(userInfo => userInfo.seq);
|
||||
if (!!result.selectedUserList && result.selectedUserList.length > 0) {
|
||||
result.selectedUserList.forEach(user => {
|
||||
if (userSeqs.indexOf(user.seq) < 0) {
|
||||
userSeqs.push(user.seq);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (userSeqs.length > 0) {
|
||||
this.store.dispatch(
|
||||
RoomStore.inviteOrOpen({
|
||||
req: {
|
||||
divCd: 'Invite',
|
||||
userSeqs
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
messages.component.ts
|
||||
if (!!result && !!result.choice && result.choice) {
|
||||
if (
|
||||
!!result.selectedUserList &&
|
||||
result.selectedUserList.length > 0 &&
|
||||
curRoomUser
|
||||
.map((user) => user.seq)
|
||||
.sort()
|
||||
.join('|') ===
|
||||
result.selectedUserList
|
||||
.map((user) => user.seq)
|
||||
.sort()
|
||||
.join('|')
|
||||
) {
|
||||
// 변경된 것이 없다면 중지.
|
||||
return;
|
||||
}
|
||||
|
||||
// include me here..
|
||||
const userSeqs: number[] = this.userInfoListSubject.value
|
||||
.filter((userInfo) => userInfo.isJoinRoom)
|
||||
.map((userInfo) => userInfo.seq);
|
||||
|
||||
if (
|
||||
!!result.selectedUserList &&
|
||||
result.selectedUserList.length > 0
|
||||
) {
|
||||
result.selectedUserList.forEach((user) => {
|
||||
if (userSeqs.indexOf(user.seq) < 0) {
|
||||
userSeqs.push(user.seq);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (userSeqs.length > 0) {
|
||||
// include me
|
||||
const myUserSeq = this.loginResSubject.value.userSeq;
|
||||
if (!!myUserSeq && userSeqs.indexOf(myUserSeq) < 0) {
|
||||
userSeqs.push(myUserSeq);
|
||||
}
|
||||
|
||||
this.store.dispatch(
|
||||
RoomStore.inviteOrOpen({
|
||||
req: {
|
||||
divCd: 'Invite',
|
||||
userSeqs
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
add$ = createEffect(() =>
|
||||
this.actions$.pipe(
|
||||
ofType(add),
|
||||
withLatestFrom(this.store.pipe(select(BuddySelector.buddies))),
|
||||
exhaustMap(([action, buddies]) => {
|
||||
return this.buddyProtocolService.add(action.req).pipe(
|
||||
map((res: BuddyAddResponse) => {
|
||||
return buddy2();
|
||||
}),
|
||||
catchError(error => of(addFailure({ error })))
|
||||
)}
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
create$ = createEffect(() =>
|
||||
this.actions$.pipe(
|
||||
ofType(create),
|
||||
withLatestFrom(this.store.pipe(select(BuddySelector.buddies))),
|
||||
exhaustMap(([action, buddies]) => {
|
||||
return this.groupProtocolService
|
||||
.add({
|
||||
groupName: action.groupName
|
||||
})
|
||||
.pipe(
|
||||
switchMap((res: GroupAddResponse) => {
|
||||
const actions: any[] = [];
|
||||
|
||||
if (!!action.targetUserSeqs && 0 < action.targetUserSeqs.length) {
|
||||
const addBuddies: number[] = [];
|
||||
action.targetUserSeqs.forEach((item) => {
|
||||
if (!buddies[item]) {
|
||||
addBuddies.push(Number(item));
|
||||
}
|
||||
});
|
||||
if (addBuddies.length > 0) {
|
||||
actions.push(
|
||||
BuddyActions.add({
|
||||
req: { userSeqs: action.targetUserSeqs }
|
||||
})
|
||||
);
|
||||
}
|
||||
actions.push(
|
||||
update({
|
||||
req: {
|
||||
groupSeq: res.groupSeq,
|
||||
groupName: res.groupName,
|
||||
userSeqs: action.targetUserSeqs
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
actions.push(
|
||||
createSuccess({ res, targetUserSeqs: action.targetUserSeqs })
|
||||
);
|
||||
|
||||
return actions;
|
||||
}),
|
||||
catchError((error) => of(createFailure({ error })))
|
||||
);
|
||||
})
|
||||
)
|
||||
);
|
BIN
documents/업무/5월/1째주/ucap-angular_2020-0507.zip
Normal file
BIN
documents/업무/5월/1째주/ucap-angular_2020-0507.zip
Normal file
Binary file not shown.
BIN
documents/업무/5월/1째주/ucap-lg-web_2020-0507.zip
Normal file
BIN
documents/업무/5월/1째주/ucap-lg-web_2020-0507.zip
Normal file
Binary file not shown.
BIN
documents/업무/new-pc-doc/UCAP 메신저 화면정의서_V1.6_200507.pptx
Normal file
BIN
documents/업무/new-pc-doc/UCAP 메신저 화면정의서_V1.6_200507.pptx
Normal file
Binary file not shown.
BIN
documents/업무/new-pc-doc/UCAP_UX 가이드_V1.3_200325.pptx
Normal file
BIN
documents/업무/new-pc-doc/UCAP_UX 가이드_V1.3_200325.pptx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user