From 0f3edc69251c6a65f2feadae6f1c96b9aabbebaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E5=90=9B?= <504498960@qq.com> Date: Wed, 3 Feb 2021 16:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8D=89=E7=A8=BF=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/index.common.js | 134 +++++++----------- dist/index.umd.js | 134 +++++++----------- dist/index.umd.min.js | 2 +- examples/App.vue | 7 +- examples/dist/index.html | 2 +- .../{index.67dbfb3d.js => index.6db35f89.js} | 2 +- package.json | 13 +- packages/components/index.vue | 53 +++++-- 8 files changed, 157 insertions(+), 190 deletions(-) rename examples/dist/js/{index.67dbfb3d.js => index.6db35f89.js} (90%) diff --git a/dist/index.common.js b/dist/index.common.js index c15b5d8..b98e80e 100644 --- a/dist/index.common.js +++ b/dist/index.common.js @@ -2544,9 +2544,6 @@ function _toConsumableArray(arr) { // EXTERNAL MODULE: ./node_modules/_core-js@2.6.12@core-js/modules/es6.string.starts-with.js var es6_string_starts_with = __webpack_require__("d31c"); -// EXTERNAL MODULE: ./node_modules/_core-js@2.6.12@core-js/modules/es6.object.assign.js -var es6_object_assign = __webpack_require__("6ba0"); - // EXTERNAL MODULE: ./node_modules/_core-js@2.6.12@core-js/modules/es6.array.sort.js var es6_array_sort = __webpack_require__("3441"); @@ -2669,8 +2666,6 @@ var memory_MemoryCache = /*#__PURE__*/function () { - - function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -3318,6 +3313,41 @@ var renderDrawerContent = function renderDrawerContent() {}; this.$refs.messages.scrollToBottom(); }, + /** + * 设置联系人的草稿信息 + */ + setDraft: function setDraft(contactId, editorValue) { + if (isEmpty(contactId) || isEmpty(editorValue)) return false; + var contact = this.findContact(contactId); + if (isEmpty(contact)) return false; + this.CacheDraft.set(contactId, { + editorValue: editorValue, + lastContent: contact.lastContent + }); + this.updateContact({ + id: contactId, + lastContent: "[\u8349\u7A3F]".concat(this.lastContentRender({ + type: "text", + content: editorValue + }), "") + }); + }, + + /** + * 清空联系人草稿信息 + */ + clearDraft: function clearDraft(contactId) { + var draft = this.CacheDraft.get(contactId); + + if (draft) { + this.updateContact({ + id: contactId, + lastContent: draft.lastContent + }); + this.CacheDraft.remove(contactId); + } + }, + /** * 改变聊天对象 * @param contactId 联系人 id @@ -3326,7 +3356,7 @@ var renderDrawerContent = function renderDrawerContent() {}; var _changeContact = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(contactId, menuName) { var _this13 = this; - var prevCurrentContactId, editorValue, draft; + var editorValue, draft; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { @@ -3349,47 +3379,41 @@ var renderDrawerContent = function renderDrawerContent() {}; return _context2.abrupt("return", false); case 6: - prevCurrentContactId = this.currentContactId; //保存上个聊天目标的草稿 - - if (prevCurrentContactId) { + //保存上个聊天目标的草稿 + if (this.currentContactId) { editorValue = this.getEditorValue(); if (editorValue) { - this.CacheDraft.set(prevCurrentContactId, editorValue); - this.updateContact({ - id: prevCurrentContactId, - lastContent: "[\u8349\u7A3F]".concat(this.lastContentRender({ - type: "text", - content: editorValue - }), "") - }); - this.setEditorValue(""); + this.setDraft(this.currentContactId, editorValue); + this.setEditorValue(); + } else { + this.clearDraft(this.currentContactId); } } this.currentContactId = contactId; if (this.currentContactId) { - _context2.next = 11; + _context2.next = 10; break; } return _context2.abrupt("return", false); - case 11: + case 10: this.$emit("change-contact", this.currentContact, this); if (!isFunction(this.currentContact.renderContainer)) { - _context2.next = 14; + _context2.next = 13; break; } return _context2.abrupt("return"); - case 14: + case 13: //填充草稿内容 - draft = this.CacheDraft.get(contactId) || ""; - if (draft) this.setEditorValue(draft); + draft = this.CacheDraft.get(contactId); + if (draft) this.setEditorValue(draft.editorValue); if (this.CacheMessageLoaded.has(contactId)) { this.$refs.messages.loaded(); @@ -3411,7 +3435,7 @@ var renderDrawerContent = function renderDrawerContent() {}; }, 0); } - case 18: + case 17: case "end": return _context2.stop(); } @@ -3697,7 +3721,8 @@ var renderDrawerContent = function renderDrawerContent() {}; getCurrentMessages: function getCurrentMessages() { return this.currentMessages; }, - setEditorValue: function setEditorValue(val) { + setEditorValue: function setEditorValue() { + var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; if (!isString(val)) return false; this.$refs.editor.setValue(this.emojiNameToImage(val)); }, @@ -5467,17 +5492,6 @@ try { } -/***/ }), - -/***/ "6ba0": -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.3.1 Object.assign(target, source) -var $export = __webpack_require__("e99b"); - -$export($export.S + $export.F, 'Object', { assign: __webpack_require__("9f15") }); - - /***/ }), /***/ "6bf8": @@ -5924,52 +5938,6 @@ module.exports = function (it) { }; -/***/ }), - -/***/ "9f15": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// 19.1.2.1 Object.assign(target, source, ...) -var DESCRIPTORS = __webpack_require__("26df"); -var getKeys = __webpack_require__("93ca"); -var gOPS = __webpack_require__("0c29"); -var pIE = __webpack_require__("35d4"); -var toObject = __webpack_require__("8078"); -var IObject = __webpack_require__("1b96"); -var $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || __webpack_require__("0926")(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var S = Symbol(); - var K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function (k) { B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var aLen = arguments.length; - var index = 1; - var getSymbols = gOPS.f; - var isEnum = pIE.f; - while (aLen > index) { - var S = IObject(arguments[index++]); - var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; - } - } return T; -} : $assign; - - /***/ }), /***/ "a450": diff --git a/dist/index.umd.js b/dist/index.umd.js index 3564fa4..33857e4 100644 --- a/dist/index.umd.js +++ b/dist/index.umd.js @@ -2553,9 +2553,6 @@ function _toConsumableArray(arr) { // EXTERNAL MODULE: ./node_modules/_core-js@2.6.12@core-js/modules/es6.string.starts-with.js var es6_string_starts_with = __webpack_require__("d31c"); -// EXTERNAL MODULE: ./node_modules/_core-js@2.6.12@core-js/modules/es6.object.assign.js -var es6_object_assign = __webpack_require__("6ba0"); - // EXTERNAL MODULE: ./node_modules/_core-js@2.6.12@core-js/modules/es6.array.sort.js var es6_array_sort = __webpack_require__("3441"); @@ -2678,8 +2675,6 @@ var memory_MemoryCache = /*#__PURE__*/function () { - - function componentsvue_type_script_lang_js_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function componentsvue_type_script_lang_js_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { componentsvue_type_script_lang_js_ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { componentsvue_type_script_lang_js_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -3327,6 +3322,41 @@ var renderDrawerContent = function renderDrawerContent() {}; this.$refs.messages.scrollToBottom(); }, + /** + * 设置联系人的草稿信息 + */ + setDraft: function setDraft(contactId, editorValue) { + if (isEmpty(contactId) || isEmpty(editorValue)) return false; + var contact = this.findContact(contactId); + if (isEmpty(contact)) return false; + this.CacheDraft.set(contactId, { + editorValue: editorValue, + lastContent: contact.lastContent + }); + this.updateContact({ + id: contactId, + lastContent: "[\u8349\u7A3F]".concat(this.lastContentRender({ + type: "text", + content: editorValue + }), "") + }); + }, + + /** + * 清空联系人草稿信息 + */ + clearDraft: function clearDraft(contactId) { + var draft = this.CacheDraft.get(contactId); + + if (draft) { + this.updateContact({ + id: contactId, + lastContent: draft.lastContent + }); + this.CacheDraft.remove(contactId); + } + }, + /** * 改变聊天对象 * @param contactId 联系人 id @@ -3335,7 +3365,7 @@ var renderDrawerContent = function renderDrawerContent() {}; var _changeContact = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(contactId, menuName) { var _this13 = this; - var prevCurrentContactId, editorValue, draft; + var editorValue, draft; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { @@ -3358,47 +3388,41 @@ var renderDrawerContent = function renderDrawerContent() {}; return _context2.abrupt("return", false); case 6: - prevCurrentContactId = this.currentContactId; //保存上个聊天目标的草稿 - - if (prevCurrentContactId) { + //保存上个聊天目标的草稿 + if (this.currentContactId) { editorValue = this.getEditorValue(); if (editorValue) { - this.CacheDraft.set(prevCurrentContactId, editorValue); - this.updateContact({ - id: prevCurrentContactId, - lastContent: "[\u8349\u7A3F]".concat(this.lastContentRender({ - type: "text", - content: editorValue - }), "") - }); - this.setEditorValue(""); + this.setDraft(this.currentContactId, editorValue); + this.setEditorValue(); + } else { + this.clearDraft(this.currentContactId); } } this.currentContactId = contactId; if (this.currentContactId) { - _context2.next = 11; + _context2.next = 10; break; } return _context2.abrupt("return", false); - case 11: + case 10: this.$emit("change-contact", this.currentContact, this); if (!isFunction(this.currentContact.renderContainer)) { - _context2.next = 14; + _context2.next = 13; break; } return _context2.abrupt("return"); - case 14: + case 13: //填充草稿内容 - draft = this.CacheDraft.get(contactId) || ""; - if (draft) this.setEditorValue(draft); + draft = this.CacheDraft.get(contactId); + if (draft) this.setEditorValue(draft.editorValue); if (this.CacheMessageLoaded.has(contactId)) { this.$refs.messages.loaded(); @@ -3420,7 +3444,7 @@ var renderDrawerContent = function renderDrawerContent() {}; }, 0); } - case 18: + case 17: case "end": return _context2.stop(); } @@ -3706,7 +3730,8 @@ var renderDrawerContent = function renderDrawerContent() {}; getCurrentMessages: function getCurrentMessages() { return this.currentMessages; }, - setEditorValue: function setEditorValue(val) { + setEditorValue: function setEditorValue() { + var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; if (!isString(val)) return false; this.$refs.editor.setValue(this.emojiNameToImage(val)); }, @@ -5476,17 +5501,6 @@ try { } -/***/ }), - -/***/ "6ba0": -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.3.1 Object.assign(target, source) -var $export = __webpack_require__("e99b"); - -$export($export.S + $export.F, 'Object', { assign: __webpack_require__("9f15") }); - - /***/ }), /***/ "6bf8": @@ -5933,52 +5947,6 @@ module.exports = function (it) { }; -/***/ }), - -/***/ "9f15": -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// 19.1.2.1 Object.assign(target, source, ...) -var DESCRIPTORS = __webpack_require__("26df"); -var getKeys = __webpack_require__("93ca"); -var gOPS = __webpack_require__("0c29"); -var pIE = __webpack_require__("35d4"); -var toObject = __webpack_require__("8078"); -var IObject = __webpack_require__("1b96"); -var $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || __webpack_require__("0926")(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var S = Symbol(); - var K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function (k) { B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var aLen = arguments.length; - var index = 1; - var getSymbols = gOPS.f; - var isEnum = pIE.f; - while (aLen > index) { - var S = IObject(arguments[index++]); - var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; - } - } return T; -} : $assign; - - /***/ }), /***/ "a450": diff --git a/dist/index.umd.min.js b/dist/index.umd.min.js index 01eeb14..374cc09 100644 --- a/dist/index.umd.min.js +++ b/dist/index.umd.min.js @@ -1 +1 @@ -(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["index"]=e(require("vue")):t["index"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="112a")}({"01be":function(t,e,n){},"0353":function(t,e,n){"use strict";var r=n("6bf8"),i=RegExp.prototype.exec,o=String.prototype.replace,a=i,c="lastIndex",s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[c]||0!==e[c]}(),u=void 0!==/()??/.exec("")[1],l=s||u;l&&(a=function(t){var e,n,a,l,f=this;return u&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),s&&(e=f[c]),a=i.call(f,t),s&&a&&(f[c]=f.global?a.index+a[0].length:e),u&&a&&a.length>1&&o.call(a[0],n,(function(){for(l=1;l=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},"0e15":function(t,e,n){"use strict";n("d5e9")},"112a":function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("e67d"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("a450"),n("1bc7");var i=n("8bbf"),o=n.n(i);n("3269"),n("25ba"),n("b3d7"),n("4057");function a(t){return"[object Object]"===Object.prototype.toString.call(t)}function c(t){return"string"==typeof t}function s(t){return(new Date).getTime()-t<864e5}function u(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!a(t)||0!=Object.values(t).length))}function l(t){return t&&"function"===typeof t}n("6a61");function f(t,e,n,r,i,o,a){try{var c=t[o](a),s=c.value}catch(u){return void n(u)}c.done?e(s):Promise.resolve(s).then(r,i)}function d(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){f(o,r,i,a,c,"next",t)}function c(t){f(o,r,i,a,c,"throw",t)}a(void 0)}))}}n("32ea"),n("aa18"),n("982e");var h,p,m=[],v={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(),$.hide(),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(v).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),m.push(this.close)},mounted:function(){v[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:"lemon-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__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=d(regeneratorRuntime.mark((function t(e){var n,r;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,r=this.$refs.popover,this.popoverStyle={top:"-".concat(r.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-r.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(){this.closeAll(),this.visible=!0},closeAll:function(){m.forEach((function(t){return t()}))},close:function(){this.visible=!1}}},b=g;n("0e15");function y(t,e,n,r,i,o,a,c){var s,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=s):i&&(s=c?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(u.functional){u._injectStyles=s;var l=u.render;u.render=function(t,e){return s.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,s):[s]}return{exports:t,options:u}}var x,_=y(b,h,p,!1,null,null,null),w=_.exports,C=function(){x&&(x.style.display="none")},S=function(){x&&(x.style.display="block")};document.addEventListener("click",(function(t){C()}));var O,j,I,k,M,E,T,L,$={hide:C,bind:function(t,e,n){t.addEventListener("contextmenu",(function(t){if(!u(e.value)&&Array.isArray(e.value)){var r;t.preventDefault(),w.methods.closeAll();var i=[];e.modifiers.message?r=n.context:e.modifiers.contact&&(r=n.child),x||(x=document.createElement("div"),x.className="lemon-contextmenu",document.body.appendChild(x)),x.innerHTML=e.value.map((function(t){var e;if(e=l(t.visible)?t.visible(r):void 0===t.visible||t.visible,e){i.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""})).join(""),x.style.top="".concat(t.pageY,"px"),x.style.left="".concat(t.pageX,"px"),x.childNodes.forEach((function(t,e){var n=i[e],a=n.click,c=n.render;if(t.addEventListener("click",(function(t){t.stopPropagation(),l(a)&&a(t,r,C)})),l(c)){var s=o.a.extend({render:function(t){return c(t,r,C)}}),u=(new s).$mount();t.querySelector("span").innerHTML=u.$el.outerHTML}})),S()}}))}},P={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=[],r=[];return this.$slots["tab-pane"].map((function(i){var o=i.data.attrs,a=o.tab,c=o.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==c}]},[i])),r.push(e("div",{class:["lemon-tabs-nav__item",t.active==c&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(c)}}},[a]))})),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[r])])},methods:{_handleNavClick:function(t){this.active=t}}},A=P,R=(n("3423"),y(A,O,j,!1,null,null,null)),F=R.exports,D={name:"LemonButton",props:{color:{type:String,default:"default"},disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:["lemon-button","lemon-button--color-".concat(this.color)],attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},N=D,U=(n("1e45"),y(N,I,k,!1,null,null,null)),B=U.exports,V=(n("e680"),{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:{}}),H=V,G=(n("dbdc"),y(H,M,E,!1,null,null,null)),z=G.exports,K={name:"LemonAvatar",inject:["IMUI"],props:{src:String,icon:{type:String,default:"lemon-icon-people"},circle:{type:Boolean,default:function(){return!!this.IMUI&&this.IMUI.avatarCricle}},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",{"lemon-avatar--circle":this.circle}],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}}},W=K,Y=(n("04f4"),y(W,T,L,!1,null,null,null)),q=Y.exports,X=n("4c02"),Z=n.n(X);n("ac67");function J(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("8dee");function Q(t,e,n){return t?t(n):e}function tt(t){return t<10?"0".concat(t):t}function et(t){var e,n=new Date(t),r=new Date,i=function(t){return t.getFullYear()},o=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},a=i(n),c=i(r);return e=a!==c?"y年m月d日 h:i":"".concat(a,"-").concat(o(n))==="".concat(c,"-").concat(o(r))?"h:i":"m月d日 h:i",nt(t,e)}function nt(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),tt((t.getMonth()+1).toString()),tt(t.getDate().toString()),tt(t.getHours().toString()),tt(t.getMinutes().toString()),tt(t.getSeconds().toString())],r="ymdhis",i=0;i/gi,"")}function ot(t){return t.replace(/<(?!img).*?>/gi,"")}function at(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,r=parseFloat(t);n=Math.floor(Math.log(r)/Math.log(1024));var i=r/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 st,ut,lt={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return nt(t,s(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)}}},[Q(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[c(e.lastContent)?t("span",Z()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},ft=lt,dt=(n("909e"),y(ft,st,ut,!1,null,null,null)),ht=dt.exports;n("0c84"),n("2843");function pt(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 mt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},St=window.getSelection(),Ot=[],jt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return this.clipboardBlob=null,{clipboardUrl:"",submitDisabled:!0,proxyTools:[],accept:""}},created:function(){var t=this;this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}]),this.IMUI.$on("change-contact",(function(){t.closeClipboardImage()}))},render:function(){var t=this,e=arguments[0],n=[],r=[];return this.proxyTools.forEach((function(i){var o=i.name,a=i.title,c=i.render,s=i.click,u=i.isRight;s=s||new Function;var l,f=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":u}];l="emoji"==o?0==Ot.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:f,attrs:{title:a}},[c()])]):e("div",{class:f,on:{click:s},attrs:{title:a}},[c()]),u?r.push(l):n.push(l)})),e("div",{class:"lemon-editor"},[this.clipboardUrl&&e("div",{class:"lemon-editor__clipboard-image"},[e("img",{attrs:{src:this.clipboardUrl}}),e("div",[e("lemon-button",{style:{marginRight:"10px"},on:{click:this.closeClipboardImage},attrs:{color:"grey"}},["取消"]),e("lemon-button",{on:{click:this.sendClipboardImage}},["发送图片"])])]),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"},[r])]),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}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[Q(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{closeClipboardImage:function(){this.clipboardUrl="",this.clipboardBlob=null},sendClipboardImage:function(){this.clipboardBlob&&(this.$emit("upload",this.clipboardBlob),this.closeClipboardImage())},initTools:function(t){var e=this,n=this.$createElement;if(t){var r=[{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 o={emoji:0,uploadFile:1,uploadImage:2},a=Object.keys(o);i=t.map((function(t){return a.includes(t.name)?mt(mt({},r[o[t.name]]),t):t}))}else i=r;this.proxyTools=i}},_saveLastRange:function(){vt=St.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),vt&&(St.removeAllRanges(),St.addRange(vt))},_handleClick:function(){this._saveLastRange()},_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(Ot[0].label){var r=Ot.map((function(t,r){return e("div",{slot:"tab-pane",attrs:{index:r,tab:t.label}},[n(t.children)])}));return e("lemon-tabs",{style:"width: 412px"},[r])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Ot)])},_handleSelectEmoji:function(t){this._focusLastRange(),Ct('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=d(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||window.clipboardData,n=e.getData("Text");if(n)window.clipboardData?this.$refs.textarea.innerHTML=n:Ct(n,"insertText");else{var r=this._getClipboardBlob(e),i=r.blob,o=r.blobUrl;this.clipboardBlob=i,this.clipboardUrl=o}},_getClipboardBlob:function(t){for(var e,n,r=0;rt.msecRange&&o.push(e("lemon-message-event",Z()([{},{attrs:{message:{id:"__time__",type:"event",content:et(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(a,Z()([{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=d(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,$.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:r=n.scrollHeight,this.$emit("reach-top",function(){var t=d(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 8:case"end":return t.stop()}}),t,this)})));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=d(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(){}},Tt=Et,Lt=(n("436f"),y(Tt,yt,xt,!1,null,null,null)),$t=Lt.exports,Pt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,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",{directives:[{name:"lemon-contextmenu",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[Q(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[Q(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"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},At=Pt,Rt=(n("fbd1"),y(At,_t,wt,!1,null,null,null)),Ft=Rt.exports;function Dt(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 Nt(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]&&arguments[1];if(void 0===Le[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?(1==e&&this.messageViewToBottom(),this.CacheDraft.remove(t.toContactId)):n.unread="+1",this.updateContact(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({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime}),e.CacheDraft.remove(n.toContactId)}))},_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({id: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,a=i.title,c=i.unread,s=i.render,u=i.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==o}],on:{click:function(){rt(u,(function(){o&&t.changeMenu(o)}))}},attrs:{title:a}},[e("lemon-badge",{attrs:{count:c}},[s(i)])]);!0===i.isBottom?r.push(l):n.push(l)})),{top:n,bottom:r}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([Q(this.$scopedSlots["sidebar-message-top"],null,this),this.lastMessages.map((function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},(function(){return t.changeContact(e.id)}),t.$scopedSlots["sidebar-message"])}))],xe,Q(this.$scopedSlots["sidebar-message-fixedtop"],null,this))},_renderContact:function(t,e,n){var r=this,i=this.$createElement,o=t.contact,a=o.click,c=o.renderContainer,s=o.id,u=function(){rt(a,(function(){e(),r._customContainerReady(c,r.CacheContactContainer,s)}))};return i("lemon-contact",Z()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"lemon-contextmenu",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:u},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([Q(this.$scopedSlots["sidebar-contact-top"],null,this),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}}))],_e,Q(this.$scopedSlots["sidebar-contact-fixedtop"],null,this))},_renderSidebar:function(t,e,n){var r=this.$createElement;return r("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[r("div",{class:"lemon-sidebar__fixed-top"},[n]),r("div",{class:"lemon-sidebar__scroll"},[t])])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Pe(),Q(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 a in this.CacheContactContainer.get()){var c=i.id==a&&this.currentIsDefSidebar;o=!c,n.push(e("div",{class:r,directives:[{name:"show",value:c}]},[this.CacheContactContainer.get(a)]))}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"},[Q(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,sendText:this.sendText,sendKey:this.sendKey},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}]},[Q(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(){u(i.lastContent)&&t.updateContact({id:i.id,lastContent:" "}),t.changeContact(i.id,xe)}}},["发送消息"])]),i)])),n},_handleSidebarScroll:function(){$.hide()},_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]),Le[e]=Le[e]||[],(r=Le[e])[i].apply(r,ye(t))},setLastContentRender:function(t,e){Ce[t]=e},lastContentRender:function(t){return l(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()’")),"")},emojiNameToImage:function(t){return t.replace(/\[!(\w+)\]/gi,(function(t,e){var n=e;return $e[n]?''):"[!".concat(e,"]")}))},emojiImageToName:function(t){return t.replace(/]*>/gi,"[!$1]")},updateCurrentMessages:function(){Le[this.currentContactId]||(Le[this.currentContactId]=[]),this.currentMessages=Le[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=d(regeneratorRuntime.mark((function t(e,n){var r,i,o,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(r=this.currentContactId,r&&(i=this.getEditorValue(),i&&(this.CacheDraft.set(r,i),this.updateContact({id:r,lastContent:'[草稿]'.concat(this.lastContentRender({type:"text",content:i}),"")}),this.setEditorValue(""))),this.currentContactId=e,this.currentContactId){t.next=11;break}return t.abrupt("return",!1);case 11:if(this.$emit("change-contact",this.currentContact,this),!l(this.currentContact.renderContainer)){t.next=14;break}return t.abrupt("return");case 14:o=this.CacheDraft.get(e)||"",o&&this.setEditorValue(o),this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Le[e]?setTimeout((function(){a.updateCurrentMessages(),a.messageViewToBottom()}),0):(this.updateCurrentMessages(),this._emitPullMessages((function(t){return a.messageViewToBottom()})));case 18: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=Le[e.toContactId].findIndex((function(e){var n=e.id;return n==t}));return Le[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!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){l(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){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach((function(t){var n;(n=e).push.apply(n,ye(t.children))})):e=t,e.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:xe,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:_e,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},a=Object.keys(o);i=t.map((function(t){return a.includes(t.name)?Me(Me(Me({},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){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort((function(t,e){if(t.index)return t.index.localeCompare(e.index)}))},appendContact:function(t){return u(t.id)||u(t.displayName)?(console.error("id | displayName cant be empty"),!1):(this.hasContact(t.id)||this.contacts.push(Object.assign({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:"",lastContent:""},t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),this.CacheDraft.remove(t),this.CacheMessageLoaded.remove(t),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var r=t.unread;c(r)&&(0!==r.indexOf("+")&&0!==r.indexOf("-")||(t.unread=parseInt(r)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Me(Me({},this.contacts[n]),t))}},findContactIndexById:function(t){return this.contacts.findIndex((function(e){return e.id==t}))},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in Le){var n=Le[e].find((function(e){var n=e.id;return n==t}));if(n)return n}},findContact:function(t){return this.getContacts().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},setEditorValue:function(t){if(!c(t))return!1;this.$refs.editor.setValue(this.emojiNameToImage(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?Le[t]:Le)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Pe=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Re=Ae,Fe=(n("9b01"),y(Re,Ee,Te,!1,null,null,null)),De=Fe.exports,Ne=(n("6a2b"),"1.4.2"),Ue=[De,ht,$t,Mt,q,z,B,w,F,Ft,zt,Qt,ue,he],Be=function(t){t.directive("LemonContextmenu",$),Ue.forEach((function(e){t.component(e.name,e)}))};"undefined"!==typeof window&&window.Vue&&Be(window.Vue);var Ve={version:Ne,install:Be};e["default"]=Ve},1179:function(t,e,n){},"120f":function(t,e,n){"use strict";var r=n("3d8a"),i=n("e99b"),o=n("84e8"),a=n("065d"),c=n("953d"),s=n("3460"),u=n("bac3"),l=n("addc"),f=n("839a")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",m="values",v=function(){return this};t.exports=function(t,e,n,g,b,y,x){s(n,e,g);var _,w,C,S=function(t){if(!d&&t in k)return k[t];switch(t){case p:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",j=b==m,I=!1,k=t.prototype,M=k[f]||k[h]||b&&k[b],E=M||S(b),T=b?j?S("entries"):E:void 0,L="Array"==e&&k.entries||M;if(L&&(C=l(L.call(new t)),C!==Object.prototype&&C.next&&(u(C,O,!0),r||"function"==typeof C[f]||a(C,f,v))),j&&M&&M.name!==m&&(I=!0,E=function(){return M.call(this)}),r&&!x||!d&&!I&&k[f]||a(k,f,E),c[e]=E,c[O]=v,b)if(_={values:j?E:S(m),keys:y?E:S(p),entries:T},x)for(w in _)w in k||o(k,w,_[w]);else i(i.P+i.F*(d||I),e,_);return _}},1374:function(t,e,n){"use strict";var r=n("bb8b"),i=n("5edc");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},1663:function(t,e,n){var r=n("212e"),i=n("3ab0");t.exports=function(t){return function(e,n){var o,a,c=String(i(e)),s=r(n),u=c.length;return s<0||s>=u?t?"":void 0:(o=c.charCodeAt(s),o<55296||o>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):o:t?c.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},16636:function(t,e,n){"use strict";n("e706")},"1a9a":function(t,e,n){var r=n("839a")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],c=o[r]();c.next=function(){return{done:n=!0}},o[r]=function(){return c},t(o)}catch(a){}return n}},"1b96":function(t,e,n){var r=n("cea2");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"1bc7":function(t,e,n){for(var r=n("25ba"),i=n("93ca"),o=n("84e8"),a=n("0b34"),c=n("065d"),s=n("953d"),u=n("839a"),l=u("iterator"),f=u("toStringTag"),d=s.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(h),m=0;m0?i(r(t),9007199254740991):0}},"212e":function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"21d9":function(t,e,n){var r=n("3a4c"),i=n("065e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"25ba":function(t,e,n){"use strict";var r=n("87b2"),i=n("6fef"),o=n("953d"),a=n("3471");t.exports=n("120f")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},"26df":function(t,e,n){t.exports=!n("0926")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},2843:function(t,e,n){"use strict";var r=n("1e4d"),i=n("e99b"),o=n("8078"),a=n("b1d4"),c=n("dcea"),s=n("201c"),u=n("1374"),l=n("e3bb");i(i.S+i.F*!n("1a9a")((function(t){Array.from(t)})),"Array",{from:function(t){var e,n,i,f,d=o(t),h="function"==typeof this?this:Array,p=arguments.length,m=p>1?arguments[1]:void 0,v=void 0!==m,g=0,b=l(d);if(v&&(m=r(m,p>2?arguments[2]:void 0,2)),void 0==b||h==Array&&c(b))for(e=s(d.length),n=new h(e);e>g;g++)u(n,g,v?m(d[g],g):d[g]);else for(f=b.call(d),n=new h;!(i=f.next()).done;g++)u(n,g,v?a(f,m,[i.value,g],!0):i.value);return n.length=g,n}})},"285b":function(t,e,n){var r=n("35d4"),i=n("5edc"),o=n("3471"),a=n("5d10"),c=n("4fd4"),s=n("83d3"),u=Object.getOwnPropertyDescriptor;e.f=n("26df")?u:function(t,e){if(t=o(t),e=a(e,!0),s)try{return u(t,e)}catch(n){}if(c(t,e))return i(!r.f.call(t,e),t[e])}},3250:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},3269:function(t,e,n){var r=n("0b34"),i=n("a83a"),o=n("bb8b").f,a=n("21d9").f,c=n("804d"),s=n("6bf8"),u=r.RegExp,l=u,f=u.prototype,d=/a/g,h=/a/g,p=new u(d)!==d;if(n("26df")&&(!p||n("0926")((function(){return h[n("839a")("match")]=!1,u(d)!=d||u(h)==h||"/a/i"!=u(d,"i")})))){u=function(t,e){var n=this instanceof u,r=c(t),o=void 0===e;return!n&&r&&t.constructor===u&&o?t:i(p?new l(r&&!o?t.source:t,e):l((r=t instanceof u)?t.source:t,r&&o?s.call(t):e),n?this:f,u)};for(var m=function(t){t in u||o(u,t,{configurable:!0,get:function(){return l[t]},set:function(e){l[t]=e}})},v=a(l),g=0;v.length>g;)m(v[g++]);f.constructor=u,u.prototype=f,n("84e8")(r,"RegExp",u)}n("f966")("RegExp")},"32ea":function(t,e,n){var r=n("8078"),i=n("93ca");n("b2be")("keys",(function(){return function(t){return i(r(t))}}))},3423:function(t,e,n){"use strict";n("4942")},3441:function(t,e,n){"use strict";var r=n("e99b"),i=n("3250"),o=n("8078"),a=n("0926"),c=[].sort,s=[1,2,3];r(r.P+r.F*(a((function(){s.sort(void 0)}))||!a((function(){s.sort(null)}))||!n("95b6")(c)),"Array",{sort:function(t){return void 0===t?c.call(o(this)):c.call(o(this),i(t))}})},3460:function(t,e,n){"use strict";var r=n("7ee3"),i=n("5edc"),o=n("bac3"),a={};n("065d")(a,n("839a")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},3471:function(t,e,n){var r=n("1b96"),i=n("3ab0");t.exports=function(t){return r(i(t))}},3550:function(t,e,n){},"35d4":function(t,e){e.f={}.propertyIsEnumerable},"3a0d":function(t,e,n){var r=n("baa7")("keys"),i=n("d8b3");t.exports=function(t){return r[t]||(r[t]=i(t))}},"3a4c":function(t,e,n){var r=n("4fd4"),i=n("3471"),o=n("52a4")(!1),a=n("3a0d")("IE_PROTO");t.exports=function(t,e){var n,c=i(t),s=0,u=[];for(n in c)n!=a&&r(c,n)&&u.push(n);while(e.length>s)r(c,n=e[s++])&&(~o(u,n)||u.push(n));return u}},"3ab0":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"3d8a":function(t,e){t.exports=!1},"3f9e":function(t,e,n){var r=n("bb8b"),i=n("a86f"),o=n("93ca");t.exports=n("26df")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,s=0;while(c>s)r.f(t,n=a[s++],e[n]);return t}},4057:function(t,e,n){"use strict";n("de49");var r=n("a86f"),i=n("6bf8"),o=n("26df"),a="toString",c=/./[a],s=function(t){n("84e8")(RegExp.prototype,a,t,!0)};n("0926")((function(){return"/a/b"!=c.call({source:"a",flags:"b"})}))?s((function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):c.name!=a&&s((function(){return c.call(this)}))},"436f":function(t,e,n){"use strict";n("1179")},"43ec":function(t,e,n){"use strict";var r=n("1663")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},4942:function(t,e,n){},"49c2":function(t,e,n){"use strict";n("5d33")},"4c02":function(t,e,n){"use strict";function r(){return r=Object.assign||function(t){for(var e,n=1;nl)if(c=s[l++],c!=c)return!0}else for(;u>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},"581c":function(t,e,n){var r=n("839a")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},"5d10":function(t,e,n){var r=n("9cff");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"5d33":function(t,e,n){},"5dc3":function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},"5edc":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"6a2b":function(t,e,n){},"6a61":function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(L){s=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,o=Object.create(i.prototype),a=new M(r||[]);return o._invoke=O(t,n,a),o}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(L){return{type:"throw",arg:L}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",h="executing",p="completed",m={};function v(){}function g(){}function b(){}var y={};y[o]=function(){return this};var x=Object.getPrototypeOf,_=x&&x(x(E([])));_&&_!==n&&r.call(_,o)&&(y=_);var w=b.prototype=v.prototype=Object.create(y);function C(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function n(i,o,a,c){var s=l(t[i],t,o);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"===typeof f&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return n("throw",t,a,c)}))}c(s.arg)}var i;function o(t,r){function o(){return new e((function(e,i){n(t,r,e,i)}))}return i=i?i.then(o,o):o()}this._invoke=o}function O(t,e,n){var r=f;return function(i,o){if(r===h)throw new Error("Generator is already running");if(r===p){if("throw"===i)throw o;return T()}n.method=i,n.arg=o;while(1){var a=n.delegate;if(a){var c=j(a,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var s=l(t,e,n);if("normal"===s.type){if(r=n.done?p:d,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r=p,n.method="throw",n.arg=s.arg)}}}function j(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator["return"]&&(n.method="return",n.arg=e,j(t,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=l(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,m;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function M(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function E(t){if(t){var n=t[o];if(n)return n.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){while(++i=0;--o){var a=this.tryEntries[o],c=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:E(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),m}},t}(t.exports);try{regeneratorRuntime=r}catch(i){Function("r","regeneratorRuntime = r")(r)}},"6ba0":function(t,e,n){var r=n("e99b");r(r.S+r.F,"Object",{assign:n("9f15")})},"6bf8":function(t,e,n){"use strict";var r=n("a86f");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"6fef":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},"70f2":function(t,e,n){var r=n("0451");t.exports=function(t,e){return new(r(t))(e)}},"732b":function(t,e,n){var r=n("212e"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"76e3":function(t,e){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},"7ee3":function(t,e,n){var r=n("a86f"),i=n("3f9e"),o=n("065e"),a=n("3a0d")("IE_PROTO"),c=function(){},s="prototype",u=function(){var t,e=n("e8d7")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("bbcc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),u=t.F;while(r--)delete u[s][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(c[s]=r(t),n=new c,c[s]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},"804d":function(t,e,n){var r=n("9cff"),i=n("cea2"),o=n("839a")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},8078:function(t,e,n){var r=n("3ab0");t.exports=function(t){return Object(r(t))}},"839a":function(t,e,n){var r=n("baa7")("wks"),i=n("d8b3"),o=n("0b34").Symbol,a="function"==typeof o,c=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};c.store=r},"83d3":function(t,e,n){t.exports=!n("26df")&&!n("0926")((function(){return 7!=Object.defineProperty(n("e8d7")("div"),"a",{get:function(){return 7}}).a}))},"84e8":function(t,e,n){var r=n("0b34"),i=n("065d"),o=n("4fd4"),a=n("d8b3")("src"),c=n("05fd"),s="toString",u=(""+c).split(s);n("76e3").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,c){var s="function"==typeof n;s&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(s&&(o(n,a)||i(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,s,(function(){return"function"==typeof this&&this[a]||c.call(this)}))},"87b2":function(t,e,n){var r=n("839a")("unscopables"),i=Array.prototype;void 0==i[r]&&n("065d")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"8bbf":function(e,n){e.exports=t},"8dee":function(t,e,n){"use strict";var r=n("a86f"),i=n("8078"),o=n("201c"),a=n("212e"),c=n("43ec"),s=n("f417"),u=Math.max,l=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("c46f")("replace",2,(function(t,e,n,m){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=m(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),h="function"===typeof e;h||(e=String(e));var g=f.global;if(g){var b=f.unicode;f.lastIndex=0}var y=[];while(1){var x=s(f,d);if(null===x)break;if(y.push(x),!g)break;var _=String(x[0]);""===_&&(f.lastIndex=c(d,o(f.lastIndex),b))}for(var w="",C=0,S=0;S=C&&(w+=d.slice(C,j)+T,C=j+O.length)}return w+d.slice(C)}];function v(t,e,r,o,a,c){var s=r+t.length,u=o.length,l=h;return void 0!==a&&(a=i(a),l=d),n.call(c,l,(function(n,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(s);case"<":c=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>u){var d=f(l/10);return 0===d?n:d<=u?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}c=o[l-1]}return void 0===c?"":c}))}}))},"909e":function(t,e,n){"use strict";n("0484")},"93ca":function(t,e,n){var r=n("3a4c"),i=n("065e");t.exports=Object.keys||function(t){return r(t,i)}},"953d":function(t,e){t.exports={}},"95b6":function(t,e,n){"use strict";var r=n("0926");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"982e":function(t,e,n){"use strict";var r=n("e99b"),i=n("db34"),o="includes";r(r.P+r.F*n("581c")(o),"String",{includes:function(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"9b01":function(t,e,n){"use strict";n("aa55")},"9cff":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},"9f15":function(t,e,n){"use strict";var r=n("26df"),i=n("93ca"),o=n("0c29"),a=n("35d4"),c=n("8078"),s=n("1b96"),u=Object.assign;t.exports=!u||n("0926")((function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=u({},t)[n]||Object.keys(u({},e)).join("")!=r}))?function(t,e){var n=c(t),u=arguments.length,l=1,f=o.f,d=a.f;while(u>l){var h,p=s(arguments[l++]),m=f?i(p).concat(f(p)):i(p),v=m.length,g=0;while(v>g)h=m[g++],r&&!d.call(p,h)||(n[h]=p[h])}return n}:u},a450:function(t,e,n){var r=n("bb8b").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("26df")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},a7e5:function(t,e,n){"use strict";var r=n("e99b"),i=n("e9aa")(6),o="findIndex",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("87b2")(o)},a83a:function(t,e,n){var r=n("9cff"),i=n("e0ff").set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},a86f:function(t,e,n){var r=n("9cff");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},aa18:function(t,e,n){"use strict";var r=n("e99b"),i=n("52a4")(!0);r(r.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("87b2")("includes")},aa55:function(t,e,n){},ac67:function(t,e,n){var r=n("e99b"),i=n("e7c8"),o=n("3471"),a=n("285b"),c=n("1374");r(r.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),s=a.f,u=i(r),l={},f=0;while(u.length>f)n=s(r,e=u[f++]),void 0!==n&&c(l,e,n);return l}})},addc:function(t,e,n){var r=n("4fd4"),i=n("8078"),o=n("3a0d")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},b1d4:function(t,e,n){var r=n("a86f");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},b2be:function(t,e,n){var r=n("e99b"),i=n("76e3"),o=n("0926");t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o((function(){n(1)})),"Object",a)}},b3d7:function(t,e,n){var r=n("e99b"),i=n("d3ef")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},baa7:function(t,e,n){var r=n("76e3"),i=n("0b34"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("3d8a")?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},bac3:function(t,e,n){var r=n("bb8b").f,i=n("4fd4"),o=n("839a")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},bb8b:function(t,e,n){var r=n("a86f"),i=n("83d3"),o=n("5d10"),a=Object.defineProperty;e.f=n("26df")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},bbcc:function(t,e,n){var r=n("0b34").document;t.exports=r&&r.documentElement},bf73:function(t,e,n){"use strict";var r=n("0353");n("e99b")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},c46f:function(t,e,n){"use strict";n("bf73");var r=n("84e8"),i=n("065d"),o=n("0926"),a=n("3ab0"),c=n("839a"),s=n("0353"),u=c("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=c(t),h=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),p=h?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[u]=function(){return n}),n[d](""),!e})):void 0;if(!h||!p||"replace"===t&&!l||"split"===t&&!f){var m=/./[d],v=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===s?h&&!i?{done:!0,value:m.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),g=v[0],b=v[1];r(String.prototype,t,g),i(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},cea2:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},cfab:function(t,e,n){"use strict";n("4c4e")},d1cb:function(t,e,n){var r=n("cea2");t.exports=Array.isArray||function(t){return"Array"==r(t)}},d31c:function(t,e,n){"use strict";var r=n("e99b"),i=n("201c"),o=n("db34"),a="startsWith",c=""[a];r(r.P+r.F*n("581c")(a),"String",{startsWith:function(t){var e=o(this,t,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return c?c.call(e,r,n):e.slice(n,n+r.length)===r}})},d3ef:function(t,e,n){var r=n("26df"),i=n("93ca"),o=n("3471"),a=n("35d4").f;t.exports=function(t){return function(e){var n,c=o(e),s=i(c),u=s.length,l=0,f=[];while(u>l)n=s[l++],r&&!a.call(c,n)||f.push(t?[n,c[n]]:c[n]);return f}}},d445:function(t,e,n){var r=n("cea2"),i=n("839a")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(c=r(e))&&"function"==typeof e.callee?"Arguments":c}},d5e9:function(t,e,n){},d8b3:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},db34:function(t,e,n){var r=n("804d"),i=n("3ab0");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},dbdc:function(t,e,n){"use strict";n("01be")},dcea:function(t,e,n){var r=n("953d"),i=n("839a")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},de49:function(t,e,n){n("26df")&&"g"!=/./g.flags&&n("bb8b").f(RegExp.prototype,"flags",{configurable:!0,get:n("6bf8")})},de97:function(t,e,n){},e021:function(t,e,n){},e0ff:function(t,e,n){var r=n("9cff"),i=n("a86f"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("1e4d")(Function.call,n("285b").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},e3bb:function(t,e,n){var r=n("d445"),i=n("839a")("iterator"),o=n("953d");t.exports=n("76e3").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},e5b4:function(t,e,n){"use strict";var r=n("e99b"),i=n("e9aa")(5),o="find",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("87b2")(o)},e67d:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},e680:function(t,e,n){"use strict";var r=n("0b34"),i=n("4fd4"),o=n("cea2"),a=n("a83a"),c=n("5d10"),s=n("0926"),u=n("21d9").f,l=n("285b").f,f=n("bb8b").f,d=n("eb34").trim,h="Number",p=r[h],m=p,v=p.prototype,g=o(n("7ee3")(v))==h,b="trim"in String.prototype,y=function(t){var e=c(t,!1);if("string"==typeof e&&e.length>2){e=b?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,s=e.slice(2),u=0,l=s.length;ui)return NaN;return parseInt(s,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(g?s((function(){v.valueOf.call(n)})):o(n)!=h)?a(new m(y(e)),n,p):y(e)};for(var x,_=n("26df")?u(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)i(m,x=_[w])&&!i(p,x)&&f(p,x,l(m,x));p.prototype=v,v.constructor=p,n("84e8")(r,h,p)}},e706:function(t,e,n){},e7c8:function(t,e,n){var r=n("21d9"),i=n("0c29"),o=n("a86f"),a=n("0b34").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},e8d7:function(t,e,n){var r=n("9cff"),i=n("0b34").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},e99b:function(t,e,n){var r=n("0b34"),i=n("76e3"),o=n("065d"),a=n("84e8"),c=n("1e4d"),s="prototype",u=function(t,e,n){var l,f,d,h,p=t&u.F,m=t&u.G,v=t&u.S,g=t&u.P,b=t&u.B,y=m?r:v?r[e]||(r[e]={}):(r[e]||{})[s],x=m?i:i[e]||(i[e]={}),_=x[s]||(x[s]={});for(l in m&&(n=e),n)f=!p&&y&&void 0!==y[l],d=(f?y:n)[l],h=b&&f?c(d,r):g&&"function"==typeof d?c(Function.call,d):d,y&&a(y,l,d,t&u.U),x[l]!=d&&o(x,l,h),g&&_[l]!=d&&(_[l]=d)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},e9aa:function(t,e,n){var r=n("1e4d"),i=n("1b96"),o=n("8078"),a=n("201c"),c=n("70f2");t.exports=function(t,e){var n=1==t,s=2==t,u=3==t,l=4==t,f=6==t,d=5==t||f,h=e||c;return function(e,c,p){for(var m,v,g=o(e),b=i(g),y=r(c,p,3),x=a(b.length),_=0,w=n?h(e,x):s?h(e,0):void 0;x>_;_++)if((d||_ in b)&&(m=b[_],v=y(m,_,g),t))if(n)w[_]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(l)return!1;return f?-1:u||l?l:w}}},eb34:function(t,e,n){var r=n("e99b"),i=n("3ab0"),o=n("0926"),a=n("5dc3"),c="["+a+"]",s="​…",u=RegExp("^"+c+c+"*"),l=RegExp(c+c+"*$"),f=function(t,e,n){var i={},c=o((function(){return!!a[t]()||s[t]()!=s})),u=i[t]=c?e(d):a[t];n&&(i[n]=u),r(r.P+r.F*c,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},ed4b:function(t,e,n){"use strict";n("3550")},ee00:function(t,e,n){},f417:function(t,e,n){"use strict";var r=n("d445"),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},f966:function(t,e,n){"use strict";var r=n("0b34"),i=n("bb8b"),o=n("26df"),a=n("839a")("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},fbd1:function(t,e,n){"use strict";n("ee00")}})})); \ No newline at end of file +(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["index"]=e(require("vue")):t["index"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="112a")}({"01be":function(t,e,n){},"0353":function(t,e,n){"use strict";var r=n("6bf8"),i=RegExp.prototype.exec,o=String.prototype.replace,a=i,c="lastIndex",s=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[c]||0!==e[c]}(),u=void 0!==/()??/.exec("")[1],l=s||u;l&&(a=function(t){var e,n,a,l,f=this;return u&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),s&&(e=f[c]),a=i.call(f,t),s&&a&&(f[c]=f.global?a.index+a[0].length:e),u&&a&&a.length>1&&o.call(a[0],n,(function(){for(l=1;l=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},"0e15":function(t,e,n){"use strict";n("d5e9")},"112a":function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("e67d"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("a450"),n("1bc7");var i=n("8bbf"),o=n.n(i);n("3269"),n("25ba"),n("b3d7"),n("4057");function a(t){return"[object Object]"===Object.prototype.toString.call(t)}function c(t){return"string"==typeof t}function s(t){return(new Date).getTime()-t<864e5}function u(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!a(t)||0!=Object.values(t).length))}function l(t){return t&&"function"===typeof t}n("6a61");function f(t,e,n,r,i,o,a){try{var c=t[o](a),s=c.value}catch(u){return void n(u)}c.done?e(s):Promise.resolve(s).then(r,i)}function d(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function a(t){f(o,r,i,a,c,"next",t)}function c(t){f(o,r,i,a,c,"throw",t)}a(void 0)}))}}n("32ea"),n("aa18"),n("982e");var h,p,m=[],v={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(),$.hide(),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(v).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),m.push(this.close)},mounted:function(){v[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:"lemon-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__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=d(regeneratorRuntime.mark((function t(e){var n,r;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,r=this.$refs.popover,this.popoverStyle={top:"-".concat(r.offsetHeight+10,"px"),left:"".concat(n.offsetWidth/2-r.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(){this.closeAll(),this.visible=!0},closeAll:function(){m.forEach((function(t){return t()}))},close:function(){this.visible=!1}}},b=g;n("0e15");function y(t,e,n,r,i,o,a,c){var s,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=s):i&&(s=c?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(u.functional){u._injectStyles=s;var l=u.render;u.render=function(t,e){return s.call(e),l(t,e)}}else{var f=u.beforeCreate;u.beforeCreate=f?[].concat(f,s):[s]}return{exports:t,options:u}}var x,_=y(b,h,p,!1,null,null,null),w=_.exports,C=function(){x&&(x.style.display="none")},S=function(){x&&(x.style.display="block")};document.addEventListener("click",(function(t){C()}));var O,j,I,M,k,E,T,L,$={hide:C,bind:function(t,e,n){t.addEventListener("contextmenu",(function(t){if(!u(e.value)&&Array.isArray(e.value)){var r;t.preventDefault(),w.methods.closeAll();var i=[];e.modifiers.message?r=n.context:e.modifiers.contact&&(r=n.child),x||(x=document.createElement("div"),x.className="lemon-contextmenu",document.body.appendChild(x)),x.innerHTML=e.value.map((function(t){var e;if(e=l(t.visible)?t.visible(r):void 0===t.visible||t.visible,e){i.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""})).join(""),x.style.top="".concat(t.pageY,"px"),x.style.left="".concat(t.pageX,"px"),x.childNodes.forEach((function(t,e){var n=i[e],a=n.click,c=n.render;if(t.addEventListener("click",(function(t){t.stopPropagation(),l(a)&&a(t,r,C)})),l(c)){var s=o.a.extend({render:function(t){return c(t,r,C)}}),u=(new s).$mount();t.querySelector("span").innerHTML=u.$el.outerHTML}})),S()}}))}},P={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=[],r=[];return this.$slots["tab-pane"].map((function(i){var o=i.data.attrs,a=o.tab,c=o.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==c}]},[i])),r.push(e("div",{class:["lemon-tabs-nav__item",t.active==c&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(c)}}},[a]))})),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[r])])},methods:{_handleNavClick:function(t){this.active=t}}},A=P,R=(n("3423"),y(A,O,j,!1,null,null,null)),D=R.exports,F={name:"LemonButton",props:{color:{type:String,default:"default"},disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:["lemon-button","lemon-button--color-".concat(this.color)],attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},N=F,U=(n("1e45"),y(N,I,M,!1,null,null,null)),B=U.exports,V=(n("e680"),{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:{}}),H=V,G=(n("dbdc"),y(H,k,E,!1,null,null,null)),z=G.exports,K={name:"LemonAvatar",inject:["IMUI"],props:{src:String,icon:{type:String,default:"lemon-icon-people"},circle:{type:Boolean,default:function(){return!!this.IMUI&&this.IMUI.avatarCricle}},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",{"lemon-avatar--circle":this.circle}],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}}},W=K,Y=(n("04f4"),y(W,T,L,!1,null,null,null)),q=Y.exports,X=n("4c02"),Z=n.n(X);n("ac67");function J(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("8dee");function Q(t,e,n){return t?t(n):e}function tt(t){return t<10?"0".concat(t):t}function et(t){var e,n=new Date(t),r=new Date,i=function(t){return t.getFullYear()},o=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},a=i(n),c=i(r);return e=a!==c?"y年m月d日 h:i":"".concat(a,"-").concat(o(n))==="".concat(c,"-").concat(o(r))?"h:i":"m月d日 h:i",nt(t,e)}function nt(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),tt((t.getMonth()+1).toString()),tt(t.getDate().toString()),tt(t.getHours().toString()),tt(t.getMinutes().toString()),tt(t.getSeconds().toString())],r="ymdhis",i=0;i/gi,"")}function ot(t){return t.replace(/<(?!img).*?>/gi,"")}function at(t){if(null==t||""==t)return"0 Bytes";var e=["B","K","M","G","T","P","E","Z","Y"],n=0,r=parseFloat(t);n=Math.floor(Math.log(r)/Math.log(1024));var i=r/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 st,ut,lt={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return nt(t,s(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)}}},[Q(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[c(e.lastContent)?t("span",Z()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},ft=lt,dt=(n("909e"),y(ft,st,ut,!1,null,null,null)),ht=dt.exports;n("0c84"),n("2843");function pt(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 mt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},St=window.getSelection(),Ot=[],jt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return this.clipboardBlob=null,{clipboardUrl:"",submitDisabled:!0,proxyTools:[],accept:""}},created:function(){var t=this;this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}]),this.IMUI.$on("change-contact",(function(){t.closeClipboardImage()}))},render:function(){var t=this,e=arguments[0],n=[],r=[];return this.proxyTools.forEach((function(i){var o=i.name,a=i.title,c=i.render,s=i.click,u=i.isRight;s=s||new Function;var l,f=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":u}];l="emoji"==o?0==Ot.length?"":e("lemon-popover",{class:"lemon-editor__emoji"},[e("template",{slot:"content"},[t._renderEmojiTabs()]),e("div",{class:f,attrs:{title:a}},[c()])]):e("div",{class:f,on:{click:s},attrs:{title:a}},[c()]),u?r.push(l):n.push(l)})),e("div",{class:"lemon-editor"},[this.clipboardUrl&&e("div",{class:"lemon-editor__clipboard-image"},[e("img",{attrs:{src:this.clipboardUrl}}),e("div",[e("lemon-button",{style:{marginRight:"10px"},on:{click:this.closeClipboardImage},attrs:{color:"grey"}},["取消"]),e("lemon-button",{on:{click:this.sendClipboardImage}},["发送图片"])])]),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"},[r])]),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}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[Q(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{closeClipboardImage:function(){this.clipboardUrl="",this.clipboardBlob=null},sendClipboardImage:function(){this.clipboardBlob&&(this.$emit("upload",this.clipboardBlob),this.closeClipboardImage())},initTools:function(t){var e=this,n=this.$createElement;if(t){var r=[{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 o={emoji:0,uploadFile:1,uploadImage:2},a=Object.keys(o);i=t.map((function(t){return a.includes(t.name)?mt(mt({},r[o[t.name]]),t):t}))}else i=r;this.proxyTools=i}},_saveLastRange:function(){vt=St.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),vt&&(St.removeAllRanges(),St.addRange(vt))},_handleClick:function(){this._saveLastRange()},_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(Ot[0].label){var r=Ot.map((function(t,r){return e("div",{slot:"tab-pane",attrs:{index:r,tab:t.label}},[n(t.children)])}));return e("lemon-tabs",{style:"width: 412px"},[r])}return e("div",{class:"lemon-tabs-content",style:"width:406px"},[n(Ot)])},_handleSelectEmoji:function(t){this._focusLastRange(),Ct('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=d(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||window.clipboardData,n=e.getData("Text");if(n)window.clipboardData?this.$refs.textarea.innerHTML=n:Ct(n,"insertText");else{var r=this._getClipboardBlob(e),i=r.blob,o=r.blobUrl;this.clipboardBlob=i,this.clipboardUrl=o}},_getClipboardBlob:function(t){for(var e,n,r=0;rt.msecRange&&o.push(e("lemon-message-event",Z()([{},{attrs:{message:{id:"__time__",type:"event",content:et(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(a,Z()([{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=d(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,$.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:r=n.scrollHeight,this.$emit("reach-top",function(){var t=d(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 8:case"end":return t.stop()}}),t,this)})));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=d(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(){}},Tt=Et,Lt=(n("436f"),y(Tt,yt,xt,!1,null,null,null)),$t=Lt.exports,Pt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,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",{directives:[{name:"lemon-contextmenu",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[Q(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[Q(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"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},At=Pt,Rt=(n("fbd1"),y(At,_t,wt,!1,null,null,null)),Dt=Rt.exports;function Ft(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 Nt(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]&&arguments[1];if(void 0===Le[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?(1==e&&this.messageViewToBottom(),this.CacheDraft.remove(t.toContactId)):n.unread="+1",this.updateContact(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({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime}),e.CacheDraft.remove(n.toContactId)}))},_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({id: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,a=i.title,c=i.unread,s=i.render,u=i.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==o}],on:{click:function(){rt(u,(function(){o&&t.changeMenu(o)}))}},attrs:{title:a}},[e("lemon-badge",{attrs:{count:c}},[s(i)])]);!0===i.isBottom?r.push(l):n.push(l)})),{top:n,bottom:r}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([Q(this.$scopedSlots["sidebar-message-top"],null,this),this.lastMessages.map((function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},(function(){return t.changeContact(e.id)}),t.$scopedSlots["sidebar-message"])}))],xe,Q(this.$scopedSlots["sidebar-message-fixedtop"],null,this))},_renderContact:function(t,e,n){var r=this,i=this.$createElement,o=t.contact,a=o.click,c=o.renderContainer,s=o.id,u=function(){rt(a,(function(){e(),r._customContainerReady(c,r.CacheContactContainer,s)}))};return i("lemon-contact",Z()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"lemon-contextmenu",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:u},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([Q(this.$scopedSlots["sidebar-contact-top"],null,this),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}}))],_e,Q(this.$scopedSlots["sidebar-contact-fixedtop"],null,this))},_renderSidebar:function(t,e,n){var r=this.$createElement;return r("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[r("div",{class:"lemon-sidebar__fixed-top"},[n]),r("div",{class:"lemon-sidebar__scroll"},[t])])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Pe(),Q(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 a in this.CacheContactContainer.get()){var c=i.id==a&&this.currentIsDefSidebar;o=!c,n.push(e("div",{class:r,directives:[{name:"show",value:c}]},[this.CacheContactContainer.get(a)]))}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"},[Q(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,sendText:this.sendText,sendKey:this.sendKey},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}]},[Q(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(){u(i.lastContent)&&t.updateContact({id:i.id,lastContent:" "}),t.changeContact(i.id,xe)}}},["发送消息"])]),i)])),n},_handleSidebarScroll:function(){$.hide()},_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]),Le[e]=Le[e]||[],(r=Le[e])[i].apply(r,ye(t))},setLastContentRender:function(t,e){Ce[t]=e},lastContentRender:function(t){return l(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()’")),"")},emojiNameToImage:function(t){return t.replace(/\[!(\w+)\]/gi,(function(t,e){var n=e;return $e[n]?''):"[!".concat(e,"]")}))},emojiImageToName:function(t){return t.replace(/]*>/gi,"[!$1]")},updateCurrentMessages:function(){Le[this.currentContactId]||(Le[this.currentContactId]=[]),this.currentMessages=Le[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},setDraft:function(t,e){if(u(t)||u(e))return!1;var n=this.findContact(t);if(u(n))return!1;this.CacheDraft.set(t,{editorValue:e,lastContent:n.lastContent}),this.updateContact({id:t,lastContent:'[草稿]'.concat(this.lastContentRender({type:"text",content:e}),"")})},clearDraft:function(t){var e=this.CacheDraft.get(t);e&&(this.updateContact({id:t,lastContent:e.lastContent}),this.CacheDraft.remove(t))},changeContact:function(){var t=d(regeneratorRuntime.mark((function t(e,n){var r,i,o=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&&(r=this.getEditorValue(),r?(this.setDraft(this.currentContactId,r),this.setEditorValue()):this.clearDraft(this.currentContactId)),this.currentContactId=e,this.currentContactId){t.next=10;break}return t.abrupt("return",!1);case 10:if(this.$emit("change-contact",this.currentContact,this),!l(this.currentContact.renderContainer)){t.next=13;break}return t.abrupt("return");case 13:i=this.CacheDraft.get(e),i&&this.setEditorValue(i.editorValue),this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),Le[e]?setTimeout((function(){o.updateCurrentMessages(),o.messageViewToBottom()}),0):(this.updateCurrentMessages(),this._emitPullMessages((function(t){return o.messageViewToBottom()})));case 17: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=Le[e.toContactId].findIndex((function(e){var n=e.id;return n==t}));return Le[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!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){l(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){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach((function(t){var n;(n=e).push.apply(n,ye(t.children))})):e=t,e.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:xe,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:_e,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},a=Object.keys(o);i=t.map((function(t){return a.includes(t.name)?ke(ke(ke({},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){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort((function(t,e){if(t.index)return t.index.localeCompare(e.index)}))},appendContact:function(t){return u(t.id)||u(t.displayName)?(console.error("id | displayName cant be empty"),!1):(this.hasContact(t.id)||this.contacts.push(Object.assign({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:"",lastContent:""},t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),this.CacheDraft.remove(t),this.CacheMessageLoaded.remove(t),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var r=t.unread;c(r)&&(0!==r.indexOf("+")&&0!==r.indexOf("-")||(t.unread=parseInt(r)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,ke(ke({},this.contacts[n]),t))}},findContactIndexById:function(t){return this.contacts.findIndex((function(e){return e.id==t}))},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in Le){var n=Le[e].find((function(e){var n=e.id;return n==t}));if(n)return n}},findContact:function(t){return this.getContacts().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},setEditorValue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!c(t))return!1;this.$refs.editor.setValue(this.emojiNameToImage(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?Le[t]:Le)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Pe=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Re=Ae,De=(n("9b01"),y(Re,Ee,Te,!1,null,null,null)),Fe=De.exports,Ne=(n("6a2b"),"1.4.2"),Ue=[Fe,ht,$t,kt,q,z,B,w,D,Dt,zt,Qt,ue,he],Be=function(t){t.directive("LemonContextmenu",$),Ue.forEach((function(e){t.component(e.name,e)}))};"undefined"!==typeof window&&window.Vue&&Be(window.Vue);var Ve={version:Ne,install:Be};e["default"]=Ve},1179:function(t,e,n){},"120f":function(t,e,n){"use strict";var r=n("3d8a"),i=n("e99b"),o=n("84e8"),a=n("065d"),c=n("953d"),s=n("3460"),u=n("bac3"),l=n("addc"),f=n("839a")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",m="values",v=function(){return this};t.exports=function(t,e,n,g,b,y,x){s(n,e,g);var _,w,C,S=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",j=b==m,I=!1,M=t.prototype,k=M[f]||M[h]||b&&M[b],E=k||S(b),T=b?j?S("entries"):E:void 0,L="Array"==e&&M.entries||k;if(L&&(C=l(L.call(new t)),C!==Object.prototype&&C.next&&(u(C,O,!0),r||"function"==typeof C[f]||a(C,f,v))),j&&k&&k.name!==m&&(I=!0,E=function(){return k.call(this)}),r&&!x||!d&&!I&&M[f]||a(M,f,E),c[e]=E,c[O]=v,b)if(_={values:j?E:S(m),keys:y?E:S(p),entries:T},x)for(w in _)w in M||o(M,w,_[w]);else i(i.P+i.F*(d||I),e,_);return _}},1374:function(t,e,n){"use strict";var r=n("bb8b"),i=n("5edc");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},1663:function(t,e,n){var r=n("212e"),i=n("3ab0");t.exports=function(t){return function(e,n){var o,a,c=String(i(e)),s=r(n),u=c.length;return s<0||s>=u?t?"":void 0:(o=c.charCodeAt(s),o<55296||o>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):o:t?c.slice(s,s+2):a-56320+(o-55296<<10)+65536)}}},16636:function(t,e,n){"use strict";n("e706")},"1a9a":function(t,e,n){var r=n("839a")("iterator"),i=!1;try{var o=[7][r]();o["return"]=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],c=o[r]();c.next=function(){return{done:n=!0}},o[r]=function(){return c},t(o)}catch(a){}return n}},"1b96":function(t,e,n){var r=n("cea2");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"1bc7":function(t,e,n){for(var r=n("25ba"),i=n("93ca"),o=n("84e8"),a=n("0b34"),c=n("065d"),s=n("953d"),u=n("839a"),l=u("iterator"),f=u("toStringTag"),d=s.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(h),m=0;m0?i(r(t),9007199254740991):0}},"212e":function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},"21d9":function(t,e,n){var r=n("3a4c"),i=n("065e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"25ba":function(t,e,n){"use strict";var r=n("87b2"),i=n("6fef"),o=n("953d"),a=n("3471");t.exports=n("120f")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},"26df":function(t,e,n){t.exports=!n("0926")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},2843:function(t,e,n){"use strict";var r=n("1e4d"),i=n("e99b"),o=n("8078"),a=n("b1d4"),c=n("dcea"),s=n("201c"),u=n("1374"),l=n("e3bb");i(i.S+i.F*!n("1a9a")((function(t){Array.from(t)})),"Array",{from:function(t){var e,n,i,f,d=o(t),h="function"==typeof this?this:Array,p=arguments.length,m=p>1?arguments[1]:void 0,v=void 0!==m,g=0,b=l(d);if(v&&(m=r(m,p>2?arguments[2]:void 0,2)),void 0==b||h==Array&&c(b))for(e=s(d.length),n=new h(e);e>g;g++)u(n,g,v?m(d[g],g):d[g]);else for(f=b.call(d),n=new h;!(i=f.next()).done;g++)u(n,g,v?a(f,m,[i.value,g],!0):i.value);return n.length=g,n}})},"285b":function(t,e,n){var r=n("35d4"),i=n("5edc"),o=n("3471"),a=n("5d10"),c=n("4fd4"),s=n("83d3"),u=Object.getOwnPropertyDescriptor;e.f=n("26df")?u:function(t,e){if(t=o(t),e=a(e,!0),s)try{return u(t,e)}catch(n){}if(c(t,e))return i(!r.f.call(t,e),t[e])}},3250:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},3269:function(t,e,n){var r=n("0b34"),i=n("a83a"),o=n("bb8b").f,a=n("21d9").f,c=n("804d"),s=n("6bf8"),u=r.RegExp,l=u,f=u.prototype,d=/a/g,h=/a/g,p=new u(d)!==d;if(n("26df")&&(!p||n("0926")((function(){return h[n("839a")("match")]=!1,u(d)!=d||u(h)==h||"/a/i"!=u(d,"i")})))){u=function(t,e){var n=this instanceof u,r=c(t),o=void 0===e;return!n&&r&&t.constructor===u&&o?t:i(p?new l(r&&!o?t.source:t,e):l((r=t instanceof u)?t.source:t,r&&o?s.call(t):e),n?this:f,u)};for(var m=function(t){t in u||o(u,t,{configurable:!0,get:function(){return l[t]},set:function(e){l[t]=e}})},v=a(l),g=0;v.length>g;)m(v[g++]);f.constructor=u,u.prototype=f,n("84e8")(r,"RegExp",u)}n("f966")("RegExp")},"32ea":function(t,e,n){var r=n("8078"),i=n("93ca");n("b2be")("keys",(function(){return function(t){return i(r(t))}}))},3423:function(t,e,n){"use strict";n("4942")},3441:function(t,e,n){"use strict";var r=n("e99b"),i=n("3250"),o=n("8078"),a=n("0926"),c=[].sort,s=[1,2,3];r(r.P+r.F*(a((function(){s.sort(void 0)}))||!a((function(){s.sort(null)}))||!n("95b6")(c)),"Array",{sort:function(t){return void 0===t?c.call(o(this)):c.call(o(this),i(t))}})},3460:function(t,e,n){"use strict";var r=n("7ee3"),i=n("5edc"),o=n("bac3"),a={};n("065d")(a,n("839a")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},3471:function(t,e,n){var r=n("1b96"),i=n("3ab0");t.exports=function(t){return r(i(t))}},3550:function(t,e,n){},"35d4":function(t,e){e.f={}.propertyIsEnumerable},"3a0d":function(t,e,n){var r=n("baa7")("keys"),i=n("d8b3");t.exports=function(t){return r[t]||(r[t]=i(t))}},"3a4c":function(t,e,n){var r=n("4fd4"),i=n("3471"),o=n("52a4")(!1),a=n("3a0d")("IE_PROTO");t.exports=function(t,e){var n,c=i(t),s=0,u=[];for(n in c)n!=a&&r(c,n)&&u.push(n);while(e.length>s)r(c,n=e[s++])&&(~o(u,n)||u.push(n));return u}},"3ab0":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"3d8a":function(t,e){t.exports=!1},"3f9e":function(t,e,n){var r=n("bb8b"),i=n("a86f"),o=n("93ca");t.exports=n("26df")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),c=a.length,s=0;while(c>s)r.f(t,n=a[s++],e[n]);return t}},4057:function(t,e,n){"use strict";n("de49");var r=n("a86f"),i=n("6bf8"),o=n("26df"),a="toString",c=/./[a],s=function(t){n("84e8")(RegExp.prototype,a,t,!0)};n("0926")((function(){return"/a/b"!=c.call({source:"a",flags:"b"})}))?s((function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):void 0)})):c.name!=a&&s((function(){return c.call(this)}))},"436f":function(t,e,n){"use strict";n("1179")},"43ec":function(t,e,n){"use strict";var r=n("1663")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},4942:function(t,e,n){},"49c2":function(t,e,n){"use strict";n("5d33")},"4c02":function(t,e,n){"use strict";function r(){return r=Object.assign||function(t){for(var e,n=1;nl)if(c=s[l++],c!=c)return!0}else for(;u>l;l++)if((t||l in s)&&s[l]===n)return t||l||0;return!t&&-1}}},"581c":function(t,e,n){var r=n("839a")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},"5d10":function(t,e,n){var r=n("9cff");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"5d33":function(t,e,n){},"5dc3":function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},"5edc":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"6a2b":function(t,e,n){},"6a61":function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,i="function"===typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(L){s=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,o=Object.create(i.prototype),a=new k(r||[]);return o._invoke=O(t,n,a),o}function l(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(L){return{type:"throw",arg:L}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",h="executing",p="completed",m={};function v(){}function g(){}function b(){}var y={};y[o]=function(){return this};var x=Object.getPrototypeOf,_=x&&x(x(E([])));_&&_!==n&&r.call(_,o)&&(y=_);var w=b.prototype=v.prototype=Object.create(y);function C(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function n(i,o,a,c){var s=l(t[i],t,o);if("throw"!==s.type){var u=s.arg,f=u.value;return f&&"object"===typeof f&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return n("throw",t,a,c)}))}c(s.arg)}var i;function o(t,r){function o(){return new e((function(e,i){n(t,r,e,i)}))}return i=i?i.then(o,o):o()}this._invoke=o}function O(t,e,n){var r=f;return function(i,o){if(r===h)throw new Error("Generator is already running");if(r===p){if("throw"===i)throw o;return T()}n.method=i,n.arg=o;while(1){var a=n.delegate;if(a){var c=j(a,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var s=l(t,e,n);if("normal"===s.type){if(r=n.done?p:d,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r=p,n.method="throw",n.arg=s.arg)}}}function j(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator["return"]&&(n.method="return",n.arg=e,j(t,n),"throw"===n.method))return m;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=l(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,m;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function E(t){if(t){var n=t[o];if(n)return n.call(t);if("function"===typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function n(){while(++i=0;--o){var a=this.tryEntries[o],c=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),M(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;M(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:E(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),m}},t}(t.exports);try{regeneratorRuntime=r}catch(i){Function("r","regeneratorRuntime = r")(r)}},"6bf8":function(t,e,n){"use strict";var r=n("a86f");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"6fef":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},"70f2":function(t,e,n){var r=n("0451");t.exports=function(t,e){return new(r(t))(e)}},"732b":function(t,e,n){var r=n("212e"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"76e3":function(t,e){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},"7ee3":function(t,e,n){var r=n("a86f"),i=n("3f9e"),o=n("065e"),a=n("3a0d")("IE_PROTO"),c=function(){},s="prototype",u=function(){var t,e=n("e8d7")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("bbcc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),u=t.F;while(r--)delete u[s][o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(c[s]=r(t),n=new c,c[s]=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},"804d":function(t,e,n){var r=n("9cff"),i=n("cea2"),o=n("839a")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},8078:function(t,e,n){var r=n("3ab0");t.exports=function(t){return Object(r(t))}},"839a":function(t,e,n){var r=n("baa7")("wks"),i=n("d8b3"),o=n("0b34").Symbol,a="function"==typeof o,c=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};c.store=r},"83d3":function(t,e,n){t.exports=!n("26df")&&!n("0926")((function(){return 7!=Object.defineProperty(n("e8d7")("div"),"a",{get:function(){return 7}}).a}))},"84e8":function(t,e,n){var r=n("0b34"),i=n("065d"),o=n("4fd4"),a=n("d8b3")("src"),c=n("05fd"),s="toString",u=(""+c).split(s);n("76e3").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,c){var s="function"==typeof n;s&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(s&&(o(n,a)||i(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,s,(function(){return"function"==typeof this&&this[a]||c.call(this)}))},"87b2":function(t,e,n){var r=n("839a")("unscopables"),i=Array.prototype;void 0==i[r]&&n("065d")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"8bbf":function(e,n){e.exports=t},"8dee":function(t,e,n){"use strict";var r=n("a86f"),i=n("8078"),o=n("201c"),a=n("212e"),c=n("43ec"),s=n("f417"),u=Math.max,l=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("c46f")("replace",2,(function(t,e,n,m){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=m(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),h="function"===typeof e;h||(e=String(e));var g=f.global;if(g){var b=f.unicode;f.lastIndex=0}var y=[];while(1){var x=s(f,d);if(null===x)break;if(y.push(x),!g)break;var _=String(x[0]);""===_&&(f.lastIndex=c(d,o(f.lastIndex),b))}for(var w="",C=0,S=0;S=C&&(w+=d.slice(C,j)+T,C=j+O.length)}return w+d.slice(C)}];function v(t,e,r,o,a,c){var s=r+t.length,u=o.length,l=h;return void 0!==a&&(a=i(a),l=d),n.call(c,l,(function(n,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(s);case"<":c=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>u){var d=f(l/10);return 0===d?n:d<=u?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}c=o[l-1]}return void 0===c?"":c}))}}))},"909e":function(t,e,n){"use strict";n("0484")},"93ca":function(t,e,n){var r=n("3a4c"),i=n("065e");t.exports=Object.keys||function(t){return r(t,i)}},"953d":function(t,e){t.exports={}},"95b6":function(t,e,n){"use strict";var r=n("0926");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"982e":function(t,e,n){"use strict";var r=n("e99b"),i=n("db34"),o="includes";r(r.P+r.F*n("581c")(o),"String",{includes:function(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"9b01":function(t,e,n){"use strict";n("aa55")},"9cff":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},a450:function(t,e,n){var r=n("bb8b").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("26df")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},a7e5:function(t,e,n){"use strict";var r=n("e99b"),i=n("e9aa")(6),o="findIndex",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("87b2")(o)},a83a:function(t,e,n){var r=n("9cff"),i=n("e0ff").set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(t,o),t}},a86f:function(t,e,n){var r=n("9cff");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},aa18:function(t,e,n){"use strict";var r=n("e99b"),i=n("52a4")(!0);r(r.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("87b2")("includes")},aa55:function(t,e,n){},ac67:function(t,e,n){var r=n("e99b"),i=n("e7c8"),o=n("3471"),a=n("285b"),c=n("1374");r(r.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),s=a.f,u=i(r),l={},f=0;while(u.length>f)n=s(r,e=u[f++]),void 0!==n&&c(l,e,n);return l}})},addc:function(t,e,n){var r=n("4fd4"),i=n("8078"),o=n("3a0d")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},b1d4:function(t,e,n){var r=n("a86f");t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(a){var o=t["return"];throw void 0!==o&&r(o.call(t)),a}}},b2be:function(t,e,n){var r=n("e99b"),i=n("76e3"),o=n("0926");t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o((function(){n(1)})),"Object",a)}},b3d7:function(t,e,n){var r=n("e99b"),i=n("d3ef")(!1);r(r.S,"Object",{values:function(t){return i(t)}})},baa7:function(t,e,n){var r=n("76e3"),i=n("0b34"),o="__core-js_shared__",a=i[o]||(i[o]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("3d8a")?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},bac3:function(t,e,n){var r=n("bb8b").f,i=n("4fd4"),o=n("839a")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},bb8b:function(t,e,n){var r=n("a86f"),i=n("83d3"),o=n("5d10"),a=Object.defineProperty;e.f=n("26df")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(c){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},bbcc:function(t,e,n){var r=n("0b34").document;t.exports=r&&r.documentElement},bf73:function(t,e,n){"use strict";var r=n("0353");n("e99b")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},c46f:function(t,e,n){"use strict";n("bf73");var r=n("84e8"),i=n("065d"),o=n("0926"),a=n("3ab0"),c=n("839a"),s=n("0353"),u=c("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$
")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=c(t),h=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),p=h?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[u]=function(){return n}),n[d](""),!e})):void 0;if(!h||!p||"replace"===t&&!l||"split"===t&&!f){var m=/./[d],v=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===s?h&&!i?{done:!0,value:m.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),g=v[0],b=v[1];r(String.prototype,t,g),i(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},cea2:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},cfab:function(t,e,n){"use strict";n("4c4e")},d1cb:function(t,e,n){var r=n("cea2");t.exports=Array.isArray||function(t){return"Array"==r(t)}},d31c:function(t,e,n){"use strict";var r=n("e99b"),i=n("201c"),o=n("db34"),a="startsWith",c=""[a];r(r.P+r.F*n("581c")(a),"String",{startsWith:function(t){var e=o(this,t,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return c?c.call(e,r,n):e.slice(n,n+r.length)===r}})},d3ef:function(t,e,n){var r=n("26df"),i=n("93ca"),o=n("3471"),a=n("35d4").f;t.exports=function(t){return function(e){var n,c=o(e),s=i(c),u=s.length,l=0,f=[];while(u>l)n=s[l++],r&&!a.call(c,n)||f.push(t?[n,c[n]]:c[n]);return f}}},d445:function(t,e,n){var r=n("cea2"),i=n("839a")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,c;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(c=r(e))&&"function"==typeof e.callee?"Arguments":c}},d5e9:function(t,e,n){},d8b3:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},db34:function(t,e,n){var r=n("804d"),i=n("3ab0");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},dbdc:function(t,e,n){"use strict";n("01be")},dcea:function(t,e,n){var r=n("953d"),i=n("839a")("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},de49:function(t,e,n){n("26df")&&"g"!=/./g.flags&&n("bb8b").f(RegExp.prototype,"flags",{configurable:!0,get:n("6bf8")})},de97:function(t,e,n){},e021:function(t,e,n){},e0ff:function(t,e,n){var r=n("9cff"),i=n("a86f"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("1e4d")(Function.call,n("285b").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},e3bb:function(t,e,n){var r=n("d445"),i=n("839a")("iterator"),o=n("953d");t.exports=n("76e3").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||o[r(t)]}},e5b4:function(t,e,n){"use strict";var r=n("e99b"),i=n("e9aa")(5),o="find",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("87b2")(o)},e67d:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},e680:function(t,e,n){"use strict";var r=n("0b34"),i=n("4fd4"),o=n("cea2"),a=n("a83a"),c=n("5d10"),s=n("0926"),u=n("21d9").f,l=n("285b").f,f=n("bb8b").f,d=n("eb34").trim,h="Number",p=r[h],m=p,v=p.prototype,g=o(n("7ee3")(v))==h,b="trim"in String.prototype,y=function(t){var e=c(t,!1);if("string"==typeof e&&e.length>2){e=b?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,s=e.slice(2),u=0,l=s.length;ui)return NaN;return parseInt(s,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(g?s((function(){v.valueOf.call(n)})):o(n)!=h)?a(new m(y(e)),n,p):y(e)};for(var x,_=n("26df")?u(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)i(m,x=_[w])&&!i(p,x)&&f(p,x,l(m,x));p.prototype=v,v.constructor=p,n("84e8")(r,h,p)}},e706:function(t,e,n){},e7c8:function(t,e,n){var r=n("21d9"),i=n("0c29"),o=n("a86f"),a=n("0b34").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},e8d7:function(t,e,n){var r=n("9cff"),i=n("0b34").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},e99b:function(t,e,n){var r=n("0b34"),i=n("76e3"),o=n("065d"),a=n("84e8"),c=n("1e4d"),s="prototype",u=function(t,e,n){var l,f,d,h,p=t&u.F,m=t&u.G,v=t&u.S,g=t&u.P,b=t&u.B,y=m?r:v?r[e]||(r[e]={}):(r[e]||{})[s],x=m?i:i[e]||(i[e]={}),_=x[s]||(x[s]={});for(l in m&&(n=e),n)f=!p&&y&&void 0!==y[l],d=(f?y:n)[l],h=b&&f?c(d,r):g&&"function"==typeof d?c(Function.call,d):d,y&&a(y,l,d,t&u.U),x[l]!=d&&o(x,l,h),g&&_[l]!=d&&(_[l]=d)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},e9aa:function(t,e,n){var r=n("1e4d"),i=n("1b96"),o=n("8078"),a=n("201c"),c=n("70f2");t.exports=function(t,e){var n=1==t,s=2==t,u=3==t,l=4==t,f=6==t,d=5==t||f,h=e||c;return function(e,c,p){for(var m,v,g=o(e),b=i(g),y=r(c,p,3),x=a(b.length),_=0,w=n?h(e,x):s?h(e,0):void 0;x>_;_++)if((d||_ in b)&&(m=b[_],v=y(m,_,g),t))if(n)w[_]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(l)return!1;return f?-1:u||l?l:w}}},eb34:function(t,e,n){var r=n("e99b"),i=n("3ab0"),o=n("0926"),a=n("5dc3"),c="["+a+"]",s="​…",u=RegExp("^"+c+c+"*"),l=RegExp(c+c+"*$"),f=function(t,e,n){var i={},c=o((function(){return!!a[t]()||s[t]()!=s})),u=i[t]=c?e(d):a[t];n&&(i[n]=u),r(r.P+r.F*c,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},ed4b:function(t,e,n){"use strict";n("3550")},ee00:function(t,e,n){},f417:function(t,e,n){"use strict";var r=n("d445"),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var o=n.call(t,e);if("object"!==typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},f966:function(t,e,n){"use strict";var r=n("0b34"),i=n("bb8b"),o=n("26df"),a=n("839a")("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},fbd1:function(t,e,n){"use strict";n("ee00")}})})); \ No newline at end of file diff --git a/examples/App.vue b/examples/App.vue index 691878e..c6c43e2 100644 --- a/examples/App.vue +++ b/examples/App.vue @@ -1205,11 +1205,6 @@ export default { }; }, mounted() { - - - - - const contactData1 = { id: "contact-1", displayName: "工作协作群", @@ -1266,7 +1261,7 @@ export default { let contactList = [ { ...contactData1 }, { ...contactData2 }, - { ...contactData3 }, + { ...contactData3 } //...Array(100).fill(contactData1) ]; diff --git a/examples/dist/index.html b/examples/dist/index.html index cf5a3d4..1a6b616 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.67dbfb3d.js b/examples/dist/js/index.6db35f89.js similarity index 90% rename from examples/dist/js/index.67dbfb3d.js rename to examples/dist/js/index.6db35f89.js index a7260fd..7b44a15 100644 --- a/examples/dist/js/index.67dbfb3d.js +++ b/examples/dist/js/index.6db35f89.js @@ -1 +1 @@ -(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=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 查看示例代码")])]),n("div",{staticClass:"title",attrs:{id:"help2"}},[t._v("如何对接后端接口?")]),n("p",[t._v("1.初始化用户的信息")]),n("pre",{domProps:{textContent:t._s("data(){\n return {\n user:{id:1:displayName:'June',avatar:''}\n }\n}")}}),n("pre",{domProps:{textContent:t._s("")}}),n("p",[t._v("2.初始化联系人数据")]),n("pre",{domProps:{textContent:t._s("mounted(){\n const { IMUI } = this.$refs;\n //初始化表情包。\n IMUI.initEmoji(...);\n //从后端请求联系人数据,包装成下面的样子\n const contacts = [{\n id: 2,\n displayName: '丽安娜',\n avatar:'',\n index: 'L',\n unread: 0,\n //最近一条消息的内容,如果值为空,不会出现在“聊天”列表里面。\n //lastContentRender 函数会将 file 消息转换为 '[文件]', image 消息转换为 '[图片]',对 text 会将文字里的表情标识替换为img标签,\n lastContent: IMUI.lastContentRender({type:'text',content:'你在干嘛呢?'})\n //最近一条消息的发送时间\n lastSendTime: 1566047865417,\n }];\n IMUI.initContacts(contacts);\n}")}}),n("p",[t._v("3.拉取消息列表")]),n("p",[t._v("\n 现在刷新页面应该能够看到联系人了,但是点击联系人的话右边会一直处于加载中,这时需要监听\n pull-messages 事件。\n ")]),n("pre",{domProps:{textContent:t._s("")}}),n("pre",{domProps:{textContent:t._s("methods:{\n handlePullMessages(contact, next) {\n //从后端请求消息数据,包装成下面的样子\n const messages = [{\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '你什么才能对接完?',\n toContactId: contact.id,\n fromUser:this.user\n }]\n //将第二个参数设为true,表示已到末尾,聊天窗口顶部会显示“暂无更多消息”,不然会一直转圈。\n next(messages,true);\n },\n}")}}),n("p",[t._v("4.发送消息")]),n("p",[t._v("现在在消息框发送新消息会一直转圈,这时需要监听 send 事件。")]),n("pre",{domProps:{textContent:t._s("methods:{\n handleSend(message, next, file) {\n ... 调用你的消息发送业务接口\n\n //执行到next消息会停止转圈,如果接口调用失败,可以修改消息的状态 next({status:'failed'});\n next();\n },\n}")}}),n("p",[t._v("5.接收消息")]),n("pre",{domProps:{textContent:t._s("mounted(){\n\nWebSocket.onmessage = function(event) {\n //将接收到的数据包装成下面的样子\n const data = {\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '马上就对接完了!',\n toContactId: 2,\n fromUser:{\n //如果 id == this.user.id消息会显示在右侧,否则在左侧\n id:2,\n displayName:'丽安娜',\n avatar:'',\n }\n };\n IMUI.appendMessage(data);\n};\n \n}")}})])},a=[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")]),n("a",{attrs:{target:"_blank",href:"https://qm.qq.com/cgi-bin/qm/qr?k=xzUa9CPYQ5KCNQ86h7ep4Z3TtkqJxRZE&jump_from=webapi"}},[t._v("QQ交流群:1081773406")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help1"}},[t._v("1.如何创建消息?")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help2"}},[t._v("2.如何对接后端接口?")])])},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("\n 通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”\n ")]),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("lastContent")]),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("tr",[n("td",{attrs:{width:"150"}},[t._v("text")]),n("td",{attrs:{width:"350"}},[t._v("显示文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("color")]),n("td",{attrs:{width:"350"}},[t._v("颜色")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("icon")]),n("td",{attrs:{width:"350"}},[t._v("图标 class")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("click")]),n("td",{attrs:{width:"350"}},[t._v("点击事件,调用hide方法隐藏右键菜单。")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("visible")]),n("td",{attrs:{width:"350"}},[t._v("是否显示的判断函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(instance)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("render")]),n("td",{attrs:{width:"350"}},[t._v("\n 负责样式的渲染函数,使用render的时候text属性会失去作用,调用hide方法隐藏右键菜单。\n ")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[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("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")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("avatarCricle")]),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")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendText")]),n("td",{attrs:{width:"350"}},[t._v("发送消息按钮的文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("发送消息")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendKey")]),n("td",{attrs:{width:"350"}},[t._v("快捷发送键检查函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(event)=>Boolean")]),n("td",{attrs:{width:"100"}}),n("td",[t._v("(e)=>e.keyCode == 13 && e.ctrlKey")])]),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("\n 精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用\n changeContact 切换到聊天视图。\n ")])]),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")]),n("tr",[n("td",[t._v("contextmenu")]),n("td",[t._v("聊天消息右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactContextmenu")]),n("td",[t._v("联系人右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),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("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('[ { name: "messages" }, { name: "contacts" }]')]),n("td",[t._v('\n { name: "custom2", title: "自定义按钮2", unread: 0, click: () => {\n alert("拦截导航点击事件"); }, render: menu => { return \'...\'; },\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\", isRight:true, title:'上传 Excel', click:()=>{\n alert('点击') }, render:()=>{ return '...' } }]\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 有分类:[{ label: '默认表情', children: [ { name: '1f62c', title:\n '微笑', src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png' } ] }]\n ")]),n("div",[t._v("\n 无分类:[{ name: '1f62c', title: '微笑', src:\n 'https://twemoji.maxcdn.com/2/72x72/1f62c.png' }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("\n 新增一条消息, 如果当前焦点在该联系人的聊天窗口,设置\n scrollToBottom=true 添加之后自动定位到消息窗口底部\n ")]),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("\n 修改消息,根据 Message.id\n 查找聊天消息并覆盖传入的值(toContactId会被忽略)\n ")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("appendContact")]),n("td",[t._v("添加联系人")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeContact")]),n("td",[t._v("删除联系人")]),n("td",[t._v("Function(Contact.id)")]),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()=>Contact")]),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 => { return\n "),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")]),n("tr",[n("td",[t._v("setEditorValue")]),n("td",[t._v("设置编辑框内容")]),n("td",[t._v("Function(string)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getEditorValue")]),n("td",[t._v("获取编辑框内容")]),n("td",[t._v("Function()=>string")]),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("editor-footer")]),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("instance")])]),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("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-fixedtop")]),n("td",{attrs:{width:"350"}},[t._v("固定在左侧最新消息列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-fixedtop")]),n("td",{attrs:{width:"350"}},[t._v("固定在左侧联系人列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),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("\n 当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件\n ")]),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("\n Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件\n ")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("\n Lemon-IMUI\n 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建消息首先要确定新消息的\n Message 结构。\n ")])}],r=(n("ac67"),n("1bc7"),n("32ea"),n("4c02")),o=n.n(r),c=n("28f8");n("4057"),n("a450");function d(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 l(t){for(var e=1;e0&&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:y(),status:"succeed",type:"text",sendTime:C(),content:M(),toContactId:t,fromUser:e}},I={name:"app",data:function(){var t=this,e=this.$createElement;return{theme:"default",contactContextmenu:[{text:"删除该聊天",click:function(t,e,n){var i=e.IMUI,s=e.contact;i.updateContact({id:s.id,lastContent:null}),i.currentContactId==s.id&&i.changeContact(null),n()}},{text:"设置备注和标签"},{text:"投诉"},{icon:"lemon-icon-message",render:function(t,e,n){return t("div",{style:"display:flex;justify-content:space-between;align-items:center;width:130px"},[t("span",["加入黑名单"]),t("span",[t("input",{attrs:{type:"checkbox",id:"switch"}}),t("label",{attrs:{id:"switch-label",for:"switch"}},["Toggle"])])])}},{click:function(t,e,n){var i=e.IMUI,s=e.contact;i.removeContact(s.id),i.currentContactId==s.id&&i.changeContact(null),n()},color:"red",text:"删除好友"}],contextmenu:[{click:function(t,n,i){var s=n.IMUI,a=n.message,r={id:y(),type:"event",content:e("div",[e("span",["你撤回了一条消息"," ",e("span",{directives:[{name:"show",value:"text"==a.type}],style:"color:#333;cursor:pointer",attrs:{content:a.content},on:{click:function(t){s.setEditorValue(t.target.getAttribute("content"))}}},["重新编辑"])])]),toContactId:a.toContactId,sendTime:C()};s.removeMessage(a.id),s.appendMessage(r,!0),i()},visible:function(e){return e.message.fromUser.id==t.user.id},text:"撤回消息"},{visible:function(e){return e.message.fromUser.id!=t.user.id},text:"举报"},{text:"转发"},{visible:function(t){return"text"==t.message.type},text:"复制文字"},{visible:function(t){return"image"==t.message.type},text:"下载图片"},{visible:function(t){return"file"==t.message.type},text:"下载文件"},{click:function(t,e,n){var i=e.IMUI,s=e.message;i.removeMessage(s.id),n()},icon:"lemon-icon-folder",color:"red",text:"删除"}],tip:w,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"},s={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},a=this.$refs.IMUI;setTimeout((function(){console.log(a.hasContact("cont1act-3"))}),2e3),a.setLastContentRender("event",(function(t){return"[自定义通知内容]"}));var r=[x({},e),x({},n),x({},i)];a.initContacts(r),a.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}]),a.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){a.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){a.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"}]}];a.initEmoji(c),a.setLastContentRender("voice",(function(e){return t("span",["[语音]"])}));var d=this.$refs.SimpleIMUI;e.id="11",d.initContacts([e]),d.initEmoji(c),d.changeContact(e.id);var l=this.$refs.SlotIMUI;i.id="333",l.initContacts([s,i]),l.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:y(),status:"succeed",type:"voice",sendTime:C(),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,j("contact-3"));e.fromUser=x(x({},e.fromUser),this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:y(),type:"event",content:t("span",["邀请你加入群聊"," ",t("span",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:C()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact({id:"contact-3",unread:10,displayName:M(),lastSendTime:C(),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({id: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,s={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout((function(){var t=[j(n.currentContactId,i.user),j(n.currentContactId,s),j(n.currentContactId,i.user),j(n.currentContactId,s),j(n.currentContactId,i.user),j(n.currentContactId,i.user),j(n.currentContactId,s),x(x({},j(n.currentContactId,i.user)),{status:"failed"})],a=!1;n.getMessages(n.currentContactId).length+t.length>11&&(a=!0),e(t,a)}),500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},k=I,O=(n("9c9b"),Object(v["a"])(k,s,a,!1,null,null,null)),S=O.exports;n("3269"),n("b3d7");function T(t){return"[object Object]"===Object.prototype.toString.call(t)}function $(t){return"string"==typeof t}function E(t){return(new Date).getTime()-t<864e5}function U(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!T(t)||0!=Object.values(t).length))}function D(t){return t&&"function"===typeof t}n("6a61");var P,F,L,N=n("2e91"),R=(n("aa18"),n("982e"),[]),B={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(),et.hide(),e.changeVisible()}))},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",(function(t){t.preventDefault(),e.changeVisible()}))}},V={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(B).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),R.push(this.close)},mounted:function(){B[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:"lemon-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__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(N["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(){this.closeAll(),this.visible=!0},closeAll:function(){R.forEach((function(t){return t()}))},close:function(){this.visible=!1}}},A=V,z=(n("0e15"),Object(v["a"])(A,P,F,!1,null,null,null)),H=z.exports,q=function(){L&&(L.style.display="none")},K=function(){L&&(L.style.display="block")};document.addEventListener("click",(function(t){q()}));var J,W,Y,Q,G,Z,X,tt,et={hide:q,bind:function(t,e,n){t.addEventListener("contextmenu",(function(t){if(!U(e.value)&&Array.isArray(e.value)){var s;t.preventDefault(),H.methods.closeAll();var a=[];e.modifiers.message?s=n.context:e.modifiers.contact&&(s=n.child),L||(L=document.createElement("div"),L.className="lemon-contextmenu",document.body.appendChild(L)),L.innerHTML=e.value.map((function(t){var e;if(e=D(t.visible)?t.visible(s):void 0===t.visible||t.visible,e){a.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""})).join(""),L.style.top="".concat(t.pageY,"px"),L.style.left="".concat(t.pageX,"px"),L.childNodes.forEach((function(t,e){var n=a[e],r=n.click,o=n.render;if(t.addEventListener("click",(function(t){t.stopPropagation(),D(r)&&r(t,s,q)})),D(o)){var c=i["a"].extend({render:function(t){return o(t,s,q)}}),d=(new c).$mount();t.querySelector("span").innerHTML=d.$el.outerHTML}})),K()}}))}},nt={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(s){var a=s.data.attrs,r=a.tab,o=a.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[s])),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}}},it=nt,st=(n("3423"),Object(v["a"])(it,J,W,!1,null,null,null)),at=st.exports,rt={name:"LemonButton",props:{color:{type:String,default:"default"},disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:["lemon-button","lemon-button--color-".concat(this.color)],attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},ot=rt,ct=(n("1e45"),Object(v["a"])(ot,Y,Q,!1,null,null,null)),dt=ct.exports,lt=(n("e680"),{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:{}}),ut=lt,mt=(n("dbdc"),Object(v["a"])(ut,G,Z,!1,null,null,null)),ht=mt.exports,ft={name:"LemonAvatar",inject:["IMUI"],props:{src:String,icon:{type:String,default:"lemon-icon-people"},circle:{type:Boolean,default:function(){return!!this.IMUI&&this.IMUI.avatarCricle}},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",{"lemon-avatar--circle":this.circle}],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}}},vt=ft,pt=(n("04f4"),Object(v["a"])(vt,X,tt,!1,null,null,null)),gt=pt.exports;n("8dee");function _t(t,e,n){return t?t(n):e}function bt(t){return t<10?"0".concat(t):t}function xt(t){var e,n=new Date(t),i=new Date,s=function(t){return t.getFullYear()},a=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=s(n),o=s(i);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(a(n))==="".concat(o,"-").concat(a(i))?"h:i":"m月d日 h:i",wt(t,e)}function wt(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),bt((t.getMonth()+1).toString()),bt(t.getDate().toString()),bt(t.getHours().toString()),bt(t.getMinutes().toString()),bt(t.getSeconds().toString())],i="ymdhis",s=0;s/gi,"")}function Mt(t){return t.replace(/<(?!img).*?>/gi,"")}function jt(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 s=i/Math.pow(1024,n);return s=parseFloat(s.toFixed(2)),s+e[n]}function It(){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 kt,Ot,St={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return wt(t,E(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)}}},[_t(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[$(e.lastContent)?t("span",o()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},Tt=St,$t=(n("909e"),Object(v["a"])(Tt,kt,Ot,!1,null,null,null)),Et=$t.exports;n("0c84"),n("2843");function Ut(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 Dt(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},zt=window.getSelection(),Ht=[],qt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return this.clipboardBlob=null,{clipboardUrl:"",submitDisabled:!0,proxyTools:[],accept:""}},created:function(){var t=this;this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}]),this.IMUI.$on("change-contact",(function(){t.closeClipboardImage()}))},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.proxyTools.forEach((function(s){var a=s.name,r=s.title,o=s.render,c=s.click,d=s.isRight;c=c||new Function;var l,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":d}];l="emoji"==a?0==Ht.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()]),d?i.push(l):n.push(l)})),e("div",{class:"lemon-editor"},[this.clipboardUrl&&e("div",{class:"lemon-editor__clipboard-image"},[e("img",{attrs:{src:this.clipboardUrl}}),e("div",[e("lemon-button",{style:{marginRight:"10px"},on:{click:this.closeClipboardImage},attrs:{color:"grey"}},["取消"]),e("lemon-button",{on:{click:this.sendClipboardImage}},["发送图片"])])]),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}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[_t(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{closeClipboardImage:function(){this.clipboardUrl="",this.clipboardBlob=null},sendClipboardImage:function(){this.clipboardBlob&&(this.$emit("upload",this.clipboardBlob),this.closeClipboardImage())},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"})}}],s=[];if(Array.isArray(t)){var a={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(a);s=t.map((function(t){return r.includes(t.name)?Dt(Dt({},i[a[t.name]]),t):t}))}else s=i;this.proxyTools=s}},_saveLastRange:function(){Pt=zt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),Pt&&(zt.removeAllRanges(),zt.addRange(Pt))},_handleClick:function(){this._saveLastRange()},_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(Ht[0].label){var i=Ht.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(Ht)])},_handleSelectEmoji:function(t){this._focusLastRange(),At('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=Object(N["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||window.clipboardData,n=e.getData("Text");if(n)window.clipboardData?this.$refs.textarea.innerHTML=n:At(n,"insertText");else{var i=this._getClipboardBlob(e),s=i.blob,a=i.blobUrl;this.clipboardBlob=s,this.clipboardUrl=a}},_getClipboardBlob:function(t){for(var e,n,i=0;it.msecRange&&a.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:xt(n.sendTime)}}}]))),s="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},a.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:s}]))),a}))])},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(N["a"])(regeneratorRuntime.mark((function t(e){var n,i,s=this;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,et.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:i=n.scrollHeight,this.$emit("reach-top",function(){var t=Object(N["a"])(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,s.$nextTick();case 2:n.scrollTop=n.scrollHeight-i,s._loading=!1,s._loadend=!!e;case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}}),t,this)})));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(N["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(){}},Qt=Yt,Gt=(n("436f"),Object(v["a"])(Qt,Nt,Rt,!1,null,null,null)),Zt=Gt.exports,Xt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,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,s=n.status,a=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(s),{"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",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(a)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{directives:[{name:"lemon-contextmenu",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[_t(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[_t(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"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},te=Xt,ee=(n("fbd1"),Object(v["a"])(te,Bt,Vt,!1,null,null,null)),ne=ee.exports;function ie(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 se(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===qe[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?(1==e&&this.messageViewToBottom(),this.CacheDraft.remove(t.toContactId)):n.unread="+1",this.updateContact(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({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime}),e.CacheDraft.remove(n.toContactId)}))},_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 s=this._createMessage(e);this.appendMessage(s,!0),this._emitSend(s,(function(){n.updateContact({id:s.toContactId,lastContent:n.lastContentRender(s),lastSendTime:s.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(s){var a=s.name,r=s.title,o=s.unread,c=s.render,d=s.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==a}],on:{click:function(){Ct(d,(function(){a&&t.changeMenu(a)}))}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(s)])]);!0===s.isBottom?i.push(l):n.push(l)})),{top:n,bottom:i}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([_t(this.$scopedSlots["sidebar-message-top"],null,this),this.lastMessages.map((function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},(function(){return t.changeContact(e.id)}),t.$scopedSlots["sidebar-message"])}))],De,_t(this.$scopedSlots["sidebar-message-fixedtop"],null,this))},_renderContact:function(t,e,n){var i=this,s=this.$createElement,a=t.contact,r=a.click,c=a.renderContainer,d=a.id,l=function(){Ct(r,(function(){e(),i._customContainerReady(c,i.CacheContactContainer,d)}))};return s("lemon-contact",o()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"lemon-contextmenu",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:l},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([_t(this.$scopedSlots["sidebar-contact-top"],null,this),this.contacts.map((function(i){if(i.index){i.index=i.index.replace(/\[[0-9]*\]/,"");var s=[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,s}}))],Pe,_t(this.$scopedSlots["sidebar-contact-fixedtop"],null,this))},_renderSidebar:function(t,e,n){var i=this.$createElement;return i("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[i("div",{class:"lemon-sidebar__fixed-top"},[n]),i("div",{class:"lemon-sidebar__scroll"},[t])])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Je(),_t(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],i="lemon-container",s=this.currentContact,a=!0;for(var r in this.CacheContactContainer.get()){var o=s.id==r&&this.currentIsDefSidebar;a=!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()&&a&&s.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[_t(this.$scopedSlots["message-title"],s.displayName,s)])]),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,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:i,directives:[{name:"show",value:!s.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsContacts()&&a&&s.id}]},[_t(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:s.avatar,size:90}}),e("h4",[s.displayName]),e("lemon-button",{on:{click:function(){U(s.lastContent)&&t.updateContact({id:s.id,lastContent:" "}),t.changeContact(s.id,De)}}},["发送消息"])]),s)])),n},_handleSidebarScroll:function(){et.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var i,s={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),qe[e]=qe[e]||[],(i=qe[e])[s].apply(i,Object(Ue["a"])(t))},setLastContentRender:function(t,e){Le[t]=e},lastContentRender:function(t){return D(Le[t.type])?Le[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},emojiNameToImage:function(t){return t.replace(/\[!(\w+)\]/gi,(function(t,e){var n=e;return Ke[n]?''):"[!".concat(e,"]")}))},emojiImageToName:function(t){return t.replace(/]*>/gi,"[!$1]")},updateCurrentMessages:function(){qe[this.currentContactId]||(qe[this.currentContactId]=[]),this.currentMessages=qe[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},changeContact:function(){var t=Object(N["a"])(regeneratorRuntime.mark((function t(e,n){var i,s,a,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(i=this.currentContactId,i&&(s=this.getEditorValue(),s&&(this.CacheDraft.set(i,s),this.updateContact({id:i,lastContent:'[草稿]'.concat(this.lastContentRender({type:"text",content:s}),"")}),this.setEditorValue(""))),this.currentContactId=e,this.currentContactId){t.next=11;break}return t.abrupt("return",!1);case 11:if(this.$emit("change-contact",this.currentContact,this),!D(this.currentContact.renderContainer)){t.next=14;break}return t.abrupt("return");case 14:a=this.CacheDraft.get(e)||"",a&&this.setEditorValue(a),this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),qe[e]?setTimeout((function(){r.updateCurrentMessages(),r.messageViewToBottom()}),0):(this.updateCurrentMessages(),this._emitPullMessages((function(t){return r.messageViewToBottom()})));case 18: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=qe[e.toContactId].findIndex((function(e){var n=e.id;return n==t}));return qe[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!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){D(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){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach((function(t){var n;(n=e).push.apply(n,Object(Ue["a"])(t.children))})):e=t,e.forEach((function(t){var e=t.name,n=t.src;return Ke[e]=n}))},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,i=[{name:De,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Pe,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],s=[];if(Array.isArray(t)){var a={messages:0,contacts:1},r=Object.keys(a);s=t.map((function(t){return r.includes(t.name)?Ae(Ae(Ae({},i[a[t.name]]),t),{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)}))}else s=i;this.menus=s},initContacts:function(t){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort((function(t,e){if(t.index)return t.index.localeCompare(e.index)}))},appendContact:function(t){return U(t.id)||U(t.displayName)?(console.error("id | displayName cant be empty"),!1):(this.hasContact(t.id)||this.contacts.push(Object.assign({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:"",lastContent:""},t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),this.CacheDraft.remove(t),this.CacheMessageLoaded.remove(t),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var i=t.unread;$(i)&&(0!==i.indexOf("+")&&0!==i.indexOf("-")||(t.unread=parseInt(i)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Ae(Ae({},this.contacts[n]),t))}},findContactIndexById:function(t){return this.contacts.findIndex((function(e){return e.id==t}))},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in qe){var n=qe[e].find((function(e){var n=e.id;return n==t}));if(n)return n}},findContact:function(t){return this.getContacts().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},setEditorValue:function(t){if(!$(t))return!1;this.$refs.editor.setValue(this.emojiNameToImage(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?qe[t]:qe)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Je=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Ye=We,Qe=(n("9b01"),Object(v["a"])(Ye,ze,He,!1,null,null,null)),Ge=Qe.exports,Ze=(n("6a2b"),"1.4.2"),Xe=[Ge,Et,Zt,Wt,gt,ht,dt,H,at,ne,le,_e,Oe,Ee],tn=function(t){t.directive("LemonContextmenu",et),Xe.forEach((function(e){t.component(e.name,e)}))};"undefined"!==typeof window&&window.Vue&&tn(window.Vue);var en={version:Ze,install:tn};i["a"].use(en),i["a"].config.productionTip=!1,new i["a"]({render:function(t){return t(S)}}).$mount("#app")},cfab:function(t,e,n){"use strict";n("4c4e")},d5e9:function(t,e,n){},dbd8:function(t,e,n){},dbdc:function(t,e,n){"use strict";n("01be")},de97:function(t,e,n){},e021:function(t,e,n){},e706:function(t,e,n){},ed4b:function(t,e,n){"use strict";n("3550")},ee00:function(t,e,n){},fbd1:function(t,e,n){"use strict";n("ee00")}}); \ No newline at end of file +(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=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 查看示例代码")])]),n("div",{staticClass:"title",attrs:{id:"help2"}},[t._v("如何对接后端接口?")]),n("p",[t._v("1.初始化用户的信息")]),n("pre",{domProps:{textContent:t._s("data(){\n return {\n user:{id:1:displayName:'June',avatar:''}\n }\n}")}}),n("pre",{domProps:{textContent:t._s("")}}),n("p",[t._v("2.初始化联系人数据")]),n("pre",{domProps:{textContent:t._s("mounted(){\n const { IMUI } = this.$refs;\n //初始化表情包。\n IMUI.initEmoji(...);\n //从后端请求联系人数据,包装成下面的样子\n const contacts = [{\n id: 2,\n displayName: '丽安娜',\n avatar:'',\n index: 'L',\n unread: 0,\n //最近一条消息的内容,如果值为空,不会出现在“聊天”列表里面。\n //lastContentRender 函数会将 file 消息转换为 '[文件]', image 消息转换为 '[图片]',对 text 会将文字里的表情标识替换为img标签,\n lastContent: IMUI.lastContentRender({type:'text',content:'你在干嘛呢?'})\n //最近一条消息的发送时间\n lastSendTime: 1566047865417,\n }];\n IMUI.initContacts(contacts);\n}")}}),n("p",[t._v("3.拉取消息列表")]),n("p",[t._v("\n 现在刷新页面应该能够看到联系人了,但是点击联系人的话右边会一直处于加载中,这时需要监听\n pull-messages 事件。\n ")]),n("pre",{domProps:{textContent:t._s("")}}),n("pre",{domProps:{textContent:t._s("methods:{\n handlePullMessages(contact, next) {\n //从后端请求消息数据,包装成下面的样子\n const messages = [{\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '你什么才能对接完?',\n toContactId: contact.id,\n fromUser:this.user\n }]\n //将第二个参数设为true,表示已到末尾,聊天窗口顶部会显示“暂无更多消息”,不然会一直转圈。\n next(messages,true);\n },\n}")}}),n("p",[t._v("4.发送消息")]),n("p",[t._v("现在在消息框发送新消息会一直转圈,这时需要监听 send 事件。")]),n("pre",{domProps:{textContent:t._s("methods:{\n handleSend(message, next, file) {\n ... 调用你的消息发送业务接口\n\n //执行到next消息会停止转圈,如果接口调用失败,可以修改消息的状态 next({status:'failed'});\n next();\n },\n}")}}),n("p",[t._v("5.接收消息")]),n("pre",{domProps:{textContent:t._s("mounted(){\n\nWebSocket.onmessage = function(event) {\n //将接收到的数据包装成下面的样子\n const data = {\n id: '唯一消息ID',\n status: 'succeed',\n type: 'text',\n sendTime: 1566047865417,\n content: '马上就对接完了!',\n toContactId: 2,\n fromUser:{\n //如果 id == this.user.id消息会显示在右侧,否则在左侧\n id:2,\n displayName:'丽安娜',\n avatar:'',\n }\n };\n IMUI.appendMessage(data);\n};\n \n}")}})])},a=[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")]),n("a",{attrs:{target:"_blank",href:"https://qm.qq.com/cgi-bin/qm/qr?k=xzUa9CPYQ5KCNQ86h7ep4Z3TtkqJxRZE&jump_from=webapi"}},[t._v("QQ交流群:1081773406")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help1"}},[t._v("1.如何创建消息?")])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("a",{staticStyle:{"font-size":"14px"},attrs:{href:"#help2"}},[t._v("2.如何对接后端接口?")])])},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("\n 通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”\n ")]),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("lastContent")]),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("tr",[n("td",{attrs:{width:"150"}},[t._v("text")]),n("td",{attrs:{width:"350"}},[t._v("显示文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("color")]),n("td",{attrs:{width:"350"}},[t._v("颜色")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("icon")]),n("td",{attrs:{width:"350"}},[t._v("图标 class")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("click")]),n("td",{attrs:{width:"350"}},[t._v("点击事件,调用hide方法隐藏右键菜单。")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("visible")]),n("td",{attrs:{width:"350"}},[t._v("是否显示的判断函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(instance)")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("render")]),n("td",{attrs:{width:"350"}},[t._v("\n 负责样式的渲染函数,使用render的时候text属性会失去作用,调用hide方法隐藏右键菜单。\n ")]),n("td",{attrs:{width:"150"}},[t._v("Function(e,instance,hide)")]),n("td",{attrs:{width:"100"}},[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("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")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("avatarCricle")]),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")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendText")]),n("td",{attrs:{width:"350"}},[t._v("发送消息按钮的文字")]),n("td",{attrs:{width:"150"}},[t._v("String")]),n("td",{attrs:{width:"100"}},[t._v("发送消息")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sendKey")]),n("td",{attrs:{width:"350"}},[t._v("快捷发送键检查函数")]),n("td",{attrs:{width:"150"}},[t._v("Function(event)=>Boolean")]),n("td",{attrs:{width:"100"}}),n("td",[t._v("(e)=>e.keyCode == 13 && e.ctrlKey")])]),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("\n 精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用\n changeContact 切换到聊天视图。\n ")])]),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")]),n("tr",[n("td",[t._v("contextmenu")]),n("td",[t._v("聊天消息右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactContextmenu")]),n("td",[t._v("联系人右键菜单配置")]),n("td",[t._v("[ContextmenuItem]")]),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("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('[ { name: "messages" }, { name: "contacts" }]')]),n("td",[t._v('\n { name: "custom2", title: "自定义按钮2", unread: 0, click: () => {\n alert("拦截导航点击事件"); }, render: menu => { return \'...\'; },\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\", isRight:true, title:'上传 Excel', click:()=>{\n alert('点击') }, render:()=>{ return '...' } }]\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 有分类:[{ label: '默认表情', children: [ { name: '1f62c', title:\n '微笑', src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png' } ] }]\n ")]),n("div",[t._v("\n 无分类:[{ name: '1f62c', title: '微笑', src:\n 'https://twemoji.maxcdn.com/2/72x72/1f62c.png' }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("\n 新增一条消息, 如果当前焦点在该联系人的聊天窗口,设置\n scrollToBottom=true 添加之后自动定位到消息窗口底部\n ")]),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("\n 修改消息,根据 Message.id\n 查找聊天消息并覆盖传入的值(toContactId会被忽略)\n ")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("appendContact")]),n("td",[t._v("添加联系人")]),n("td",[t._v("Function(Contact)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeContact")]),n("td",[t._v("删除联系人")]),n("td",[t._v("Function(Contact.id)")]),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()=>Contact")]),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 => { return\n "),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")]),n("tr",[n("td",[t._v("setEditorValue")]),n("td",[t._v("设置编辑框内容")]),n("td",[t._v("Function(string)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("getEditorValue")]),n("td",[t._v("获取编辑框内容")]),n("td",[t._v("Function()=>string")]),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("editor-footer")]),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("instance")])]),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("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-message-fixedtop")]),n("td",{attrs:{width:"350"}},[t._v("固定在左侧最新消息列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("sidebar-contact-fixedtop")]),n("td",{attrs:{width:"350"}},[t._v("固定在左侧联系人列表的顶部")]),n("td",{attrs:{width:"150"}},[t._v("instance")])]),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("\n 当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件\n ")]),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("\n Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件\n ")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("\n Lemon-IMUI\n 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建消息首先要确定新消息的\n Message 结构。\n ")])}],r=(n("ac67"),n("1bc7"),n("32ea"),n("4c02")),o=n.n(r),c=n("28f8");n("4057"),n("a450");function d(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 l(t){for(var e=1;e0&&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:y(),status:"succeed",type:"text",sendTime:C(),content:M(),toContactId:t,fromUser:e}},I={name:"app",data:function(){var t=this,e=this.$createElement;return{theme:"default",contactContextmenu:[{text:"删除该聊天",click:function(t,e,n){var i=e.IMUI,s=e.contact;i.updateContact({id:s.id,lastContent:null}),i.currentContactId==s.id&&i.changeContact(null),n()}},{text:"设置备注和标签"},{text:"投诉"},{icon:"lemon-icon-message",render:function(t,e,n){return t("div",{style:"display:flex;justify-content:space-between;align-items:center;width:130px"},[t("span",["加入黑名单"]),t("span",[t("input",{attrs:{type:"checkbox",id:"switch"}}),t("label",{attrs:{id:"switch-label",for:"switch"}},["Toggle"])])])}},{click:function(t,e,n){var i=e.IMUI,s=e.contact;i.removeContact(s.id),i.currentContactId==s.id&&i.changeContact(null),n()},color:"red",text:"删除好友"}],contextmenu:[{click:function(t,n,i){var s=n.IMUI,a=n.message,r={id:y(),type:"event",content:e("div",[e("span",["你撤回了一条消息"," ",e("span",{directives:[{name:"show",value:"text"==a.type}],style:"color:#333;cursor:pointer",attrs:{content:a.content},on:{click:function(t){s.setEditorValue(t.target.getAttribute("content"))}}},["重新编辑"])])]),toContactId:a.toContactId,sendTime:C()};s.removeMessage(a.id),s.appendMessage(r,!0),i()},visible:function(e){return e.message.fromUser.id==t.user.id},text:"撤回消息"},{visible:function(e){return e.message.fromUser.id!=t.user.id},text:"举报"},{text:"转发"},{visible:function(t){return"text"==t.message.type},text:"复制文字"},{visible:function(t){return"image"==t.message.type},text:"下载图片"},{visible:function(t){return"file"==t.message.type},text:"下载文件"},{click:function(t,e,n){var i=e.IMUI,s=e.message;i.removeMessage(s.id),n()},icon:"lemon-icon-folder",color:"red",text:"删除"}],tip:w,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"},s={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},a=this.$refs.IMUI;setTimeout((function(){console.log(a.hasContact("cont1act-3"))}),2e3),a.setLastContentRender("event",(function(t){return"[自定义通知内容]"}));var r=[x({},e),x({},n),x({},i)];a.initContacts(r),a.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}]),a.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){a.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){a.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"}]}];a.initEmoji(c),a.setLastContentRender("voice",(function(e){return t("span",["[语音]"])}));var d=this.$refs.SimpleIMUI;e.id="11",d.initContacts([e]),d.initEmoji(c),d.changeContact(e.id);var l=this.$refs.SlotIMUI;i.id="333",l.initContacts([s,i]),l.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:y(),status:"succeed",type:"voice",sendTime:C(),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,j("contact-3"));e.fromUser=x(x({},e.fromUser),this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:y(),type:"event",content:t("span",["邀请你加入群聊"," ",t("span",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:C()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact({id:"contact-3",unread:10,displayName:M(),lastSendTime:C(),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({id: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,s={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout((function(){var t=[j(n.currentContactId,i.user),j(n.currentContactId,s),j(n.currentContactId,i.user),j(n.currentContactId,s),j(n.currentContactId,i.user),j(n.currentContactId,i.user),j(n.currentContactId,s),x(x({},j(n.currentContactId,i.user)),{status:"failed"})],a=!1;n.getMessages(n.currentContactId).length+t.length>11&&(a=!0),e(t,a)}),500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},k=I,O=(n("9c9b"),Object(v["a"])(k,s,a,!1,null,null,null)),S=O.exports;n("3269"),n("b3d7");function T(t){return"[object Object]"===Object.prototype.toString.call(t)}function $(t){return"string"==typeof t}function E(t){return(new Date).getTime()-t<864e5}function D(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!T(t)||0!=Object.values(t).length))}function U(t){return t&&"function"===typeof t}n("6a61");var P,F,L,N=n("2e91"),R=(n("aa18"),n("982e"),[]),V={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(),et.hide(),e.changeVisible()}))},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",(function(t){t.preventDefault(),e.changeVisible()}))}},B={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(V).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),R.push(this.close)},mounted:function(){V[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:"lemon-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__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(N["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(){this.closeAll(),this.visible=!0},closeAll:function(){R.forEach((function(t){return t()}))},close:function(){this.visible=!1}}},A=B,z=(n("0e15"),Object(v["a"])(A,P,F,!1,null,null,null)),H=z.exports,q=function(){L&&(L.style.display="none")},K=function(){L&&(L.style.display="block")};document.addEventListener("click",(function(t){q()}));var J,W,Y,Q,G,Z,X,tt,et={hide:q,bind:function(t,e,n){t.addEventListener("contextmenu",(function(t){if(!D(e.value)&&Array.isArray(e.value)){var s;t.preventDefault(),H.methods.closeAll();var a=[];e.modifiers.message?s=n.context:e.modifiers.contact&&(s=n.child),L||(L=document.createElement("div"),L.className="lemon-contextmenu",document.body.appendChild(L)),L.innerHTML=e.value.map((function(t){var e;if(e=U(t.visible)?t.visible(s):void 0===t.visible||t.visible,e){a.push(t);var n=t.icon?''):"";return'
').concat(n,"").concat(t.text,"
")}return""})).join(""),L.style.top="".concat(t.pageY,"px"),L.style.left="".concat(t.pageX,"px"),L.childNodes.forEach((function(t,e){var n=a[e],r=n.click,o=n.render;if(t.addEventListener("click",(function(t){t.stopPropagation(),U(r)&&r(t,s,q)})),U(o)){var c=i["a"].extend({render:function(t){return o(t,s,q)}}),d=(new c).$mount();t.querySelector("span").innerHTML=d.$el.outerHTML}})),K()}}))}},nt={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(s){var a=s.data.attrs,r=a.tab,o=a.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[s])),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}}},it=nt,st=(n("3423"),Object(v["a"])(it,J,W,!1,null,null,null)),at=st.exports,rt={name:"LemonButton",props:{color:{type:String,default:"default"},disabled:Boolean},render:function(){var t=arguments[0];return t("button",{class:["lemon-button","lemon-button--color-".concat(this.color)],attrs:{disabled:this.disabled,type:"button"},on:{click:this._handleClick}},[this.$slots.default])},methods:{_handleClick:function(t){this.$emit("click",t)}}},ot=rt,ct=(n("1e45"),Object(v["a"])(ot,Y,Q,!1,null,null,null)),dt=ct.exports,lt=(n("e680"),{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:{}}),ut=lt,mt=(n("dbdc"),Object(v["a"])(ut,G,Z,!1,null,null,null)),ht=mt.exports,ft={name:"LemonAvatar",inject:["IMUI"],props:{src:String,icon:{type:String,default:"lemon-icon-people"},circle:{type:Boolean,default:function(){return!!this.IMUI&&this.IMUI.avatarCricle}},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",{"lemon-avatar--circle":this.circle}],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}}},vt=ft,pt=(n("04f4"),Object(v["a"])(vt,X,tt,!1,null,null,null)),gt=pt.exports;n("8dee");function _t(t,e,n){return t?t(n):e}function bt(t){return t<10?"0".concat(t):t}function xt(t){var e,n=new Date(t),i=new Date,s=function(t){return t.getFullYear()},a=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=s(n),o=s(i);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(a(n))==="".concat(o,"-").concat(a(i))?"h:i":"m月d日 h:i",wt(t,e)}function wt(t,e){e||(e="y-m-d h:i:s"),t=t?new Date(t):new Date;for(var n=[t.getFullYear().toString(),bt((t.getMonth()+1).toString()),bt(t.getDate().toString()),bt(t.getHours().toString()),bt(t.getMinutes().toString()),bt(t.getSeconds().toString())],i="ymdhis",s=0;s/gi,"")}function Mt(t){return t.replace(/<(?!img).*?>/gi,"")}function jt(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 s=i/Math.pow(1024,n);return s=parseFloat(s.toFixed(2)),s+e[n]}function It(){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 kt,Ot,St={name:"LemonContact",components:{},inject:{IMUI:{from:"IMUI",default:function(){return this}}},data:function(){return{}},props:{contact:Object,simple:Boolean,timeFormat:{type:Function,default:function(t){return wt(t,E(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)}}},[_t(this.$scopedSlots.default,this._renderInner(),this.contact)])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_renderInner:function(){var t=this.$createElement,e=this.contact;return[t("lemon-badge",{attrs:{count:this.simple?0:e.unread},class:"lemon-contact__avatar"},[t("lemon-avatar",{attrs:{size:40,src:e.avatar}})]),t("div",{class:"lemon-contact__inner"},[t("p",{class:"lemon-contact__label"},[t("span",{class:"lemon-contact__name"},[e.displayName]),!this.simple&&t("span",{class:"lemon-contact__time"},[this.timeFormat(e.lastSendTime)])]),!this.simple&&t("p",{class:"lemon-contact__content"},[$(e.lastContent)?t("span",o()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},Tt=St,$t=(n("909e"),Object(v["a"])(Tt,kt,Ot,!1,null,null,null)),Et=$t.exports;n("0c84"),n("2843");function Dt(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 Ut(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:"insertHTML";document.execCommand(e,!1,t)},zt=window.getSelection(),Ht=[],qt={name:"LemonEditor",inject:{IMUI:{from:"IMUI",default:function(){return this}}},components:{},props:{tools:{type:Array,default:function(){return[]}},sendText:{type:String,default:"发 送"},sendKey:{type:Function,default:function(t){return 13==t.keyCode&&!0===t.ctrlKey}}},data:function(){return this.clipboardBlob=null,{clipboardUrl:"",submitDisabled:!0,proxyTools:[],accept:""}},created:function(){var t=this;this.tools&&this.tools.length>0?this.initTools(this.tools):this.initTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"}]),this.IMUI.$on("change-contact",(function(){t.closeClipboardImage()}))},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.proxyTools.forEach((function(s){var a=s.name,r=s.title,o=s.render,c=s.click,d=s.isRight;c=c||new Function;var l,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":d}];l="emoji"==a?0==Ht.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()]),d?i.push(l):n.push(l)})),e("div",{class:"lemon-editor"},[this.clipboardUrl&&e("div",{class:"lemon-editor__clipboard-image"},[e("img",{attrs:{src:this.clipboardUrl}}),e("div",[e("lemon-button",{style:{marginRight:"10px"},on:{click:this.closeClipboardImage},attrs:{color:"grey"}},["取消"]),e("lemon-button",{on:{click:this.sendClipboardImage}},["发送图片"])])]),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}})]),e("div",{class:"lemon-editor__footer"},[e("div",{class:"lemon-editor__tip"},[_t(this.IMUI.$scopedSlots["editor-footer"],"使用 ctrl + enter 快捷发送消息")]),e("div",{class:"lemon-editor__submit"},[e("lemon-button",{attrs:{disabled:this.submitDisabled},on:{click:this._handleSend}},[this.sendText])])])])},methods:{closeClipboardImage:function(){this.clipboardUrl="",this.clipboardBlob=null},sendClipboardImage:function(){this.clipboardBlob&&(this.$emit("upload",this.clipboardBlob),this.closeClipboardImage())},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"})}}],s=[];if(Array.isArray(t)){var a={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(a);s=t.map((function(t){return r.includes(t.name)?Ut(Ut({},i[a[t.name]]),t):t}))}else s=i;this.proxyTools=s}},_saveLastRange:function(){Pt=zt.getRangeAt(0)},_focusLastRange:function(){this.$refs.textarea.focus(),Pt&&(zt.removeAllRanges(),zt.addRange(Pt))},_handleClick:function(){this._saveLastRange()},_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(Ht[0].label){var i=Ht.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(Ht)])},_handleSelectEmoji:function(t){this._focusLastRange(),At('')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=Object(N["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||window.clipboardData,n=e.getData("Text");if(n)window.clipboardData?this.$refs.textarea.innerHTML=n:At(n,"insertText");else{var i=this._getClipboardBlob(e),s=i.blob,a=i.blobUrl;this.clipboardBlob=s,this.clipboardUrl=a}},_getClipboardBlob:function(t){for(var e,n,i=0;it.msecRange&&a.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:xt(n.sendTime)}}}]))),s="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},a.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:s}]))),a}))])},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(N["a"])(regeneratorRuntime.mark((function t(e){var n,i,s=this;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,et.hide(),0!=n.scrollTop||0!=this._loading||0!=this._loadend){t.next=8;break}return this._loading=!0,t.next=6,this.$nextTick();case 6:i=n.scrollHeight,this.$emit("reach-top",function(){var t=Object(N["a"])(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,s.$nextTick();case 2:n.scrollTop=n.scrollHeight-i,s._loading=!1,s._loadend=!!e;case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}}),t,this)})));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(N["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(){}},Qt=Yt,Gt=(n("436f"),Object(v["a"])(Qt,Nt,Rt,!1,null,null,null)),Zt=Gt.exports,Xt={name:"lemonMessageBasic",inject:{IMUI:{from:"IMUI",default:function(){return this}}},props:{contextmenu:Array,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,s=n.status,a=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(s),{"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",on:{click:function(e){t._emitClick(e,"sendTime")}}},[this.timeFormat(a)])]),e("div",{class:"lemon-message__content-flex"},[e("div",{directives:[{name:"lemon-contextmenu",value:this.IMUI.contextmenu,modifiers:{message:!0}}],class:"lemon-message__content",on:{click:function(e){t._emitClick(e,"content")}}},[_t(this.$scopedSlots["content"],null,this.message)]),e("div",{class:"lemon-message__content-after"},[_t(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"}})])])])])},created:function(){},mounted:function(){},computed:{},watch:{},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.message,this.IMUI)}}},te=Xt,ee=(n("fbd1"),Object(v["a"])(te,Vt,Bt,!1,null,null,null)),ne=ee.exports;function ie(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 se(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];if(void 0===qe[t.toContactId])this.updateContact({id:t.toContactId,unread:"+1",lastSendTime:t.sendTime,lastContent:this.lastContentRender(t)});else{this._addMessage(t,t.toContactId,1);var n={id:t.toContactId,lastContent:this.lastContentRender(t),lastSendTime:t.sendTime};t.toContactId==this.currentContactId?(1==e&&this.messageViewToBottom(),this.CacheDraft.remove(t.toContactId)):n.unread="+1",this.updateContact(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({id:n.toContactId,lastContent:e.lastContentRender(n),lastSendTime:n.sendTime}),e.CacheDraft.remove(n.toContactId)}))},_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 s=this._createMessage(e);this.appendMessage(s,!0),this._emitSend(s,(function(){n.updateContact({id:s.toContactId,lastContent:n.lastContentRender(s),lastSendTime:s.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(s){var a=s.name,r=s.title,o=s.unread,c=s.render,d=s.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==a}],on:{click:function(){Ct(d,(function(){a&&t.changeMenu(a)}))}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(s)])]);!0===s.isBottom?i.push(l):n.push(l)})),{top:n,bottom:i}},_renderSidebarMessage:function(){var t=this;return this._renderSidebar([_t(this.$scopedSlots["sidebar-message-top"],null,this),this.lastMessages.map((function(e){return t._renderContact({contact:e,timeFormat:t.contactTimeFormat},(function(){return t.changeContact(e.id)}),t.$scopedSlots["sidebar-message"])}))],Ue,_t(this.$scopedSlots["sidebar-message-fixedtop"],null,this))},_renderContact:function(t,e,n){var i=this,s=this.$createElement,a=t.contact,r=a.click,c=a.renderContainer,d=a.id,l=function(){Ct(r,(function(){e(),i._customContainerReady(c,i.CacheContactContainer,d)}))};return s("lemon-contact",o()([{class:{"lemon-contact--active":this.currentContactId==t.contact.id},directives:[{name:"lemon-contextmenu",value:this.contactContextmenu,modifiers:{contact:!0}}]},{props:t},{on:{click:l},scopedSlots:{default:n}}]))},_renderSidebarContact:function(){var t,e=this,n=this.$createElement;return this._renderSidebar([_t(this.$scopedSlots["sidebar-contact-top"],null,this),this.contacts.map((function(i){if(i.index){i.index=i.index.replace(/\[[0-9]*\]/,"");var s=[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,s}}))],Pe,_t(this.$scopedSlots["sidebar-contact-fixedtop"],null,this))},_renderSidebar:function(t,e,n){var i=this.$createElement;return i("div",{class:"lemon-sidebar",directives:[{name:"show",value:this.activeSidebar==e}],on:{scroll:this._handleSidebarScroll}},[i("div",{class:"lemon-sidebar__fixed-top"},[n]),i("div",{class:"lemon-sidebar__scroll"},[t])])},_renderDrawer:function(){var t=this.$createElement;return this._menuIsMessages()&&this.currentContactId?t("div",{class:"lemon-drawer"},[Je(),_t(this.$scopedSlots.drawer,"",this.currentContact)]):""},_isContactContainerCache:function(t){return t.startsWith("contact#")},_renderContainer:function(){var t=this,e=this.$createElement,n=[],i="lemon-container",s=this.currentContact,a=!0;for(var r in this.CacheContactContainer.get()){var o=s.id==r&&this.currentIsDefSidebar;a=!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()&&a&&s.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[_t(this.$scopedSlots["message-title"],s.displayName,s)])]),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,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:i,directives:[{name:"show",value:!s.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsContacts()&&a&&s.id}]},[_t(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:s.avatar,size:90}}),e("h4",[s.displayName]),e("lemon-button",{on:{click:function(){D(s.lastContent)&&t.updateContact({id:s.id,lastContent:" "}),t.changeContact(s.id,Ue)}}},["发送消息"])]),s)])),n},_handleSidebarScroll:function(){et.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var i,s={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),qe[e]=qe[e]||[],(i=qe[e])[s].apply(i,Object(De["a"])(t))},setLastContentRender:function(t,e){Le[t]=e},lastContentRender:function(t){return U(Le[t.type])?Le[t.type].call(this,t):(console.error("not found '".concat(t.type,"' of the latest message renderer,try to use ‘setLastContentRender()’")),"")},emojiNameToImage:function(t){return t.replace(/\[!(\w+)\]/gi,(function(t,e){var n=e;return Ke[n]?''):"[!".concat(e,"]")}))},emojiImageToName:function(t){return t.replace(/]*>/gi,"[!$1]")},updateCurrentMessages:function(){qe[this.currentContactId]||(qe[this.currentContactId]=[]),this.currentMessages=qe[this.currentContactId]},messageViewToBottom:function(){this.$refs.messages.scrollToBottom()},setDraft:function(t,e){if(D(t)||D(e))return!1;var n=this.findContact(t);if(D(n))return!1;this.CacheDraft.set(t,{editorValue:e,lastContent:n.lastContent}),this.updateContact({id:t,lastContent:'[草稿]'.concat(this.lastContentRender({type:"text",content:e}),"")})},clearDraft:function(t){var e=this.CacheDraft.get(t);e&&(this.updateContact({id:t,lastContent:e.lastContent}),this.CacheDraft.remove(t))},changeContact:function(){var t=Object(N["a"])(regeneratorRuntime.mark((function t(e,n){var i,s,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&&(i=this.getEditorValue(),i?(this.setDraft(this.currentContactId,i),this.setEditorValue()):this.clearDraft(this.currentContactId)),this.currentContactId=e,this.currentContactId){t.next=10;break}return t.abrupt("return",!1);case 10:if(this.$emit("change-contact",this.currentContact,this),!U(this.currentContact.renderContainer)){t.next=13;break}return t.abrupt("return");case 13:s=this.CacheDraft.get(e),s&&this.setEditorValue(s.editorValue),this.CacheMessageLoaded.has(e)?this.$refs.messages.loaded():this.$refs.messages.resetLoadState(),qe[e]?setTimeout((function(){a.updateCurrentMessages(),a.messageViewToBottom()}),0):(this.updateCurrentMessages(),this._emitPullMessages((function(t){return a.messageViewToBottom()})));case 17: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=qe[e.toContactId].findIndex((function(e){var n=e.id;return n==t}));return qe[e.toContactId].splice(n,1),!0},updateMessage:function(t){if(!t.id)return!1;var e=this.findMessage(t.id);return!!e&&(e=Object.assign(e,t,{toContactId:e.toContactId}),!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){U(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){var e=[];this.$refs.editor.initEmoji(t),t[0].label?t.forEach((function(t){var n;(n=e).push.apply(n,Object(De["a"])(t.children))})):e=t,e.forEach((function(t){var e=t.name,n=t.src;return Ke[e]=n}))},initEditorTools:function(t){this.editorTools=t,this.$refs.editor.initTools(t)},initMenus:function(t){var e=this,n=this.$createElement,i=[{name:Ue,title:"聊天",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-message"})},isBottom:!1},{name:Pe,title:"通讯录",unread:0,click:null,render:function(t){return n("i",{class:"lemon-icon-addressbook"})},isBottom:!1}],s=[];if(Array.isArray(t)){var a={messages:0,contacts:1},r=Object.keys(a);s=t.map((function(t){return r.includes(t.name)?Ae(Ae(Ae({},i[a[t.name]]),t),{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)}))}else s=i;this.menus=s},initContacts:function(t){this.contacts=t,this.sortContacts()},sortContacts:function(){this.contacts.sort((function(t,e){if(t.index)return t.index.localeCompare(e.index)}))},appendContact:function(t){return D(t.id)||D(t.displayName)?(console.error("id | displayName cant be empty"),!1):(this.hasContact(t.id)||this.contacts.push(Object.assign({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:"",lastContent:""},t)),!0)},removeContact:function(t){var e=this.findContactIndexById(t);return-1!==e&&(this.contacts.splice(e,1),this.CacheDraft.remove(t),this.CacheMessageLoaded.remove(t),!0)},updateContact:function(t){var e=t.id;delete t.id;var n=this.findContactIndexById(e);if(-1!==n){var i=t.unread;$(i)&&(0!==i.indexOf("+")&&0!==i.indexOf("-")||(t.unread=parseInt(i)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,Ae(Ae({},this.contacts[n]),t))}},findContactIndexById:function(t){return this.contacts.findIndex((function(e){return e.id==t}))},hasContact:function(t){return-1!==this.findContactIndexById(t)},findMessage:function(t){for(var e in qe){var n=qe[e].find((function(e){var n=e.id;return n==t}));if(n)return n}},findContact:function(t){return this.getContacts().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},setEditorValue:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(!$(t))return!1;this.$refs.editor.setValue(this.emojiNameToImage(t))},getEditorValue:function(){return this.$refs.editor.getFormatValue()},getMessages:function(t){return(t?qe[t]:qe)||[]},changeDrawer:function(t){this.drawerVisible=!this.drawerVisible,1==this.drawerVisible&&this.openDrawer(t)},openDrawer:function(t){Je=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Ye=We,Qe=(n("9b01"),Object(v["a"])(Ye,ze,He,!1,null,null,null)),Ge=Qe.exports,Ze=(n("6a2b"),"1.4.2"),Xe=[Ge,Et,Zt,Wt,gt,ht,dt,H,at,ne,le,_e,Oe,Ee],tn=function(t){t.directive("LemonContextmenu",et),Xe.forEach((function(e){t.component(e.name,e)}))};"undefined"!==typeof window&&window.Vue&&tn(window.Vue);var en={version:Ze,install:tn};i["a"].use(en),i["a"].config.productionTip=!1,new i["a"]({render:function(t){return t(S)}}).$mount("#app")},cfab:function(t,e,n){"use strict";n("4c4e")},d5e9:function(t,e,n){},dbd8:function(t,e,n){},dbdc:function(t,e,n){"use strict";n("01be")},de97:function(t,e,n){},e021:function(t,e,n){},e706:function(t,e,n){},ed4b:function(t,e,n){"use strict";n("3550")},ee00:function(t,e,n){},fbd1:function(t,e,n){"use strict";n("ee00")}}); \ No newline at end of file diff --git a/package.json b/package.json index a5f0f30..06d3234 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,18 @@ { "name": "lemon-imui", - "version": "1.6.5", + "version": "1.6.6", "main": "dist/index.umd.min.js", "description": "基于 VUE2.0 的 IM 聊天组件", - "homepage": "https://github.com/fanjyy/lemon-imui", + "homepage": "http://june000.gitee.io/lemon-im/", + "keywords": [ + "vue", + "im", + "chat", + "vueim", + "vuechat", + "webim", + "webchat" + ], "repository": { "type": "git", "url": "git+https://github.com/fanjyy/lemon-imui.git" diff --git a/packages/components/index.vue b/packages/components/index.vue index 6d24261..ccc557f 100644 --- a/packages/components/index.vue +++ b/packages/components/index.vue @@ -587,6 +587,37 @@ export default { messageViewToBottom() { this.$refs.messages.scrollToBottom(); }, + /** + * 设置联系人的草稿信息 + */ + setDraft(contactId, editorValue) { + if (isEmpty(contactId) || isEmpty(editorValue)) return false; + const contact = this.findContact(contactId); + if (isEmpty(contact)) return false; + this.CacheDraft.set(contactId, { + editorValue: editorValue, + lastContent: contact.lastContent + }); + this.updateContact({ + id: contactId, + lastContent: `[草稿]${this.lastContentRender( + { type: "text", content: editorValue } + )}` + }); + }, + /** + * 清空联系人草稿信息 + */ + clearDraft(contactId) { + const draft = this.CacheDraft.get(contactId); + if (draft) { + this.updateContact({ + id: contactId, + lastContent: draft.lastContent + }); + this.CacheDraft.remove(contactId); + } + }, /** * 改变聊天对象 * @param contactId 联系人 id @@ -598,19 +629,15 @@ export default { if (this._changeContactLock || this.currentContactId == contactId) return false; } - const prevCurrentContactId = this.currentContactId; + //保存上个聊天目标的草稿 - if (prevCurrentContactId) { + if (this.currentContactId) { const editorValue = this.getEditorValue(); if (editorValue) { - this.CacheDraft.set(prevCurrentContactId, editorValue); - this.updateContact({ - id: prevCurrentContactId, - lastContent: `[草稿]${this.lastContentRender( - { type: "text", content: editorValue } - )}` - }); - this.setEditorValue(""); + this.setDraft(this.currentContactId, editorValue); + this.setEditorValue(); + } else { + this.clearDraft(this.currentContactId); } } @@ -622,8 +649,8 @@ export default { return; } //填充草稿内容 - const draft = this.CacheDraft.get(contactId) || ""; - if (draft) this.setEditorValue(draft); + const draft = this.CacheDraft.get(contactId); + if (draft) this.setEditorValue(draft.editorValue); if (this.CacheMessageLoaded.has(contactId)) { this.$refs.messages.loaded(); @@ -890,7 +917,7 @@ export default { getCurrentMessages() { return this.currentMessages; }, - setEditorValue(val) { + setEditorValue(val = "") { if (!isString(val)) return false; this.$refs.editor.setValue(this.emojiNameToImage(val)); },