fan 4 years ago
parent
commit
d3e296a4ec

+ 13 - 25
dist/index.common.js

@@ -3187,13 +3187,6 @@ module.exports = {
 };
 
 
-/***/ }),
-
-/***/ "8bbf":
-/***/ (function(module, exports) {
-
-module.exports = require("vue");
-
 /***/ }),
 
 /***/ "8e60":
@@ -5408,10 +5401,6 @@ var es6_function_name = __webpack_require__("7f7f");
 // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js
 var web_dom_iterable = __webpack_require__("ac6a");
 
-// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
-var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
-var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
-
 // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.constructor.js
 var es6_regexp_constructor = __webpack_require__("3b2b");
 
@@ -5796,7 +5785,7 @@ var popover_component = normalizeComponent(
 /* harmony default export */ var popover = (popover_component.exports);
 // CONCATENATED MODULE: ./packages/directives/contextmenu.js
 
-
+// import Vue from "vue";
 
 
 var contextmenu_popover;
@@ -5852,21 +5841,20 @@ document.addEventListener("click", function (e) {
       contextmenu_popover.childNodes.forEach(function (node, index) {
         var _visibleItems$index = visibleItems[index],
             click = _visibleItems$index.click,
-            _render = _visibleItems$index.render;
+            render = _visibleItems$index.render;
         node.addEventListener("click", function (e) {
           e.stopPropagation();
           if (isFunction(click)) click(e, component, hidePopover);
-        });
-
-        if (isFunction(_render)) {
-          var ins = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({
-            render: function render(h) {
-              return _render(h, component, hidePopover);
-            }
-          });
-          var renderComponent = new ins().$mount();
-          node.querySelector("span").innerHTML = renderComponent.$el.outerHTML;
-        }
+        }); // if (isFunction(render)) {
+        //   const ins = Vue.extend({
+        //     render: h => {
+        //       return render(h, component, hidePopover);
+        //     },
+        //   });
+        //   const renderComponent = new ins().$mount();
+        //   node.querySelector("span").innerHTML =
+        //     renderComponent.$el.outerHTML;
+        // }
       });
       showPopover();
     });
@@ -6109,7 +6097,7 @@ var badge_component = normalizeComponent(
           return _this.$emit("click", e);
         }
       }
