UNPKG

blj-lemon-imui

Version:

基于 VUE2.0 的 IM 聊天组件

1 lines 99.9 kB
(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},"08dd":function(t,e,n){},"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.7.4",main:"dist/index.umd.min.js",description:"基于 VUE2.0 的 IM 聊天组件",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"},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"},peerDependencies:{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("br")]}}])}),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("qq-imui",[t._v("12312312")])],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("抽屉配置 DrawerOption")]),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"},[t._v("组件事件")]),t._m(10),n("div",{staticClass:"title",attrs:{id:"help1"}},[t._v("如何创建自定义消息?")]),n("div",[t._m(11),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("\n 现在刷新页面应该能够看到联系人了,但是点击联系人的话右边会一直处于加载中,这时需要监听\n pull-messages 事件。\n ")]),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("\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("tr",[n("td",{attrs:{width:"150"}},[t._v("width")]),n("td",{attrs:{width:"350"}},[t._v("宽度,可以设置百分比")]),n("td",{attrs:{width:"150"}},[t._v("String | Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),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 | Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("offsetX")]),n("td",{attrs:{width:"350"}},[t._v("X偏移值,可以设置百分比")]),n("td",{attrs:{width:"150"}},[t._v("String | Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("offsetY")]),n("td",{attrs:{width:"350"}},[t._v("Y偏移值,可以设置百分比")]),n("td",{attrs:{width:"150"}},[t._v("String | Number")]),n("td",{attrs:{width:"100"}},[t._v("-")]),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("position")]),n("td",{attrs:{width:"350"}},[t._v("位置")]),n("td",{attrs:{width:"150"}},[t._v("right | rightInside | center")]),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("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("loadingText")]),n("td",{attrs:{width:"350"}},[t._v("消息加载文字")]),n("td",{attrs:{width:"150"}},[t._v("String | Function")]),n("td",{attrs:{width:"100"}}),n("td")]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("loadendText")]),n("td",{attrs:{width:"350"}},[t._v("消息加载结束文字")]),n("td",{attrs:{width:"150"}},[t._v("String | Function")]),n("td",{attrs:{width:"100"}},[t._v("暂无更多消息")]),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("clearMessages")]),n("td",[t._v("\n 清空某个联系人的本地消息记录,重新切换到该联系人时会再次触发pull-messages事件,Contact.id为空则清空所有\n ")]),n("td",[t._v("Function(Contact.id)=>Boolean")]),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(DrawerOption)")]),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")])]),n("tr",[n("td",{attrs:{width:"150"}},[t._v("message-side")]),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("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,p,v={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=v,g=(n("476d"),n("2877")),_=Object(g["a"])(f,u,m,!1,null,null,null),b=_.exports,x={id:1e3,avatar:"https://p.qqan.com/up/2018-4/15244505348390471.jpg",displayName:"野火。"},w=[{id:1,displayName:"像梦一样自由",avatar:"https://p.qqan.com/up/2020-2/2020022821001845128.jpg",index:"X",unread:0,lastSendTime:1566047865417,lastContent:"你开心吗"},{id:2,displayName:"梦醒时分、",avatar:"https://p.qqan.com/up/2021-1/20211301122243621.jpg",index:"M",unread:0,lastSendTime:1566047865417,lastContent:""},{id:3,displayName:"凌云",avatar:"https://p.qqan.com/up/2021-1/2021129102387841.jpg",index:"L",unread:0,lastSendTime:1566047865417,lastContent:""},{id:4,displayName:"小郭",avatar:"https://p.qqan.com/up/2021-1/2021122135507881.jpg",index:"X",unread:0,lastSendTime:1566047865417,lastContent:""},{id:5,displayName:"杨玉泉",avatar:"https://p.qqan.com/up/2021-1/20211211131598147.jpg",index:"Y",unread:0,lastSendTime:1566047865417,lastContent:""},{id:6,displayName:"森系Style",avatar:"https://p.qqan.com/up/2021-1/2021113104111220.jpg",index:"S",unread:0,lastSendTime:1566047865417,lastContent:""},{id:7,displayName:"霸王花",avatar:"https://p.qqan.com/up/2021-1/20211411391666.jpg",index:"B",unread:0,lastSendTime:1566047865417,lastContent:"你怎么还不睡呀?"},{id:8,displayName:"曾平",avatar:"https://p.qqan.com/up/2020-12/202012291044425822.jpg",index:"Z",unread:0,lastSendTime:1566047865417,lastContent:""},{id:9,displayName:"淡然",avatar:"https://p.qqan.com/up/2020-12/202012141813343503.jpg",index:"D",unread:0,lastSendTime:1566047865417,lastContent:""},{id:10,displayName:"叶子。",avatar:"https://p.qqan.com/up/2021-1/20211301122243621.jpg",index:"Y",unread:0,lastSendTime:1566047865417,lastContent:""},{id:11,displayName:"土豆",avatar:"https://p.qqan.com/up/2020-12/202012111157268739.jpg",index:"T",unread:0,lastSendTime:1566047865417,lastContent:""},{id:12,displayName:"清沫",avatar:"https://p.qqan.com/up/2020-12/202012415467996.jpg",index:"Q",unread:0,lastSendTime:1566047865417,lastContent:""},{id:13,displayName:"Lemon-imui交流群",avatar:"https://p.qqan.com/up/2020-11/20201127157109035.jpg",index:"L",isGroup:!0,unread:0,lastSendTime:1566047865417,lastContent:"这个咋处理啊?"},{id:14,displayName:"系统通知",avatar:"https://p.qqan.com/up/2020-6/2020061117234279854.jpg",index:"[1]系統通知",unread:0,lastSendTime:1566047865417,lastContent:"宁静致远通过了你的好友请求",renderContainer:function(){var t=this.$createElement;return t("div",{style:"padding:15px;"},[t("div",["宁静致远通过了你的好友请求"]),t("div",["宁静致远通过了你的好友请求"]),t("div",["宁静致远通过了你的好友请求"])])}},{id:15,displayName:"宁静致远。",avatar:"https://p.qqan.com/up/2020-6/2020060308522797777.jpg",index:"N",unread:0,lastSendTime:1566047865417,lastContent:""}],C=(n("7514"),function(){return Math.random().toString(36).substr(-8)}),y=function(t){var e=w.find(function(e){return e.id==t});return{id:e.id,avatar:e.avatar,displayName:e.displayName}},M={1:[{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"问你件事",toContactId:1,fromUser:x},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"啥子。",toContactId:1,fromUser:y(1)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"为什么",toContactId:1,fromUser:x},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"你穿了高跟鞋还这么矮",toContactId:1,fromUser:x},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"因为我矮啊。[!1f600][!1f600][!1f600]",toContactId:1,fromUser:y(1)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"你开心吗",toContactId:1,fromUser:y(1)}],2:[],3:[],4:[],5:[],6:[],7:[],8:[],9:[],10:[],11:[],12:[],13:[{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"我是测试时候看到的",toContactId:1,fromUser:y(4)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"上新版本了,玩玩",toContactId:1,fromUser:y(4)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"项目内没有搞这个",toContactId:1,fromUser:y(4)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"@awesome 最新的,不然哪有这功能",toContactId:1,fromUser:y(5)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"其实是跟你的遮罩层有冲突",toContactId:1,fromUser:y(4)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"自己修改index哈",toContactId:1,fromUser:x},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"你们升级到最近版了吗?",toContactId:1,fromUser:y(6)},{id:C(),status:"succeed",type:"text",sendTime:1566047865417,content:"wo 现在用的142",toContactId:1,fromUser:y(7)}],14:[],15:[]},j=[{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"}]}],I={name:"QqImui",components:{},data:function(){return{}},render:function(){var t=this,e=arguments[0];return e("div",{class:"qq-lemon-imui"},[e("lemon-imui",o()([{class:"lemon-slot",attrs:{user:x,width:900,"avatar-cricle":!0,"hide-message-name":!0,"hide-message-time":!0},ref:"IMUI"},{on:{"pull-messages":this.handlePullMessages,"change-contact":this.handleChangeContact,send:this.handleSend}},{scopedSlots:{"message-title":function(n){return e("div",[e("div",{style:"display:flex;justify-content:space-between"},[e("span",[n.displayName]),e("span",{style:"font-size:12px;"},[e("span",["打开抽屉:"]),e("span",{class:"cursor:pointer;",on:{click:function(){return t.openDrawer("right")}}},["右侧 |"," "]),e("span",{class:"cursor:pointer;",on:{click:function(){return t.openDrawer("rightInside")}}},["右侧内部 |"," "]),e("span",{class:"cursor:pointer;",on:{click:function(){return t.openDrawer("center")}}},["居中"])])]),n.isGroup&&e("div",{class:"slot-group-menu"},[e("span",["聊天"]),e("span",["公告"]),e("span",["相册"]),e("span",["文件"]),e("span",["活动"]),e("span",{directives:[{name:"lemon-contextmenu",value:[{text:"操作一",click:function(t,e,n){n()}},{text:"操作二"}],modifiers:{click:!0}}]},["设置(左键弹出菜单)"])])])},"sidebar-contact-fixedtop":function(t){return e("div",{class:"slot-contact-fixedtop"},[e("input",{class:"slot-search",attrs:{placeholder:"搜索通讯录"}})])},"message-side":function(t){if(t.isGroup)return e("div",{class:"slot-group"},[e("div",{class:"slot-group-title"},["群通知"]),e("div",{class:"slot-group-notice"},["进群请改备注,格式,工作地点-姓名,请大家配合谢谢"]),e("div",{class:"slot-group-title"},["群成员"]),e("div",{class:"slot-group-panel"},[e("input",{class:"slot-search",attrs:{placeholder:"搜索群成员"}}),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"]),e("div",{class:"slot-group-member"},["河南-96-十里青山"])])])}}}]))])},computed:{},watch:{},created:function(){},mounted:function(){var t=this.$refs.IMUI;t.initContacts(w),t.initEmoji(j),t.changeContact(13)},methods:{openDrawer:function(t){var e=this.$createElement,n=this.$refs.IMUI,i={position:t,render:function(t){return e("div",{style:"padding:15px"},[e("h5",[t.displayName]),e("span",{on:{click:n.closeDrawer}},["关闭抽屉"])])}};"center"==t?(i.width="50%",i.height="50%"):"rightInside"==t&&(i.height="90%",i.offsetY="10%"),n.openDrawer(i)},handlePullMessages:function(t,e){this.$refs.IMUI;setTimeout(function(){e(M[t.id],!0)},3e3)},handleChangeContact:function(){},handleSend:function(t,e,n){console.log(t,e,n),setTimeout(function(){e()},1e3)}}},k=I,S=(n("ce40"),Object(g["a"])(k,h,p,!1,null,null,null)),T=S.exports,O=n("9224");function $(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function D(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?$(n,!0).forEach(function(e){Object(c["a"])(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}i["a"].component(b.name,b),i["a"].component(T.name,T);var U='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>',E=function(){return(new Date).getTime()},N=function(){return Math.random().toString(36).substr(-8)},P=function(){return Math.random().toString(36).substr(2)},F=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1?arguments[1]:void 0;return e||(e={id:"system",displayName:"系统测试",avatar:"http://upload.qqbodys.com/allimg/1710/1035512943-0.jpg"}),{id:N(),status:"succeed",type:"text",sendTime:E(),content:P(),toContactId:t,fromUser:e}},L={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:N(),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:E()};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:U,packageData:O,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=this.$refs.IMUI;setTimeout(function(){a.changeContact("contact-1")},500),a.setLastContentRender("event",function(t){return"[自定义通知内容]"});var s=[D({},e),D({},n),D({},i)];a.initContacts(s),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",["···"])}}]),a.initEmoji(j),a.setLastContentRender("voice",function(e){return t("span",["[语音]"])});var r=this.$refs.SimpleIMUI;e.id="11",r.initContacts([e]),r.initEmoji(j),r.changeContact(e.id)},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:N(),status:"succeed",type:"voice",sendTime:E(),content:"语音消息",params1:"1",params2:"2",toContactId:"contact-1",fromUser:this.user};t.appendMessage(e,!0)},appendMessage:function(){var t=this.$refs.IMUI,e=(t.currentContact,F("contact-3"));e.fromUser=D({},e.fromUser,{},this.user),t.appendMessage(e,!0)},appendEventMessage:function(){var t=this.$createElement,e=this.$refs.IMUI,n={id:N(),type:"even