vome-core 0.0.49 → 0.0.51
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/dist/admin/config/plugin-dev.js +1 -54
- package/dist/admin/crud/components/vm-richtext.vue +115 -2
- package/dist/admin/crud/components/vm-upload.vue +1 -1
- package/dist/admin/crud/config.js +1 -33
- package/dist/admin/crud/confirm.js +1 -97
- package/dist/admin/crud/dict.js +1 -48
- package/dist/admin/crud/index.js +1 -74
- package/dist/admin/crud/key.js +1 -20
- package/dist/admin/crud/mitt.js +1 -21
- package/dist/admin/crud/plugins.js +1 -216
- package/dist/admin/crud/span.js +1 -35
- package/dist/admin/crud/style.js +1 -74
- package/dist/admin/crud/validate.js +1 -92
- package/dist/admin/crud/vm-search.vue +12 -4
- package/dist/admin/crud/vm-tabs.vue +94 -0
- package/dist/admin/crud/vm-toolbar.vue +16 -57
- package/dist/admin/directives/perm.js +1 -14
- package/dist/admin/hooks/useUpload.js +1 -63
- package/dist/admin/lib/browser.js +1 -24
- package/dist/admin/lib/cn.js +1 -5
- package/dist/admin/lib/dialog-float.js +1 -13
- package/dist/admin/lib/export-excel.js +1 -64
- package/dist/admin/lib/file-preview.js +1 -74
- package/dist/admin/lib/import-excel.js +1 -61
- package/dist/admin/lib/json.js +1 -42
- package/dist/admin/lib/menu.js +1 -11
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -88
- package/dist/admin/lib/video-frame.js +1 -80
- package/dist/index.js +1 -28021
- package/dist/server/index.js +1 -31407
- package/dist/shared/excel.js +1 -93
- package/dist/shared/index.js +1 -14
- package/dist/shared/tree.js +1 -39
- package/dist/src/orm/query-op.d.ts +10 -1
- package/package.json +1 -1
- package/typings/admin/comm/crud.d.ts +2 -2
- package/typings/admin/comm/crud.ts +1 -1
package/dist/admin/lib/upload.js
CHANGED
|
@@ -1,88 +1 @@
|
|
|
1
|
-
export const DEFAULT_UPLOAD_RULES = [
|
|
2
|
-
{
|
|
3
|
-
name: "图片",
|
|
4
|
-
type: "image",
|
|
5
|
-
color: "#67C23A",
|
|
6
|
-
exts: ["bmp", "jpg", "jpeg", "png", "tif", "gif", "svg", "webp"]
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
name: "视频",
|
|
10
|
-
type: "video",
|
|
11
|
-
color: "#826aec",
|
|
12
|
-
exts: ["avi", "wmv", "mpg", "mpeg", "mov", "rm", "ram", "swf", "flv", "mp4", "3gp"]
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: "音频",
|
|
16
|
-
type: "audio",
|
|
17
|
-
color: "#826aec",
|
|
18
|
-
exts: ["mp3", "wav", "wma", "mp2", "flac", "midi", "ra", "ape", "aac", "cda"]
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "文档",
|
|
22
|
-
type: "word",
|
|
23
|
-
color: "#53B7F4",
|
|
24
|
-
exts: ["doc", "docx", "docm", "dot", "dotx", "dotm"]
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "表格",
|
|
28
|
-
type: "excel",
|
|
29
|
-
color: "#53D39C",
|
|
30
|
-
exts: ["xls", "xlsx", "xlsm", "xlt", "xltx", "xltm"]
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: "演示",
|
|
34
|
-
type: "ppt",
|
|
35
|
-
color: "#F56C6C",
|
|
36
|
-
exts: ["ppt", "pptx", "pptm", "ppsx", "ppsm", "pps", "potx", "potm", "dpt", "dps"]
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "PDF",
|
|
40
|
-
type: "pdf",
|
|
41
|
-
color: "#8f3500",
|
|
42
|
-
exts: ["pdf"]
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "压缩包",
|
|
46
|
-
type: "rar",
|
|
47
|
-
color: "#FFC757",
|
|
48
|
-
exts: ["rar", "zip", "7z", "tar", "gz"]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: "文件",
|
|
52
|
-
type: "file",
|
|
53
|
-
color: "#909399",
|
|
54
|
-
exts: []
|
|
55
|
-
}
|
|
56
|
-
];
|
|
57
|
-
export function extname(path = "") {
|
|
58
|
-
const m = String(path).split("?")[0]?.match(/\.([^.]+)$/);
|
|
59
|
-
return m ? m[1].toLowerCase() : "";
|
|
60
|
-
}
|
|
61
|
-
export function filename(path = "") {
|
|
62
|
-
const base = String(path).split("?")[0]?.split("/").pop() || "";
|
|
63
|
-
const ext = extname(base);
|
|
64
|
-
return ext ? base.slice(0, -(ext.length + 1)) : base;
|
|
65
|
-
}
|
|
66
|
-
export function fileRule(path, rules = DEFAULT_UPLOAD_RULES) {
|
|
67
|
-
if (path?.includes("data:image/")) {
|
|
68
|
-
return rules.find((r) => r.type === "image");
|
|
69
|
-
}
|
|
70
|
-
const ext = extname(path || "");
|
|
71
|
-
const hit = rules.find((r) => r.exts.includes(ext));
|
|
72
|
-
return hit || rules.find((r) => r.type === "file");
|
|
73
|
-
}
|
|
74
|
-
export function getFileType(path, rules = DEFAULT_UPLOAD_RULES) {
|
|
75
|
-
return fileRule(path, rules).type;
|
|
76
|
-
}
|
|
77
|
-
export function getUploadRule(type, rules = DEFAULT_UPLOAD_RULES) {
|
|
78
|
-
return rules.find((r) => r.type === type) || rules[rules.length - 1];
|
|
79
|
-
}
|
|
80
|
-
export function getUrls(list) {
|
|
81
|
-
return list.map((e) => String(e.url || "").replace(/,/g, encodeURIComponent(",")));
|
|
82
|
-
}
|
|
83
|
-
export function pathJoin(...parts) {
|
|
84
|
-
return parts.map((p) => p.replace(/(^\/+|\/+$)/g, "")).filter(Boolean).join("/");
|
|
85
|
-
}
|
|
86
|
-
export function uploadUid() {
|
|
87
|
-
return `${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
|
|
88
|
-
}
|
|
1
|
+
const _0x2b1e9d=_0x171e;(function(_0x4f9343,_0x2550be){const _0x3e06f8=_0x171e,_0x321015=_0x4f9343();while(!![]){try{const _0x10e463=-parseInt(_0x3e06f8(0x15e))/0x1+parseInt(_0x3e06f8(0x15d))/0x2*(parseInt(_0x3e06f8(0x15a))/0x3)+parseInt(_0x3e06f8(0x158))/0x4+-parseInt(_0x3e06f8(0x184))/0x5*(-parseInt(_0x3e06f8(0x178))/0x6)+-parseInt(_0x3e06f8(0x160))/0x7+-parseInt(_0x3e06f8(0x179))/0x8*(-parseInt(_0x3e06f8(0x18a))/0x9)+-parseInt(_0x3e06f8(0x197))/0xa;if(_0x10e463===_0x2550be)break;else _0x321015['push'](_0x321015['shift']());}catch(_0x4bd332){_0x321015['push'](_0x321015['shift']());}}}(_0x22a0,0xe94f1));export const DEFAULT_UPLOAD_RULES=[{'name':'图片','type':_0x2b1e9d(0x16c),'color':_0x2b1e9d(0x175),'exts':[_0x2b1e9d(0x16a),_0x2b1e9d(0x19d),'jpeg',_0x2b1e9d(0x192),_0x2b1e9d(0x165),_0x2b1e9d(0x19c),'svg',_0x2b1e9d(0x186)]},{'name':'视频','type':'video','color':'#826aec','exts':['avi',_0x2b1e9d(0x194),_0x2b1e9d(0x188),_0x2b1e9d(0x16b),_0x2b1e9d(0x153),'rm',_0x2b1e9d(0x154),'swf',_0x2b1e9d(0x155),_0x2b1e9d(0x17d),_0x2b1e9d(0x18f)]},{'name':'音频','type':'audio','color':_0x2b1e9d(0x156),'exts':['mp3',_0x2b1e9d(0x17b),_0x2b1e9d(0x172),_0x2b1e9d(0x193),_0x2b1e9d(0x182),_0x2b1e9d(0x161),'ra',_0x2b1e9d(0x191),'aac','cda']},{'name':'文档','type':_0x2b1e9d(0x180),'color':_0x2b1e9d(0x185),'exts':[_0x2b1e9d(0x15c),_0x2b1e9d(0x17a),'docm',_0x2b1e9d(0x187),_0x2b1e9d(0x1a0),_0x2b1e9d(0x171)]},{'name':'表格','type':_0x2b1e9d(0x1a1),'color':_0x2b1e9d(0x18e),'exts':[_0x2b1e9d(0x18b),_0x2b1e9d(0x169),'xlsm',_0x2b1e9d(0x17e),_0x2b1e9d(0x19b),_0x2b1e9d(0x195)]},{'name':'演示','type':_0x2b1e9d(0x189),'color':_0x2b1e9d(0x196),'exts':[_0x2b1e9d(0x189),_0x2b1e9d(0x163),_0x2b1e9d(0x173),'ppsx','ppsm',_0x2b1e9d(0x19f),_0x2b1e9d(0x17c),'potm',_0x2b1e9d(0x183),_0x2b1e9d(0x16f)]},{'name':_0x2b1e9d(0x198),'type':'pdf','color':_0x2b1e9d(0x15b),'exts':[_0x2b1e9d(0x159)]},{'name':'压缩包','type':_0x2b1e9d(0x1a2),'color':_0x2b1e9d(0x174),'exts':[_0x2b1e9d(0x1a2),_0x2b1e9d(0x181),'7z','tar','gz']},{'name':'文件','type':'file','color':_0x2b1e9d(0x190),'exts':[]}];function _0x171e(_0x15f56c,_0xbc1080){_0x15f56c=_0x15f56c-0x153;const _0x22a09e=_0x22a0();let _0x171e29=_0x22a09e[_0x15f56c];if(_0x171e['BURlXB']===undefined){var _0x1f38c9=function(_0x5d4542){const _0x232473='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x506b8e='',_0x2b6988='';for(let _0x31dae1=0x0,_0x3a9e93,_0x3c954e,_0x510ebc=0x0;_0x3c954e=_0x5d4542['charAt'](_0x510ebc++);~_0x3c954e&&(_0x3a9e93=_0x31dae1%0x4?_0x3a9e93*0x40+_0x3c954e:_0x3c954e,_0x31dae1++%0x4)?_0x506b8e+=String['fromCharCode'](0xff&_0x3a9e93>>(-0x2*_0x31dae1&0x6)):0x0){_0x3c954e=_0x232473['indexOf'](_0x3c954e);}for(let _0x2d6bb5=0x0,_0x44492e=_0x506b8e['length'];_0x2d6bb5<_0x44492e;_0x2d6bb5++){_0x2b6988+='%'+('00'+_0x506b8e['charCodeAt'](_0x2d6bb5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b6988);};_0x171e['LEWzdn']=_0x1f38c9,_0x171e['qdVril']={},_0x171e['BURlXB']=!![];}const _0x12fcff=_0x22a09e[0x0],_0x2affcc=_0x15f56c+_0x12fcff,_0x2c932f=_0x171e['qdVril'][_0x2affcc];return!_0x2c932f?(_0x171e29=_0x171e['LEWzdn'](_0x171e29),_0x171e['qdVril'][_0x2affcc]=_0x171e29):_0x171e29=_0x2c932f,_0x171e29;}export function extname(_0x506b8e=''){const _0x54f262=_0x2b1e9d,_0x2b6988=String(_0x506b8e)[_0x54f262(0x164)]('?')[0x0]?.[_0x54f262(0x19e)](/\.([^.]+)$/);return _0x2b6988?_0x2b6988[0x1][_0x54f262(0x199)]():'';}export function filename(_0x31dae1=''){const _0x4387f5=_0x2b1e9d,_0x3a9e93=String(_0x31dae1)['split']('?')[0x0]?.[_0x4387f5(0x164)]('/')[_0x4387f5(0x16e)]()||'',_0x3c954e=extname(_0x3a9e93);return _0x3c954e?_0x3a9e93[_0x4387f5(0x19a)](0x0,-(_0x3c954e[_0x4387f5(0x168)]+0x1)):_0x3a9e93;}function _0x22a0(){const _0x54f8a2=['yM1W','BxbLzW','Aw1Hz2u','DhLWzq','Cg9W','zhbZ','zxH0CW','zg90Bq','D21H','Chb0Bq','i0zgqZC1nW','iZy3qZiZqq','Aw5JBhvKzxm','DxjS','ntaYmdHSs2LUs0W','mJaWmgLABLD4uq','zg9JEa','D2f2','Cg90Ea','Bxa0','EgX0','CMvWBgfJzq','D29Yza','EMLW','zMXHyW','zhb0','oduWtNzgAezx','iZuZqJDgna','D2vICa','zg90','BxbN','Chb0','nJq1otn1CxvXD0i','EgXZ','zgf0ytPPBwfNzs8','BM93','iZuZrdm5qW','m2DW','iZKWotm5oq','yxbL','Cg5N','BxaY','D212','EgX0Bq','i0y1nKm2qW','nduWmdaWnZb5CeTtu3e','uerg','Dg9mB3DLCKnHC2u','C2XPy2u','EgX0Ea','z2LM','ANbN','Bwf0y2G','ChbZ','zg90Ea','zxHJzwW','CMfY','Bw92','CMfT','zMX2','iZGYnMfLyW','BwfW','nZq2ntq5nKviwfn1vG','CgrM','ode0nZGYqLPSyxjh','iZHMmZuWma','zg9J','nLfNBMX1ra','mZeXnde1zKXnC212','zMLSzq','ote2mZC3ChLjtNjj','BwLKAq','zMLSDgvY','Chb0Ea','C3bSAxq','DgLM','zMLUza','Dg9tDhjPBMC','BgvUz3rO','EgXZEa'];_0x22a0=function(){return _0x54f8a2;};return _0x22a0();}export function fileRule(_0x510ebc,_0x2d6bb5=DEFAULT_UPLOAD_RULES){const _0x8cf925=_0x2b1e9d;if(_0x510ebc?.[_0x8cf925(0x176)](_0x8cf925(0x18c)))return _0x2d6bb5[_0x8cf925(0x166)](_0x58898e=>_0x58898e[_0x8cf925(0x16d)]==='image');const _0x44492e=extname(_0x510ebc||''),_0x55a665=_0x2d6bb5['find'](_0x89c9c6=>_0x89c9c6[_0x8cf925(0x170)][_0x8cf925(0x176)](_0x44492e));return _0x55a665||_0x2d6bb5[_0x8cf925(0x166)](_0x3223e2=>_0x3223e2[_0x8cf925(0x16d)]===_0x8cf925(0x15f));}export function getFileType(_0x5b95d1,_0x5925e5=DEFAULT_UPLOAD_RULES){return fileRule(_0x5b95d1,_0x5925e5)['type'];}export function getUploadRule(_0x200922,_0x12b78f=DEFAULT_UPLOAD_RULES){const _0x46e693=_0x2b1e9d;return _0x12b78f[_0x46e693(0x166)](_0x4dc25c=>_0x4dc25c[_0x46e693(0x16d)]===_0x200922)||_0x12b78f[_0x12b78f[_0x46e693(0x168)]-0x1];}export function getUrls(_0x3469ff){const _0x29a4ff=_0x2b1e9d;return _0x3469ff[_0x29a4ff(0x157)](_0x18f4e0=>String(_0x18f4e0[_0x29a4ff(0x177)]||'')['replace'](/,/g,encodeURIComponent(',')));}export function pathJoin(..._0x1e7b80){const _0x3b474c=_0x2b1e9d;return _0x1e7b80[_0x3b474c(0x157)](_0x46c809=>_0x46c809[_0x3b474c(0x17f)](/(^\/+|\/+$)/g,''))[_0x3b474c(0x162)](Boolean)['join']('/');}export function uploadUid(){const _0x58dbc2=_0x2b1e9d;return Date[_0x58dbc2(0x18d)]()+'_'+Math['random']()[_0x58dbc2(0x167)](0x24)[_0x58dbc2(0x19a)](0x2,0x9);}
|
|
@@ -1,80 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export const FRAME_CAPTURE_TIMEOUT_MS = 8000;
|
|
3
|
-
export function captureVideoFrame(url) {
|
|
4
|
-
if (typeof document === "undefined")
|
|
5
|
-
return Promise.resolve(null);
|
|
6
|
-
return new Promise((resolve) => {
|
|
7
|
-
const video = document.createElement("video");
|
|
8
|
-
video.crossOrigin = "anonymous";
|
|
9
|
-
video.muted = true;
|
|
10
|
-
video.playsInline = true;
|
|
11
|
-
video.preload = "auto";
|
|
12
|
-
let settled = false;
|
|
13
|
-
const finish = (value) => {
|
|
14
|
-
if (settled)
|
|
15
|
-
return;
|
|
16
|
-
settled = true;
|
|
17
|
-
window.clearTimeout(timer);
|
|
18
|
-
video.removeAttribute("src");
|
|
19
|
-
video.load();
|
|
20
|
-
resolve(value);
|
|
21
|
-
};
|
|
22
|
-
const timer = window.setTimeout(() => finish(null), FRAME_CAPTURE_TIMEOUT_MS);
|
|
23
|
-
video.addEventListener("error", () => finish(null), { once: true });
|
|
24
|
-
video.addEventListener("loadeddata", () => {
|
|
25
|
-
try {
|
|
26
|
-
video.currentTime = 0.01;
|
|
27
|
-
} catch {
|
|
28
|
-
finish(null);
|
|
29
|
-
}
|
|
30
|
-
}, { once: true });
|
|
31
|
-
video.addEventListener("seeked", () => {
|
|
32
|
-
try {
|
|
33
|
-
const w = video.videoWidth;
|
|
34
|
-
const h = video.videoHeight;
|
|
35
|
-
if (!w || !h) {
|
|
36
|
-
finish(null);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const canvas = document.createElement("canvas");
|
|
40
|
-
canvas.width = w;
|
|
41
|
-
canvas.height = h;
|
|
42
|
-
const ctx = canvas.getContext("2d");
|
|
43
|
-
if (!ctx) {
|
|
44
|
-
finish(null);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
ctx.drawImage(video, 0, 0, w, h);
|
|
48
|
-
finish(canvas.toDataURL("image/jpeg", 0.82));
|
|
49
|
-
} catch {
|
|
50
|
-
finish(null);
|
|
51
|
-
}
|
|
52
|
-
}, { once: true });
|
|
53
|
-
video.src = url;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
export function useVideoFrame(source) {
|
|
57
|
-
const videoFrameSrc = ref("");
|
|
58
|
-
const frameFailed = ref(false);
|
|
59
|
-
let captureToken = 0;
|
|
60
|
-
watch(source, (url) => {
|
|
61
|
-
captureToken += 1;
|
|
62
|
-
const token = captureToken;
|
|
63
|
-
videoFrameSrc.value = "";
|
|
64
|
-
frameFailed.value = false;
|
|
65
|
-
if (!url)
|
|
66
|
-
return;
|
|
67
|
-
captureVideoFrame(url).then((dataUrl) => {
|
|
68
|
-
if (token !== captureToken)
|
|
69
|
-
return;
|
|
70
|
-
if (dataUrl)
|
|
71
|
-
videoFrameSrc.value = dataUrl;
|
|
72
|
-
else
|
|
73
|
-
frameFailed.value = true;
|
|
74
|
-
});
|
|
75
|
-
}, { immediate: true });
|
|
76
|
-
onUnmounted(() => {
|
|
77
|
-
captureToken += 1;
|
|
78
|
-
});
|
|
79
|
-
return { videoFrameSrc, frameFailed };
|
|
80
|
-
}
|
|
1
|
+
function _0x4062(_0x38a8ab,_0x2be63c){_0x38a8ab=_0x38a8ab-0xb3;const _0x2223fe=_0x2223();let _0x406299=_0x2223fe[_0x38a8ab];if(_0x4062['KJLYRX']===undefined){var _0x3a8be8=function(_0x5d565b){const _0x1fe14d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x403229='',_0x7626b4='';for(let _0x18818a=0x0,_0x2bfa5e,_0x18bd60,_0x40da6b=0x0;_0x18bd60=_0x5d565b['charAt'](_0x40da6b++);~_0x18bd60&&(_0x2bfa5e=_0x18818a%0x4?_0x2bfa5e*0x40+_0x18bd60:_0x18bd60,_0x18818a++%0x4)?_0x403229+=String['fromCharCode'](0xff&_0x2bfa5e>>(-0x2*_0x18818a&0x6)):0x0){_0x18bd60=_0x1fe14d['indexOf'](_0x18bd60);}for(let _0x157b6f=0x0,_0x5cd2cf=_0x403229['length'];_0x157b6f<_0x5cd2cf;_0x157b6f++){_0x7626b4+='%'+('00'+_0x403229['charCodeAt'](_0x157b6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7626b4);};_0x4062['ngvNEq']=_0x3a8be8,_0x4062['nYBciW']={},_0x4062['KJLYRX']=!![];}const _0x15da0=_0x2223fe[0x0],_0x2904e5=_0x38a8ab+_0x15da0,_0x4c0054=_0x4062['nYBciW'][_0x2904e5];return!_0x4c0054?(_0x406299=_0x4062['ngvNEq'](_0x406299),_0x4062['nYBciW'][_0x2904e5]=_0x406299):_0x406299=_0x4c0054,_0x406299;}(function(_0x3cbc33,_0x3622c5){const _0x5aa9d3=_0x4062,_0x5e2d00=_0x3cbc33();while(!![]){try{const _0x574d7a=parseInt(_0x5aa9d3(0xb9))/0x1+-parseInt(_0x5aa9d3(0xca))/0x2+-parseInt(_0x5aa9d3(0xbb))/0x3*(parseInt(_0x5aa9d3(0xbe))/0x4)+parseInt(_0x5aa9d3(0xd1))/0x5+-parseInt(_0x5aa9d3(0xbd))/0x6*(-parseInt(_0x5aa9d3(0xce))/0x7)+parseInt(_0x5aa9d3(0xc4))/0x8+-parseInt(_0x5aa9d3(0xc9))/0x9*(parseInt(_0x5aa9d3(0xd0))/0xa);if(_0x574d7a===_0x3622c5)break;else _0x5e2d00['push'](_0x5e2d00['shift']());}catch(_0x1e8ec2){_0x5e2d00['push'](_0x5e2d00['shift']());}}}(_0x2223,0x66c99));import{onUnmounted,ref,watch}from'vue';function _0x2223(){const _0x2f2fbd=['Dg9eyxrHvvjm','mJi2mK1hsKfZvG','ywrKrxzLBNrmAxn0zw5LCG','mtu5mJKZne9nyMLiua','mZG0neTgs1z5uG','C2v0vgLTzw91Da','DgHLBG','CMvZB2X2zq','Bg9Hza','CgXHExnjBMXPBMu','ntaZoty4mgjJuur2Cq','C3jJ','y3jVC3npCMLNAw4','DMLKzw9xAwr0Aa','Dw5KzwzPBMvK','oxfxvg1pza','odqYmdu2qwDdCxbt','Bxv0zwq','C2vLA2vK','AgvPz2H0','mtrIrKnmwhe','yxv0BW','ntm4mtGXmeXXq091sa','mtC0mdCWmg9Qu29uqq','y3jLyxrLrwXLBwvUDa','y2fUDMfZ','y2XLyxjuAw1LB3v0','DMfSDwu','Bg9HzgvKzgf0yq','DMLKzw8','zhjHD0LTywDL','ChjLBg9Hza','zxjYB3i','y3vYCMvUDfrPBwu','ntK1nZqYtezrsw9c'];_0x2223=function(){return _0x2f2fbd;};return _0x2223();}export const FRAME_CAPTURE_TIMEOUT_MS=0x1f40;export function captureVideoFrame(_0x403229){const _0x51a30b=_0x4062;if(typeof document===_0x51a30b(0xc8))return Promise[_0x51a30b(0xc1)](null);return new Promise(_0x7626b4=>{const _0x22ddc7=_0x51a30b,_0x18818a=document[_0x22ddc7(0xd2)](_0x22ddc7(0xb4));_0x18818a[_0x22ddc7(0xc6)]='anonymous',_0x18818a[_0x22ddc7(0xcb)]=!![],_0x18818a[_0x22ddc7(0xc3)]=!![],_0x18818a[_0x22ddc7(0xb6)]=_0x22ddc7(0xcf);let _0x2bfa5e=![];const _0x18bd60=_0x157b6f=>{const _0x2b4b21=_0x22ddc7;if(_0x2bfa5e)return;_0x2bfa5e=!![],window[_0x2b4b21(0xd4)](_0x40da6b),_0x18818a['removeAttribute'](_0x2b4b21(0xc5)),_0x18818a[_0x2b4b21(0xc2)](),_0x7626b4(_0x157b6f);},_0x40da6b=window[_0x22ddc7(0xbf)](()=>_0x18bd60(null),FRAME_CAPTURE_TIMEOUT_MS);_0x18818a[_0x22ddc7(0xbc)](_0x22ddc7(0xb7),()=>_0x18bd60(null),{'once':!![]}),_0x18818a[_0x22ddc7(0xbc)](_0x22ddc7(0xb3),()=>{const _0x31f592=_0x22ddc7;try{_0x18818a[_0x31f592(0xb8)]=0.01;}catch{_0x18bd60(null);}},{'once':!![]}),_0x18818a[_0x22ddc7(0xbc)](_0x22ddc7(0xcc),()=>{const _0x14f3d5=_0x22ddc7;try{const _0x5cd2cf=_0x18818a[_0x14f3d5(0xc7)],_0x2c2e5c=_0x18818a['videoHeight'];if(!_0x5cd2cf||!_0x2c2e5c){_0x18bd60(null);return;}const _0x3e439d=document[_0x14f3d5(0xd2)](_0x14f3d5(0xd3));_0x3e439d['width']=_0x5cd2cf,_0x3e439d[_0x14f3d5(0xcd)]=_0x2c2e5c;const _0x24c9a0=_0x3e439d['getContext']('2d');if(!_0x24c9a0){_0x18bd60(null);return;}_0x24c9a0[_0x14f3d5(0xb5)](_0x18818a,0x0,0x0,_0x5cd2cf,_0x2c2e5c),_0x18bd60(_0x3e439d[_0x14f3d5(0xba)]('image/jpeg',0.82));}catch{_0x18bd60(null);}},{'once':!![]}),_0x18818a[_0x22ddc7(0xc5)]=_0x403229;});}export function useVideoFrame(_0x34f888){const _0x36e907=ref(''),_0x53a9ce=ref(![]);let _0x4ff879=0x0;return watch(_0x34f888,_0x5b8663=>{const _0xd74491=_0x4062;_0x4ff879+=0x1;const _0x274c8b=_0x4ff879;_0x36e907[_0xd74491(0xd5)]='',_0x53a9ce[_0xd74491(0xd5)]=![];if(!_0x5b8663)return;captureVideoFrame(_0x5b8663)[_0xd74491(0xc0)](_0x4f7ce7=>{const _0x4c016c=_0xd74491;if(_0x274c8b!==_0x4ff879)return;if(_0x4f7ce7)_0x36e907[_0x4c016c(0xd5)]=_0x4f7ce7;else _0x53a9ce[_0x4c016c(0xd5)]=!![];});},{'immediate':!![]}),onUnmounted(()=>{_0x4ff879+=0x1;}),{'videoFrameSrc':_0x36e907,'frameFailed':_0x53a9ce};}
|