Files
lemon-imui/examples/dist/js/index.9936f86d.js
T

1 line
87 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(t){function e(e){for(var i,r,o=e[0],c=e[1],d=e[2],u=0,m=[];u<o.length;u++)r=o[u],a[r]&&m.push(a[r][0]),a[r]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(t[i]=c[i]);l&&l(e);while(m.length)m.shift()();return s.push.apply(s,d||[]),n()}function n(){for(var t,e=0;e<s.length;e++){for(var n=s[e],i=!0,o=1;o<n.length;o++){var c=n[o];0!==a[c]&&(i=!1)}i&&(s.splice(e--,1),t=r(r.s=n[0]))}return t}var i={},a={index:0},s=[];function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return t[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=i,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="";var o=window["webpackJsonp"]=window["webpackJsonp"]||[],c=o.push.bind(o);o.push=e,o=o.slice();for(var d=0;d<o.length;d++)e(o[d]);var l=c;s.push([0,"chunk-vendors"]),n()})({0:function(t,e,n){t.exports=n("c31f")},"04f4":function(t,e,n){"use strict";var i=n("26f7"),a=n.n(i);a.a},"0af2":function(t,e,n){},"0e15":function(t,e,n){"use strict";var i=n("9768"),a=n.n(i);a.a},1021:function(t,e,n){},"107a":function(t,e,n){},"15cf":function(t,e,n){},1663:function(t,e,n){"use strict";var i=n("e86c"),a=n.n(i);a.a},"1e45":function(t,e,n){"use strict";var i=n("83d7"),a=n.n(i);a.a},"26f7":function(t,e,n){},3423:function(t,e,n){"use strict";var i=n("107a"),a=n.n(i);a.a},"428f":function(t,e,n){},"436f":function(t,e,n){"use strict";var i=n("0af2"),a=n.n(i);a.a},"476d":function(t,e,n){"use strict";var i=n("428f"),a=n.n(i);a.a},"49c2":function(t,e,n){"use strict";var i=n("acce"),a=n.n(i);a.a},"4d21":function(t,e,n){"use strict";var i=n("917b"),a=n.n(i);a.a},"6a2b":function(t,e,n){},"6da9":function(t,e,n){},7802:function(t,e,n){},"820e":function(t,e,n){},"83d7":function(t,e,n){},"909e":function(t,e,n){"use strict";var i=n("1021"),a=n.n(i);a.a},"917b":function(t,e,n){},9224:function(t){t.exports={name:"lemon-imui",version:"1.6.4",main:"dist/index.umd.min.js",description:"基于 VUE2.0 的 IM 聊天组件",homepage:"https://github.com/fanjyy/lemon-imui",repository:{type:"git",url:"git+https://github.com/fanjyy/lemon-imui.git"},scripts:{serve:"vue-cli-service serve",build:"vue-cli-service build --target lib --name index packages/index.js","build-examples":"vue-cli-service build --dest examples/dist examples/main.js",lint:"vue-cli-service lint"},dependencies:{vue:"^2.6.10"},devDependencies:{"@vue/cli-plugin-babel":"^3.6.0","@vue/cli-plugin-eslint":"^3.6.0","@vue/cli-service":"^3.6.0","@vue/eslint-config-prettier":"^4.0.1","babel-eslint":"^10.0.2",eslint:"^5.16.0","eslint-plugin-vue":"^5.2.3",stylus:"^0.54.5","stylus-loader":"^3.0.2","vue-template-compiler":"^2.5.21"},author:"fanjun",license:"MIT"}},9768:function(t,e,n){},9800:function(t,e,n){},"9b01":function(t,e,n){"use strict";var i=n("6da9"),a=n.n(i);a.a},"9c9b":function(t,e,n){"use strict";var i=n("9800"),a=n.n(i);a.a},a215:function(t,e,n){},acce:function(t,e,n){},c31f:function(t,e,n){"use strict";n.r(e);n("cadf"),n("551c"),n("f751"),n("097d");var i=n("2b0e"),a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{attrs:{id:"app"}},[n("div",{staticClass:"scroll-top",on:{click:t.scrollToTop}},[t._v("🚀")]),n("div",{staticClass:"logo"},[n("div",{staticClass:"logo-text"},[n("b",[t._v("Lemon")]),t._v(" IMUI"),n("span",{staticClass:"logo-badge"},[t._v(t._s(this.packageData.version))])]),n("div",{staticClass:"logo-sub"},[t._v(t._s(this.packageData.description))]),t._m(0),n("br"),t._m(1),t._m(2)]),n("div",{staticClass:"imui-center"},[n("lemon-imui",{ref:"IMUI",attrs:{user:t.user,contextmenu:t.contextmenu,"contact-contextmenu":t.contactContextmenu,theme:t.theme,"hide-menu":t.hideMenu,"hide-menu-avatar":t.hideMenuAvatar,"hide-message-name":t.hideMessageName,"hide-message-time":t.hideMessageTime},on:{"change-menu":t.handleChangeMenu,"change-contact":t.handleChangeContact,"pull-messages":t.handlePullMessages,"message-click":t.handleMessageClick,"menu-avatar-click":t.handleMenuAvatarClick,send:t.handleSend},scopedSlots:t._u([{key:"cover",fn:function(){return[n("div",{staticClass:"cover"},[n("i",{staticClass:"lemon-icon-message"}),n("p",[n("b",[t._v("自定义封面 Lemon")]),t._v(" IMUI")])])]},proxy:!0},{key:"message-title",fn:function(e){return[n("span",[t._v(t._s(e.displayName))]),n("small",{staticClass:"more",on:{click:function(n){return t.changeDrawer(e,t.$refs.IMUI)}}},[t._v(t._s(t.$refs.IMUI&&t.$refs.IMUI.drawerVisible?"关闭":"打开")+"抽屉")])]}}])}),n("a",{staticStyle:{"font-size":"14px"},attrs:{target:"_blank",href:"https://codesandbox.io/s/sweet-chaplygin-s24mb?fontsize=14&hidenavigation=1&theme=dark"}},[t._v("在线编辑代码")]),n("div",{staticClass:"action"},[n("lemon-button",{on:{click:t.appendMessage}},[t._v("发送消息")]),n("lemon-button",{on:{click:t.appendEventMessage}},[t._v("发送 event 消息")]),n("lemon-button",{on:{click:t.removeMessage}},[t._v("删除最近一条消息")]),n("lemon-button",{on:{click:t.updateMessage}},[t._v("修改消息")]),n("lemon-button",{on:{click:t.appendCustomMessage}},[t._v("发送消息")]),n("br"),n("lemon-button",{on:{click:t.updateContact}},[t._v("修改联系人信息")]),n("lemon-button",{on:{click:t.changeMenuVisible}},[t._v("切换导航显示")]),n("lemon-button",{on:{click:t.changeMenuAvatarVisible}},[t._v("切换头像显示")]),n("lemon-button",{on:{click:t.changeMessageNameVisible}},[t._v("切换聊天窗口内名字显示")]),n("lemon-button",{on:{click:t.changeMessageTimeVisible}},[t._v("切换聊天窗口内时间显示")]),n("lemon-button",{on:{click:t.changeTheme}},[t._v("切换主题,当前主题:"+t._s(this.theme))])],1)],1),n("div",{staticStyle:{display:"flex"}},[n("div",[n("div",{staticClass:"title"},[t._v("插槽演示")]),n("div",{staticClass:"imui-center"},[n("lemon-imui",{ref:"SlotIMUI",staticClass:"lemon-slot",attrs:{user:t.user,"send-text":"发送消息","send-key":function(t){return 1==t.ctrlKey}},on:{"pull-messages":t.handlePullMessages,"message-click":t.handleMessageClick,"change-contact":t.handleChangeContact,send:t.handleSend},scopedSlots:t._u([{key:"editor-footer",fn:function(){return[t._v("\n 按 ctrl 键发送消息\n ")]},proxy:!0},{key:"cover",fn:function(){return[n("div",{staticClass:"cover"},[n("i",{staticClass:"lemon-icon-message"}),n("p",[n("b",[t._v("自定义封面 Lemon")]),t._v(" IMUI")])])]},proxy:!0},{key:"message-title",fn:function(e){return[n("span",[t._v(t._s(e.displayName))]),n("small",{staticClass:"more",on:{click:function(n){return t.changeDrawer(e,t.$refs.SlotIMUI)}}},[t._v(t._s(t.$refs.SlotIMUI&&t.$refs.SlotIMUI.drawerVisible?"关闭":"打开")+"抽屉")])]}},{key:"message-after",fn:function(e){return[n("span",[t._v("未读")])]}},{key:"contact-info",fn:function(e){return[t._v("\n 自定义通讯录信息 "+t._s(e.displayName)+"\n ")]}},{key:"sidebar-message",fn:function(e){return[n("lemon-badge",{staticStyle:{width:"100%"},attrs:{count:e.unread}},[n("div",[n("p",[n("span",[t._v(t._s(e.displayName))])]),n("p",{staticClass:"lemon-contact__content",staticStyle:{height:"18px","font-size":"12px",color:"#aaa"}},[t._v("\n 最新消息:\n "),n("span",{domProps:{innerHTML:t._s(e.lastContent)}})])])])]}},{key:"sidebar-contact",fn:function(e){return[n("span",[t._v(t._s(e.displayName))])]}},{key:"sidebar-message-top",fn:function(){return[n("div",{staticClass:"bar"},[t._v("最新消息顶部")])]},proxy:!0},{key:"sidebar-contact-top",fn:function(){return[n("div",{staticClass:"bar"},[t._v("联系人顶部")])]},proxy:!0},{key:"sidebar-message-fixedtop",fn:function(){return[n("div",{staticClass:"bar"},[t._v("最新消息顶部 Fixed")])]},proxy:!0},{key:"sidebar-contact-fixedtop",fn:function(){return[n("div",{staticClass:"bar"},[t._v("联系人顶部 Fixed")])]},proxy:!0}])})],1)]),n("div",{staticStyle:{margin:"0 55px"}},[n("div",{staticClass:"title"},[t._v("精简模式")]),n("div",{staticClass:"imui-center"},[n("lemon-imui",{ref:"SimpleIMUI",staticClass:"lemon-simple",attrs:{user:t.user,width:"340px","avatar-cricle":!0,simple:""},on:{"pull-messages":t.handlePullMessages,"message-click":t.handleMessageClick,send:t.handleSend}}),n("a",{staticStyle:{"font-size":"14px"},attrs:{target:"_blank",href:"https://codesandbox.io/s/lemon-imui-jingjianmoshi-forked-1lvoh?fontsize=14&hidenavigation=1&theme=dark"}},[t._v("在线编辑代码")])],1)])]),n("div",{staticClass:"title"},[t._v("联系人 Contact")]),t._m(3),n("div",{staticClass:"title"},[t._v("消息体 Message")]),t._m(4),n("div",{staticClass:"title"},[t._v("右键菜单 ContextmenuItem")]),t._m(5),n("div",{staticClass:"title"},[t._v("组件属性")]),t._m(6),n("div",{staticClass:"title"},[t._v("组件方法")]),t._m(7),n("div",{staticClass:"title"},[t._v("组件插槽")]),t._m(8),n("div",{staticClass:"title"},[t._v("组件事件")]),t._m(9),n("div",{staticClass:"title",attrs:{id:"help1"}},[t._v("如何创建消息?")]),n("div",[t._m(10),n("pre",[t._v('{\n //值为 voice,用于解析的组件 name 必须为 lemonMessageVoice\n type: "voice",\n content: \'语音消息\',\n //自定义参数\n params1:\'参数1\',\n params2:\'参数2\',\n //必传参数\n id: "message-id",\n //必传参数\n fromUser:{\n avatar: ""\n displayName: "June"\n id: "1"\n },\n //必传参数\n sendTime: 1610872045162\n //必传参数\n status: "succeed"\n //必传参数\n toContactId: "contact-id"\n}\n ')]),n("p",[t._v("创建用于解析该消息的组件。")]),n("pre",[t._v(t._s(t.tip))]),n("p",[t._v("IMUI初始化的时候,设置左侧联系人最新消息的渲染内容")]),n("pre",[t._v("IMUI.setLastContentRender('voice', message => {\n return <span>[语音]</span>\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("<lemon-imui :user='this.user' ref='IMUI'></lemon-imui>")}}),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("现在刷新页面应该能够看到联系人了,但是点击联系人的话右边会一直处于加载中,这时需要监听 pull-messages 事件。")]),n("pre",{domProps:{textContent:t._s("<lemon-imui :user='this.user' ref='IMUI' @pull-messages='handlePullMessages'></lemon-imui>")}}),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}")}})])},s=[function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"link"},[n("span",[t._v("源码下载  ")]),n("a",{attrs:{target:"_blank",href:"https://github.com/fanjyy/lemon-imui"}},[t._v("Github")]),n("a",{attrs:{target:"_blank",href:"https://gitee.com/june000/lemon-im"}},[t._v("Gitee")]),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("通讯录索引,传入字母或数字进行排序,索引可以显示自定义文字“[1]群组”")]),n("td",[t._v("String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("unread")]),n("td",[t._v("未读消息数")]),n("td",[t._v("Number")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("lastSendTime")]),n("td",[t._v("最近一条消息的时间戳,13位毫秒")]),n("td",[t._v("timestamp")]),n("td",[t._v("0")]),n("td")]),n("tr",[n("td",[t._v("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("负责样式的渲染函数,使用render的时候text属性会失去作用,调用hide方法隐藏右键菜单。")]),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("精简模式下左侧的导航和联系人列表会隐藏,初始化时需要手动调用 changeContact 切换到聊天视图。")])]),n("tr",[n("td",[t._v("messageTimeFormat")]),n("td",[t._v("消息列表时间格式化函数")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("contactTimeFormat")]),n("td",[t._v("联系人时间格式化规则")]),n("td",[t._v("Function(time)=>String")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("hideDrawer")]),n("td",[t._v("是否隐藏抽屉")]),n("td",[t._v("Boolean")]),n("td",[t._v("true")]),n("td")]),n("tr",[n("td",[t._v("hideMenuAvatar")]),n("td",[t._v("是否隐藏导航头像")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMenu")]),n("td",[t._v("是否隐藏左侧导航")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageName")]),n("td",[t._v("是否隐藏聊天窗口内的联系人名字")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),n("tr",[n("td",[t._v("hideMessageTime")]),n("td",[t._v("是否隐藏聊天窗口内的消息发送时间")]),n("td",[t._v("Boolean")]),n("td",[t._v("false")]),n("td")]),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('[ {\n name: "messages"\n },\n {\n name: "contacts"\n }]')]),n("td",[t._v(' {\n name: "custom2",\n title: "自定义按钮2",\n unread: 0,\n click: () => {\n alert("拦截导航点击事件");\n },\n render: menu => {\n return \'...\';\n },\n isBottom: true\n }')])]),n("tr",[n("td",[t._v("initContacts")]),n("td",[t._v("初始化联系人")]),n("td",[t._v("Function([Contact])")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("initEditorTools")]),n("td",[t._v("初始化工具栏")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("[{name:'emoji'},{name:'uploadFile'},{name:'uploadImage'}]")]),n("td",[t._v("[{\n name:\"test2\",\n isRight:true,\n title:'上传 Excel',\n click:()=>{\n alert('点击')\n },\n render:()=>{\n return '...'\n }\n }]")])]),n("tr",[n("td",[t._v("initEmoji")]),n("td",[t._v("初始化表情数据")]),n("td",[t._v("Function([Object])")]),n("td",[t._v("-")]),n("td",[n("div",[t._v("\n 有分类:[{\n label: '默认表情',\n children: [\n {\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }\n ]\n }]\n ")]),n("div",[t._v("\n 无分类:[{\n name: '1f62c',\n title: '微笑',\n src: 'https://twemoji.maxcdn.com/2/72x72/1f62c.png'\n }]\n ")])])]),n("tr",[n("td",[t._v("appendMessage")]),n("td",[t._v("新增一条消息, 如果当前焦点在该联系人的聊天窗口,设置 scrollToBottom=true 添加之后自动定位到消息窗口底部")]),n("td",[t._v("Function(Message,scrollToBottom=false)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("removeMessage")]),n("td",[t._v("删除聊天消息")]),n("td",[t._v("Function(Message.id)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("updateMessage")]),n("td",[t._v("修改消息,根据 Message.id 查找聊天消息并覆盖传入的值(toContactId会被忽略)")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),n("tr",[n("td",[t._v("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 => {\n return "),n("span",[t._v("[最新图片]")]),t._v("\n })\n ")])]),n("tr",[n("td",[t._v("lastContentRender")]),n("td",[t._v("用来生成 Message.lastContent 需要的vnode结构。")]),n("td",[t._v("Function(Message)")]),n("td",[t._v("-")]),n("td")]),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("当切换聊天对象或者聊天窗口滚动到顶部时会触发该事件,调用next方法结束loading状态,如果设置了isEnd=true,下次聊天窗口滚动到顶部将不会再触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Contact,next([Message],isEnd),instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-click")]),n("td",{attrs:{width:"350"}},[t._v("点击聊天窗口中的消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("event,key,Message,instance")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("send")]),n("td",{attrs:{width:"350"}},[t._v("当发送新消息时会触发该事件")]),n("td",{attrs:{width:"150"}},[t._v("Message,Function(Message):调用该函数完成消息发送,可以传入Message来改变消息内容,file:上传时的文件")])])])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[t._v("Lemon-IMUI 目前内置了file、image、text、event四种消息类型,在实际应用当中肯定是不够的哦,咋办?没事的,我们继续往下see。"),n("br"),t._v("要创建消息首先要确定新消息的 Message 结构。")])}],r=(n("8e6e"),n("ac6a"),n("456d"),n("2638")),o=n.n(r),c=n("bd86");n("6b54"),n("7f7f");function 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;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?d(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):d(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var u,m,h={name:"lemonMessageVoice",inheritAttrs:!1,inject:["IMUI"],render:function(){var t=arguments[0];return t("lemon-message-basic",o()([{class:"lemon-message-voice"},{props:l({},this.$attrs)},{scopedSlots:{content:function(e){return t("span",[e.content," 🔈"])}}}]))}},f=h,v=(n("476d"),n("2877")),p=Object(v["a"])(f,u,m,!1,null,null,null),g=p.exports,_=n("9224");function b(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 x(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?b(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):b(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}i["a"].component(g.name,g);var w,C,y,M='export default {\n //组件的name必须以lemonMessage开头,后面跟上 Message.type\n name: "lemonMessageVoice",\n inheritAttrs: false,\n //如果需要使用父组件的方法,可以使用注入。\n inject: ["IMUI"],\n render() {\n //lemon-message-basic 组件对气泡框、头像、事件等信息进行了公共的处理。\n return (\n <lemon-message-basic\n class="lemon-message-voice"\n props={{ ...this.$attrs }}\n scopedSlots={{\n content: props => {\n //返回HTML结构\n return <span>{props.content}&nbsp;🔈</span>\n }\n }}\n />\n );\n }\n};\n<style lang="stylus">\n.lemon-message.lemon-message-voice\n user-select none\n .lemon-message__content\n border 2px solid #000\n font-size 12px\n cursor pointer\n &::before\n display none\n</style>',j=function(){return(new Date).getTime()},I=function(){return Math.random().toString(36).substr(-8)},k=function(){return Math.random().toString(36).substr(2)},S=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;return e||(e={id:"system",displayName:"系统测试",avatar:"http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg"}),{id:I(),status:"succeed",type:"text",sendTime:j(),content:k(),toContactId:t,fromUser:e}},O={name:"app",data:function(){var t=this,e=this.$createElement;return{theme:"default",contactContextmenu:[{text:"删除该聊天",click:function(t,e,n){var i=e.IMUI,a=e.contact;i.updateContact({id:a.id,lastContent:null}),i.currentContactId==a.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,a=e.contact;i.removeContact(a.id),i.currentContactId==a.id&&i.changeContact(null),n()},color:"red",text:"删除好友"}],contextmenu:[{click:function(t,n,i){var a=n.IMUI,s=n.message,r={id:I(),type:"event",content:e("div",[e("span",["你撤回了一条消息 ",e("span",{directives:[{name:"show",value:"text"==s.type}],style:"color:#333;cursor:pointer",attrs:{content:s.content},on:{click:function(t){a.setEditorValue(t.target.getAttribute("content"))}}},["重新编辑"])])]),toContactId:s.toContactId,sendTime:j()};a.removeMessage(s.id),a.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,a=e.message;i.removeMessage(a.id),n()},icon:"lemon-icon-folder",color:"red",text:"删除"}],tip:M,packageData:_,hideMenuAvatar:!1,hideMenu:!1,hideMessageName:!1,hideMessageTime:!0,user:{id:"1",displayName:"June",avatar:""}}},mounted:function(){var t=this.$createElement,e={id:"contact-1",displayName:"工作协作群",avatar:"http://upload.qqbodys.com/img/weixin/20170804/ji5qxg1am5ztm.jpg",index:"[1]群组",unread:0,lastSendTime:1566047865417,lastContent:"2"},n={id:"contact-2",displayName:"自定义内容",avatar:"http://upload.qqbodys.com/img/weixin/20170807/jibfvfd00npin.jpg",click:function(t){t()},renderContainer:function(){return t("h1",{style:"text-indent:20px"},["自定义页面"])},lastSendTime:1345209465e3,lastContent:"12312",unread:2},i={id:"contact-3",displayName:"铁牛",avatar:"http://upload.qqbodys.com/img/weixin/20170803/jiq4nzrkrnd0e.jpg",index:"T",unread:32,lastSendTime:3,lastContent:"你好123"},a={id:"contact-4",displayName:"如花",avatar:"https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=4275424924,2201401076&fm=111&gp=0.jpg",index:"",unread:1,lastSendTime:3,lastContent:"吃饭了嘛"},s=this.$refs.IMUI;setTimeout(function(){console.log(s.hasContact("cont1act-3"))},2e3),s.setLastContentRender("event",function(t){return"[自定义通知内容]"});var r=[x({},e),x({},n),x({},i)];s.initContacts(r),s.initMenus([{name:"messages"},{name:"contacts"},{name:"custom1",title:"自定义按钮1",unread:0,render:function(e){return t("i",{class:"lemon-icon-attah"})},renderContainer:function(){return t("div",{class:"article"},[t("ul",[t("li",{class:"article-item"},[t("h2",["人民日报谈网红带货:产品真的值得买吗?"])]),t("li",{class:"article-item"},["甘肃夏河县发生5.7级地震 暂未接到人员伤亡报告"]),t("li",{class:"article-item"},["北方多地风力仍强沙尘相伴,东北内蒙古等地迎雨雪"]),t("li",{class:"article-item"},["英货车案:越南警方采集疑死者家属DNA作比对"]),t("li",{class:"article-item"},["知名连锁咖啡店的蛋糕吃出活虫 曝光内幕太震惊"])]),t("lemon-contact",o()([{},{props:{contact:e}},{style:"margin:20px"}])),t("lemon-contact",o()([{},{props:{contact:i}},{style:"margin:20px"}]))])},isBottom:!0},{name:"custom2",title:"自定义按钮2",unread:0,click:function(){alert("拦截导航点击事件")},render:function(e){return t("i",{class:"lemon-icon-group"})},isBottom:!0}]),s.initEditorTools([{name:"emoji"},{name:"uploadFile"},{name:"uploadImage"},{name:"test1",click:function(){s.$refs.editor.selectFile("application/vnd.ms-excel")},render:function(){return t("span",["Excel"])}},{name:"test1",click:function(){s.initEditorTools([{name:"uploadFile"},{name:"emoji"}])},render:function(){return t("span",["重制工具栏"])}},{name:"test2",isRight:!0,title:"上传 Excel",click:function(){alert("点击了 ··· ")},render:function(){return t("b",["···"])}}]);var c=[{label:"表情",children:[{name:"1f600",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f600.png"},{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f601",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f601.png"},{name:"1f602",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f602.png"},{name:"1f923",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f923.png"},{name:"1f973",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f973.png"},{name:"1f603",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f603.png"},{name:"1f604",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f604.png"},{name:"1f605",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f605.png"},{name:"1f606",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f606.png"},{name:"1f607",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f607.png"},{name:"1f609",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f609.png"},{name:"1f60a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60a.png"},{name:"1f642",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f642.png"},{name:"1f643",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f643.png"},{name:"1263a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/263a.png"},{name:"1f60b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60b.png"},{name:"1f60c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60c.png"},{name:"1f60d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60d.png"},{name:"1f970",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f970.png"},{name:"1f618",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f618.png"},{name:"1f617",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f617.png"},{name:"1f619",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f619.png"},{name:"1f61a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61a.png"},{name:"1f61c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61c.png"},{name:"1f92a",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92a.png"},{name:"1f928",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f928.png"},{name:"1f9d0",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f9d0.png"},{name:"1f61d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61d.png"},{name:"1f61b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61b.png"},{name:"1f911",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f911.png"},{name:"1f913",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f913.png"},{name:"1f60e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60e.png"},{name:"1f929",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f929.png"},{name:"1f921",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f921.png"},{name:"1f920",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f920.png"},{name:"1f917",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f917.png"},{name:"1f60f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f60f.png"},{name:"1f636",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f636.png"},{name:"1f610",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f610.png"},{name:"1f611",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f611.png"},{name:"1f612",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f612.png"},{name:"1f644",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f644.png"},{name:"1f914",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f914.png"},{name:"1f925",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f925.png"},{name:"1f92d",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92d.png"},{name:"1f92b",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92b.png"},{name:"1f92c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92c.png"},{name:"1f92f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f92f.png"},{name:"1f633",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f633.png"},{name:"1f61e",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61e.png"},{name:"1f61f",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f61f.png"},{name:"1f620",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f620.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]},{label:"收藏",children:[{name:"1f62c",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f62c.png"},{name:"1f621",title:"微笑",src:"https://twemoji.maxcdn.com/2/72x72/1f621.png"}]}];s.initEmoji(c),s.setLastContentRender("voice",function(e){return t("span",["[语音]"])});var 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([a,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:I(),status:"succeed",type:"voice",sendTime:j(),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,S("contact-3"));e.fromUser=x({},e.fromUser,{},this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:I(),type:"event",content:t("span",["邀请你加入群聊 ",t("span",{style:"color:#333;cursor:pointer",on:{click:function(){return alert("OK")}}},["接受"])]),toContactId:"contact-3",sendTime:j()};e.appendMessage(n,!0)},updateContact:function(){this.$refs.IMUI.updateContact({id:"contact-3",unread:10,displayName:k(),lastSendTime:j(),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,a={id:t.id,displayName:t.displayName,avatar:t.avatar};setTimeout(function(){var t=[S(n.currentContactId,i.user),S(n.currentContactId,a),S(n.currentContactId,i.user),S(n.currentContactId,a),S(n.currentContactId,i.user),S(n.currentContactId,i.user),S(n.currentContactId,a),x({},S(n.currentContactId,i.user),{},{status:"failed"})],s=!1;n.getMessages(n.currentContactId).length+t.length>11&&(s=!0),e(t,s)},500)},handleChangeMenu:function(){console.log("Event:change-menu")},openCustomContainer:function(){}}},T=O,$=(n("9c9b"),Object(v["a"])(T,a,s,!1,null,null,null)),E=$.exports,U={name:"LemonTabs",props:{activeIndex:String},data:function(){return{active:this.activeIndex}},mounted:function(){this.active||(this.active=this.$slots["tab-pane"][0].data.attrs.index)},render:function(){var t=this,e=arguments[0],n=[],i=[];return this.$slots["tab-pane"].map(function(a){var s=a.data.attrs,r=s.tab,o=s.index;n.push(e("div",{class:"lemon-tabs-content__pane",directives:[{name:"show",value:t.active==o}]},[a])),i.push(e("div",{class:["lemon-tabs-nav__item",t.active==o&&"lemon-tabs-nav__item--active"],on:{click:function(){return t._handleNavClick(o)}}},[r]))}),e("div",{class:"lemon-tabs"},[e("div",{class:"lemon-tabs-content"},[n]),e("div",{class:"lemon-tabs-nav"},[i])])},methods:{_handleNavClick:function(t){this.active=t}}},D=U,P=(n("3423"),Object(v["a"])(D,w,C,!1,null,null,null)),F=P.exports,L=(n("96cf"),n("3b8d"));n("6762"),n("2fdb"),n("3b2b"),n("8615");function N(t){return"[object Object]"===Object.prototype.toString.call(t)}function R(t){return"string"==typeof t}function B(t){return(new Date).getTime()-t<864e5}function V(t){return!t||(!(!Array.isArray(t)||0!=t.length)||!(!N(t)||0!=Object.values(t).length))}function A(t){return t&&"function"===typeof t}var z=function(){y&&(y.style.display="none")},H=function(){y&&(y.style.display="block")};document.addEventListener("click",function(t){z()});var q,K,W,J,Y,Q,G,Z,X={hide:z,bind:function(t,e,n){t.addEventListener("contextmenu",function(t){if(!V(e.value)&&Array.isArray(e.value)){var a;t.preventDefault(),st.methods.closeAll();var s=[];e.modifiers.message?a=n.context:e.modifiers.contact&&(a=n.child),y||(y=document.createElement("div"),y.className="lemon-contextmenu",document.body.appendChild(y)),y.innerHTML=e.value.map(function(t){var e;if(e=A(t.visible)?t.visible(a):void 0===t.visible||t.visible,e){s.push(t);var n=t.icon?'<i class="lemon-contextmenu__icon '.concat(t.icon,'"></i>'):"";return'<div style="color:'.concat(t.color,'" title="').concat(t.text,'" class="lemon-contextmenu__item">').concat(n,"<span>").concat(t.text,"</span></div>")}return""}).join(""),y.style.top="".concat(t.pageY,"px"),y.style.left="".concat(t.pageX,"px"),y.childNodes.forEach(function(t,e){var n=s[e],r=n.click,o=n.render;if(t.addEventListener("click",function(t){t.stopPropagation(),A(r)&&r(t,a,z)}),A(o)){var c=i["a"].extend({render:function(t){return o(t,a,z)}}),d=(new c).$mount();t.querySelector("span").innerHTML=d.$el.outerHTML}}),H()}})},inserted:function(t,e,n){}},tt=[],et={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(),X.hide(),e.changeVisible()})},contextmenu:function(t){var e=this;t.addEventListener("contextmenu",function(t){t.preventDefault(),e.changeVisible()})}},nt={name:"LemonPopover",props:{trigger:{type:String,default:"click",validator:function(t){return Object.keys(et).includes(t)}}},data:function(){return{popoverStyle:{},visible:!1}},created:function(){document.addEventListener("click",this._documentClickEvent),tt.push(this.close)},mounted:function(){et[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(L["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(){tt.forEach(function(t){return t()})},close:function(){this.visible=!1}}},it=nt,at=(n("0e15"),Object(v["a"])(it,q,K,!1,null,null,null)),st=at.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,W,J,!1,null,null,null)),dt=ct.exports,lt=(n("c5f6"),{name:"LemonBadge",props:{count:[Number,Boolean],overflowCount:{type:Number,default:99}},render:function(){var t=arguments[0];return t("span",{class:"lemon-badge"},[this.$slots.default,0!==this.count&&void 0!==this.count&&t("span",{class:["lemon-badge__label",this.isDot&&"lemon-badge__label--dot"]},[this.label])])},computed:{isDot:function(){return!0===this.count},label:function(){return this.isDot?"":this.count>this.overflowCount?"".concat(this.overflowCount,"+"):this.count}},methods:{}}),ut=lt,mt=(n("dbdc"),Object(v["a"])(ut,Y,Q,!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,G,Z,!1,null,null,null)),gt=pt.exports;n("a481");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,a=function(t){return t.getFullYear()},s=function(t){return"".concat(t.getMonth()+1,"-").concat(t.getDate())},r=a(n),o=a(i);return e=r!==o?"y年m月d日 h:i":"".concat(r,"-").concat(s(n))==="".concat(o,"-").concat(s(i))?"h:i":"m月d日 h:i",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",a=0;a<n.length;a++)e=e.replace(i.charAt(a),n[a]);return e}function Ct(t,e){A(t)?t(function(){e()}):e()}function yt(t){return t.replace(/<.*?>/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 a=i/Math.pow(1024,n);return a=parseFloat(a.toFixed(2)),a+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,St,Ot={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,B(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"},[R(e.lastContent)?t("span",o()([{},{domProps:{innerHTML:e.lastContent}}])):e.lastContent])])]},_handleClick:function(t,e){this.$emit("click",e)}}},Tt=Ot,$t=(n("909e"),Object(v["a"])(Tt,kt,St,!1,null,null,null)),Et=$t.exports;n("5df3"),n("1c4c");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;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Ut(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ut(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Pt,Ft,Lt,Nt,Rt,Bt,Vt,At=function(t){var e=arguments.length>1&&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(a){var s=a.name,r=a.title,o=a.render,c=a.click,d=a.isRight;c=c||new Function;var l,u=["lemon-editor__tool-item",{"lemon-editor__tool-item--right":d}];l="emoji"==s?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"})}}],a=[];if(Array.isArray(t)){var s={emoji:0,uploadFile:1,uploadImage:2},r=Object.keys(s);a=t.map(function(t){return r.includes(t.name)?Dt({},i[s[t.name]],{},t):t})}else a=i;this.proxyTools=a}},_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('<img emoji-name="'.concat(t.name,'" src="').concat(t.src,'"></img>')),this._checkSubmitDisabled(),this._saveLastRange()},selectFile:function(){var t=Object(L["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),a=i.blob,s=i.blobUrl;this.clipboardBlob=a,this.clipboardUrl=s}},_getClipboardBlob:function(t){for(var e,n,i=0;i<t.items.length;++i)"file"==t.items[i].kind&&-1!==t.items[i].type.indexOf("image/")&&(e=t.items[i].getAsFile(),n=(window.URL||window.webkitURL).createObjectURL(e));return{blob:e,blobUrl:n}},_handleKeyup:function(t){this._saveLastRange(),this._checkSubmitDisabled()},_handleKeydown:function(t){0==this.submitDisabled&&this.sendKey(t)&&this._handleSend()},getFormatValue:function(){return this.IMUI.emojiImageToName(this.$refs.textarea.innerHTML)},_checkSubmitDisabled:function(){this.submitDisabled=!Mt(this.$refs.textarea.innerHTML.trim())},_handleSend:function(t){var e=this.getFormatValue();this.$emit("send",e),this.clear(),this._checkSubmitDisabled()},_handleChangeFile:function(t){var e=this,n=this.$refs.fileInput;Array.from(n.files).forEach(function(t){e.$emit("upload",t)}),n.value=""},clear:function(){this.$refs.textarea.innerHTML=""},initEmoji:function(t){Ht=t,this.$forceUpdate()},setValue:function(t){this.$refs.textarea.innerHTML=this.IMUI.emojiNameToImage(t),this._checkSubmitDisabled()}}},Kt=qt,Wt=(n("49c2"),Object(v["a"])(Kt,Ft,Lt,!1,null,null,null)),Jt=Wt.exports,Yt={name:"LemonMessages",components:{},props:{hideName:Boolean,hideTime:Boolean,reverseUserId:String,timeRange:{type:Number,default:1},timeFormat:{type:Function,default:function(t){return xt(t)}},messages:{type:Array,default:function(){return[]}}},data:function(){return{_loading:!1,_loadend:!1}},render:function(){var t=this,e=arguments[0];return e("div",{class:"lemon-messages",ref:"wrap",on:{scroll:this._handleScroll}},[e("div",{class:["lemon-messages__load","lemon-messages__load--".concat(this._loadend?"end":"ing")]},[this._loadend?this._renderLoadEnd():this._renderLoading()]),this.messages.map(function(n,i){var a,s=[],r="lemon-message-".concat(n.type),c=t.messages[i-1];return c&&t.msecRange&&n.sendTime-c.sendTime>t.msecRange&&s.push(e("lemon-message-event",o()([{},{attrs:{message:{id:"__time__",type:"event",content:xt(n.sendTime)}}}]))),a="event"==n.type?{message:n}:{timeFormat:t.timeFormat,message:n,reverse:t.reverseUserId==n.fromUser.id,hideTime:t.hideTime,hideName:t.hideName},s.push(e(r,o()([{ref:"message",refInFor:!0},{attrs:a}]))),s})])},computed:{msecRange:function(){return 1e3*this.timeRange*60}},watch:{},methods:{_renderLoading:function(){var t=this.$createElement;return t("i",{class:"lemon-icon-loading lemonani-spin"})},_renderLoadEnd:function(){var t=this.$createElement;return t("span",["暂无更多消息"])},loaded:function(){this._loadend=!0,this.$forceUpdate()},resetLoadState:function(){this._loading=!1,this._loadend=!1},_handleScroll:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(e){var n,i,a=this;return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:if(n=e.target,X.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(L["a"])(regeneratorRuntime.mark(function t(e){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,a.$nextTick();case 2:n.scrollTop=n.scrollHeight-i,a._loading=!1,a._loadend=!!e;case 5:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 8:case"end":return t.stop()}},t,this)}));function e(e){return t.apply(this,arguments)}return e}(),scrollToBottom:function(){var t=Object(L["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,a=n.status,s=n.sendTime;return e("div",{class:["lemon-message","lemon-message--status-".concat(a),{"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(s)])]),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 ae(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ie(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ie(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var se,re,oe={name:"lemonMessageText",inheritAttrs:!1,inject:["IMUI"],render:function(){var t=this,e=arguments[0];return e("lemon-message-basic",o()([{class:"lemon-message-text"},{props:ae({},this.$attrs)},{scopedSlots:{content:function(n){var i=t.IMUI.emojiNameToImage(n.content);return e("span",o()([{},{domProps:{innerHTML:i}}]))}}}]))}},ce=oe,de=(n("1663"),Object(v["a"])(ce,se,re,!1,null,null,null)),le=de.exports;function ue(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 me(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ue(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ue(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var he,fe,ve={name:"lemonMessageImage",inheritAttrs:!1,render:function(){var t=arguments[0];return t("lemon-message-basic",o()([{class:"lemon-message-image"},{props:me({},this.$attrs)},{scopedSlots:{content:function(e){return t("img",{attrs:{src:e.content}})}}}]))}},pe=ve,ge=(n("4d21"),Object(v["a"])(pe,he,fe,!1,null,null,null)),_e=ge.exports;function be(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 xe(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?be(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):be(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var we,Ce,ye,Me,je={name:"lemonMessageFile",inheritAttrs:!1,render:function(){var t=arguments[0];return t("lemon-message-basic",o()([{class:"lemon-message-file"},{props:xe({},this.$attrs)},{scopedSlots:{content:function(e){return[t("div",{class:"lemon-message-file__inner"},[t("p",{class:"lemon-message-file__name"},[e.fileName]),t("p",{class:"lemon-message-file__byte"},[jt(e.fileSize)])]),t("div",{class:"lemon-message-file__sfx"},[t("i",{class:"lemon-icon-attah"})])]}}}]))}},Ie=je,ke=(n("cfab"),Object(v["a"])(Ie,we,Ce,!1,null,null,null)),Se=ke.exports,Oe={name:"lemonMessageEvent",inheritAttrs:!1,inject:["IMUI"],render:function(){var t=this,e=arguments[0],n=this.$attrs.message.content;return e("div",{class:"lemon-message lemon-message-event"},[e("span",{class:"lemon-message-event__content",on:{click:function(e){return t._emitClick(e,"content")}}},[n])])},methods:{_emitClick:function(t,e){this.IMUI.$emit("message-click",t,e,this.$attrs.message,this.IMUI)}}},Te=Oe,$e=(n("ed4b"),Object(v["a"])(Te,ye,Me,!1,null,null,null)),Ee=$e.exports,Ue=(n("20d6"),n("75fc")),De=(n("f559"),n("55dd"),n("7514"),"messages"),Pe="contacts",Fe=[De,Pe],Le={file:function(t){return"[文件]"},image:function(t){return"[图片]"},text:function(t){return this.emojiNameToImage(yt(t.content))},event:function(t){return"[通知]"}},Ne=n("d225"),Re=n("b0b4"),Be=function(){function t(){Object(Ne["a"])(this,t),this.table={}}return Object(Re["a"])(t,[{key:"get",value:function(t){return t?this.table[t]:this.table}},{key:"set",value:function(t,e){this.table[t]=e}},{key:"remove",value:function(t){t?delete this.table[t]:this.table={}}},{key:"has",value:function(t){return!!this.table[t]}}]),t}();function Ve(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 Ae(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Ve(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ve(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var ze,He,qe={},Ke={},We=function(){},Je={name:"LemonImui",provide:function(){return{IMUI:this}},props:{width:{type:String,default:"850px"},height:{type:String,default:"580px"},theme:{type:String,default:"default"},simple:{type:Boolean,default:!1},messageTimeFormat:Function,contactTimeFormat:Function,hideDrawer:{type:Boolean,default:!0},hideMenuAvatar:Boolean,hideMenu:Boolean,hideMessageName:Boolean,hideMessageTime:Boolean,sendKey:Function,sendText:String,contextmenu:Array,contactContextmenu:Array,avatarCricle:Boolean,user:{type:Object,default:function(){return{}}}},data:function(){return this.CacheContactContainer=new Be,this.CacheMenuContainer=new Be,this.CacheMessageLoaded=new Be,this.CacheDraft=new Be,{drawerVisible:!this.hideDrawer,currentContactId:null,currentMessages:[],activeSidebar:De,contacts:[],menus:[],editorTools:[]}},render:function(){return this._renderWrapper([this._renderMenu(),this._renderSidebarMessage(),this._renderSidebarContact(),this._renderContainer(),this._renderDrawer()])},created:function(){this.initMenus()},mounted:function(){var t=Object(L["a"])(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.$nextTick();case 2:case"end":return t.stop()}},t,this)}));function e(){return t.apply(this,arguments)}return e}(),computed:{currentContact:function(){var t=this;return this.contacts.find(function(e){return e.id==t.currentContactId})||{}},currentMenu:function(){var t=this;return this.menus.find(function(e){return e.name==t.activeSidebar})||{}},currentIsDefSidebar:function(){return Fe.includes(this.activeSidebar)},lastMessages:function(){var t=this.contacts.filter(function(t){return!V(t.lastContent)});return t.sort(function(t,e){return e.lastSendTime-t.lastSendTime}),t}},watch:{activeSidebar:function(){}},methods:{_menuIsContacts:function(){return this.activeSidebar==Pe},_menuIsMessages:function(){return this.activeSidebar==De},_createMessage:function(t){return Ae({},{id:It(),type:"text",status:"going",sendTime:(new Date).getTime(),toContactId:this.currentContactId,fromUser:Ae({},this.user)},{},t)},appendMessage:function(t){var e=arguments.length>1&&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 a=this._createMessage(e);this.appendMessage(a,!0),this._emitSend(a,function(){n.updateContact({id:a.toContactId,lastContent:n.lastContentRender(a),lastSendTime:a.sendTime})},t)},_emitPullMessages:function(t){var e=this;this._changeContactLock=!0,this.$emit("pull-messages",this.currentContact,function(n){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e._addMessage(n,e.currentContactId,0),e.CacheMessageLoaded.set(e.currentContactId,i),1==i&&e.$refs.messages.loaded(),e.updateCurrentMessages(),e._changeContactLock=!1,t(i)},this)},clearCacheContainer:function(t){this.CacheContactContainer.remove(t),this.CacheMenuContainer.remove(t)},_renderWrapper:function(t){var e=this.$createElement;return e("div",{style:{width:this.width,height:this.height},class:["lemon-wrapper","lemon-wrapper--theme-".concat(this.theme),{"lemon-wrapper--simple":this.simple},this.drawerVisible&&"lemon-wrapper--drawer-show"]},[t])},_renderMenu:function(){var t=this,e=this.$createElement,n=this._renderMenuItem();return e("div",{class:"lemon-menu",directives:[{name:"show",value:!this.hideMenu}]},[e("lemon-avatar",{directives:[{name:"show",value:!this.hideMenuAvatar}],on:{click:function(e){t.$emit("menu-avatar-click",e)}},class:"lemon-menu__avatar",attrs:{src:this.user.avatar}}),n.top,this.$slots.menu,e("div",{class:"lemon-menu__bottom"},[this.$slots["menu-bottom"],n.bottom])])},_renderMenuAvatar:function(){},_renderMenuItem:function(){var t=this,e=this.$createElement,n=[],i=[];return this.menus.forEach(function(a){var s=a.name,r=a.title,o=a.unread,c=a.render,d=a.click,l=e("div",{class:["lemon-menu__item",{"lemon-menu__item--active":t.activeSidebar==s}],on:{click:function(){Ct(d,function(){s&&t.changeMenu(s)})}},attrs:{title:r}},[e("lemon-badge",{attrs:{count:o}},[c(a)])]);!0===a.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,a=this.$createElement,s=t.contact,r=s.click,c=s.renderContainer,d=s.id,l=function(){Ct(r,function(){e(),i._customContainerReady(c,i.CacheContactContainer,d)})};return a("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 a=[i.index!==t&&n("p",{class:"lemon-sidebar__label"},[i.index]),e._renderContact({contact:i,simple:!0},function(){e.changeContact(i.id)},e.$scopedSlots["sidebar-contact"])];return t=i.index,a}})],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"},[We(),_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",a=this.currentContact,s=!0;for(var r in this.CacheContactContainer.get()){var o=a.id==r&&this.currentIsDefSidebar;s=!o,n.push(e("div",{class:i,directives:[{name:"show",value:o}]},[this.CacheContactContainer.get(r)]))}for(var c in this.CacheMenuContainer.get())n.push(e("div",{class:i,directives:[{name:"show",value:this.activeSidebar==c&&!this.currentIsDefSidebar}]},[this.CacheMenuContainer.get(c)]));return n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsMessages()&&s&&a.id}]},[e("div",{class:"lemon-container__title"},[e("div",{class:"lemon-container__displayname"},[_t(this.$scopedSlots["message-title"],a.displayName,a)])]),e("lemon-messages",{ref:"messages",attrs:{"hide-time":this.hideMessageTime,"hide-name":this.hideMessageName,"time-format":this.messageTimeFormat,"reverse-user-id":this.user.id,messages:this.currentMessages},on:{"reach-top":this._emitPullMessages}}),e("lemon-editor",{ref:"editor",attrs:{tools:this.editorTools,sendText:this.sendText,sendKey:this.sendKey},on:{send:this._handleSend,upload:this._handleUpload}})])),n.push(e("div",{class:i,directives:[{name:"show",value:!a.id&&this.currentIsDefSidebar}]},[this.$slots.cover])),n.push(e("div",{class:i,directives:[{name:"show",value:this._menuIsContacts()&&s&&a.id}]},[_t(this.$scopedSlots["contact-info"],e("div",{class:"lemon-contact-info"},[e("lemon-avatar",{attrs:{src:a.avatar,size:90}}),e("h4",[a.displayName]),e("lemon-button",{on:{click:function(){V(a.lastContent)&&t.updateContact({id:a.id,lastContent:" "}),t.changeContact(a.id,De)}}},["发送消息"])]),a)])),n},_handleSidebarScroll:function(){X.hide()},_addContact:function(t,e){var n={0:"unshift",1:"push"}[e];this.contacts[n](t)},_addMessage:function(t,e,n){var i,a={0:"unshift",1:"push"}[n];Array.isArray(t)||(t=[t]),qe[e]=qe[e]||[],(i=qe[e])[a].apply(i,Object(Ue["a"])(t))},setLastContentRender:function(t,e){Le[t]=e},lastContentRender:function(t){return A(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]?'<img emoji-name="'.concat(e,'" src="').concat(Ke[n],'" />'):"[!".concat(e,"]")})},emojiImageToName:function(t){return t.replace(/<img emoji-name=\"([^\"]*?)\" [^>]*>/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(L["a"])(regeneratorRuntime.mark(function t(e,n){var i,a,s,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&&(a=this.getEditorValue(),a&&(this.CacheDraft.set(i,a),this.updateContact({id:i,lastContent:'<span style="color:red;">[草稿]</span><span>'.concat(this.lastContentRender({type:"text",content:a}),"</span>")}),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),!A(this.currentContact.renderContainer)){t.next=14;break}return t.abrupt("return");case 14:s=this.CacheDraft.get(e)||"",s&&this.setEditorValue(s),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){A(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}],a=[];if(Array.isArray(t)){var s={messages:0,contacts:1},r=Object.keys(s);a=t.map(function(t){return r.includes(t.name)?Ae({},i[s[t.name]],{},t,{},{renderContainer:null}):(t.renderContainer&&e._customContainerReady(t.renderContainer,e.CacheMenuContainer,t.name),t)})}else a=i;this.menus=a},initContacts:function(t){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 V(t.id)||V(t.displayName)?(console.error("id | displayName cant be empty"),!1):!!this.hasContact(t.id)||(this.contacts.push(Object.assign(Object(c["a"])({id:"",displayName:"",avatar:"",index:"",unread:0,lastSendTime:""},"lastSendTime",""),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;R(i)&&(0!==i.indexOf("+")&&0!==i.indexOf("-")||(t.unread=parseInt(i)+parseInt(this.contacts[n].unread))),this.$set(this.contacts,n,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(!R(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){We=t||new Function,this.drawerVisible=!0},closeDrawer:function(){this.drawerVisible=!1}}},Ye=Je,Qe=(n("9b01"),Object(v["a"])(Ye,ze,He,!1,null,null,null)),Ge=Qe.exports;n("6a2b");i["a"].directive("LemonContextmenu",X);var Ze="1.4.2",Xe=[Ge,Et,Zt,Jt,gt,ht,dt,st,F,ne,le,_e,Se,Ee],tn=function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];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(E)}}).$mount("#app")},cfab:function(t,e,n){"use strict";var i=n("15cf"),a=n.n(i);a.a},dbdc:function(t,e,n){"use strict";var i=n("7802"),a=n.n(i);a.a},e86c:function(t,e,n){},ed4b:function(t,e,n){"use strict";var i=n("a215"),a=n.n(i);a.a},fbd1:function(t,e,n){"use strict";var i=n("820e"),a=n.n(i);a.a}});