|
/g,"\r\n").replace(/<\/div>|<\/p>/g,""))},_checkSubmitDisabled:function(){this.submitDisabled=!this.$refs.textarea.innerHTML.trim()},_handleSend:function(t){var e=this.getFormatValue();this.$emit("send",e),this.clear(),this._checkSubmitDisabled()},_handleChangeFile:function(t){var e=this,n=this.$refs.fileInput;Array.from(n.files).forEach(function(t){e.$emit("upload",t)}),n.value=""},clear:function(){this.$refs.textarea.innerHTML=""},initEmoji:function(t){St=t,this.$forceUpdate()}}},Ct=Ot,jt=(n("49c2"),s(Ct,vt,mt,!1,null,null,null)),kt=jt.exports,Et={name:"LemonMessages",components:{},props:{hideName:Boolean,hideTime:Boolean,reverseUserId:String,timeRange:{type:Number,default:1},timeFormat:{type:Function,default:function(t){return tt(t)}},messages:{type:Array,default:function(){return[]}}},data:function(){return{_loading:!1,_loadend:!1}},render:function(){var t=this,e=arguments[0];return e("div",{class:"lemon-messages",ref:"wrap",on:{scroll:this._handleScroll}},[e("div",{class:["lemon-messages__load","lemon-messages__load--".concat(this._loadend?"end":"ing")]},[this._loadend?this._renderLoadEnd():this._renderLoading()]),this.messages.map(function(n,r){var i,o=[],c="lemon-message-".concat(n.type),a=t.messages[r-1];return a&&t.msecRange&&n.sendTime-a.sendTime>t.msecRange&&o.push(e("lemon-message-event",G()([{},{attrs:{message:{id:"__time__",type:"event",content:tt(n.sendTime)}}}]))),i="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},o.push(e(c,G()([{ref:"message",refInFor:!0},{attrs:i}]))),o})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=p(regeneratorRuntime.mark(function t(e){var n,r,i=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=7;break}return this._loading=!0,t.next=5,this.$nextTick();case 5:r=n.scrollHeight,this.$emit("reach-top",function(){var t=p(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,i.$nextTick();case 2:n.scrollTop=n.scrollHeight-r,i._loading=!1,i._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 7:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=p(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},Mt=Et,Tt=(n("436f"),s(Mt,gt,bt,!1,null,null,null)),Pt=Tt.exports,Lt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,r=n.fromUser,i=n.status,o=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(i),{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:r.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[r.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(o)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[J(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[J(this.IMUI.$scopedSlots["message-after"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[e("i",{class:"lemon-icon-loading lemonani-spin"}),e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}}),this._renderStatue(i)])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)},_renderStatue:function(t){}}},It=Lt,At=(n("fbd1"),s(It,yt,_t,!1,null,null,null)),$t=At.exports;function Rt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function Ft(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===Ae[t.toContactId])this.updateContact(t.toContactId,{unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?1==e&&this.messageViewToBottom():n.unread="+1",this.updateContact(t.toContactId,n)}},_emitSend:function(t,e,n){var r=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),r.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact(n.toContactId,{lastContent:e.lastContentRender(n),lastSendTime:n.sendTime})})},_handleUpload:function(t){var e,n=this,r=["image/gif","image/jpeg","image/png"];e=r.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var i=this._createMessage(e);this.appendMessage(i,!0),this._emitSend(i,function(){n.updateContact(i.toContactId,{lastContent:n.lastContentRender(i),lastSendTime:i.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,r),1==r&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(r)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],r=[];return this.menus.forEach(function(i){var o=i.name,c=i.title,a=i.unread,s=i.render,u=i.click,f=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==o}],on:{click:function(){nt(u,function(){o&&t.changeMenu(o)})}},attrs:{title:c}},[e("lemon-badge",{attrs:{count:a}},[s(i)])]);!0===i.isBottom?r.push(f):n.push(f)}),{top:n,bottom:r}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([J(this.$scopedSlots["sidebar-message-top"]),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],we)},_renderContact:function(t,e,n){var r=this,i=this.$createElement,o=t.contact,c=o.click,a=o.renderContainer,s=o.id,u=function(){nt(c,function(){e(),r._customContainerReady(a,r.CacheContactContainer,s)})};return i("lemon-contact",G()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id}},{props:t},{on:{click:u},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([J(this.$scopedSlots["sidebar-contact-top"]),this.contacts.map(function(r){if(r.index){r.index=r.index.replace(/\[[0-9]*\]/,"");var i=[r.index!==t&&n("p",{class:"lemon-sidebar__label"},[r.index]),e._renderContact({contact:r,simple:!0},function(){e.changeContact(r.id)},e.$scopedSlots["sidebar-contact"])];return t=r.index,i}})],Se)},_renderSidebar:function(t,e){var n=this.$createElement;return n("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}]},[t])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Re(),J(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],r="lemon-container",i=this.currentContact,o=!0;for(var c in this.CacheContactContainer.get()){var a=i.id==c&&this.currentIsDefSidebar;o=!a,n.push(e("div",{class:r,directives:[{name:"show",value:a}]},[this.CacheContactContainer.get(c)]))}for(var s in this.CacheMenuContainer.get())n.push(e("div",{class:r,directives:[{name:"show",value:this.activeSidebar==s&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(s)]));return n.push(e("div",{class:r,directives:[{name:"show",value:this._menuIsMessages()&&o&&i.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[J(this.$scopedSlots["message-title"],i.displayName,i)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:r,directives:[{name:"show",value:!i.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:r,directives:[{name:"show",value:this._menuIsContacts()&&o&&i.id}]},[J(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:i.avatar,size:90}}),e("h4",[i.displayName]),e("lemon-button",{on:{click:function(){t.changeContact(i.id,we)}}},["发送消息"])]),i)])),n},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var r,i={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),Ae[e]=Ae[e]||[],(r=Ae[e])[i].apply(r,xe(t))},setLastContentRender:function(t,e){Ce[t]=e},lastContentRender:function(t){return Y(Ce[t.type])?Ce[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},replaceEmojiName:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return $e[n]?'
'):"[!".concat(e,"]")})},updateCurrentMessages:function(){Ae[this.currentContactId]||(Ae[this.currentContactId]=[]),this.currentMessages=Ae[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=p(regeneratorRuntime.mark(function t(e,n){var r=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!n){t.next=4;break}this.changeMenu(n),t.next=6;break;case 4:if(!this._changeContactLock&&this.currentContactId!=e){t.next=6;break}return t.abrupt("return",!1);case 6:if(this.currentContactId=e,this.$emit("change-contact",this.currentContact,this),!Y(this.currentContact.renderContainer)){t.next=10;break}return t.abrupt("return");case 10:this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Ae[e]?setTimeout(function(){r.updateCurrentMessages(),r.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return r.messageViewToBottom()}));case 12:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=Ae[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return Ae[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;delete t.toContactId;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){Y(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){this.$refs.editor.initEmoji(t),t[0].label&&(t=t.flatMap(function(t){return t.children})),t.forEach(function(t){var e=t.name,n=t.src;return $e[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,r=[{name:we,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Se,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],i=[];if(Array.isArray(t)){var o={messages:0,contacts:1},c=Object.keys(o);i=t.map(function(t){return c.includes(t.name)?Pe({},r[o[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else i=r;this.menus=i},initContacts:function(t){var e;(e=this.contacts).push.apply(e,xe(t)),this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},updateContact:function(t,e){delete e.id,delete e.toContactId;var n=this.findContactIndexById(t);if(-1!==n){var r=e.unread;z(r)&&(0!==r.indexOf("+")&&0!==r.indexOf("-")||(e.unread=parseInt(r)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Pe({},this.contacts[n],{},e))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},findMessage:function(t){return Object.values(Ae).flat().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},getMessages:function(t){return(t?Ae[t]:Ae)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Re=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},De=Fe,Ne=(n("9b01"),s(De,Le,Ie,!1,null,null,null)),Be=Ne.exports,Ve=(n("6a2b"),"0.1"),Ue=[Be,lt,Pt,kt,V,F,I,M,f,$t,Gt,Zt,ae,le],Ge=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];Ue.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&Ge(window.Vue);var He={version:Ve,install:Ge};e["default"]=He},fbd1:function(t,e,n){"use strict";var r=n("820e"),i=n.n(r);i.a},fdef:function(t,e){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"}})});
\ No newline at end of file
diff --git a/examples/App.vue b/examples/App.vue
index 7d9c222..081968c 100644
--- a/examples/App.vue
+++ b/examples/App.vue
@@ -71,6 +71,10 @@
{{ contact.displayName }}
{{($refs.SlotIMUI ? $refs.SlotIMUI.drawerVisible : false) ? '关闭' : '打开'}}抽屉
+
+ 未读
+
+
自定义联系人信息 {{ contact.displayName }}
@@ -567,6 +571,11 @@
消息列表的标题 |
Contact |
+
+ | message-after |
+ 每条消息的尾部 |
+ Message |
+
| sidebar-message |
左侧最新消息列表插槽 |
diff --git a/examples/dist/css/index.28bed5a5.css b/examples/dist/css/index.436859f0.css
similarity index 56%
rename from examples/dist/css/index.28bed5a5.css
rename to examples/dist/css/index.436859f0.css
index 3ae45c6..25a3a3b 100644
--- a/examples/dist/css/index.28bed5a5.css
+++ b/examples/dist/css/index.436859f0.css
@@ -1 +1 @@
-.lemon-message.lemon-message-voice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message.lemon-message-voice .lemon-message__content{border:2px solid #000;font-size:12px;cursor:pointer}.lemon-message.lemon-message-voice .lemon-message__content:before{display:none}::-moz-selection{background:#000;color:#fff}::selection{background:#000;color:#fff}body{background:#f6f6f6!important}#app{width:90%;margin:0 auto;padding-bottom:100px}#app .scroll-top{cursor:pointer;position:fixed;bottom:40px;left:50%;border-radius:50%;background:#fff;font-size:18px;overflow:hidden;width:40px;height:40px;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;-webkit-transform:rotate(-45deg) translateX(-50%);transform:rotate(-45deg) translateX(-50%);-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}#app .scroll-top:hover{font-size:22px}a{color:#0c5ed9;text-decoration:none;font-size:12px}.action{margin-top:20px}.action .lemon-button{margin-right:10px;margin-bottom:10px}.link{font-size:14px;margin-top:15px}.link a{margin:0 5px;text-decoration:none;background:#ffba00;border-radius:4px;padding:5px 10px;color:rgba(0,0,0,.8)}.link a,.logo{display:inline-block}.logo{position:relative;margin:60px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.logo-text{font-size:38px}.logo-sub{font-size:18px;color:#999;font-weight:300}.logo-badge{position:absolute;top:-10px;right:-40px;background:#000;border-radius:16px;color:#f9f9f9;font-size:12px;padding:4px 8px}.title{font-size:24px;line-height:26px;border-left:1px solid #ffba00;padding-left:15px;margin-bottom:15px;margin-top:30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table{width:100%;border-radius:10px;background:#fff;border-collapse:collapse}.table tr{cursor:pointer}.table tr:not(.table-head):hover{background:#ffba00!important}.table tr:nth-of-type(2n){background:#f9f9f9}.table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.table td,.table th{text-align:left;padding:10px 15px;font-size:14px;font-weight:400}.imui-center{margin-bottom:60px}.imui-center .lemon-wrapper,.imui-center .lemon-wrapper--drawer-show .lemon-drawer{-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}.drawer-content{padding:15px}.more{font-size:12px;line-height:24px;height:24px;position:absolute;top:14px;right:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#f1f1f1;display:inline-block;border-radius:4px;background:#111;padding:0 8px}.more:active{background:#999}.bar{line-height:30px;background:#fff;margin:15px;color:#666;font-size:12px}.bar,.cover{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cover{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cover i{font-size:84px;color:#e6e6e6}.cover p{font-size:18px;color:#ddd;line-height:50px}.article-item{line-height:34px;cursor:pointer}.article-item:hover{text-decoration:underline;color:#318efd}pre{background:#fff;border-radius:8px;padding:15px}.lemon-simple .lemon-container{z-index:5}.lemon-simple .lemon-drawer{z-index:4}.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.slide-top-enter-active,.slide-top-leave-active{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.slide-top-enter,.slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button:hover:not([disabled]){border-color:#666;color:#333}.lemon-button:active{background-color:#ddd}.lemon-button[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:middle;margin:0 1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-editor,.lemon-editor__tool{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool{height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 5px}.lemon-editor__tool-left,.lemon-editor__tool-right{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool-item{cursor:pointer;padding:4px 10px;height:28px;line-height:24px;color:#999;-webkit-transition:all .3s ease;transition:all .3s ease;font-size:12px}.lemon-editor__tool-item [class^=lemon-icon-]{line-height:26px;font-size:22px}.lemon-editor__tool-item:hover{color:#333}.lemon-editor__tool-item--right{margin-left:auto}.lemon-editor__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:auto}.lemon-editor__inner::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__inner::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__inner::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__inner::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:none;padding:0 10px}.lemon-editor__input::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__input::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__input::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__input::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input div,.lemon-editor__input p{margin:0}.lemon-editor__input img{height:20px;padding:0 2px;pointer-events:none;vertical-align:middle}.lemon-editor__footer{display:-webkit-box;display:-ms-flexbox;display:flex;height:52px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lemon-editor__tip{margin-right:10px;font-size:12px;color:#999}.lemon-editor__emoji,.lemon-editor__tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-editor__emoji .lemon-popover{background:#f6f6f6}.lemon-editor__emoji .lemon-popover__content{padding:0}.lemon-editor__emoji .lemon-popover__arrow{background:#f6f6f6}.lemon-editor__emoji .lemon-tabs-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:200px;overflow-x:hidden;overflow-y:auto;margin-bottom:8px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__emoji-item{cursor:pointer;width:22px;padding:4px;border-radius:4px}.lemon-editor__emoji-item:hover{background:#e9e9e9}.lemon-messages{height:400px;overflow-x:hidden;overflow-y:auto;padding:10px 15px}.lemon-messages::-webkit-scrollbar{width:5px;height:5px}.lemon-messages::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-messages::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-messages::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-messages__load,.lemon-messages__time{text-align:center;font-size:12px}.lemon-messages__load{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999;line-height:30px}.lemon-messages__load--ing{font-size:22px}.lemon-message{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0}.lemon-message__time{color:#b9b9b9;padding:0 5px}.lemon-message__inner{position:relative}.lemon-message__avatar{padding-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message__avatar .lemon-avatar{cursor:pointer}.lemon-message__title{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;line-height:14px;padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#666}.lemon-message__content{font-size:14px;line-height:20px;padding:8px 10px;background:#fff;border-radius:4px;position:relative;margin:0 46px 0 0}.lemon-message__content img,.lemon-message__content video{background:#e9e9e9;height:100px}.lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:-4px;border-left:none;border-right-color:#fff}.lemon-message__status{position:absolute;top:23px;right:20px;color:#aaa;font-size:20px}.lemon-message--reverse,.lemon-message--reverse .lemon-message__title{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__status{left:20px;right:auto}.lemon-message--reverse .lemon-message__content{background:#35d863;margin:0 0 0 46px}.lemon-message--reverse .lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:auto;right:-4px;border-right:none;border-left-color:#35d863}.lemon-message--reverse .lemon-message__title{text-align:right}.lemon-message--reverse .lemon-message__avatar{padding-right:0;padding-left:10px}.lemon-message--hide-name .lemon-message__status{top:3px}.lemon-message--hide-name .lemon-message__title{display:none}.lemon-message--hide-name .lemon-message__content:before{top:14px}.lemon-message-text .lemon-message__content img{width:18px;height:18px;display:inline-block;background:transparent;padding:0 2px;vertical-align:middle}.lemon-message-image .lemon-message__content{padding:0;cursor:pointer;overflow:hidden}.lemon-message-image .lemon-message__content img{max-width:100%;min-width:100px;display:block}.lemon-message-file .lemon-message__content{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;width:200px;background:#fff;padding:12px 18px;overflow:hidden}.lemon-message-file .lemon-message__content p{margin:0}.lemon-message-file__tip{display:none}.lemon-message-file__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.lemon-message-file__name{font-size:14px}.lemon-message-file__byte{font-size:12px;color:#aaa}.lemon-message-file__sfx{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:34px;color:#ccc}.lemon-message-event__content,.lemon-message-file__sfx{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message-event__content{display:inline-block;background:#e9e9e9;color:#aaa;font-size:12px;margin:0 auto;padding:5px 10px;border-radius:4px}.lemon-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;background:#efefef;-webkit-transition:all .4s cubic-bezier(.645,.045,.355,1);transition:all .4s cubic-bezier(.645,.045,.355,1);position:relative}.lemon-wrapper p{margin:0}.lemon-wrapper img{vertical-align:middle;border-style:none}.lemon-menu{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;background:#1d232a;padding:15px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-menu,.lemon-menu__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-menu__bottom{position:absolute;bottom:0}.lemon-menu__avatar{margin-bottom:20px;cursor:pointer}.lemon-menu__item{color:#999;cursor:pointer;padding:14px 10px;max-width:100%;word-break:break-all;word-wrap:break-word;white-space:pre-wrap}.lemon-menu__item--active{color:#0fd547}.lemon-menu__item:hover:not(.lemon-menu__item--active){color:#eee}.lemon-menu__item>*{font-size:24px}.lemon-menu__item .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:16px;min-width:18px}.lemon-menu__item .ant-badge-count,.lemon-menu__item .ant-badge-dot{-webkit-box-shadow:0 0 0 1px #1d232a;box-shadow:0 0 0 1px #1d232a}.lemon-sidebar{width:250px;background:#efefef;overflow-y:auto}.lemon-sidebar::-webkit-scrollbar{width:5px;height:5px}.lemon-sidebar::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-sidebar::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-sidebar::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-sidebar__label{padding:6px 14px 6px 14px;color:#666;font-size:12px;margin:0;text-align:left}.lemon-sidebar .lemon-contact--active{background:#d9d9d9}.lemon-container{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f4f4f4;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;position:relative;z-index:10}.lemon-container__title{padding:15px 15px}.lemon-container__displayname{font-size:16px}.lemon-messages{-webkit-box-flex:1;-ms-flex:1;flex:1;height:auto}.lemon-drawer{position:absolute;top:0;right:0;overflow:hidden;background:#f4f4f4;-webkit-transition:width .4s cubic-bezier(.645,.045,.355,1);transition:width .4s cubic-bezier(.645,.045,.355,1);z-index:9;width:200px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-wrapper--drawer-show .lemon-drawer{right:-200px}.lemon-contact-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.lemon-contact-info h4{font-size:16px;font-weight:400;margin:10px 0 20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-wrapper--theme-blue .lemon-message__content{background:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message__content:before{border-right-color:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content{background:#e6eeff}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content:before{border-left-color:#e6eeff}.lemon-wrapper--theme-blue .lemon-container{background:#fff}.lemon-wrapper--theme-blue .lemon-sidebar,.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact{background:#f9f9f9}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact:hover:not(.lemon-contact--active){background:#f1f1f1}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact--active{background:#e9e9e9}.lemon-wrapper--theme-blue .lemon-menu{background:#096bff}.lemon-wrapper--theme-blue .lemon-menu__item{color:hsla(0,0%,100%,.4)}.lemon-wrapper--theme-blue .lemon-menu__item:hover:not(.lemon-menu__item--active){color:hsla(0,0%,100%,.6)}.lemon-wrapper--theme-blue .lemon-menu__item--active{color:#fff;text-shadow:0 0 10px rgba(2,48,118,.4)}.lemon-wrapper--simple .lemon-menu,.lemon-wrapper--simple .lemon-sidebar{display:none}.lemonani-spin{display:inline-block;-webkit-animation:lemonani-spin 1s infinite;animation:lemonani-spin 1s infinite}@-webkit-keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@font-face{font-family:lemon-icons;src:url(//at.alicdn.com/t/font_1312162_neqltsj20an.eot);src:url(//at.alicdn.com/t/font_1312162_neqltsj20an.eot#iefix) format("embedded-opentype"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.woff2) format("woff2"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.woff) format("woff"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.ttf) format("truetype"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.svg#iconfont) format("svg")}[class*=" lemon-icon-"],[class^=lemon-icon-]{font-family:lemon-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.lemon-icon-loading:before{content:"\E633"}.lemon-icon-prompt:before{content:"\E71B"}.lemon-icon-message:before{content:"\E84A"}.lemon-icon-emoji:before{content:"\E6F6"}.lemon-icon-attah:before{content:"\E7E1"}.lemon-icon-image:before{content:"\E7DE"}.lemon-icon-folder:before{content:"\E7D1"}.lemon-icon-people:before{content:"\E715"}.lemon-icon-group:before{content:"\E6FF"}.lemon-icon-addressbook:before{content:"\E6E2"}
\ No newline at end of file
+.lemon-message.lemon-message-voice{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message.lemon-message-voice .lemon-message__content{border:2px solid #000;font-size:12px;cursor:pointer}.lemon-message.lemon-message-voice .lemon-message__content:before{display:none}::-moz-selection{background:#000;color:#fff}::selection{background:#000;color:#fff}body{background:#f6f6f6!important}#app{width:90%;margin:0 auto;padding-bottom:100px}#app .scroll-top{cursor:pointer;position:fixed;bottom:40px;left:50%;border-radius:50%;background:#fff;font-size:18px;overflow:hidden;width:40px;height:40px;line-height:40px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;-webkit-transform:rotate(-45deg) translateX(-50%);transform:rotate(-45deg) translateX(-50%);-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}#app .scroll-top:hover{font-size:22px}a{color:#0c5ed9;text-decoration:none;font-size:12px}.action{margin-top:20px}.action .lemon-button{margin-right:10px;margin-bottom:10px}.link{font-size:14px;margin-top:15px}.link a{margin:0 5px;text-decoration:none;background:#ffba00;border-radius:4px;padding:5px 10px;color:rgba(0,0,0,.8)}.link a,.logo{display:inline-block}.logo{position:relative;margin:60px auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.logo-text{font-size:38px}.logo-sub{font-size:18px;color:#999;font-weight:300}.logo-badge{position:absolute;top:-10px;right:-40px;background:#000;border-radius:16px;color:#f9f9f9;font-size:12px;padding:4px 8px}.title{font-size:24px;line-height:26px;border-left:1px solid #ffba00;padding-left:15px;margin-bottom:15px;margin-top:30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table{width:100%;border-radius:10px;background:#fff;border-collapse:collapse}.table tr{cursor:pointer}.table tr:not(.table-head):hover{background:#ffba00!important}.table tr:nth-of-type(2n){background:#f9f9f9}.table th{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.table td,.table th{text-align:left;padding:10px 15px;font-size:14px;font-weight:400}.imui-center{margin-bottom:60px}.imui-center .lemon-wrapper,.imui-center .lemon-wrapper--drawer-show .lemon-drawer{-webkit-box-shadow:0 0 30px rgba(0,0,0,.1);box-shadow:0 0 30px rgba(0,0,0,.1)}.drawer-content{padding:15px}.more{font-size:12px;line-height:24px;height:24px;position:absolute;top:14px;right:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#f1f1f1;display:inline-block;border-radius:4px;background:#111;padding:0 8px}.more:active{background:#999}.bar{line-height:30px;background:#fff;margin:15px;color:#666;font-size:12px}.bar,.cover{text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cover{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.cover i{font-size:84px;color:#e6e6e6}.cover p{font-size:18px;color:#ddd;line-height:50px}.article-item{line-height:34px;cursor:pointer}.article-item:hover{text-decoration:underline;color:#318efd}pre{background:#fff;border-radius:8px;padding:15px}.lemon-simple .lemon-container{z-index:5}.lemon-simple .lemon-drawer{z-index:4}.lemon-tabs{background:#f6f6f6}.lemon-tabs-content{padding:15px}.lemon-tabs-content,.lemon-tabs-content__pane{width:100%;height:100%}.lemon-tabs-nav{display:-webkit-box;display:-ms-flexbox;display:flex;background:#eee}.lemon-tabs-nav__item{line-height:38px;padding:0 15px;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.lemon-tabs-nav__item--active{background:#f6f6f6}.lemon-popover{border:1px solid #eee;font-size:14px;font-variant:tabular-nums;line-height:1.5;color:rgba(0,0,0,.65);z-index:10;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);position:absolute;-webkit-transform-origin:50% 150%;transform-origin:50% 150%}.lemon-popover__content{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;z-index:1}.lemon-popover__arrow{left:50%;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);position:absolute;z-index:0;bottom:-4px;-webkit-box-shadow:3px 3px 7px rgba(0,0,0,.07);box-shadow:3px 3px 7px rgba(0,0,0,.07);width:8px;height:8px;background:#fff}.slide-top-enter-active,.slide-top-leave-active{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1)}.slide-top-enter,.slide-top-leave-to{-webkit-transform:translateY(-10px) scale(.8);transform:translateY(-10px) scale(.8);opacity:0}.lemon-button{outline:none;line-height:1.499;display:inline-block;font-weight:400;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap;padding:0 15px;font-size:14px;border-radius:4px;height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);color:rgba(0,0,0,.65);background-color:#fff;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);text-shadow:0 -1px 0 rgba(0,0,0,.12)}.lemon-button:hover:not([disabled]){border-color:#666;color:#333}.lemon-button:active{background-color:#ddd}.lemon-button[disabled]{cursor:not-allowed;color:#aaa;background:#eee}.lemon-badge{position:relative;display:inline-block}.lemon-badge__label{border-radius:10px;background:#f5222d;color:#fff;text-align:center;font-size:12px;font-weight:400;white-space:nowrap;-webkit-box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px #fff;z-index:10;position:absolute;-webkit-transform:translateX(50%);transform:translateX(50%);-webkit-transform-origin:100%;transform-origin:100%;display:inline-block;padding:0 4px;height:18px;line-height:17px;min-width:10px;top:-4px;right:6px}.lemon-badge__label--dot{width:10px;height:10px;min-width:auto;padding:0;top:-3px;right:2px}.lemon-avatar{font-variant:tabular-nums;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:hsla(0,0%,100%,.7);white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;border-radius:4px}.lemon-avatar img{width:100%;height:100%;display:block}.lemon-contact{padding:10px 14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;background:#efefef;text-align:left}.lemon-contact p{margin:0}.lemon-contact--active{background:#bebdbd}.lemon-contact:hover:not(.lemon-contact--active){background:#e3e3e3}.lemon-contact:hover:not(.lemon-contact--active) .el-badge__content{border-color:#ddd}.lemon-contact__avatar{float:left;margin-right:10px}.lemon-contact__avatar img{display:block}.lemon-contact__avatar .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:18px;min-width:18px;top:-4px;right:7px}.lemon-contact__label{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-contact__time{font-size:12px;line-height:18px;padding-left:6px;color:#999;white-space:nowrap}.lemon-contact__name{display:block;width:100%}.lemon-contact__content,.lemon-contact__name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.lemon-contact__content{font-size:12px;color:#999}.lemon-contact__content img{height:14px;display:inline-block;vertical-align:middle;margin:0 1px}.lemon-contact--name-center .lemon-contact__label{padding-bottom:0;line-height:38px}.lemon-editor{height:200px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-editor,.lemon-editor__tool{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool{height:40px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 5px}.lemon-editor__tool-left,.lemon-editor__tool-right{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-editor__tool-item{cursor:pointer;padding:4px 10px;height:28px;line-height:24px;color:#999;-webkit-transition:all .3s ease;transition:all .3s ease;font-size:12px}.lemon-editor__tool-item [class^=lemon-icon-]{line-height:26px;font-size:22px}.lemon-editor__tool-item:hover{color:#333}.lemon-editor__tool-item--right{margin-left:auto}.lemon-editor__inner{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-x:hidden;overflow-y:auto}.lemon-editor__inner::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__inner::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__inner::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__inner::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:none;padding:0 10px}.lemon-editor__input::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__input::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__input::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__input::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__input div,.lemon-editor__input p{margin:0}.lemon-editor__input img{height:20px;padding:0 2px;pointer-events:none;vertical-align:middle}.lemon-editor__footer{display:-webkit-box;display:-ms-flexbox;display:flex;height:52px;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:0 10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.lemon-editor__tip{margin-right:10px;font-size:12px;color:#999}.lemon-editor__emoji,.lemon-editor__tip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-editor__emoji .lemon-popover{background:#f6f6f6}.lemon-editor__emoji .lemon-popover__content{padding:0}.lemon-editor__emoji .lemon-popover__arrow{background:#f6f6f6}.lemon-editor__emoji .lemon-tabs-content{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:200px;overflow-x:hidden;overflow-y:auto;margin-bottom:8px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar{width:5px;height:5px}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-editor__emoji .lemon-tabs-content::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-editor__emoji-item{cursor:pointer;width:22px;padding:4px;border-radius:4px}.lemon-editor__emoji-item:hover{background:#e9e9e9}.lemon-messages{height:400px;overflow-x:hidden;overflow-y:auto;padding:10px 15px}.lemon-messages::-webkit-scrollbar{width:5px;height:5px}.lemon-messages::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-messages::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-messages::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-messages__load,.lemon-messages__time{text-align:center;font-size:12px}.lemon-messages__load{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999;line-height:30px}.lemon-messages__load--ing{font-size:22px}.lemon-message{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0}.lemon-message__time{color:#b9b9b9;padding:0 5px}.lemon-message__inner{position:relative}.lemon-message__avatar{padding-right:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message__avatar .lemon-avatar{cursor:pointer}.lemon-message__title{font-size:12px;line-height:14px;padding-bottom:6px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#666}.lemon-message__content-flex,.lemon-message__title{display:-webkit-box;display:-ms-flexbox;display:flex}.lemon-message__content{font-size:14px;line-height:20px;padding:8px 10px;background:#fff;border-radius:4px;position:relative;margin:0}.lemon-message__content img,.lemon-message__content video{background:#e9e9e9;height:100px}.lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:-4px;border-left:none;border-right-color:#fff}.lemon-message__content-after{display:block;width:48px;height:36px;padding-left:6px;-webkit-box-flex:0;-ms-flex:none;flex:none;font-size:12px;color:#aaa;overflow:hidden;visibility:hidden}.lemon-message__status{position:absolute;top:23px;right:20px;color:#aaa;font-size:20px}.lemon-message__status .lemon-icon-loading,.lemon-message__status .lemon-icon-prompt{display:none}.lemon-message--status-failed .lemon-icon-prompt,.lemon-message--status-going .lemon-icon-loading{display:inline-block}.lemon-message--status-succeed .lemon-message__content-after{visibility:visible}.lemon-message--reverse,.lemon-message--reverse .lemon-message__content-flex{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__content-after{padding-right:6px;padding-left:0;text-align:right}.lemon-message--reverse .lemon-message__title{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.lemon-message--reverse .lemon-message__status{left:26px;right:auto}.lemon-message--reverse .lemon-message__content{background:#35d863}.lemon-message--reverse .lemon-message__content:before{content:" ";position:absolute;top:6px;width:0;height:0;border:4px solid transparent;left:auto;right:-4px;border-right:none;border-left-color:#35d863}.lemon-message--reverse .lemon-message__title{text-align:right}.lemon-message--reverse .lemon-message__avatar{padding-right:0;padding-left:10px}.lemon-message--hide-name .lemon-message__status{top:3px}.lemon-message--hide-name .lemon-message__title{display:none}.lemon-message--hide-name .lemon-message__content:before{top:14px}.lemon-message-text .lemon-message__content img{width:18px;height:18px;display:inline-block;background:transparent;padding:0 2px;vertical-align:middle}.lemon-message-image .lemon-message__content{padding:0;cursor:pointer;overflow:hidden}.lemon-message-image .lemon-message__content img{max-width:100%;min-width:100px;display:block}.lemon-message-file .lemon-message__content{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;width:200px;background:#fff;padding:12px 18px;overflow:hidden}.lemon-message-file .lemon-message__content p{margin:0}.lemon-message-file__tip{display:none}.lemon-message-file__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.lemon-message-file__name{font-size:14px}.lemon-message-file__byte{font-size:12px;color:#aaa}.lemon-message-file__sfx{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:34px;color:#ccc}.lemon-message-event__content,.lemon-message-file__sfx{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-message-event__content{display:inline-block;background:#e9e9e9;color:#aaa;font-size:12px;margin:0 auto;padding:5px 10px;border-radius:4px}.lemon-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;background:#efefef;-webkit-transition:all .4s cubic-bezier(.645,.045,.355,1);transition:all .4s cubic-bezier(.645,.045,.355,1);position:relative}.lemon-wrapper p{margin:0}.lemon-wrapper img{vertical-align:middle;border-style:none}.lemon-menu{-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:60px;background:#1d232a;padding:15px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-menu,.lemon-menu__bottom{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.lemon-menu__bottom{position:absolute;bottom:0}.lemon-menu__avatar{margin-bottom:20px;cursor:pointer}.lemon-menu__item{color:#999;cursor:pointer;padding:14px 10px;max-width:100%;word-break:break-all;word-wrap:break-word;white-space:pre-wrap}.lemon-menu__item--active{color:#0fd547}.lemon-menu__item:hover:not(.lemon-menu__item--active){color:#eee}.lemon-menu__item>*{font-size:24px}.lemon-menu__item .ant-badge-count{display:inline-block;padding:0 4px;height:18px;line-height:16px;min-width:18px}.lemon-menu__item .ant-badge-count,.lemon-menu__item .ant-badge-dot{-webkit-box-shadow:0 0 0 1px #1d232a;box-shadow:0 0 0 1px #1d232a}.lemon-sidebar{width:250px;background:#efefef;overflow-y:auto}.lemon-sidebar::-webkit-scrollbar{width:5px;height:5px}.lemon-sidebar::-webkit-scrollbar-track-piece{background-color:transparent}.lemon-sidebar::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#aaa}.lemon-sidebar::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:transparent}.lemon-sidebar__label{padding:6px 14px 6px 14px;color:#666;font-size:12px;margin:0;text-align:left}.lemon-sidebar .lemon-contact--active{background:#d9d9d9}.lemon-container{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f4f4f4;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;position:relative;z-index:10}.lemon-container__title{padding:15px 15px}.lemon-container__displayname{font-size:16px}.lemon-messages{-webkit-box-flex:1;-ms-flex:1;flex:1;height:auto}.lemon-drawer{position:absolute;top:0;right:0;overflow:hidden;background:#f4f4f4;-webkit-transition:width .4s cubic-bezier(.645,.045,.355,1);transition:width .4s cubic-bezier(.645,.045,.355,1);z-index:9;width:200px;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.lemon-wrapper--drawer-show .lemon-drawer{right:-200px}.lemon-contact-info{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%}.lemon-contact-info h4{font-size:16px;font-weight:400;margin:10px 0 20px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lemon-wrapper--theme-blue .lemon-message__content{background:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message__content:before{border-right-color:#f3f3f3}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content{background:#e6eeff}.lemon-wrapper--theme-blue .lemon-message--reverse .lemon-message__content:before{border-left-color:#e6eeff}.lemon-wrapper--theme-blue .lemon-container{background:#fff}.lemon-wrapper--theme-blue .lemon-sidebar,.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact{background:#f9f9f9}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact:hover:not(.lemon-contact--active){background:#f1f1f1}.lemon-wrapper--theme-blue .lemon-sidebar .lemon-contact--active{background:#e9e9e9}.lemon-wrapper--theme-blue .lemon-menu{background:#096bff}.lemon-wrapper--theme-blue .lemon-menu__item{color:hsla(0,0%,100%,.4)}.lemon-wrapper--theme-blue .lemon-menu__item:hover:not(.lemon-menu__item--active){color:hsla(0,0%,100%,.6)}.lemon-wrapper--theme-blue .lemon-menu__item--active{color:#fff;text-shadow:0 0 10px rgba(2,48,118,.4)}.lemon-wrapper--simple .lemon-menu,.lemon-wrapper--simple .lemon-sidebar{display:none}.lemonani-spin{display:inline-block;-webkit-animation:lemonani-spin 1s infinite;animation:lemonani-spin 1s infinite}@-webkit-keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes lemonani-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@font-face{font-family:lemon-icons;src:url(//at.alicdn.com/t/font_1312162_neqltsj20an.eot);src:url(//at.alicdn.com/t/font_1312162_neqltsj20an.eot#iefix) format("embedded-opentype"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.woff2) format("woff2"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.woff) format("woff"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.ttf) format("truetype"),url(//at.alicdn.com/t/font_1312162_neqltsj20an.svg#iconfont) format("svg")}[class*=" lemon-icon-"],[class^=lemon-icon-]{font-family:lemon-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block}.lemon-icon-loading:before{content:"\E633"}.lemon-icon-prompt:before{content:"\E71B"}.lemon-icon-message:before{content:"\E84A"}.lemon-icon-emoji:before{content:"\E6F6"}.lemon-icon-attah:before{content:"\E7E1"}.lemon-icon-image:before{content:"\E7DE"}.lemon-icon-folder:before{content:"\E7D1"}.lemon-icon-people:before{content:"\E715"}.lemon-icon-group:before{content:"\E6FF"}.lemon-icon-addressbook:before{content:"\E6E2"}
\ No newline at end of file
diff --git a/examples/dist/index.html b/examples/dist/index.html
index bfab13c..c28be3b 100644
--- a/examples/dist/index.html
+++ b/examples/dist/index.html
@@ -1 +1 @@
-Lemon IMUI
\ No newline at end of file
+Lemon IMUI
\ No newline at end of file
diff --git a/examples/dist/js/index.0fb261d4.js b/examples/dist/js/index.0fb261d4.js
new file mode 100644
index 0000000..ad427e3
--- /dev/null
+++ b/examples/dist/js/index.0fb261d4.js
@@ -0,0 +1 @@
+(function(t){function e(e){for(var a,r,o=e[0],c=e[1],l=e[2],u=0,m=[];u {\n return [语音]\n})\n")]),n("p",[t._v("最后一步,注册组件,必须使用全局注册的方式。")]),n("pre",[t._v("import Vue from 'vue';\nimport LemonMessageVoice from './lemon-message-voice';\nVue.component(LemonMessageVoice.name,LemonMessageVoice);\n")]),n("p",[t._v("如果还有不明白的,可以到 examples/App.vue 查看示例代码")])])])},s=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"link"},[n("span",[t._v("源码下载 ")]),n("a",{attrs:{target:"_blank",href:"https://github.com/fanjyy/lemon-imui"}},[t._v("Github")]),n("a",{attrs:{target:"_blank",href:"https://gitee.com/june000/lemon-im"}},[t._v("Gitee")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("displayName")]),n("td",[t._v("名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("avatar")]),n("td",[t._v("头像")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("index")]),n("td",[t._v("通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("unread")]),n("td",[t._v("未读消息数")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的时间戳,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的内容")]),n("td",[t._v("String | Vnode")]),n("td"),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("status")]),n("td",[t._v("消息发送的状态:going | failed | succeed")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("type")]),n("td",[t._v("消息类型:file | image | text | event")]),n("td",[t._v("String | Vnode")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("sendTime")]),n("td",[t._v("消息发送时间,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("content")]),n("td",[t._v("消息内容,如果type=file,此属性表示文件的URL地址")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fileSize")]),n("td",[t._v("文件大小")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("fileName")]),n("td",[t._v("文件名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("toContactId")]),n("td",[t._v("接收消息的联系人ID")]),n("td",[t._v("String | Number")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fromUser")]),n("td",[t._v("消息发送人的信息")]),n("td",[t._v("Object")]),n("td",[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("user")]),n("td",{attrs:{width:"350"}},[t._v("用户信息")]),n("td",{attrs:{width:"150"}},[t._v("Object")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("width")]),n("td",{attrs:{width:"350"}},[t._v("宽度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("850px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("height")]),n("td",{attrs:{width:"350"}},[t._v("高度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("580px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("theme")]),n("td",{attrs:{width:"350"}},[t._v("主题")]),n("td",{attrs:{width:"150"}},[t._v("default | blue")]),n("td",{attrs:{width:"100"}},[t._v("default")]),n("td",[t._v("主题颜色")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("simple")]),n("td",{attrs:{width:"350"}},[t._v("精简模式")]),n("td",{attrs:{width:"150"}},[t._v("Boolean")]),n("td",{attrs:{width:"100"}},[t._v("false")]),n("td",[t._v("精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用 changeContact 切换到聊天视图。")])]),n("tr",[n("td",[t._v("messageTimeFormat")]),n("td",[t._v("消息列表时间格式化函数")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactTimeFormat")]),n("td",[t._v("联系人时间格式化规则")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("hideDrawer")]),n("td",[t._v("是否隐藏抽屉")]),n("td",[t._v("Boolean")]),n("td",[t._v("true")]),n("td")]),n("tr",[n("td",[t._v("hideMenuAvatar")]),n("td",[t._v("是否隐藏导航头像")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMenu")]),n("td",[t._v("是否隐藏左侧导航")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageName")]),n("td",[t._v("是否隐藏聊天窗口内的联系人名字")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageTime")]),n("td",[t._v("是否隐藏聊天窗口内的消息发送时间")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("initMenus")]),n("td",{attrs:{width:"350"}},[t._v("初始化导航")]),n("td",{attrs:{width:"150"}},[t._v("Function([Object])")]),n("td",{attrs:{width:"100"}},[t._v('[ {\n name: "messages"\n },\n {\n name: "contacts"\n }]')]),n("td",[t._v(' {\n name: "custom2",\n title: "自定义按钮2",\n unread: 0,\n click: () => {\n alert("拦截导航点击事件");\n },\n render: menu => {\n return \'...\';\n },\n isBottom: true\n }')])]),n("tr",[n("td",[t._v("initContacts")]),n("td",[t._v("初始化联系人")]),n("td",[t._v("Function([Contact])")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("initEditorTools")]),n("td",[t._v("初始化工具栏")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("[{name:'emoji'},{name:'uploadFile'},{name:'uploadImage'}]")]),n("td",[t._v("[{\n name:\"test2\",\n isRight:true,\n title:'上传 Excel',\n click:()=>{\n alert('点击')\n },\n render:()=>{\n return '...'\n }\n }]")])]),n("tr",[n("td",[t._v("initEmoji")]),n("td",[t._v("初始化表情数据")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("-")]),n("td",[n("div",[t._v("\n 有分类:[{\n label: '默认表情',\n children: [\n {\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }\n ]\n }]\n ")]),n("div",[t._v("\n 无分类:[{\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("新增一条新消息, 如果当前焦点在该联系人的聊天窗口,设置 scrollToBottom=true 添加之后自动定位到消息窗口底部")]),n("td",[t._v("Function(Message,scrollToBottom=false)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeMessage")]),n("td",[t._v("删除聊天消息")]),n("td",[t._v("Function(Message.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateMessage")]),n("td",[t._v("修改消息,根据 Message.id 查找聊天消息并覆盖传入的值(toContactId会被忽略)")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateContact")]),n("td",[t._v("修改联系人,根据 Contact.id 查找联系人并覆盖传入的值")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getMessages")]),n("td",[t._v("返回所有本地消息,传入 Contact.id 则只返回与该联系人的消息")]),n("td",[t._v("Function(Contact.id)=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentContact")]),n("td",[t._v("返回当前聊天窗口的联系人信息")]),n("td",[t._v("Function()=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentMessages")]),n("td",[t._v("返回当前聊天窗口的所有消息")]),n("td",[t._v("Function()=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getContacts")]),n("td",[t._v("返回所有本地联系人")]),n("td",[t._v("Function()=>[Contact]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("openDrawer")]),n("td",[t._v("打开联系人右侧抽屉,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeDrawer")]),n("td",[t._v("切换右侧抽屉显示/隐藏,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("closeDrawer")]),n("td",[t._v("关闭抽屉")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeMenu")]),n("td",[t._v("切换左侧导航")]),n("td",[t._v("Function(Menu.name)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeContact")]),n("td",[t._v("切换聊天窗口")]),n("td",[t._v("Function(Contact.id,instance)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("messageViewToBottom")]),n("td",[t._v("将当前聊天窗口滚动到底部")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("setLastContentRender")]),n("td",[t._v("设置左侧联系人最新消息的渲染函数")]),n("td",[t._v("Function(Message.type, (Message)=>vnode)")]),n("td",[t._v("-")]),n("td",[t._v("\n setLastContentRender('image', message => {\n return "),n("span",[t._v("[最新图片]")]),t._v("\n })\n ")])]),n("tr",[n("td",[t._v("lastContentRender")]),n("td",[t._v("用来生成 Message.lastContent 需要的vnode结构。")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("插槽名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("cover")]),n("td",{attrs:{width:"350"}},[t._v("初始化时的封面")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-title")]),n("td",{attrs:{width:"350"}},[t._v("消息列表的标题")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-after")]),n("td",{attrs:{width:"350"}},[t._v("每条消息的尾部")]),n("td",{attrs:{width:"150"}},[t._v("Message")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("contact-info")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人详细页")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("事件名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-menu")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航选项卡切换的时候会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Menu.name")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("menu-avatar-click")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航内的头像被点击时回触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-contact")]),n("td",{attrs:{width:"350"}},[t._v("当左侧联系人点击时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("pull-messages")]),n("td",{attrs:{width:"350"}},[t._v("当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact,next([Message],isEnd),instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-click")]),n("td",{attrs:{width:"350"}},[t._v("点击聊天窗口中的消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("event,key,Message,instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("send")]),n("td",{attrs:{width:"350"}},[t._v("当发送新消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建自定义消息首先要确定新消息的 Message 结构。")])}],r=(n("8e6e"),n("ac6a"),n("456d"),n("2638")),o=n.n(r),c=n("bd86");n("6b54"),n("7f7f");function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,a)}return n}function d(t){for(var e=1;e {\n //返回HTML结构\n return {props.content} 🔈\n }\n }}\n />\n );\n }\n};\n',E=function(){return(new Date).getTime()},D=function(){return Math.random().toString(36).substr(-8)},P=function(){return Math.random().toString(36).substr(2)},F=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;return e||(e={id:"system",displayName:"系统测试",avatar:"http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg"}),{id:D(),status:"succeed",type:"text",sendTime:E(),content:P(),toContactId:t,fromUser:e}},L={name:"app",data:function(){return{theme:"default",tip:T,packageData:_,hideMenuAvatar:!1,hideMenu:!1,hideMessageName:!1,hideMessageTime:!0,user:{id:"1",displayName:"June",avatar:""}}},mounted:function(){var t=this.$createElement,e={id:"contact-1",displayName:"工作协作群",avatar:"http://upload.qqbodys.com/img/weixin/20170804/ji5qxg1am5ztm.jpg",index:"[1]群组",unread:0,lastSendTime:1566047865417,lastContent:"2"},n={id:"contact-2",displayName:"自定义内容",avatar:"http://upload.qqbodys.com/img/weixin/20170807/jibfvfd00npin.jpg",click:function(t){t()},renderContainer:function(){return t("h1",{style:"text-indent:20px"},["自定义页面"])},lastSendTime:1345209465e3,lastContent:"12312",unread:2},a={id:"contact-3",displayName:"铁牛",avatar:"http://upload.qqbodys.com/img/weixin/20170803/jiq4nzrkrnd0e.jpg",index:"T",unread:32,lastSendTime:3,lastContent:"你好123"},i={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"R",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},s=this.$refs.IMUI;s.setLastContentRender("event",function(t){return"[有人邀请你加入群组]"});var r=[w({},e),w({},n),w({},a)];s.initContacts(r),s.initMenus([{name:"messages"},{name:"contacts"},{name:"custom1",title:"自定义按钮1",unread:0,render:function(e){return t("i",{class:"lemon-icon-attah"})},renderContainer:function(){return t("div",{class:"article"},[t("ul",[t("li",{class:"article-item"},[t("h2",["人民日报谈网红带货:产品真的值得买吗?"])]),t("li",{class:"article-item"},["甘肃夏河县发生5.7级地震 暂未接到人员伤亡报告"]),t("li",{class:"article-item"},["北方多地风力仍强沙尘相伴,东北内蒙古等地迎雨雪"]),t("li",{class:"article-item"},["英货车案:越南警方采集疑死者家属DNA作比对"]),t("li",{class:"article-item"},["知名连锁咖啡店的蛋糕吃出活虫 曝光内幕太震惊"])]),t("lemon-contact",o()([{},{props:{contact:e}},{style:"margin:20px"}])),t("lemon-contact",o()([{},{props:{contact:a}},{style:"margin:20px"}]))])},isBottom:!0},{name:"custom2",title:"自定义按钮2",unread:0,click:function(){alert("拦截导航点击事件")},render:function(e){return t("i",{class:"lemon-icon-group"})},isBottom:!0}]),s.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){s.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){s.initEditorTools([{name:"uploadFile"},{name:"emoji"}])},render:function(){return t("span",["重制工具栏"])}},{name:"test2",isRight:!0,title:"上传 Excel",click:function(){alert("点击了 ··· ")},render:function(){return t("b",["···"])}}]);var c=[{label:"表情",children:[{name:"1f600",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f600.png"},{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f601",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f601.png"},{name:"1f602",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f602.png"},{name:"1f923",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f923.png"},{name:"1f973",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f973.png"},{name:"1f603",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f603.png"},{name:"1f604",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f604.png"},{name:"1f605",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f605.png"},{name:"1f606",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f606.png"},{name:"1f607",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f607.png"},{name:"1f609",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f609.png"},{name:"1f60a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60a.png"},{name:"1f642",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f642.png"},{name:"1f643",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f643.png"},{name:"1263a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/263a.png"},{name:"1f60b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60b.png"},{name:"1f60c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60c.png"},{name:"1f60d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60d.png"},{name:"1f970",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f970.png"},{name:"1f618",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f618.png"},{name:"1f617",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f617.png"},{name:"1f619",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f619.png"},{name:"1f61a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61a.png"},{name:"1f61c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61c.png"},{name:"1f92a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92a.png"},{name:"1f928",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f928.png"},{name:"1f9d0",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f9d0.png"},{name:"1f61d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61d.png"},{name:"1f61b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61b.png"},{name:"1f911",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f911.png"},{name:"1f913",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f913.png"},{name:"1f60e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60e.png"},{name:"1f929",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f929.png"},{name:"1f921",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f921.png"},{name:"1f920",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f920.png"},{name:"1f917",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f917.png"},{name:"1f60f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60f.png"},{name:"1f636",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f636.png"},{name:"1f610",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f610.png"},{name:"1f611",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f611.png"},{name:"1f612",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f612.png"},{name:"1f644",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f644.png"},{name:"1f914",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f914.png"},{name:"1f925",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f925.png"},{name:"1f92d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92d.png"},{name:"1f92b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92b.png"},{name:"1f92c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92c.png"},{name:"1f92f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92f.png"},{name:"1f633",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f633.png"},{name:"1f61e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61e.png"},{name:"1f61f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61f.png"},{name:"1f620",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f620.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]},{label:"收藏",children:[{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]}];s.initEmoji(c),s.setLastContentRender("voice",function(e){return t("span",["[语音]"])});var l=this.$refs.SimpleIMUI;e.id="11",l.initContacts([e]),l.initEmoji(c),l.changeContact(e.id);var d=this.$refs.SlotIMUI;a.id="333",d.initContacts([i,a]),d.initEmoji(c)},methods:{changeTheme:function(){this.theme="default"==this.theme?"blue":"default"},scrollToTop:function(){document.body.scrollIntoView()},handleMenuAvatarClick:function(){console.log("Event:menu-avatar-click")},handleMessageClick:function(t,e,n,a){console.log("点击了消息",t,e,n),"status"==e&&(a.updateMessage({id:n.id,status:"going",content:"正在重新发送消息..."}),setTimeout(function(){a.updateMessage({id:n.id,status:"succeed",content:"发送成功"})},2e3))},changeMenuAvatarVisible:function(){this.hideMenuAvatar=!this.hideMenuAvatar},changeMenuVisible:function(){this.hideMenu=!this.hideMenu},changeMessageNameVisible:function(){this.hideMessageName=!this.hideMessageName},changeMessageTimeVisible:function(){this.hideMessageTime=!this.hideMessageTime},removeMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1].id;e.length>0&&t.removeMessage(n)},updateMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1];if(e.length>0){var a={id:n.id,status:"succeed",type:"file",fileName:"被修改成文件了.txt",fileSize:"4200000"};"event"==n.type&&(a.fromUser=this.user),t.updateMessage(a),t.messageViewToBottom()}},appendCustomMessage:function(){var t=this.$refs.IMUI,e={id:D(),status:"succeed",type:"voice",sendTime:E(),content:"语音消息",params1:"1",params2:"2",toContactId:"contact-1",fromUser:this.user};t.appendMessage(e,!0)},appendMessage:function(){var t=this.$refs.IMUI,e=(t.currentContact,F("contact-3"));e.fromUser=w({},e.fromUser,{},this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:D(),type:"event",content:t("span",["邀请你加入群聊 ",t("b",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:E()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact("contact-3",{unread:10,displayName:P(),lastSendTime:E(),lastContent:"修改昵称为随机字母"})},changeDrawer:function(t,e){var n=this.$createElement;e.changeDrawer(function(){return n("div",{class:"drawer-content"},[n("p",[n("b",["自定义抽屉"])]),n("p",[t.displayName])])})},handleChangeContact:function(t,e){console.log("Event:change-contact"),e.updateContact(t.id,{unread:0}),e.closeDrawer()},handleSend:function(t,e,n){console.log(t,e,n),setTimeout(function(){e()},1e3)},handlePullMessages:function(t,e,n){var a=this,i={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout(function(){var t=[F(n.currentContactId,a.user),F(n.currentContactId,i),F(n.currentContactId,a.user),F(n.currentContactId,i),F(n.currentContactId,a.user),F(n.currentContactId,a.user),F(n.currentContactId,i),w({},F(n.currentContactId,a.user),{},{status:"failed"})],s=!1;n.getMessages(n.currentContactId).length+t.length>11&&(s=!0),e(t,s)},500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},U=L,N=(n("9c9b"),Object(p["a"])(U,i,s,!1,null,null,null)),R=N.exports,B={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],a=[];return this.$slots["tab-pane"].map(function(i){var s=i.data.attrs,r=s.tab,o=s.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[i])),a.push(e("div",{class:["lemon-tabs-nav__item",t.active==o&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(o)}}},[r]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[a])])},methods:{_handleNavClick:function(t){this.active=t}}},V=B,A=(n("3423"),Object(p["a"])(V,x,C,!1,null,null,null)),z=A.exports,H=(n("96cf"),n("3b8d")),q=(n("6762"),n("2fdb"),[]),K=function(){return q.forEach(function(t){return t()})},W={hover:function(t){},focus:function(t){var e=this;t.addEventListener("focus",function(t){e.changeVisible()}),t.addEventListener("blur",function(t){e.changeVisible()})},click:function(t){var e=this;t.addEventListener("click",function(t){t.stopPropagation(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},G={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(W).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),q.push(this.close)},mounted:function(){W[this.trigger].call(this,this.$slots.default[0].elm)},render:function(){var t=arguments[0];return t("span",{style:"position:relative"},[t("transition",{attrs:{name:"slide-top"}},[this.visible&&t("div",{class:"lemon-popover",ref:"popover",style:this.popoverStyle,on:{click:function(t){return t.stopPropagation()}}},[t("div",{class:"lemon-popover__title"}),t("div",{class:"lemon-popover__content"},[this.$slots.content]),t("div",{class:"lemon-popover__arrow"})])]),this.$slots.default])},destroyed:function(){document.removeEventListener("click",this._documentClickEvent)},computed:{},watch:{visible:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){var n,a;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!e){t.next=6;break}return t.next=3,this.$nextTick();case 3:n=this.$slots.default[0].elm,a=this.$refs.popover,this.popoverStyle={top:"-".concat(a.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-a.offsetWidth/2,"px")};case 6:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}()},methods:{_documentClickEvent:function(t){t.stopPropagation(),this.visible&&this.close()},changeVisible:function(){this.visible?this.close():this.open()},open:function(){K(),this.visible=!0},close:function(){this.visible=!1}}},J=G,Y=(n("0e15"),Object(p["a"])(J,y,j,!1,null,null,null)),Q=Y.exports,Z={name:"LemonButton",props:{disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:"lemon-button",attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},X=Z,tt=(n("1e45"),Object(p["a"])(X,M,k,!1,null,null,null)),et=tt.exports,nt=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),at=nt,it=(n("dbdc"),Object(p["a"])(at,O,I,!1,null,null,null)),st=it.exports,rt={name:"LemonAvatar",props:{src:String,icon:{type:String,default:"lemon-icon-people"},size:{type:Number,default:32}},data:function(){return{imageFinishLoad:!0}},render:function(){var t=this,e=arguments[0];return e("span",{style:this.style,class:"lemon-avatar",on:{click:function(e){return t.$emit("click",e)}}},[this.imageFinishLoad&&e("i",{class:this.icon}),e("img",{attrs:{src:this.src},on:{load:this._handleLoad}})])},computed:{style:function(){var t="".concat(this.size,"px");return{width:t,height:t,lineHeight:t,fontSize:"".concat(this.size/2,"px")}}},methods:{_handleLoad:function(){this.imageFinishLoad=!1}}},ot=rt,ct=(n("04f4"),Object(p["a"])(ot,S,$,!1,null,null,null)),lt=ct.exports;n("3b2b"),n("8615");function dt(t){return"[object Object]"===Object.prototype.toString.call(t)}function ut(t){return"string"==typeof t}function mt(t){return(new Date).getTime()-t<864e5}function ht(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!dt(t)||0!=Object.values(t).length))}function ft(t){return t&&"function"===typeof t}n("a481");function pt(t,e,n){return t?t(n):e}function vt(t){return t<10?"0".concat(t):t}function gt(t){var e,n=new Date(t),a=new Date,i=function(t){return t.getFullYear()},s=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=i(n),o=i(a);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(s(n))==="".concat(o,"-").concat(s(a))?"h:i":"m月d日 h:i",_t(t,e)}function _t(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),vt((t.getMonth()+1).toString()),vt(t.getDate().toString()),vt(t.getHours().toString()),vt(t.getMinutes().toString()),vt(t.getSeconds().toString())],a="ymdhis",i=0;i]*>/gi,"[!$1]")}function xt(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,a=parseFloat(t);n=Math.floor(Math.log(a)/Math.log(1024));var i=a/Math.pow(1024,n);return i=parseFloat(i.toFixed(2)),i+e[n]}function Ct(){var t=(new Date).getTime();window.performance&&"function"===typeof window.performance.now&&(t+=performance.now());var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)});return e}var yt,jt,Mt={name:"LemonContact",components:{},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return _t(t,mt(t)?"h:i":"y/m/d")}}},render:function(){var t=this,e=arguments[0];return e("div",{class:["lemon-contact",{"lemon-contact--name-center":this.simple}],on:{click:function(e){return t._handleClick(e,t.contact)}}},[pt(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this,e=this.$createElement,n=this.contact;return[e("lemon-badge",{attrs:{count:this.simple?0:n.unread,"native-on-click":function(e){return t._handleBubbleClick(e,n)}},class:"lemon-contact__avatar"},[e("lemon-avatar",{attrs:{size:40,"native-on-click":function(e){return t._handleAvatarClick(e,n)},src:n.avatar}})]),e("div",{class:"lemon-contact__inner"},[e("p",{class:"lemon-contact__label"},[e("span",{class:"lemon-contact__name"},[n.displayName]),!this.simple&&e("span",{class:"lemon-contact__time"},[this.timeFormat(n.lastSendTime)])]),!this.simple&&e("p",{class:"lemon-contact__content"},[ut(n.lastContent)?e("span",o()([{},{domProps:{innerHTML:n.lastContent}}])):n.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)},_handleAvatarClick:function(t,e){t.stopPropagation(),this.$emit("avatar-click",e)},_handleBubbleClick:function(t,e){t.stopPropagation(),this.$emit("bubble-click",e)}}},kt=Mt,Ot=(n("909e"),Object(p["a"])(kt,yt,jt,!1,null,null,null)),It=Ot.exports;n("5df3"),n("1c4c");function St(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,a)}return n}function $t(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},Rt=window.getSelection(),Bt=[],Vt={name:"LemonEditor",components:{},props:{tools:{type:Array,default:function(){return[]}}},data:function(){return{submitDisabled:!0,proxyTools:[],accept:""}},created:function(){this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}])},render:function(){var t=this,e=arguments[0],n=[],a=[];return this.proxyTools.forEach(function(i){var s=i.name,r=i.title,o=i.render,c=i.click,l=i.isRight;c=c||new Function;var d,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":l}];d="emoji"==s?0==Bt.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:u,attrs:{title:r}},[o()])]):e("div",{class:u,on:{click:c},attrs:{title:r}},[o()]),l?a.push(d):n.push(d)}),e("div",{class:"lemon-editor"},[e("input",{style:"display:none",attrs:{type:"file",multiple:"multiple",accept:this.accept},ref:"fileInput",on:{change:this._handleChangeFile}}),e("div",{class:"lemon-editor__tool"},[e("div",{class:"lemon-editor__tool-left"},[n]),e("div",{class:"lemon-editor__tool-right"},[a])]),e("div",{class:"lemon-editor__inner"},[e("div",{class:"lemon-editor__input",ref:"textarea",attrs:{contenteditable:"true",spellcheck:"false"},on:{keyup:this._handleKeyup,keydown:this._handleKeydown,paste:this._handlePaste,click:this._handleClick,input:this._handleInput}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},["使用 ctrl + enter 快捷发送消息"]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},["发 送"])])])])},methods:{initTools:function(t){var e=this,n=this.$createElement;if(t){var a=[{name:"emoji",title:"表情",click:null,render:function(t){return n("i",{class:"lemon-icon-emoji"})}},{name:"uploadFile",title:"文件上传",click:function(){return e.selectFile("*")},render:function(t){return n("i",{class:"lemon-icon-folder"})}},{name:"uploadImage",title:"图片上传",click:function(){return e.selectFile("image/*")},render:function(t){return n("i",{class:"lemon-icon-image"})}}],i=[];if(Array.isArray(t)){var s={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(s);i=t.map(function(t){return r.includes(t.name)?$t({},a[s[t.name]],{},t):t})}else i=a;this.proxyTools=i}},_saveLastRange:function(){Tt=Rt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),Tt&&(Rt.removeAllRanges(),Rt.addRange(Tt))},_handleClick:function(){this._saveLastRange()},_handleInput:function(){this._checkSubmitDisabled()},_renderEmojiTabs:function(){var t=this,e=this.$createElement,n=function(n){return n.map(function(n){return e("img",{attrs:{src:n.src,title:n.title},class:"lemon-editor__emoji-item",on:{click:function(){return t._handleSelectEmoji(n)}}})})};if(Bt[0].label){var a=Bt.map(function(t,a){return e("div",{slot:"tab-pane",attrs:{index:a,tab:t.label}},[n(t.children)])});return e("lemon-tabs",{style:"width: 412px"},[a])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Bt)])},_handleSelectEmoji:function(t){this._focusLastRange(),Nt('
')),this._saveLastRange()},selectFile:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return this.accept=e,t.next=3,this.$nextTick();case 3:this.$refs.fileInput.click();case 4:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),_handlePaste:function(t){t.preventDefault();var e=t.clipboardData,n=e.getData("text");Nt(n,"insertText")},_handleKeyup:function(t){this._saveLastRange()},_handleKeydown:function(t){var e=t.keyCode,n=t.ctrlKey;13==e&&!0===n&&0==this.submitDisabled&&this._handleSend()},getFormatValue:function(){return wt(this.$refs.textarea.innerHTML.replace(/
|<\/br>/,"").replace(/|
/g,"\r\n").replace(/<\/div>|<\/p>/g,""))},_checkSubmitDisabled:function(){this.submitDisabled=!this.$refs.textarea.innerHTML.trim()},_handleSend:function(t){var e=this.getFormatValue();this.$emit("send",e),this.clear(),this._checkSubmitDisabled()},_handleChangeFile:function(t){var e=this,n=this.$refs.fileInput;Array.from(n.files).forEach(function(t){e.$emit("upload",t)}),n.value=""},clear:function(){this.$refs.textarea.innerHTML=""},initEmoji:function(t){Bt=t,this.$forceUpdate()}}},At=Vt,zt=(n("49c2"),Object(p["a"])(At,Et,Dt,!1,null,null,null)),Ht=zt.exports,qt={name:"LemonMessages",components:{},props:{hideName:Boolean,hideTime:Boolean,reverseUserId:String,timeRange:{type:Number,default:1},timeFormat:{type:Function,default:function(t){return gt(t)}},messages:{type:Array,default:function(){return[]}}},data:function(){return{_loading:!1,_loadend:!1}},render:function(){var t=this,e=arguments[0];return e("div",{class:"lemon-messages",ref:"wrap",on:{scroll:this._handleScroll}},[e("div",{class:["lemon-messages__load","lemon-messages__load--".concat(this._loadend?"end":"ing")]},[this._loadend?this._renderLoadEnd():this._renderLoading()]),this.messages.map(function(n,a){var i,s=[],r="lemon-message-".concat(n.type),c=t.messages[a-1];return c&&t.msecRange&&n.sendTime-c.sendTime>t.msecRange&&s.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:gt(n.sendTime)}}}]))),i="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},s.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:i}]))),s})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){var n,a,i=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=7;break}return this._loading=!0,t.next=5,this.$nextTick();case 5:a=n.scrollHeight,this.$emit("reach-top",function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,i.$nextTick();case 2:n.scrollTop=n.scrollHeight-a,i._loading=!1,i._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 7:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},Kt=qt,Wt=(n("436f"),Object(p["a"])(Kt,Pt,Ft,!1,null,null,null)),Gt=Wt.exports,Jt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,a=n.fromUser,i=n.status,s=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(i),{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:a.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[a.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(s)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[pt(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[pt(this.IMUI.$scopedSlots["message-after"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[e("i",{class:"lemon-icon-loading lemonani-spin"}),e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}}),this._renderStatue(i)])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)},_renderStatue:function(t){}}},Yt=Jt,Qt=(n("fbd1"),Object(p["a"])(Yt,Lt,Ut,!1,null,null,null)),Zt=Qt.exports;function Xt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,a)}return n}function te(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===Ve[t.toContactId])this.updateContact(t.toContactId,{unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?1==e&&this.messageViewToBottom():n.unread="+1",this.updateContact(t.toContactId,n)}},_emitSend:function(t,e,n){var a=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),a.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact(n.toContactId,{lastContent:e.lastContentRender(n),lastSendTime:n.sendTime})})},_handleUpload:function(t){var e,n=this,a=["image/gif","image/jpeg","image/png"];e=a.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var i=this._createMessage(e);this.appendMessage(i,!0),this._emitSend(i,function(){n.updateContact(i.toContactId,{lastContent:n.lastContentRender(i),lastSendTime:i.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,a),1==a&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(a)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],a=[];return this.menus.forEach(function(i){var s=i.name,r=i.title,o=i.unread,c=i.render,l=i.click,d=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==s}],on:{click:function(){bt(l,function(){s&&t.changeMenu(s)})}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(i)])]);!0===i.isBottom?a.push(d):n.push(d)}),{top:n,bottom:a}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([pt(this.$scopedSlots["sidebar-message-top"]),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],$e)},_renderContact:function(t,e,n){var a=this,i=this.$createElement,s=t.contact,r=s.click,c=s.renderContainer,l=s.id,d=function(){bt(r,function(){e(),a._customContainerReady(c,a.CacheContactContainer,l)})};return i("lemon-contact",o()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id}},{props:t},{on:{click:d},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([pt(this.$scopedSlots["sidebar-contact-top"]),this.contacts.map(function(a){if(a.index){a.index=a.index.replace(/\[[0-9]*\]/,"");var i=[a.index!==t&&n("p",{class:"lemon-sidebar__label"},[a.index]),e._renderContact({contact:a,simple:!0},function(){e.changeContact(a.id)},e.$scopedSlots["sidebar-contact"])];return t=a.index,i}})],Te)},_renderSidebar:function(t,e){var n=this.$createElement;return n("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}]},[t])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[ze(),pt(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],a="lemon-container",i=this.currentContact,s=!0;for(var r in this.CacheContactContainer.get()){var o=i.id==r&&this.currentIsDefSidebar;s=!o,n.push(e("div",{class:a,directives:[{name:"show",value:o}]},[this.CacheContactContainer.get(r)]))}for(var c in this.CacheMenuContainer.get())n.push(e("div",{class:a,directives:[{name:"show",value:this.activeSidebar==c&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(c)]));return n.push(e("div",{class:a,directives:[{name:"show",value:this._menuIsMessages()&&s&&i.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[pt(this.$scopedSlots["message-title"],i.displayName,i)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:a,directives:[{name:"show",value:!i.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:a,directives:[{name:"show",value:this._menuIsContacts()&&s&&i.id}]},[pt(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:i.avatar,size:90}}),e("h4",[i.displayName]),e("lemon-button",{on:{click:function(){t.changeContact(i.id,$e)}}},["发送消息"])]),i)])),n},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var a,i={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),Ve[e]=Ve[e]||[],(a=Ve[e])[i].apply(a,Object(Se["a"])(t))},setLastContentRender:function(t,e){De[t]=e},lastContentRender:function(t){return ft(De[t.type])?De[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},replaceEmojiName:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return Ae[n]?'
'):"[!".concat(e,"]")})},updateCurrentMessages:function(){Ve[this.currentContactId]||(Ve[this.currentContactId]=[]),this.currentMessages=Ve[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e,n){var a=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!n){t.next=4;break}this.changeMenu(n),t.next=6;break;case 4:if(!this._changeContactLock&&this.currentContactId!=e){t.next=6;break}return t.abrupt("return",!1);case 6:if(this.currentContactId=e,this.$emit("change-contact",this.currentContact,this),!ft(this.currentContact.renderContainer)){t.next=10;break}return t.abrupt("return");case 10:this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Ve[e]?setTimeout(function(){a.updateCurrentMessages(),a.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return a.messageViewToBottom()}));case 12:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=Ve[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return Ve[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;delete t.toContactId;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){ft(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){this.$refs.editor.initEmoji(t),t[0].label&&(t=t.flatMap(function(t){return t.children})),t.forEach(function(t){var e=t.name,n=t.src;return Ae[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,a=[{name:$e,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Te,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],i=[];if(Array.isArray(t)){var s={messages:0,contacts:1},r=Object.keys(s);i=t.map(function(t){return r.includes(t.name)?Ne({},a[s[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else i=a;this.menus=i},initContacts:function(t){var e;(e=this.contacts).push.apply(e,Object(Se["a"])(t)),this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},updateContact:function(t,e){delete e.id,delete e.toContactId;var n=this.findContactIndexById(t);if(-1!==n){var a=e.unread;ut(a)&&(0!==a.indexOf("+")&&0!==a.indexOf("-")||(e.unread=parseInt(a)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Ne({},this.contacts[n],{},e))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},findMessage:function(t){return Object.values(Ve).flat().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},getMessages:function(t){return(t?Ve[t]:Ve)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){ze=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},qe=He,Ke=(n("9b01"),Object(p["a"])(qe,Re,Be,!1,null,null,null)),We=Ke.exports,Ge=(n("6a2b"),"0.1"),Je=[We,It,Gt,Ht,lt,st,et,Q,z,Zt,re,fe,je,Ie],Ye=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];Je.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&Ye(window.Vue);var Qe={version:Ge,install:Ye};a["a"].use(Qe),a["a"].config.productionTip=!1,new a["a"]({render:function(t){return t(R)}}).$mount("#app")},cfab:function(t,e,n){"use strict";var a=n("15cf"),i=n.n(a);i.a},dbdc:function(t,e,n){"use strict";var a=n("7802"),i=n.n(a);i.a},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var a=n("a215"),i=n.n(a);i.a},fbd1:function(t,e,n){"use strict";var a=n("820e"),i=n.n(a);i.a}});
\ No newline at end of file
diff --git a/examples/dist/js/index.4c7bb88e.js b/examples/dist/js/index.4c7bb88e.js
deleted file mode 100644
index 74ac699..0000000
--- a/examples/dist/js/index.4c7bb88e.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(t){function e(e){for(var i,r,o=e[0],c=e[1],l=e[2],u=0,m=[];u {\n return [语音]\n})\n")]),n("p",[t._v("最后一步,注册组件,必须使用全局注册的方式。")]),n("pre",[t._v("import Vue from 'vue';\nimport LemonMessageVoice from './lemon-message-voice';\nVue.component(LemonMessageVoice.name,LemonMessageVoice);\n")]),n("p",[t._v("如果还有不明白的,可以到 examples/App.vue 查看示例代码")])])])},s=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"link"},[n("span",[t._v("源码下载 ")]),n("a",{attrs:{target:"_blank",href:"https://github.com/fanjyy/lemon-imui"}},[t._v("Github")]),n("a",{attrs:{target:"_blank",href:"https://gitee.com/june000/lemon-im"}},[t._v("Gitee")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("displayName")]),n("td",[t._v("名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("avatar")]),n("td",[t._v("头像")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("index")]),n("td",[t._v("通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("unread")]),n("td",[t._v("未读消息数")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的时间戳,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的内容")]),n("td",[t._v("String | Vnode")]),n("td"),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("id")]),n("td",{attrs:{width:"350"}},[t._v("唯一ID")]),n("td",{attrs:{width:"150"}},[t._v("String/Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("status")]),n("td",[t._v("消息发送的状态:going | failed | succeed")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr"),n("tr",[n("td",[t._v("type")]),n("td",[t._v("消息类型:file | image | text | event")]),n("td",[t._v("String | Vnode")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("sendTime")]),n("td",[t._v("消息发送时间,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("content")]),n("td",[t._v("消息内容,如果type=file,此属性表示文件的URL地址")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fileSize")]),n("td",[t._v("文件大小")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("fileName")]),n("td",[t._v("文件名称")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("toContactId")]),n("td",[t._v("接收消息的联系人ID")]),n("td",[t._v("String | Number")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("fromUser")]),n("td",[t._v("消息发送人的信息")]),n("td",[t._v("Object")]),n("td",[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("user")]),n("td",{attrs:{width:"350"}},[t._v("用户信息")]),n("td",{attrs:{width:"150"}},[t._v("Object")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td",[t._v('{id: "1",displayName: "测试",avatar: "url"};')])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("width")]),n("td",{attrs:{width:"350"}},[t._v("宽度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("850px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("height")]),n("td",{attrs:{width:"350"}},[t._v("高度")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("580px")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("theme")]),n("td",{attrs:{width:"350"}},[t._v("主题")]),n("td",{attrs:{width:"150"}},[t._v("default | blue")]),n("td",{attrs:{width:"100"}},[t._v("default")]),n("td",[t._v("主题颜色")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("simple")]),n("td",{attrs:{width:"350"}},[t._v("精简模式")]),n("td",{attrs:{width:"150"}},[t._v("Boolean")]),n("td",{attrs:{width:"100"}},[t._v("false")]),n("td",[t._v("精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用 changeContact 切换到聊天视图。")])]),n("tr",[n("td",[t._v("messageTimeFormat")]),n("td",[t._v("消息列表时间格式化函数")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactTimeFormat")]),n("td",[t._v("联系人时间格式化规则")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("hideDrawer")]),n("td",[t._v("是否隐藏抽屉")]),n("td",[t._v("Boolean")]),n("td",[t._v("true")]),n("td")]),n("tr",[n("td",[t._v("hideMenuAvatar")]),n("td",[t._v("是否隐藏导航头像")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMenu")]),n("td",[t._v("是否隐藏左侧导航")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageName")]),n("td",[t._v("是否隐藏聊天窗口内的联系人名字")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageTime")]),n("td",[t._v("是否隐藏聊天窗口内的消息发送时间")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("参数")]),n("th",[t._v("说明")]),n("th",[t._v("类型")]),n("th",[t._v("默认值")]),n("th",[t._v("示例")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("initMenus")]),n("td",{attrs:{width:"350"}},[t._v("初始化导航")]),n("td",{attrs:{width:"150"}},[t._v("Function([Object])")]),n("td",{attrs:{width:"100"}},[t._v('[ {\n name: "messages"\n },\n {\n name: "contacts"\n }]')]),n("td",[t._v(' {\n name: "custom2",\n title: "自定义按钮2",\n unread: 0,\n click: () => {\n alert("拦截导航点击事件");\n },\n render: menu => {\n return \'...\';\n },\n isBottom: true\n }')])]),n("tr",[n("td",[t._v("initContacts")]),n("td",[t._v("初始化联系人")]),n("td",[t._v("Function([Contact])")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("initEditorTools")]),n("td",[t._v("初始化工具栏")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("[{name:'emoji'},{name:'uploadFile'},{name:'uploadImage'}]")]),n("td",[t._v("[{\n name:\"test2\",\n isRight:true,\n title:'上传 Excel',\n click:()=>{\n alert('点击')\n },\n render:()=>{\n return '...'\n }\n }]")])]),n("tr",[n("td",[t._v("initEmoji")]),n("td",[t._v("初始化表情数据")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("-")]),n("td",[n("div",[t._v("\n 有分类:[{\n label: '默认表情',\n children: [\n {\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }\n ]\n }]\n ")]),n("div",[t._v("\n 无分类:[{\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("新增一条新消息, 如果当前焦点在该联系人的聊天窗口,设置 scrollToBottom=true 添加之后自动定位到消息窗口底部")]),n("td",[t._v("Function(Message,scrollToBottom=false)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeMessage")]),n("td",[t._v("删除聊天消息")]),n("td",[t._v("Function(Message.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateMessage")]),n("td",[t._v("修改消息,根据 Message.id 查找聊天消息并覆盖传入的值(toContactId会被忽略)")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateContact")]),n("td",[t._v("修改联系人,根据 Contact.id 查找联系人并覆盖传入的值")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getMessages")]),n("td",[t._v("返回所有本地消息,传入 Contact.id 则只返回与该联系人的消息")]),n("td",[t._v("Function(Contact.id)=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentContact")]),n("td",[t._v("返回当前聊天窗口的联系人信息")]),n("td",[t._v("Function()=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getCurrentMessages")]),n("td",[t._v("返回当前聊天窗口的所有消息")]),n("td",[t._v("Function()=>[Message]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getContacts")]),n("td",[t._v("返回所有本地联系人")]),n("td",[t._v("Function()=>[Contact]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("openDrawer")]),n("td",[t._v("打开联系人右侧抽屉,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeDrawer")]),n("td",[t._v("切换右侧抽屉显示/隐藏,vnode 为抽屉内容")]),n("td",[t._v("Function(vnode)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("closeDrawer")]),n("td",[t._v("关闭抽屉")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeMenu")]),n("td",[t._v("切换左侧导航")]),n("td",[t._v("Function(Menu.name)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("changeContact")]),n("td",[t._v("切换聊天窗口")]),n("td",[t._v("Function(Contact.id,instance)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("messageViewToBottom")]),n("td",[t._v("将当前聊天窗口滚动到底部")]),n("td",[t._v("Function()")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("setLastContentRender")]),n("td",[t._v("设置左侧联系人最新消息的渲染函数")]),n("td",[t._v("Function(Message.type, (Message)=>vnode)")]),n("td",[t._v("-")]),n("td",[t._v("\n setLastContentRender('image', message => {\n return "),n("span",[t._v("[最新图片]")]),t._v("\n })\n ")])]),n("tr",[n("td",[t._v("lastContentRender")]),n("td",[t._v("用来生成 Message.lastContent 需要的vnode结构。")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("插槽名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("cover")]),n("td",{attrs:{width:"350"}},[t._v("初始化时的封面")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-title")]),n("td",{attrs:{width:"350"}},[t._v("消息列表的标题")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表插槽")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧最新消息列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-top")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("-")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("contact-info")]),n("td",{attrs:{width:"350"}},[t._v("左侧联系人详细页")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("table",{staticClass:"table"},[n("tr",{staticClass:"table-head"},[n("th",[t._v("事件名")]),n("th",[t._v("说明")]),n("th",[t._v("参数")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-menu")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航选项卡切换的时候会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Menu.name")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("menu-avatar-click")]),n("td",{attrs:{width:"350"}},[t._v("当左侧导航内的头像被点击时回触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("change-contact")]),n("td",{attrs:{width:"350"}},[t._v("当左侧联系人点击时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("pull-messages")]),n("td",{attrs:{width:"350"}},[t._v("当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact,next([Message],isEnd),instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-click")]),n("td",{attrs:{width:"350"}},[t._v("点击聊天窗口中的消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("event,key,Message,instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("send")]),n("td",{attrs:{width:"350"}},[t._v("当发送新消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建自定义消息首先要确定新消息的 Message 结构。")])}],r=(n("8e6e"),n("ac6a"),n("456d"),n("2638")),o=n.n(r),c=n("bd86");n("6b54"),n("7f7f");function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function d(t){for(var e=1;e {\n //返回HTML结构\n return {props.content} 🔈\n }\n }}\n />\n );\n }\n};\n',E=function(){return(new Date).getTime()},D=function(){return Math.random().toString(36).substr(-8)},P=function(){return Math.random().toString(36).substr(2)},F=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;return e||(e={id:"system",displayName:"系统测试",avatar:"http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg"}),{id:D(),status:"succeed",type:"text",sendTime:E(),content:P(),toContactId:t,fromUser:e}},L={name:"app",data:function(){return{theme:"default",tip:T,packageData:_,hideMenuAvatar:!1,hideMenu:!1,hideMessageName:!1,hideMessageTime:!0,user:{id:"1",displayName:"June",avatar:""}}},mounted:function(){var t=this.$createElement,e={id:"contact-1",displayName:"工作协作群",avatar:"http://upload.qqbodys.com/img/weixin/20170804/ji5qxg1am5ztm.jpg",index:"[1]群组",unread:0,lastSendTime:1566047865417,lastContent:"2"},n={id:"contact-2",displayName:"自定义内容",avatar:"http://upload.qqbodys.com/img/weixin/20170807/jibfvfd00npin.jpg",click:function(t){t()},renderContainer:function(){return t("h1",{style:"text-indent:20px"},["自定义页面"])},lastSendTime:1345209465e3,lastContent:"12312",unread:2},i={id:"contact-3",displayName:"铁牛",avatar:"http://upload.qqbodys.com/img/weixin/20170803/jiq4nzrkrnd0e.jpg",index:"T",unread:32,lastSendTime:3,lastContent:"你好123"},a={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"R",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},s=this.$refs.IMUI;s.setLastContentRender("event",function(t){return"[有人邀请你加入群组]"});var r=[w({},e),w({},n),w({},i)];s.initContacts(r),s.initMenus([{name:"messages"},{name:"contacts"},{name:"custom1",title:"自定义按钮1",unread:0,render:function(e){return t("i",{class:"lemon-icon-attah"})},renderContainer:function(){return t("div",{class:"article"},[t("ul",[t("li",{class:"article-item"},[t("h2",["人民日报谈网红带货:产品真的值得买吗?"])]),t("li",{class:"article-item"},["甘肃夏河县发生5.7级地震 暂未接到人员伤亡报告"]),t("li",{class:"article-item"},["北方多地风力仍强沙尘相伴,东北内蒙古等地迎雨雪"]),t("li",{class:"article-item"},["英货车案:越南警方采集疑死者家属DNA作比对"]),t("li",{class:"article-item"},["知名连锁咖啡店的蛋糕吃出活虫 曝光内幕太震惊"])]),t("lemon-contact",o()([{},{props:{contact:e}},{style:"margin:20px"}])),t("lemon-contact",o()([{},{props:{contact:i}},{style:"margin:20px"}]))])},isBottom:!0},{name:"custom2",title:"自定义按钮2",unread:0,click:function(){alert("拦截导航点击事件")},render:function(e){return t("i",{class:"lemon-icon-group"})},isBottom:!0}]),s.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){s.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){s.initEditorTools([{name:"uploadFile"},{name:"emoji"}])},render:function(){return t("span",["重制工具栏"])}},{name:"test2",isRight:!0,title:"上传 Excel",click:function(){alert("点击了 ··· ")},render:function(){return t("b",["···"])}}]);var c=[{label:"表情",children:[{name:"1f600",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f600.png"},{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f601",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f601.png"},{name:"1f602",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f602.png"},{name:"1f923",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f923.png"},{name:"1f973",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f973.png"},{name:"1f603",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f603.png"},{name:"1f604",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f604.png"},{name:"1f605",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f605.png"},{name:"1f606",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f606.png"},{name:"1f607",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f607.png"},{name:"1f609",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f609.png"},{name:"1f60a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60a.png"},{name:"1f642",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f642.png"},{name:"1f643",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f643.png"},{name:"1263a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/263a.png"},{name:"1f60b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60b.png"},{name:"1f60c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60c.png"},{name:"1f60d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60d.png"},{name:"1f970",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f970.png"},{name:"1f618",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f618.png"},{name:"1f617",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f617.png"},{name:"1f619",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f619.png"},{name:"1f61a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61a.png"},{name:"1f61c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61c.png"},{name:"1f92a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92a.png"},{name:"1f928",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f928.png"},{name:"1f9d0",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f9d0.png"},{name:"1f61d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61d.png"},{name:"1f61b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61b.png"},{name:"1f911",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f911.png"},{name:"1f913",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f913.png"},{name:"1f60e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60e.png"},{name:"1f929",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f929.png"},{name:"1f921",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f921.png"},{name:"1f920",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f920.png"},{name:"1f917",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f917.png"},{name:"1f60f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60f.png"},{name:"1f636",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f636.png"},{name:"1f610",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f610.png"},{name:"1f611",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f611.png"},{name:"1f612",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f612.png"},{name:"1f644",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f644.png"},{name:"1f914",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f914.png"},{name:"1f925",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f925.png"},{name:"1f92d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92d.png"},{name:"1f92b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92b.png"},{name:"1f92c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92c.png"},{name:"1f92f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92f.png"},{name:"1f633",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f633.png"},{name:"1f61e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61e.png"},{name:"1f61f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61f.png"},{name:"1f620",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f620.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]},{label:"收藏",children:[{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]}];s.initEmoji(c),s.setLastContentRender("voice",function(e){return t("span",["[语音]"])});var l=this.$refs.SimpleIMUI;e.id="11",l.initContacts([e]),l.initEmoji(c),l.changeContact(e.id);var d=this.$refs.SlotIMUI;i.id="333",d.initContacts([a,i]),d.initEmoji(c)},methods:{changeTheme:function(){this.theme="default"==this.theme?"blue":"default"},scrollToTop:function(){document.body.scrollIntoView()},handleMenuAvatarClick:function(){console.log("Event:menu-avatar-click")},handleMessageClick:function(t,e,n,i){console.log("点击了消息",t,e,n),"status"==e&&(i.updateMessage({id:n.id,status:"going",content:"正在重新发送消息..."}),setTimeout(function(){i.updateMessage({id:n.id,status:"succeed",content:"发送成功"})},2e3))},changeMenuAvatarVisible:function(){this.hideMenuAvatar=!this.hideMenuAvatar},changeMenuVisible:function(){this.hideMenu=!this.hideMenu},changeMessageNameVisible:function(){this.hideMessageName=!this.hideMessageName},changeMessageTimeVisible:function(){this.hideMessageTime=!this.hideMessageTime},removeMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1].id;e.length>0&&t.removeMessage(n)},updateMessage:function(){var t=this.$refs.IMUI,e=t.getCurrentMessages(),n=e[e.length-1];if(e.length>0){var i={id:n.id,status:"succeed",type:"file",fileName:"被修改成文件了.txt",fileSize:"4200000"};"event"==n.type&&(i.fromUser=this.user),t.updateMessage(i),t.messageViewToBottom()}},appendCustomMessage:function(){var t=this.$refs.IMUI,e={id:D(),status:"succeed",type:"voice",sendTime:E(),content:"语音消息",params1:"1",params2:"2",toContactId:"contact-1",fromUser:this.user};t.appendMessage(e,!0)},appendMessage:function(){var t=this.$refs.IMUI,e=(t.currentContact,F("contact-3"));e.fromUser=w({},e.fromUser,{},this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:D(),type:"event",content:t("span",["邀请你加入群聊 ",t("b",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:E()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact("contact-3",{unread:10,displayName:P(),lastSendTime:E(),lastContent:"修改昵称为随机字母"})},changeDrawer:function(t,e){var n=this.$createElement;e.changeDrawer(function(){return n("div",{class:"drawer-content"},[n("p",[n("b",["自定义抽屉"])]),n("p",[t.displayName])])})},handleChangeContact:function(t,e){console.log("Event:change-contact"),e.updateContact(t.id,{unread:0}),e.closeDrawer()},handleSend:function(t,e,n){console.log(t,e,n),setTimeout(function(){e()},1e3)},handlePullMessages:function(t,e,n){var i=this,a={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout(function(){var t=[F(n.currentContactId,i.user),F(n.currentContactId,a),F(n.currentContactId,i.user),F(n.currentContactId,a),F(n.currentContactId,i.user),F(n.currentContactId,i.user),F(n.currentContactId,a),w({},F(n.currentContactId,i.user),{},{status:"failed"})],s=!1;n.getMessages(n.currentContactId).length+t.length>11&&(s=!0),e(t,s)},500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},N=L,U=(n("9c9b"),Object(p["a"])(N,a,s,!1,null,null,null)),R=U.exports,B={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.$slots["tab-pane"].map(function(a){var s=a.data.attrs,r=s.tab,o=s.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[a])),i.push(e("div",{class:["lemon-tabs-nav__item",t.active==o&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(o)}}},[r]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[i])])},methods:{_handleNavClick:function(t){this.active=t}}},V=B,A=(n("3423"),Object(p["a"])(V,x,C,!1,null,null,null)),z=A.exports,H=(n("96cf"),n("3b8d")),q=(n("6762"),n("2fdb"),[]),K=function(){return q.forEach(function(t){return t()})},W={hover:function(t){},focus:function(t){var e=this;t.addEventListener("focus",function(t){e.changeVisible()}),t.addEventListener("blur",function(t){e.changeVisible()})},click:function(t){var e=this;t.addEventListener("click",function(t){t.stopPropagation(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},G={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(W).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),q.push(this.close)},mounted:function(){W[this.trigger].call(this,this.$slots.default[0].elm)},render:function(){var t=arguments[0];return t("span",{style:"position:relative"},[t("transition",{attrs:{name:"slide-top"}},[this.visible&&t("div",{class:"lemon-popover",ref:"popover",style:this.popoverStyle,on:{click:function(t){return t.stopPropagation()}}},[t("div",{class:"lemon-popover__title"}),t("div",{class:"lemon-popover__content"},[this.$slots.content]),t("div",{class:"lemon-popover__arrow"})])]),this.$slots.default])},destroyed:function(){document.removeEventListener("click",this._documentClickEvent)},computed:{},watch:{visible:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){var n,i;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!e){t.next=6;break}return t.next=3,this.$nextTick();case 3:n=this.$slots.default[0].elm,i=this.$refs.popover,this.popoverStyle={top:"-".concat(i.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-i.offsetWidth/2,"px")};case 6:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}()},methods:{_documentClickEvent:function(t){t.stopPropagation(),this.visible&&this.close()},changeVisible:function(){this.visible?this.close():this.open()},open:function(){K(),this.visible=!0},close:function(){this.visible=!1}}},J=G,Y=(n("0e15"),Object(p["a"])(J,y,j,!1,null,null,null)),Q=Y.exports,Z={name:"LemonButton",props:{disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:"lemon-button",attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},X=Z,tt=(n("1e45"),Object(p["a"])(X,M,k,!1,null,null,null)),et=tt.exports,nt=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),it=nt,at=(n("dbdc"),Object(p["a"])(it,O,I,!1,null,null,null)),st=at.exports,rt={name:"LemonAvatar",props:{src:String,icon:{type:String,default:"lemon-icon-people"},size:{type:Number,default:32}},data:function(){return{imageFinishLoad:!0}},render:function(){var t=this,e=arguments[0];return e("span",{style:this.style,class:"lemon-avatar",on:{click:function(e){return t.$emit("click",e)}}},[this.imageFinishLoad&&e("i",{class:this.icon}),e("img",{attrs:{src:this.src},on:{load:this._handleLoad}})])},computed:{style:function(){var t="".concat(this.size,"px");return{width:t,height:t,lineHeight:t,fontSize:"".concat(this.size/2,"px")}}},methods:{_handleLoad:function(){this.imageFinishLoad=!1}}},ot=rt,ct=(n("04f4"),Object(p["a"])(ot,S,$,!1,null,null,null)),lt=ct.exports;n("3b2b"),n("8615");function dt(t){return"[object Object]"===Object.prototype.toString.call(t)}function ut(t){return"string"==typeof t}function mt(t){return(new Date).getTime()-t<864e5}function ht(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!dt(t)||0!=Object.values(t).length))}function ft(t){return t&&"function"===typeof t}n("a481");function pt(t,e,n){return t?t(n):e}function vt(t){return t<10?"0".concat(t):t}function gt(t){var e,n=new Date(t),i=new Date,a=function(t){return t.getFullYear()},s=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=a(n),o=a(i);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(s(n))==="".concat(o,"-").concat(s(i))?"h:i":"m月d日 h:i",_t(t,e)}function _t(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),vt((t.getMonth()+1).toString()),vt(t.getDate().toString()),vt(t.getHours().toString()),vt(t.getMinutes().toString()),vt(t.getSeconds().toString())],i="ymdhis",a=0;a]*>/gi,"[!$1]")}function xt(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,i=parseFloat(t);n=Math.floor(Math.log(i)/Math.log(1024));var a=i/Math.pow(1024,n);return a=parseFloat(a.toFixed(2)),a+e[n]}function Ct(){var t=(new Date).getTime();window.performance&&"function"===typeof window.performance.now&&(t+=performance.now());var e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"==e?n:3&n|8).toString(16)});return e}var yt,jt,Mt={name:"LemonContact",components:{},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return _t(t,mt(t)?"h:i":"y/m/d")}}},render:function(){var t=this,e=arguments[0];return e("div",{class:["lemon-contact",{"lemon-contact--name-center":this.simple}],on:{click:function(e){return t._handleClick(e,t.contact)}}},[pt(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this,e=this.$createElement,n=this.contact;return[e("lemon-badge",{attrs:{count:this.simple?0:n.unread,"native-on-click":function(e){return t._handleBubbleClick(e,n)}},class:"lemon-contact__avatar"},[e("lemon-avatar",{attrs:{size:40,"native-on-click":function(e){return t._handleAvatarClick(e,n)},src:n.avatar}})]),e("div",{class:"lemon-contact__inner"},[e("p",{class:"lemon-contact__label"},[e("span",{class:"lemon-contact__name"},[n.displayName]),!this.simple&&e("span",{class:"lemon-contact__time"},[this.timeFormat(n.lastSendTime)])]),!this.simple&&e("p",{class:"lemon-contact__content"},[ut(n.lastContent)?e("span",o()([{},{domProps:{innerHTML:n.lastContent}}])):n.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)},_handleAvatarClick:function(t,e){t.stopPropagation(),this.$emit("avatar-click",e)},_handleBubbleClick:function(t,e){t.stopPropagation(),this.$emit("bubble-click",e)}}},kt=Mt,Ot=(n("909e"),Object(p["a"])(kt,yt,jt,!1,null,null,null)),It=Ot.exports;n("5df3"),n("1c4c");function St(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function $t(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},Rt=window.getSelection(),Bt=[],Vt={name:"LemonEditor",components:{},props:{tools:{type:Array,default:function(){return[]}}},data:function(){return{submitDisabled:!0,proxyTools:[],accept:""}},created:function(){this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}])},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.proxyTools.forEach(function(a){var s=a.name,r=a.title,o=a.render,c=a.click,l=a.isRight;c=c||new Function;var d,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":l}];d="emoji"==s?0==Bt.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:u,attrs:{title:r}},[o()])]):e("div",{class:u,on:{click:c},attrs:{title:r}},[o()]),l?i.push(d):n.push(d)}),e("div",{class:"lemon-editor"},[e("input",{style:"display:none",attrs:{type:"file",multiple:"multiple",accept:this.accept},ref:"fileInput",on:{change:this._handleChangeFile}}),e("div",{class:"lemon-editor__tool"},[e("div",{class:"lemon-editor__tool-left"},[n]),e("div",{class:"lemon-editor__tool-right"},[i])]),e("div",{class:"lemon-editor__inner"},[e("div",{class:"lemon-editor__input",ref:"textarea",attrs:{contenteditable:"true",spellcheck:"false"},on:{keyup:this._handleKeyup,keydown:this._handleKeydown,paste:this._handlePaste,click:this._handleClick,input:this._handleInput}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},["使用 ctrl + enter 快捷发送消息"]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},["发 送"])])])])},methods:{initTools:function(t){var e=this,n=this.$createElement;if(t){var i=[{name:"emoji",title:"表情",click:null,render:function(t){return n("i",{class:"lemon-icon-emoji"})}},{name:"uploadFile",title:"文件上传",click:function(){return e.selectFile("*")},render:function(t){return n("i",{class:"lemon-icon-folder"})}},{name:"uploadImage",title:"图片上传",click:function(){return e.selectFile("image/*")},render:function(t){return n("i",{class:"lemon-icon-image"})}}],a=[];if(Array.isArray(t)){var s={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(s);a=t.map(function(t){return r.includes(t.name)?$t({},i[s[t.name]],{},t):t})}else a=i;this.proxyTools=a}},_saveLastRange:function(){Tt=Rt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),Tt&&(Rt.removeAllRanges(),Rt.addRange(Tt))},_handleClick:function(){this._saveLastRange()},_handleInput:function(){this._checkSubmitDisabled()},_renderEmojiTabs:function(){var t=this,e=this.$createElement,n=function(n){return n.map(function(n){return e("img",{attrs:{src:n.src,title:n.title},class:"lemon-editor__emoji-item",on:{click:function(){return t._handleSelectEmoji(n)}}})})};if(Bt[0].label){var i=Bt.map(function(t,i){return e("div",{slot:"tab-pane",attrs:{index:i,tab:t.label}},[n(t.children)])});return e("lemon-tabs",{style:"width: 412px"},[i])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Bt)])},_handleSelectEmoji:function(t){this._focusLastRange(),Ut('
')),this._saveLastRange()},selectFile:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return this.accept=e,t.next=3,this.$nextTick();case 3:this.$refs.fileInput.click();case 4:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),_handlePaste:function(t){t.preventDefault();var e=t.clipboardData,n=e.getData("text");Ut(n,"insertText")},_handleKeyup:function(t){this._saveLastRange()},_handleKeydown:function(t){var e=t.keyCode,n=t.ctrlKey;13==e&&!0===n&&0==this.submitDisabled&&this._handleSend()},getFormatValue:function(){return wt(this.$refs.textarea.innerHTML.replace(/
|<\/br>/,"").replace(/|
/g,"\r\n").replace(/<\/div>|<\/p>/g,""))},_checkSubmitDisabled:function(){this.submitDisabled=!this.$refs.textarea.innerHTML.trim()},_handleSend:function(t){var e=this.getFormatValue();this.$emit("send",e),this.clear(),this._checkSubmitDisabled()},_handleChangeFile:function(t){var e=this,n=this.$refs.fileInput;Array.from(n.files).forEach(function(t){e.$emit("upload",t)}),n.value=""},clear:function(){this.$refs.textarea.innerHTML=""},initEmoji:function(t){Bt=t,this.$forceUpdate()}}},At=Vt,zt=(n("49c2"),Object(p["a"])(At,Et,Dt,!1,null,null,null)),Ht=zt.exports,qt={name:"LemonMessages",components:{},props:{hideName:Boolean,hideTime:Boolean,reverseUserId:String,timeRange:{type:Number,default:1},timeFormat:{type:Function,default:function(t){return gt(t)}},messages:{type:Array,default:function(){return[]}}},data:function(){return{_loading:!1,_loadend:!1}},render:function(){var t=this,e=arguments[0];return e("div",{class:"lemon-messages",ref:"wrap",on:{scroll:this._handleScroll}},[e("div",{class:["lemon-messages__load","lemon-messages__load--".concat(this._loadend?"end":"ing")]},[this._loadend?this._renderLoadEnd():this._renderLoading()]),this.messages.map(function(n,i){var a,s=[],r="lemon-message-".concat(n.type),c=t.messages[i-1];return c&&t.msecRange&&n.sendTime-c.sendTime>t.msecRange&&s.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:gt(n.sendTime)}}}]))),a="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},s.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:a}]))),s})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){var n,i,a=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=7;break}return this._loading=!0,t.next=5,this.$nextTick();case 5:i=n.scrollHeight,this.$emit("reach-top",function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,a.$nextTick();case 2:n.scrollTop=n.scrollHeight-i,a._loading=!1,a._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 7:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(){var e;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:e=this.$refs.wrap,e&&(e.scrollTop=e.scrollHeight);case 4:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}()},created:function(){},mounted:function(){}},Kt=qt,Wt=(n("436f"),Object(p["a"])(Kt,Pt,Ft,!1,null,null,null)),Gt=Wt.exports,Jt={name:"lemonMessageBasic",inject:["IMUI"],props:{message:{type:Object,default:function(){return{}}},timeFormat:{type:Function,default:function(){return""}},reverse:Boolean,hideName:Boolean,hideTime:Boolean},data:function(){return{}},render:function(){var t=this,e=arguments[0],n=this.message,i=n.fromUser,a=n.status,s=n.sendTime;return e("div",{class:["lemon-message",{"lemon-message--reverse":this.reverse,"lemon-message--hide-name":this.hideName}]},[e("div",{class:"lemon-message__avatar"},[e("lemon-avatar",{attrs:{size:36,shape:"square",src:i.avatar},on:{click:function(e){t._emitClick(e,"avatar")}}})]),e("div",{class:"lemon-message__inner"},[e("div",{class:"lemon-message__title"},[e("span",{on:{click:function(e){t._emitClick(e,"displayName")}}},[i.displayName]),1==this.hideTime&&e("span",{class:"lemon-message__time"},[this.timeFormat(s)])]),e("div",{class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[pt(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__status",on:{click:function(e){t._emitClick(e,"status")}}},[this._renderStatue(a)])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)},_renderStatue:function(t){var e=this.$createElement;return"going"==t?e("i",{class:"lemon-icon-loading lemonani-spin"}):"failed"==t?e("i",{class:"lemon-icon-prompt",attrs:{title:"重发消息"},style:{color:"#ff2525",cursor:"pointer"}}):void 0}}},Yt=Jt,Qt=(n("fbd1"),Object(p["a"])(Yt,Lt,Nt,!1,null,null,null)),Zt=Qt.exports;function Xt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function te(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===Ve[t.toContactId])this.updateContact(t.toContactId,{unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?1==e&&this.messageViewToBottom():n.unread="+1",this.updateContact(t.toContactId,n)}},_emitSend:function(t,e,n){var i=this;this.$emit("send",t,function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{status:"succeed"};e(),i.updateMessage(Object.assign(t,n))},n)},_handleSend:function(t){var e=this,n=this._createMessage({content:t});this.appendMessage(n,!0),this._emitSend(n,function(){e.updateContact(n.toContactId,{lastContent:e.lastContentRender(n),lastSendTime:n.sendTime})})},_handleUpload:function(t){var e,n=this,i=["image/gif","image/jpeg","image/png"];e=i.includes(t.type)?{type:"image",content:URL.createObjectURL(t)}:{type:"file",fileSize:t.size,fileName:t.name,content:""};var a=this._createMessage(e);this.appendMessage(a,!0),this._emitSend(a,function(){n.updateContact(a.toContactId,{lastContent:n.lastContentRender(a),lastSendTime:a.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,i),1==i&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(i)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],i=[];return this.menus.forEach(function(a){var s=a.name,r=a.title,o=a.unread,c=a.render,l=a.click,d=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==s}],on:{click:function(){bt(l,function(){s&&t.changeMenu(s)})}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(a)])]);!0===a.isBottom?i.push(d):n.push(d)}),{top:n,bottom:i}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([pt(this.$scopedSlots["sidebar-message-top"]),this.lastMessages.map(function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},function(){return t.changeContact(e.id)},t.$scopedSlots["sidebar-message"])})],$e)},_renderContact:function(t,e,n){var i=this,a=this.$createElement,s=t.contact,r=s.click,c=s.renderContainer,l=s.id,d=function(){bt(r,function(){e(),i._customContainerReady(c,i.CacheContactContainer,l)})};return a("lemon-contact",o()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id}},{props:t},{on:{click:d},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([pt(this.$scopedSlots["sidebar-contact-top"]),this.contacts.map(function(i){if(i.index){i.index=i.index.replace(/\[[0-9]*\]/,"");var a=[i.index!==t&&n("p",{class:"lemon-sidebar__label"},[i.index]),e._renderContact({contact:i,simple:!0},function(){e.changeContact(i.id)},e.$scopedSlots["sidebar-contact"])];return t=i.index,a}})],Te)},_renderSidebar:function(t,e){var n=this.$createElement;return n("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}]},[t])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[ze(),pt(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],i="lemon-container",a=this.currentContact,s=!0;for(var r in this.CacheContactContainer.get()){var o=a.id==r&&this.currentIsDefSidebar;s=!o,n.push(e("div",{class:i,directives:[{name:"show",value:o}]},[this.CacheContactContainer.get(r)]))}for(var c in this.CacheMenuContainer.get())n.push(e("div",{class:i,directives:[{name:"show",value:this.activeSidebar==c&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(c)]));return n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsMessages()&&s&&a.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[pt(this.$scopedSlots["message-title"],a.displayName,a)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:i,directives:[{name:"show",value:!a.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsContacts()&&s&&a.id}]},[pt(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:a.avatar,size:90}}),e("h4",[a.displayName]),e("lemon-button",{on:{click:function(){t.changeContact(a.id,$e)}}},["发送消息"])]),a)])),n},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var i,a={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),Ve[e]=Ve[e]||[],(i=Ve[e])[a].apply(i,Object(Se["a"])(t))},setLastContentRender:function(t,e){De[t]=e},lastContentRender:function(t){return ft(De[t.type])?De[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},replaceEmojiName:function(t){return t.replace(/\[!(\w+)\]/gi,function(t,e){var n=e;return Ae[n]?'
'):"[!".concat(e,"]")})},updateCurrentMessages:function(){Ve[this.currentContactId]||(Ve[this.currentContactId]=[]),this.currentMessages=Ve[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=Object(H["a"])(regeneratorRuntime.mark(function t(e,n){var i=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(!n){t.next=4;break}this.changeMenu(n),t.next=6;break;case 4:if(!this._changeContactLock&&this.currentContactId!=e){t.next=6;break}return t.abrupt("return",!1);case 6:if(this.currentContactId=e,this.$emit("change-contact",this.currentContact,this),!ft(this.currentContact.renderContainer)){t.next=10;break}return t.abrupt("return");case 10:this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Ve[e]?setTimeout(function(){i.updateCurrentMessages(),i.messageViewToBottom()},0):(this.updateCurrentMessages(),this._emitPullMessages(function(t){return i.messageViewToBottom()}));case 12:case"end":return t.stop()}},t,this)}));function e(e,n){return t.apply(this,arguments)}return e}(),removeMessage:function(t){var e=this.findMessage(t);if(!e)return!1;var n=Ve[e.toContactId].findIndex(function(e){var n=e.id;return n==t});return Ve[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;delete t.toContactId;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t),!0)},forceUpdateMessage:function(t){if(t){var e=this.$refs.messages.$refs.message;if(e){var n=e.find(function(e){return e.$attrs.message.id==t});n&&n.$forceUpdate()}}else this.$refs.messages.$forceUpdate()},_customContainerReady:function(t,e,n){ft(t)&&!e.has(n)&&e.set(n,t.call(this))},changeMenu:function(t){if(this._changeContactLock)return!1;this.$emit("change-menu",t),this.activeSidebar=t},initEmoji:function(t){this.$refs.editor.initEmoji(t),t[0].label&&(t=t.flatMap(function(t){return t.children})),t.forEach(function(t){var e=t.name,n=t.src;return Ae[e]=n})},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,i=[{name:$e,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Te,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],a=[];if(Array.isArray(t)){var s={messages:0,contacts:1},r=Object.keys(s);a=t.map(function(t){return r.includes(t.name)?Ue({},i[s[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else a=i;this.menus=a},initContacts:function(t){var e;(e=this.contacts).push.apply(e,Object(Se["a"])(t)),this.sortContacts()},sortContacts:function(){this.contacts.sort(function(t,e){if(t.index)return t.index.localeCompare(e.index)})},updateContact:function(t,e){delete e.id,delete e.toContactId;var n=this.findContactIndexById(t);if(-1!==n){var i=e.unread;ut(i)&&(0!==i.indexOf("+")&&0!==i.indexOf("-")||(e.unread=parseInt(i)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Ue({},this.contacts[n],{},e))}},findContactIndexById:function(t){return this.contacts.findIndex(function(e){return e.id==t})},findMessage:function(t){return Object.values(Ve).flat().find(function(e){var n=e.id;return n==t})},getContacts:function(){return this.contacts},getCurrentContact:function(){return this.currentContact},getCurrentMessages:function(){return this.currentMessages},getMessages:function(t){return(t?Ve[t]:Ve)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){ze=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},qe=He,Ke=(n("9b01"),Object(p["a"])(qe,Re,Be,!1,null,null,null)),We=Ke.exports,Ge=(n("6a2b"),"0.1"),Je=[We,It,Gt,Ht,lt,st,et,Q,z,Zt,re,fe,je,Ie],Ye=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];Je.forEach(function(e){t.component(e.name,e)})};"undefined"!==typeof window&&window.Vue&&Ye(window.Vue);var Qe={version:Ge,install:Ye};i["a"].use(Qe),i["a"].config.productionTip=!1,new i["a"]({render:function(t){return t(R)}}).$mount("#app")},cfab:function(t,e,n){"use strict";var i=n("15cf"),a=n.n(i);a.a},dbdc:function(t,e,n){"use strict";var i=n("7802"),a=n.n(i);a.a},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var i=n("a215"),a=n.n(i);a.a},fbd1:function(t,e,n){"use strict";var i=n("820e"),a=n.n(i);a.a}});
\ No newline at end of file
diff --git a/package.json b/package.json
index e80e8e3..a96bd11 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lemon-imui",
- "version": "1.3.1",
+ "version": "1.3.2",
"main": "dist/index.umd.min.js",
"description": "基于 VUE2.0 的 IM 聊天组件",
"homepage": "https://github.com/fanjyy/lemon-imui",
diff --git a/packages/components/index.vue b/packages/components/index.vue
index f4cce4b..b8c4833 100644
--- a/packages/components/index.vue
+++ b/packages/components/index.vue
@@ -906,7 +906,6 @@ bezier = cubic-bezier(0.645, 0.045, 0.355, 1)
width drawer-width
height 100%
box-sizing border-box
- //border-left 1px solid #e9e9e9
+b(lemon-wrapper)
+m(drawer-show)
+b(lemon-drawer)
diff --git a/packages/components/message/basic.vue b/packages/components/message/basic.vue
index 21ca17b..0ab88d9 100644
--- a/packages/components/message/basic.vue
+++ b/packages/components/message/basic.vue
@@ -2,7 +2,14 @@
import { useScopedSlot} from "utils";
export default {
name: "lemonMessageBasic",
- inject: ["IMUI"],
+ inject: {
+ IMUI: {
+ from:'IMUI',
+ default (){
+ return this;
+ }
+ }
+ },
props: {
message: {
type: Object,
@@ -27,6 +34,7 @@ export default {
{fromUser.displayName}
- {this.hideTime == true && {this.timeFormat(sendTime)}}
+ {this.hideTime == true && {
+ this._emitClick(e, "sendTime");
+ }}>{this.timeFormat(sendTime)}}
- {
- this._emitClick(e, "content");
- }}
- >
- {useScopedSlot(this.$scopedSlots['content'],null,this.message)}
-
- {
- this._emitClick(e, "status");
- }}
- >
- {this._renderStatue(status)}
+
+
{
+ this._emitClick(e, "content");
+ }}
+ >
+ {useScopedSlot(this.$scopedSlots['content'],null,this.message)}
+
+
+ {useScopedSlot(this.IMUI.$scopedSlots['message-after'],null,this.message)}
+
+
{
+ this._emitClick(e, "status");
+ }}
+ >
+
+
+ {this._renderStatue(status)}
+
@@ -83,21 +109,21 @@ export default {
this.IMUI.$emit("message-click", e, key, this.message,this.IMUI);
},
_renderStatue(status) {
- if (status == "going") {
- return ;
- } else if (status == "failed") {
- return (
-
- );
- }
- return;
+ // if (status == "going") {
+ // return ;
+ // } else if (status == "failed") {
+ // return (
+ //
+ // );
+ // }
+ // return;
},
}
};
@@ -131,6 +157,8 @@ arrow()
padding-bottom 6px
user-select none
color #666
+ +e(content-flex)
+ display flex
+e(content)
font-size 14px
line-height 20px
@@ -138,7 +166,7 @@ arrow()
background #fff
border-radius 4px
position relative
- margin 0 46px 0 0
+ margin 0
img
video
background #e9e9e9
@@ -148,22 +176,49 @@ arrow()
left -4px
border-left none
border-right-color #fff
+ +e(content-after)
+ display block
+ width 48px
+ height 36px
+ padding-left 6px
+ flex none
+ font-size 12px
+ color #aaa
+ overflow hidden
+ visibility hidden
+e(status)
position absolute
top 23px
right 20px
color #aaa
font-size 20px
+ .lemon-icon-loading
+ .lemon-icon-prompt
+ display none
+ +m(status-going)
+ .lemon-icon-loading
+ display inline-block
+ +m(status-failed)
+ .lemon-icon-prompt
+ display inline-block
+ +m(status-succeed)
+ +e(content-after)
+ visibility visible
+m(reverse)
flex-direction row-reverse
+ +e(content-flex)
+ flex-direction row-reverse
+ +e(content-after)
+ padding-right 6px
+ padding-left 0
+ text-align right
+e(title)
flex-direction row-reverse
+e(status)
- left 20px
+ left 26px
right auto
+e(content)
background #35d863
- margin 0 0 0 46px
&:before
arrow()
left auto