vome-core 0.0.49 → 0.0.52

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 (40) hide show
  1. package/dist/admin/config/plugin-dev.js +1 -54
  2. package/dist/admin/crud/components/vm-richtext.vue +115 -2
  3. package/dist/admin/crud/components/vm-upload.vue +1 -1
  4. package/dist/admin/crud/config.js +1 -33
  5. package/dist/admin/crud/confirm.js +1 -97
  6. package/dist/admin/crud/dict.js +1 -48
  7. package/dist/admin/crud/index.js +1 -74
  8. package/dist/admin/crud/key.js +1 -20
  9. package/dist/admin/crud/mitt.js +1 -21
  10. package/dist/admin/crud/plugins.js +1 -216
  11. package/dist/admin/crud/span.js +1 -35
  12. package/dist/admin/crud/style.js +1 -74
  13. package/dist/admin/crud/validate.js +1 -92
  14. package/dist/admin/crud/vm-search.vue +12 -4
  15. package/dist/admin/crud/vm-tabs.vue +94 -0
  16. package/dist/admin/crud/vm-toolbar.vue +16 -57
  17. package/dist/admin/directives/perm.js +1 -14
  18. package/dist/admin/hooks/useUpload.js +1 -63
  19. package/dist/admin/lib/browser.js +1 -24
  20. package/dist/admin/lib/cn.js +1 -5
  21. package/dist/admin/lib/dialog-float.js +1 -13
  22. package/dist/admin/lib/export-excel.js +1 -64
  23. package/dist/admin/lib/file-preview.js +1 -74
  24. package/dist/admin/lib/import-excel.js +1 -61
  25. package/dist/admin/lib/json.js +1 -42
  26. package/dist/admin/lib/menu.js +1 -11
  27. package/dist/admin/lib/tree.js +1 -1
  28. package/dist/admin/lib/upload.js +1 -88
  29. package/dist/admin/lib/video-frame.js +1 -80
  30. package/dist/index.js +1 -28021
  31. package/dist/server/index.js +1 -31407
  32. package/dist/shared/excel.js +1 -93
  33. package/dist/shared/index.js +1 -14
  34. package/dist/shared/tree.js +1 -39
  35. package/dist/src/orm/join-tables.d.ts +12 -0
  36. package/dist/src/orm/query-op.d.ts +10 -1
  37. package/dist/typings/routing/crud.d.ts +18 -4
  38. package/package.json +1 -1
  39. package/typings/admin/comm/crud.d.ts +2 -2
  40. package/typings/admin/comm/crud.ts +1 -1
