(function(){var t={4539:function(t,e,s){"use strict";s.d(e,{Z:function(){return A}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"chat-main"},[e("el-input",{staticClass:"input-with-select",attrs:{placeholder:"请输入关键字搜索聊天"},model:{value:t.params.keywords,callback:function(e){t.$set(t.params,"keywords",e)},expression:"params.keywords"}},[e("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:t.searchMessage},slot:"append"})],1),e("el-tabs",{on:{"tab-click":t.handleClick},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[e("el-tab-pane",{attrs:{label:"全部",name:"all"}},[e("div",{staticClass:"el-tab-body-list"},[e("el-scrollbar",[t.dataList.length?t._l(t.dataList,(function(t,s){return e("ChatItem",{key:s,attrs:{data:t}})})):e("div",[e("el-empty",{attrs:{description:"暂无数据"}})],1)],2)],1)]),e("el-tab-pane",{attrs:{label:"文本",name:"text"}},[e("div",{staticClass:"el-tab-body-list"},[t.dataList.length?[e("el-scrollbar",t._l(t.dataList,(function(t,s){return e("ChatItem",{key:s,attrs:{data:t}})})),1)]:e("div",[e("el-empty",{attrs:{description:"暂无数据"}})],1)],2)]),e("el-tab-pane",{attrs:{label:"图片",name:"image"}},[e("div",{staticClass:"el-tab-body-list"},[t.dataList.length?[e("el-scrollbar",[e("el-row",{staticStyle:{}},t._l(t.dataList,(function(s,i){return e("ChatImage",{key:i,attrs:{data:s,previewUrl:t.previewList}})})),1)],1)]:e("div",[e("el-empty",{attrs:{description:"暂无数据"}})],1)],2)]),e("el-tab-pane",{attrs:{label:"视频",name:"video"}},[e("div",{staticClass:"el-tab-body-list"},[t.dataList.length?[e("el-scrollbar",t._l(t.dataList,(function(t,s){return e("ChatItem",{key:s,attrs:{data:t}})})),1)]:e("div",[e("el-empty",{attrs:{description:"暂无数据"}})],1)],2)]),e("el-tab-pane",{attrs:{label:"文件",name:"file"}},[e("div",{staticClass:"el-tab-body-list"},[t.dataList.length?[e("el-table",{staticStyle:{width:"100%"},attrs:{data:t.dataList,height:"450"}},[e("el-table-column",{attrs:{prop:"fileName",label:"文件",width:"300"},scopedSlots:t._u([{key:"default",fn:function(s){return[e("div",{staticClass:"chat-file"},[e("div",[e("el-image",{staticClass:"fileExt",attrs:{fit:"cover",src:t.fileExt(s.row.fileName)}})],1),e("div",{staticClass:"fileName"},[t._v(t._s(s.row.fileName))])])]}}],null,!1,1885044645)}),e("el-table-column",{attrs:{prop:"sendTime",label:"上传时间",width:"160"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v(" "+t._s(t.formatTime(e.row.sendTime))+" ")]}}],null,!1,349674723)}),e("el-table-column",{attrs:{prop:"fileSize",label:"大小",width:"100"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v(" "+t._s(t.fileSize(e.row.fileSize))+" ")]}}],null,!1,3523241436)}),e("el-table-column",{attrs:{prop:"fromUser.realname",label:"上传者",width:"100"}}),e("el-table-column",{attrs:{label:"操作"},scopedSlots:t._u([{key:"default",fn:function(s){return[e("el-button",{attrs:{size:"mini"},on:{click:function(e){return t.downloadFile(s.row)}}},[t._v("下载")])]}}],null,!1,2401469366)})],1)]:e("div",[e("el-empty",{attrs:{description:"暂无数据"}})],1)],2)])],1),e("el-pagination",{attrs:{background:"","hide-on-single-page":t.singlePage,"page-size":t.params.limit,"current-page":t.params.page,layout:"prev, pager, next",total:t.total},on:{"update:pageSize":function(e){return t.$set(t.params,"limit",e)},"update:page-size":function(e){return t.$set(t.params,"limit",e)},"update:currentPage":function(e){return t.$set(t.params,"page",e)},"update:current-page":function(e){return t.$set(t.params,"page",e)},"current-change":t.handleCurrentChange}})],1)},a=[],n=function(){var t=this,e=t._self._c;return e("div",{staticClass:"chat-list-item"},[e("div",{staticClass:"chat-list-avatar",on:{click:function(e){return t.$user(t.data.fromUser.id)}}},[e("el-avatar",{attrs:{shape:"square",size:"medium",src:t.data.fromUser.avatar}})],1),e("div",{staticClass:"chat-list-body"},[e("div",{staticClass:"chat-list-title"},[t._v(" "+t._s(t.data.fromUser.realname)+" "),e("span",{staticClass:"time"},[t._v(" "+t._s(t.formatTime(t.data.sendTime)))])]),"text"==t.data.type?e("div",{staticClass:"chat-list-text",domProps:{innerHTML:t._s(t.data.content)}}):t._e(),"text"==t.data.type?e("div",{staticClass:"chat-list-tools"},[e("el-tooltip",{attrs:{effect:"dark",content:"复制文本",placement:"top"}},[e("i",{staticClass:"el-icon-document-copy",on:{click:function(e){return t.copyText(t.data.content)}}})])],1):t._e(),"image"==t.data.type?e("div",{staticClass:"chat-list-image"},[e("el-image",{staticStyle:{"max-width":"300px"},attrs:{src:t.data.content,"z-index":3e3,"preview-src-list":[t.data.content],fit:"contain"}})],1):t._e(),"video"==t.data.type?e("div",{staticClass:"chat-list-video"},[e("video",{staticStyle:{"max-width":"300px"},attrs:{src:t.data.content,controls:""}})]):t._e(),"file"==t.data.type?e("div",{staticClass:"chat-list-file"},[e("el-card",{staticStyle:{width:"260px"},attrs:{"body-style":{padding:"10px 10px 0 10px"}}},[e("div",{staticClass:"chat-file-content"},[e("div",{staticClass:"chat-file-ext"},[e("el-image",{staticStyle:{width:"35px"},attrs:{src:t.fileExt(t.data.fileName),fit:"fill"}})],1),e("div",{staticClass:"chat-file-title"},[e("div",{staticClass:"chat-file-name"},[e("span",{staticClass:"fileName"},[t._v(t._s(t.data.fileName)+" ")]),e("span",{staticClass:"fileSize"},[t._v("("+t._s(t.fileSize(t.data.fileSize))+")")])]),e("div",{staticClass:"chat-file-remark"},[t._v(" 文件已成功发送, 文件助手永久保存 ")])])]),e("hr"),e("div",{staticClass:"bottom clearfix",attrs:{align:"right"}},[e("el-button",{staticClass:"button",attrs:{type:"text"},on:{click:function(e){return t.downloadFile(t.data)}}},[t._v("下载")]),e("el-button",{staticClass:"button",attrs:{type:"text"},on:{click:function(e){return t.onlinePreview(t.data)}}},[t._v("在线预览")])],1)])],1):t._e()])])},o=[],r=s(2325),l=s(3817),c={name:"chatItem",props:{data:{type:Object,default:{}}},computed:{formatTime(){return function(t){return t=parseInt(t/1e3),(0,r.hT)("Y/m/d H:i:s",t)}},fileSize(){return function(t){return(0,l.hR)(t)}},fileExt(){return function(t){return(0,l.AC)(t)}}},data(){return{}},methods:{copyText(t){this.$clipboard(t),this.$message({type:"success",message:"复制成功!"})},onlinePreview(t){this.$preview(t.preview)},downloadFile(t){(0,l.LR)(t.content,t.fileName)}},created(){}},d=c,u=s(1001),p=(0,u.Z)(d,n,o,!1,null,"294ef229",null),m=p.exports,h=function(){var t=this,e=t._self._c;return e("div",[e("el-col",{staticStyle:{padding:"0 12px 12px 0"},attrs:{span:6}},["image"==t.data.type?e("el-card",{attrs:{"body-style":{padding:"0px"}}},[e("el-image",{staticStyle:{width:"100%",height:"120px"},attrs:{src:t.data.content,"preview-src-list":t.previewUrl,"z-index":9999,fit:"cover"}}),e("div",{staticStyle:{padding:"10px"}},[e("div",{staticClass:"bottom clearfix"},[e("time",{staticClass:"time"},[t._v(t._s(t.data.fromUser.realname)+" 上传于 "+t._s(t.formatTime(t.data.sendTime)))])])])],1):t._e()],1)],1)},g=[],f={name:"chatImage",props:{data:{type:Object,default:{}},previewUrl:{type:Array,default:function(){return[]}}},computed:{formatTime(){return function(t){return t=parseInt(t/1e3),(0,r.hT)("Y/m/d",t)}},fileSize(){return function(t){return(0,l.hR)(t)}},fileExt(){return function(t){return(0,l.AC)(t)}}},data(){return{currentDate:new Date}},methods:{copyText(t){this.$clipboard(t),this.$message({type:"success",message:"复制成功!"})},downloadFile(t){(0,l.LR)(t.content,t.fileName)}},created(){}},v=f,C=(0,u.Z)(v,h,g,!1,null,"94e9276a",null),b=C.exports,y={name:"chatRecord",components:{ChatItem:m,ChatImage:b},props:{contact:{type:Object,default:{}},condition:{type:Object,default:{}}},computed:{formatTime(){return function(t){return t/=1e3,(0,r.hT)("Y/m/d H:i:s",t)}},fileSize(){return function(t){return(0,l.hR)(t)}},fileExt(){return function(t){return(0,l.AC)(t)}}},data(){return{activeName:"all",total:0,singlePage:!1,dataList:[],previewList:[],params:{toContactId:this.contact.id,is_group:this.contact.is_group,type:"all",keywords:"",page:1,limit:20}}},methods:{handleClick(t,e){this.params.page=1,this.params.type=t.name,this.getMessage()},searchMessage(){this.getMessage()},getMessage(){this.$api.imApi.getMessageListAPI(this.params).then((t=>{this.dataList=t.data,this.total=t.count,t.count<=this.params.limit?this.singlePage=!0:this.singlePage=!1,"image"==this.params.type&&(this.previewList=(0,r.Nj)(t.data,"content",!1))})).catch((t=>{console.log(t)}))},handleCurrentChange(t){this.params.page=t,this.getMessage()},downloadFile(t){(0,l.LR)(t.content,t.fileName,t.type)}},created(){this.params=Object.assign(this.params,this.condition),this.getMessage()},mounted(){}},w=y,x=(0,u.Z)(w,i,a,!1,null,"3e801cec",null),A=x.exports},6038:function(t,e,s){"use strict";s.d(e,{Z:function(){return c}});var i=function(){var t=this,e=t._self._c;return e("el-dialog",{attrs:{title:t.title,visible:t.visible,modal:!0,width:t.width,"append-to-body":""},on:{close:t.closeDialog}},[e("el-transfer",{attrs:{filterable:"",titles:t.createChatTitles,"filter-placeholder":"请输入关键词",props:t.contactsProps,data:t.allUser},model:{value:t.selectUid,callback:function(e){t.selectUid=e},expression:"selectUid"}}),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{on:{click:t.closeDialog}},[t._v("取 消")]),e("el-button",{attrs:{type:"primary"},on:{click:t.comfirmChat}},[t._v("确 定")])],1)],1)},a=[],n={name:"manageGroup",props:{title:{type:String,default:"选择聊天"},visible:{type:Boolean,default:!1},width:{type:String,default:"612px"},allUser:{type:Array,default:()=>[]}},data(){return{createChatTitles:["用户列表","已选用户"],selectUid:[],contactsProps:{key:"id",label:"realname"}}},mounted(){},methods:{closeDialog(){this.$emit("update:visible",!1),this.selectUid=[]},comfirmChat(){0!==this.selectUid.length?this.$emit("selectChat",this.selectUid):this.$message.error("请选择聊天对象")}}},o=n,r=s(1001),l=(0,r.Z)(o,i,a,!1,null,null,null),c=l.exports},3007:function(t,e,s){"use strict";s.d(e,{Z:function(){return p}});var i=function(){var t=this,e=t._self._c;return e("el-container",{staticStyle:{height:"100%"}},[e("el-header",{staticClass:"file-header"},[e("div",{staticClass:"file-header-title"},[t._v("文件列表")]),e("div",{staticClass:"file-header-search"},[e("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入关键字搜索","prefix-icon":"el-icon-search"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.getFileList.apply(null,arguments)}},model:{value:t.params.keywords,callback:function(e){t.$set(t.params,"keywords",e)},expression:"params.keywords"}},[e("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:t.getFileList},slot:"append"})],1)],1)]),e("el-container",[e("el-aside",{staticClass:"lz-flex group-box",attrs:{width:"150px"}},[e("div",{staticClass:"group-box-list"},t._l(t.fileType,(function(s){return e("div",{key:s.id,staticClass:"chat-item",class:t.params.cate==s.id?"active":"",on:{click:function(e){return t.openFolder(s)}}},[t._v(" "+t._s(s.name)+" ")])})),0)]),e("el-main",{staticClass:"lz-flex group-box group-user-box no-padding"},[t.fileList.length?e("div",{staticClass:"group-box-list"},[e("el-scrollbar",[e("div",{staticClass:"file-list"},t._l(t.fileList,(function(s,i){return e("el-tooltip",{key:i,staticClass:"item",attrs:{effect:"dark",placement:"right"}},[e("template",{slot:"content"},[e("p",{staticClass:"mb-5"},[t._v("名称:"+t._s(s.name))]),e("p",[t._v("大小:"+t._s(t.getFileSize(s.size)))])]),e("div",{staticClass:"file-item",on:{dblclick:function(e){return t.openFile(s.preview)}}},[e("div",{staticClass:"file-img"},[e("el-image",{staticClass:"img",attrs:{fit:"contain",src:s.extUrl}})],1),e("div",{staticClass:"file-name mt-5",attrs:{align:"center"}},[t._v(t._s(s.name))]),e("div",{staticClass:"file-opt"},[e("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){return e.stopPropagation(),t.openFile(s.preview)}}},[t._v("查看")]),e("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){return e.stopPropagation(),t.downloadFile(s)}}},[t._v("下载")]),e("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(e){return e.stopPropagation(),t.openDialog(s)}}},[t._v("发送")])],1)])],2)})),1)])],1):e("div",{staticClass:"pd-40"},[e("el-empty")],1),t.singlePage?t._e():e("div",{staticClass:"group-box-page",attrs:{align:"center"}},[e("el-pagination",{attrs:{background:"","hide-on-single-page":t.singlePage,"current-page":t.params.page,"page-sizes":[20,50,100,200,300,400,500],"page-size":t.params.limit,layout:"total, sizes, prev, pager, next, jumper",total:t.total},on:{"size-change":t.handleChange,"current-change":t.getFileList,"update:currentPage":function(e){return t.$set(t.params,"page",e)},"update:current-page":function(e){return t.$set(t.params,"page",e)},"update:pageSize":function(e){return t.$set(t.params,"limit",e)},"update:page-size":function(e){return t.$set(t.params,"limit",e)}}})],1),e("ChooseDialog",{attrs:{visible:t.visible,title:"发送到聊天",allUser:t.$store.state.allContacts},on:{"update:visible":function(e){t.visible=e},selectChat:t.sendChat}})],1)],1)],1)},a=[],n=(s(7658),s(6038)),o=s(3817),r=s(2325),l={components:{ChooseDialog:n.Z},props:{isAll:{type:Number,default:0}},computed:{getFileSize(){return function(t){return o.hR(t)}}},data(){return{params:{page:1,limit:20,keywords:"",cate:0,is_all:this.isAll,role:0},visible:!1,singlePage:!0,total:0,curFile:{},fileType:[{id:0,name:"所有文件",icon:""},{id:1,name:"文档",icon:""},{id:2,name:"图片",icon:""},{id:3,name:"音频",icon:""},{id:4,name:"视频",icon:""},{id:5,name:"其他文件",icon:""}],fileList:[]}},mounted(){this.getFileList()},methods:{changeRole(t){this.params.role=t,this.getFileList()},openFolder(t){this.params.cate=t.id,this.getFileList()},getFileList(){this.$api.imApi.getFileList(this.params).then((t=>{0==t.code&&(this.fileList=t.data,this.total=t.count,this.singlePage=t.count<=this.params.limit,this.params.page=t.page)}))},handleChange(t){this.params.limit=t,this.getFileList()},openFile(t){t?this.$preview(t):this.$message.error("文件不存在")},downloadFile(t){t.download&&(window.location=t.download)},openDialog(t){this.visible=!0,this.curFile=t},sendChat(t){if(t.length>5)return this.$message.error("转发的人数不能超过5人!");let e=this.$store.state.userInfo;this.forwardBox=!1;let s={type:this.curFile.msg_type,content:this.curFile.src,file_name:this.curFile.name,file_size:this.curFile.size,fromUser:{id:e.user_id,displayName:e.realname,avatar:e.avatar,account:e.account}};var i=[];t.forEach((t=>{let e=t.toString(),a=JSON.parse(JSON.stringify(s));a.id=r.NW(),a.status="successd",a.sendTime=(new Date).getTime(),a.toContactId=e,a.is_group=0,-1!=e.indexOf("group")&&(a.is_group=1),i.push(this.test(a))})),Promise.all(i).then((t=>{})).catch((t=>{console.log("error",t)})),this.$message.success("发送成功!"),this.visible=!1},fn(t){return new Promise(((e,s)=>{this.$api.imApi.sendMessageAPI(t).then((t=>{0===t.code?e(t):this.$message.error(t.msg)})).catch((t=>{}))}))},async test(t){let e=await this.fn(t);return e}}},c=l,d=s(1001),u=(0,d.Z)(c,i,a,!1,null,"2caf8634",null),p=u.exports},284:function(t,e,s){"use strict";s.d(e,{Z:function(){return c}});var i=function(){var t=this,e=t._self._c;return e("el-dialog",{attrs:{title:t.title,visible:t.visible,modal:!0,width:t.width,"append-to-body":""},on:{open:t.openDialog,close:t.closeDialog}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.isAdd,expression:"isAdd"}],staticClass:"mb-20"},[t._v(" 群聊名称:"),e("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入群聊名称"},model:{value:t.groupName,callback:function(e){t.groupName=e},expression:"groupName"}}),t._v(" "),e("span",{staticClass:"ml-10 c-999"},[t._v(" (必填项)")])],1),e("el-transfer",{attrs:{filterable:"",titles:t.createChatTitles,"filter-placeholder":"请输入关键词",props:t.defaultProps,data:t.allUser},model:{value:t.selectUid,callback:function(e){t.selectUid=e},expression:"selectUid"}}),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{on:{click:t.closeDialog}},[t._v("取 消")]),e("el-button",{attrs:{type:"primary"},on:{click:t.manageGroup}},[t._v("确 定")])],1)],1)},a=[],n={name:"manageGroup",props:{title:{type:String,default:"创建群聊"},visible:{type:Boolean,default:!1},userIds:{type:Array,default:()=>[]},isAdd:{type:Number,default:0},width:{type:String,default:"612px"},groupId:{type:String,default:""}},data(){return{createChatTitles:["用户列表","已选用户"],selectUid:[],allUser:[],groupName:"",defaultProps:{key:"user_id",label:"realname",pinyin:"name_py"}}},mounted(){},methods:{openDialog(){let t={};this.userIds.length>0&&(t.user_ids=this.userIds),this.groupId&&2==this.isAdd&&(t.group_id=this.groupId),this.getAllUser(t)},closeDialog(){this.$emit("update:visible",!1),this.selectUid=[]},manageGroup(){switch(this.isAdd){case 0:if(this.selectUid.length<1)return void this.$message.error("请选择要添加的成员");break;case 1:if(this.selectUid.length<2)return void this.$message.error("群聊人数不能少于2人");if(""==this.groupName||this.groupName.length<2||this.groupName.length>20)return void this.$message.error("请输入正确的群聊名称");break;case 2:if(1!=this.selectUid.length)return void this.$message.error("只能选择一位成员!");break}this.$emit("manageGroup",this.selectUid,this.isAdd,this.groupName)},getAllUser(t){this.$api.imApi.getAllUserAPI(t).then((t=>{const e=t.data;this.allUser=e}))}}},o=n,r=s(1001),l=(0,r.Z)(o,i,a,!1,null,null,null),c=l.exports},4828:function(t,e,s){"use strict";var i=s(3032),a=function(){var t=this,e=t._self._c;return e("div",{attrs:{id:"app"}},[e("router-view")],1)},n=[],o=(s(7658),s(4462)),r=s.n(o),l={name:"App",data(){return{msg:"Welcome to Your Vue.js App"}},created(){let t=r().get("UserInfo"),e=r().get("globalConfig");e&&(document.title=e.sysInfo.name,this.$store.commit("setGlobalConfig",e)),t&&this.$store.commit("SET_USERINFO",t),this.$store.dispatch("getSystemInfo").then((t=>{0!=t.data.sysInfo.state||this.$router.push({path:"/404",query:{msg:t.data.sysInfo.closeTips}})}))},watch:{"$store.state.globalConfig"(t){document.title=t.sysInfo.name}}},c=l,d=s(1001),u=(0,d.Z)(c,a,n,!1,null,null,null),p=u.exports,m=s(8499),h=s.n(m),g=function(){var t=this,e=t._self._c;return e("div",{staticClass:"user-card-box"},[e("el-container",{directives:[{name:"outside",rawName:"v-outside",value:t.closeDialog,expression:"closeDialog"}],staticClass:"container"},[e("el-header",{staticClass:"no-padding header",attrs:{height:"180px"}},[e("i",{staticClass:"close el-icon-error cur-handle",on:{click:t.closeDialog}}),e("div",{staticClass:"img-banner"}),e("div",{staticClass:"user-header"},[e("div",{staticClass:"avatar"},[e("div",{staticClass:"avatar-box"},[e("img",{attrs:{src:t.detail.avatar}})])]),e("div",{staticClass:"username"},[e("i",{staticClass:"iconfont icon-qianming"}),e("span",[t._v(t._s(t.detail.realname||"未设置昵称"))])])])]),e("el-main",{staticClass:"no-padding main"},[e("div",{staticClass:"user-sign"},[e("div",{staticClass:"sign-arrow"}),e("i",{staticClass:"iconfont icon-bianji"}),e("span",[t._v(t._s(t.detail.motto||"这家伙有点懒,什么都没留下!")+" ")])]),e("div",{staticClass:"card-rows no-select"},[e("div",{staticClass:"card-row"},[e("div",{staticClass:"label"},[t._v("账号")]),e("div",[t._v(t._s(t.detail.account))])]),e("div",{staticClass:"card-row"},[e("div",{staticClass:"label"},[t._v(t._s(2==t.globalConfig.sysInfo.runMode?"昵称":"姓名"))]),e("div",[t._v(t._s(t.detail.realname))])]),t.detail.friend&&2==t.globalConfig.sysInfo.runMode?e("div",{staticClass:"card-row"},[e("div",{staticClass:"label"},[t._v("备注")]),e("div",[t._v(t._s(t.detail.friend.nickname||"未设置")+" "),e("i",{staticClass:"el-icon-edit ml-10",attrs:{title:"设置备注"},on:{click:t.setNickname}})])]):t._e(),e("div",{staticClass:"card-row"},[e("div",{staticClass:"label"},[t._v("性别")]),e("div",[t._v(t._s(t._f("sex")(t.detail.sex)))])]),e("div",{staticClass:"card-row"},[e("div",{staticClass:"label"},[t._v("邮箱")]),e("div",[t._v(t._s(t.detail.email||"未设置"))])]),parseInt(t.globalConfig.sysInfo.ipregion)&&t.isFriend?e("div",{staticClass:"card-row"},[e("div",{staticClass:"label"},[t._v("IP")]),t.detail.last_login_ip?e("div",[t._v(t._s(t.detail.last_login_ip||"未知")+" ("+t._s(t.detail.location||"未知")+")")]):e("div",[t._v("未知")])]):t._e()])]),e("el-footer",{staticClass:"footer"},[t.isFriend?e("el-button",{staticStyle:{width:"150px"},attrs:{type:"primary",round:""},on:{click:function(e){return t.openChat()}}},[t._v("发消息")]):t._e(),2!=t.globalConfig.sysInfo.runMode||t.detail.friend||t.user_id==t.userInfo.user_id?t._e():e("el-button",{staticStyle:{width:"150px"},attrs:{type:"primary",round:""},on:{click:function(e){return t.addFriend()}}},[t._v("加好友")]),t.options.isManage?e("el-button",{staticStyle:{width:"150px"},attrs:{round:""},on:{click:t.editUser}},[t._v("编辑资料")]):t._e()],1)],1)],1)},f=[],v=s(3822),C={name:"UserCard",props:{user_id:{type:[Number,String],default:0},options:{type:Object,default:()=>({isManage:!1})}},computed:{...(0,v.rn)({userInfo:t=>t.userInfo,globalConfig:t=>t.globalConfig}),isFriend(){return this.userInfo.user_id!=this.detail.user_id&&(this.detail.friend||1==this.globalConfig.sysInfo.runMode)}},filters:{sex(t){let e=["女","男","未知"];return e[t]||"未知"}},data(){return{detail:{}}},mounted(){this.getUserDetal()},methods:{closeDialog(){this.$emit("close")},getUserDetal(){this.$api.imApi.getUserInfo({user_id:this.user_id}).then((t=>{0==t.code&&(this.detail=t.data)}))},openChat(){this.closeDialog(),this.$store.commit("openChat",this.detail.user_id)},editUser(){this.$emit("editUser",this.detail)},addFriend(){this.closeDialog(),this.$prompt("请填写验证信息,让朋友知道你!","添加好友",{confirmButtonText:"确定",cancelButtonText:"取消"}).then((({value:t})=>{if(!t)return this.$message.error("请输入验证信息"),!1;this.$api.friendApi.addFriend({user_id:this.detail.user_id,remark:t}).then((t=>{0==t.code&&this.$message.success("已发送好友申请")}))})).catch((t=>{this.$message({type:"warning",message:t})}))},setNickname(){let t=this.detail.friend.friend_id??"";if(!this.detail.friend)return this.$message.error("该用户不是您的好友"),!1;this.closeDialog();let e=this.detail.friend.nickname?this.detail.friend.nickname:this.detail.realname;this.$prompt("请填写备注信息","设置备注",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:e}).then((({value:e})=>{if(!e)return this.$message.error("请输入备注信息"),!1;this.$api.friendApi.setNickname({friend_id:t,nickname:e}).then((t=>{0==t.code&&(this.$message.success("设置成功"),this.detail.realname=e)}))})).catch((()=>{}))}}},b=C,y=(0,d.Z)(b,g,f,!1,null,"499318c8",null),w=y.exports,x={install(t){function e(e,s){let i=this;const a=new t({router:i.$router,store:i.$store,render(t){return t(w,{on:{close:()=>{a.$destroy(),document.body.removeChild(a.$el)},editUser:t=>{s.editDataCallbak&&s.editDataCallbak(t),a.$destroy(),document.body.removeChild(a.$el)}},props:{user_id:e,options:s}})}}).$mount();document.body.appendChild(a.$el)}t.prototype.$user=e}},A=function(){var t=this,e=t._self._c;return e("div",[e("transition",{attrs:{name:"fade-user"}},[e("div",{staticClass:"previewBox"},[e("el-button",{staticClass:"drawer-close",attrs:{type:"danger",icon:"el-icon-close",circle:""},on:{click:t.closeDrawer}}),e("iframe",{attrs:{src:t.url,frameborder:"0",width:"100%",height:"100%"}})],1)])],1)},k=[],_={name:"preview",props:{url:{type:String,default:""}},data(){return{}},methods:{closeDrawer(){this.$emit("close")}}},I=_,S=(0,d.Z)(I,A,k,!1,null,"022a2c23",null),U=S.exports,T={install(t){function e(e,s){let i=this;const a=new t({router:i.$router,store:i.$store,render(t){return t(U,{on:{close:()=>{a.$destroy(),document.body.removeChild(a.$el)}},props:{url:e,options:s}})}}).$mount();document.body.appendChild(a.$el)}t.prototype.$preview=e}},M=s(6760),B=s.n(M),E=s(2631),R=function(){var t=this,e=t._self._c;return e("div",{staticClass:"main-container"},[e("div",{staticClass:"im-title"},[e("div",{staticClass:"logo"},[e("el-image",{staticStyle:{width:"80px",height:"80px"},attrs:{src:t.$packageData.logo,fit:"cover"}})],1),e("div",{staticClass:"im-content"},[e("div",{staticClass:"im-name"},[e("div",{staticClass:"text f-36"},[t._v(t._s(t.$packageData.name))]),e("div",{staticClass:"version ml-5"},[e("el-tag",{attrs:{size:"mini",type:"primary",effect:"plain"}},[t._v("v"+t._s(t.$packageData.version))])],1)]),e("div",{staticClass:"im-des"},[t._v(t._s(t.$packageData.description))])])]),e("div",{staticClass:"code-url"},[e("div",{staticClass:"ml-15 mb-15"},[t._v(" 前端地址: "),e("a",{attrs:{href:t.$packageData.frontUrl,target:"_blank"}},[e("el-image",{attrs:{src:t.$packageData.frontUrl+"/badge/star.svg?theme=white",alt:"star"}})],1)]),e("div",{staticClass:"ml-15 mb-15"},[t._v(" 后端地址:"),e("a",{attrs:{href:t.$packageData.backstageUrl,target:"_blank"}},[e("el-image",{attrs:{src:t.$packageData.backstageUrl+"/badge/star.svg?theme=dark",alt:"star"}})],1)]),e("div",{staticClass:"ml-15 mb-15"},[e("el-button",{attrs:{type:"warning",plain:"",size:"mini",round:""}},[e("a",{attrs:{href:t.$packageData.qqGroupUrl,target:"_blank"}},[t._v("QQ交流群:336921267")])])],1)]),e("el-alert",{staticClass:"mt-15 mb-15",attrs:{"show-icon":"",closable:!1,title:"请仔细阅读一下文档!(webrtc一对一音视频通话需要自己搭建turn服务器,本文底部有搭建链接,通话中稳定但有一定的BUG)。",type:"warning"}}),e("el-alert",{staticClass:"mt-15 mb-15",attrs:{"show-icon":"",closable:!1,title:"该项目服务端和web端都属于全开源项目,仅用于个人学习,任何个人和单位不得对源码进行售卖;捐赠后获得的移动端源码也仅供学习使用,不可对源码进行二次售卖。",type:"error"}}),e("el-tabs",{staticClass:"mb-20",attrs:{type:"card"},on:{"tab-click":t.handleClick},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[e("el-tab-pane",{attrs:{label:"程序介绍"}},[e("div",{staticClass:"tip"},t._l(t.introduce,(function(s,i){return e("p",{staticClass:"mb-5"},[e("i",{class:s.icon}),t._v(" "),e("span",{domProps:{innerHTML:t._s(s.text)}})])})),0)]),e("el-tab-pane",{attrs:{label:"支持功能"}},[e("div",{staticClass:"success"},t._l(t.$packageData.funcList,(function(s){return e("p",{staticClass:"mb-5"},[e("i",{class:s.icon}),t._v(" "),e("span",{domProps:{innerHTML:t._s(s.text)}})])})),0)]),e("el-tab-pane",{attrs:{label:"技术栈"}},[e("div",{staticClass:"info"},t._l(t.techStack,(function(s,i){return e("p",{staticClass:"mb-5"},[e("i",{class:s.icon}),t._v(" "),e("span",{domProps:{innerHTML:t._s(s.text)}})])})),0)])],1),t._m(0),e("div",{staticClass:"demo-btn"},[e("div",{staticClass:"flex-box-center mb-15",on:{click:function(e){return t.showMessageBox()}}},[e("el-badge",{staticClass:"item",attrs:{value:t.unread,max:99,hidden:!t.unread}},[e("el-button",[t._v("窗口模式")])],1)],1),e("div",{staticClass:"mb-15 mr-15",on:{click:function(e){return t.$router.push({path:"/chat"})}}},[e("el-button",[t._v("纯享模式")])],1),e("div",{staticClass:"mb-15 mr-15",on:{click:function(e){return t.$router.push({path:"/manage/index"})}}},[e("el-button",[t._v("管理后台")])],1),e("div",{staticClass:"mb-15 mr-15"},[e("el-tooltip",{attrs:{placement:"right-start",effect:"light"}},[e("div",{attrs:{slot:"content"},slot:"content"},[e("el-image",{staticStyle:{width:"200px"},attrs:{src:"https://emoji.raingad.com/file/h5.png"}})],1),e("el-button",[e("a",{attrs:{href:t.$packageData.mobileUrl,target:"_blank"}},[t._v("H5体验")])])],1)],1),e("div",{staticClass:"mb-15 mr-15"},[e("el-tooltip",{attrs:{placement:"right-start",effect:"light"}},[e("div",{attrs:{slot:"content"},slot:"content"},[e("el-image",{staticStyle:{width:"200px"},attrs:{src:"https://emoji.raingad.com/file/app.png"}})],1),e("el-button",[e("a",{attrs:{href:"https://emoji.raingad.com/file/raingad.apk",target:"_blank"}},[t._v("安卓APP体验")])])],1)],1),e("div",{staticClass:"mb-15"},[e("el-button",{on:{click:t.downApp}},[e("a",{attrs:{target:"_blank"}},[t._v("客户端下载")])])],1)]),e("div",{staticClass:"contact-main"},[t._m(1),t._l(t.allContacts,(function(s){return 0==s.is_group&&s.id<6?e("div",{key:s.id,staticClass:"contact-box"},[e("div",{staticClass:"contact-item"},[e("el-avatar",{attrs:{src:s.avatar}}),e("span",[t._v(t._s(s.realname))]),e("div",[e("el-button",{attrs:{plain:"",size:"mini",round:""},on:{click:function(e){return t.$store.commit("openChat",s.id)}}},[t._v("发消息")])],1)],1)]):t._e()}))],2),e("div",{staticClass:"tip mb-20"},[t._m(2),t._m(3),e("p",{staticClass:"mt-10"},[e("el-image",{staticClass:"mr-40 mb-20",staticStyle:{width:"300px"},attrs:{src:"https://emoji.raingad.com/file/wx.jpg"}}),e("el-image",{staticStyle:{width:"280px"},attrs:{src:"https://emoji.raingad.com/file/zfb.jpg"}})],1),e("p",[t._v("开源不易,如果需要以下功能,捐赠相应金额,作者可提供服务,进群后咨询作者!或者进群后直接扫码支付,联系群主提供支付凭证即可!")]),t._m(4),t._m(5),t._m(6),t._m(7),t._m(8),e("p",[t._v("5. 技术指导服务:"),e("b",[e("a",{staticStyle:{color:"#409EFF"},attrs:{href:t.$packageData.qqGroupUrl,target:"_blank"}},[t._v("进群联系作者")])]),t._v(" ,或者加作者QQ:"),e("b",[t._v("1072129059")]),t._v(",包含远程指导,代码解析,开发思路等,付费之日起一个月内有效。")]),e("p",[t._v("6. 团队安心包:"),e("b",[e("a",{staticStyle:{color:"#409EFF"},attrs:{href:t.$packageData.qqGroupUrl,target:"_blank"}},[t._v("进群联系作者")])]),t._v(" ,包含上述前4项服务,根据需求选择,以及安卓APP和H5打包(需要提供Hbuilder的Dcloud账号,总共可以打包3次),需要提供相应的服务器、域名、证书等,APP还需要提供应用名称和LOGO(如果没有可以代为生成)")]),e("p",[t._v("7、其他未列出的服务,请咨询作者!")])]),t._m(9),e("div",{staticClass:"other-pro"},[e("h2",[t._v("其他项目")]),e("br"),e("div",{staticClass:"mb-15"},[e("el-link",{attrs:{type:"primary",href:"https://gitee.com/raingad/j-preview"}},[t._v("纯JS文件预览插件")])],1)]),e("div",{staticClass:"other-pro"},[e("h2",[t._v("其他资料")]),e("br"),e("div",{staticClass:"mb-15"},[e("el-link",{attrs:{type:"primary",href:"http://june000.gitee.io/lemon-im"}},[t._v("Lemon-IMUI使用文档")])],1),e("div",{staticClass:"mb-15"},[e("el-link",{attrs:{type:"primary",href:"https://www.npmjs.com/package/chatarea"}},[t._v("聊天输入框插件【chatarea】")])],1),e("div",{staticClass:"mb-15"},[e("el-link",{attrs:{type:"primary",href:"https://blog.csdn.net/ruiye99/article/details/130992960"}},[t._v("WebRTC 网络中继 Coturn 服务安装及部署")])],1)]),e("Message",{ref:"Message",attrs:{dialogTableVisible:t.dialogTableVisible},on:{"update:dialogTableVisible":function(e){t.dialogTableVisible=e},"update:dialog-table-visible":function(e){t.dialogTableVisible=e}}})],1)},N=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"mb-15"},[e("b",{staticStyle:{"font-size":"20px"}},[t._v("体验")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"title"},[e("b",{staticStyle:{"font-size":"20px"}},[t._v("联系人")]),t._v("(仅展示部分用于演示)")])},function(){var t=this,e=t._self._c;return e("h3",{staticClass:"mb-5"},[e("b",[t._v("服务介绍")])])},function(){var t=this,e=t._self._c;return e("p",[t._v(" 详细的使用方法在源码中基本上都有备注,如果您觉得这个项目对您有帮助,欢迎star,如果有问题可以加QQ群交流,如果您有更好的建议,欢迎提出。 "),e("b",[t._v("如果觉得项目不错,不如请作者喝杯奶茶吧~")])])},function(){var t=this,e=t._self._c;return e("p",{staticClass:"m-5"},[e("b",[t._v("(作者8年phper,前端水平一般,不接外包,除非价格确实高,功能也不难!)")])])},function(){var t=this,e=t._self._c;return e("p",[t._v("1. 服务端协助部署:"),e("b",[t._v("200元/次")]),t._v("(仅提供服务端远程 [todesk] 技术指导,需要提供纯净的centOS服务器一台)")])},function(){var t=this,e=t._self._c;return e("p",[t._v("2. uniapp移动端源码:"),e("b",{staticStyle:{"text-decoration":"line-through"}},[t._v("原价600元/套")]),e("b",{staticClass:"c-red"},[t._v(" 优惠价488元/套。")]),t._v("(源码无加密,仅提供源码,"),e("b",[t._v("不提供专业指导和部署 ")]),t._v(")")])},function(){var t=this,e=t._self._c;return e("p",[t._v("3. 桌面端源码:"),e("b",{staticStyle:{"text-decoration":"line-through"}},[t._v("原价600元/套")]),e("b",{staticClass:"c-red"},[t._v(" 优惠价488元/套。")]),t._v("(使用vue+electron前端技术打包,和web端功能一样,支持后台运行和消息通知,暂不不支持截屏。赠送打包一次,单次打包200元/次)")])},function(){var t=this,e=t._self._c;return e("p",[t._v("4. webRTC中继服务器:"),e("b",[t._v("200元/次")]),t._v("(原则上参考底部的教程链接来自行安装,确需服务,也可联系作者协助)")])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"danger mb-20"},[e("h3",{staticClass:"mb-5"},[e("b",[t._v("注意事项")])]),e("p",{staticClass:"m-5"},[t._v(" 1、凡是捐赠达到200元以上即可赠送API文档,包含:接口说明、安装教程、常见问题的解决方法等。"),e("br"),t._v(" 2、源码作者不保证无任何问题,可能存在兼容性问题或者一些小的BUG,需要自行优化升级,望悉知。"),e("br"),t._v(" 3、捐赠获得的源码仅供学习或二次开发使用,不可对源码进行二次售卖。"),e("br"),t._v(" 4、请勿将源码用于违法活动,如有发现,报警处理!"),e("br"),t._v(" 5、价格或服务内容可能会有变动,以咨询作者时给的服务方案为准! ")])])}],F=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.dialogTableVisible,expression:"dialogTableVisible"}],staticClass:"messageBoxStyle"},[e("el-dialog",{attrs:{visible:t.dialogIsShow,modal:!1,"custom-class":"sideMenu-message","show-close":!1,width:"1000px","close-on-press-escape":!0},on:{"update:visible":function(e){t.dialogIsShow=e},close:t.closeDialog}},[e("rainagdIm",{on:{newChat:t.contactSync,close:t.closeDialog}})],1)],1)},L=[],P=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"chat-box"},[e("lemon-imui",{ref:"IMUI",staticStyle:{"min-height":"600px"},attrs:{user:t.user,width:t.curWidth,height:t.curHeight,contextmenu:t.contextmenu,"contact-contextmenu":t.contactContextmenu,theme:t.setting.theme,"hide-message-name":t.setting.hideMessageName,"hide-message-time":t.setting.hideMessageTime,avatarCricle:t.setting.avatarCricle,sendKey:t.setSendKey,wrapKey:t.wrapKey,latelyContacts:t.latelyContact},on:{"menu-avatar-click":t.openSetting,"change-contact":t.handleChangeContact,"pull-messages":t.handlePullMessages,"message-click":t.handleMessageClick,send:t.handleSend},scopedSlots:t._u([{key:"cover",fn:function(){return[e("div",[e("div",{staticClass:"cover"},[e("i",{staticClass:"lemon-icon-message"}),e("p",[e("b",[t._v("即时聊天 Raingad")]),t._v(" IM")])])])]},proxy:!0},{key:"sidebar-message",fn:function(s){return[e("div",{staticClass:"lemon-contact-item",class:1==s.is_top?"bg-gray":""},[e("el-badge",{staticClass:"lemon-badge lemon-contact__avatar",attrs:{value:s.unread,max:99,"is-dot":0==s.is_notice,hidden:s.unread<=0}},[e("span",{staticClass:"lemon-avatar",class:{"lemon-avatar--circle":t.setting.avatarCricle},staticStyle:{width:"40px",height:"40px","line-height":"40px","font-size":"20px"}},[e("img",{attrs:{src:s.avatar}})])]),e("div",{staticClass:"lemon-contact__inner"},[e("p",{staticClass:"lemon-contact__label"},[e("span",{staticClass:"lemon-contact__name"},[s.is_online&&0==s.is_group&&1==t.globalConfig.chatInfo.online?e("OnlineStatus",{attrs:{title:"在线",type:"success"}}):t._e(),t._v(" "+t._s(s.displayName)+" ")],1),e("span",{staticClass:"lemon-contact__time",domProps:{textContent:t._s(t.formatTime(s.lastSendTime))}})]),e("p",{staticClass:"lemon-contact__content lemon-last-content"},[e("span",{staticClass:"lastContent"},[s.is_at>0?e("span",{staticClass:"c-red"},[t._v("[有"+t._s(s.is_at)+"人@我] ")]):t._e(),e("span",{domProps:{innerHTML:t._s(s.lastContent)}})]),0==s.is_notice?e("span",{staticClass:"el-icon-close-notification f-16"}):t._e()])])],1)]}},{key:"message-title",fn:function(s){return[e("div",{staticClass:"message-title-box"},[e("div",[0==t.isEdit?e("span",[1==t.is_group?e("span",{staticClass:"displayName",on:{click:function(e){t.isEdit=!0}}},[t._v(" "+t._s(s.displayName)),e("span",{staticClass:"mr-5"},[t._v("("+t._s(t.groupUserCount)+")")]),s.setting&&1==s.setting.nospeak?e("el-tag",{attrs:{size:"mini",type:"warning"}},[t._v("仅群管理员可发言")]):t._e(),s.setting&&2==s.setting.nospeak?e("el-tag",{attrs:{size:"mini",type:"danger"}},[t._v("全员禁言中")]):t._e()],1):t._e(),0==t.is_group?e("span",{staticClass:"displayName"},[t.globalConfig.chatInfo.online?e("OnlineStatus",{attrs:{type:s.is_online?"success":"info",pulse:s.is_online}}):t._e(),t._v(" "+t._s(s.displayName))],1):t._e(),parseInt(t.globalConfig.sysInfo.ipregion)&&s.last_login_ip?e("span",{staticClass:"c-999 f-12 ml-5"},[t.globalConfig.chatInfo.online&&!s.is_online?e("span",[t._v("(离线)")]):t._e(),t._v(t._s(s.last_login_ip)+" "+t._s(s.location))]):t._e()]):t._e(),1==t.isEdit?e("input",{directives:[{name:"model",rawName:"v-model",value:t.displayName,expression:"displayName"}],staticClass:"editInput",domProps:{value:t.displayName},on:{blur:function(e){return t.saveGroupName(s)},input:function(e){e.target.composing||(t.displayName=e.target.value)}}}):t._e()]),e("div",{staticClass:"message-title-tools"},[t.globalConfig.chatInfo.webrtc?[!s.is_group&&parseInt(t.globalConfig.chatInfo.webrtc)?e("i",{staticClass:"el-icon-phone-outline ml-10",attrs:{title:"语音通话"},on:{click:function(e){return t.called(0)}}}):t._e(),!s.is_group&&parseInt(t.globalConfig.chatInfo.webrtc)?e("i",{staticClass:"el-icon-video-camera ml-10",attrs:{title:"视频通话"},on:{click:function(e){return t.called(1)}}}):t._e()]:t._e(),s.is_group?e("i",{staticClass:"iconfont icon-ico ml-10 f-22",attrs:{title:"群二维码"},on:{click:function(e){t.groupQrShow=!0}}}):t._e(),s.is_group?t._e():e("i",{staticClass:"el-icon-more ml-10",attrs:{title:"基本资料"},on:{click:function(e){return t.$user(s.id)}}}),s.is_group&&1==t.currentChat.role?e("i",{staticClass:"el-icon-more ml-10",attrs:{title:"群管理"},on:{click:function(e){return t.openGroupSetting(!1)}}}):t._e()],2)])]}},{key:"sidebar-message-fixedtop",fn:function(s){return[t.wsStatus?t._e():e("div",{staticClass:"lz-flex no-internet pd-10 mb-10 lz-space-between lz-align-items-center"},[e("div",{staticClass:"el-icon-info"}),e("div",[t._v("当前网络无法实时接收消息")]),e("div",{staticClass:"el-icon-refresh cur-handle",attrs:{title:"重新链接"},on:{click:t.reconnect}})]),e("div",{staticClass:"contact-fixedtop-box"},[e("el-input",{staticClass:"input-with-select",attrs:{placeholder:"搜索联系人","prefix-icon":"el-icon-search"},on:{blur:t.closeSearch,focus:function(e){t.searchResult=!0}},model:{value:t.keywords,callback:function(e){t.keywords=e},expression:"keywords"}}),2==t.globalConfig.sysInfo.runMode?e("div",{staticStyle:{"margin-left":"10px"}},[e("el-dropdown",{on:{command:t.handleCommand}},[e("el-button",{attrs:{icon:"el-icon-plus",circle:""}}),e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e("el-dropdown-item",{attrs:{command:"addFriend"}},[t._v("添加朋友")]),t.globalConfig.chatInfo.groupChat?e("el-dropdown-item",{attrs:{command:"addGroup"}},[t._v("创建群聊")]):t._e()],1)],1)],1):t._e(),1==t.globalConfig.sysInfo.runMode&&t.globalConfig.chatInfo.groupChat?e("div",{staticStyle:{"margin-left":"10px"}},[e("el-button",{attrs:{title:"创建群聊",icon:"el-icon-plus",circle:""},on:{click:t.openCreateGroup}})],1):t._e(),e("div",{directives:[{name:"show",rawName:"v-show",value:t.searchResult,expression:"searchResult"}],staticClass:"search-list"},[t._l(t.searchList,(function(i,a){return t.searchList.length>0?e("div",{key:a,staticClass:"search-list-item"},[e("lemon-contact",{attrs:{contact:i},on:{click:function(e){return t.openChat(i.id,s)}}})],1):t._e()})),0==t.searchList.length?e("div",{staticStyle:{margin:"20px"},attrs:{align:"center"}},[t._v(" 暂无 ")]):t._e()],2)],1),e("im-tab",{attrs:{values:t.tabList,height:40},on:{change:t.changeTab}})]}},{key:"sidebar-message-top",fn:function(s){return[t.chatTopList.length>0?e("div",{staticClass:"chat-top-list"},t._l(t.chatTopList,(function(i,a){return e("ChatTop",{key:a,attrs:{contact:i,avatarCricle:t.setting.avatarCricle,currentId:t.currentChat.id},nativeOn:{click:function(e){return t.openChat(i.id,s)}}})})),1):t._e()]}},{key:"sidebar-contact-fixedtop",fn:function(s){return[e("div",{staticStyle:{margin:"15px 10px"}},[t._v(" 联系人 ")])]}},{key:"message-side",fn:function(s){return[1==s.is_group?e("div",{staticClass:"slot-group-list lemon-wrapper",class:"blue"==t.setting.theme?"lemon-wrapper--theme-blue":""},[e("div",{staticClass:"group-side-box lemon-container"},[e("div",{staticClass:"group-notice"},[e("div",{staticClass:"group-side-title"},[e("h4",[t._v("群公告")]),e("div",[s.role<3||0==s.setting.manage?e("span",{staticClass:"el-icon-edit f-18 cur-handle",on:{click:function(e){t.noticeBox=!0}}}):t._e()])]),e("hr"),s.notice?e("div",{staticClass:"group-side-body",on:{click:t.openNotice}},[t._v(" "+t._s(s.notice)+" ")]):t._e(),s.notice?t._e():e("div",{staticClass:"group-side-body"},[t._v(" 暂无公告 ")])]),e("div",{staticClass:"group-user"},[e("div",{staticClass:"group-side-title"},[e("h4",[t._v("群成员")]),e("div",[s.role<3||1==s.setting.invite?e("span",{staticClass:"el-icon-circle-plus-outline f-18 cur-handle",on:{click:t.openAddGroupUser}}):t._e()])]),e("hr"),e("div",{staticClass:"group-user-body",style:[{height:"calc("+t.curHeight+" - 230px)",background:"blue"==t.setting.theme?"#ffffff":"#f4f4f4"}],attrs:{id:"group-user"}},[e("el-scrollbar",{staticStyle:{height:"100%"}},t._l(t.groupUser,(function(s,i){return e("lemon-contact",{directives:[{name:"lemon-contextmenu",rawName:"v-lemon-contextmenu.contact",value:t.groupMenu,expression:"groupMenu",modifiers:{contact:!0}}],key:i,staticClass:"user-list",attrs:{contact:s}},[e("div",{staticClass:"user-avatar"},[e("el-avatar",{attrs:{size:20,src:s.userInfo.avatar}})],1),e("div",{staticClass:"user-name"},[s.userInfo.id==t.user.id?e("span",{staticClass:"fc-danger"},[t._v(t._s(s.userInfo.displayName)+"(我)")]):t._e(),s.userInfo.id!=t.user.id?e("span",[t._v(t._s(s.userInfo.displayName))]):t._e()]),e("div",{staticClass:"user-role"},[1==s.role?e("el-tag",{attrs:{type:"danger",size:"mini"}},[t._v("群主")]):t._e(),2==s.role?e("el-tag",{attrs:{type:"warning",size:"mini"}},[t._v("管理员")]):t._e()],1)])})),1)],1)])])]):t._e()]}},{key:"message-after",fn:function(s){return[s.fromUser.id==t.user.id&&0==s.is_group?e("span",{staticStyle:{visibility:"visible"}},[s.is_read||"succeed"!=s.status?t._e():e("span",[t._v(" 未读 ")]),s.is_read&&"succeed"==s.status?e("span",{staticClass:"fc-success"},[t._v(" 已读 ")]):t._e()]):t._e()]}},{key:"editor-footer",fn:function(){return[e("div",{staticClass:"lz-flex lz-space-between lz-align-items-center"},[t.currentChat.is_at?e("div",{staticClass:"at-item cur-handle mr-10",on:{click:function(e){return t.openMsgBox()}}},[t._v("有"+t._s(t.currentChat.is_at)+"人提到你")]):t._e(),e("div"),e("div",[t._v(t._s(1==t.setting.sendKey?"使用 Ctrl + Enter 换行":"使用 Ctrl + Enter 发送消息"))])])]},proxy:!0}])})],1),e("Group",{attrs:{visible:t.createChatBox,title:t.dialogTitle,isAdd:t.isAdd,userIds:t.userIds,groupId:t.group_id},on:{"update:visible":function(e){t.createChatBox=e},manageGroup:t.manageGroup}}),e("el-dialog",{attrs:{title:"发布公告",visible:t.noticeBox,modal:!0,width:"500px","append-to-body":""},on:{"update:visible":function(e){t.noticeBox=e}}},[e("el-input",{attrs:{type:"textarea",rows:10,placeholder:"请输入内容"},model:{value:t.notice,callback:function(e){t.notice=e},expression:"notice"}}),e("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[e("el-button",{on:{click:function(e){t.noticeBox=!1}}},[t._v("取 消")]),e("el-button",{attrs:{type:"primary"},on:{click:t.publishNotice}},[t._v("确 定")])],1)],1),e("addFriend",{attrs:{visible:t.addFriendBox},on:{"update:visible":function(e){t.addFriendBox=e}}}),e("ChooseDialog",{attrs:{visible:t.forwardBox,title:"转发聊天",allUser:t.allUser},on:{"update:visible":function(e){t.forwardBox=e},selectChat:t.forwardUser}}),e("el-dialog",{attrs:{title:"消息管理器",visible:t.messageBox,modal:!0,width:"800px","append-to-body":""},on:{"update:visible":function(e){t.messageBox=e}}},[e("ChatRecord",{key:t.componentKey,attrs:{contact:t.currentChat,condition:t.ChatRecordMap}})],1),e("el-dialog",{attrs:{title:"群设置",visible:t.groupSetting,modal:!0,width:"500px","append-to-body":""},on:{"update:visible":function(e){t.groupSetting=e}}},[e("ChatSet",{key:t.componentKey,attrs:{contact:t.contactSetting},on:{changeOwner:t.changeOwner}})],1),e("el-dialog",{attrs:{title:"语音录制","custom-class":"no-padding",visible:t.VoiceStatus,modal:!0,width:"500px","append-to-body":"","destroy-on-close":""},on:{"update:visible":function(e){t.VoiceStatus=e}}},[e("voice-recorder",{on:{send:t.sendVoice}})],1),e("group-qr",{attrs:{contact:t.currentChat,visible:t.groupQrShow},on:{"update:visible":function(e){t.groupQrShow=e}}}),e("Socket",{ref:"socket"}),e("webrtc",{key:t.componentKey,ref:"webrtc",attrs:{contact:t.currentChat,config:t.webrtcConfig,alias:t.$packageData.name,userInfo:t.user},on:{message:t.rtcMsg}})],1)},D=[],j=(s(2801),s(3408),s(4590),[{label:"表情",children:[{name:"1f600",title:"微笑",src:"https://emoji.raingad.com/72x72/1f600.png"},{name:"1f62c",title:"微笑",src:"https://emoji.raingad.com/72x72/1f62c.png"},{name:"1f601",title:"微笑",src:"https://emoji.raingad.com/72x72/1f601.png"},{name:"1f602",title:"微笑",src:"https://emoji.raingad.com/72x72/1f602.png"},{name:"1f923",title:"微笑",src:"https://emoji.raingad.com/72x72/1f923.png"},{name:"1f973",title:"微笑",src:"https://emoji.raingad.com/72x72/1f973.png"},{name:"1f603",title:"微笑",src:"https://emoji.raingad.com/72x72/1f603.png"},{name:"1f604",title:"微笑",src:"https://emoji.raingad.com/72x72/1f604.png"},{name:"1f605",title:"微笑",src:"https://emoji.raingad.com/72x72/1f605.png"},{name:"1f606",title:"微笑",src:"https://emoji.raingad.com/72x72/1f606.png"},{name:"1f607",title:"微笑",src:"https://emoji.raingad.com/72x72/1f607.png"},{name:"1f609",title:"微笑",src:"https://emoji.raingad.com/72x72/1f609.png"},{name:"1f60a",title:"微笑",src:"https://emoji.raingad.com/72x72/1f60a.png"},{name:"1f642",title:"微笑",src:"https://emoji.raingad.com/72x72/1f642.png"},{name:"1f643",title:"微笑",src:"https://emoji.raingad.com/72x72/1f643.png"},{name:"1263a",title:"微笑",src:"https://emoji.raingad.com/72x72/263a.png"},{name:"1f60b",title:"微笑",src:"https://emoji.raingad.com/72x72/1f60b.png"},{name:"1f60c",title:"微笑",src:"https://emoji.raingad.com/72x72/1f60c.png"},{name:"1f60d",title:"微笑",src:"https://emoji.raingad.com/72x72/1f60d.png"},{name:"1f970",title:"微笑",src:"https://emoji.raingad.com/72x72/1f970.png"},{name:"1f618",title:"微笑",src:"https://emoji.raingad.com/72x72/1f618.png"},{name:"1f617",title:"微笑",src:"https://emoji.raingad.com/72x72/1f617.png"},{name:"1f619",title:"微笑",src:"https://emoji.raingad.com/72x72/1f619.png"},{name:"1f61a",title:"微笑",src:"https://emoji.raingad.com/72x72/1f61a.png"},{name:"1f61c",title:"微笑",src:"https://emoji.raingad.com/72x72/1f61c.png"},{name:"1f92a",title:"微笑",src:"https://emoji.raingad.com/72x72/1f92a.png"},{name:"1f928",title:"微笑",src:"https://emoji.raingad.com/72x72/1f928.png"},{name:"1f9d0",title:"微笑",src:"https://emoji.raingad.com/72x72/1f9d0.png"},{name:"1f61d",title:"微笑",src:"https://emoji.raingad.com/72x72/1f61d.png"},{name:"1f61b",title:"微笑",src:"https://emoji.raingad.com/72x72/1f61b.png"},{name:"1f911",title:"微笑",src:"https://emoji.raingad.com/72x72/1f911.png"},{name:"1f913",title:"微笑",src:"https://emoji.raingad.com/72x72/1f913.png"},{name:"1f60e",title:"微笑",src:"https://emoji.raingad.com/72x72/1f60e.png"},{name:"1f929",title:"微笑",src:"https://emoji.raingad.com/72x72/1f929.png"},{name:"1f921",title:"微笑",src:"https://emoji.raingad.com/72x72/1f921.png"},{name:"1f920",title:"微笑",src:"https://emoji.raingad.com/72x72/1f920.png"},{name:"1f917",title:"微笑",src:"https://emoji.raingad.com/72x72/1f917.png"},{name:"1f60f",title:"微笑",src:"https://emoji.raingad.com/72x72/1f60f.png"},{name:"1f636",title:"微笑",src:"https://emoji.raingad.com/72x72/1f636.png"},{name:"1f610",title:"微笑",src:"https://emoji.raingad.com/72x72/1f610.png"},{name:"1f611",title:"微笑",src:"https://emoji.raingad.com/72x72/1f611.png"},{name:"1f612",title:"微笑",src:"https://emoji.raingad.com/72x72/1f612.png"},{name:"1f644",title:"微笑",src:"https://emoji.raingad.com/72x72/1f644.png"},{name:"1f914",title:"微笑",src:"https://emoji.raingad.com/72x72/1f914.png"},{name:"1f925",title:"微笑",src:"https://emoji.raingad.com/72x72/1f925.png"},{name:"1f92d",title:"微笑",src:"https://emoji.raingad.com/72x72/1f92d.png"},{name:"1f92b",title:"微笑",src:"https://emoji.raingad.com/72x72/1f92b.png"},{name:"1f92c",title:"微笑",src:"https://emoji.raingad.com/72x72/1f92c.png"},{name:"1f92f",title:"微笑",src:"https://emoji.raingad.com/72x72/1f92f.png"},{name:"1f633",title:"微笑",src:"https://emoji.raingad.com/72x72/1f633.png"},{name:"1f61e",title:"微笑",src:"https://emoji.raingad.com/72x72/1f61e.png"},{name:"1f61f",title:"微笑",src:"https://emoji.raingad.com/72x72/1f61f.png"},{name:"1f620",title:"微笑",src:"https://emoji.raingad.com/72x72/1f620.png"},{name:"1f621",title:"微笑",src:"https://emoji.raingad.com/72x72/1f621.png"}]},{label:"收藏",children:[{name:"1f62c",title:"微笑",src:"https://emoji.raingad.com/72x72/1f62c.png"},{name:"1f621",title:"微笑",src:"https://emoji.raingad.com/72x72/1f621.png"}]}]),Q=s(2325),V=function(){var t=this;t._self._c;return t._m(0)},G=[function(){var t=this,e=t._self._c;return e("div",[e("audio",{attrs:{id:"chatAudio"}},[e("source",{attrs:{src:s(1315),type:"audio/ogg"}}),e("source",{attrs:{src:s(444),type:"audio/mpeg"}}),e("source",{attrs:{src:s(8611),type:"audio/wav"}})])])}],z={name:"socket",data(){return{is_open_socket:!1,websocket:null,pingInterval:30,connectNum:1,manMade:!0,timeout:3e4,heartbeatInterval:null,reconnectTimeOut:null}},methods:{getWsUrl(){let t={NODE_ENV:"production",BASE_URL:""}.VUE_APP_BASE_API,e=window.location.protocol,s="ws://";t=window.location.host,"https:"==e&&(s="wss://");const i=s+t+"/wss";return i},initWebSocket(){const t=this.getWsUrl();this.websocket=new WebSocket(t),this.start(),this.is_open_socket=!0,this.websocket.onmessage=this.websocketOnMessage,this.websocket.onclose=this.websocketClose,i["default"].prototype.$websocket=this.websocket,this.$store.state.wsStatus=!0},websocketOnMessage(t){const e=JSON.parse(t.data);let s=r().get("UserInfo"),i=r().get("authToken");switch(e["type"]){case"ping":this.websocketSend({type:"pong"});break;case"init":r().set("client_id",e["client_id"]),this.$api.commonApi.bindClientIdAPI({client_id:e["client_id"],user_id:s.user_id}).then((t=>{this.websocketSend({type:"bindUid",user_id:s.user_id,token:i}),console.log(e["client_id"],"消息服务启动成功")})).catch((t=>{console.log("连接失败")}));break;default:this.$store.commit("catchSocketAction",e);break}},websocketClose(t){if(console.log("websocket连接关闭"),this.is_open_socket=!1,clearInterval(this.heartbeatInterval),clearInterval(this.reconnectTimeOut),this.connectNum<3)return this.manMade=!1,this.reconnect(),void(this.connectNum+=1);this.$store.state.wsStatus=!1,this.connectNum=1,this.websocket=null;let e=r().get("UserInfo");this.$api.commonApi.offlineAPI({user_id:e.user_id}).then((e=>{console.log("connection closed ("+t.code+")")}))},start(){this.heartbeatInterval=setInterval((()=>{this.websocketSend({type:"ping"})}),this.timeout)},websocketSend(t){var e=JSON.stringify(t);this.checkStatus&&this.websocket.send(e)},checkStatus(){return!(!this.websocket||[2,3].includes(this.websocket.readyState))||(console.log("未链接!"),!1)},close(){this.is_open_socket&&this.websocket.close()},reconnect(){console.log("正在重连..."),clearInterval(this.heartbeatInterval),this.is_open_socket||0!=this.manMade||(console.log("5秒后重新连接..."),this.reconnectTimeOut=setInterval((()=>{this.initWebSocket()}),5e3))},playAudio(){const t=document.getElementById("chatAudio");t.currentTime=0,t.play()}},created(){this.initWebSocket()}},J=z,O=(0,d.Z)(J,V,G,!1,null,null,null),$=O.exports,q=s(4539),Y=function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"group-item"},[e("div",{staticClass:"group-avatar"},[e("el-avatar",{attrs:{shape:"square",src:t.contact.avatar}})],1),e("div",{staticClass:"group-content"},[e("div",{staticClass:"group-title"},[t._v(t._s(t.contact.displayName)+" "),e("span",[t._v("("+t._s(t.groupInfo.groupUserCount)+")")])]),e("div",{staticClass:"group-user"},[t._v("群主:"+t._s(t.groupInfo.ownerName))])])]),e("div",{staticClass:"setting-item"},[e("div",{staticClass:"setting-title"},[t._v("群管理:")]),e("div",{staticClass:"setting-option"},[e("el-switch",{attrs:{"active-value":"1","inactive-value":"0"},on:{change:t.groupSetting},model:{value:t.setting.manage,callback:function(e){t.$set(t.setting,"manage",e)},expression:"setting.manage"}})],1),t._m(0)]),e("div",{staticClass:"setting-item"},[e("div",{staticClass:"setting-title"},[t._v("群成员邀请:")]),e("div",{staticClass:"setting-option"},[e("el-switch",{attrs:{"active-value":"1","inactive-value":"0"},on:{change:t.groupSetting},model:{value:t.setting.invite,callback:function(e){t.$set(t.setting,"invite",e)},expression:"setting.invite"}})],1),t._m(1)]),e("div",{staticClass:"setting-item"},[e("div",{staticClass:"setting-title"},[t._v("群成员隐私:")]),e("div",{staticClass:"setting-option"},[e("el-switch",{attrs:{"active-value":"1","inactive-value":"0"},on:{change:t.groupSetting},model:{value:t.setting.profile,callback:function(e){t.$set(t.setting,"profile",e)},expression:"setting.profile"}})],1),t._m(2)]),e("div",{staticClass:"setting-item"},[e("div",{staticClass:"setting-title"},[t._v("群禁言:")]),e("div",{staticClass:"setting-option"},[e("el-radio-group",{attrs:{size:"mini"},on:{change:t.groupSetting},model:{value:t.setting.nospeak,callback:function(e){t.$set(t.setting,"nospeak",e)},expression:"setting.nospeak"}},[e("el-radio-button",{attrs:{label:"0"}},[t._v("关闭")]),e("el-radio-button",{attrs:{label:"1"}},[t._v("仅管理员可发言")]),e("el-radio-button",{attrs:{label:"2"}},[t._v("仅群主可发言")])],1)],1)]),e("div",{staticClass:"setting-item"},[e("div",{staticClass:"setting-title"},[t._v("转让群主:")]),e("div",{staticClass:"setting-option"},[e("el-button",{attrs:{size:"mini"},on:{click:t.changeOwner}},[t._v("转让")])],1)])])},Z=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"setting-description"},[e("div",{staticClass:"des-title"},[t._v("仅群主和群管理员可以管理")]),e("div",{staticClass:"des-comment"},[t._v("启用后,其他成员不能修改群名称,编辑公告等")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"setting-description"},[e("div",{staticClass:"des-title"},[t._v("允许群成员邀请")]),e("div",{staticClass:"des-comment"},[t._v("启用后,其他成员可以邀请其他人加入群聊")])])},function(){var t=this,e=t._self._c;return e("div",{staticClass:"setting-description"},[e("div",{staticClass:"des-title"},[t._v("允许添加群成员为好友")]),e("div",{staticClass:"des-comment"},[t._v("启用后,成员可以互相查看资料并添加为好友或发消息")])])}],W={name:"chatSet",props:{contact:{type:Object,default:{}}},data(){return{setting:{},groupInfo:{}}},methods:{groupSetting(){this.$api.imApi.groupSettingAPI({id:this.contact.id,setting:this.setting})},changeOwner(){this.$emit("changeOwner",this.contact.id)}},created(){this.$api.imApi.getGroupInfoAPI({group_id:this.contact.id}).then((t=>{var e=t.data;this.groupInfo=e,this.setting=e.setting}))}},K=W,H=(0,d.Z)(K,Y,Z,!1,null,"991ee23c",null),X=H.exports,tt=function(){var t=this,e=t._self._c;return e("div",{staticClass:"chatTop"},[e("el-tooltip",{attrs:{content:t.contact.displayName,placement:"top-start",effect:"light"}},[e("div",{staticClass:"top-item",class:t.currentId==t.contact.id?"active":""},[e("div",{staticClass:"avatar"},[e("el-avatar",{attrs:{shape:t.avatarCricle?"circle":"square",size:"small",src:t.contact.avatar}})],1),e("div",{staticClass:"username"},[t._v(" "+t._s(t.contact.displayName)+" ")])])])],1)},et=[],st={name:"chatTop",props:{contact:{type:Object,default:{}},currentId:[String,Number],avatarCricle:{type:Boolean,default:!1}},data(){return{}},methods:{},created(){}},it=st,at=(0,d.Z)(it,tt,et,!1,null,"069c0360",null),nt=at.exports,ot=function(){var t=this,e=t._self._c;return e("div",{staticClass:"lum-dialog-mask animated fadeIn"},[e("el-container",{staticClass:"lum-dialog-box"},[e("el-main",{staticClass:"no-padding mian"},[e("div",{staticClass:"music"},[e("span",{staticClass:"line line1",class:{"line-ani":t.animation}}),e("span",{staticClass:"line line2",class:{"line-ani":t.animation}}),e("span",{staticClass:"line line3",class:{"line-ani":t.animation}}),e("span",{staticClass:"line line4",class:{"line-ani":t.animation}}),e("span",{staticClass:"line line5",class:{"line-ani":t.animation}})]),e("div",{staticStyle:{"margin-top":"35px",color:"#676262","font-weight":"300"}},[0==t.recorderStatus?[e("p",{staticStyle:{"font-size":"13px","margin-top":"5px"}},[e("span",[t._v("语音消息,让聊天更简单方便 ...")])])]:1==t.recorderStatus||2==t.recorderStatus||3==t.recorderStatus?[e("p",[t._v(t._s(t.datetime))]),e("p",{staticStyle:{"font-size":"13px","margin-top":"5px"}},[1==t.recorderStatus?e("span",[t._v("正在录音...")]):2==t.recorderStatus?e("span",[t._v("已暂停录音")]):3==t.recorderStatus?e("span",[t._v("录音时长")]):t._e()])]:4==t.recorderStatus||5==t.recorderStatus||6==t.recorderStatus?[e("p",[t._v(t._s(t.formatPlayTime))]),e("p",{staticStyle:{"font-size":"13px","margin-top":"5px"}},[4==t.recorderStatus?e("span",[t._v("正在播放")]):5==t.recorderStatus?e("span",[t._v("已暂停播放")]):6==t.recorderStatus?e("span",[t._v("播放已结束")]):t._e()])]:t._e()],2)]),e("el-footer",{staticClass:"footer",attrs:{height:"60px"}},[e("el-button",{directives:[{name:"show",rawName:"v-show",value:0==t.recorderStatus,expression:"recorderStatus == 0"}],attrs:{type:"primary",size:"small",round:"",icon:"el-icon-microphone"},on:{click:t.startRecorder}},[t._v("开始录音 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:1==t.recorderStatus,expression:"recorderStatus == 1"}],attrs:{type:"warning",size:"small",round:"",icon:"el-icon-video-pause"},on:{click:t.pauseRecorder}},[t._v("暂停录音 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:2==t.recorderStatus,expression:"recorderStatus == 2"}],attrs:{type:"primary",size:"small",round:"",icon:"el-icon-microphone"},on:{click:t.resumeRecorder}},[t._v("继续录音 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:(2==t.recorderStatus||1==t.recorderStatus)&&t.duration>1,expression:"(recorderStatus == 2 || recorderStatus == 1) && duration>1"}],attrs:{type:"danger",size:"small",round:"",icon:"el-icon-microphone"},on:{click:t.stopRecorder}},[t._v("结束录音 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:3==t.recorderStatus||6==t.recorderStatus,expression:"recorderStatus == 3 || recorderStatus == 6"}],attrs:{type:"success",size:"small",round:"",icon:"el-icon-video-play"},on:{click:t.playRecorder}},[t._v("播放录音 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:3==t.recorderStatus||5==t.recorderStatus||6==t.recorderStatus,expression:"\n recorderStatus == 3 || recorderStatus == 5 || recorderStatus == 6\n "}],attrs:{type:"warning",size:"small",round:"",icon:"el-icon-refresh-right"},on:{click:t.startRecorder}},[t._v("重新录音 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:4==t.recorderStatus,expression:"recorderStatus == 4"}],attrs:{type:"info",size:"small",round:"",icon:"el-icon-video-pause"},on:{click:t.pausePlayRecorder}},[t._v("暂停播放 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:5==t.recorderStatus,expression:"recorderStatus == 5"}],attrs:{type:"success",size:"small",round:"",icon:"el-icon-video-play"},on:{click:t.resumePlayRecorder}},[t._v("继续播放 ")]),e("el-button",{directives:[{name:"show",rawName:"v-show",value:3==t.recorderStatus||5==t.recorderStatus||6==t.recorderStatus,expression:"\n recorderStatus == 3 || recorderStatus == 5 || recorderStatus == 6\n "}],attrs:{type:"primary",size:"small",round:""},on:{click:t.submit}},[t._v("立即发送 ")])],1)],1)],1)},rt=[],lt=s(7362),ct=s.n(lt),dt={name:"voiceRecorder",data(){return{recorder:null,duration:0,playTime:0,animation:!1,recorderStatus:0,playTimeout:null}},computed:{datetime(){let t=parseInt(this.duration/60/60%24),e=parseInt(this.duration/60%60),s=parseInt(this.duration%60);return t<10&&(t=`0${t}`),e<10&&(e=`0${e}`),s<10&&(s=`0${s}`),`${t}:${e}:${s}`},formatPlayTime(){let t=parseInt(this.playTime/60/60%24),e=parseInt(this.playTime/60%60),s=parseInt(this.playTime%60);return t<10&&(t=`0${t}`),e<10&&(e=`0${e}`),s<10&&(s=`0${s}`),`${t}:${e}:${s}`}},destroyed(){this.recorder&&this.destroyRecorder()},methods:{closeBox(){null!=this.recorder?(1==this.recorderStatus?this.stopRecorder():4==this.recorderStatus&&this.pausePlayRecorder(),this.destroyRecorder((()=>{this.$emit("close",!1)}))):this.$emit("close",!1)},startRecorder(){let t=this;this.recorder=new(ct()),this.recorder.onprocess=e=>{e=parseInt(e),t.duration=e},this.recorder.start().then((()=>{this.recorderStatus=1,this.animation=!0}),(t=>{console.log(`${t.name} : ${t.message}`)}))},pauseRecorder(){this.recorder.pause(),this.recorderStatus=2,this.animation=!1},resumeRecorder(){this.recorderStatus=1,this.recorder.resume(),this.animation=!0},stopRecorder(){this.recorderStatus=3,this.recorder.stop(),this.animation=!1},playRecorder(){this.recorderStatus=4,this.recorder.play(),this.playTimeouts(),this.animation=!0},pausePlayRecorder(){this.recorderStatus=5,this.recorder.pausePlay(),clearInterval(this.playTimeout),this.animation=!1},resumePlayRecorder(){this.recorderStatus=4,this.recorder.resumePlay(),this.playTimeouts(),this.animation=!0},destroyRecorder(t){this.recorder.destroy().then((()=>{this.recorder=null,t&&t()}))},recorderSize(){return this.recorder.fileSize},playTimeouts(){this.playTimeout=setInterval((()=>{let t=parseInt(this.recorder.getPlayTime());this.playTime=t,t==this.duration&&(clearInterval(this.playTimeout),this.animation=!1,this.recorderStatus=6)}),100)},submit(){let t=this.recorder.getWAVBlob(),e=new File([t],"在线录音.wav",{type:t.type,lastModified:Date.now()});this.$emit("send",this.duration,e)}}},ut=dt,pt=(0,d.Z)(ut,ot,rt,!1,null,"dcd1bb58",null),mt=pt.exports,ht=s(284),gt=function(){var t=this,e=t._self._c;return e("el-dialog",{attrs:{title:"群二维码分享",visible:t.visible,modal:!0,width:"340px","append-to-body":""},on:{close:t.closeDialog}},[e("el-image",{staticStyle:{width:"300px",height:"432px"},attrs:{src:t.image}},[e("div",{staticClass:"image-slot",attrs:{slot:"error"},slot:"error"},[e("i",{staticClass:"el-icon-picture-outline f-20"}),e("p",{staticClass:"ml-10 f-18"},[t._v("二维码生成中...")])])]),e("div",{staticClass:"mt-20",attrs:{align:"center"}},[e("el-button",{on:{click:t.saveBase64Image}},[t._v("保存到电脑")])],1),e("vue-canvas-poster",{staticStyle:{display:"none"},attrs:{widthPixels:1e3,painting:t.painting},on:{success:t.success,fail:t.fail}})],1)},ft=[],vt=s(2484),Ct={components:{VueCanvasPoster:vt.VueCanvasPoster},props:{contact:{type:Object,default:()=>({})},visible:{type:Boolean,default:!1}},data(){return{painting:{width:"500px",height:"720px",background:"#ffffff",views:[]},image:""}},watch:{visible(t){t&&this.getGroupUserInfo()}},methods:{success(t){this.image=t},fail(t){},closeDialog(){this.$emit("update:visible",!1),this.image=""},saveBase64Image(){var t=document.createElement("a");t.href=this.image,t.download=this.contact.displayName+".png",t.click()},getGroupUserInfo(){this.$api.imApi.getGroupInfoAPI({group_id:this.contact.id}).then((t=>{var e=t.data;this.painting.views=[{type:"image",url:e.avatar,css:{top:"40px",left:"200px",borderRadius:"8px",width:"100px",height:"100px"}},{type:"text",text:"群聊:"+e.name,css:{top:"160px",left:"50px",width:"400px",maxLines:1,fontSize:"30px",textAlign:"center",color:"#000000",fontWeight:"bloder"}},{type:"qrcode",content:e.qrUrl,css:{top:"240px",left:"70px",color:"#000",width:"360px",height:"360px"}},{type:"text",text:"该二维码7天内("+e.qrExpire+"前)有效",css:{top:"640px",left:"50px",width:"400px",maxLines:1,fontSize:"20px",textAlign:"center",color:"#999"}}]}))}}},bt=Ct,yt=(0,d.Z)(bt,gt,ft,!1,null,null,null),wt=yt.exports,xt=s(6038),At=function(){var t=this,e=t._self._c;return e("el-container",[e("el-header",{staticClass:"slider-aside"},[e("el-tabs",{staticClass:"tab-diy",attrs:{"tab-position":"bottom"},on:{"tab-click":t.handleClick},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[e("el-tab-pane",{attrs:{label:"所有文件",name:"all"}}),e("el-tab-pane",{attrs:{label:"我发送的",name:"send"}}),e("el-tab-pane",{attrs:{label:"我收到的",name:"receive"}})],1)],1),e("el-main",{staticClass:"no-padding"},[e("fileItems",{ref:"fileItem"})],1)],1)},kt=[],_t=s(3007),It={name:"files",components:{fileItems:_t.Z},props:{title:{type:String,default:"创建群聊"}},data(){return{selectUid:[],allUser:[],activeName:"all"}},methods:{handleClick(t){"all"==t.name?this.$refs.fileItem.changeRole(0):"send"==t.name?this.$refs.fileItem.changeRole(1):"receive"==t.name&&this.$refs.fileItem.changeRole(2)}}},St=It,Ut=(0,d.Z)(St,At,kt,!1,null,"37188710",null),Tt=Ut.exports,Mt=function(){var t=this,e=t._self._c;return e("el-tabs",{staticStyle:{height:"100%"},attrs:{"tab-position":"left"}},[e("el-tab-pane",{staticClass:"pd-20",attrs:{label:"账号设置"}},[e("div",{staticClass:"user-center"},[e("div",{staticClass:"user-avatar"},[e("el-upload",{ref:"upload",staticClass:"upload-demo",attrs:{multiple:!1,action:t.getUrl,"show-file-list":!1,data:{type:1},headers:t.getToken,"on-success":t.handleAvatarSuccess,"auto-upload":!1,"on-change":t.change,"before-upload":t.before,"http-request":t.request}},[e("el-image",{staticClass:"m-20",staticStyle:{width:"160px","border-radius":"8px",overflow:"hidden"},attrs:{src:t.user.avatar}}),e("el-button",{staticClass:"replace-picture-button mab-30",attrs:{size:"mini"}},[t._v("更换头像")])],1),e("el-dialog",{attrs:{title:"头像剪裁","close-on-click-modal":!1,visible:t.cropperDialogVisible,width:"580px","append-to-body":!0,"show-close":!0},on:{"update:visible":function(e){t.cropperDialogVisible=e},closed:function(e){return t.$refs.upload.clearFiles()}},scopedSlots:t._u([{key:"footer",fn:function(){return[e("el-button",{on:{click:function(e){t.cropperDialogVisible=!1,t.$refs.upload.clearFiles()}}},[t._v("取 消")]),e("el-button",{attrs:{type:"primary"},on:{click:t.cropperSave}},[t._v("确 定")])]},proxy:!0}])},[e("Cropper",{key:t.componentsKey,ref:"cropper",attrs:{src:t.cropperImg,compress:t.compress,aspectRatio:t.aspectRatio}})],1),e("div",{staticClass:"mt-20"},[e("el-button",{attrs:{type:"warning"},on:{click:function(e){return t.editInfo(1)}}},[t._v("修改密码")])],1)],1),e("div",{staticClass:"user-info"},[e("el-form",{ref:"userinfo",attrs:{model:t.user,"label-width":"100px"}},[e("el-form-item",{attrs:{label:"登陆账号",prop:"account"}},[t._v(" "+t._s(t.user.account)+" "),e("span",{staticClass:"fc-primary ml-10 cur-handle",on:{click:function(e){return t.editInfo(0)}}},[t._v("修改")])]),1==t.$store.state.globalConfig.sysInfo.runMode?e("el-form-item",{attrs:{label:"姓名"}},[t._v(" "+t._s(t.user.realname)+" ")]):e("el-form-item",{attrs:{label:"昵称"}},[e("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"请输入昵称",maxlength:"20"},model:{value:t.user.realname,callback:function(e){t.$set(t.user,"realname",e)},expression:"user.realname"}})],1),e("el-form-item",{attrs:{label:"e-mail"}},[e("el-input",{staticStyle:{width:"400px"},attrs:{placeholder:"请输入邮箱地址",maxlength:"120"},model:{value:t.user.email,callback:function(e){t.$set(t.user,"email",e)},expression:"user.email"}})],1),e("el-form-item",{attrs:{label:"性别"}},[e("el-radio-group",{model:{value:t.user.sex,callback:function(e){t.$set(t.user,"sex",e)},expression:"user.sex"}},[e("el-radio",{attrs:{label:2,border:""}},[t._v("未知")]),e("el-radio",{attrs:{label:1,border:""}},[t._v("男")]),e("el-radio",{attrs:{label:0,border:""}},[t._v("女")])],1)],1),e("el-form-item",{attrs:{label:"个性签名"}},[e("el-input",{staticStyle:{width:"400px"},attrs:{type:"textarea",rows:3,maxlength:"100","show-word-limit":""},model:{value:t.user.motto,callback:function(e){t.$set(t.user,"motto",e)},expression:"user.motto"}})],1),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.submitForm()}}},[t._v("保存")])],1)],1)],1)]),e("el-dialog",{attrs:{title:t.dialogTitle,visible:t.dialog,modal:!0,width:"400px","append-to-body":""},on:{"update:visible":function(e){t.dialog=e}}},[e("el-form",{attrs:{"label-width":"100px"}},[e("el-form-item",{attrs:{label:"当前账号"}},[t._v(" "+t._s(t.user.account)+" ")]),e("el-alert",{staticClass:"mb-20",attrs:{title:"验证账户的真实性,绑定后请使用新账户来重新登录!",type:"warning"}}),t.user.is_auth?e("el-form-item",{attrs:{label:"验证码"}},[e("el-input",{staticStyle:{width:"260px"},attrs:{placeholder:"请输入验证码",maxlength:"6"},model:{value:t.code,callback:function(e){t.code=e},expression:"code"}},[e("el-button",{attrs:{slot:"append",loading:t.loading},on:{click:function(e){return t.sendCode(!0)}},slot:"append"},[t._v("发送验证码")])],1)],1):t._e(),!t.editPass||t.globalConfig.sysInfo.regauth&&t.user.is_auth?t._e():e("el-form-item",{attrs:{label:"原密码"}},[e("el-input",{attrs:{"show-password":"",placeholder:"请输入原来的密码"},model:{value:t.originalPassword,callback:function(e){t.originalPassword=e},expression:"originalPassword"}})],1),t.editPass?t._e():e("el-form-item",{attrs:{label:"新账号"}},[e("el-input",{attrs:{placeholder:"请输入新的账号"},model:{value:t.account,callback:function(e){t.account=e},expression:"account"}})],1),t.editPass?t._e():e("el-form-item",{attrs:{label:"新账号验证码"}},[e("el-input",{staticStyle:{width:"260px"},attrs:{placeholder:"请输入新账号验证码",maxlength:"6"},model:{value:t.newCode,callback:function(e){t.newCode=e},expression:"newCode"}},[e("el-button",{attrs:{slot:"append",loading:t.loading},on:{click:function(e){return t.sendCode(!1)}},slot:"append"},[t._v("发送验证码")])],1)],1),t.editPass?e("el-form-item",{attrs:{label:"新密码"}},[e("el-input",{attrs:{"show-password":"",placeholder:"请输入密码"},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}})],1):t._e(),t.editPass?e("el-form-item",{attrs:{label:"重复密码"}},[e("el-input",{attrs:{"show-password":"",placeholder:"请输入重复输入密码"},model:{value:t.repass,callback:function(e){t.repass=e},expression:"repass"}})],1):t._e(),e("el-form-item",[e("el-button",{attrs:{type:"primary"},on:{click:function(e){return t.editPassword()}}},[t._v("保存")])],1)],1)],1),e("div",{staticClass:"mt-40",attrs:{align:"center"}},[e("el-button",{staticStyle:{width:"150px"},attrs:{type:"danger",plain:"",round:""},on:{click:t.logout}},[t._v("退出登录")])],1)],1),e("el-tab-pane",{staticClass:"pd-20",attrs:{label:"通用设置"}},[e("el-form",{ref:"form",attrs:{model:t.setting,"label-width":"100px"}},[e("el-form-item",{attrs:{label:"发送消息:"}},[e("el-radio-group",{model:{value:t.setting.sendKey,callback:function(e){t.$set(t.setting,"sendKey",e)},expression:"setting.sendKey"}},[e("el-radio-button",{attrs:{label:"1"}},[t._v("Enter")]),e("el-radio-button",{attrs:{label:"2"}},[t._v("Ctrl + Enter")])],1)],1),e("el-form-item",{attrs:{label:"系统主题:"}},[e("el-radio-group",{model:{value:t.setting.theme,callback:function(e){t.$set(t.setting,"theme",e)},expression:"setting.theme"}},[e("el-radio-button",{attrs:{label:"default"}}),e("el-radio-button",{attrs:{label:"blue"}})],1)],1)],1),e("div",{staticClass:"setting-switch"},[e("el-switch",{model:{value:t.setting.isVoice,callback:function(e){t.$set(t.setting,"isVoice",e)},expression:"setting.isVoice"}}),t._v(" 开启新消息声音提醒 ")],1),e("div",{staticClass:"setting-switch"},[e("el-switch",{model:{value:t.setting.avatarCricle,callback:function(e){t.$set(t.setting,"avatarCricle",e)},expression:"setting.avatarCricle"}}),t._v(" 开启聊天圆形头像(需要刷新) ")],1),e("div",{staticClass:"setting-switch"},[e("el-switch",{model:{value:t.setting.hideMessageName,callback:function(e){t.$set(t.setting,"hideMessageName",e)},expression:"setting.hideMessageName"}}),t._v(" 是否隐藏聊天窗口内的联系人名字 ")],1),e("div",{staticClass:"setting-switch"},[e("el-switch",{model:{value:t.setting.hideMessageTime,callback:function(e){t.$set(t.setting,"hideMessageTime",e)},expression:"setting.hideMessageTime"}}),t._v(" 是否隐藏聊天窗口内的消息发送时间 ")],1)],1),1==parseInt(t.globalConfig.demon_mode)?e("el-tab-pane",{staticClass:"pd-20",attrs:{label:"关于 IM"}},[e("div",{staticClass:"about-logo"},[e("el-avatar",{attrs:{src:t.$packageData.logo,size:50}}),e("br"),e("br"),e("p",[e("span",{staticClass:"fc-primary"},[t._v(" "+t._s(t.$packageData.name)+" ")]),t._v("for "+t._s(t.$packageData.version)+" ")])],1),e("div",{staticClass:"setting-version"},[e("b",[t._v(" 已经支持功能:")]),t._l(t.$packageData.funcList,(function(s){return e("p",{key:s.icon},[e("i",{class:s.icon}),t._v(" "+t._s(s.text))])}))],2)]):t._e(),1==parseInt(t.globalConfig.demon_mode)?e("el-tab-pane",{staticClass:"pd-20",attrs:{label:"开源"}},[e("div",{staticClass:"about-logo"},[e("el-avatar",{attrs:{src:t.$packageData.logo,size:50}}),e("br"),e("br"),e("p",[e("span",{staticClass:"fc-primary"},[t._v(" "+t._s(t.$packageData.name)+" ")]),t._v("for "+t._s(t.$packageData.version)+" ")])],1),e("div",{staticClass:"setting-version"},[e("p",[t._v(" 前端地址:"),e("a",{staticClass:"fc-primary",attrs:{href:t.$packageData.frontUrl,target:"_blank"}},[t._v("[链接] im-chat-front")])]),e("p",[t._v(" 后端地址:"),e("a",{staticClass:"fc-primary",attrs:{href:t.$packageData.backstageUrl,target:"_blank"}},[t._v("[链接] im-instant-chat")])])]),e("div",{staticClass:"setting-version",staticStyle:{color:"#a6a6a6"}},[e("p",[t._v("前端技术栈:vue+Lemon-IMUI+element-UI")]),e("p",[t._v("后端技术栈:thinkphp6+workerman")])]),e("div",{staticClass:"setting-version"},[e("p",[t._v(" QQ交流群: "),e("a",{staticClass:"fc-primary",attrs:{href:t.$packageData.qqGroupUrl,target:"_blank"}},[t._v("336921267")])])])]):t._e()],1)},Bt=[],Et=function(){var t=this,e=t._self._c;return e("div",{staticClass:"sc-cropper"},[e("div",{staticClass:"sc-cropper__img"},[e("img",{ref:"img",attrs:{src:t.src}})]),e("div",{staticClass:"sc-cropper__preview"},[e("h4",[t._v("图像预览")]),e("div",{ref:"preview",staticClass:"sc-cropper__preview__img"})])])},Rt=[],Nt=s(255),Ft=s.n(Nt),Lt={props:{src:{type:String,default:""},compress:{type:Number,default:1},aspectRatio:{type:Number,default:NaN}},data(){return{crop:null}},watch:{aspectRatio(t){this.crop.setAspectRatio(t)}},mounted(){this.init()},methods:{init(){this.crop=new(Ft())(this.$refs.img,{viewMode:2,dragMode:"move",responsive:!1,aspectRatio:this.aspectRatio,preview:this.$refs.preview})},setAspectRatio(t){this.crop.setAspectRatio(t)},getCropData(t,e="image/jpeg"){t(this.crop.getCroppedCanvas().toDataURL(e,this.compress))},getCropBlob(t,e="image/jpeg"){this.crop.getCroppedCanvas().toBlob((e=>{t(e)}),e,this.compress)},getCropFile(t,e="fileName.jpg",s="image/jpeg"){this.crop.getCroppedCanvas({width:240,height:240}).toBlob((i=>{let a=new File([i],e,{type:s});t(a)}),s,this.compress)}}},Pt=Lt,Dt=(0,d.Z)(Pt,Et,Rt,!1,null,"5f07d210",null),jt=Dt.exports;r().get("UserInfo");var Qt={name:"manageGroup",props:{},components:{Cropper:jt},data(){return{componentsKey:1,maxSize:5,compress:1,aspectRatio:1,cropperDialogVisible:!1,cropper:!0,cropperImg:"",tempImg:"",dialogVisible:!1,dialog:!1,dialogTitle:"修改密码",editPass:1,originalPassword:"",account:"",password:"",repass:"",code:"",newCode:"",loading:!1}},computed:{...(0,v.rn)({setting:t=>t.setting,user:t=>t.userInfo,globalConfig:t=>t.globalConfig}),getUrl(){return window.BASE_URL+"/common/upload/uploadAvatar"},getToken(){const t=r().get("authToken");return{Authorization:t}}},watch:{setting:{handler(t,e){this.$api.imApi.settingAPI(t);let s=r().get("UserInfo");s.setting=t,r().set("UserInfo",s)},deep:!0},editPass(t){this.dialogTitle=1==t?"修改密码":"修改账号"}},methods:{logout(){this.$confirm("确定退出登录吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{this.$store.dispatch("LogOut").then((()=>{this.$router.push("/login")}))})).catch((()=>{}))},submitForm(){if(""==this.user.realname)return this.$message.error("请输入昵称"),!1;let t={realname:this.user.realname,email:this.user.email,sex:this.user.sex,motto:this.user.motto};this.$api.imApi.updateUserInfo(t).then((t=>{if(0==t.code){this.$message.success("修改成功");let t=JSON.parse(JSON.stringify(this.user));this.$store.commit("SET_USERINFO",t)}}))},isImg(t){var e="(.jpg|.png|.gif|.jpeg)$",s=new RegExp(e);s.test(t.toLowerCase())?this.fileIsImg=!0:this.fileIsImg=!1},change(t){if(this.cropper&&"ready"==t.status){if(this.isImg(t.name),!this.fileIsImg)return this.$message.error("选择的文件非图像类文件"),!1;this.componentsKey++,this.cropperDialogVisible=!0,this.cropperImg=URL.createObjectURL(t.raw)}},before(t){t=this.cropper?this.cropperUploadFile:t;const e=t.size/1024/1024{this.cropperImg="",e.close(),this.handleAvatarSuccess(s),t.onSuccess(s)})).catch((s=>{e.close(),t.onError(s)}))},cropperSave(){var t=this.$refs.upload.uploadFiles[0].raw;this.$refs.cropper.getCropFile((t=>{this.cropperUploadFile=t,this.$refs.upload.submit(),this.cropperDialogVisible=!1}),t.name,t.type)},handleAvatarSuccess(t,e){let s=this.$store.state.userInfo;this.$set(s,"avatar",t.data),this.$store.commit("SET_USERINFO",s)},editInfo(t){this.dialog=!0,this.editPass=t},editPassword(){if(""==this.code&&this.user.is_auth)return this.$message({message:"请输入验证码",type:"warning"}),!1;if(this.editPass){if(""==this.password||this.password.length<6||this.password.length>16)return this.$message({message:"请输入6-16个字符串的密码",type:"warning"}),!1;if(this.password!=this.repass)return this.$message({message:"两次密码不一致",type:"warning"}),!1;if(!this.originalPassword)return this.$message({message:"请输入原密码",type:"warning"}),!1;let t={password:this.password,code:this.code,originalPassword:this.originalPassword};this.$api.imApi.editPassword(t).then((t=>{0==t.code&&(this.dialog=!1,this.password="",this.repass="",this.$message({message:t.msg,type:"success"}))}))}else{if(""==this.account)return this.$message({message:"请输入账号",type:"warning"}),!1;if(""==this.newCode)return this.$message({message:"请输入新账户验证码",type:"warning"}),!1;let t={account:this.account,code:this.code,newCode:this.newCode};this.$api.imApi.editAccount(t).then((t=>{0==t.code&&(this.dialog=!1,this.account="",this.code="",this.newCode="",this.$message({message:t.msg,type:"success"}),this.$store.dispatch("LogOut").then((()=>{this.$router.push("/login")})))}))}},sendCode(t){let e=t?this.user.account:this.account,s=this.editPass?3:4;if(""==e)return this.$message({message:"请输入新的账号",type:"warning"}),!1;this.loading=!0,this.$store.dispatch("sendCode",{type:s,account:e}).then((t=>{this.$message.success("发送成功"),this.loading=!1})).catch((()=>{this.loading=!1}))}}},Vt=Qt,Gt=(0,d.Z)(Vt,Mt,Bt,!1,null,"0479fba6",null),zt=Gt.exports,Jt=function(){var t=this,e=t._self._c;return e("el-dialog",{attrs:{title:"添加好友",visible:t.visible,modal:!0,width:t.width,"append-to-body":""},on:{close:t.closeDialog}},[e("div",{staticClass:"mb-20"},[e("el-input",{staticStyle:{width:"300px"},attrs:{placeholder:"请输入账号进行搜索","prefix-icon":"el-icon-search"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleChange.apply(null,arguments)}},model:{value:t.keywords,callback:function(e){t.keywords=e},expression:"keywords"}},[e("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:t.handleChange},slot:"append"})],1)],1),e("div",{staticClass:"dialog-main"},[e("div",{staticClass:"member-list"},t._l(t.list,(function(s){return e("div",{key:s.user_id,staticClass:"member-item",on:{click:function(e){return t.$user(s.user_id)}}},[e("div",{staticClass:"member-avatar"},[e("img",{attrs:{src:s.avatar,alt:"avatar"}})]),e("div",{staticClass:"member-content"},[e("div",{staticClass:"member-header"},[e("span",{staticClass:"member-name"},[t._v(t._s(s.realname))]),e("span",{staticClass:"member-account"},[t._v(t._s(s.account))])]),e("div",{staticClass:"member-actions"},[e("el-button",{attrs:{type:"primary",size:"mini"}},[t._v("查看")])],1)])])})),0),0==t.list.length?e("el-empty"):t._e()],1)])},Ot=[],$t={name:"addFriend",props:{visible:{type:Boolean,default:!1},width:{type:String,default:"612px"}},data(){return{keywords:"",list:[]}},mounted(){},methods:{closeDialog(){this.$emit("update:visible",!1),this.selectUid=[]},handleChange(){this.keywords&&this.$api.imApi.searchUser({keywords:this.keywords}).then((t=>{this.list=t.data}))}}},qt=$t,Yt=(0,d.Z)(qt,Jt,Ot,!1,null,"18f3aea4",null),Zt=Yt.exports,Wt=function(){var t=this,e=t._self._c;return e("span",{staticClass:"sc-state",class:[{"sc-status-processing":t.pulse},"sc-state-bg--"+t.type]})},Kt=[],Ht={props:{type:{type:String,default:"primary"},pulse:{type:[Boolean,Number],default:!0}}},Xt=Ht,te=(0,d.Z)(Xt,Wt,Kt,!1,null,"bf2f9cfc",null),ee=te.exports,se=function(){var t=this,e=t._self._c;return e("div",{staticClass:"tab-main lz-flex lz-justify-content-start lz-align-items-center",style:{height:t.height+"px"}},t._l(t.values,(function(s,i){return e("div",{staticClass:"tab-item",class:t.active==i?"active":"",style:{height:t.itemHeight+"px",borderRadius:t.itemHeight+"px",lineHeight:t.itemHeight+"px"},on:{click:function(e){return t.changeItem(s,i)}}},[t._v(" "+t._s(s.name)+" "),s.count>0?e("span",[t._v(t._s(s.count>99?"99+":s.count))]):t._e()])})),0)},ie=[],ae={name:"im-tab",components:{},props:{values:{type:Array,default:function(){return[]}},height:{type:Number,default:40}},data(){return{active:0,itemHeight:24}},created:function(){this.itemHeight=this.height-16},methods:{changeItem(t,e){this.active=e,this.$emit("change",t,e)}}},ne=ae,oe=(0,d.Z)(ne,se,ie,!1,null,"e57a8f0a",null),re=oe.exports,le=function(){var t=this,e=t._self._c;return e("div",{directives:[{name:"show",rawName:"v-show",value:t.status,expression:"status"}],staticClass:"webrtc-box"},[t._m(0),t._m(1),e("video",{directives:[{name:"show",rawName:"v-show",value:t.localStream&&t.is_video,expression:"localStream && is_video"}],ref:"localvideo",staticClass:"localvideo",attrs:{autoplay:"",playsinline:"",muted:""},domProps:{muted:!0}}),e("video",{directives:[{name:"show",rawName:"v-show",value:t.remoteStream&&t.is_video,expression:"remoteStream && is_video"}],ref:"remotevideo",staticClass:"remotevideo",attrs:{autoplay:"",playsinline:""}}),e("div",[t.caller?e("div",{staticClass:"call-user"},[2==t.status&&t.is_video?t._e():e("img",{staticClass:"avatar",attrs:{src:t.caller.avatar,alt:""}}),e("div",{staticClass:"text"},[t.is_video||2!=t.status?t._e():e("b",[t._v(t._s(t.caller.displayName))]),2!=t.status?e("span",[t.isReceived?e("span",[t._v(" "+t._s(t.caller.displayName)+" 正在请求与您"+t._s(t.is_video?"视频":"语音")+"通话")]):e("span",[t._v("您正对 "),e("b",[t._v(t._s(t.caller.displayName))]),t._v(" 发起"+t._s(t.is_video?"视频":"语音")+"通话")])]):t._e()]),t.callTime&&2==t.status?e("div",{staticClass:"call-time"},[t._v(" "+t._s(t.setCallTime())+" ")]):t._e()]):t._e(),e("div",{staticClass:"calling-button"},[t.caller&&3==t.status?e("div",{staticClass:"button"},[e("img",{staticClass:"image",attrs:{src:s(8516)},on:{click:function(e){return t.answer()}}}),e("div",{staticClass:"text"},[t._v("接听")])]):t._e(),2==t.status?e("div",{staticClass:"button"},[e("img",{staticClass:"image-icon",attrs:{src:t.voiceStatus?t.voiceIcon:t.voiceOffIcon},on:{click:function(e){return t.switchVoice()}}})]):t._e(),t.caller&&0!=t.status?e("div",{staticClass:"button"},[e("img",{staticClass:"image",attrs:{src:s(8421)},on:{click:function(e){return t.hangup(!0)}}}),e("div",{staticClass:"text"},[t._v("挂断")])]):t._e(),2==t.status?e("div",{staticClass:"button"},[t.is_video?e("img",{staticClass:"image-icon",attrs:{src:t.videoStatus?t.videoIcon:t.videoOffIcon},on:{click:function(e){return t.switchVideo()}}}):e("div",{staticClass:"image-icon"})]):t._e()])])])},ce=[function(){var t=this,e=t._self._c;return e("audio",{attrs:{id:"music1"}},[e("source",{attrs:{src:s(7420)}})])},function(){var t=this,e=t._self._c;return e("audio",{attrs:{id:"music2"}},[e("source",{attrs:{src:s(1739)}})])}],de={name:"webrtc",props:{contact:{type:Object,default:{}},userInfo:{type:Object,default:{}},config:{type:Object,default:{}},alias:{type:String,default:"raingad"}},data(){return{voiceIcon:s(2942),voiceOffIcon:s(2414),videoIcon:s(9072),videoOffIcon:s(5617),pc:null,status:0,localVideo:"",remoteVideo:"",remoteStream:null,localStream:null,caller:null,is_video:1,isReceived:!1,videoStatus:!0,voiceStatus:!0,cutdown:40,timer:null,offerParams:{},callTime:0,timerIntervalId:null}},mounted(){this.localVideo=this.$refs.localvideo,this.remoteVideo=this.$refs.remotevideo},methods:{initPeer(t){let e=this.config,s={iceServers:[{urls:["stun:stun.xten.com","stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302","stun:stun2.l.google.com:19302","stun:stun3.l.google.com:19302","stun:stun4.l.google.com:19302"]},{urls:e.stun?[e.stun]:["stun:stun.callwithus.com"],username:e.stunUser??null,credential:e.stunPass??null}]};this.pc=new RTCPeerConnection(s),this.pc.ontrack=t=>{this.localVideo&&(this.remoteStream=t.streams[0],this.remoteVideo.srcObject=t.streams[0])},this.localStream=t,t.getTracks().forEach((e=>{this.pc.addTrack(e,t)})),this.localVideo.srcObject=this.localStream},initLocalStream(t,e){this.offerParams=e?{offerToRecieveAudio:1,offerToRecieveVideo:1}:{offerToRecieveAudio:1,offerToRecieveVideo:0};let s=1==e;var i=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia;i({video:s,audio:{echoCancellation:!0}},(e=>{this.initPeer(e),t?(this.$emit("message",{event:"calling"}),this.status=1,this.timer=setInterval((()=>{this.cutdown--,0==this.cutdown&&this.hangup(!0)}),1e3)):(this.$emit("message",{event:"acceptRtc",code:904}),this.startTime())}),(t=>{let s=1==e?"摄像头":"麦克风";this.$message.error("请连接"+s+"设备,并开启"+s+"权限"),this.caller=null,this.hangup(!1)}))},called(t){if(console.log(this.status,this.caller),this.status||this.caller)return!1;this.is_video=t,this.caller=this.contact,this.initLocalStream(!0,t),this.playMusicCall("state")},answer(){this.status=2,this.initLocalStream(!1,this.is_video),this.playMusicCall("close")},startTime(){this.timerIntervalId=setInterval((()=>{this.callTime++}),1e3)},setCallTime(){let t=this.callTime;const e=Math.floor(t/3600),s=Math.floor((t-3600*e)/60),i=t-3600*e-60*s;return`${e.toString().padStart(2,"0")}:${s.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}`},hangup(t){clearInterval(this.timer),clearInterval(this.timerIntervalId),2!=this.status&&this.playMusicCall("close");let e=902;2==this.status?e=906:3==this.status?e=903:4==this.status&&(e=907),this.status&&(this.status=0,this.closeLocalMedia(),this.remoteStream=null,this.playMusicHandup(),this.isReceived=!1,this.caller=null,this.voiceStatus=!0,this.videoStatus=!0),this.$emit("message",{event:"hangup",code:e,isbtn:t,callTime:this.callTime}),this.callTime=0},closeLocalMedia(){this.localStream&&this.localStream.getTracks()&&this.localStream.getTracks().forEach((t=>{t.stop()})),this.localStream=null},switchVoice(){if(null==this.localStream)return alert("请打开音视频"),!1;const t=this.localStream.getTracks();this.voiceStatus?(t.forEach((t=>{"audio"===t.kind&&(t.enabled=!1)})),this.voiceStatus=!1):(t.forEach((t=>{"audio"===t.kind&&(t.enabled=!0)})),this.voiceStatus=!0)},switchVideo(){if(null==this.localStream)return alert("请打开音视频"),!1;const t=this.localStream.getTracks();this.videoStatus?(t.forEach((t=>{"video"===t.kind&&(t.enabled=!1)})),this.videoStatus=!1):(t.forEach((t=>{"video"===t.kind&&(t.enabled=!0)})),this.videoStatus=!0)},webrtcAction(t){let e=t.extends;switch(e.event){case"calling":this.caller=t.fromUser,this.is_video=parseInt(e.type),this.status=3,this.isReceived=!0,this.playMusicCall("state");break;case"hangup":this.hangup(!1);break;case"busy":this.status=4,this.hangup(!1);break;case"acceptRtc":this.status=2,clearInterval(this.timer),this.startTime(),this.playMusicCall("close"),this.createOffer(),this.onicecandidate();break;case"turndown":break;case"answer":this.pc.setRemoteDescription(new RTCSessionDescription({type:"answer",sdp:e.sdp}));break;case"iceCandidate":setTimeout((()=>{"object"===typeof e.iceCandidate?this.pc.addIceCandidate(new RTCIceCandidate(e.iceCandidate)):this.pc.addIceCandidate(new RTCIceCandidate(JSON.parse(e.iceCandidate)))}),100);break;case"offer":this.pc.setRemoteDescription(new RTCSessionDescription({type:"offer",sdp:e.sdp})),this.createAnswer();break}},createOffer(){this.pc.createOffer(this.offerParams).then((t=>{this.pc.setLocalDescription(t),this.$emit("message",{event:"offer",sdp:t.sdp})}))},createAnswer(){this.pc.createAnswer(this.offerParams).then((t=>{this.pc.setLocalDescription(t),this.$emit("message",{event:"answer",sdp:t.sdp}),this.onicecandidate()}))},onicecandidate(){this.pc.onicecandidate=t=>{var e=t.candidate;e&&this.$emit("message",{event:"iceCandidate",iceCandidate:JSON.parse(JSON.stringify(e))})}},playMusicCall(t){var e=document.getElementById("music1");if("close"===t)return e.pause();e.loop="state"===t,e.paused?e.play():e.pause()},playMusicHandup(){var t=document.getElementById("music2");t.play()}}},ue=de,pe=(0,d.Z)(ue,le,ce,!1,null,"37ed194d",null),me=pe.exports,he=function(){var t=this,e=t._self._c;return e("el-container",[e("el-header",{staticClass:"slider-aside"},[e("el-tabs",{staticClass:"tab-diy",attrs:{"tab-position":"bottom"},on:{"tab-click":t.handleClick},model:{value:t.activeName,callback:function(e){t.activeName=e},expression:"activeName"}},[e("el-tab-pane",{attrs:{label:"我收到的",name:"receive"}}),e("el-tab-pane",{attrs:{label:"我发送的",name:"send"}})],1)],1),e("el-main",{staticClass:"no-padding"},[e("div",{staticClass:"apply-list"},[e("div",{staticClass:"apply-list-main"},[e("el-scrollbar",[e("el-alert",{staticClass:"mt-10 mb-10",attrs:{"show-icon":"",title:"未处理的邀请消息会在每次初始化或者页面刷新时会重新提示!",type:"warning"}}),t._l(t.list,(function(s,i){return e("div",{key:i,staticClass:"apply-list-item"},[e("div",{staticClass:"avatar"},[t.params.is_mine?t._e():e("el-avatar",{attrs:{src:s.create_user_info.avatar}}),t.params.is_mine?e("el-avatar",{attrs:{src:s.user_id_info.avatar}}):t._e()],1),e("div",{staticClass:"main"},[t.params.is_mine?t._e():e("div",{on:{click:function(e){return t.$user(s.create_user_info.user_id)}}},[e("span",{staticClass:"fc-primary cur-handle"},[t._v(t._s(s.create_user_info.realname))]),t._v(" 申请添加为好友 "),1==s.status?e("el-tag",{attrs:{type:"success"}},[t._v("已同意")]):t._e()],1),t.params.is_mine?e("div",{on:{click:function(e){return t.$user(s.user_id_info.user_id)}}},[t._v(" 请求添加 "),e("span",{staticClass:"fc-primary cur-handle"},[t._v(t._s(s.user_id_info.realname))]),t._v(" 为好友 "),1==s.status?e("el-tag",{attrs:{type:"success"}},[t._v("已同意")]):t._e()],1):t._e(),e("div",{staticClass:"f-12 c-999"},[t._v(t._s(s.remark))])]),t.params.is_mine?e("div",{staticClass:"option"},[1==s.status?e("span",{staticClass:"fc-primary cur-handle",on:{click:function(e){return t.$store.commit("openChat",s.user_id_info.user_id)}}},[t._v("发消息")]):t._e(),2==s.status?e("el-tag",{attrs:{type:"warning"}},[t._v("待同意")]):t._e(),0==s.status?e("el-tag",{attrs:{type:"danger"}},[t._v("已拒绝")]):t._e()],1):e("div",{staticClass:"option"},[2==s.status?e("el-popconfirm",{attrs:{title:"您确定接受该好友的申请吗?"},on:{confirm:function(e){return t.acceptApply(s.friend_id,!0)}}},[e("el-button",{attrs:{slot:"reference",type:"success",circle:"",plain:"",icon:"el-icon-check"},slot:"reference"})],1):t._e(),2==s.status?e("el-popconfirm",{staticClass:"ml-15",attrs:{title:"您确定拒绝该好友的申请吗?"},on:{confirm:function(e){return t.acceptApply(s.friend_id,!1)}}},[e("el-button",{attrs:{slot:"reference",type:"danger",circle:"",plain:"",icon:"el-icon-close"},slot:"reference"})],1):t._e(),1==s.status?e("span",{staticClass:"fc-primary cur-handle",on:{click:function(e){return t.$store.commit("openChat",s.create_user_info.user_id)}}},[t._v("发消息")]):t._e(),0==s.status?e("el-tag",{attrs:{type:"danger"}},[t._v("已拒绝")]):t._e()],1)])})),0==t.list.length?e("div",[e("el-empty",{attrs:{description:"暂无数据"}})],1):t._e()],2)],1),t.singlePage?t._e():e("div",{staticClass:"apply-list-page",attrs:{align:"center"}},[e("el-pagination",{attrs:{background:"","hide-on-single-page":t.singlePage,"current-page":t.params.page,"page-sizes":[20,50,100,200,300,400,500],"page-size":t.params.limit,layout:"total, sizes, prev, pager, next, jumper",total:t.total},on:{"size-change":t.handleChange,"current-change":t.getList,"update:currentPage":function(e){return t.$set(t.params,"page",e)},"update:current-page":function(e){return t.$set(t.params,"page",e)},"update:pageSize":function(e){return t.$set(t.params,"limit",e)},"update:page-size":function(e){return t.$set(t.params,"limit",e)}}})],1)])])],1)},ge=[],fe={name:"apply",data(){return{singlePage:!0,total:0,list:[],activeName:"receive",params:{page:1,limit:20,is_mine:0}}},mounted(){this.getList()},methods:{handleClick(t){"send"==t.name?this.params.is_mine=1:"receive"==t.name&&(this.params.is_mine=0),this.params.page=1,this.getList()},acceptApply(t,e){let s=e?1:0;this.$api.friendApi.acceptFriend({friend_id:t,status:s}).then((t=>{this.$message.success("操作成功"),this.getList()}))},getList(){this.$api.friendApi.getApplyList(this.params).then((t=>{this.list=t.data,this.total=t.count,this.singlePage=this.total<=this.params.limit}))},handleChange(t){this.params.limit=t,this.getList()}}},ve=fe,Ce=(0,d.Z)(ve,he,ge,!1,null,"5aced73a",null),be=Ce.exports,ye=s.p+"assets/img/invite.108c2fc8.png",we=s(2176);const xe=()=>(new Date).getTime(),Ae=r().get("UserInfo");var ke={name:"app",components:{Socket:$,ChatRecord:q.Z,ChatSet:X,ChatTop:nt,VoiceRecorder:mt,webrtc:me,Group:ht.Z,groupQr:wt,Files:Tt,addFriend:Zt,Setting:zt,ChooseDialog:xt.Z,OnlineStatus:ee,imTab:re,Apply:be},props:{width:{type:String,default:"1000px"},height:{type:String,default:"640px"},fullScreen:{type:Boolean,default:!1}},data(){const t=this.$createElement;var e=this;let s=this.$store.state.globalConfig.chatInfo;return{noSimpleTips:"系统已关闭单聊,或者群已开启禁言,无法发送消息",isFullscreen:!1,curWidth:this.width,curHeight:this.height,unread:0,atUnread:0,webrtcConfig:s,wsData:null,webrtcLock:!1,caller:"",is_video:1,curFile:null,componentKey:1,searchResult:!1,addFriendBox:!1,createChatBox:!1,forwardBox:!1,noticeBox:!1,messageBox:!1,webrtcBox:!1,groupSetting:!1,VoiceStatus:!1,groupQrShow:!1,ChatRecordMap:{},contactSetting:{},groupUserCount:0,dialogTitle:"创建群聊",isAdd:1,userIds:[],notice:"",searchList:[],keywords:"",displayName:"",oldName:"",isEdit:!1,user:{id:Ae.user_id,displayName:Ae.realname,avatar:Ae.avatar,account:Ae.account},params:{page:1,limit:10},is_group:0,group_id:"",contacts:[],allUser:[],groupUser:[],currentChat:{},currentMessage:{},lastMessages:[],chatTopList:[],playAudio:null,activeTab:0,tabList:[{name:"所有",count:0},{name:"未读",count:0},{name:"@我",count:0}],groupMenu:[{text:"发送消息",click:(t,e,s)=>{const{IMUI:i,contact:a}=e;i.changeContact(a.user_id),s()},visible:t=>t.contact.user_id!=this.user.id&&1==this.globalConfig.sysInfo.runMode},{text:"@TA",click:(t,e,s)=>{const{IMUI:i,contact:a}=e;i.setUserTag(a.userInfo),s()},visible:t=>t.contact.user_id!=this.user.id},{text:"设置管理员",click:(t,e,s)=>{const{IMUI:i,contact:a}=e;s(),this.$confirm("确定设置该成员为管理员吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{this.$api.imApi.setManagerAPI({id:this.group_id,user_id:a.user_id,role:2}),this.$message({type:"success",message:"设置成功!"})}))},visible:t=>3==t.contact.role&&this.currentChat.owner_id==this.user.id},{text:"取消管理员",click:(t,e,s)=>{const{IMUI:i,contact:a}=e;s(),this.$confirm("确定取消该成员的管理员权限吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{this.$api.imApi.setManagerAPI({id:this.group_id,user_id:a.user_id,role:3}),this.$message({type:"success",message:"取消成功!"})}))},visible:t=>2==t.contact.role&&this.currentChat.owner_id==this.user.id},{text:"查看资料",click:(t,e,s)=>{const{IMUI:i,contact:a}=e;s();let n=this.getContact(a.user_id),o=i.getCurrentContact();1==o.setting.profile||o.role<3||n||a.user_id==this.user.id?this.$user(a.user_id):this.$message.error("已开启隐私,无法查看资料")},visible:t=>t.contact.user_id!=this.user.id},{text:"移出群聊",color:"red",click:(t,e,s)=>{const{IMUI:i,contact:a}=e;s(),this.$confirm("确定移除该成员吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{this.$api.imApi.removeUserAPI({id:this.group_id,user_id:a.user_id})}))},visible:t=>t.contact.user_id!=this.user.id&&this.currentChat.owner_id!=t.contact.user_id&&this.currentChat.role<=2}],contactContextmenu:[{click(t,s,i){const{IMUI:a,contact:n}=s;e.$user(n.user_id),i()},icon:"el-icon-tickets",text:"查看资料",visible:t=>0==t.contact.is_group},{icon:"el-icon-upload2",text:"置顶聊天",click:(t,s,i)=>{const{IMUI:a,contact:n}=s;e.$api.imApi.setChatTopAPI({id:n.id,is_top:1,is_group:n.is_group}).then((t=>{0==t.code&&a.updateContact({id:n.id,is_top:1})})),i()},visible:t=>0==t.contact.is_top},{icon:"el-icon-download",text:"取消置顶",click:(t,s,i)=>{const{IMUI:a,contact:n}=s;e.$api.imApi.setChatTopAPI({id:n.id,is_top:0,is_group:n.is_group}).then((t=>{0==t.code&&a.updateContact({id:n.id,is_top:0})})),i()},visible:t=>1==t.contact.is_top},{click(t,s,i){const{IMUI:a,contact:n}=s;i(),e.$api.imApi.isNoticeAPI({id:n.id,is_notice:0,is_group:n.is_group}),a.updateContact({id:n.id,is_notice:0})},icon:"el-icon-bell",text:"消息免打扰",visible:t=>1==t.contact.is_notice&&"system"!=t.contact.id},{click(t,s,i){const{IMUI:a,contact:n}=s;i(),e.$api.imApi.isNoticeAPI({id:n.id,is_notice:1,is_group:n.is_group}),a.updateContact({id:n.id,is_notice:1})},icon:"el-icon-close-notification",text:"取消免打扰",visible:t=>0==t.contact.is_notice&&"system"!=t.contact.id},{click(t,s,i){const{IMUI:a,contact:n}=s;i(),e.$confirm("确定删除该好友吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{e.$api.friendApi.delFriend({id:n.id}).then((t=>{0==t.code&&(e.$message({type:"success",message:"删除成功!"}),e.removeContact(n.id))}))})).catch((()=>{}))},icon:"el-icon-delete",color:"red",text:"删除好友",visible:t=>2==e.globalConfig.sysInfo.runMode&&0==t.contact.is_group},{click(t,s,i){const{IMUI:a,contact:n}=s;i(),e.$confirm("确定解散该群聊吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{e.$api.imApi.removeGrouprAPI({id:n.id})})).catch((()=>{}))},icon:"el-icon-delete",color:"red",text:"解散群聊",visible:t=>t.contact.owner_id==e.user.id&&1==t.contact.is_group},{click(t,s,i){const{IMUI:a,contact:n}=s;i(),e.$confirm("确定退出该群聊吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{e.$api.imApi.removeUserAPI({id:n.id,user_id:e.user.id}).then((t=>{0==t.code&&(e.$message({type:"success",message:"退出成功!"}),e.removeContact(n.id))}))})).catch((()=>{}))},icon:"el-icon-remove-outline",color:"red",text:"退出群聊",visible:t=>t.contact.owner_id!=e.user.id&&1==t.contact.is_group}],contextmenu:[{click:(e,s,i)=>{const{IMUI:a}=s,n=JSON.parse(JSON.stringify(s.message));this.$api.imApi.undoMessageAPI({id:n.id}).then((e=>{const s={id:n.id,type:"event",content:t("div",[t("span",["你撤回了一条消息"," ",t("span",{directives:[{name:"show",value:"text"==n.type}],style:"color:#409EFF;cursor:pointer",attrs:{content:n.content,data:n.type},on:{click:t=>{a.setEditorValue(t.target.getAttribute("content"))}}},["重新编辑"])])]),toContactId:n.toContactId,sendTime:n.sendTime};a.updateMessage(s);const i=a.getMessages(n.toContactId);n.id==i[i.length-1].id&&a.updateContact({id:n.toContactId,lastContent:"你撤回了一条消息"})})).catch((t=>{this.$message.error("发生错误"+t)})),i()},visible:t=>{const{IMUI:e,message:s}=t;let i=3;if(1==t.message.is_group){let t=e.getCurrentContact();i=t.role}return t.message.fromUser.id==this.user.id&&xe()-t.message.sendTime<12e4||i<3},text:"撤回消息"},{text:"@TA",click:(t,e,s)=>{const{IMUI:i,message:a}=e;i.setUserTag(a.fromUser),s()},visible:t=>t.message.fromUser.id!=this.user.id&&1==t.message.is_group},{text:"转发",click:(t,e,s)=>{this.currentMessage=e.message;const{IMUI:i}=this.$refs,a=i.getContacts(),n=i.getCurrentContact();this.allUser=Q.L4(a,"id",n.id),s(),this.forwardBox=!0}},{visible:t=>"text"==t.message.type,text:"复制文字",click:(t,e,s)=>{this.$clipboard(e.message.content),this.$message({type:"success",message:"复制成功!"}),s()}},{visible:t=>"image"==t.message.type,text:"下载图片",click:(t,e,s)=>{const{message:i}=e;s(),i.download&&(window.location=i.download)}},{visible:t=>"file"==t.message.type,text:"下载文件",click:(t,e,s)=>{const{message:i}=e;window.open(i.download),s()}}]}},computed:{...(0,v.rn)({wsStatus:t=>t.wsStatus,socketAction:t=>t.socketAction,contactId:t=>t.toContactId,contactSync:t=>t.contactSync,setting:t=>t.setting,userInfo:t=>t.userInfo,globalConfig:t=>t.globalConfig}),formatTime(){return function(t){return Q.i$(t)}}},watch:{isFullscreen(t){r().set("isFullscreen",t),this.curWidth=t?"100vw":this.width,this.curHeight=t?"100vh":this.height},playAudio(t){if(t&&this.currentMessage){let t=this.currentMessage;var e=this;const{IMUI:s}=this.$refs;this.playAudio.addEventListener("ended",(function(){console.log("声音停止"),e.playAudio=null,e.currentMessage=null,s.updateMessage({id:t.id,status:"successd",isPlay:0})}),!1)}},contactSync(t){this.$emit("newChat",t);const{IMUI:e}=this.$refs;e.changeContact(this.contactId)},unread(t){this.tabList[1].count=t,this.$store.commit("updateUnread",t)},atUnread(t){this.tabList[2].count=t},keywords(){const{IMUI:t}=this.$refs,e=t.getContacts();this.searchContact(e)},socketAction(t){const e=this.$createElement;let s=t.data;const{IMUI:i}=this.$refs;let a=r().get("client_id");switch(t.type){case"isOnline":i.updateContact({id:s.id,is_online:s.is_online}),s.is_online||this.webrtcLock!=s.id||(this.webrtcLock=!1);break;case"offline":s.id!=this.user.id||s.client_id==a||s.isMobile||(this.$message.error="您的账号在其他地方登录,已被迫下线!",this.$store.dispatch("LogOut").then((()=>{this.$router.push({path:"/login"})})));break;case"simple":case"group":if(s.fromUser.id!=this.user.id){var n=this.getContact(s.toContactId);if(1==s.is_group&&s.toContactId!=this.currentChat.id){let t=0;s.at.includes(this.user.id)&&(t=1),this.$refs.IMUI.updateContact({id:s.toContactId,is_at:n.is_at+t}),this.atUnread+=t}this.setting.isVoice&&1==n.is_notice&&s.toContactId!=this.currentChat.id&&this.popNotice(s)}this.recieveMsg(s);break;case"undoMessage":if(s.from_user==this.user.id&&0==s.isMobile&&xe()-s.sendTime<12e4)return!1;i.updateMessage(s);const o=i.getMessages(s.toContactId);s.id==o[o.length-1].id&&i.updateContact({id:s.toContactId,lastContent:"对方撤回了一条消息"});break;case"setChatTop":i.updateContact({id:s.id,is_top:s.is_top});break;case"setIsNotice":i.updateContact({id:s.id,is_notice:s.is_notice});break;case"editGroupName":i.updateContact({id:s.id,displayName:s.displayName});const l={id:Q.NW(),type:"event",content:e("div",[e("span",[s.editUserName," 修改了群名为 ",s.displayName])]),toContactId:s.id,sendTime:xe()};i.appendMessage(l,!0);break;case"isRead":this.setLocalMsgIsRead(s);break;case"readAll":let c=i.getMessages(s.toContactId);c.forEach((t=>{if(0==t.is_read){const e={id:t.id,is_read:1,status:"succeed",content:t.content+" "};i.updateMessage(e)}}));break;case"addGroup":s.owner_id!=this.user.id&&i.appendContact(s),this.$api.commonApi.bindGroupAPI({client_id:a,group_id:s.id});break;case"setManager":case"addGroupUser":case"removeUser":s.group_id==this.group_id&&this.getGroupUserList(s.group_id),"removeUser"==t.type&&s.user_id==this.user.id?this.removeContact(s.group_id):i.updateContact({id:s.group_id,avatar:s.avatar});break;case"removeGroup":this.removeContact(s.group_id);break;case"setNotice":i.updateContact({id:s.group_id,notice:s.notice}),i.appendMessage({id:Q.NW(),type:"event",content:e("div",[e("span",["管理员 发布了公告: ",s.notice])]),toContactId:s.group_id,sendTime:xe()},!0);break;case"groupSetting":i.updateContact({id:s.group_id,setting:s.setting});break;case"appendContact":i.appendContact(s);break;case"webrtc":if(s.fromUser.id==this.user.id){let t=s.extends,e=r().get("wsData");return[902,903,905,906,907].includes(parseInt(t.code))&&(e.content=s.content,i.updateMessage(e),this.webrtcLock=!1),0==t.isMobile||"calling"==t.event?void("calling"==t.event&&(r().set("wsData",s),this.recieveMsg(s))):void("otherOpt"==t.event&&(e.content=s.content,i.updateMessage(e),this.wsData=null,this.caller="",this.webrtcLock=!1,this.$refs.webrtc.hangup(!1)))}if(this.wsData&&this.wsData.id!=s.id)this.$api.imApi.sendToMsg({toContactId:s.fromUser.user_id,type:s.extends.type,event:"busy",status:s.extends.status,code:907,id:s.id,msg_id:s.msg_id});else{if("calling"==s.extends.event)this.recieveMsg(s),this.wsData=s,r().set("wsData",s),this.caller=s.fromUser;else if("offer"==s.extends.event||"answer"==s.extends.event)this.webrtcLock=s.fromUser.user_id;else if("hangup"==s.extends.event){let t=r().get("wsData");t.content=s.content,i.updateMessage(t),this.webrtcLock=!1}this.wsData&&this.wsData.id==s.id&&this.$refs.webrtc.webrtcAction(JSON.parse(JSON.stringify(s)))}break}}},created(){let t=this.$store.state.userInfo;t&&(this.user={id:t.user_id,displayName:t.realname,avatar:t.avatar,account:t.account}),window.Notification?"granted"==Notification.permission?console.log("允许通知"):"denied"!=Notification.permission&&(console.log("需要通知权限"),Notification.requestPermission((t=>{}))):console.error("浏览器不支持Notification")},mounted(){this.fullScreen&&(this.isFullscreen=r().get("isFullscreen")),this.searchResult&&document.addEventListener("click",(function(t){that.$refs.configforms.contains(t.target)||(that.searchResult=!1)})),this.getSimpleChat()},methods:{called(t){if(!parseInt(this.globalConfig.chatInfo.webrtc))return this.$message.error("当前系统未开启音视频通话功能");this.webrtcLock?this.$message.error("其他端正在通话中"):(this.webrtcBox=!0,this.is_video=t,this.caller=this.currentChat,this.$refs.webrtc.called(t))},changeTab(t,e){this.activeTab=e},latelyContact(t){let e=[];return e=1==this.activeTab?t.filter((t=>t.unread>0)):2==this.activeTab?t.filter((t=>t.is_at>0)):t.filter((t=>t.lastContent)),e.sort(((t,e)=>e.lastSendTime-t.lastSendTime)),e.sort(((t,e)=>e.is_top-t.is_top)),e},getSimpleChat(t){const e=this.$createElement;this.$nextTick((()=>{const s=this.$refs.IMUI;this.IMUI=s,s.setLastContentRender("voice",(t=>"[语音]")),s.setLastContentRender("video",(t=>"[视频]")),s.setLastContentRender("webrtc",(t=>"[音视频通话]"));let i=[{name:"emoji"},{name:"screenShot",title:"发送截屏",click:()=>{this.shotScreen()},render:()=>e("i",{class:"el-icon el-icon-scissors f-18",style:"vertical-align: middle;font-weight: 600;"})},{name:"uploadImage",title:"发送图片"},{name:"sendVoice",title:"发送语音",click:()=>{this.VoiceStatus=!0},render:()=>e("i",{class:"el-icon el-icon-microphone f-18",style:"vertical-align: middle;font-weight: 600;"})},{name:"uploadVideo",title:"发送视频",click:()=>{var t=this.$refs.uploadVideo;t.click()},render:()=>e("i",{class:"el-icon el-icon-video-play f-18",style:"vertical-align: middle;font-weight: 600;"},[e("input",{style:"display:none",attrs:{type:"file",accept:"video/*"},ref:"uploadVideo",on:{change:t=>{this.uploadVideo(t)}}})])},{name:"uploadFile",title:"发送文件"},{name:"msgBox",title:"消息管理器",click:()=>{this.ChatRecordMap={},this.messageBox=!0,this.componentKey+=1},render:()=>e("i",{class:"el-icon el-icon-time f-18",style:"vertical-align: middle;"}),isRight:!0}];s.initEditorTools(i),s.initEmoji(j),this.$api.imApi.getContactsAPI().then((i=>{const a=i.data;this.contacts=a;var n={};if(a.forEach(((e,i)=>{e.type&&(n.type=e.type,n.content=e.lastContent,a[i]["lastContent"]=s.lastContentRender(n)),e.unread&&!t&&1==e.is_notice&&(this.unread+=e.unread),e.is_at&&(this.atUnread+=e.is_at)})),2==this.globalConfig.sysInfo.runMode){const t={id:"system",displayName:"新邀请",avatar:ye,index:"[1]系统消息",click(t){t()},renderContainer:()=>e(be),lastSendTime:i.page,lastContent:i.page?"新的申请":"",unread:parseInt(i.count),is_notice:1};this.unread+=i.count,a.push({...t})}this.$store.commit("initContacts",a),s.initContacts(a),this.lastMessages=s.lastMessages,this.initMenus(s)}))}))},shotScreen(){new we.Z({enableWebRtc:!0,level:999999,completeCallback:this.callback,closeCallback:this.closeShotScreen})},closeShotScreen(){console.log("关闭截图")},callback(t){let e=new Image;e.src=t.base64,e.onload=()=>{let t=this.convertImageToCanvas(e),s=t.toDataURL("image/jpeg"),i=window.atob(s.split(",")[1]),a=new ArrayBuffer(i.length),n=new Uint8Array(a);for(let e=0;e',"发送截图",{dangerouslyUseHTMLString:!0,confirmButtonText:"发送",showCancelButton:!0,callback:(t,e)=>{if("confirm"==t){let t={content:URL.createObjectURL(o),fromUser:this.user,id:Q.NW(),sendTime:xe(),status:"going",toContactId:this.currentChat.id,type:"image"};this.diySendMessage(t,o)}else e.close()}})}},convertImageToCanvas(t){let e=document.createElement("canvas");return e.width=t.width,e.height=t.height,e.getContext("2d").drawImage(t,0,0),e},initMenus(t){const e=this.$createElement;let s=[{name:"messages",unread:this.unread},{name:"contacts"},{name:"files",title:"文件",unread:0,render:t=>e("i",{class:"el-icon-folder"}),renderContainer:()=>e(Tt,{attrs:{title:this.dialogTitle}})},{name:"mobile",title:"客户端下载",unread:0,render:t=>e("i",{class:"el-icon-mobile"}),click:()=>{window.open(window.BASE_URL+"downapp","_blank")},isBottom:!0},{name:"setting",title:"设置",unread:0,render:t=>e("i",{class:"el-icon-setting"}),renderContainer:()=>e(zt),isBottom:!0}];this.fullScreen&&s.push({name:"fullscrren",title:"全屏/窗口",unread:0,click:()=>{this.isFullscreen=!this.isFullscreen},render:t=>e("i",{class:"el-icon-full-screen"})}),(Ae.role>0||this.globalConfig.demon_mode)&&s.push({name:"manage",title:"后台管理",unread:0,click:()=>{this.$route.path.indexOf("manage")>-1?this.$emit("close"):this.$router.push("/manage/index")},render:t=>e("i",{class:"el-icon-s-operation"}),isBottom:!0}),t.initMenus(s)},getContact(t){const{IMUI:e}=this.$refs;return e.findContact(t)},wrapKey(t){return 1==this.setting.sendKey?13==t.keyCode&&t.ctrlKey:13==t.keyCode&&!t.ctrlKey&&!t.shiftKey},setSendKey(t){return 1==this.setting.sendKey?13==t.keyCode&&!t.ctrlKey&&!t.shiftKey:13==t.keyCode&&t.ctrlKey},handleMessageClick(t,e,s,i){if("status"==e)return i.updateMessage({id:s.id,status:"going"}),s.status="going",void this.diySendMessage(s,this.curFile);if("avatar"!=e){if("voice"==s.type){if(!this.playAudio)return this.currentMessage=s,this.playVoice(s,i);this.playAudio.pause(),this.playAudio=null,i.updateMessage({id:this.currentMessage.id,status:"successd",isPlay:0}),s.id!=this.currentMessage.id&&(this.currentMessage=s,this.playVoice(s,i))}var a=["image","file","video"];if(a.includes(s.type)){if(!s.preview)return this.$message.error("没有配置预览接口");this.$preview(s.preview)}else"webrtc"==s.type&&this.called(parseFloat(s.extends.type))}else this.$user(s.fromUser.id)},playVoice(t,e){this.playAudio=new Audio(t.content),this.playAudio.play(),e.updateMessage({id:t.id,status:"succeed",isPlay:1})},openChat(t,e){this.keywords="",e.changeContact(t)},handleChangeContact(t,e){e.updateContact({id:t.id,unread:0}),1==t.is_notice&&(this.unread-=t.unread);const{IMUI:s}=this.$refs;this.initMenus(s),this.params.page=1,this.displayName=t.displayName,this.oldName=t.displayName,this.currentChat=t,1==t.is_group&&(this.group_id!=t.id?this.getGroupUserList(t.id):this.setAtUserList(this.groupUser)),this.is_group=t.is_group,1==this.is_group?(this.group_id=t.id,this.notice=t.notice):s.setAtUserList([],!1);for(var i=[],a=s.getMessages(t.id),n=0;a.length>n;n++)0==a[n].is_read&&a[n].fromUser.id!=this.user.id&&i.push(a[n]);i.length>0&&this.$api.imApi.setMsgIsReadAPI({is_group:t.is_group,toContactId:t.id,messages:i,fromUser:t.id}).then((t=>{0==t.code&&this.setLocalMsgIsRead(i)})),e.closeDrawer()},setAtUserList(t){let e=[],s=!1;t.forEach((t=>{t.user_id!=this.user.id?e.push(t.userInfo):t.role<3&&(s=!0)})),this.$refs.IMUI.setAtUserList(e,s)},uploadVideo(t){if(!this.globalConfig.chatInfo.simpleChat&&0==this.is_group||!this.nospeak())return this.$message.error(this.noSimpleTips),!1;let e,s=t.srcElement.files[0],i=URL.createObjectURL(s),a=new Audio(i);a.addEventListener("loadedmetadata",(function(t){e=a.duration}));let n={content:i,fromUser:this.user,id:Q.NW(),sendTime:xe(),status:"going",toContactId:this.currentChat.id,type:"video",extends:{duration:e}};this.diySendMessage(n,s),this.$refs.uploadVideo.value=""},sendVoice(t,e){if(!this.globalConfig.chatInfo.simpleChat&&0==this.is_group||!this.nospeak())return this.$message.error(this.noSimpleTips),!1;let s={content:URL.createObjectURL(e),fromUser:this.user,id:Q.NW(),sendTime:xe(),status:"going",toContactId:this.currentChat.id,type:"voice",isPlay:0,extends:{duration:t}};this.VoiceStatus=!1,this.diySendMessage(s,e)},removeContact(t){const{IMUI:e}=this.$refs,s=e.getCurrentContact();s.id==t&&e.changeContact(null),e.removeContact(t)},diySendMessage(t,e){const{IMUI:s}=this.$refs;s.appendMessage(t,!0),this.handleSend(t,(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};s.updateContact({id:t.toContactId,lastContent:s.lastContentRender(t),lastSendTime:t.sendTime}),s.CacheDraft.remove(t.toContactId),s.updateMessage(Object.assign(t,e))}),e)},nospeak(){return!(1==this.is_group&&this.currentChat.setting.nospeak>0)||(1==this.currentChat.setting.nospeak&&2==this.currentChat.role||2==this.currentChat.setting.nospeak&&1==this.currentChat.role)},handleSend(t,e,s){const{IMUI:i}=this.$refs;if(t.is_group=this.is_group,this.curFile=s,1!=this.globalConfig.chatInfo.simpleChat&&0==this.is_group||!this.nospeak())return i.removeMessage(t.id),this.$message.error(this.noSimpleTips),!1;let a=new FormData;if(s){if(s.size>1024*this.globalConfig.fileUpload.size*1024)return i.removeMessage(t.id),this.$message.error("上传的内容不等大于"+this.globalConfig.fileUpload.size+"MB!");a.append("file",s),a.append("message",JSON.stringify(t)),this.$api.imApi.sendFileAPI(a).then((t=>{0==t.code?(i.setEditorValue(""),i.updateMessage(t.data),e()):e({status:"failed"})})).catch((t=>{e({status:"failed"})}))}else this.$api.imApi.sendMessageAPI(t).then((t=>{0==t.code?(i.setEditorValue(""),i.updateMessage(t.data),e()):e({status:"failed"})})).catch((t=>{e({status:"failed"})}))},handlePullMessages(t,e,s){let i=this.params,a=s.getMessages(t.id);return a.length>0&&(i.last_id=a[0].msg_id,i.page=1),i.toContactId=t.id,i.is_group=t.is_group,this.$api.imApi.getMessageListAPI(i).then((t=>{this.params.page++;let s=!1,i=t.data;i.length{e([],!0)})),!0},publishNotice(){this.noticeBox=!1,this.$api.imApi.setNoticeAPI({id:this.group_id,notice:this.notice}).then((t=>{0==t.code&&this.$message({type:"success",message:"发布成功!"})}))},openMsgBox(){this.ChatRecordMap={is_at:1},this.messageBox=!0,this.componentKey+=1,this.$refs.IMUI.updateContact({id:this.currentChat.id,is_at:0});let t=this.currentChat.is_at;this.atUnread-=t,this.currentChat.is_at=0},openNotice(){var t="
"+this.notice+"
";this.$alert(t,"群公告",{confirmButtonText:"确定",dangerouslyUseHTMLString:!0}).then((()=>{})).catch((()=>{}))},openCreateGroup(){this.isAdd=1,this.dialogTitle="创建群聊",this.createChatBox=!0},changeOwner(){this.isAdd=2,this.dialogTitle="转让群聊",this.createChatBox=!0},openAddGroupUser(){var t=Q.Nj(this.groupUser,"user_id");this.isAdd=0,this.userIds=t,this.dialogTitle="添加群成员",this.createChatBox=!0},manageGroup(t,e,s){this.createChatBox=!1;let i=this.globalConfig.chatInfo.groupUserMax;if(0==e){if(t.length+this.groupUser.length>i&&i>0)return this.$message.error("群成员不能大于"+i+"人!");this.$api.imApi.addGroupUserAPI({user_ids:t,id:this.group_id})}else if(1==e){if(t.length>i&&i>0)return this.$message.error("群成员不能大于"+i+"人!");this.$api.imApi.addGroupAPI({user_ids:t,name:s}).then((t=>{const e=t.data,{IMUI:s}=this.$refs;0==t.code&&(s.appendContact(e),s.changeContact(e.id))}))}else this.$api.imApi.changeOwnerAPI({user_id:t[0],id:this.group_id}).then((e=>{const{IMUI:s}=this.$refs;0==e.code&&(this.$message({type:"success",message:e.msg}),this.groupSetting=!1,s.updateContact({id:this.group_id,role:3,owner_id:t[0]}),s.changeContact(null))}))},forwardUser(t){if(t.length>5)return this.$message.error("转发的人数不能超过5人!");this.forwardBox=!1;var e=this.currentMessage;this.$api.imApi.forwardMessageAPI({user_ids:t,msg_id:e.msg_id})},getGroupUserList(t){this.$api.imApi.groupUserListAPI({group_id:t}).then((t=>{if(0==t.code){let e=t.data;this.groupUser=e,this.setAtUserList(e),this.groupUserCount=e.length}}))},saveGroupName(t){if(this.displayName.length<1)return this.$notify({title:"警告",message:"名称不能为空!",type:"warning"}),this.isEdit=!1,!1;if(this.displayName!=this.oldName){const{IMUI:e}=this.$refs;this.$api.imApi.editGroupNameAPI({id:t.id,displayName:this.displayName}).then((s=>{e.updateContact({id:t.id,displayName:this.displayName})}))}this.isEdit=!1},openGroupSetting(t){this.groupSetting=!0,this.contactSetting=t||this.currentChat,this.componentKey++},closeSearch(){var t=this;setTimeout((function(){t.searchResult=!1}),300)},searchContact(t){""!=this.keywords&&(this.searchList=Q.iu(t,["displayName","name_py"],this.keywords))},setLocalMsgIsRead(t){const{IMUI:e}=this.$refs;for(let s=0;t.length>s;s++){const i={id:t[s]["id"],is_read:1,status:"succeed",content:t[s]["content"]+" "};e.updateMessage(i)}},popNotice(t){let e=this;const{IMUI:s}=this.$refs;if("granted"==Notification.permission){let i=t.fromUser.displayName||t.fromUser.realname,a=s.lastContentRender(t),n=new Notification("收到一条新消息",{body:i+":"+a,icon:t.fromUser.avatar});n.onclick=function(t){e.$nextTick((()=>{setTimeout((()=>{}),500)})),window.focus(),n.close()}}else{const t=document.getElementById("chatAudio");t.currentTime=0,t.play()}},recieveMsg(t){const{IMUI:e}=this.$refs,s=e.getCurrentContact();if(s.id==t.toContactId&&"system"!=s.id){var i=[];i.push(t),this.$api.imApi.setMsgIsReadAPI({toContactId:s.id,is_group:s.is_group,messages:i,fromUser:t.fromUser.id})}else if(this.user.id!=t.fromUser.id){let s=this.getContact(t.toContactId);1==s.is_notice&&this.unread++,this.initMenus(e)}this.user.id==t.toContactId&&(t.toContactId=t.toUser),"system"==t.toContactId&&e.updateContact({id:t.toContactId,lastContent:e.lastContentRender(t),lastSendTime:t.sendTime,unread:"+1"}),e.appendMessage(t,!0)},openMessageBox(){this.messageBox=!0,this.componentKey+=1},openSetting(){const{IMUI:t}=this.$refs;t.changeMenu("setting")},handleCommand(t){"addGroup"==t?this.openCreateGroup():this.addFriendBox=!0},rtcMsg(t){let e="",s="",i="";this.wsData&&(s=this.wsData.msg_id??"",i=this.wsData.id??"");let a=!0;switch(t.event){case"calling":i=Q.NW();break;case"hangup":907==t.code&&this.$message.error("对方忙线中"),t.isbtn||(a=!1),this.wsData="",this.webrtcLock=!1;break;case"iceCandidate":let s={};s["candidate"]=t["iceCandidate"]["candidate"],s["sdpMLineIndex"]=t["iceCandidate"]["sdpMLineIndex"],s["sdpMid"]=t["iceCandidate"]["sdpMid"],e=JSON.stringify(s);break;case"mediaDevices":a=!1;break}a&&this.$api.imApi.sendToMsg({id:i,msg_id:s,toContactId:this.caller.id,type:this.is_video?1:0,event:t.event,status:t.status??"",code:t.code??"",callTime:t.callTime??"",sdp:t.sdp??"",iceCandidate:e}).then((e=>{0==e.code&&"calling"==t.event&&(this.wsData=e.data,r().set("wsData",e.data),this.recieveMsg(e.data)),"907"==e.data.extends.code&&this.$message.error("对方不在线")}))},reconnect(){this.$refs.socket.initWebSocket()},closeSocket(){this.$refs.socket.close()},logout(){this.$confirm("你确定要退出聊天室吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{this.$store.dispatch("LogOut").then((()=>{this.$router.push({path:"/login"})}))})).catch((()=>{this.$message({type:"info",message:"已取消退出"})}))}}},_e=ke,Ie=(0,d.Z)(_e,P,D,!1,null,"a5b3adc0",null),Se=Ie.exports;var Ue={name:"app",components:{rainagdIm:Se},props:{dialogTableVisible:{type:Boolean,default:!1}},data(){return{unread:0,dialogIsShow:!0}},computed:{formatTime(){return function(t){return timeFormat(t)}}},watch:{dialogTableVisible(t){t&&this.$nextTick((()=>{this.dialogIsShow=t}))}},created(){},mounted(){},methods:{closeDialog(){this.appList=!1,this.$nextTick((()=>{this.$emit("update:dialogTableVisible",!1)}))},contactSync(t){this.dialogIsShow=!0,this.$emit("update:dialogTableVisible",!0)}}},Te=Ue,Me=(0,d.Z)(Te,F,L,!1,null,"6e7fdceb",null),Be=Me.exports,Ee={name:"Index",components:{Message:Be},data(){return{dialogTableVisible:!1,unread:0,allContacts:[],activeName:"0",techStack:[{icon:"el-icon-cpu",text:"后端:TP6+Mysql+workerman+webRTC中继服务。 [开源]"},{icon:"el-icon-news",text:"前端:vue2+element-ui+lemon-imui。 [开源]"},{icon:"el-icon-mobile",text:"移动端:uniapp for vue3+pinia。支持编译为小程序+h5+APP。[捐赠获取]"},{icon:"el-icon-monitor",text:"桌面端:vue2(web端修改版)+electron。[捐赠获取]"}],introduce:[{icon:"el-icon-chat-dot-square",text:this.$packageData.name+"是一个开源的即时通信demo(存在一定的BUG),主要用于学习交流,为大家提供即时通讯的开发思路,许多功能需要自行开发,开发的初衷旨在快速建立企业内部通讯系统、内网交流、社区交流。"},{icon:"el-icon-cpu",text:"不建议用于商业用途,如确有需要商用,请联系作者授权,自行开发代码量必须要高于原代码量的30%以上,并注明相关的版权问题。"},{icon:"el-icon-office-building",text:"支持企业模式:类似于企业微信,初始化联系人是加载企业内的所有人员,无须加好友可以直接进行对话、创建群聊等,适用于企业内部通讯。"},{icon:"el-icon-chat-line-round",text:"支持社区模式:类似于微信或QQ,需要添加好友才能进行对话,适用于社区交流。社区模式支持加好友、删除好友、改备注等功能。"},{icon:"el-icon-discover",text:"选择适合自己项目的模式,然后在后台设置即可。社区模式体验需要自行搭建部署哦,可以在项目地址中看到相关的截图。"}]}},computed:{...(0,v.rn)({chatSocket:t=>t.unread,getContacts:t=>t.allContacts})},watch:{chatSocket(t){this.unread=t},getContacts(t){this.allContacts=t}},methods:{handleClick(t,e){console.log(t,e)},showMessageBox(){this.dialogTableVisible?this.dialogTableVisible=!1:this.dialogTableVisible=!0},scrollTo(){window.scrollTo(0,document.body.scrollHeight)},downApp(){window.open(window.BASE_URL+"downapp")}}},Re=Ee,Ne=(0,d.Z)(Re,R,N,!1,null,"4fdb6836",null),Fe=Ne.exports,Le=function(){var t=this,e=t._self._c;return e("div",{staticClass:"main-container",style:"background-image:url("+t.Background+")"},[e("raingadIm",{attrs:{fullScreen:!0}})],1)},Pe=[],De=s.p+"assets/img/login-background.4d69904c.jpg",je={name:"app",components:{raingadIm:Se},data(){return{Background:De}}},Qe=je,Ve=(0,d.Z)(Qe,Le,Pe,!1,null,"f0e47f02",null),Ge=Ve.exports,ze=function(){var t=this,e=t._self._c;return e("div",{staticClass:"login-wrapper",style:"background-image:url("+t.Background+")"},[e("div",{staticClass:"form-box"},[e("div",{staticClass:"form-title"},[e("img",{attrs:{src:t.globalConfig.sysInfo.logo?t.globalConfig.sysInfo.logo:t.$packageData.logo,width:"100",alt:"icon"}}),e("p",{staticClass:"mt-10 f-20"},[t._v(t._s(t.globalConfig.sysInfo.name))])]),e("el-form",{ref:"loginForm",staticClass:"login-form",attrs:{model:t.loginForm,rules:t.loginRules,"label-width":"0px"}},[e("el-form-item",{attrs:{prop:"account"}},[e("el-input",{ref:"account",attrs:{type:"text","auto-complete":"off",placeholder:"请输入账号","prefix-icon":"el-icon-user"},model:{value:t.loginForm.account,callback:function(e){t.$set(t.loginForm,"account",e)},expression:"loginForm.account"}})],1),e("el-form-item",{directives:[{name:"show",rawName:"v-show",value:!t.forget,expression:"!forget"}],attrs:{prop:"password"}},[e("el-input",{attrs:{type:"password","auto-complete":"off",placeholder:"请输入密码","prefix-icon":"el-icon-lock"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleLogin.apply(null,arguments)}},model:{value:t.loginForm.password,callback:function(e){t.$set(t.loginForm,"password",e)},expression:"loginForm.password"}})],1),e("el-form-item",{directives:[{name:"show",rawName:"v-show",value:t.forget,expression:"forget"}],attrs:{prop:"code"}},[e("el-input",{attrs:{placeholder:"请输入验证码",maxlength:"6"},model:{value:t.loginForm.code,callback:function(e){t.$set(t.loginForm,"code",e)},expression:"loginForm.code"}},[e("el-button",{attrs:{slot:"append",loading:t.coding},on:{click:function(e){return t.sendCode()}},slot:"append"},[t._v("发送验证码")])],1)],1),t.globalConfig.demon_mode?e("div",{staticClass:"c-666",staticStyle:{"font-size":"12px"}},[t._v("演示账号:13800000002~13800000020,密码:123456")]):t._e(),e("el-form-item",[e("div",{staticClass:"remenber"},[e("el-checkbox",{model:{value:t.loginForm.rememberMe,callback:function(e){t.$set(t.loginForm,"rememberMe",e)},expression:"loginForm.rememberMe"}},[t._v("记住我")]),e("el-button",{attrs:{type:"text"},on:{click:function(e){t.forget=!t.forget}}},[t._v(t._s(t.forget?"密码登陆":"忘记密码"))])],1)]),e("el-form-item",[e("el-button",{staticStyle:{width:"100%"},attrs:{loading:t.loading,size:"small",type:"primary"},nativeOn:{click:function(e){return e.preventDefault(),t.handleLogin.apply(null,arguments)}}},[t.loading?e("span",[t._v("登 录 中...")]):e("span",[t._v("登 录")])])],1),1==t.globalConfig.sysInfo.regtype?e("el-form-item",[e("el-button",{staticStyle:{width:"100%"},attrs:{size:"small",plain:""},on:{click:function(e){return t.$router.push("/register")}}},[t._v(" 注册 ")])],1):t._e(),e("div",{staticClass:"c-999",attrs:{align:"center"}},[t._v(t._s(t.globalConfig.sysInfo.name)+" for "+t._s(t.$packageData.version))]),e("el-button",{staticClass:"mt-10",staticStyle:{width:"100%"},attrs:{plain:""},on:{click:function(e){return t.downapp()}}},[e("span",[t._v("下载客户端")])])],1)],1)])},Je=[],Oe={name:"Login",data(){return{Background:De,forget:!1,loginForm:{account:"",password:"",code:"",rememberMe:!0},loginRules:{account:[{required:!0,trigger:"blur",message:"用户名不能为空"}],password:[{required:!0,trigger:"blur",message:"密码不能为空"}]},loading:!1,coding:!1,redirect:void 0}},computed:{...(0,v.rn)({globalConfig:t=>t.globalConfig})},watch:{$route:{handler:function(t){this.redirect=t.query&&t.query.redirect},immediate:!0},forget(t){t&&(this.loginForm.password="123456")}},mounted(){this.$nextTick((()=>{let t=this.$route.query.token;if(t)return this.dologin({token:t});if(this.globalConfig.demon_mode){const t=Math.floor(19*Math.random()+2);this.loginForm.account=138e8+t,this.loginForm.password="123456",this.$refs.account.focus()}const e=r().get("LoginAccount");e&&(this.loginForm.account=e.account,this.loginForm.password=e.password,this.loginForm.rememberMe=!0,this.$refs.account.focus())}))},methods:{handleLogin(){!this.forget||this.loginForm.code?this.$refs.loginForm.validate((t=>{const e={account:this.loginForm.account,password:this.loginForm.password,code:this.loginForm.code};this.loginForm.rememberMe?r().set("LoginAccount",e):r().rm("LoginAccount"),t&&this.dologin(e)})):this.$message.error("请输入验证码")},dologin(t){this.loading=!0,this.$store.dispatch("Login",t).then((t=>{window.location.reload()})).catch((()=>{this.loading=!1}))},sendCode(){if(!this.loginForm.account)return void this.$message.error("请输入账号");this.coding=!0;let t={account:this.loginForm.account,type:1};this.$store.dispatch("sendCode",t).then((t=>{this.$message.success("发送成功"),this.coding=!1})).catch((()=>{this.coding=!1}))},downapp(){window.open(window.BASE_URL+"downapp")}}},$e=Oe,qe=(0,d.Z)($e,ze,Je,!1,null,null,null),Ye=qe.exports,Ze=function(){var t=this,e=t._self._c;return e("div",{staticClass:"login-wrapper",style:"background-image:url("+t.Background+")"},[e("div",{staticClass:"form-box"},[e("div",{staticClass:"form-title"},[e("div",{staticClass:"f-14 cur-handle",on:{click:function(e){return t.$router.push("/login")}}},[e("i",{staticClass:"el-icon-back"},[t._v("返回")])]),t._m(0),e("div")]),e("el-form",{ref:"regForm",staticClass:"login-form",attrs:{model:t.regForm,rules:t.loginRules,"label-width":"0px"}},[e("el-form-item",{attrs:{prop:"account"}},[e("el-input",{ref:"account",attrs:{type:"text","auto-complete":"off",placeholder:"请输入账号:手机/邮箱","prefix-icon":"el-icon-user"},on:{input:t.handleInput},model:{value:t.regForm.account,callback:function(e){t.$set(t.regForm,"account",e)},expression:"regForm.account"}})],1),e("el-form-item",{attrs:{prop:"realname"}},[e("el-input",{ref:"realname",attrs:{type:"text","auto-complete":"off",placeholder:"请输入用户名/昵称","prefix-icon":"el-icon-user"},model:{value:t.regForm.realname,callback:function(e){t.$set(t.regForm,"realname",e)},expression:"regForm.realname"}})],1),0!=t.globalConfig.sysInfo.regauth?e("el-form-item",{attrs:{prop:"code"}},[e("el-input",{attrs:{placeholder:"请输入验证码",maxlength:"6"},model:{value:t.regForm.code,callback:function(e){t.$set(t.regForm,"code",e)},expression:"regForm.code"}},[e("el-button",{attrs:{slot:"append",loading:t.loading},on:{click:function(e){return t.sendCode(!0)}},slot:"append"},[t._v("发送验证码")])],1)],1):t._e(),e("el-form-item",{attrs:{prop:"password"}},[e("el-input",{attrs:{type:"password","show-password":"","auto-complete":"off",placeholder:"请输入密码","prefix-icon":"el-icon-lock"},model:{value:t.regForm.password,callback:function(e){t.$set(t.regForm,"password",e)},expression:"regForm.password"}})],1),e("el-form-item",{attrs:{prop:"password"}},[e("el-input",{attrs:{type:"password","show-password":"","auto-complete":"off",placeholder:"请再次输入密码","prefix-icon":"el-icon-lock"},model:{value:t.regForm.repass,callback:function(e){t.$set(t.regForm,"repass",e)},expression:"regForm.repass"}})],1),e("el-form-item",[e("el-button",{staticStyle:{width:"100%"},attrs:{loading:t.loading,size:"small",type:"primary"},nativeOn:{click:function(e){return e.preventDefault(),t.handleRegist.apply(null,arguments)}}},[t.loading?e("span",[t._v("注 册 中...")]):e("span",[t._v("注册")])])],1),e("div",{staticClass:"c-999",attrs:{align:"center"}},[t._v(t._s(t.globalConfig.sysInfo.name)+" for "+t._s(t.$packageData.version))])],1)],1)])},We=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"mr-40"},[e("b",[t._v("注册用户")])])}],Ke={name:"Register",data(){return{Background:De,regForm:{account:"",realname:"",password:"",repass:"",code:""},loginRules:{account:[{min:4,max:32,message:"长度在 4 到 32 个字符",trigger:"blur"}],realname:[{required:!0,message:"请输入用户名/昵称",trigger:"blur"},{min:2,max:16,message:"长度在 2 到 16 个字符",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"},{min:6,max:16,message:"长度在 6 到 16 个字符",trigger:"blur"}]},loading:!1,redirect:void 0}},computed:{...(0,v.rn)({globalConfig:t=>t.globalConfig})},watch:{$route:{handler:function(t){this.redirect=t.query&&t.query.redirect},immediate:!0}},mounted(){let t=this.globalConfig.sysInfo.regauth??0,e="请输入账号:4-32个字符";switch(parseInt(t)){case 1:e="请输入正确的手机号";break;case 2:e="请输入正确的邮箱";break;case 3:e="请输入正确的手机号或者邮箱";break;default:e="请输入正确的账号"}let s={required:!0,message:e,trigger:"blur"};this.loginRules.account.push(s);let i={type:"email",message:e,trigger:"blur",validator:this.validateContact},a={type:"phone",message:e,trigger:"blur",validator:this.validateContact};1==t?this.loginRules.account.push(a):2==t?this.loginRules.account.push(i):3==t&&(this.loginRules.account.push(i),this.loginRules.account.push(a))},methods:{handleInput(t){const e=t.replace(/[\u4e00-\u9fa5]/g,"");this.regForm.account=e},validateContact(t,e,s){e?/^1[3456789]\d{9}$/.test(e)||/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(e)?s():s(new Error("请输入正确的手机号或邮箱")):s()},handleRegist(){this.$refs.regForm.validate((t=>{if(this.regForm.password!=this.regForm.repass)return this.$message.error("两次密码不一致"),!1;const e={account:this.regForm.account,realname:this.regForm.realname,password:this.regForm.password,code:this.regForm.code,inviteCode:this.$route.query.inviteCode??""};if(!t)return this.$message.error("请检查输入项");this.loading=!0,this.$api.commonApi.register(e).then((t=>{this.loading=!1,0===t.code&&(this.$message.success("注册成功"),this.$router.push("/login"))})).catch((t=>{this.loading=!1}))}))},sendCode(){if(!this.regForm.account)return void this.$message.error("请输入账号");this.coding=!0;let t={account:this.regForm.account,type:2};this.$store.dispatch("sendCode",t).then((t=>{this.$message.success("发送成功"),this.coding=!1})).catch((()=>{this.coding=!1}))}}},He=Ke,Xe=(0,d.Z)(He,Ze,We,!1,null,"9eb25bc4",null),ts=Xe.exports,es=function(){var t=this,e=t._self._c;return e("div",{staticClass:"main-container"},[e("el-container",{staticStyle:{height:"100vh",border:"1px solid #eee"}},[e("el-header",{staticStyle:{"text-align":"right","font-size":"12px","border-bottom":"1px solid #e6e6e6"}},[e("el-row",{style:{height:"60px"},attrs:{type:"flex",justify:"space-between",align:"middle"}},[e("el-col",{staticClass:"logo",attrs:{span:8}},[e("div",{staticClass:"image"},[e("img",{attrs:{src:t.globalConfig.sysInfo.logo,alt:"logo"}})]),e("div",{staticClass:"f-20 ml-5"},[t._v(t._s(t.globalConfig.sysInfo.name)+" 管理中心")])]),e("el-col",{staticClass:"text-right",attrs:{span:16}},[e("div",{staticClass:"user"},[e("span",{staticClass:"message"},[e("router-link",{attrs:{to:"/chat"}},[e("el-button",[t._v(" 进入聊天 ")])],1)],1),e("span",{staticClass:"message",on:{click:function(e){return t.showMessageBox()}}},[e("el-badge",{attrs:{value:t.unread,max:99,hidden:!t.unread}},[e("i",{staticClass:"el-icon-chat-line-round f-24",attrs:{circle:""}})])],1),e("el-dropdown",{attrs:{trigger:"click"},on:{command:t.handleCommand}},[e("div",{staticClass:"lz-flex lz-align-items-center cur-handle"},[e("span",{staticClass:"avatar"},[e("img",{attrs:{src:t.$store.state.userInfo.avatar,alt:"avatar"}})]),e("span",{staticClass:"username"},[t._v(t._s(t.$store.state.userInfo.realname))]),e("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e("el-dropdown-item",{attrs:{command:"profile"}},[t._v("个人信息")]),e("el-dropdown-item",{attrs:{command:"logout"}},[t._v("退出登录")])],1)],1)],1)])],1)],1),e("el-container",[e("el-aside",{staticClass:"main-aside",style:{width:t.asideWidth}},[e("div",{staticClass:"aside-menu"},[e("el-scrollbar",[e("el-menu",{staticClass:"el-menu-vertical-demo",staticStyle:{border:"none"},attrs:{"default-active":t.active,mode:"vertical","ext-color":"#fff",collapse:t.isCollapse},on:{select:t.handleMenuSelect}},[t._l(t.routes,(function(s,i){return[e("el-menu-item",{key:i,attrs:{index:s.path}},[e("i",{class:s.meta.icon}),e("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(s.meta.title))])])]}))],2)],1)],1),e("div",{staticClass:"aside-bottom",on:{click:t.handleCollapse}},[e("span",{staticClass:"el-icon-s-fold f-18"})])]),e("el-main",{staticStyle:{"background-color":"#f5f5f5",padding:"0"}},[e("el-scrollbar",[e("transition",{attrs:{name:"fade",mode:"out-in"}},[e("router-view",{key:t.key})],1)],1)],1)],1)],1),e("Message",{ref:"Message",attrs:{dialogTableVisible:t.dialogTableVisible},on:{"update:dialogTableVisible":function(e){t.dialogTableVisible=e},"update:dialog-table-visible":function(e){t.dialogTableVisible=e}}})],1)},ss=[],is={name:"Index",components:{Message:Be},data(){return{dialogTableVisible:!1,unread:0,allContacts:[],isCollapse:!1,asideWidth:"200px",active:"",routes:[]}},computed:{...(0,v.rn)({chatSocket:t=>t.unread,getContacts:t=>t.allContacts,globalConfig:t=>t.globalConfig}),key(){return this.$route.path}},watch:{chatSocket(t){this.unread=t},getContacts(t){this.allContacts=t},isCollapse(t){this.asideWidth=t?"65px":"200px"}},mounted(){this.isCollapse=r().get("isCollapse")||!1,this.active=this.$route.path;const t=this.$router.options.routes.filter((t=>"manage"==t.name));this.routes=t[0].children,window.addEventListener("resize",this.handleResize)},methods:{handleResize(){window.innerWidth<900?this.isCollapse=!0:this.isCollapse=!1},handleMenuSelect(t){this.active=t,this.$route.path!=t&&this.$router.push(t)},showMessageBox(){this.dialogTableVisible?this.dialogTableVisible=!1:this.dialogTableVisible=!0},handleCommand(t){"profile"==t?this.$user(this.$store.state.userInfo.user_id):this.$confirm("你确定要退出聊天室吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{this.$store.dispatch("LogOut").then((()=>{this.$router.push({path:"/login"})}))})).catch((()=>{this.$message({type:"info",message:"已取消退出"})}))},handleCollapse(){this.isCollapse=!this.isCollapse,r().set("isCollapse",this.isCollapse)}}},as=is,ns=(0,d.Z)(as,es,ss,!1,null,"482b879c",null),os=ns.exports,rs=[{path:"/manage",name:"manage",component:os,meta:{title:"管理"},icon:"el-icon-s-tools",children:[{path:"/manage/index",name:"index",component:()=>s.e(142).then(s.bind(s,3142)),meta:{title:"概况",icon:"el-icon-data-line"}},{path:"/manage/setting",name:"setting",component:()=>s.e(716).then(s.bind(s,9716)),meta:{title:"设置",icon:"el-icon-setting"}},{path:"/manage/user",name:"user",component:()=>s.e(584).then(s.bind(s,3584)),meta:{title:"成员",icon:"el-icon-user"}},{path:"/manage/group",name:"group",component:()=>s.e(173).then(s.bind(s,4173)),meta:{title:"群聊",icon:"el-icon-chat-dot-square"}},{path:"/manage/files",name:"files",component:()=>s.e(567).then(s.bind(s,7567)),meta:{title:"文件",icon:"el-icon-folder-opened"}}]}];i["default"].use(E.ZP);const ls=[{path:"/",name:"home",component:Ge,meta:{title:"聊天"}},{path:"/chat",name:"chat",component:Ge,meta:{title:"聊天演示页"}},{path:"/demo",name:"demo",component:Fe,meta:{title:"演示页"}},{path:"/login",name:"login",component:Ye,meta:{title:"登录"}},{path:"/register",name:"register",component:ts,meta:{title:"注册"}},{path:"*",redirect:"/404",hidden:!0},{path:"/404",component:()=>s.e(133).then(s.bind(s,4133)),hidden:!0}],cs=()=>new E.ZP({mode:"hash",scrollBehavior:()=>({y:0}),routes:[...ls,...rs]}),ds=cs();function us(){const t=cs();ds.matcher=t.matcher}var ps=ds,ms=s(6265),hs=s.n(ms);const gs={loadingCache:function(){if(r().get("authToken")&&!hs().defaults.headers.authToken){const t=r().get("UserInfo");t&&Ns.commit("SET_USERINFO",t)}Ns.commit("SET_APPNAME",r().get("systemName")),Ns.commit("SET_APPLOGO",r().get("systemLogo"))},updateAxiosCache:function(){hs().defaults.headers.authToken=r().get("authToken"),hs().defaults.headers.sessionId=r().get("sessionId")},updateAxiosHeaders:function(){hs().defaults.headers.authToken=r().get("authToken"),hs().defaults.headers.sessionId=r().get("sessionId")},rmAxiosCache:function(){r().rm("authToken"),r().rm("sessionId")}};var fs=gs;function vs(){return new Promise(((t,e)=>{fs.rmAxiosCache(),delete hs().defaults.headers.authToken,delete hs().defaults.headers.sessionId,t(!0)}))}function Cs(t,e){return new Promise(((s,i)=>{hs().defaults.headers.authToken=t,hs().defaults.headers.sessionId=e,s(!0)}))}function bs(){return r().get("authToken")&&!hs().defaults.headers.authToken&&fs.updateAxiosCache(),!!r().get("authToken")}var ys=s(5410),ws=s.n(ys),xs=s(9070);const As=(0,xs.debounce)(500,(()=>{vs().then((()=>{location.reload()})).catch((()=>{location.reload()}))})),ks=(0,xs.debounce)(500,((t,e="error")=>{(0,m.Message)({message:t,duration:1500,type:e})})),_s=(0,xs.debounce)(1e3,(t=>{m.MessageBox.confirm(t,"提示",{confirmButtonText:"确定",showCancelButton:!1,type:"warning"}).then((()=>{As()})).catch((()=>{}))}));hs().defaults.headers.post["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8";const Is=window.location.protocol+"//"+window.location.host;window.location.protocol;window.BASE_URL=Is+"/";const Ss=hs().create({baseURL:window.BASE_URL,timeout:6e4});Ss.baseURL=window.BASE_URL,Ss.interceptors.request.use((t=>{const e=r().get("sessionId"),s=r().get("authToken");e&&s&&(t.headers["sessionId"]=e,t.headers["Authorization"]=s);const i=t.headers["Content-Type"]&&-1!==t.headers["Content-Type"].indexOf("application/json");if(i)void 0!==t.data&&null!==t.data||(t.data={});else{const e=t.headers["Content-Type"]&&-1!==t.headers["Content-Type"].indexOf("multipart/form-data");t.data=e?t.data:ws().stringify(t.data)}return t}),(t=>Promise.reject(t))),Ss.interceptors.response.use((t=>{const e=t.data;if(200!==t.status||"blob"!==t.config.responseType)return 0!==e.code?(-1===e.code?_s(e.msg):[400,402,403,404,405,502,500].includes(e.code)?ks(e.msg,"warning"):ks(e.msg),e):e;if(t.headers["content-disposition"]||t.headers["content-type"]&&-1!=t.headers["content-type"].indexOf("application/pdf"))return t;{const e=new Blob([t.data],{type:"application/json"}),s=new FileReader;s.onload=function(){const t=JSON.parse(this.result);t.msg&&ks(t.msg,1==t.code?"success":"error")},s.readAsText(e)}}),(t=>{if(t.response){const e=t.response;500==e.status?ks("服务器返回错误,请检查!"):e.data&&e.data.msg&&ks(e.data.msg)}return Promise.reject(t)}));var Us=Ss;const Ts={loginAPI:t=>Us({url:"common/pub/login",method:"post",data:t}),logoutAPI:()=>Us({url:"common/pub/logout",method:"post"}),bindClientIdAPI:t=>Us({url:"common/pub/bindUid",method:"post",data:t}),offlineAPI:t=>Us({url:"common/pub/offline",method:"post",data:t}),bindGroupAPI:t=>Us({url:"common/pub/bindGroup",method:"post",data:t}),sendCode:t=>Us({url:"common/pub/sendCode",method:"post",data:t}),getSystemInfo:t=>Us({url:"common/pub/getSystemInfo",method:"post",data:t}),register:t=>Us({url:"common/pub/register",method:"post",data:t}),uploadAvatar:t=>Us({url:"common/upload/uploadAvatar",method:"post",data:t,headers:{"Content-Type":"multipart/form-data"}})};var Ms=Ts;i["default"].use(v.ZP);const Bs={userInfo:null,allAuth:null,socketAction:"",contactSync:"",toContactId:0,unread:0,allContacts:[],globalConfig:[],wsStatus:!0,setting:{sendKey:"1",theme:"default",isVoice:!0,avatarCricle:!1,hideMessageName:!1,hideMessageTime:!1}},Es={SET_USERINFO:(t,e)=>{r().set("UserInfo",e),t.userInfo=e,e.setting&&(t.setting=e.setting)},SET_AUTH:(t,e)=>{const s=e.authToken,i=e.sessionId;r().set("authToken",s),r().set("sessionId",i),Cs(s,i)},catchSocketAction(t,e){t.socketAction=e},updateUnread:(t,e)=>{t.unread=parseInt(e)},initContacts:(t,e)=>{t.allContacts=e},openChat:(t,e)=>{t.toContactId=e,t.contactSync=Math.random().toString(36).substr(-8)},updateSetting(t,e){t.userInfo.setting=e,t.setting=e},setGlobalConfig(t,e){t.globalConfig=e}},Rs={Login({commit:t,dispatch:e},s){return new Promise(((i,a)=>{Ms.loginAPI(s).then((e=>{const s=e.data||s;t("SET_AUTH",s),t("SET_USERINFO",s.userInfo),i(e)})).catch((t=>{e("LogOut"),a(t)}))}))},LogOut({commit:t}){return new Promise(((t,e)=>{Ms.logoutAPI().then((()=>{r().rm("authToken"),r().rm("sessionId"),r().rm("UserInfo"),vs(),us(),t()})).catch((t=>{e(t)}))}))},getSystemInfo({commit:t}){return new Promise(((e,s)=>{Ms.getSystemInfo().then((s=>{0==s.code&&(r().set("globalConfig",s.data),t("setGlobalConfig",s.data),e(s))})).catch((t=>{s(t)}))}))},sendCode({commit:t},e){return new Promise(((t,s)=>{Ms.sendCode(e).then((e=>{t(e)})).catch((t=>{s(t)}))}))}};var Ns=new v.ZP.Store({state:Bs,mutations:Es,actions:Rs}),Fs=s(5602),Ls=s.n(Fs),Ps=s(1081);i["default"].directive("outside",Ps.Z);var Ds=s(530),js=s.n(Ds);const Qs=["/login","/register"],Vs=["/","/demo","/chat"];ps.beforeEach(((t,e,s)=>{if(t.meta.disabled)s(!1);else if(js().start(),bs()){let e=r().get("globalConfig"),i=e.demon_mode,a="";i&&(a="/demo");let n=r().get("UserInfo");Qs.includes(t.path)||"/"==t.path&&a?(s({path:a}),js().done()):Vs.includes(t.path)&&0==e.sysInfo.state?(n&&n.role>0||i?s({path:"/manage/index"}):s({path:"/404",query:{msg:e.sysInfo.closeTips}}),js().done()):-1!==t.path.indexOf("manage")?n&&n.role>0||i?s():(m.Message.error("您没有权限访问该页面"),s(!1),js().done()):s()}else-1!==Qs.indexOf(t.path)?s():(s("/login"),js().done())})),ps.afterEach((()=>{js().done()})),ps.onError((t=>{const e=/Loading chunk (\d)+ failed/g,s=t.message.match(e),i=ps.history.pending.fullPath;s&&ps.replace(i)}));var Gs,zs,Js,Os,$s,qs,Ys,Zs,Ws=JSON.parse('{"name":"Raingad-IM","version":"4.1.0","description":"一款基于vue2.0的即时聊天工具","logo":"https://im.file.raingad.com/logo/logo.png","frontUrl":"https://gitee.com/raingad/im-chat-front","backstageUrl":"https://gitee.com/raingad/im-instant-chat","mobileUrl":"https://im.raingad.com/h5","author":"Raingad","license":"Apache2.0","qqGroupUrl":"https://jq.qq.com/?_wv=1027&k=jMQAt9lh","private":true,"funcList":[{"icon":"el-icon-chat-line-round","text":"支持单聊和群聊,支持发送表情、图片、语音、视频和文件消息"},{"icon":"el-icon-potato-strips","text":"单聊支持消息已读未读的状态显示,在线状态显示"},{"icon":"el-icon-user","text":"群聊创建、删除和群成员管理、群公告、群禁言、@群成员等"},{"icon":"el-icon-ice-cream-round","text":"支持置顶联系人,消息免打扰;支持设置新消息声音提醒,浏览器通知"},{"icon":"el-icon-video-camera","text":"支持一对一音视频通话(已打通web端和移动端,小程序不支持)"},{"icon":"el-icon-milk-tea","text":"支持文件、图片和绝大部分媒体文件在线预览"},{"icon":"el-icon-mobile-phone","text":"支持移动端(由uniapp开发,可打包H5、APP和小程序),支持简易后台管理"},{"icon":"el-icon-coffee-cup","text":"全新支持企业模式和社区模式,社区模式支持注册、添加好友功能"}],"scripts":{"serve":"vue-cli-service serve","build":"vue-cli-service build","lint":"vue-cli-service lint"},"dependencies":{"axios":"^0.21.4","core-js":"^3.8.3","cropperjs":"^1.5.13","element-ui":"^2.15.13","js-audio-recorder":"^1.0.7","js-web-screen-shot":"^1.9.8-rc.3","lemon-imui":"^1.7.7","lemon-imui-rx":"^1.8.6","lockr":"^0.8.5","nprogress":"^0.2.0","v-clipboard":"^2.2.3","vue":"^2.6.14","vue-canvas-poster":"^1.2.1","vue-qr":"^4.0.9","vue-router":"^3.5.1","vuex":"^3.6.2"},"devDependencies":{"@babel/core":"^7.12.16","@babel/eslint-parser":"^7.12.16","@vue/cli-plugin-babel":"~5.0.0","@vue/cli-plugin-eslint":"~5.0.0","@vue/cli-plugin-router":"~5.0.0","@vue/cli-plugin-vuex":"~5.0.0","@vue/cli-service":"~5.0.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","eslint-plugin-vue":"^8.0.3","prettier":"^2.4.1","sass":"^1.32.7","sass-loader":"^12.0.0","vue-template-compiler":"^2.6.14"},"rules":{"generator-star-spacing":"off","no-tabs":"off","no-unused-vars":"off","no-console":"off","no-irregular-whitespace":"off","no-debugger":"off"}}'),Ks=s(8701),Hs=s.n(Ks),Xs={name:"lemonMessageVoice",inheritAttrs:!1,inject:["IMUI"],render(){const t=arguments[0];return t("lemon-message-basic",Hs()([{class:"lemon-message-voice"},{props:{...this.$attrs}},{attrs:{reverse:this.$attrs.reverse,message:this.$attrs.message,hideName:this.$attrs.hideName,hideTime:this.$attrs.hideTime},scopedSlots:{content:e=>t("div",{class:["voice-card lz-flex lz-justify-content-start lz-align-items-center",{"im-rows-reverse":this.$attrs.reverse}],style:{width:3*e.extends.duration+"px"}},[t("div",{class:["iconfont icon-im-yuyin f-16",{"voice-icon":e.isPlay},{rotate180:this.$attrs.reverse}]}),"  ",t("div",[e.extends.duration,'"'])])}}]))}},ti=Xs,ei=(0,d.Z)(ti,Gs,zs,!1,null,null,null),si=ei.exports,ii={name:"lemonMessageVideo",inheritAttrs:!1,inject:["IMUI"],render(){const t=arguments[0];return t("lemon-message-basic",Hs()([{class:"lemon-message-video"},{props:{...this.$attrs}},{attrs:{reverse:this.$attrs.reverse,message:this.$attrs.message,hideName:this.$attrs.hideName,hideTime:this.$attrs.hideTime},scopedSlots:{content:e=>t("div",{class:["video-card"],style:{}},[t("el-image",{style:"max-height: 200px",attrs:{src:e.extends.poster,fit:"cover"}},[t("div",{slot:"error",class:"image-slot"},[t("i",{class:"el-icon-picture-outline"})])]),t("div",{class:"video-shadow"},[t("div",{class:"el-icon el-icon-video-play c-white f-28 video-icon"})])])}}]))}},ai=ii,ni=(0,d.Z)(ai,Js,Os,!1,null,null,null),oi=ni.exports,ri={name:"lemonMessageWebrtc",inheritAttrs:!1,inject:["IMUI"],render(){const t=arguments[0];return t("lemon-message-basic",Hs()([{class:"lemon-message-webrtc"},{props:{...this.$attrs}},{attrs:{reverse:this.$attrs.reverse,message:this.$attrs.message,hideName:this.$attrs.hideName,hideTime:this.$attrs.hideTime},scopedSlots:{content:e=>t("div",{class:["voice-card lz-flex lz-justify-content-start lz-align-items-center",{"im-rows-reverse":this.$attrs.reverse}],style:""},[t("div",{class:["el-icon f-16",{"el-icon-phone-outline":0==e.extends.type},{"el-icon-video-camera":1==e.extends.type},{rotate180:this.$attrs.reverse}]}),"  ",t("div",[e.content])])}}]))}},li=ri,ci=(0,d.Z)(li,$s,qs,!1,null,null,null),di=ci.exports,ui=s(3817),pi={name:"lemonMessageFile",inheritAttrs:!1,render(){const t=arguments[0];return t("lemon-message-basic",Hs()([{class:"lemon-message-file"},{props:{...this.$attrs}},{scopedSlots:{content:e=>[t("div",{class:"lemon-message-file__inner"},[t("p",{class:"lemon-message-file__name"},[e.fileName]),t("p",{class:"lemon-message-file__byte"},[(0,ui.hR)(e.fileSize)])]),t("div",{class:"lemon-message-file__sfx"},[t("img",{attrs:{src:e.extUrl},style:"width:34px;height:42px"})])]}}]))}},mi=pi,hi=(0,d.Z)(mi,Ys,Zs,!1,null,"8e81f66c",null),gi=hi.exports;const fi={getTaskList:t=>Us({url:"/manage/Task/getTaskList",method:"post",data:t}),startTask:t=>Us({url:"/manage/Task/startTask",method:"post",data:t}),stopTask:t=>Us({url:"/manage/Task/stopTask",method:"post",data:t}),getTaskLog:t=>Us({url:"/manage/Task/getTaskLog",method:"post",data:t}),clearTaskLog:t=>Us({url:"/manage/Task/clearTaskLog",method:"post",data:t})};var vi=fi;const Ci={setConfig:t=>Us({url:"manage/config/setConfig",method:"post",data:t}),getConfig:t=>Us({url:"manage/config/getConfig",method:"post",data:t}),getAllConfig:t=>Us({url:"manage/config/getAllConfig",method:"post",data:t}),getInviteLink:t=>Us({url:"manage/config/getInviteLink",method:"post",data:t}),sendTestEmail:t=>Us({url:"manage/config/sendTestEmail",method:"post",data:t})};var bi=Ci;const yi={getUserList:t=>Us({url:"/manage/User/index",method:"post",data:t}),addUser:t=>Us({url:"/manage/User/add",method:"post",data:t}),editUser:t=>Us({url:"/manage/User/edit",method:"post",data:t}),delUser:t=>Us({url:"/manage/User/del",method:"post",data:t}),getUserDetail:t=>Us({url:"/manage/User/detail",method:"post",data:t}),editPassword:t=>Us({url:"/manage/User/editPassword",method:"post",data:t}),setStatus:t=>Us({url:"/manage/User/setStatus",method:"post",data:t}),setRole:t=>Us({url:"/manage/User/setRole",method:"post",data:t})};var wi=yi;const xi={getGroupList:t=>Us({url:"/manage/Group/index",method:"post",data:t}),addGroupUser:t=>Us({url:"/manage/Group/addGroupUser",method:"post",data:t}),delGroupUser:t=>Us({url:"/manage/Group/delGroupUser",method:"post",data:t}),changeOwner:t=>Us({url:"/manage/Group/changeOwner",method:"post",data:t}),setManager:t=>Us({url:"/manage/Group/setManager",method:"post",data:t}),delGroup:t=>Us({url:"/manage/Group/del",method:"post",data:t})};var Ai=xi;const ki={getContactsAPI:t=>Us({url:"enterprise/im/getContacts",method:"post",data:t}),sendMessageAPI:t=>Us({url:"enterprise/im/sendMessage",method:"post",data:t}),forwardMessageAPI:t=>Us({url:"enterprise/im/forwardMessage",method:"post",data:t}),sendToMsg:t=>Us({url:"enterprise/im/sendToMsg",method:"post",data:t})};ki.forwardMessageAPI=t=>Us({url:"enterprise/im/forwardMessage",method:"post",data:t}),ki.sendFileAPI=t=>Us({url:"common/upload/uploadFile",method:"post",data:t,headers:{"Content-Type":"multipart/form-data"}}),ki.getMessageListAPI=t=>Us({url:"enterprise/im/getMessageList",method:"post",data:t}),ki.setMsgIsReadAPI=t=>Us({url:"enterprise/im/setMsgIsRead",method:"post",data:t}),ki.undoMessageAPI=t=>Us({url:"enterprise/im/undoMessage",method:"post",data:t}),ki.removeMessageAPI=t=>Us({url:"enterprise/im/removeMessage",method:"post",data:t}),ki.settingAPI=t=>Us({url:"enterprise/im/setting",method:"post",data:t}),ki.editGroupNameAPI=t=>Us({url:"enterprise/group/editGroupName",method:"post",data:t}),ki.groupUserListAPI=t=>Us({url:"enterprise/group/groupuserlist",method:"post",data:t}),ki.getAllUserAPI=t=>Us({url:"enterprise/group/getAllUser",method:"post",data:t}),ki.addGroupAPI=t=>Us({url:"enterprise/group/add",method:"post",data:t}),ki.setManagerAPI=t=>Us({url:"enterprise/group/setManager",method:"post",data:t}),ki.removeUserAPI=t=>Us({url:"enterprise/group/removeUser",method:"post",data:t}),ki.addGroupUserAPI=t=>Us({url:"enterprise/group/addGroupUser",method:"post",data:t}),ki.removeGrouprAPI=t=>Us({url:"enterprise/group/removeGroup",method:"post",data:t}),ki.setNoticeAPI=t=>Us({url:"enterprise/group/setNotice",method:"post",data:t}),ki.groupSettingAPI=t=>Us({url:"enterprise/group/groupSetting",method:"post",data:t}),ki.getGroupInfoAPI=t=>Us({url:"enterprise/group/groupInfo",method:"post",data:t}),ki.changeOwnerAPI=t=>Us({url:"enterprise/group/changeOwner",method:"post",data:t}),ki.isNoticeAPI=t=>Us({url:"enterprise/im/isNotice",method:"post",data:t}),ki.setChatTopAPI=t=>Us({url:"enterprise/im/setChatTop",method:"post",data:t}),ki.getUserInfo=t=>Us({url:"enterprise/im/getUserInfo",method:"post",data:t}),ki.getFileList=t=>Us({url:"enterprise/files/index",method:"post",data:t}),ki.updateUserInfo=t=>Us({url:"enterprise/im/updateUserInfo",method:"post",data:t}),ki.editAccount=t=>Us({url:"enterprise/im/editAccount",method:"post",data:t}),ki.editPassword=t=>Us({url:"enterprise/im/editpassword",method:"post",data:t}),ki.searchUser=t=>Us({url:"enterprise/im/searchUser",method:"post",data:t});var _i=ki;const Ii={getApplyList:t=>Us({url:"enterprise/friend/index",method:"post",data:t}),addFriend:t=>Us({url:"enterprise/friend/add",method:"post",data:t}),delFriend:t=>Us({url:"enterprise/friend/del",method:"post",data:t}),acceptFriend:t=>Us({url:"enterprise/friend/update",method:"post",data:t}),setNickname:t=>Us({url:"enterprise/friend/setNickname",method:"post",data:t}),getApplyMsg:t=>Us({url:"enterprise/friend/getApplyMsg",method:"post",data:t})};var Si=Ii,Ui={taskApi:vi,configApi:bi,userApi:wi,groupApi:Ai,imApi:_i,commonApi:Ms,friendApi:Si};i["default"].use(x),i["default"].use(T),i["default"].use(h(),{size:"small"}),i["default"].use(B()),i["default"].use(Ns),i["default"].use(Ls()),i["default"].config.productionTip=!1,i["default"].prototype.$packageData=Ws,i["default"].component(oi.name,oi),i["default"].component(si.name,si),i["default"].component(di.name,di),i["default"].component(gi.name,gi),i["default"].prototype.$api=Ui,new i["default"]({el:"#app",router:ps,store:Ns,components:{App:p},template:""})},3817:function(t,e,s){"use strict";function i(t){let e=new Array(" B"," KB"," MB"," GB"," TB"),s=t+"B";for(let i=0;t>=1024&&i<4;i++)t/=1024,s=t.toFixed(2)+e[i+1];return s}function a(t){var e="https://file.lcoce.com/ext/",s=t.split("."),i=s[s.length-1],a=i.toUpperCase(),n=["jpg","jpeg","png","bmp","gif","pdf","mp3","wav","wmv","amr","mp4","3gp","avi","m2v","mkv","mov","webp","ppt","pptx","doc","docx","xls","xlsx","pdf"];return n.includes(a)?e+a+".png":e+"icon/document.svg"}function n(t,e){let s=document.createElement("a"),i=t.split(".").pop(),a=["jpg","jpeg","png","bmp","gif","pdf","mp3","wav","wmv","amr","mp4","3gp","avi","m2v","mkv","mov","webp"];-1!==a.indexOf(i)?s.download=e||"pic":s.download=e||"file",s.href=t,s.click()}s.d(e,{AC:function(){return a},LR:function(){return n},hR:function(){return i}})},2325:function(t,e,s){"use strict";s.d(e,{L4:function(){return n},NW:function(){return l},Nj:function(){return a},hT:function(){return r},i$:function(){return o},iu:function(){return i}});s(2801),s(7658),s(3408),s(4590);function i(t,e,s){if("object"!==typeof t)return!1;for(var i=[],a=0;t.length>a;a++)if("object"==typeof e)for(var n=0;e.length>n;n++){var o=e[n],r=t[a][o];if(-1!=r.indexOf(s)){i.push(t[a]);break}}else{r=t[a][e];-1!=r.indexOf(s)&&i.push(t[a])}return i}function a(t,e,s){s="undefined"!==typeof s&&s;for(var i=[],a=0;a=i)return r("H:i",t/1e3);if(s>=a&&s=n&&s=o&&s>0},W:function(){var t,e=l.z(),i=364+l.L()-e,a=(new Date(s.getFullYear()+"/1/1").getDay()||7)-1;return i<=2&&(s.getDay()||7)-1<=2-i?1:e<=2&&a>=4&&e>=6-a?(t=new Date(s.getFullYear()-1+"/12/31"),r("W",Math.round(t.getTime()/1e3))):1+(a<=3?(e+a)/7:(e-(7-a))/7)>>0},F:function(){return o[l.n()]},m:function(){return i(l.n(),2)},M:function(){return l.F().substr(0,3)},n:function(){return s.getMonth()+1},t:function(){var t;return 2===(t=s.getMonth()+1)?28+l.L():1&t&&t<8||!(1&t)&&t>7?31:30},L:function(){var t=l.Y();return 3&t||!(t%100)&&t%400?0:1},Y:function(){return s.getFullYear()},y:function(){return(s.getFullYear()+"").slice(2)},a:function(){return s.getHours()>11?"pm":"am"},A:function(){return l.a().toUpperCase()},B:function(){var t=60*(s.getTimezoneOffset()+60),e=3600*s.getHours()+60*s.getMinutes()+s.getSeconds()+t,i=Math.floor(e/86.4);return i>1e3&&(i-=1e3),i<0&&(i+=1e3),1===String(i).length&&(i="00"+i),2===String(i).length&&(i="0"+i),i},g:function(){return s.getHours()%12||12},G:function(){return s.getHours()},h:function(){return i(l.g(),2)},H:function(){return i(s.getHours(),2)},i:function(){return i(s.getMinutes(),2)},s:function(){return i(s.getSeconds(),2)},O:function(){var t=i(Math.abs(s.getTimezoneOffset()/60*100),4);return t=s.getTimezoneOffset()>0?"-"+t:"+"+t,t},P:function(){var t=l.O();return t.substr(0,3)+":"+t.substr(3,2)},c:function(){return l.Y()+"-"+l.m()+"-"+l.d()+"T"+l.h()+":"+l.i()+":"+l.s()+l.P()},U:function(){return Math.round(s.getTime()/1e3)}};let c="";return t.replace(/[\\]?([a-zA-Z])/g,(function(t,e){return c=t!==e?e:l[e]?l[e]():e,c}))}function l(){var t=(new Date).getTime(),e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var s=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?s:3&s|8).toString(16)}));return e}},5617:function(t){"use strict";t.exports="data:image/png;base64,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"},9072:function(t){"use strict";t.exports="data:image/png;base64,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"},8421:function(t){"use strict";t.exports="data:image/png;base64,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"},8516:function(t){"use strict";t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAYAAAA4E5OyAAAABHNCSVQICAgIfAhkiAAACLJJREFUeF7dXHlsVEUYn3nbgwKKsVyVQyVQEOWoWNrXdrciBkQaQqJIxD8QhG1rRCqJAQLBYiBCYlBEQg/kMDEKeBBTRQwK7ba7LYeCKEohiILcTQC52X3jb7Zsabe7+6555eH7Z7fd75rfft8333wzs5S00ePePay9dDV+OCPSw4yxnpTQXoSwXgyvFK/cDLw/hvfHCF4ZXiX+npKjStLNnWVP7LnSFqZSy5RgdG5PZhphdBQGOIpQlg0QEozoAzg3IKcGxm4FYN+XuHx7ARQzIkuNRzggbk9GDmHSNAxgLKWks5oBRj5njJwDwN8Qqqwuc9ZVG5ERjUcYIPlVGQMJkZbCG/JEGqgui1VQB51bku39VZ1WncI0IK945b4OP1kAQS8BDEldpRUUTEH8fCLFswUlcu1RMxoMA+KuGpZCSeJCRPIUxHOcGSNE8d7KNSU36dVFa10/nzUi1xAg0zwZwyTm2ALmLkaUWs0Dbzmr0MCY1c66PXp16QYk3yM/g6T2BWaM9nqVtSU9vOUKkvpzpU7fd3r06gIk35M1hSmkHIocepTcKVp8cQFktemlTu9arTZoBsRdmVUMIN7SKthWdIwVleb6lmuxSRMg7kp5DqX0HS0C7UqD6nhuWa5viZp9qoDAM0ZRyrbcuSlVbQhaP0ewUzJWLafEBCS/MqMfSovdAONerWrtTAcvucCkwPBy58563ZXq1Orse+IUthuIpdp5kAZsO5iQEBi+IrPuYiTeiB5SvP3JuJOO6xXwjNEGFNqeBZ6ypczlGxtpgRgRkPyqzAKsS1bZfmSmDFQKS121JeEiWgHCQyVeYYdB2NWUPpszw0tOJyYqqeGh0wqQ/MqsJXCl2TYfjxDzULgtLMv1FjcX1gKQKVVpXeJZ0t8owNoZ0Tg02UUm9HmdJLdLacV+7NIhcvzyIbLpyHJyxX/JiHjhPHzWkeJoKloHZ0LCWwCCAqwEBVi+Ec1yt2fJ5NR5qqz1F34my355TZWurQgASikKNuTMxqcJkOnV6Y/SQPw+o+uUZfJW0j6uo6ZxLNs/g9Sf/0kTrdVEfL0jJSh9Q32UJkDMeEevjv3IvLR1mm23m5cQxpZjrVPUwkPcVfJRLOkf1DyqMMISZ40uVjt5CQw/WOryDmgCxO2VB1A//V3XiMKIZw3+kKR2StMswm5ewuLYI2VZvj+CISNiNTuyx8TgDKPnKfBk6yG3lDa0Gm4EpEquRbhkmNHIp9rF6Z9rFtFw7RSZt+s5zfRWE6LDVodyPpO+uj29u98RdwKAqLYC1IzSEzbr6xcT3+lv1US22ecABK3YGz0ovGM8wPhKhOa7tRZpGjtlY6jIhRyvQxanf0GSVOoRm80wt/EgyhQqulc6OXU+kbuNiepwdptdmhvK1zY8ZNYhZCaLCBkuQy252i13tACEsPUckB0AJFcUIFxOrOTqO72FrK9fJFKdQFlsK3JI1h+Q2F+gVJJ63+Nk1qAVEUXyle58TLd2WfGGGbkPOUQ+jxVuJ5GAqHnJpiMfkB/+2SBapWl5vB1gGSCxFnx29ZIgIFaETOirijXj7G2oIiUH5pr+VgULOGhJUg0ZqVaX2C10UK1WApCsz1CzTxSMdJM43lYsGBh9F3QjWoo//rPRKvW65KJ230DzK+X3sYyZqYtTJ3HhwCVkSLIzKhcPn4+xtok28/BZS+46Jthe4IWdZX1ZNIp4UrV8I5uHzqzBK0nPDn2jgsLB+PHEhqC3hIDhQOT1ntqqz8I/r/j7I+GehZB5gxZUZb6Ms6Oaz0/odI4mcrV8EiLkg90Hj+HeEKl731w/7+Rv+vMDYf1ZhZAXqYhumVaQ+FQ8a9CHqos/rfJCdHy24mFn9uFds2APxMqpN9xIDgqfjmOFj96BCVowBvuqjYC08W4dDx8OSqxEqwcUIYAwsrQ01zsnCMi06oxMh+Lw6TFCBG1e71dI3oNTTYsSAUhACsirc+rQSr31oB5BG5G03oM0bW5sASJCyDQgjJ3Cvkxw7EI2qkRgxr1lZI8XDCVcs4A0385sAqSgJusxxU/2Gt3KFAEKzy0T+hTF7LhF0rOvwUNWHZhjyAS+lckcN4eU5+z6rYWH8D9Ed88MWQgmXn9wj4nVimwuu+KvNcFCzcgTdbObCyvwZT6k3JB+N3ocwohBsXhCwAxF2R+rcT1v1/Ok4dpJ3erhHddwLr5383PxEQ7MWL+20Ws5DyW521jy1AMvwHu6t2A31aO9NdU2F9gKEOSSroqf1VvRRdMLRCR6PisNud9FrgYuBatTI57RKJddvClJPdfk1PwbE5BgLrmbj3FrRD3ayeZYxzJ3YFa2z260xoFqImPEl6IkuIpH7PCH00fdz3VvH9aZOhL5MZ/gjcn/ywPPOB7fLjB0ZcbOhkhjin202zN8CGG8pKdJ/w9A2EXMLDk4U7Y/2nhUd/yxEn4eCQh7BnfqPp2or4IpCmWjy52122JJVAWkMcla31UTNexocoRdDwkpwCmBGYxJ793J0t4IaLw0x/3eN8tcte9p4dfkIbdBkUfi/Zd3z3UR5AxJGV+WU7ddCxicRhcgnKGwOrt/IKBsRuEWPLVn4+egQv3jYt2N0T3LRBts410a5UucGnjanoCwClShk8KrUC226vaQkNBitOpPeDKn4o7/InhLNy3K2oDmDAY0v7vT+1ExJWii638MAxJSdevm1XzKyEwEYKJ+E8xzBO/oEvIuvOJdI17R3ALTgISEFXrS+ygs/m0YN0nEiUYtMAVPDjLyqaIos1ePqDuuhUeNRhggIUW8YS0pjiLYmodQ6qBmgJHPUVNcxvZrhSIF3ueNYSMyovEIBySkaMahvonXT3blSRfHPsk4vJq9oXUGm9FfQ87mxJQz21b0O3xdJBAhWZYBEm7s9Eo5S6LkafzwDDo8rDNlNBk5Jxme1Bn/S+b0+NGYBnzz5xAGDYziPaHn8L9T+C2MbeW5Pq8VAITL/A83l1qQVy0bmwAAAABJRU5ErkJggg=="},2414:function(t){"use strict";t.exports="data:image/png;base64,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"},2942:function(t){"use strict";t.exports="data:image/png;base64,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"},7420:function(t,e,s){"use strict";t.exports=s.p+"assets/media/calling.69742e4c.mp3"},1739:function(t,e,s){"use strict";t.exports=s.p+"assets/media/guaduan.c0b3124b.mp3"},444:function(t,e,s){"use strict";t.exports=s.p+"assets/media/notify.3d49176d.mp3"},1315:function(t,e,s){"use strict";t.exports=s.p+"assets/media/notify.7668dd76.ogg"},8611:function(t,e,s){"use strict";t.exports=s.p+"assets/media/notify.e6953ff1.wav"},4654:function(){}},e={};function s(i){var a=e[i];if(void 0!==a)return a.exports;var n=e[i]={id:i,loaded:!1,exports:{}};return t[i].call(n.exports,n,n.exports,s),n.loaded=!0,n.exports}s.m=t,function(){s.amdO={}}(),function(){var t=[];s.O=function(e,i,a,n){if(!i){var o=1/0;for(d=0;d=n)&&Object.keys(s.O).every((function(t){return s.O[t](i[l])}))?i.splice(l--,1):(r=!1,n0&&t[d-1][2]>n;d--)t[d]=t[d-1];t[d]=[i,a,n]}}(),function(){s.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return s.d(e,{a:e}),e}}(),function(){s.d=function(t,e){for(var i in e)s.o(e,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})}}(),function(){s.f={},s.e=function(t){return Promise.all(Object.keys(s.f).reduce((function(e,i){return s.f[i](t,e),e}),[]))}}(),function(){s.u=function(t){return"assets/js/"+t+"."+{133:"3a1dfa9e",142:"e41fdf4c",173:"a7484acb",567:"9401aef7",584:"ee3c939b",716:"8e7f0ce2"}[t]+".js"}}(),function(){s.miniCssF=function(t){return"assets/css/"+t+"."+{133:"7f9367b6",142:"44e0da9b",173:"fc941ab9",567:"08ec972a",584:"265b8ce0",716:"e408d166"}[t]+".css"}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){var t={},e="Raingad-IM:";s.l=function(i,a,n,o){if(t[i])t[i].push(a);else{var r,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d