@fle-ui/plus-im-record 0.0.7-beta.0 → 0.0.8-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/ChatMessageItem/index.d.ts +2 -4
- package/es/ChatMessageItem/index.less +1 -1
- package/es/ChatMessageList/index.d.ts +7 -5
- package/es/ChatMessageList/index.js +4 -2
- package/es/ChatMessageList/index.less +2 -1
- package/es/GoodsCard/index.d.ts +1 -0
- package/es/GoodsCard/index.js +4 -2
- package/es/GoodsCard/index.less +1 -1
- package/es/GoodsOrderCard/index.d.ts +2 -5
- package/es/GoodsOrderCard/index.js +1 -1
- package/es/GoodsOrderCard/index.less +1 -1
- package/es/ParseSession/AudioPlayer.d.ts +14 -0
- package/es/ParseSession/AudioPlayer.js +89 -0
- package/es/ParseSession/audioAndVideoTool.d.ts +3 -0
- package/es/ParseSession/audioAndVideoTool.js +21 -0
- package/es/ParseSession/index.d.ts +2 -8
- package/es/ParseSession/index.js +109 -71
- package/es/ParseSession/index.less +46 -1
- package/es/api/index.d.ts +2 -1
- package/es/audioAndVideoTool.d.ts +3 -0
- package/es/audioAndVideoTool.js +21 -0
- package/es/index.d.ts +12 -9
- package/es/index.js +15 -14
- package/lib/ChatMessageItem/index.d.ts +2 -4
- package/lib/ChatMessageItem/index.less +1 -1
- package/lib/ChatMessageList/index.d.ts +7 -5
- package/lib/ChatMessageList/index.js +4 -2
- package/lib/ChatMessageList/index.less +2 -1
- package/lib/GoodsCard/index.d.ts +1 -0
- package/lib/GoodsCard/index.js +4 -2
- package/lib/GoodsCard/index.less +1 -1
- package/lib/GoodsOrderCard/index.d.ts +2 -5
- package/lib/GoodsOrderCard/index.js +1 -1
- package/lib/GoodsOrderCard/index.less +1 -1
- package/lib/ParseSession/AudioPlayer.d.ts +14 -0
- package/lib/ParseSession/AudioPlayer.js +98 -0
- package/lib/ParseSession/audioAndVideoTool.d.ts +3 -0
- package/lib/ParseSession/audioAndVideoTool.js +27 -0
- package/lib/ParseSession/index.d.ts +2 -8
- package/lib/ParseSession/index.js +112 -74
- package/lib/ParseSession/index.less +46 -1
- package/lib/api/index.d.ts +2 -1
- package/lib/audioAndVideoTool.d.ts +3 -0
- package/lib/audioAndVideoTool.js +27 -0
- package/lib/index.d.ts +12 -9
- package/lib/index.js +14 -13
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _antd = require("antd");
|
|
10
10
|
var _reactStringReplace = _interopRequireDefault(require("react-string-replace"));
|
|
@@ -17,6 +17,8 @@ var _Icon = _interopRequireDefault(require("../Icon"));
|
|
|
17
17
|
var _GoodsCard = _interopRequireDefault(require("../GoodsCard"));
|
|
18
18
|
var _GoodsOrderCard = _interopRequireDefault(require("../GoodsOrderCard"));
|
|
19
19
|
var _2 = require("..");
|
|
20
|
+
var _audioAndVideoTool = require("../audioAndVideoTool");
|
|
21
|
+
var _AudioPlayer = _interopRequireDefault(require("./AudioPlayer"));
|
|
20
22
|
require("./index.less");
|
|
21
23
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -30,27 +32,6 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
30
32
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
31
33
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
32
34
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
-
var pauseAllAudio = exports.pauseAllAudio = function pauseAllAudio() {
|
|
34
|
-
var audio = document.getElementById('fxMessageAudio');
|
|
35
|
-
audio === null || audio === void 0 ? void 0 : audio.pause();
|
|
36
|
-
return audio;
|
|
37
|
-
};
|
|
38
|
-
var pauseOtherVideo = exports.pauseOtherVideo = function pauseOtherVideo(idClient) {
|
|
39
|
-
var videoElements = document.getElementsByTagName('video');
|
|
40
|
-
for (var i = 0; i < videoElements.length; i++) {
|
|
41
|
-
if (videoElements[i].id !== "fxMessageVideo-".concat(idClient)) {
|
|
42
|
-
videoElements[i].pause();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
var pauseAllVideo = exports.pauseAllVideo = function pauseAllVideo() {
|
|
47
|
-
var videoElements = document.getElementsByTagName('video');
|
|
48
|
-
for (var i = 0; i < videoElements.length; i++) {
|
|
49
|
-
if (videoElements[i].id.startsWith('fxMessageVideo-')) {
|
|
50
|
-
videoElements[i].pause();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
35
|
//
|
|
55
36
|
var ParseSession = function ParseSession(_ref) {
|
|
56
37
|
var prefix = _ref.prefix,
|
|
@@ -63,17 +44,15 @@ var ParseSession = function ParseSession(_ref) {
|
|
|
63
44
|
var _useContext = (0, _react.useContext)(_2.ImContext),
|
|
64
45
|
api = _useContext.api;
|
|
65
46
|
var formRef = (0, _react.useRef)();
|
|
66
|
-
var
|
|
67
|
-
var _useState = (0, _react.useState)(false),
|
|
47
|
+
var _useState = (0, _react.useState)(),
|
|
68
48
|
_useState2 = _slicedToArray(_useState, 2),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
var _useState3 = (0, _react.useState)(),
|
|
72
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
73
|
-
contactInfo = _useState4[0],
|
|
74
|
-
setContactInfo = _useState4[1];
|
|
49
|
+
contactInfo = _useState2[0],
|
|
50
|
+
setContactInfo = _useState2[1];
|
|
75
51
|
var attach = msg.attach || {};
|
|
76
52
|
var renderText = function renderText(preset) {
|
|
53
|
+
if (attach.refMsg) {
|
|
54
|
+
return renderRefMsg();
|
|
55
|
+
}
|
|
77
56
|
var text = (0, _reactStringReplace.default)(attach.content, /(https?:\/\/\S+)/gi, function (match) {
|
|
78
57
|
return /*#__PURE__*/_react.default.createElement("a", {
|
|
79
58
|
key: msg.idClient,
|
|
@@ -101,6 +80,101 @@ var ParseSession = function ParseSession(_ref) {
|
|
|
101
80
|
className: "".concat(prefix, "-text")
|
|
102
81
|
}, preset || text.map(renderKeywordText));
|
|
103
82
|
};
|
|
83
|
+
var renderRefMsg = function renderRefMsg() {
|
|
84
|
+
var refContent = attach.refMsg.type !== 'text' ? JSON.parse(attach.refMsg.content) : attach.refMsg.content;
|
|
85
|
+
var nickname = attach.refMsg.nickname;
|
|
86
|
+
var content = attach.content;
|
|
87
|
+
var renderers = {
|
|
88
|
+
image: function image() {
|
|
89
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
90
|
+
className: "".concat(prefix, "-ref-img-body")
|
|
91
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
92
|
+
src: refContent.url,
|
|
93
|
+
alt: ""
|
|
94
|
+
}));
|
|
95
|
+
},
|
|
96
|
+
video: function video() {
|
|
97
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
98
|
+
className: "".concat(prefix, "-ref-video-body")
|
|
99
|
+
}, /*#__PURE__*/_react.default.createElement("video", {
|
|
100
|
+
key: msg.idServer,
|
|
101
|
+
playsInline: true,
|
|
102
|
+
preload: "auto",
|
|
103
|
+
controls: true,
|
|
104
|
+
autoPlay: false,
|
|
105
|
+
onLoadedData: function onLoadedData(event) {
|
|
106
|
+
return event.currentTarget.pause();
|
|
107
|
+
}
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement("source", {
|
|
109
|
+
src: refContent.url,
|
|
110
|
+
type: "video/mp4"
|
|
111
|
+
}), "Your browser does not support the video element."));
|
|
112
|
+
},
|
|
113
|
+
audio: function audio() {
|
|
114
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
115
|
+
className: "".concat(prefix, "-ref-audio-body")
|
|
116
|
+
}, /*#__PURE__*/_react.default.createElement(_AudioPlayer.default, {
|
|
117
|
+
style: {
|
|
118
|
+
backgroundColor: '#fff',
|
|
119
|
+
borderRadius: 4,
|
|
120
|
+
width: 80
|
|
121
|
+
},
|
|
122
|
+
prefix: prefix || '',
|
|
123
|
+
msg: msg,
|
|
124
|
+
url: refContent.url,
|
|
125
|
+
dur: refContent.dur,
|
|
126
|
+
text: refContent.text
|
|
127
|
+
}));
|
|
128
|
+
},
|
|
129
|
+
file: function file() {
|
|
130
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
+
className: "".concat(prefix, "-ref-file")
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
133
|
+
className: "".concat(prefix, "-file-icon"),
|
|
134
|
+
type: 'icon-wenjian',
|
|
135
|
+
style: {
|
|
136
|
+
fontSize: 16
|
|
137
|
+
}
|
|
138
|
+
}), /*#__PURE__*/_react.default.createElement("a", {
|
|
139
|
+
style: {
|
|
140
|
+
marginLeft: 8
|
|
141
|
+
},
|
|
142
|
+
download: refContent.fileName,
|
|
143
|
+
href: (0, _utils.addUrlSearch)(refContent.url, "download=".concat(refContent.fileName)),
|
|
144
|
+
target: "_blank",
|
|
145
|
+
rel: "noreferrer"
|
|
146
|
+
}, refContent.fileName)));
|
|
147
|
+
},
|
|
148
|
+
product: function product() {
|
|
149
|
+
return /*#__PURE__*/_react.default.createElement(_GoodsCard.default, {
|
|
150
|
+
prefix: prefix,
|
|
151
|
+
content: refContent
|
|
152
|
+
});
|
|
153
|
+
},
|
|
154
|
+
order: function order() {
|
|
155
|
+
return /*#__PURE__*/_react.default.createElement(_GoodsOrderCard.default, {
|
|
156
|
+
prefix: prefix,
|
|
157
|
+
recordSession: recordSession,
|
|
158
|
+
orderSn: refContent.orderSn,
|
|
159
|
+
orderId: refContent.orderId
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
text: function text() {
|
|
163
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
164
|
+
className: "".concat(prefix, "-ref-text-body")
|
|
165
|
+
}, refContent);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
169
|
+
className: "".concat(prefix, "-ref")
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
171
|
+
className: "".concat(prefix, "-ref-body")
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
173
|
+
className: "".concat(prefix, "-ref-nickname")
|
|
174
|
+
}, nickname, ":"), renderers[attach.refMsg.type]()), /*#__PURE__*/_react.default.createElement("div", {
|
|
175
|
+
className: "".concat(prefix, "-text")
|
|
176
|
+
}, content));
|
|
177
|
+
};
|
|
104
178
|
var renderImage = function renderImage() {
|
|
105
179
|
return /*#__PURE__*/_react.default.createElement(_antd.Image, {
|
|
106
180
|
loading: "lazy",
|
|
@@ -261,48 +335,12 @@ var ParseSession = function ParseSession(_ref) {
|
|
|
261
335
|
var renderAudio = function renderAudio() {
|
|
262
336
|
var flow = msg.flow;
|
|
263
337
|
var duration = Math.floor(attach.content.dur) || 0;
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
ref: audioRef
|
|
271
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
272
|
-
className: flow === 'in' ? "".concat(prefix, "-audio-in") : "".concat(prefix, "-audio-out"),
|
|
273
|
-
onClick: function onClick() {
|
|
274
|
-
var _audioRef$current;
|
|
275
|
-
pauseAllVideo();
|
|
276
|
-
var oldAudio = pauseAllAudio();
|
|
277
|
-
var msgId = oldAudio === null || oldAudio === void 0 ? void 0 : oldAudio.getAttribute('msgId');
|
|
278
|
-
if (msgId === msg.idClient) {
|
|
279
|
-
setAnimationFlag(false);
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
var audio = new Audio(attach.content.url);
|
|
283
|
-
audio.id = 'fxMessageAudio';
|
|
284
|
-
audio.setAttribute('msgId', msg.idClient);
|
|
285
|
-
audio.play();
|
|
286
|
-
(_audioRef$current = audioRef.current) === null || _audioRef$current === void 0 ? void 0 : _audioRef$current.appendChild(audio);
|
|
287
|
-
audio.addEventListener('ended', function () {
|
|
288
|
-
var _audio$parentNode;
|
|
289
|
-
setAnimationFlag(false);
|
|
290
|
-
(_audio$parentNode = audio.parentNode) === null || _audio$parentNode === void 0 ? void 0 : _audio$parentNode.removeChild(audio);
|
|
291
|
-
});
|
|
292
|
-
audio.addEventListener('pause', function () {
|
|
293
|
-
var _audio$parentNode2;
|
|
294
|
-
setAnimationFlag(false);
|
|
295
|
-
(_audio$parentNode2 = audio.parentNode) === null || _audio$parentNode2 === void 0 ? void 0 : _audio$parentNode2.removeChild(audio);
|
|
296
|
-
});
|
|
297
|
-
setAnimationFlag(true);
|
|
298
|
-
}
|
|
299
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, "".concat(durations.mm > 0 ? "".concat(durations.mm, "'") : '', " ").concat(durations.ss, "\"")), /*#__PURE__*/_react.default.createElement("span", {
|
|
300
|
-
className: "".concat(prefix, "-audio-icon")
|
|
301
|
-
}, animationFlag ? /*#__PURE__*/_react.default.createElement("img", {
|
|
302
|
-
src: "https://qa-oss.elebuys.com/tmpdir/202401152050070000640984.gif"
|
|
303
|
-
}) : /*#__PURE__*/_react.default.createElement(_Icon.default, {
|
|
304
|
-
type: "icon-a-yuyin2"
|
|
305
|
-
}))));
|
|
338
|
+
return /*#__PURE__*/_react.default.createElement(_AudioPlayer.default, {
|
|
339
|
+
prefix: prefix || '',
|
|
340
|
+
msg: msg,
|
|
341
|
+
url: attach.content.url,
|
|
342
|
+
dur: duration
|
|
343
|
+
});
|
|
306
344
|
};
|
|
307
345
|
var renderVideo = function renderVideo() {
|
|
308
346
|
var _attach$content4;
|
|
@@ -316,8 +354,8 @@ var ParseSession = function ParseSession(_ref) {
|
|
|
316
354
|
id: "fxMessageVideo-".concat(msg.idClient),
|
|
317
355
|
controls: true,
|
|
318
356
|
onPlay: function onPlay() {
|
|
319
|
-
pauseOtherVideo(msg.idClient);
|
|
320
|
-
pauseAllAudio();
|
|
357
|
+
(0, _audioAndVideoTool.pauseOtherVideo)(msg.idClient);
|
|
358
|
+
(0, _audioAndVideoTool.pauseAllAudio)();
|
|
321
359
|
}
|
|
322
360
|
// onCanPlay={(e: any) => {
|
|
323
361
|
// setTimeout(() => {
|
|
@@ -5,6 +5,50 @@
|
|
|
5
5
|
padding: 8px;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
+
&-ref {
|
|
9
|
+
padding: 12px;
|
|
10
|
+
padding-bottom: 16px;
|
|
11
|
+
&-body {
|
|
12
|
+
border-left: 2px solid #c2d4ff;
|
|
13
|
+
padding-left: 8px;
|
|
14
|
+
}
|
|
15
|
+
&-text-body {
|
|
16
|
+
// width: 328px;
|
|
17
|
+
max-height: 115px;
|
|
18
|
+
font-size: 12px;
|
|
19
|
+
color: #777;
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
display: -webkit-box;
|
|
22
|
+
word-break: break-all;
|
|
23
|
+
-webkit-line-clamp: 3;
|
|
24
|
+
-webkit-box-orient: vertical;
|
|
25
|
+
text-overflow: ellipsis;
|
|
26
|
+
}
|
|
27
|
+
&-img-body {
|
|
28
|
+
width: 170px;
|
|
29
|
+
height: 115px;
|
|
30
|
+
img {
|
|
31
|
+
width: 100%;
|
|
32
|
+
height: 100%;
|
|
33
|
+
object-fit: contain;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
&-video-body {
|
|
37
|
+
width: 170px;
|
|
38
|
+
height: 115px;
|
|
39
|
+
video {
|
|
40
|
+
width: 100%;
|
|
41
|
+
height: 100%;
|
|
42
|
+
object-fit: contain;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
&-nickname {
|
|
46
|
+
font-size: 12px;
|
|
47
|
+
color: #777;
|
|
48
|
+
font-weight: 600;
|
|
49
|
+
margin-bottom: 8px;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
8
52
|
&-image {
|
|
9
53
|
// padding: 4px;
|
|
10
54
|
border-radius: 6px;
|
|
@@ -26,7 +70,8 @@
|
|
|
26
70
|
|
|
27
71
|
&-in,
|
|
28
72
|
&-out {
|
|
29
|
-
width: 90px;
|
|
73
|
+
max-width: 90px;
|
|
74
|
+
min-width: 64px;
|
|
30
75
|
display: flex;
|
|
31
76
|
justify-content: space-between;
|
|
32
77
|
cursor: pointer;
|
package/lib/api/index.d.ts
CHANGED
|
@@ -13,11 +13,12 @@ interface ApiMethods {
|
|
|
13
13
|
productId: number;
|
|
14
14
|
relationId: string | number;
|
|
15
15
|
relationType: string | number;
|
|
16
|
+
orderProductId?: number;
|
|
16
17
|
}) => Promise<any>;
|
|
17
18
|
getCSOrder: (data: {
|
|
18
19
|
orderSn: number | string;
|
|
19
20
|
orderId: any;
|
|
20
|
-
accid
|
|
21
|
+
accid?: string;
|
|
21
22
|
relationId?: string | number;
|
|
22
23
|
relationType?: number;
|
|
23
24
|
}) => Promise<any>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pauseOtherVideo = exports.pauseAllVideo = exports.pauseAllAudio = void 0;
|
|
7
|
+
var pauseAllAudio = exports.pauseAllAudio = function pauseAllAudio() {
|
|
8
|
+
var audio = document.getElementById('fxMessageAudio');
|
|
9
|
+
audio === null || audio === void 0 ? void 0 : audio.pause();
|
|
10
|
+
return audio;
|
|
11
|
+
};
|
|
12
|
+
var pauseOtherVideo = exports.pauseOtherVideo = function pauseOtherVideo(idClient) {
|
|
13
|
+
var videoElements = document.getElementsByTagName('video');
|
|
14
|
+
for (var i = 0; i < videoElements.length; i++) {
|
|
15
|
+
if (videoElements[i].id !== "fxMessageVideo-".concat(idClient)) {
|
|
16
|
+
videoElements[i].pause();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
var pauseAllVideo = exports.pauseAllVideo = function pauseAllVideo() {
|
|
21
|
+
var videoElements = document.getElementsByTagName('video');
|
|
22
|
+
for (var i = 0; i < videoElements.length; i++) {
|
|
23
|
+
if (videoElements[i].id.startsWith('fxMessageVideo-')) {
|
|
24
|
+
videoElements[i].pause();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
package/lib/index.d.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { UIEventHandler } from 'react';
|
|
2
|
+
import { RecordSession } from './ChatMessageList';
|
|
2
3
|
import { apiCreate, Env } from './api';
|
|
3
4
|
import { IMMessage } from './@types';
|
|
4
5
|
import './styles/index.less';
|
|
5
6
|
/**
|
|
6
7
|
* @name 客服记录组件
|
|
7
|
-
* @description
|
|
8
|
+
* @description 代码由小鲤客服平台搬运简来.
|
|
8
9
|
*/
|
|
9
10
|
export interface IMRecordProps {
|
|
10
11
|
env?: Env;
|
|
11
12
|
token?: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
h5?: boolean;
|
|
14
|
+
msgs: IMMessage[];
|
|
15
|
+
myAccount?: string;
|
|
16
|
+
loadingStarus?: 'loading' | 'nomore';
|
|
17
|
+
onScrollTop?: UIEventHandler<HTMLDivElement>;
|
|
18
|
+
onScrollBottom?: UIEventHandler<HTMLDivElement>;
|
|
19
|
+
style?: React.CSSProperties;
|
|
20
|
+
isSessionEnd?: boolean;
|
|
21
|
+
recordSession?: RecordSession;
|
|
19
22
|
}
|
|
20
23
|
export interface ImContextProps {
|
|
21
24
|
api: ReturnType<typeof apiCreate>;
|
package/lib/index.js
CHANGED
|
@@ -9,9 +9,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _ChatMessageList = _interopRequireDefault(require("./ChatMessageList"));
|
|
10
10
|
var _api = require("./api");
|
|
11
11
|
require("./styles/index.less");
|
|
12
|
+
var _excluded = ["env", "token", "msgs", "recordSession"];
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
18
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
19
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -27,26 +29,29 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
27
29
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
28
30
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
29
31
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
33
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
|
|
30
34
|
var ImContext = exports.ImContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
31
35
|
var IMRecord = function IMRecord(_ref) {
|
|
32
36
|
var env = _ref.env,
|
|
33
|
-
msgRecords = _ref.msgRecords,
|
|
34
37
|
token = _ref.token,
|
|
38
|
+
msgs = _ref.msgs,
|
|
35
39
|
recordSession = _ref.recordSession,
|
|
36
|
-
|
|
40
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
37
41
|
var api = (0, _api.apiCreate)(env, token);
|
|
38
42
|
var _useState = (0, _react.useState)({}),
|
|
39
43
|
_useState2 = _slicedToArray(_useState, 2),
|
|
40
44
|
accountsMap = _useState2[0],
|
|
41
45
|
setAccountsMap = _useState2[1];
|
|
46
|
+
var messageListDomRef = (0, _react.useRef)(null);
|
|
42
47
|
(0, _react.useEffect)(function () {
|
|
43
|
-
var accids = _toConsumableArray(new Set(
|
|
48
|
+
var accids = _toConsumableArray(new Set(msgs.map(function (x) {
|
|
44
49
|
return x.from;
|
|
45
50
|
})));
|
|
46
51
|
if (accids.length) {
|
|
47
52
|
getAccountByAccids(accids);
|
|
48
53
|
}
|
|
49
|
-
}, [
|
|
54
|
+
}, [msgs]);
|
|
50
55
|
function getAccountByAccids(accids) {
|
|
51
56
|
api.getAccountInfoByAccid({
|
|
52
57
|
accids: accids
|
|
@@ -69,17 +74,13 @@ var IMRecord = function IMRecord(_ref) {
|
|
|
69
74
|
value: {
|
|
70
75
|
api: api
|
|
71
76
|
}
|
|
72
|
-
}, /*#__PURE__*/_react.default.createElement(_ChatMessageList.default, {
|
|
73
|
-
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(_ChatMessageList.default, _extends({
|
|
78
|
+
ref: messageListDomRef,
|
|
79
|
+
msgs: msgs,
|
|
74
80
|
h5: true,
|
|
75
|
-
style: {
|
|
76
|
-
height: '100%',
|
|
77
|
-
background: '#f7f7f7'
|
|
78
|
-
},
|
|
79
81
|
accountsMap: accountsMap,
|
|
80
82
|
isSessionEnd: true,
|
|
81
|
-
recordSession: recordSession
|
|
82
|
-
|
|
83
|
-
}));
|
|
83
|
+
recordSession: recordSession
|
|
84
|
+
}, restProps)));
|
|
84
85
|
};
|
|
85
86
|
var _default = exports.default = IMRecord;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fle-ui/plus-im-record",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8-beta.1",
|
|
4
4
|
"description": "@fle-ui/plus-im-record",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fle-ui",
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"react": ">=17.0.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "4bd791803dc3214ac5ed0ee7209f996b4e62eac7"
|
|
49
49
|
}
|