@@ -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 _0x5b31af=_0x4727;(function(_0x55d24d,_0x3d4877){const _0x22e64a=_0x4727,_0x104db3=_0x55d24d();while(!![]){try{const _0x1edd67=parseInt(_0x22e64a(0x14e))/0x1+-parseInt(_0x22e64a(0x11b))/0x2+-parseInt(_0x22e64a(0x140))/0x3+-parseInt(_0x22e64a(0x110))/0x4*(-parseInt(_0x22e64a(0x137))/0x5)+-parseInt(_0x22e64a(0x11d))/0x6+parseInt(_0x22e64a(0x122))/0x7+parseInt(_0x22e64a(0x115))/0x8;if(_0x1edd67===_0x3d4877)break;else _0x104db3['push'](_0x104db3['shift']());}catch(_0x4ba134){_0x104db3['push'](_0x104db3['shift']());}}}(_0x5639,0x45855));export const DEFAULT_UPLOAD_RULES=[{'name':'图片','type':_0x5b31af(0x12a),'color':_0x5b31af(0x10f),'exts':['bmp',_0x5b31af(0x121),_0x5b31af(0x141),_0x5b31af(0x124),_0x5b31af(0x13e),_0x5b31af(0x12d),_0x5b31af(0x13b),_0x5b31af(0x113)]},{'name':'视频','type':_0x5b31af(0x109),'color':_0x5b31af(0x136),'exts':[_0x5b31af(0x146),'wmv',_0x5b31af(0x120),_0x5b31af(0x14b),_0x5b31af(0x10d),'rm',_0x5b31af(0x131),_0x5b31af(0x13f),'flv','mp4','3gp']},{'name':'音频','type':'audio','color':_0x5b31af(0x136),'exts':[_0x5b31af(0x12e),_0x5b31af(0x151),_0x5b31af(0x135),_0x5b31af(0x10a),'flac',_0x5b31af(0x12c),'ra','ape',_0x5b31af(0x14d),_0x5b31af(0x14a)]},{'name':'文档','type':'word','color':_0x5b31af(0x152),'exts':[_0x5b31af(0x12f),_0x5b31af(0x13a),'docm','dot','dotx',_0x5b31af(0x150)]},{'name':'表格','type':_0x5b31af(0x118),'color':_0x5b31af(0x139),'exts':[_0x5b31af(0x14c),_0x5b31af(0x149),'xlsm',_0x5b31af(0x130),_0x5b31af(0x10c),_0x5b31af(0x12b)]},{'name':'演示','type':_0x5b31af(0x142),'color':'#F56C6C','exts':[_0x5b31af(0x142),_0x5b31af(0x13c),_0x5b31af(0x14f),'ppsx',_0x5b31af(0x112),_0x5b31af(0x119),_0x5b31af(0x134),'potm',_0x5b31af(0x116),_0x5b31af(0x127)]},{'name':_0x5b31af(0x11a),'type':_0x5b31af(0x10b),'color':'#8f3500','exts':[_0x5b31af(0x10b)]},{'name':'压缩包','type':_0x5b31af(0x111),'color':_0x5b31af(0x117),'exts':[_0x5b31af(0x111),_0x5b31af(0x147),'7z',_0x5b31af(0x132),'gz']},{'name':'文件','type':_0x5b31af(0x148),'color':_0x5b31af(0x13d),'exts':[]}];export function extname(_0x178563=''){const _0x354790=_0x5b31af,_0x228aac=String(_0x178563)[_0x354790(0x11f)]('?')[0x0]?.['match'](/\.([^.]+)$/);return _0x228aac?_0x228aac[0x1][_0x354790(0x11e)]():'';}export function filename(_0x58828a=''){const _0x40e79c=_0x5b31af,_0x5f3851=String(_0x58828a)[_0x40e79c(0x11f)]('?')[0x0]?.[_0x40e79c(0x11f)]('/')[_0x40e79c(0x11c)]()||'',_0x329c8c=extname(_0x5f3851);return _0x329c8c?_0x5f3851[_0x40e79c(0x126)](0x0,-(_0x329c8c[_0x40e79c(0x114)]+0x1)):_0x5f3851;}export function fileRule(_0x5bebc3,_0x351d00=DEFAULT_UPLOAD_RULES){const _0x4292c0=_0x5b31af;if(_0x5bebc3?.[_0x4292c0(0x143)]('data:image/'))return _0x351d00['find'](_0x2e886d=>_0x2e886d['type']===_0x4292c0(0x12a));const _0x115150=extname(_0x5bebc3||''),_0x14de42=_0x351d00[_0x4292c0(0x125)](_0x280029=>_0x280029[_0x4292c0(0x144)]['includes'](_0x115150));return _0x14de42||_0x351d00[_0x4292c0(0x125)](_0x5f04ed=>_0x5f04ed[_0x4292c0(0x123)]===_0x4292c0(0x148));}function _0x4727(_0xcb32f5,_0x4ae1be){_0xcb32f5=_0xcb32f5-0x109;const _0x5639fa=_0x5639();let _0x4727ae=_0x5639fa[_0xcb32f5];if(_0x4727['XiGgSi']===undefined){var _0x38c0cd=function(_0x556009){const _0x396ec6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x178563='',_0x228aac='';for(let _0x58828a=0x0,_0x5f3851,_0x329c8c,_0x5bebc3=0x0;_0x329c8c=_0x556009['charAt'](_0x5bebc3++);~_0x329c8c&&(_0x5f3851=_0x58828a%0x4?_0x5f3851*0x40+_0x329c8c:_0x329c8c,_0x58828a++%0x4)?_0x178563+=String['fromCharCode'](0xff&_0x5f3851>>(-0x2*_0x58828a&0x6)):0x0){_0x329c8c=_0x396ec6['indexOf'](_0x329c8c);}for(let _0x351d00=0x0,_0x115150=_0x178563['length'];_0x351d00<_0x115150;_0x351d00++){_0x228aac+='%'+('00'+_0x178563['charCodeAt'](_0x351d00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x228aac);};_0x4727['IHPpdY']=_0x38c0cd,_0x4727['iUavXS']={},_0x4727['XiGgSi']=!![];}const _0x93579c=_0x5639fa[0x0],_0x11d5ca=_0xcb32f5+_0x93579c,_0x45ac91=_0x4727['iUavXS'][_0x11d5ca];return!_0x45ac91?(_0x4727ae=_0x4727['IHPpdY'](_0x4727ae),_0x4727['iUavXS'][_0x11d5ca]=_0x4727ae):_0x4727ae=_0x45ac91,_0x4727ae;}export function getFileType(_0x1e1f7d,_0x2b5991=DEFAULT_UPLOAD_RULES){return fileRule(_0x1e1f7d,_0x2b5991)['type'];}export function getUploadRule(_0x553624,_0x313dfe=DEFAULT_UPLOAD_RULES){const _0xcf7b0b=_0x5b31af;return _0x313dfe[_0xcf7b0b(0x125)](_0x29e447=>_0x29e447[_0xcf7b0b(0x123)]===_0x553624)||_0x313dfe[_0x313dfe[_0xcf7b0b(0x114)]-0x1];}export function getUrls(_0x59bc76){const _0x52efa9=_0x5b31af;return _0x59bc76[_0x52efa9(0x145)](_0x4d825f=>String(_0x4d825f[_0x52efa9(0x133)]||'')['replace'](/,/g,encodeURIComponent(',')));}function _0x5639(){const _0xe88ab=['DhLWzq','Cg5N','zMLUza','C2XPy2u','zhbZ','Dg9tDhjPBMC','AM9PBG','Aw1Hz2u','EgX0Bq','BwLKAq','z2LM','BxaZ','zg9J','EgX0','CMfT','DgfY','DxjS','Cg90Ea','D21H','iZGYnMfLyW','mJi1C2jRvwzJ','CMfUzg9T','iZuZrdm5qW','zg9JEa','C3zN','Chb0Ea','iZKWotm5oq','DgLM','C3DM','nZuYmZe5wLjOC0De','ANbLzW','Chb0','Aw5JBhvKzxm','zxH0CW','BwfW','yxzP','EMLW','zMLSzq','EgXZEa','y2rH','BxbLzW','EgXZ','ywfJ','mtiWody4sePgvMjL','Chb0Bq','zg90Bq','D2f2','iZuZqJDgna','BM93','DMLKzw8','BxaY','CgrM','EgX0Ea','Bw92','zMLSDgvY','iZy3qZiZqq','mZz5veTiyuC','CMfY','ChbZBq','D2vICa','BgvUz3rO','mZy3mZK2og9MDLbyva','zhb0','i0zgqZC1nW','zxHJzwW','ChbZ','uerg','mZyYota4shvrA1D4','Cg9W','mtyZotG0mMH2ue5fzG','Dg9mB3DLCKnHC2u','C3bSAxq','BxbN','ANbN','mJG2odqWnhr5AK9yuq'];_0x5639=function(){return _0xe88ab;};return _0x5639();}export function pathJoin(..._0x2865ef){const _0x1f3bbd=_0x5b31af;return _0x2865ef['map'](_0x3bba41=>_0x3bba41['replace'](/(^\/+|\/+$)/g,''))[_0x1f3bbd(0x10e)](Boolean)[_0x1f3bbd(0x129)]('/');}export function uploadUid(){const _0x179a5a=_0x5b31af;return Date[_0x179a5a(0x153)]()+'_'+Math[_0x179a5a(0x138)]()[_0x179a5a(0x128)](0x24)['slice'](0x2,0x9);}
@@ -1,80 +1 @@
1
- import { onUnmounted, ref, watch } from "vue";
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(_0x593073,_0x156f5e){const _0x4dd83d=_0x260e,_0x23bb97=_0x593073();while(!![]){try{const _0x42cfce=-parseInt(_0x4dd83d(0xaa))/0x1+-parseInt(_0x4dd83d(0xb4))/0x2*(parseInt(_0x4dd83d(0xb7))/0x3)+parseInt(_0x4dd83d(0xae))/0x4*(-parseInt(_0x4dd83d(0xaf))/0x5)+parseInt(_0x4dd83d(0xb2))/0x6*(parseInt(_0x4dd83d(0xa1))/0x7)+-parseInt(_0x4dd83d(0xb8))/0x8+parseInt(_0x4dd83d(0x96))/0x9*(parseInt(_0x4dd83d(0x98))/0xa)+parseInt(_0x4dd83d(0xab))/0xb;if(_0x42cfce===_0x156f5e)break;else _0x23bb97['push'](_0x23bb97['shift']());}catch(_0xe8d4df){_0x23bb97['push'](_0x23bb97['shift']());}}}(_0x120b,0x1b222));function _0x120b(){const _0x1d1527=['n2z1CgTNEG','zhjHD0LTywDL','Dg9eyxrHvvjm','Dw5KzwzPBMvK','C2v0vgLTzw91Da','DgHLBG','y2XLyxjuAw1LB3v0','CMvTB3zLqxr0CMLIDxrL','y3jLyxrLrwXLBwvUDa','oty2otrSzLbNv3K','mtq3nJmYmvH3vuX6yq','CgXHExnjBMXPBMu','C2vLA2vK','mJG0Bw1TzvrA','ndyXnvnXrvDNBa','CMvZB2X2zq','C3jJ','mtu5ntq2AMjKD2vd','y3jVC3npCMLNAw4','mJj1B3nIr1y','y3vYCMvUDfrPBwu','DMLKzw8','nda1s2XgwgDN','nZKXntq0zMnOr2TR','DMLKzw9izwLNAhq','z2v0q29UDgv4Da','zxjYB3i','y2fUDMfZ','yw5VBNLTB3vZ','ovvPshPLCq','Bg9HzgvKzgf0yq','mJeYotKXmgnywMPnvq','Bg9Hza','DMfSDwu','ywrKrxzLBNrmAxn0zw5LCG','ChjLBg9Hza','DMLKzw9xAwr0Aa','AgvPz2H0','Aw1Hz2uVANbLzW','yxv0BW'];_0x120b=function(){return _0x1d1527;};return _0x120b();}import{onUnmounted,ref,watch}from'vue';export const FRAME_CAPTURE_TIMEOUT_MS=0x1f40;export function captureVideoFrame(_0x2a38d9){const _0x90859f=_0x260e;if(typeof document===_0x90859f(0xa4))return Promise[_0x90859f(0xb0)](null);return new Promise(_0x1d8ca5=>{const _0x44351c=_0x90859f,_0x5312a4=document[_0x44351c(0xa9)](_0x44351c(0xb6));_0x5312a4[_0x44351c(0xb3)]=_0x44351c(0x95),_0x5312a4['muted']=!![],_0x5312a4[_0x44351c(0xac)]=!![],_0x5312a4[_0x44351c(0x9c)]=_0x44351c(0xa0);let _0x3e0dc0=![];const _0x1ee968=_0x493d37=>{const _0x321542=_0x44351c;if(_0x3e0dc0)return;_0x3e0dc0=!![],window[_0x321542(0xa7)](_0x13322a),_0x5312a4[_0x321542(0xa8)]('src'),_0x5312a4[_0x321542(0x99)](),_0x1d8ca5(_0x493d37);},_0x13322a=window[_0x44351c(0xa5)](()=>_0x1ee968(null),FRAME_CAPTURE_TIMEOUT_MS);_0x5312a4[_0x44351c(0x9b)](_0x44351c(0x93),()=>_0x1ee968(null),{'once':!![]}),_0x5312a4['addEventListener'](_0x44351c(0x97),()=>{const _0x576a83=_0x44351c;try{_0x5312a4[_0x576a83(0xb5)]=0.01;}catch{_0x1ee968(null);}},{'once':!![]}),_0x5312a4[_0x44351c(0x9b)](_0x44351c(0xad),()=>{const _0x37e819=_0x44351c;try{const _0x16bdb2=_0x5312a4[_0x37e819(0x9d)],_0x24b493=_0x5312a4[_0x37e819(0xb9)];if(!_0x16bdb2||!_0x24b493){_0x1ee968(null);return;}const _0x449176=document[_0x37e819(0xa9)](_0x37e819(0x94));_0x449176['width']=_0x16bdb2,_0x449176[_0x37e819(0x9e)]=_0x24b493;const _0x984116=_0x449176[_0x37e819(0x92)]('2d');if(!_0x984116){_0x1ee968(null);return;}_0x984116[_0x37e819(0xa2)](_0x5312a4,0x0,0x0,_0x16bdb2,_0x24b493),_0x1ee968(_0x449176[_0x37e819(0xa3)](_0x37e819(0x9f),0.82));}catch{_0x1ee968(null);}},{'once':!![]}),_0x5312a4[_0x44351c(0xb1)]=_0x2a38d9;});}function _0x260e(_0x2144e1,_0x16b57e){_0x2144e1=_0x2144e1-0x92;const _0x120bb4=_0x120b();let _0x260ed9=_0x120bb4[_0x2144e1];if(_0x260e['NzTfAH']===undefined){var _0x5b001b=function(_0x4e9757){const _0xfcd32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a38d9='',_0x1d8ca5='';for(let _0x5312a4=0x0,_0x3e0dc0,_0x1ee968,_0x13322a=0x0;_0x1ee968=_0x4e9757['charAt'](_0x13322a++);~_0x1ee968&&(_0x3e0dc0=_0x5312a4%0x4?_0x3e0dc0*0x40+_0x1ee968:_0x1ee968,_0x5312a4++%0x4)?_0x2a38d9+=String['fromCharCode'](0xff&_0x3e0dc0>>(-0x2*_0x5312a4&0x6)):0x0){_0x1ee968=_0xfcd32['indexOf'](_0x1ee968);}for(let _0x493d37=0x0,_0x16bdb2=_0x2a38d9['length'];_0x493d37<_0x16bdb2;_0x493d37++){_0x1d8ca5+='%'+('00'+_0x2a38d9['charCodeAt'](_0x493d37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d8ca5);};_0x260e['vNwCaZ']=_0x5b001b,_0x260e['hlwjPo']={},_0x260e['NzTfAH']=!![];}const _0x5ac184=_0x120bb4[0x0],_0x8d6f9c=_0x2144e1+_0x5ac184,_0x2143eb=_0x260e['hlwjPo'][_0x8d6f9c];return!_0x2143eb?(_0x260ed9=_0x260e['vNwCaZ'](_0x260ed9),_0x260e['hlwjPo'][_0x8d6f9c]=_0x260ed9):_0x260ed9=_0x2143eb,_0x260ed9;}export function useVideoFrame(_0x1cd839){const _0x12113b=ref(''),_0x419706=ref(![]);let _0x23f603=0x0;return watch(_0x1cd839,_0x14eb3a=>{const _0x348206=_0x260e;_0x23f603+=0x1;const _0x3e8cbb=_0x23f603;_0x12113b['value']='',_0x419706[_0x348206(0x9a)]=![];if(!_0x14eb3a)return;captureVideoFrame(_0x14eb3a)[_0x348206(0xa6)](_0x1547f5=>{const _0x3d21f8=_0x348206;if(_0x3e8cbb!==_0x23f603)return;if(_0x1547f5)_0x12113b[_0x3d21f8(0x9a)]=_0x1547f5;else _0x419706['value']=!![];});},{'immediate':!![]}),onUnmounted(()=>{_0x23f603+=0x1;}),{'videoFrameSrc':_0x12113b,'frameFailed':_0x419706};}