-    }, [this.imageFinishLoad && h("i", {
+    }, [(this.imageFinishLoad || !this.src) && h("i", {
       "class": this.icon
     }), h("img", {
       "attrs": {

+ 17 - 29
dist/index.umd.js

@@ -1,13 +1,13 @@
 (function webpackUniversalModuleDefinition(root, factory) {
 	if(typeof exports === 'object' && typeof module === 'object')
-		module.exports = factory(require("vue"));
+		module.exports = factory();
 	else if(typeof define === 'function' && define.amd)
 		define([], factory);
 	else if(typeof exports === 'object')
-		exports["index"] = factory(require("vue"));
+		exports["index"] = factory();
 	else
-		root["index"] = factory(root["Vue"]);
-})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {
+		root["index"] = factory();
+})((typeof self !== 'undefined' ? self : this), function() {
 return /******/ (function(modules) { // webpackBootstrap
 /******/ 	// The module cache
 /******/ 	var installedModules = {};
@@ -3196,13 +3196,6 @@ module.exports = {
 };
 
 
-/***/ }),
-
-/***/ "8bbf":
-/***/ (function(module, exports) {
-
-module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;
-
 /***/ }),
 
 /***/ "8e60":
@@ -5417,10 +5410,6 @@ var es6_function_name = __webpack_require__("7f7f");
 // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js
 var web_dom_iterable = __webpack_require__("ac6a");
 
-// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
-var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
-var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_);
-
 // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.constructor.js
 var es6_regexp_constructor = __webpack_require__("3b2b");
 
@@ -5805,7 +5794,7 @@ var popover_component = normalizeComponent(
 /* harmony default export */ var popover = (popover_component.exports);
 // CONCATENATED MODULE: ./packages/directives/contextmenu.js
 
-
+// import Vue from "vue";
 
 
 var contextmenu_popover;
@@ -5861,21 +5850,20 @@ document.addEventListener("click", function (e) {
       contextmenu_popover.childNodes.forEach(function (node, index) {
         var _visibleItems$index = visibleItems[index],
             click = _visibleItems$index.click,
-            _render = _visibleItems$index.render;
+            render = _visibleItems$index.render;
         node.addEventListener("click", function (e) {
           e.stopPropagation();
           if (isFunction(click)) click(e, component, hidePopover);
-        });
-
-        if (isFunction(_render)) {
-          var ins = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({
-            render: function render(h) {
-              return _render(h, component, hidePopover);
-            }
-          });
-          var renderComponent = new ins().$mount();
-          node.querySelector("span").innerHTML = renderComponent.$el.outerHTML;
-        }
+        }); // if (isFunction(render)) {
+        //   const ins = Vue.extend({
+        //     render: h => {
+        //       return render(h, component, hidePopover);
+        //     },
+        //   });
+        //   const renderComponent = new ins().$mount();
+        //   node.querySelector("span").innerHTML =
+        //     renderComponent.$el.outerHTML;
+        // }
       });
       showPopover();
     });
@@ -6118,7 +6106,7 @@ var badge_component = normalizeComponent(
           return _this.$emit("click", e);
         }
       }
-    }, [this.imageFinishLoad && h("i", {
+    }, [(this.imageFinishLoad || !this.src) && h("i", {
       "class": this.icon
     }), h("img", {
       "attrs": {

File diff suppressed because it is too large
+ 0 - 0
dist/index.umd.min.js


+ 19 - 4
examples/App.vue

@@ -39,7 +39,6 @@
         :hide-menu-avatar="hideMenuAvatar"
         :hide-message-name="hideMessageName"
         :hide-message-time="hideMessageTime"
-        :message-time-format="messageTimeFormat"
         @change-menu="handleChangeMenu"
         @change-contact="handleChangeContact"
         @pull-messages="handlePullMessages"
@@ -1269,6 +1268,22 @@ export default {
       IMUI.changeContact("contact-1");
     }, 500);
 
+    // setTimeout(() => {
+    //   var info = JSON.parse(
+    //     '{"type":0,"fromId":"666666666","toId":"8888888","fromName":"AAAA","toName":"BBBB","message":"您与客户[AAAA]建立连接","isError":false,"time":"2021-05-13T16:04:18.7158482+08:00","id":"666666666","avatar":"","displayName":"AAAA","unread":1,"lastSendTime":1620893058612,"lastContent":"您与客户[AAAA]建立连接"}',
+    //   );
+    //   console.log(info);
+    //   IMUI.appendContact(info);
+
+    //   setTimeout(() => {
+    //     var message = JSON.parse(
+    //       '{"type":"text","fromId":"666666666","toId":"8888888","fromName":"AAAA","toName":"BBBB","message":"我是消息123","isError":false,"time":"2021-05-13T16:04:19.0679223+08:00","id":"1426f5d4-0616-4d4b-93ac-499873f1b7ff","status":"succeed","sendTime":1620893057833,"content":"111","toContactId":"666666666","fromUser":{"type":0,"fromId":"666666666","toId":"8888888","fromName":"AAAA","toName":"BBBB","message":"您与客户[AAAA]建立连接","isError":false,"time":"2021-05-13T16:04:18.7158482+08:00","id":"666666666","avatar":"","displayName":"AAAA","unread":0,"lastSendTime":1620893058614,"lastContent":"[通知]","pageNum":0}}',
+    //     );
+    //     console.log("message", message);
+    //     IMUI.appendMessage(message);
+    //   }, 2000);
+    // }, 1000);
+
     IMUI.setLastContentRender("event", message => {
       return `[自定义通知内容]`;
     });
@@ -1395,9 +1410,9 @@ export default {
     SimpleIMUI.changeContact(contactData1.id);
   },
   methods: {
-    messageTimeFormat(a) {
-      console.log(a);
-    },
+    // messageTimeFormat(a) {
+    //   console.log(a);
+    // },
     changeTheme() {
       this.theme = this.theme == "default" ? "blue" : "default";
     },

+ 0 - 0
examples/dist/css/index.5b3d3f23.css → examples/dist/css/index.296428a2.css


+ 1 - 1
examples/dist/index.html

@@ -1 +1 @@
-<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=favicon.ico><title>Lemon IMUI</title><link href=css/index.5b3d3f23.css rel=preload as=style><link href=js/chunk-vendors.e4810482.js rel=preload as=script><link href=js/index.dbf77a5a.js rel=preload as=script><link href=css/index.5b3d3f23.css rel=stylesheet></head><body><noscript><strong>We're sorry but flat-im doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.e4810482.js></script><script src=js/index.dbf77a5a.js></script></body></html>
+<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><link rel=icon href=favicon.ico><title>Lemon IMUI</title><link href=css/index.296428a2.css rel=preload as=style><link href=js/chunk-vendors.e4810482.js rel=preload as=script><link href=js/index.d7452282.js rel=preload as=script><link href=css/index.296428a2.css rel=stylesheet></head><body><noscript><strong>We're sorry but flat-im doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.e4810482.js></script><script src=js/index.d7452282.js></script></body></html>

File diff suppressed because it is too large
+ 0 - 0
examples/dist/js/index.d7452282.js


File diff suppressed because it is too large
+ 0 - 0
examples/dist/js/index.dbf77a5a.js


+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "lemon-imui",
-  "version": "1.7.2",
+  "version": "1.7.3",
   "main": "dist/index.umd.min.js",
   "description": "基于 VUE2.0 的 IM 聊天组件",
   "homepage": "http://june000.gitee.io/lemon-im/",
@@ -23,7 +23,7 @@
     "build-examples": "vue-cli-service build --dest examples/dist examples/main.js",
     "lint": "vue-cli-service lint"
   },
-  "dependencies": {
+  "peerDependencies": {
     "vue": "^2.6.10"
   },
   "devDependencies": {

+ 10 - 10
packages/components/avatar.vue

@@ -6,22 +6,22 @@ export default {
     src: String,
     icon: {
       type: String,
-      default: "lemon-icon-people"
+      default: "lemon-icon-people",
     },
     circle: {
       type: Boolean,
       default() {
         return this.IMUI ? this.IMUI.avatarCricle : false;
-      }
+      },
     },
     size: {
       type: Number,
-      default: 32
-    }
+      default: 32,
+    },
   },
   data() {
     return {
-      imageFinishLoad: true
+      imageFinishLoad: true,
     };
   },
   render() {
@@ -31,7 +31,7 @@ export default {
         class={["lemon-avatar", { "lemon-avatar--circle": this.circle }]}
         on-click={e => this.$emit("click", e)}
       >
-        {this.imageFinishLoad && <i class={this.icon} />}
+        {(this.imageFinishLoad || !this.src) && <i class={this.icon} />}
         <img src={this.src} onLoad={this._handleLoad} />
       </span>
     );
@@ -43,15 +43,15 @@ export default {
         width: size,
         height: size,
         lineHeight: size,
-        fontSize: `${this.size / 2}px`
+        fontSize: `${this.size / 2}px`,
       };
-    }
+    },
   },
   methods: {
     _handleLoad() {
       this.imageFinishLoad = false;
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="stylus">

+ 11 - 11
packages/directives/contextmenu.js

@@ -1,4 +1,4 @@
-import Vue from "vue";
+// import Vue from "vue";
 import { isFunction, isEmpty } from "utils/validate";
 import LemonPopover from "../components/popover.vue";
 let popover;
@@ -64,16 +64,16 @@ export default {
             if (isFunction(click)) click(e, component, hidePopover);
           });
 
-          if (isFunction(render)) {
-            const ins = Vue.extend({
-              render: h => {
-                return render(h, component, hidePopover);
-              },
-            });
-            const renderComponent = new ins().$mount();
-            node.querySelector("span").innerHTML =
-              renderComponent.$el.outerHTML;
-          }
+          // if (isFunction(render)) {
+          //   const ins = Vue.extend({
+          //     render: h => {
+          //       return render(h, component, hidePopover);
+          //     },
+          //   });
+          //   const renderComponent = new ins().$mount();
+          //   node.querySelector("span").innerHTML =
+          //     renderComponent.$el.outerHTML;
+          // }
         });
 
         showPopover();

Some files were not shown because too many files changed in this diff