cnhis-design-vue 3.3.1-release.4 → 3.3.1-release.5

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.
Files changed (33) hide show
  1. package/es/components/ai-chat/src/hooks/useChartAudioContext.js +1 -1
  2. package/es/components/audio-sdk/index.d.ts +37 -6
  3. package/es/components/audio-sdk/index.js +1 -0
  4. package/es/components/audio-sdk/src/Index.vue.d.ts +35 -6
  5. package/es/components/audio-sdk/src/Index.vue2.js +12 -4
  6. package/es/components/audio-sdk/src/audioSDK.d.ts +3 -4
  7. package/es/components/audio-sdk/src/audioSDK.js +12 -6
  8. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +17 -3
  9. package/es/components/audio-sdk/src/components/recording.vue.d.ts +17 -3
  10. package/es/components/audio-sdk/src/components/recording.vue2.js +9 -6
  11. package/es/components/audio-sdk/src/utils/recorder/fft.js +75 -0
  12. package/es/components/audio-sdk/src/utils/recorder/index.d.ts +3 -0
  13. package/es/components/audio-sdk/src/utils/recorder/index.js +12 -0
  14. package/es/components/audio-sdk/src/utils/recorder/mp3-engine.js +12435 -0
  15. package/es/components/audio-sdk/src/utils/recorder/mp3.js +343 -0
  16. package/es/components/audio-sdk/src/utils/recorder/recorder.js +1324 -0
  17. package/es/components/audio-sdk/src/utils/recorder/wave.js +258 -0
  18. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  19. package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
  20. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  21. package/es/components/field-set/src/components/table-row.vue.d.ts +1 -1
  22. package/es/components/index.js +1 -0
  23. package/es/components/select-person/src/SelectPerson.vue2.js +18 -9
  24. package/es/components/table-filter/src/components/render-widget/enums.d.ts +2 -0
  25. package/es/components/table-filter/src/components/render-widget/enums.js +2 -1
  26. package/es/components/table-filter/src/components/render-widget/helpers/dateExtraMap.js +8 -0
  27. package/es/components/table-filter/src/components/render-widget/helpers/enums.d.ts +1 -0
  28. package/es/components/table-filter/src/components/render-widget/helpers/enums.js +2 -1
  29. package/es/components/table-filter/src/components/render-widget/helpers/presetValToTimestamp.js +4 -2
  30. package/es/components/table-filter/src/tool/baseOptions.js +3 -0
  31. package/es/shared/package.json.js +1 -1
  32. package/es/shared/utils/index.js +3 -2
  33. package/package.json +1 -2
