UNPKG

z-react-ui

Version:

z-react-ui,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。

85 lines (65 loc) 2.72 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = sendMsg; var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper")); var _convertBase64UrlToImgFile = _interopRequireDefault(require("@/_utils/convertBase64UrlToImgFile")); var _index = require("@/_config/index"); function sendMsg(target, options) { // 获取输入框的内容 var msgText = ''; // 获取输入框下的所有子元素 var allNodes = target.childNodes; var _iterator = (0, _createForOfIteratorHelper2.default)(allNodes), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var item = _step.value; // 判断当前类型,获取元素内的内容 switch (item.nodeName) { case 'IMG': // 这种是通过粘贴过来的图片,里面不包含alt属性 if (item.alt === _index.selfPasteImgAltText) { // 是图片 var base64Img = item.src; // 删除base64图片的前缀 base64Img = base64Img.replace(/^data:image\/\w+;base64,/, ''); // 随机文件名 var fileName = new Date().getTime() + 'chatImg' + '.jpeg'; // 将base64转换成file var imgFile = (0, _convertBase64UrlToImgFile.default)(base64Img, fileName, 'image/jpeg'); // const formData = new FormData(); // // 此处的file与后台取值时的属性一样,append时需要添加文件名,否则一直是blob // formData.append("file", imgFile, fileName); // // 上传图片获取图片地址 // const res: { code: number; msg: string } = await uploadImage( // formData // ); // // 将图片地址拼接至待发送消息中 // msgText += res.msg; msgText += '复制的图片'; } else { // 是表情,向msgText追加内容 msgText += "[".concat(item.alt, "]"); } break; case 'DIV': // 获取div元素节点的值 msgText += item === null || item === void 0 ? void 0 : item.innerText; break; case '#text': // 获取文本消息并拼接 msgText += item.nodeValue; break; case 'BR': // 获取文本消息并拼接 msgText += '\n'; break; default: msgText = "[\u4E0D\u652F\u6301\u7684\u5143\u7D20\u7C7B\u578B ".concat(item.nodeName, "]"); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } return msgText; }