(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6f29c8c6"],{"4a68":function(e,t,r){var i=r("70bb");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var a=r("499e").default;a("06ed7ee7",i,!0,{sourceMap:!1,shadowMode:!1})},5472:function(e,t,r){"use strict";r("4a68")},"5c36":function(e,t,r){"use strict";r.r(t);var i=function(){var e=this,t=e._self._c;return t("el-container",{staticClass:"group-page"},[t("el-aside",{staticClass:"aside",class:{fullscreen:e.configStore.fullScreen},attrs:{width:"230px"}},[t("div",{staticClass:"header",class:e.configStore.electronMode?"header-menu-wrap":""},[t("el-input",{staticClass:"search-text",attrs:{size:"small",placeholder:"搜索"},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}},[t("i",{staticClass:"el-icon-search el-input__icon",attrs:{slot:"prefix"},slot:"prefix"})]),t("el-button",{staticClass:"add-btn",attrs:{plain:"",icon:"el-icon-plus",title:"创建群聊"},on:{click:function(t){return e.onCreateGroup()}}})],1),t("el-scrollbar",{staticClass:"group-items"},e._l(e.groupValues,(function(r,i){return t("div",{key:i},[t("div",{staticClass:"letter"},[e._v(e._s(e.groupKeys[i]))]),e._l(r,(function(r){return t("div",{key:r.id},[t("group-item",{attrs:{id:r.id,group:r,active:r.id==e.activeGroup.id},on:{chat:function(t){return e.onSendMessage(r)},quit:function(t){return e.onQuit(r)},dissolve:function(t){return e.onDissolve(r)},card:function(t){return e.onSendCard(r)}},nativeOn:{click:function(t){return e.onActiveItem(r)}}})],1)})),i{let t={name:e.value};this.$http({url:"/group/create?groupName="+e.value,method:"post",data:t}).then(e=>{this.groupStore.addGroup(e),this.onActiveItem(e),this.$message.success("创建成功")})})},onActiveItem(e){this.showMaxIdx=150,this.activeGroup=JSON.parse(JSON.stringify(e)),this.groupMembers=[],this.loadGroupMembers()},onSendCard(e){this.$refs.chatSel.open(t=>{let r=0;t.forEach(i=>{let a={groupId:e.id,groupName:e.name,headImage:e.headImageThumb},s={};s.type=this.$enums.MESSAGE_TYPE.GROUP_CARD,s.content=JSON.stringify(a),"PRIVATE"==i.type?s.recvId=i.targetId:s.groupId=i.targetId;let o=`/message/${i.type.toLowerCase()}/send`;this.$http({url:o,method:"post",data:s}).then(e=>{e.selfSend=!0,this.chatStore.openChat(i),this.chatStore.insertMessage(e,i),++r==t.length&&this.$message.success("发送成功")})})})},onComplaint(e){this.$refs.complaint.open(2,e.id,e.name)},onInviteMember(){this.$refs.addGroupMember.open()},onRemoveMember(){let e=[this.activeGroup.ownerId,this.mine.id];this.isOwner||(e=e.concat(this.managerIds)),this.$refs.removeSelector.open(50,[],[],e)},onRemoveComplete(e){let t=e.map(e=>e.userId),r={groupId:this.activeGroup.id,userIds:t};this.$http({url:"/group/members/remove",method:"delete",data:r}).then(()=>{this.loadGroupMembers(),this.$message.success(`您移除了${t.length}位成员`)})},onMuted(){let e=[this.activeGroup.ownerId,this.mine.id];this.isOwner||(e=e.concat(this.managerIds));let t=this.groupMembers.filter(e=>e.isMuted).map(e=>e.userId);this.$refs.mutedSelector.open(50,[],t,e)},onMutedComplete(e){let t=e.map(e=>e.userId),r={groupId:this.activeGroup.id,userIds:t,isMuted:!0},i=`您对${t.length}位成员进行了禁言`;this.sendMemberMuted(r,i)},onUnmuted(){let e=this.groupMembers.filter(e=>!e.isMuted).map(e=>e.userId);this.isOwner||(e=e.concat(this.managerIds)),this.$refs.unmutedSelector.open(50,[],[],e)},onUnmutedComplete(e){let t=e.map(e=>e.userId),r={groupId:this.activeGroup.id,userIds:t,isMuted:!1},i=`您解除了${t.length}位成员的禁言`;this.sendMemberMuted(r,i)},onCloseAddGroupMember(){this.showAddGroupMember=!1},onUploadSuccess(e){this.activeGroup.headImage=e.originUrl,this.activeGroup.headImageThumb=e.thumbUrl},onSaveGroup(){this.$refs["groupForm"].validate(e=>{if(e){let e=this.activeGroup;this.$http({url:"/group/modify",method:"put",data:e}).then(e=>{this.groupStore.updateGroup(e),this.$message.success("修改成功")})}})},onDissolve(e){this.$confirm(`确认要解散'${e.name}'吗?`,"确认解散?",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.$http({url:"/group/delete/"+e.id,method:"delete"}).then(()=>{this.$message.success(`群聊'${e.name}'已解散`),this.groupStore.removeGroup(e.id),this.reset()})})},onQuit(e){this.$confirm(`确认退出'${e.showGroupName}',并清空聊天记录吗?`,"确认退出?",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.$http({url:"/group/quit/"+e.id,method:"delete"}).then(()=>{this.$message.success(`您已退出'${e.name}'`),this.groupStore.removeGroup(e.id),this.chatStore.removeGroupChat(e.id),this.reset()})})},onSendMessage(e){let t={type:"GROUP",targetId:e.id,showName:e.showGroupName,headImage:e.headImage,isDnd:e.isDnd};this.chatStore.openChat(t),this.chatStore.setActiveChat(0),this.$router.push("/home/chat")},onScroll(e){const t=e.target;t.scrollTop+t.clientHeight>=t.scrollHeight-30&&this.showMaxIdx{this.loadGroupMembers(),this.$message.success(t)})},loadGroupMembers(){this.$http({url:"/group/members/"+this.activeGroup.id,method:"get"}).then(e=>{this.groupMembers=e})},reset(){this.activeGroup={},this.groupMembers=[]},firstLetter(e){let t={toneType:"none",type:"normal"},r=Object(p["a"])(e,t);return r[0]},isEnglish(e){return/^[A-Za-z]+$/.test(e)}},computed:{mine(){return this.userStore.userInfo},ownerName(){let e=this.groupMembers.find(e=>e.userId==this.activeGroup.ownerId);return e&&e.showNickName},isOwner(){return this.activeGroup.ownerId==this.mine.id},isManager(){let e=this.mine.id,t=this.groupMembers.find(t=>t.userId==e);return t&&t.isManager},managerIds(){return this.groupMembers.filter(e=>e.isManager).map(e=>e.userId)},imageAction(){return"/image/upload"},groupMap(){let e=new Map;this.groupStore.groups.forEach(t=>{if(t.quit||this.searchText&&!t.showGroupName.includes(this.searchText))return;let r=this.firstLetter(t.showGroupName).toUpperCase();this.isEnglish(r)||(r="#"),e.has(r)?e.get(r).push(t):e.set(r,[t])});let t=Array.from(e);return t.sort((e,t)=>"#"==e[0]||"#"==t[0]?t[0].localeCompare(e[0]):e[0].localeCompare(t[0])),e=new Map(t.map(e=>[e[0],e[1]])),e},groupKeys(){return Array.from(this.groupMap.keys())},groupValues(){return Array.from(this.groupMap.values())},showMembers(){return this.groupMembers.filter(e=>!e.quit)},scrollHeight(){return Math.min(300,80+this.showMembers.length/10*80)},menuItems(){let e=[];return e.push({key:"CHAT",name:"发送消息"}),e.push({key:"CARD",name:"分享名片"}),e.push({key:"COMPLAINT",name:"投诉"}),this.isOwner?e.push({key:"DISSOLVE",name:"解散群聊",color:"#F56C6C"}):e.push({key:"QUIT",name:"退出群聊",color:"#F56C6C"}),e}},mounted(){let e=this.$route.query.id;if(e){let t=this.groupStore.findGroup(e);this.onActiveItem(t),this.locateItem(t.id)}let t=this.$refs.scrollbar2.$el.querySelector(".el-scrollbar__wrap");t.addEventListener("scroll",this.onScroll)}},f=g,v=(r("5472"),r("2877")),b=Object(v["a"])(f,i,a,!1,null,"8ad78302",null);t["default"]=b.exports},"70bb":function(e,t,r){var i=r("24fb");t=i(!1),t.push([e.i,".group-page .divider[data-v-8ad78302]{border-bottom:1px solid #ddd;margin:10px}.group-page .aside[data-v-8ad78302]{display:flex;flex-direction:column;background:var(--im-background)}.group-page .aside.fullscreen[data-v-8ad78302]{width:260px!important}.group-page .aside .header[data-v-8ad78302]{height:50px;display:flex;align-items:center;padding:0 8px}.group-page .aside .header .add-btn[data-v-8ad78302]{padding:5px!important;margin:5px;font-size:16px;border-radius:50%}.group-page .aside .group-items[data-v-8ad78302]{flex:1}.group-page .aside .group-items .letter[data-v-8ad78302]{text-align:left;font-size:var(--im-larger-size-larger);margin:5px 15px;color:var(--im-text-color-light)}.group-page .container[data-v-8ad78302]{display:flex;flex-direction:column}.group-page .container .header[data-v-8ad78302]{display:flex;justify-content:space-between;padding:0 12px;line-height:50px;font-size:var(--im-font-size-larger);border-bottom:var(--im-border)}.group-page .container .el-divider--horizontal[data-v-8ad78302]{margin:16px 0}.group-page .container .container-box[data-v-8ad78302]{overflow:auto;padding:20px;flex:1}.group-page .container .container-box .group-info[data-v-8ad78302]{display:flex;padding:5px 20px}.group-page .container .container-box .group-info .form[data-v-8ad78302]{flex:1;padding-left:40px;max-width:700px}.group-page .container .container-box .group-info .form .title[data-v-8ad78302]{position:relative;height:30px}.group-page .container .container-box .group-info .form .title .group-name[data-v-8ad78302]{font-size:var(--im-font-size-larger);font-weight:700}.group-page .container .container-box .group-info .form .title .more[data-v-8ad78302]{position:absolute;top:0;right:0;line-height:30px;font-weight:700;cursor:pointer}.group-page .container .container-box .group-info .form .el-form-item[data-v-8ad78302]{text-align:left}.group-page .container .container-box .group-info .form .el-form-item .value[data-v-8ad78302]{color:var(--im-text-color-light)}.group-page .container .container-box .group-info .avatar-uploader[data-v-8ad78302]{--width:160px;text-align:left}.group-page .container .container-box .group-info .avatar-uploader .el-upload[data-v-8ad78302]{border:1px dashed #d9d9d9!important;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.group-page .container .container-box .group-info .avatar-uploader .el-upload[data-v-8ad78302]:hover{border-color:#409eff}.group-page .container .container-box .group-info .avatar-uploader .avatar-uploader-icon[data-v-8ad78302]{font-size:28px;color:#8c939d;width:var(--width);height:var(--width);line-height:var(--width);text-align:center}.group-page .container .container-box .group-info .avatar-uploader .avatar[data-v-8ad78302]{width:var(--width);height:var(--width);display:block}.group-page .container .container-box .group-info .send-btn[data-v-8ad78302]{margin-top:12px}.group-page .container .container-box .member-items[data-v-8ad78302]{padding:0 12px;display:flex;align-items:center;flex-wrap:wrap;text-align:center}.group-page .container .container-box .member-items .member-item[data-v-8ad78302]{margin-right:5px}.group-page .container .container-box .member-items .member-tools[data-v-8ad78302]{display:flex;flex-direction:column;align-items:center;width:60px}.group-page .container .container-box .member-items .member-tools .tool-btn[data-v-8ad78302]{width:38px;height:38px;line-height:38px;border:var(--im-border);font-size:14px;cursor:pointer;box-sizing:border-box}.group-page .container .container-box .member-items .member-tools .tool-btn[data-v-8ad78302]:hover{border:1px solid #aaa}.group-page .container .container-box .member-items .member-tools .tool-text[data-v-8ad78302]{font-size:var(--im-font-size-smaller);text-align:center;width:100%;height:30px;line-height:30px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}",""]),e.exports=t},"7fb7":function(e,t,r){"use strict";r("88b8")},"88b8":function(e,t,r){var i=r("8eca");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var a=r("499e").default;a("f492d35c",i,!0,{sourceMap:!1,shadowMode:!1})},"8eca":function(e,t,r){var i=r("24fb");t=i(!1),t.push([e.i,".add-group-member[data-v-33bf29d7]{display:flex}.add-group-member .left-box[data-v-33bf29d7]{flex:1;overflow:hidden;border:var(--im-border)}.add-group-member .left-box .checkbox[data-v-33bf29d7]{margin-right:10px}.add-group-member .arrow[data-v-33bf29d7]{display:flex;align-items:center;font-size:18px;padding:10px;color:var(--im-color-primary)}.add-group-member .right-box[data-v-33bf29d7]{flex:1;border:var(--im-border)}.add-group-member .right-box .tip[data-v-33bf29d7]{text-align:left;height:32px;line-height:32px;text-indent:10px;color:var(--im-text-color-light)}",""]),e.exports=t},b242:function(e,t,r){"use strict";var i=function(){var e=this,t=e._self._c;return t("el-dialog",{directives:[{name:"dialogDrag",rawName:"v-dialogDrag"}],attrs:{title:"邀请好友",visible:e.show,width:"620px","before-close":e.close},on:{"update:visible":function(t){e.show=t}}},[t("div",{staticClass:"add-group-member"},[t("div",{staticClass:"left-box"},[t("el-input",{attrs:{placeholder:"搜索好友",size:"small"},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}},[t("i",{staticClass:"el-icon-search el-input__icon",attrs:{slot:"suffix"},slot:"suffix"})]),t("el-scrollbar",{staticStyle:{height:"400px"}},e._l(e.friends,(function(r){return t("div",{key:r.id},[t("friend-item",{directives:[{name:"show",rawName:"v-show",value:r.showNickName.includes(e.searchText),expression:"friend.showNickName.includes(searchText)"}],attrs:{menu:!1,friend:r,size:"small"},nativeOn:{click:function(t){return e.onSwitchCheck(r)}}},[t("el-checkbox",{staticClass:"checkbox",attrs:{disabled:r.disabled},nativeOn:{click:function(e){e.stopPropagation()}},model:{value:r.isCheck,callback:function(t){e.$set(r,"isCheck",t)},expression:"friend.isCheck"}})],1)],1)})),0)],1),t("div",{staticClass:"arrow el-icon-d-arrow-right"}),t("div",{staticClass:"right-box"},[t("div",{staticClass:"tip"},[e._v(" 已勾选"+e._s(e.checkCount)+"位好友")]),t("el-scrollbar",{staticStyle:{height:"400px"}},e._l(e.friends,(function(r){return t("div",{key:r.id},[r.isCheck&&!r.disabled?t("friend-item",{attrs:{friend:r,size:"small",menu:!1},on:{del:function(t){return e.onRemoveFriend(r)}}}):e._e()],1)})),0)],1)]),t("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[t("el-button",{on:{click:function(t){return e.close()}}},[e._v("取 消")]),t("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.onOk()}}},[e._v("确 定")])],1)])},a=[],s=(r("14d9"),r("e9c4"),r("0643"),r("2382"),r("fffc"),r("4e3e"),r("5087"),r("ff36")),o={name:"addGroupMember",components:{FriendItem:s["a"]},data(){return{show:!1,searchText:"",friends:[]}},methods:{open(){this.show=!0,this.friends=[],this.friendStore.friends.forEach(e=>{if(e.deleted)return;let t=JSON.parse(JSON.stringify(e)),r=this.members.filter(e=>!e.quit).find(t=>t.userId==e.id);r?(t.disabled=!0,t.isCheck=!0):(t.disabled=!1,t.isCheck=!1),this.friends.push(t)})},close(){this.show=!1},onOk(){let e={groupId:this.groupId,friendIds:[]};this.friends.forEach(t=>{t.isCheck&&!t.disabled&&e.friendIds.push(t.id)}),e.friendIds.length>0&&this.$http({url:"/group/invite",method:"post",data:e}).then(()=>{this.$message.success("邀请成功"),this.$emit("reload"),this.close()})},onRemoveFriend(e){e.isCheck=!1},onSwitchCheck(e){e.disabled||(e.isCheck=!e.isCheck)}},props:{groupId:{type:Number},members:{type:Array}},computed:{checkCount(){return this.friends.filter(e=>e.isCheck&&!e.disabled).length}}},n=o,d=(r("7fb7"),r("2877")),u=Object(d["a"])(n,i,a,!1,null,"33bf29d7",null);t["a"]=u.exports},dec1:function(e,t,r){"use strict";var i=function(){var e=this,t=e._self._c;return t("div",[t("div",{ref:"item",on:{contextmenu:function(t){return t.preventDefault(),e.showRightMenu(t)}}},["bar"==e.type?t("group-member-bar",{attrs:{group:e.group,member:e.member,height:e.height,active:e.active}},[e._t("default")],2):t("group-member-card",{attrs:{member:e.member}})],1),t("right-menu",{ref:"rightMenu",on:{select:e.onSelectMenu}}),t("friend-apply",{ref:"applyRef"})],1)},a=[],s=(r("14d9"),r("0643"),r("fffc"),r("3f51")),o=r("4e7d"),n=r("ff79"),d=r("d5ca"),u={name:"groupMember",components:{RightMenu:s["a"],FriendApply:o["a"],GroupMemberBar:n["a"],GroupMemberCard:d["a"]},data(){return{}},props:{group:{type:Object,required:!0},groupMembers:{type:Array},member:{type:Object,required:!0},height:{type:Number,default:50},menu:{type:Boolean,default:!0},active:{type:Boolean,default:!1},type:{type:String,default:"bar"}},methods:{showRightMenu(e){if(!this.menu||this.mine.id==this.member.userId)return;let t=[];this.isFriend&&t.push({key:"SEND_MESSAGE",name:"发送消息"}),t.push({key:"USER_INFO",name:"查看资料"}),this.isFriend||this.isWaitingApprove||t.push({key:"APPLY_FRIEND",name:"加为好友"});const r=this.member.userId==this.group.ownerId;(this.isOwner||this.isManager&&!this.member.isManager&&!r)&&(this.member.isMuted?t.push({key:"UN_MUTE",name:"取消禁言"}):t.push({key:"MUTE",name:"开启禁言"}),t.push({key:"KICK",name:"移出本群"})),this.isOwner&&(this.member.isManager?t.push({key:"RM_MANAGER",name:"取消管理员"}):t.push({key:"ADD_MANAGER",name:"设为管理员"})),this.$refs.rightMenu.open(e,t)},onSelectMenu(e){switch(e.key){case"USER_INFO":this.showUserInfo();break;case"SEND_MESSAGE":this.sendMessage();break;case"APPLY_FRIEND":this.applyFriend();break;case"UN_MUTE":this.setMute(!1);break;case"MUTE":this.setMute(!0);break;case"KICK":this.kick();break;case"ADD_MANAGER":this.addManager();break;case"RM_MANAGER":this.removeManager();break}},sendMessage(){let e=this.friendStore.findFriend(this.member.userId),t={type:"PRIVATE",targetId:e.id,showName:e.showNickName,headImage:e.headImage};this.chatStore.openChat(t),this.chatStore.setActiveChat(0)},applyFriend(){this.$http({url:"/user/find/"+this.member.userId,method:"GET"}).then(e=>{this.$refs.applyRef.open(e)})},setMute(e){let t={groupId:this.group.id,userIds:[this.member.userId],isMuted:e};this.$http({url:"/group/members/muted",method:"put",data:t}).then(()=>{this.member.isMuted=e,e?this.$message.success(`您禁言了'${this.member.showNickName}'`):this.$message.success(`您取消了'${this.member.showNickName}'的禁言`)})},kick(){this.$confirm(`确定将成员'${this.member.showNickName}'移出群聊吗?`,"确认移出?",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{let e={groupId:this.group.id,userIds:[this.member.userId]};this.$http({url:"/group/members/remove",method:"delete",data:e}).then(()=>{this.$message.success(`您将'${this.member.showNickName}'移出了群聊`),this.member.quit=!0})})},addManager(){let e={groupId:this.group.id,userIds:[this.member.userId]};this.$http({url:"/group/manager/add",method:"post",data:e}).then(()=>{this.member.isManager=!0,this.$message.success(`您将'${this.member.showNickName}'设置成为了管理员`)})},removeManager(){let e={groupId:this.group.id,userIds:[this.member.userId]};this.$http({url:"/group/manager/remove",method:"delete",data:e}).then(()=>{this.member.isManager=!1,this.$message.success(`您移除了'${this.member.showNickName}'的管理员身份`)})},showUserInfo(){this.$http({url:"/user/find/"+this.member.userId,method:"get"}).then(e=>{let t=this.$elm.fixLeft(this.$refs.item),r=this.$elm.fixTop(this.$refs.item),i={x:t+50,y:r};this.$eventBus.$emit("openUserInfo",e,i)})}},computed:{mine(){return this.userStore.userInfo},isOwner(){return this.mine.id==this.group.ownerId},isManager(){let e=this.mine.id,t=this.groupMembers.find(t=>t.userId==e);return t&&t.isManager},isFriend(){return this.friendStore.isFriend(this.member.userId)},isWaitingApprove(){return this.friendStore.isInRecvRequest(this.member.userId)}}},l=u,c=r("2877"),p=Object(c["a"])(l,i,a,!1,null,null,null);t["a"]=p.exports}}]); //# sourceMappingURL=chunk-6f29c8c6.309157d5.js.map