(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-eb84f774"],{2688:function(e,t,i){"use strict";i("6a7e")},"45e5":function(e,t,i){var s=i("8eb3");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=i("499e").default;n("a5ea8892",s,!0,{sourceMap:!1,shadowMode:!1})},"4ea0":function(e,t,i){"use strict";var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"no-data-tip"},[t("img",{staticClass:"image",attrs:{src:i("686b")}}),t("div",{staticClass:"text"},[e._v(e._s(e.tip))])])},n=[],a={name:"noDataTip",props:{tip:{type:String,default:"没有数据"}}},r=a,o=(i("d166"),i("2877")),d=Object(o["a"])(r,s,n,!1,null,null,null);t["a"]=d.exports},"62f2":function(e,t,i){var s=i("24fb");t=s(!1),t.push([e.i,".friend-page .divider{border-bottom:1px solid #ddd;margin:10px}.friend-page .aside{display:flex;flex-direction:column;background:var(--im-background)}.friend-page .aside.fullscreen{width:260px!important}.friend-page .aside .header{height:50px;display:flex;align-items:center;padding:0 8px}.friend-page .aside .header .add-btn{padding:5px!important;margin:5px;font-size:16px;border-radius:50%}.friend-page .aside .friend-items{flex:1}.friend-page .aside .friend-items .top-item{height:50px;display:flex;position:relative;padding:5px 10px;align-items:center;white-space:nowrap;cursor:pointer}.friend-page .aside .friend-items .top-item:hover{background-color:var(--im-background-active)}.friend-page .aside .friend-items .top-item.active{background-color:var(--im-background-active-dark)}.friend-page .aside .friend-items .top-item .top-item-avatar{display:flex;justify-content:center;align-items:center}.friend-page .aside .friend-items .top-item .top-item-avatar .unread-text{position:absolute;background-color:#f56c6c;right:-4px;top:-8px;color:#fff;border-radius:30px;padding:1px 5px;font-size:10px;text-align:center;white-space:nowrap;border:1px solid #f1e5e5}.friend-page .aside .friend-items .top-item .top-item-info{flex:1;display:flex;flex-direction:column;padding-left:10px;text-align:left}.friend-page .aside .friend-items .top-item .top-item-info .top-item-name{font-size:var(--im-font-size);white-space:nowrap;overflow:hidden}.friend-page .aside .letter{text-align:left;font-size:var(--im-larger-size-larger);padding:5px 15px;color:var(--im-text-color-light)}.friend-page .container{display:flex;flex-direction:column}.friend-page .container .header{height:50px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:var(--im-font-size-larger);border-bottom:var(--im-border);box-sizing:border-box}.friend-page .container .request-box{flex:1}.friend-page .container .friend-info{display:flex;padding:50px 80px 20px 80px;text-align:center}.friend-page .container .friend-info .info-items{margin-left:60px;background-color:#fff;max-width:400px}.friend-page .container .friend-info .info-items .el-descriptions-item__content{line-height:21px}.friend-page .container .friend-info .info-items .more{margin-left:5px;cursor:pointer}.friend-page .container .friend-info .info-items .icon-modify{margin-left:5px;cursor:pointer;color:var(--im-color-primary)}.friend-page .container .btn-group{text-align:left!important;margin-top:20px;margin-left:60px}",""]),e.exports=t},"63b9":function(e,t,i){"use strict";i.r(t);var s=function(){var e=this,t=e._self._c;return t("el-container",{staticClass:"friend-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.onShowAddFriend()}}}),t("add-friend",{attrs:{dialogVisible:e.showAddFriend},on:{close:e.onCloseAddFriend}})],1),t("el-scrollbar",{staticClass:"friend-items"},[t("div",{staticClass:"top-item",class:e.showFriendReuqest?"active":"",on:{click:e.onClickNewFriend}},[t("div",{staticClass:"top-item-avatar"},[t("head-image",{attrs:{size:42,url:i("75c1")}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.recvCount,expression:"recvCount"}],staticClass:"unread-text"},[e._v(e._s(e.recvCount)+" ")])])],1),t("div",{staticClass:"top-item-info"},[t("div",{staticClass:"top-item-name"},[e._v("新的朋友")])])]),t("div",{staticClass:"divider"}),e._l(e.friendValues,(function(i,s){return t("div",{key:s},[t("div",{staticClass:"letter"},[e._v(e._s(e.friendKeys[s]))]),e._l(i,(function(i){return t("div",{key:i.id},[t("friend-item",{attrs:{id:i.id,friend:i,active:i.id===e.activeFriend.id},on:{chat:function(t){return e.onSendMessage(i)},card:function(t){return e.onSendCard(i)},delete:function(t){return e.onDelFriend(i)}},nativeOn:{click:function(t){return e.onActiveItem(i)}}})],1)})),s{this.friendStore.removeRequest(this.request.id),this.$message.success(this.request.sendNickName+" 已成为您的好友")})},onReject(){this.$http({url:"/friend/request/reject?id="+this.request.id,method:"post"}).then(()=>{this.friendStore.removeRequest(this.request.id),this.$message.success(`您拒绝了 ${this.request.sendNickName} 的好友请求`)})},onRecall(){this.$http({url:"/friend/request/recall?id="+this.request.id,method:"post"}).then(()=>{this.friendStore.removeRequest(this.request.id),this.$message.success(`您撤回了 ${this.request.recvNickName} 的好友请求`)})}},props:{request:{type:Object}},computed:{mine(){return this.userStore.userInfo},isSender(){return this.request.sendId==this.mine.id},friend(){return this.isSender?{id:this.request.recvId,nickName:this.request.recvNickName,HeadImage:this.request.recvHeadImage}:{id:this.request.sendId,nickName:this.request.sendNickName,HeadImage:this.request.sendHeadImage}}}},c=l,f=(i("f999b"),i("2877")),u=Object(f["a"])(c,r,o,!1,null,null,null),p=u.exports,h=function(){var e=this,t=e._self._c;return t("el-dialog",{directives:[{name:"dialogDrag",rawName:"v-dialogDrag"}],attrs:{title:"添加好友",visible:e.dialogVisible,width:"460px","before-close":e.onClose,"close-on-click-modal":!1,"custom-class":"add-friend"},on:{"update:visible":function(t){e.dialogVisible=t}}},[t("el-input",{staticClass:"input-with-select",attrs:{placeholder:"用户名/昵称/手机号/邮箱,最多展示20条",size:"small"},on:{input:e.onSearchTextChange},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onSearch()}},model:{value:e.searchText,callback:function(t){e.searchText=t},expression:"searchText"}},[t("i",{staticClass:"el-icon-search el-input__icon",attrs:{slot:"suffix"},on:{click:function(t){return e.onSearch()}},slot:"suffix"})]),e.isNoData?t("no-data-tip",{staticClass:"no-data-tip",attrs:{tip:`未搜索到'${e.searchText}'相关的用户`}}):t("el-scrollbar",{staticClass:"scroll-box"},e._l(e.users,(function(i){return t("div",{directives:[{name:"show",rawName:"v-show",value:i.id!=e.userStore.userInfo.id,expression:"user.id != userStore.userInfo.id"}],key:i.id},[t("div",{staticClass:"item"},[t("div",{staticClass:"avatar"},[t("head-image",{attrs:{name:i.nickName,url:i.headImageThumb,online:i.online}})],1),t("div",{staticClass:"friend-info"},[t("div",{staticClass:"nick-name"},[t("div",{staticClass:"nick-name-text"},[e._v(e._s(i.nickName))]),t("div",{class:i.online?"online-status online":"online-status"},[e._v(e._s(i.online?"[在线]":"[离线]"))]),1==i.status?t("el-tag",{attrs:{size:"mini",type:"danger"}},[e._v("已注销")]):e._e(),i.isBanned?t("el-tag",{attrs:{size:"mini",type:"danger"}},[e._v("已封禁")]):e._e()],1),e.searchText==i.phone?t("div",{staticClass:"text-info"},[t("div",[e._v("手机:"+e._s(i.phone))])]):e.searchText==i.email?t("div",{staticClass:"text-info"},[t("div",[e._v("邮箱:"+e._s(i.email))])]):t("div",{staticClass:"text-info"},[t("div",[e._v("用户名:"+e._s(i.userName))])])]),e.isFriend(i.id)?t("span",{staticClass:"status-tip"},[e._v("已添加")]):e.isWaitingApprove(i.id)?t("span",{staticClass:"status-tip"},[e._v("等待对方验证")]):t("el-button",{attrs:{type:"success",size:"mini"},on:{click:function(t){return e.onAddFriend(i)}}},[e._v("加为好友")])],1)])})),0),t("friend-apply",{ref:"applyRef"})],1)},m=[],v=i("4ea0"),g=i("4e7d"),x={name:"addFriend",components:{HeadImage:d["a"],NoDataTip:v["a"],FriendApply:g["a"]},data(){return{users:[],isNoData:!1,searchText:""}},props:{dialogVisible:{type:Boolean}},methods:{onClose(){this.$emit("close")},onSearch(){this.searchText?this.$http({url:"/user/search",method:"get",params:{name:this.searchText}}).then(e=>{this.users=e,this.users.forEach(e=>e.waitApprove=!1),this.isNoData=0==this.users.length}):this.users=[]},onSearchTextChange(){this.isNoData=!1},onAddFriend(e){this.$refs.applyRef.open(e)},isFriend(e){return this.friendStore.isFriend(e)},isWaitingApprove(e){return this.friendStore.isInRecvRequest(e)}}},b=x,k=(i("8790"),Object(f["a"])(b,h,m,!1,null,"3f1300e4",null)),C=k.exports,y=function(){var e=this,t=e._self._c;return t("div",{ref:"reqTabs",staticClass:"friend-request"},[t("el-tabs",{attrs:{type:"card"}},[t("el-tab-pane",{attrs:{label:"收到的申请("+e.recvRequests.length+")"}},[e.recvRequests.length?t("el-scrollbar",{staticClass:"request-list",style:e.tabPaneStyle},e._l(e.recvRequests,(function(e){return t("div",{key:e.id,staticClass:"request-item"},[t("friend-request-item",{attrs:{request:e}})],1)})),0):t("no-data-tip",{staticClass:"no-data-tip",style:e.tabPaneStyle})],1),t("el-tab-pane",{attrs:{label:"发起的申请("+e.sendRequests.length+")"}},[e.sendRequests.length?t("el-scrollbar",{staticClass:"request-list",style:e.tabPaneStyle},e._l(e.sendRequests,(function(e){return t("div",{key:e.id,staticClass:"request-item"},[t("friend-request-item",{attrs:{request:e}})],1)})),0):t("no-data-tip",{staticClass:"no-data-tip",style:e.tabPaneStyle})],1)],1)],1)},_=[],w={name:"friendRequest",components:{NoDataTip:v["a"],FriendRequestItem:p},data(){return{tabPaneHeight:600}},computed:{mine(){return this.userStore.userInfo},recvRequests(){let e=this.friendStore.requests;return e.filter(e=>e.recvId==this.mine.id)},sendRequests(){let e=this.friendStore.requests;return e.filter(e=>e.sendId==this.mine.id)},tabPaneStyle(){return`height:${this.tabPaneHeight}px`}},mounted(){this.tabPaneHeight=this.$refs.reqTabs.offsetHeight-80}},I=w,F=(i("91c9"),Object(f["a"])(I,y,_,!1,null,"4f1bdfa8",null)),q=F.exports,N=i("1a15"),S=i("3f51"),R=i("4371"),A=i("e08e"),M={name:"friend",components:{FriendItem:a["a"],FriendRequestItem:p,AddFriend:C,HeadImage:d["a"],NoDataTip:v["a"],FriendApply:g["a"],FriendRequest:q,ChatSelector:N["a"],RightMenu:S["a"],Complaint:A["a"]},data(){return{searchText:"",showAddFriend:!1,activeFriend:{},userInfo:{},showFriendReuqest:!1,menuItems:[{key:"CHAT",name:"发送消息"},{key:"CARD",name:"分享名片"},{key:"REMARK",name:"修改备注"},{key:"COMPLAINT",name:"投诉"},{key:"DELETE",name:"删除好友",color:"#F56C6C"}]}},methods:{onShowAddFriend(){this.showAddFriend=!0},onCloseAddFriend(){this.showAddFriend=!1},onActiveItem(e){this.activeFriend=e,this.showFriendReuqest=!1,this.loadUserInfo(e.id)},onDelFriend(e){this.$confirm(`确认删除'${e.nickName}',并清空聊天记录吗?`,"确认解除?",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.$http({url:"/friend/delete/"+e.id,method:"delete"}).then(()=>{this.$message.success("删除好友成功"),this.friendStore.removeFriend(e.id),this.chatStore.removePrivateChat(e.id)})})},onAddFriend(){this.$refs.applyRef.open(this.userInfo)},onSendMessage(e){let t={type:"PRIVATE",targetId:e.id,showName:e.showNickName,headImage:e.headImage,isDnd:e.isDnd};this.chatStore.openChat(t),this.chatStore.setActiveChat(0),this.$router.push("/home/chat")},onSendCard(e){this.$refs.chatSel.open(t=>{let i=0;t.forEach(s=>{let n={userId:e.id,nickName:e.nickName,headImage:e.headImage},a={};a.type=this.$enums.MESSAGE_TYPE.USER_CARD,a.content=JSON.stringify(n),"PRIVATE"==s.type?a.recvId=s.targetId:a.groupId=s.targetId;let r=`/message/${s.type.toLowerCase()}/send`;this.$http({url:r,method:"post",data:a}).then(e=>{e.selfSend=!0,this.chatStore.openChat(s),this.chatStore.insertMessage(e,s),++i==t.length&&this.$message.success("发送成功")})})})},onEditRemark(){this.$prompt("请输入好友备注","修改备注",{inputValue:this.activeFriend.showNickName,confirmButtonText:"确定",cancelButtonText:"取消"}).then(e=>{let t={friendId:this.activeFriend.id,remarkNickName:e.value};this.$http({url:"/friend/update/remark",method:"put",data:t}).then(e=>{this.activeFriend=e,this.chatStore.updateChatFromFriend(e),this.friendStore.updateFriend(e)})})},onComplaint(e){this.$refs.complaint.open(1,e.id,e.nickName)},onClickNewFriend(){this.activeFriend={},this.showFriendReuqest=!0},onClickMore(e){this.$refs.rightMenu.open(e,this.menuItems)},onSelectMenu(e){switch(e.key){case"CHAT":this.onSendMessage(this.activeFriend);break;case"CARD":this.onSendCard(this.activeFriend);break;case"REMARK":this.onEditRemark();break;case"COMPLAINT":this.onComplaint(this.activeFriend);break;case"DELETE":this.onDelFriend(this.activeFriend);break}},locateItem(e){this.isFriend&&document.getElementById(e).scrollIntoView({behavior:"smooth"})},showFullImage(){this.userInfo.headImage&&this.$eventBus.$emit("openFullImage",this.userInfo.headImage)},updateFriendInfo(){if(this.isFriend){let e=JSON.parse(JSON.stringify(this.activeFriend));e.headImage=this.userInfo.headImageThumb,e.nickName=this.userInfo.nickName,e.showNickName=e.remarkNickName?e.remarkNickName:e.nickName,this.chatStore.updateChatFromFriend(e),this.friendStore.updateFriend(e)}},loadUserInfo(e){this.$http({url:"/user/find/"+e,method:"GET"}).then(e=>{this.userInfo=e,this.updateFriendInfo()})},firstLetter(e){let t={toneType:"none",type:"normal"},i=Object(R["a"])(e,t);return i[0]},isEnglish(e){return/^[A-Za-z]+$/.test(e)}},computed:{mine(){return this.userStore.userInfo},friendMap(){let e=new Map;this.friendStore.friends.forEach(t=>{if(t.deleted||this.searchText&&!t.showNickName.includes(this.searchText))return;let i=this.firstLetter(t.showNickName).toUpperCase();this.isEnglish(i)||(i="#"),t.online&&(i="在线"),e.has(i)?e.get(i).push(t):e.set(i,[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},friendKeys(){return Array.from(this.friendMap.keys())},friendValues(){return Array.from(this.friendMap.values())},recvCount(){let e=this.friendStore.requests;return e.filter(e=>e.recvId==this.mine.id).length},isFriend(){return this.friendStore.isFriend(this.userInfo.id)}},mounted(){let e=this.$route.query.id;if(e){let t=this.friendStore.findFriend(e);this.onActiveItem(t),this.locateItem(t.id)}}},T=M,$=(i("2688"),Object(f["a"])(T,s,n,!1,null,null,null));t["default"]=$.exports},"686b":function(e,t,i){e.exports=i.p+"img/no_data.e03ddb20.png"},"6a7e":function(e,t,i){var s=i("62f2");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=i("499e").default;n("6e5b487e",s,!0,{sourceMap:!1,shadowMode:!1})},7323:function(e,t,i){var s=i("24fb");t=s(!1),t.push([e.i,".no-data-tip{display:flex;flex-direction:column;align-items:center;justify-content:center}.no-data-tip .image{width:150px;height:150px}.no-data-tip .text{text-align:center;font-size:var(--im-font-size);color:#888;margin-top:3px}",""]),e.exports=t},"75c1":function(e,t,i){e.exports=i.p+"img/new_friend.a5b1d929.png"},"77d7":function(e,t,i){var s=i("a3e7");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=i("499e").default;n("6b0efdf0",s,!0,{sourceMap:!1,shadowMode:!1})},8790:function(e,t,i){"use strict";i("45e5")},8977:function(e,t,i){var s=i("7323");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=i("499e").default;n("3c0c5ce0",s,!0,{sourceMap:!1,shadowMode:!1})},"8eb3":function(e,t,i){var s=i("24fb");t=s(!1),t.push([e.i,".add-friend .no-data-tip[data-v-3f1300e4],.add-friend .scroll-box[data-v-3f1300e4]{height:400px}.add-friend .scroll-box .item[data-v-3f1300e4]{height:65px;display:flex;position:relative;padding-left:15px;align-items:center;padding-right:25px}.add-friend .scroll-box .item .friend-info[data-v-3f1300e4]{margin-left:15px;flex:3;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.add-friend .scroll-box .item .friend-info .nick-name[data-v-3f1300e4]{display:flex;align-items:center;flex-direction:row}.add-friend .scroll-box .item .friend-info .nick-name .nick-name-text[data-v-3f1300e4]{font-size:16px;line-height:25px;font-weight:600}.add-friend .scroll-box .item .friend-info .nick-name .online-status[data-v-3f1300e4]{font-size:12px;font-weight:600}.add-friend .scroll-box .item .friend-info .nick-name .online-status.online[data-v-3f1300e4]{color:#5fb878}.add-friend .scroll-box .item .friend-info .nick-name .el-tag[data-v-3f1300e4]{margin-left:3px}.add-friend .scroll-box .item .friend-info .text-info[data-v-3f1300e4]{display:flex;flex-direction:row;font-size:12px;line-height:20px}.add-friend .scroll-box .item .status-tip[data-v-3f1300e4]{color:var(--im-text-color-light)}",""]),e.exports=t},"91c9":function(e,t,i){"use strict";i("ecc0")},"9b34":function(e,t,i){var s=i("24fb");t=s(!1),t.push([e.i,".friend-request[data-v-4f1bdfa8]{display:flex;flex-direction:column}.friend-request .tabs[data-v-4f1bdfa8]{flex:1}",""]),e.exports=t},a3e7:function(e,t,i){var s=i("24fb");t=s(!1),t.push([e.i,".friend-request-item{height:80px;display:flex;position:relative;align-items:center;white-space:nowrap;cursor:pointer;margin:2px 30px;border-bottom:1px solid #ccc}.friend-request-item .request-info{margin-left:15px;flex:3;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.friend-request-item .request-info .nick-name{display:flex;align-items:center;font-weight:600;font-size:16px;line-height:30px}.friend-request-item .request-info .info-text{display:flex;font-size:14px;line-height:20px;height:20px;text-align:left}",""]),e.exports=t},d166:function(e,t,i){"use strict";i("8977")},ecc0:function(e,t,i){var s=i("9b34");s.__esModule&&(s=s.default),"string"===typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);var n=i("499e").default;n("4d8a857a",s,!0,{sourceMap:!1,shadowMode:!1})},f999b:function(e,t,i){"use strict";i("77d7")}}]); //# sourceMappingURL=chunk-eb84f774.4bd6b56d.js.map