cnhis-design-vue 3.3.3-release.7 → 3.3.3-release.9
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/components/audio-sdk/index.d.ts +5 -5
- package/es/components/audio-sdk/src/Index.vue.d.ts +5 -5
- package/es/components/audio-sdk/src/Index.vue2.js +4 -1
- package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +5 -5
- package/es/components/audio-sdk/src/components/recording.vue.d.ts +5 -5
- package/es/components/audio-sdk/src/utils/recorder/fft.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/mp3-engine.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/mp3.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/recorder.d.ts +4 -0
- package/es/components/audio-sdk/src/utils/recorder/wave.d.ts +4 -0
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
- package/es/components/card-render/src/components/index.d.ts +23 -23
- package/es/components/date-picker/src/DatePicker.vue2.js +8 -1
- package/es/components/field-set/src/FieldColor.vue.d.ts +3 -1
- package/es/components/field-set/src/FieldFilter.vue.d.ts +3 -1
- package/es/components/field-set/src/FieldSet.vue.d.ts +4 -1
- package/es/components/field-set/src/FieldSet.vue2.js +6 -4
- package/es/components/field-set/src/components/table-row.vue.d.ts +1 -1
- package/es/components/field-set/src/types/index.d.ts +1 -0
- package/es/components/form-config/src/components/FormConfigEventSetting.vue2.js +1 -1
- package/es/components/form-render/src/components/renderer/searchCascade.js +3 -0
- package/es/components/form-render/src/hooks/useLowCodeReactions.js +2 -1
- package/es/components/iho-chat/index.d.ts +7 -4
- package/es/components/iho-chat/src/Index.vue.d.ts +7 -4
- package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatFile.vue2.js +5 -15
- package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +3 -0
- package/es/components/iho-chat/src/components/ChatFooter.vue2.js +33 -6
- package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +3 -3
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +7 -15
- package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/ChatRecord.vue2.js +3 -3
- package/es/components/iho-chat/src/components/ContextMenu.js +3 -11
- package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +2 -2
- package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +3 -3
- package/es/components/iho-chat/src/hooks/useData.js +2 -7
- package/es/components/iho-chat/src/hooks/useDraggable.js +12 -3
- package/es/components/iho-chat/src/utils/index.d.ts +2 -3
- package/es/components/iho-chat/src/utils/index.js +20 -39
- package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +8 -1
- package/es/components/iho-table/src/plugins/headerPlugin/index.js +5 -2
- package/es/components/iho-table/src/plugins/highLightSetPlugin.js +2 -1
- package/es/components/select-person/src/SelectPerson.vue2.js +1 -1
- package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
- package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
- package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
- package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
- package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
- package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
- package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
- package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
- package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
- package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
- package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
- package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
- package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/table_style_2.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/package.json.js +1 -1
- package/es/shared/utils/fabricjs/index.d.ts +6823 -0
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +3 -3
@@ -934,7 +934,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
934
934
|
OpenOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
935
935
|
DownloadOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
936
936
|
downloadFile: typeof import("./utils").downloadFile;
|
937
|
-
|
937
|
+
formatJsonstr: typeof import("./utils").formatJsonstr;
|
938
938
|
getFileType: typeof import("./utils").getFileType;
|
939
939
|
getDetail: typeof import("./utils").getDetail;
|
940
940
|
ChatAdd: import("vue").DefineComponent<{
|
@@ -1354,7 +1354,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
1354
1354
|
formatTime: typeof import("./utils").formatTime;
|
1355
1355
|
isDoctorRole: typeof import("./utils").isDoctorRole;
|
1356
1356
|
getRoleName: typeof import("./utils").getRoleName;
|
1357
|
-
|
1357
|
+
formatJsonstr: typeof import("./utils").formatJsonstr;
|
1358
1358
|
getFileType: typeof import("./utils").getFileType;
|
1359
1359
|
getDetail: typeof import("./utils").getDetail;
|
1360
1360
|
showAudioAndVideoRecord: typeof import("./utils").showAudioAndVideoRecord;
|
@@ -1691,7 +1691,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
1691
1691
|
renderToolbar: ({ nodes }: import("naive-ui").ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
1692
1692
|
[key: string]: any;
|
1693
1693
|
}>[];
|
1694
|
-
formatImage: (obj: string | AnyObject, type: string) => any;
|
1695
1694
|
getHistoryRecord: () => Promise<void>;
|
1696
1695
|
handleSelectLabel: (event: MouseEvent, msgId: string) => void;
|
1697
1696
|
handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
|
@@ -1910,7 +1909,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
1910
1909
|
getForwardTitle: typeof import("./utils").getForwardTitle;
|
1911
1910
|
isDoctorRole: typeof import("./utils").isDoctorRole;
|
1912
1911
|
getRoleName: typeof import("./utils").getRoleName;
|
1913
|
-
|
1912
|
+
formatJsonstr: typeof import("./utils").formatJsonstr;
|
1914
1913
|
getFileType: typeof import("./utils").getFileType;
|
1915
1914
|
getDetail: typeof import("./utils").getDetail;
|
1916
1915
|
showAudioAndVideoRecord: typeof import("./utils").showAudioAndVideoRecord;
|
@@ -2273,6 +2272,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
2273
2272
|
isAudioOrVideoMessage: typeof import("./utils").isAudioOrVideoMessage;
|
2274
2273
|
getAVTime: typeof import("./utils").getAVTime;
|
2275
2274
|
getForwardTitle: typeof import("./utils").getForwardTitle;
|
2275
|
+
formatJsonstr: typeof import("./utils").formatJsonstr;
|
2276
2276
|
MESSAGE_TYPE: typeof import("./constants").MESSAGE_TYPE;
|
2277
2277
|
ChatbubbleEllipsesOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
2278
2278
|
EllipsisHorizontal: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
@@ -2282,6 +2282,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
2282
2282
|
HappyOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
2283
2283
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
2284
2284
|
ChatFooter: import("vue").DefineComponent<{}, {
|
2285
|
+
SPACE_PLACEHOLDER: string;
|
2285
2286
|
inputRef: import("vue").Ref<HTMLDivElement | undefined>;
|
2286
2287
|
state: {
|
2287
2288
|
orgId: string | number;
|
@@ -2339,9 +2340,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
2339
2340
|
isWrap: (event: KeyboardEvent) => boolean;
|
2340
2341
|
handleInput: () => void;
|
2341
2342
|
selectEmoji: (name: string) => void;
|
2343
|
+
insertSpace: () => void;
|
2342
2344
|
doUpdateFile: (file: File) => Promise<string>;
|
2343
2345
|
fileChange: (options: import("./types").FileOptions, chatMessageType: import("./constants").MESSAGE_TYPE) => Promise<void>;
|
2344
2346
|
handleMsgSend: () => Promise<void>;
|
2347
|
+
removeSpace: () => void;
|
2345
2348
|
doSendMessage: (contentInfo: AnyObject) => Promise<void>;
|
2346
2349
|
clearInput: () => void;
|
2347
2350
|
handleRelay: ({ checkedIds, remark }: {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { PropType } from 'vue';
|
2
2
|
import { AnyObject } from '../../../../shared/types';
|
3
|
-
import { downloadFile,
|
3
|
+
import { downloadFile, formatJsonstr, getFileType, getDetail } from '../utils';
|
4
4
|
declare const _default: import("vue").DefineComponent<{
|
5
5
|
type: {
|
6
6
|
type: StringConstructor;
|
@@ -82,7 +82,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
82
82
|
OpenOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
83
83
|
DownloadOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
84
84
|
downloadFile: typeof downloadFile;
|
85
|
-
|
85
|
+
formatJsonstr: typeof formatJsonstr;
|
86
86
|
getFileType: typeof getFileType;
|
87
87
|
getDetail: typeof getDetail;
|
88
88
|
ChatAdd: import("vue").DefineComponent<{
|
@@ -13,7 +13,7 @@ import { useScrollLoading } from '../../../../shared/hooks/useScrollLoading.js';
|
|
13
13
|
import { useData } from '../hooks/useData.js';
|
14
14
|
import 'stompjs';
|
15
15
|
import 'sockjs-client/dist/sockjs.min.js';
|
16
|
-
import {
|
16
|
+
import { formatJsonstr, getFileType, getDetail, downloadFile } from '../utils/index.js';
|
17
17
|
import 'trtc-sdk-v5';
|
18
18
|
import ChatAdd from './ChatAdd.vue.js';
|
19
19
|
|
@@ -103,17 +103,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
103
103
|
const newList = formatImageList(_list);
|
104
104
|
imageList.value = pageInfo.page > 1 ? imageList.value.concat(newList) : newList;
|
105
105
|
} else {
|
106
|
-
|
107
|
-
return new Promise(async (resolve) => {
|
108
|
-
const size = await getFileSize(item.content.fileUrl);
|
109
|
-
resolve({
|
110
|
-
...item,
|
111
|
-
size
|
112
|
-
});
|
113
|
-
});
|
114
|
-
});
|
115
|
-
const newList = await Promise.all(promiseList);
|
116
|
-
fileList.value = pageInfo.page > 1 ? fileList.value.concat(newList) : newList;
|
106
|
+
fileList.value = pageInfo.page > 1 ? fileList.value.concat(_list) : _list;
|
117
107
|
}
|
118
108
|
} catch (error) {
|
119
109
|
} finally {
|
@@ -209,7 +199,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
209
199
|
key: image,
|
210
200
|
width: "80",
|
211
201
|
height: "80",
|
212
|
-
src: unref(
|
202
|
+
src: unref(formatJsonstr)(image, "fileUrl")
|
213
203
|
}, null, 8, ["src"]);
|
214
204
|
}), 128))])]);
|
215
205
|
}), 128))]),
|
@@ -246,7 +236,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
246
236
|
return openBlock(), createElementBlock("div", {
|
247
237
|
class: "file-item",
|
248
238
|
key: i
|
249
|
-
}, [createElementVNode("span", _hoisted_3, toDisplayString(unref(getFileType)(item.content.msg)), 1), createElementVNode("div", _hoisted_4, [createElementVNode("span", _hoisted_5, toDisplayString(unref(
|
239
|
+
}, [createElementVNode("span", _hoisted_3, toDisplayString(unref(getFileType)(item.content.msg)), 1), createElementVNode("div", _hoisted_4, [createElementVNode("span", _hoisted_5, toDisplayString(unref(formatJsonstr)(item.content.msg, "fileName")), 1), createElementVNode("span", _hoisted_6, toDisplayString(unref(getDetail)(item, true)), 1)]), createElementVNode("div", _hoisted_7, [createVNode(ChatAdd, {
|
250
240
|
title: function() {
|
251
241
|
var _a, _b, _c;
|
252
242
|
try {
|
@@ -286,7 +276,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
286
276
|
trigger: withCtx(() => [createVNode(unref(NIcon), {
|
287
277
|
size: 16,
|
288
278
|
component: unref(DownloadOutline),
|
289
|
-
onClick: () => unref(downloadFile)(item.content.
|
279
|
+
onClick: () => unref(downloadFile)(item.content.msg)
|
290
280
|
}, null, 8, ["component", "onClick"])]),
|
291
281
|
default: withCtx(() => [createTextVNode(function() {
|
292
282
|
var _a, _b, _c;
|
@@ -4,6 +4,7 @@ import { MESSAGE_TYPE } from '../constants';
|
|
4
4
|
import { simplifyMessage } from '../utils';
|
5
5
|
import { FileOptions } from '../types';
|
6
6
|
declare const _default: import("vue").DefineComponent<{}, {
|
7
|
+
SPACE_PLACEHOLDER: string;
|
7
8
|
inputRef: Ref<HTMLDivElement | undefined>;
|
8
9
|
state: {
|
9
10
|
orgId: string | number;
|
@@ -61,9 +62,11 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
61
62
|
isWrap: (event: KeyboardEvent) => boolean;
|
62
63
|
handleInput: () => void;
|
63
64
|
selectEmoji: (name: string) => void;
|
65
|
+
insertSpace: () => void;
|
64
66
|
doUpdateFile: (file: File) => Promise<string>;
|
65
67
|
fileChange: (options: FileOptions, chatMessageType: MESSAGE_TYPE) => Promise<void>;
|
66
68
|
handleMsgSend: () => Promise<void>;
|
69
|
+
removeSpace: () => void;
|
67
70
|
doSendMessage: (contentInfo: AnyObject) => Promise<void>;
|
68
71
|
clearInput: () => void;
|
69
72
|
handleRelay: ({ checkedIds, remark }: {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createElementVNode, defineComponent, ref, computed, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, Fragment, toDisplayString, createCommentVNode, renderList, createBlock, createTextVNode, mergeProps, renderSlot, vShow } from 'vue';
|
1
|
+
import { createElementVNode, defineComponent, ref, computed, onMounted, watch, withDirectives, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, Fragment, toDisplayString, createCommentVNode, renderList, createBlock, createTextVNode, mergeProps, renderSlot, vShow } from 'vue';
|
2
2
|
import { NButton, NIcon, NTooltip, NPopover, NUpload, NUploadTrigger } from 'naive-ui';
|
3
3
|
import ChatAdd from './ChatAdd.vue.js';
|
4
4
|
import { useData } from '../hooks/useData.js';
|
@@ -92,6 +92,7 @@ const _hoisted_24 = /* @__PURE__ */ createElementVNode("span", {
|
|
92
92
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
93
93
|
__name: "ChatFooter",
|
94
94
|
setup(__props) {
|
95
|
+
const SPACE_PLACEHOLDER = '<span style="display: inline-block;width: 1px;user-select: none;" data-space="true"></span>';
|
95
96
|
const inputRef = ref();
|
96
97
|
const {
|
97
98
|
state,
|
@@ -109,7 +110,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
109
110
|
defaultValue: [state.userInfo]
|
110
111
|
};
|
111
112
|
});
|
112
|
-
const sendBtnDisabled = computed(() => !content.value.replace(/( |\s|<br>)+/g, ""));
|
113
|
+
const sendBtnDisabled = computed(() => !content.value.replace(/( |\s|<br>|<span[^>]*data-space="true"[^>]*>[\s\S]*?<\/span>)+/g, ""));
|
113
114
|
const isForwardDisabled = computed(() => !state.msgList.some((msgItem) => msgItem.checked));
|
114
115
|
const callBtnDisabled = computed(() => state.showVideo || state.showMultipleVideo);
|
115
116
|
function handleCall(chatMessageType, checkedIds = []) {
|
@@ -154,15 +155,29 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
154
155
|
}
|
155
156
|
function handleInput() {
|
156
157
|
var _a;
|
158
|
+
if (!inputRef.value)
|
159
|
+
return;
|
157
160
|
content.value = ((_a = inputRef.value) == null ? void 0 : _a.innerHTML) || "";
|
161
|
+
insertSpace();
|
158
162
|
}
|
159
163
|
function selectEmoji(name) {
|
160
164
|
var _a;
|
161
165
|
commonEmoticons.value.unshift(name);
|
162
166
|
commonEmoticons.value = uniq(commonEmoticons.value).slice(0, 26);
|
167
|
+
if (!inputRef.value)
|
168
|
+
return;
|
163
169
|
(_a = inputRef.value) == null ? void 0 : _a.focus();
|
170
|
+
insertSpace();
|
164
171
|
document.execCommand("insertHTML", false, `<img data-msg=${name} data-type=${MESSAGE_TYPE.EMOJI} class="emoji--min" src=${emojis.findEmoji(name)} />`);
|
165
172
|
}
|
173
|
+
function insertSpace() {
|
174
|
+
if (!inputRef.value)
|
175
|
+
return;
|
176
|
+
if (!inputRef.value.innerHTML || inputRef.value.innerHTML === "<br>") {
|
177
|
+
Array.from(inputRef.value.childNodes).forEach((child) => child.remove());
|
178
|
+
document.execCommand("insertHTML", false, SPACE_PLACEHOLDER);
|
179
|
+
}
|
180
|
+
}
|
166
181
|
async function doUpdateFile(file) {
|
167
182
|
const formData = new FormData();
|
168
183
|
formData.append("sender", state.userInfo.id);
|
@@ -191,13 +206,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
191
206
|
});
|
192
207
|
}
|
193
208
|
async function handleMsgSend() {
|
209
|
+
if (sendBtnDisabled.value)
|
210
|
+
return console.log("\u8BF7\u8F93\u5165\u5185\u5BB9");
|
211
|
+
removeSpace();
|
194
212
|
const {
|
195
213
|
innerHTML = "",
|
196
214
|
innerText = "",
|
197
215
|
outerText = ""
|
198
216
|
} = inputRef.value || {};
|
199
|
-
if (sendBtnDisabled.value)
|
200
|
-
return console.log("\u8BF7\u8F93\u5165\u5185\u5BB9");
|
201
217
|
let chatMessageType = MESSAGE_TYPE.TEXT;
|
202
218
|
let msg = "";
|
203
219
|
if (innerHTML) {
|
@@ -259,6 +275,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
259
275
|
origin: "btn"
|
260
276
|
});
|
261
277
|
}
|
278
|
+
function removeSpace() {
|
279
|
+
if (!inputRef.value)
|
280
|
+
return;
|
281
|
+
const spaceHolders = inputRef.value.querySelectorAll('[data-space="true"]');
|
282
|
+
spaceHolders.forEach((space) => space.remove());
|
283
|
+
}
|
262
284
|
async function doSendMessage(contentInfo) {
|
263
285
|
const {
|
264
286
|
chatMessageType = MESSAGE_TYPE.TEXT,
|
@@ -270,7 +292,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
270
292
|
msg,
|
271
293
|
chatMessageType
|
272
294
|
};
|
273
|
-
if (
|
295
|
+
if ([MESSAGE_TYPE.FILE, MESSAGE_TYPE.IMAGE].includes(chatMessageType)) {
|
274
296
|
_content.fileUrl = url;
|
275
297
|
}
|
276
298
|
if (origin === "btn") {
|
@@ -288,7 +310,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
288
310
|
}
|
289
311
|
function clearInput() {
|
290
312
|
if (inputRef.value) {
|
291
|
-
inputRef.value.innerHTML =
|
313
|
+
inputRef.value.innerHTML = SPACE_PLACEHOLDER;
|
292
314
|
}
|
293
315
|
content.value = "";
|
294
316
|
}
|
@@ -323,6 +345,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
323
345
|
});
|
324
346
|
state.isForward = false;
|
325
347
|
}
|
348
|
+
onMounted(() => {
|
349
|
+
if (inputRef.value) {
|
350
|
+
inputRef.value.innerHTML = SPACE_PLACEHOLDER;
|
351
|
+
}
|
352
|
+
});
|
326
353
|
watch(() => [state.currentReferenceMsg, state.currentReEditMsg], ([currentReferenceMsg, currentReEditMsg]) => {
|
327
354
|
var _a;
|
328
355
|
if (currentReferenceMsg || currentReEditMsg) {
|
@@ -401,7 +401,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
401
401
|
OpenOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
402
402
|
DownloadOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
403
403
|
downloadFile: typeof import("../utils").downloadFile;
|
404
|
-
|
404
|
+
formatJsonstr: typeof import("../utils").formatJsonstr;
|
405
405
|
getFileType: typeof import("../utils").getFileType;
|
406
406
|
getDetail: typeof import("../utils").getDetail;
|
407
407
|
ChatAdd: import("vue").DefineComponent<{
|
@@ -821,7 +821,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
821
821
|
formatTime: typeof import("../utils").formatTime;
|
822
822
|
isDoctorRole: typeof import("../utils").isDoctorRole;
|
823
823
|
getRoleName: typeof import("../utils").getRoleName;
|
824
|
-
|
824
|
+
formatJsonstr: typeof import("../utils").formatJsonstr;
|
825
825
|
getFileType: typeof import("../utils").getFileType;
|
826
826
|
getDetail: typeof import("../utils").getDetail;
|
827
827
|
showAudioAndVideoRecord: typeof import("../utils").showAudioAndVideoRecord;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { CSSProperties } from 'vue';
|
2
2
|
import { ImageRenderToolbarProps } from 'naive-ui';
|
3
3
|
import { AnyObject } from '../../../../shared/types';
|
4
|
-
import { simplifyMessage, isAudioOrVideoMessage, getAVTime, getForwardTitle } from '../utils';
|
4
|
+
import { simplifyMessage, isAudioOrVideoMessage, getAVTime, getForwardTitle, formatJsonstr } from '../utils';
|
5
5
|
import { MESSAGE_TYPE } from '../constants';
|
6
6
|
declare const _default: import("vue").DefineComponent<{}, {
|
7
7
|
chatMainRef: import("vue").Ref<HTMLElement | undefined>;
|
@@ -71,7 +71,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
71
71
|
renderToolbar: ({ nodes }: ImageRenderToolbarProps) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
72
72
|
[key: string]: any;
|
73
73
|
}>[];
|
74
|
-
formatImage: (obj: AnyObject | string, type: string) => any;
|
75
74
|
getHistoryRecord: () => Promise<void>;
|
76
75
|
handleSelectLabel: (event: MouseEvent, msgId: string) => void;
|
77
76
|
handleContextmenu: (event: MouseEvent, msgId: string) => Promise<void>;
|
@@ -290,7 +289,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
290
289
|
getForwardTitle: typeof getForwardTitle;
|
291
290
|
isDoctorRole: typeof import("../utils").isDoctorRole;
|
292
291
|
getRoleName: typeof import("../utils").getRoleName;
|
293
|
-
|
292
|
+
formatJsonstr: typeof formatJsonstr;
|
294
293
|
getFileType: typeof import("../utils").getFileType;
|
295
294
|
getDetail: typeof import("../utils").getDetail;
|
296
295
|
showAudioAndVideoRecord: typeof import("../utils").showAudioAndVideoRecord;
|
@@ -653,6 +652,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
653
652
|
isAudioOrVideoMessage: typeof isAudioOrVideoMessage;
|
654
653
|
getAVTime: typeof getAVTime;
|
655
654
|
getForwardTitle: typeof getForwardTitle;
|
655
|
+
formatJsonstr: typeof formatJsonstr;
|
656
656
|
MESSAGE_TYPE: typeof MESSAGE_TYPE;
|
657
657
|
ChatbubbleEllipsesOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
658
658
|
EllipsisHorizontal: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
@@ -6,7 +6,7 @@ import { useData } from '../hooks/useData.js';
|
|
6
6
|
import 'stompjs';
|
7
7
|
import 'sockjs-client/dist/sockjs.min.js';
|
8
8
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
9
|
-
import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle, getAVTime, downloadFile } from '../utils/index.js';
|
9
|
+
import { isAudioOrVideoMessage, simplifyMessage, getForwardTitle, formatJsonstr, getAVTime, downloadFile } from '../utils/index.js';
|
10
10
|
import { first, last, isArray, toString } from 'lodash-es';
|
11
11
|
import 'trtc-sdk-v5';
|
12
12
|
import MessageTemplate from './MessageTemplate.vue.js';
|
@@ -130,7 +130,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
130
130
|
"color": "rgba(255, 255, 255, 0.75",
|
131
131
|
"size": 24,
|
132
132
|
"component": ArrowDownSharp,
|
133
|
-
"onClick": () => src && downloadFile(
|
133
|
+
"onClick": () => src && downloadFile(JSON.stringify({
|
134
|
+
fileUrl: src,
|
135
|
+
fileName: "image"
|
136
|
+
}))
|
134
137
|
}, null),
|
135
138
|
default: () => function() {
|
136
139
|
var _a2, _b2, _c;
|
@@ -142,17 +145,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
142
145
|
}()
|
143
146
|
}), nodes.close];
|
144
147
|
}
|
145
|
-
function formatImage(obj, type) {
|
146
|
-
try {
|
147
|
-
if (typeof obj === "string") {
|
148
|
-
const objParse = JSON.parse(obj);
|
149
|
-
return objParse[type];
|
150
|
-
}
|
151
|
-
return obj[type];
|
152
|
-
} catch (error) {
|
153
|
-
return obj;
|
154
|
-
}
|
155
|
-
}
|
156
148
|
async function getHistoryRecord() {
|
157
149
|
try {
|
158
150
|
if (!pageInfo.hasMore)
|
@@ -490,7 +482,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
490
482
|
}), 128))])], 8, _hoisted_14)) : createCommentVNode("v-if", true), item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createBlock(unref(NImage), {
|
491
483
|
key: 4,
|
492
484
|
width: "240",
|
493
|
-
src:
|
485
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl"),
|
494
486
|
onClick: _cache[0] || (_cache[0] = (event) => event.stopPropagation())
|
495
487
|
}, null, 8, ["src"])) : createCommentVNode("v-if", true), unref(isAudioOrVideoMessage)(item.content) ? (openBlock(), createElementBlock(Fragment, {
|
496
488
|
key: 5
|
@@ -515,7 +507,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
515
507
|
"row-gap": "0"
|
516
508
|
}
|
517
509
|
}, {
|
518
|
-
default: withCtx(() => [createElementVNode("span", null, toDisplayString(
|
510
|
+
default: withCtx(() => [createElementVNode("span", null, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_19, toDisplayString(unref(formatJsonstr)(item.__content, "fileSize")), 1)]),
|
519
511
|
_: 2
|
520
512
|
}, 1024)]),
|
521
513
|
_: 2
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { PropType } from 'vue';
|
2
2
|
import { AnyObject } from '../../../../shared/types';
|
3
|
-
import { formatTime, isDoctorRole, getRoleName,
|
3
|
+
import { formatTime, isDoctorRole, getRoleName, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils';
|
4
4
|
import { MESSAGE_TYPE } from '../constants';
|
5
5
|
declare const _default: import("vue").DefineComponent<{
|
6
6
|
visible: {
|
@@ -213,7 +213,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
213
213
|
formatTime: typeof formatTime;
|
214
214
|
isDoctorRole: typeof isDoctorRole;
|
215
215
|
getRoleName: typeof getRoleName;
|
216
|
-
|
216
|
+
formatJsonstr: typeof formatJsonstr;
|
217
217
|
getFileType: typeof getFileType;
|
218
218
|
getDetail: typeof getDetail;
|
219
219
|
showAudioAndVideoRecord: typeof showAudioAndVideoRecord;
|
@@ -6,7 +6,7 @@ import 'stompjs';
|
|
6
6
|
import 'sockjs-client/dist/sockjs.min.js';
|
7
7
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
8
8
|
import { searchChatRecordApi } from '../api/index.js';
|
9
|
-
import { transformMessage, isDoctorRole, getRoleName, formatTime,
|
9
|
+
import { transformMessage, isDoctorRole, getRoleName, formatTime, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, getForwardTitle, simplifyMessage } from '../utils/index.js';
|
10
10
|
import { last, isArray } from 'lodash-es';
|
11
11
|
import 'trtc-sdk-v5';
|
12
12
|
import DatePicker from '../../../date-picker/index.js';
|
@@ -369,10 +369,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
369
369
|
class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(item.roleInfo) ? "isDoctor" : ""])
|
370
370
|
}, toDisplayString(unref(getRoleName)(item.roleInfo)), 3), [[vShow, unref(getRoleName)(item.roleInfo)]])]), createElementVNode("span", _hoisted_9, toDisplayString(unref(formatTime)(item.sendTime).recordTime), 1)]), createElementVNode("div", _hoisted_10, [item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
|
371
371
|
key: 0,
|
372
|
-
src: unref(
|
372
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl")
|
373
373
|
}, null, 8, _hoisted_11)) : item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createElementBlock(Fragment, {
|
374
374
|
key: 1
|
375
|
-
}, [createElementVNode("span", _hoisted_12, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(unref(
|
375
|
+
}, [createElementVNode("span", _hoisted_12, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_15, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
|
376
376
|
key: 2,
|
377
377
|
class: "emoji",
|
378
378
|
src: unref(emojis).findEmoji(item.__content)
|
@@ -7,7 +7,7 @@ import 'stompjs';
|
|
7
7
|
import 'sockjs-client/dist/sockjs.min.js';
|
8
8
|
import { STATUS, MESSAGE_TYPE } from '../constants/index.js';
|
9
9
|
import { recallMessageApi } from '../api/index.js';
|
10
|
-
import { isAudioOrVideoMessage, $message, downloadFile,
|
10
|
+
import { isAudioOrVideoMessage, $message, downloadFile, formatJsonstr } from '../utils/index.js';
|
11
11
|
import 'lodash-es';
|
12
12
|
import 'trtc-sdk-v5';
|
13
13
|
import { emojis } from '../utils/emoji.js';
|
@@ -192,7 +192,7 @@ var ContextMenu = /* @__PURE__ */ defineComponent({
|
|
192
192
|
} else {
|
193
193
|
let data;
|
194
194
|
if ([MESSAGE_TYPE.EMOJI, MESSAGE_TYPE.IMAGE].includes(chatMessageType)) {
|
195
|
-
const url = chatMessageType === MESSAGE_TYPE.EMOJI ? emojis.findEmoji(content.msg) :
|
195
|
+
const url = chatMessageType === MESSAGE_TYPE.EMOJI ? emojis.findEmoji(content.msg) : formatJsonstr(content.msg, "fileUrl");
|
196
196
|
data = `<img data-msg=${chatMessageType === MESSAGE_TYPE.EMOJI ? content.msg : ""} data-type=${chatMessageType} class=${chatMessageType === MESSAGE_TYPE.EMOJI ? "emoji--min" : "chat-image-copy"} src=${url} />`;
|
197
197
|
} else if (chatMessageType === MESSAGE_TYPE.BLEND) {
|
198
198
|
data = __content;
|
@@ -211,15 +211,7 @@ var ContextMenu = /* @__PURE__ */ defineComponent({
|
|
211
211
|
}
|
212
212
|
return;
|
213
213
|
case "download": {
|
214
|
-
|
215
|
-
fileUrl: url,
|
216
|
-
msg: fileName
|
217
|
-
} = content;
|
218
|
-
if (chatMessageType === MESSAGE_TYPE.IMAGE) {
|
219
|
-
url = fileName;
|
220
|
-
fileName = fileName.match(/\/([^\/?#]+)$/)[1];
|
221
|
-
}
|
222
|
-
downloadFile(url, fileName);
|
214
|
+
downloadFile(__content);
|
223
215
|
return;
|
224
216
|
}
|
225
217
|
case "withdraw": {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { AnyObject } from '../../../../shared/types';
|
2
|
-
import { formatTime, getForwardTitle, isDoctorRole, getRoleName,
|
2
|
+
import { formatTime, getForwardTitle, isDoctorRole, getRoleName, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils';
|
3
3
|
import { MESSAGE_TYPE } from '../constants';
|
4
4
|
declare const _default: import("vue").DefineComponent<{
|
5
5
|
id: {
|
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
54
54
|
getForwardTitle: typeof getForwardTitle;
|
55
55
|
isDoctorRole: typeof isDoctorRole;
|
56
56
|
getRoleName: typeof getRoleName;
|
57
|
-
|
57
|
+
formatJsonstr: typeof formatJsonstr;
|
58
58
|
getFileType: typeof getFileType;
|
59
59
|
getDetail: typeof getDetail;
|
60
60
|
showAudioAndVideoRecord: typeof showAudioAndVideoRecord;
|
@@ -5,7 +5,7 @@ import 'stompjs';
|
|
5
5
|
import 'sockjs-client/dist/sockjs.min.js';
|
6
6
|
import { MESSAGE_TYPE } from '../constants/index.js';
|
7
7
|
import '../api/index.js';
|
8
|
-
import { transformMessage, getForwardTitle, isDoctorRole, getRoleName, formatTime,
|
8
|
+
import { transformMessage, getForwardTitle, isDoctorRole, getRoleName, formatTime, formatJsonstr, getFileType, getDetail, showAudioAndVideoRecord, simplifyMessage } from '../utils/index.js';
|
9
9
|
import { isArray } from 'lodash-es';
|
10
10
|
import 'trtc-sdk-v5';
|
11
11
|
import { emojis } from '../utils/emoji.js';
|
@@ -116,10 +116,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
116
116
|
}
|
117
117
|
}, toDisplayString(unref(getRoleName)(item.roleInfo)), 3), [[vShow, unref(getRoleName)(item.roleInfo)]])]), createElementVNode("span", null, toDisplayString(unref(formatTime)(item.sendTime).recordTime), 1)]), createElementVNode("div", _hoisted_5, [item.content.chatMessageType === unref(MESSAGE_TYPE).IMAGE ? (openBlock(), createElementBlock("img", {
|
118
118
|
key: 0,
|
119
|
-
src: unref(
|
119
|
+
src: unref(formatJsonstr)(item.__content, "fileUrl")
|
120
120
|
}, null, 8, _hoisted_6)) : item.content.chatMessageType === unref(MESSAGE_TYPE).FILE ? (openBlock(), createElementBlock(Fragment, {
|
121
121
|
key: 1
|
122
|
-
}, [createElementVNode("span", _hoisted_7, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_8, [createElementVNode("span", _hoisted_9, toDisplayString(unref(
|
122
|
+
}, [createElementVNode("span", _hoisted_7, toDisplayString(unref(getFileType)(item.__content)), 1), createElementVNode("div", _hoisted_8, [createElementVNode("span", _hoisted_9, toDisplayString(unref(formatJsonstr)(item.__content, "fileName")), 1), createElementVNode("span", _hoisted_10, toDisplayString(unref(getDetail)(item)), 1)])], 64)) : item.content.chatMessageType === unref(MESSAGE_TYPE).EMOJI ? (openBlock(), createElementBlock("img", {
|
123
123
|
key: 2,
|
124
124
|
class: "emoji",
|
125
125
|
src: unref(emojis).findEmoji(item.__content)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { ref, reactive, computed, watch, toRef, inject, toRaw } from 'vue';
|
2
2
|
import { openSessionApi, updateStatusApi, groupUserApi } from '../api/index.js';
|
3
3
|
import { promiseTimeout, useIntervalFn } from '@vueuse/core';
|
4
|
-
import { isGroup, listSort, formatTime, transformMessage,
|
4
|
+
import { isGroup, listSort, formatTime, transformMessage, $message, simplifyMessage } from '../utils/index.js';
|
5
5
|
import { cloneDeep, remove, isArray, uniqBy } from 'lodash-es';
|
6
|
-
import { STATUS,
|
6
|
+
import { STATUS, CHAT_TYPE, MESSAGE_TYPE } from '../constants/index.js';
|
7
7
|
import { useTheme } from '../../../../shared/hooks/useTheme.js';
|
8
8
|
import 'date-fns';
|
9
9
|
import '@vue/shared';
|
@@ -139,11 +139,6 @@ function initData(props, emit) {
|
|
139
139
|
__content: transformMessage(item.content),
|
140
140
|
__sendTime: formatTime(item.sendTime).recordTime
|
141
141
|
});
|
142
|
-
if (item.content.chatMessageType === MESSAGE_TYPE.FILE && !item.__size) {
|
143
|
-
getFileSize(item.content.fileUrl).then((size) => {
|
144
|
-
item.__size = size;
|
145
|
-
});
|
146
|
-
}
|
147
142
|
});
|
148
143
|
if (needUpdateTime()) {
|
149
144
|
resume();
|
@@ -65,6 +65,7 @@ function useDraggable(target, options = {}) {
|
|
65
65
|
topRightElement();
|
66
66
|
}
|
67
67
|
};
|
68
|
+
const clamp = (val, min, max) => Math.max(min, Math.min(val, max));
|
68
69
|
const onMouseDown = (e) => {
|
69
70
|
var _a;
|
70
71
|
if (!target.value)
|
@@ -87,12 +88,20 @@ function useDraggable(target, options = {}) {
|
|
87
88
|
};
|
88
89
|
const onMouseMove = (e) => {
|
89
90
|
var _a;
|
90
|
-
if (!isDragging.value)
|
91
|
+
if (!isDragging.value || !target.value)
|
91
92
|
return;
|
92
93
|
const dx = e.clientX - startMousePos.value.x;
|
93
94
|
const dy = e.clientY - startMousePos.value.y;
|
94
|
-
|
95
|
-
|
95
|
+
const {
|
96
|
+
width,
|
97
|
+
height
|
98
|
+
} = target.value.getBoundingClientRect();
|
99
|
+
const minX = 0;
|
100
|
+
const minY = 0;
|
101
|
+
const maxX = window.innerWidth - width;
|
102
|
+
const maxY = window.innerHeight - height;
|
103
|
+
x.value = clamp(startPos.value.x + dx, minX, maxX);
|
104
|
+
y.value = clamp(startPos.value.y + dy, minY, maxY);
|
96
105
|
updatePosition();
|
97
106
|
(_a = options.onDrag) == null ? void 0 : _a.call(options, {
|
98
107
|
x: x.value,
|
@@ -9,8 +9,7 @@ export declare function listSort(list: AnyObject[]): AnyObject[];
|
|
9
9
|
export declare function transformMessage(content: AnyObject): any;
|
10
10
|
export declare function getAVTime(msg: string): string;
|
11
11
|
export declare function simplifyMessage(lastMessage: AnyObject): any;
|
12
|
-
export declare function downloadFile(
|
13
|
-
export declare function getFileSize(url: string): Promise<unknown>;
|
12
|
+
export declare function downloadFile(msg: string): void;
|
14
13
|
export declare function base64ToFile(base64: string): Promise<File | undefined>;
|
15
14
|
export declare function isAudioOrVideoMessage(message: AnyObject): boolean;
|
16
15
|
export declare function formatSeconds(seconds: number): string;
|
@@ -18,7 +17,7 @@ export declare function isGroup(session: AnyObject): boolean;
|
|
18
17
|
export declare function getForwardTitle(content: AnyObject): string | undefined;
|
19
18
|
export declare function isDoctorRole(type: string): boolean;
|
20
19
|
export declare function getRoleName(type: string): string;
|
21
|
-
export declare function getFileDetails(msg: string, type: string): any;
|
22
20
|
export declare function getFileType(msg: string): string;
|
23
21
|
export declare function getDetail(item: AnyObject, isShowSize?: boolean): string;
|
24
22
|
export declare function showAudioAndVideoRecord(chatMessageType: string): "语音通话" | "视频通话";
|
23
|
+
export declare function formatJsonstr(obj: AnyObject | string, type: string): any;
|