@@ -0,0 +1,343 @@
1
+ function useMP3(Recorder) {
2
+ Recorder.prototype.enc_mp3 = {
3
+ stable: true,
4
+ testmsg: "\u91C7\u6837\u7387\u8303\u56F448000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000"
5
+ };
6
+ Recorder.prototype.mp3 = function(res, True, False) {
7
+ var This = this, set = This.set, size = res.length;
8
+ var ctx = This.mp3_start(set);
9
+ if (ctx) {
10
+ This.mp3_encode(ctx, res);
11
+ This.mp3_complete(ctx, True, False, 1);
12
+ return;
13
+ }
14
+ var mp3 = new Recorder.lamejs.Mp3Encoder(1, set.sampleRate, set.bitRate);
15
+ var blockSize = 57600;
16
+ var data = [];
17
+ var idx = 0, mp3Size = 0;
18
+ var run = function() {
19
+ if (idx < size) {
20
+ var buf = mp3.encodeBuffer(res.subarray(idx, idx + blockSize));
21
+ if (buf.length > 0) {
22
+ mp3Size += buf.buffer.byteLength;
23
+ data.push(buf.buffer);
24
+ }
25
+ idx += blockSize;
26
+ setTimeout(run);
27
+ } else {
28
+ var buf = mp3.flush();
29
+ if (buf.length > 0) {
30
+ mp3Size += buf.buffer.byteLength;
31
+ data.push(buf.buffer);
32
+ }
33
+ var meta = mp3TrimFix.fn(data, mp3Size, size, set.sampleRate);
34
+ mp3TrimFixSetMeta(meta, set);
35
+ True(new Blob(data, { type: "audio/mp3" }));
36
+ }
37
+ };
38
+ run();
39
+ };
40
+ var mp3Worker;
41
+ Recorder.BindDestroy("mp3Worker", function() {
42
+ Recorder.CLog("mp3Worker Destroy");
43
+ mp3Worker && mp3Worker.terminate();
44
+ mp3Worker = null;
45
+ });
46
+ Recorder.prototype.mp3_envCheck = function(envInfo, set) {
47
+ var errMsg = "";
48
+ if (set.takeoffEncodeChunk) {
49
+ if (!envInfo.canProcess) {
50
+ errMsg = envInfo.envName + "\u73AF\u5883\u4E0D\u652F\u6301\u5B9E\u65F6\u5904\u7406";
51
+ } else if (!newContext()) {
52
+ errMsg = "\u5F53\u524D\u6D4F\u89C8\u5668\u7248\u672C\u592A\u4F4E\uFF0C\u65E0\u6CD5\u5B9E\u65F6\u5904\u7406";
53
+ }
54
+ }
55
+ return errMsg;
56
+ };
57
+ Recorder.prototype.mp3_start = function(set) {
58
+ return newContext(set);
59
+ };
60
+ var openList = { id: 0 };
61
+ var newContext = function(setOrNull) {
62
+ var worker = mp3Worker;
63
+ try {
64
+ if (!worker) {
65
+ var onmsg = function(e) {
66
+ var ed = e.data;
67
+ var cur = wk_ctxs[ed.id];
68
+ if (ed.action == "init") {
69
+ wk_ctxs[ed.id] = {
70
+ sampleRate: ed.sampleRate,
71
+ bitRate: ed.bitRate,
72
+ takeoff: ed.takeoff,
73
+ mp3Size: 0,
74
+ pcmSize: 0,
75
+ encArr: [],
76
+ encObj: new wk_lame.Mp3Encoder(1, ed.sampleRate, ed.bitRate)
77
+ };
78
+ } else if (!cur) {
79
+ return;
80
+ }
81
+ switch (ed.action) {
82
+ case "stop":
83
+ cur.encObj = null;
84
+ delete wk_ctxs[ed.id];
85
+ break;
86
+ case "encode":
87
+ cur.pcmSize += ed.pcm.length;
88
+ var buf = cur.encObj.encodeBuffer(ed.pcm);
89
+ if (buf.length > 0) {
90
+ if (cur.takeoff) {
91
+ self.postMessage({ action: "takeoff", id: ed.id, chunk: buf });
92
+ } else {
93
+ cur.mp3Size += buf.buffer.byteLength;
94
+ cur.encArr.push(buf.buffer);
95
+ }
96
+ }
97
+ break;
98
+ case "complete":
99
+ var buf = cur.encObj.flush();
100
+ if (buf.length > 0) {
101
+ if (cur.takeoff) {
102
+ self.postMessage({ action: "takeoff", id: ed.id, chunk: buf });
103
+ } else {
104
+ cur.mp3Size += buf.buffer.byteLength;
105
+ cur.encArr.push(buf.buffer);
106
+ }
107
+ }
108
+ var meta = wk_mp3TrimFix.fn(cur.encArr, cur.mp3Size, cur.pcmSize, cur.sampleRate);
109
+ self.postMessage({
110
+ action: ed.action,
111
+ id: ed.id,
112
+ blob: new Blob(cur.encArr, { type: "audio/mp3" }),
113
+ meta
114
+ });
115
+ break;
116
+ }
117
+ };
118
+ var jsCode = ");wk_lame();var wk_ctxs={};self.onmessage=" + onmsg;
119
+ jsCode += ";var wk_mp3TrimFix={rm:" + mp3TrimFix.rm + ",fn:" + mp3TrimFix.fn + "}";
120
+ var lamejsCode = Recorder.lamejs.toString();
121
+ var url = (window.URL || webkitURL).createObjectURL(
122
+ new Blob(["var wk_lame=(", lamejsCode, jsCode], { type: "text/javascript" })
123
+ );
124
+ worker = new Worker(url);
125
+ setTimeout(function() {
126
+ (window.URL || webkitURL).revokeObjectURL(url);
127
+ }, 1e4);
128
+ worker.onmessage = function(e) {
129
+ var data = e.data;
130
+ var ctx2 = openList[data.id];
131
+ if (ctx2) {
132
+ if (data.action == "takeoff") {
133
+ ctx2.set.takeoffEncodeChunk(new Uint8Array(data.chunk.buffer));
134
+ } else {
135
+ ctx2.call && ctx2.call(data);
136
+ ctx2.call = null;
137
+ }
138
+ }
139
+ };
140
+ }
141
+ var ctx = { worker, set: setOrNull, takeoffQueue: [] };
142
+ if (setOrNull) {
143
+ ctx.id = ++openList.id;
144
+ openList[ctx.id] = ctx;
145
+ worker.postMessage({
146
+ action: "init",
147
+ id: ctx.id,
148
+ sampleRate: setOrNull.sampleRate,
149
+ bitRate: setOrNull.bitRate,
150
+ takeoff: !!setOrNull.takeoffEncodeChunk,
151
+ x: new Int16Array(5)
152
+ });
153
+ } else {
154
+ worker.postMessage({
155
+ x: new Int16Array(5)
156
+ });
157
+ }
158
+ mp3Worker = worker;
159
+ return ctx;
160
+ } catch (e) {
161
+ worker && worker.terminate();
162
+ console.error(e);
163
+ return null;
164
+ }
165
+ };
166
+ Recorder.prototype.mp3_stop = function(startCtx) {
167
+ if (startCtx && startCtx.worker) {
168
+ startCtx.worker.postMessage({
169
+ action: "stop",
170
+ id: startCtx.id
171
+ });
172
+ startCtx.worker = null;
173
+ delete openList[startCtx.id];
174
+ var opens = -1;
175
+ for (var k in openList) {
176
+ opens++;
177
+ }
178
+ if (opens) {
179
+ Recorder.CLog("mp3 worker\u5269" + opens + "\u4E2A\u5728\u4E32\u884C\u7B49\u5F85", 3);
180
+ }
181
+ }
182
+ };
183
+ Recorder.prototype.mp3_encode = function(startCtx, pcm) {
184
+ if (startCtx && startCtx.worker) {
185
+ startCtx.worker.postMessage({
186
+ action: "encode",
187
+ id: startCtx.id,
188
+ pcm
189
+ });
190
+ }
191
+ };
192
+ Recorder.prototype.mp3_complete = function(startCtx, True, False, autoStop) {
193
+ var This = this;
194
+ if (startCtx && startCtx.worker) {
195
+ startCtx.call = function(data) {
196
+ mp3TrimFixSetMeta(data.meta, startCtx.set);
197
+ True(data.blob);
198
+ if (autoStop) {
199
+ This.mp3_stop(startCtx);
200
+ }
201
+ };
202
+ startCtx.worker.postMessage({
203
+ action: "complete",
204
+ id: startCtx.id
205
+ });
206
+ } else {
207
+ False("mp3\u7F16\u7801\u5668\u672A\u6253\u5F00");
208
+ }
209
+ };
210
+ Recorder.mp3ReadMeta = function(mp3Buffers, length) {
211
+ var parseInt_ES3 = typeof window == "object" ? window.parseInt : self.parseInt;
212
+ var u8arr0 = new Uint8Array(mp3Buffers[0] || []);
213
+ if (u8arr0.length < 4) {
214
+ return null;
215
+ }
216
+ var byteAt = function(idx2, u8) {
217
+ return ("0000000" + ((u8 || u8arr0)[idx2] || 0).toString(2)).substr(-8);
218
+ };
219
+ var b2 = byteAt(0) + byteAt(1);
220
+ var b4 = byteAt(2) + byteAt(3);
221
+ if (!/^1{11}/.test(b2)) {
222
+ return null;
223
+ }
224
+ var version = { "00": 2.5, 10: 2, 11: 1 }[b2.substr(11, 2)];
225
+ var layer = { "01": 3 }[b2.substr(13, 2)];
226
+ var sampleRate = {
227
+ 1: [44100, 48e3, 32e3],
228
+ 2: [22050, 24e3, 16e3],
229
+ 2.5: [11025, 12e3, 8e3]
230
+ }[version];
231
+ sampleRate && (sampleRate = sampleRate[parseInt_ES3(b4.substr(4, 2), 2)]);
232
+ var bitRate = [
233
+ [0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160],
234
+ [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]
235
+ ][version == 1 ? 1 : 0][parseInt_ES3(b4.substr(0, 4), 2)];
236
+ if (!version || !layer || !bitRate || !sampleRate) {
237
+ return null;
238
+ }
239
+ var duration = Math.round(length * 8 / bitRate);
240
+ var frame = layer == 1 ? 384 : layer == 2 ? 1152 : version == 1 ? 1152 : 576;
241
+ var frameDurationFloat = frame / sampleRate * 1e3;
242
+ var frameSize = Math.floor(frame * bitRate / 8 / sampleRate * 1e3);
243
+ var hasPadding = 0, seek = 0;
244
+ for (var i = 0; i < mp3Buffers.length; i++) {
245
+ var buf = mp3Buffers[i];
246
+ seek += buf.byteLength;
247
+ if (seek >= frameSize + 3) {
248
+ var buf8 = new Uint8Array(buf);
249
+ var idx = buf.byteLength - (seek - (frameSize + 3) + 1);
250
+ var ib4 = byteAt(idx, buf8);
251
+ hasPadding = ib4.charAt(6) == "1";
252
+ break;
253
+ }
254
+ }
255
+ if (hasPadding) {
256
+ frameSize++;
257
+ }
258
+ return {
259
+ version,
260
+ layer,
261
+ sampleRate,
262
+ bitRate,
263
+ duration,
264
+ size: length,
265
+ hasPadding,
266
+ frameSize,
267
+ frameDurationFloat
268
+ };
269
+ };
270
+ var mp3TrimFix = {
271
+ rm: Recorder.mp3ReadMeta,
272
+ fn: function(mp3Buffers, length, pcmLength, pcmSampleRate) {
273
+ var meta = this.rm(mp3Buffers, length);
274
+ if (!meta) {
275
+ return { err: "mp3\u975E\u9884\u5B9A\u683C\u5F0F" };
276
+ }
277
+ var pcmDuration = Math.round(pcmLength / pcmSampleRate * 1e3);
278
+ var num = Math.floor((meta.duration - pcmDuration) / meta.frameDurationFloat);
279
+ if (num > 0) {
280
+ var size = num * meta.frameSize - (meta.hasPadding ? 1 : 0);
281
+ length -= size;
282
+ var arr0 = 0, arrs = [];
283
+ for (var i = 0; i < mp3Buffers.length; i++) {
284
+ var arr = mp3Buffers[i];
285
+ if (size <= 0) {
286
+ break;
287
+ }
288
+ if (size >= arr.byteLength) {
289
+ size -= arr.byteLength;
290
+ arrs.push(arr);
291
+ mp3Buffers.splice(i, 1);
292
+ i--;
293
+ } else {
294
+ mp3Buffers[i] = arr.slice(size);
295
+ arr0 = arr;
296
+ size = 0;
297
+ }
298
+ }
299
+ var checkMeta = this.rm(mp3Buffers, length);
300
+ if (!checkMeta) {
301
+ arr0 && (mp3Buffers[0] = arr0);
302
+ for (var i = 0; i < arrs.length; i++) {
303
+ mp3Buffers.splice(i, 0, arrs[i]);
304
+ }
305
+ meta.err = "fix\u540E\u6570\u636E\u9519\u8BEF\uFF0C\u5DF2\u8FD8\u539F\uFF0C\u9519\u8BEF\u539F\u56E0\u4E0D\u660E";
306
+ }
307
+ var fix = meta.trimFix = {};
308
+ fix.remove = num;
309
+ fix.removeDuration = Math.round(num * meta.frameDurationFloat);
310
+ fix.duration = Math.round(length * 8 / meta.bitRate);
311
+ }
312
+ return meta;
313
+ }
314
+ };
315
+ var mp3TrimFixSetMeta = function(meta, set) {
316
+ var tag = "MP3\u4FE1\u606F ";
317
+ if (meta.sampleRate && meta.sampleRate != set.sampleRate || meta.bitRate && meta.bitRate != set.bitRate) {
318
+ Recorder.CLog(
319
+ tag + "\u548C\u8BBE\u7F6E\u7684\u4E0D\u5339\u914Dset:" + set.bitRate + "kbps " + set.sampleRate + "hz\uFF0C\u5DF2\u66F4\u65B0set:" + meta.bitRate + "kbps " + meta.sampleRate + "hz",
320
+ 3,
321
+ set
322
+ );
323
+ set.sampleRate = meta.sampleRate;
324
+ set.bitRate = meta.bitRate;
325
+ }
326
+ var trimFix = meta.trimFix;
327
+ if (trimFix) {
328
+ tag += "Fix\u79FB\u9664" + trimFix.remove + "\u5E27" + trimFix.removeDuration + "ms -> " + trimFix.duration + "ms";
329
+ if (trimFix.remove > 2) {
330
+ meta.err = (meta.err ? meta.err + ", " : "") + "\u79FB\u9664\u5E27\u6570\u8FC7\u591A";
331
+ }
332
+ } else {
333
+ tag += (meta.duration || "-") + "ms";
334
+ }
335
+ if (meta.err) {
336
+ Recorder.CLog(tag, 1, meta.err, meta);
337
+ } else {
338
+ Recorder.CLog(tag, meta);
339
+ }
340
+ };
341
+ }
342
+
343
+ export { useMP3 };