@gkd-kit/inspect 0.0.1717144446578 → 0.0.1718013773953

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 (49) hide show
  1. package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-CKo-hCrz.js +10 -0
  2. package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-C93_MZRO.js.map → ActionCard.vue_vue_type_script_setup_true_lang-CKo-hCrz.js.map} +1 -1
  3. package/dist/assets/DevicePage-BkCVC2MY.js +49 -0
  4. package/dist/assets/DevicePage-BkCVC2MY.js.map +1 -0
  5. package/dist/assets/HomePage-Bph5qU7K.js +119 -0
  6. package/dist/assets/{HomePage-DZNMXZxh.js.map → HomePage-Bph5qU7K.js.map} +1 -1
  7. package/dist/assets/ImportPage-CvDfw_B2.js +2 -0
  8. package/dist/assets/ImportPage-CvDfw_B2.js.map +1 -0
  9. package/dist/assets/{PreviewSharePage-D4n48DEp.js → PreviewSharePage-BvJTj1mI.js} +2 -2
  10. package/dist/assets/{PreviewSharePage-D4n48DEp.js.map → PreviewSharePage-BvJTj1mI.js.map} +1 -1
  11. package/dist/assets/SnapshotPage-CZdBrMWi.js +272 -0
  12. package/dist/assets/SnapshotPage-CZdBrMWi.js.map +1 -0
  13. package/dist/assets/{TrackGraph-BXeJyqXu.js → TrackGraph-CjikwCMl.js} +2 -2
  14. package/dist/assets/{TrackGraph-BXeJyqXu.js.map → TrackGraph-CjikwCMl.js.map} +1 -1
  15. package/dist/assets/{_404Page-Bg6kYI9T.js → _404Page-6XVBDIMU.js} +2 -2
  16. package/dist/assets/{_404Page-Bg6kYI9T.js.map → _404Page-6XVBDIMU.js.map} +1 -1
  17. package/dist/assets/{node-RaIPs-rl.js → dayjs.min-Dgm3IjyQ.js} +6 -6
  18. package/dist/assets/dayjs.min-Dgm3IjyQ.js.map +1 -0
  19. package/dist/assets/{fetch-D-io-zYm.js → fetch-BwM_TJ7E.js} +21 -21
  20. package/dist/assets/fetch-BwM_TJ7E.js.map +1 -0
  21. package/dist/assets/import-CZo9AsHH.js +2 -0
  22. package/dist/assets/import-CZo9AsHH.js.map +1 -0
  23. package/dist/assets/{index-Cn1sD9E1.js → index-BI6CNi-1.js} +2 -2
  24. package/dist/assets/{index-Cn1sD9E1.js.map → index-BI6CNi-1.js.map} +1 -1
  25. package/dist/assets/{index-BV3N9of-.js → index-BmVtOw-O.js} +2 -2
  26. package/dist/assets/{index-BV3N9of-.js.map → index-BmVtOw-O.js.map} +1 -1
  27. package/dist/assets/{index-7Qv9BJ7h.js → index-CkJL6Zdi.js} +41 -41
  28. package/dist/assets/index-CkJL6Zdi.js.map +1 -0
  29. package/dist/assets/{jszip.min-CFVT6u4h.js → jszip.min-CzKLW2_Q.js} +4 -4
  30. package/dist/assets/{jszip.min-CFVT6u4h.js.map → jszip.min-CzKLW2_Q.js.map} +1 -1
  31. package/dist/assets/{selector-Ppy4-9PD.js → selector-smLnJZgo.js} +3 -3
  32. package/dist/assets/{selector-Ppy4-9PD.js.map → selector-smLnJZgo.js.map} +1 -1
  33. package/dist/assets/{table-BkOdJIyN.js → table-CFVZ0QRH.js} +21 -21
  34. package/dist/assets/{table-BkOdJIyN.js.map → table-CFVZ0QRH.js.map} +1 -1
  35. package/dist/index.html +3 -3
  36. package/package.json +1 -1
  37. package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-C93_MZRO.js +0 -10
  38. package/dist/assets/DevicePage-BiDLaVdf.js +0 -49
  39. package/dist/assets/DevicePage-BiDLaVdf.js.map +0 -1
  40. package/dist/assets/HomePage-DZNMXZxh.js +0 -119
  41. package/dist/assets/ImportPage-mT3DldLy.js +0 -2
  42. package/dist/assets/ImportPage-mT3DldLy.js.map +0 -1
  43. package/dist/assets/SnapshotPage-BsRaiktw.js +0 -272
  44. package/dist/assets/SnapshotPage-BsRaiktw.js.map +0 -1
  45. package/dist/assets/fetch-D-io-zYm.js.map +0 -1
  46. package/dist/assets/import-DrT3vy2r.js +0 -2
  47. package/dist/assets/import-DrT3vy2r.js.map +0 -1
  48. package/dist/assets/index-7Qv9BJ7h.js.map +0 -1
  49. package/dist/assets/node-RaIPs-rl.js.map +0 -1
package/dist/index.html CHANGED
@@ -1,7 +1,7 @@
1
1
  <!doctype html>
2
2
  <html lang="zh">
3
3
  <head>
4
- <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1717144446578/files/dist/assets/polyfills-C3JQN9PB.js"></script>
4
+ <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1718013773953/files/dist/assets/polyfills-C3JQN9PB.js"></script>
5
5
 
6
6
  <meta charset="UTF-8" />
7
7
  <link
@@ -12,8 +12,8 @@
12
12
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
13
13
  <meta name="referrer" content="no-referrer" />
14
14
  <title>GKD</title>
15
- <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1717144446578/files/dist/assets/index-7Qv9BJ7h.js"></script>
16
- <link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1717144446578/files/dist/assets/index-TfJ1MK62.css">
15
+ <script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1718013773953/files/dist/assets/index-CkJL6Zdi.js"></script>
16
+ <link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1718013773953/files/dist/assets/index-TfJ1MK62.css">
17
17
  </head>
18
18
 
19
19
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gkd-kit/inspect",
3
- "version": "0.0.1717144446578",
3
+ "version": "0.0.1718013773953",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -1,10 +0,0 @@
1
- import{d as $e,m as X,h as G,o as ne,a as ce,b as ot,g as N}from"./fetch-D-io-zYm.js";import{D as w,_ as se,M as U,h as Ze,Z as st,aH as _,aI as lt,aC as V,az as K,aJ as ct,aK as Le,aF as Je,H as ut,W as I,m as ft,I as F,C as Oe,E as g,F as m,L as B,P as W,$ as C,K as k}from"./index-7Qv9BJ7h.js";import{N as ht,a as $}from"./index-BV3N9of-.js";import{J as ue}from"./jszip.min-CFVT6u4h.js";import{p as Ge}from"./index-RwQljgyW.js";import{u as Z,b as De,a as je}from"./node-RaIPs-rl.js";const Pe=({title:a="批量分享链接",content:e=""})=>{$e.success({title:a,style:{width:"800px"},content(){return w(ht,{type:"textarea",autosize:{minRows:8,maxRows:16},inputProps:{style:"white-space: nowrap;",class:"gkd_code"},value:e},null)},positiveText:"复制",onPositiveClick(){return navigator.clipboard.writeText(e).then(()=>{X.success("复制成功")}).catch(()=>{X.success("复制失败")}),!1}})},pt=Ze(()=>()=>w(st,{checked:se.ignoreUploadWarn,onUpdateChecked:a=>{se.ignoreUploadWarn=a},focusable:!1},{default:()=>[U("不再提醒")]})),Me=async()=>{if(!se.ignoreUploadWarn)return new Promise((a,e)=>{$e.warning({title:"生成分享链接须知",content(){return w("div",null,[w("div",null,[U("所有快照上传分享链接均为公开链接,任何人均可访问。")]),w("div",null,[U("请确保快照不包含隐私信息,请勿分享任何敏感信息。")]),w(pt,{class:"mt-10px"},null)])},closable:!1,closeOnEsc:!1,maskClosable:!1,positiveText:"继续上传",negativeText:"取消分享",onPositiveClick:a,onNegativeClick:e})})};var Xe={exports:{}};(function(a,e){(function(t,r){r()})(_,function(){function t(n,o){return typeof o>"u"?o={autoBom:!1}:typeof o!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),o={autoBom:!o}),o.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(n.type)?new Blob(["\uFEFF",n],{type:n.type}):n}function r(n,o,p){var f=new XMLHttpRequest;f.open("GET",n),f.responseType="blob",f.onload=function(){c(f.response,o,p)},f.onerror=function(){console.error("could not download file")},f.send()}function i(n){var o=new XMLHttpRequest;o.open("HEAD",n,!1);try{o.send()}catch{}return 200<=o.status&&299>=o.status}function s(n){try{n.dispatchEvent(new MouseEvent("click"))}catch{var o=document.createEvent("MouseEvents");o.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),n.dispatchEvent(o)}}var u=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof _=="object"&&_.global===_?_:void 0,h=u.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=u.saveAs||(typeof window!="object"||window!==u?function(){}:"download"in HTMLAnchorElement.prototype&&!h?function(n,o,p){var f=u.URL||u.webkitURL,d=document.createElement("a");o=o||n.name||"download",d.download=o,d.rel="noopener",typeof n=="string"?(d.href=n,d.origin===location.origin?s(d):i(d.href)?r(n,o,p):s(d,d.target="_blank")):(d.href=f.createObjectURL(n),setTimeout(function(){f.revokeObjectURL(d.href)},4e4),setTimeout(function(){s(d)},0))}:"msSaveOrOpenBlob"in navigator?function(n,o,p){if(o=o||n.name||"download",typeof n!="string")navigator.msSaveOrOpenBlob(t(n,p),o);else if(i(n))r(n,o,p);else{var f=document.createElement("a");f.href=n,f.target="_blank",setTimeout(function(){s(f)})}}:function(n,o,p,f){if(f=f||open("","_blank"),f&&(f.document.title=f.document.body.innerText="downloading..."),typeof n=="string")return r(n,o,p);var d=n.type==="application/octet-stream",l=/constructor/i.test(u.HTMLElement)||u.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||d&&l||h)&&typeof FileReader<"u"){var v=new FileReader;v.onloadend=function(){var E=v.result;E=y?E:E.replace(/^data:[^;]*;/,"data:attachment/file;"),f?f.location.href=E:location=E,f=null},v.readAsDataURL(n)}else{var A=u.URL||u.webkitURL,R=A.createObjectURL(n);f?f.location=R:location.href=R,f=null,setTimeout(function(){A.revokeObjectURL(R)},4e4)}});u.saveAs=c.saveAs=c,a.exports=c})})(Xe);var Q=Xe.exports;const Ve="https://github.com/gkd-kit/inspect/issues/new",dt="661952005",ie={origin:"https://github.com",referer:Ve},mt=async()=>{var i;const a='[data-upload-policy-url="/upload/policies/assets"] input.js-data-upload-policy-url-csrf',e=await G(Ve);return(i=new DOMParser().parseFromString(await e.text(),"text/html").querySelector(a))==null?void 0:i.getAttribute("value")},Ke=async(a,e,t)=>{const r=await mt();if(!r)throw lt.githubErrorDlgVisible=!0,new Error("failed get csrfToken");const i=await G("https://github.com/upload/policies/assets",{method:"POST",body:ne({authenticity_token:r,content_type:t,name:e,size:a.byteLength,repository_id:dt}),headers:ie}).then(h=>{if(!h.ok)throw new Error("failed upload policies assets");return h.json()});if(!(await G(i.upload_url,{method:"POST",body:ne(i.form,{file:new File([a],e,{type:t})}),headers:ie})).ok)throw new Error("upload s3 failed");if((await G(new URL(i.asset_upload_url,"https://github.com/").href,{method:"PUT",body:ne({authenticity_token:i.asset_upload_authenticity_token}),headers:{...ie,Accept:"application/json"}})).status!=200)throw new Error("failed check authenticity upload");return i.asset};/*!
2
- * Compressor.js v1.2.1
3
- * https://fengyuanchen.github.io/compressorjs
4
- *
5
- * Copyright 2018-present Chen Fengyuan
6
- * Released under the MIT license
7
- *
8
- * Date: 2023-02-28T14:09:41.732Z
9
- */function ze(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(a,i).enumerable})),t.push.apply(t,r)}return t}function J(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ze(Object(t),!0).forEach(function(r){wt(a,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):ze(Object(t)).forEach(function(r){Object.defineProperty(a,r,Object.getOwnPropertyDescriptor(t,r))})}return a}function vt(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function _e(a,e){for(var t=0;t<e.length;t++){var r=e[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(a,Ye(r.key),r)}}function gt(a,e,t){return e&&_e(a.prototype,e),t&&_e(a,t),Object.defineProperty(a,"prototype",{writable:!1}),a}function wt(a,e,t){return e=Ye(e),e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function Y(){return Y=Object.assign?Object.assign.bind():function(a){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(a[r]=t[r])}return a},Y.apply(this,arguments)}function yt(a,e){if(typeof a!="object"||a===null)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var r=t.call(a,e||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function Ye(a){var e=yt(a,"string");return typeof e=="symbol"?e:String(e)}var qe={exports:{}};(function(a){typeof window>"u"||function(e){var t=e.HTMLCanvasElement&&e.HTMLCanvasElement.prototype,r=e.Blob&&function(){try{return!!new Blob}catch{return!1}}(),i=r&&e.Uint8Array&&function(){try{return new Blob([new Uint8Array(100)]).size===100}catch{return!1}}(),s=e.BlobBuilder||e.WebKitBlobBuilder||e.MozBlobBuilder||e.MSBlobBuilder,u=/^data:((.*?)(;charset=.*?)?)(;base64)?,/,h=(r||s)&&e.atob&&e.ArrayBuffer&&e.Uint8Array&&function(c){var n,o,p,f,d,l,y,v,A;if(n=c.match(u),!n)throw new Error("invalid data URI");for(o=n[2]?n[1]:"text/plain"+(n[3]||";charset=US-ASCII"),p=!!n[4],f=c.slice(n[0].length),p?d=atob(f):d=decodeURIComponent(f),l=new ArrayBuffer(d.length),y=new Uint8Array(l),v=0;v<d.length;v+=1)y[v]=d.charCodeAt(v);return r?new Blob([i?y:l],{type:o}):(A=new s,A.append(l),A.getBlob(o))};e.HTMLCanvasElement&&!t.toBlob&&(t.mozGetAsFile?t.toBlob=function(c,n,o){var p=this;setTimeout(function(){o&&t.toDataURL&&h?c(h(p.toDataURL(n,o))):c(p.mozGetAsFile("blob",n))})}:t.toDataURL&&h&&(t.msToBlob?t.toBlob=function(c,n,o){var p=this;setTimeout(function(){(n&&n!=="image/png"||o)&&t.toDataURL&&h?c(h(p.toDataURL(n,o))):c(p.msToBlob(n))})}:t.toBlob=function(c,n,o){var p=this;setTimeout(function(){c(h(p.toDataURL(n,o)))})})),a.exports?a.exports=h:e.dataURLtoBlob=h}(window)})(qe);var Ie=qe.exports,bt=function(e){return typeof Blob>"u"?!1:e instanceof Blob||Object.prototype.toString.call(e)==="[object Blob]"},He={strict:!0,checkOrientation:!0,retainExif:!1,maxWidth:1/0,maxHeight:1/0,minWidth:0,minHeight:0,width:void 0,height:void 0,resize:"none",quality:.8,mimeType:"auto",convertTypes:["image/png"],convertSize:5e6,beforeDraw:null,drew:null,success:null,error:null},xt=typeof window<"u"&&typeof window.document<"u",T=xt?window:{},q=function(e){return e>0&&e<1/0},kt=Array.prototype.slice;function fe(a){return Array.from?Array.from(a):kt.call(a)}var Et=/^image\/.+$/;function le(a){return Et.test(a)}function Bt(a){var e=le(a)?a.substr(6):"";return e==="jpeg"&&(e="jpg"),".".concat(e)}var Qe=String.fromCharCode;function At(a,e,t){var r="",i;for(t+=e,i=e;i<t;i+=1)r+=Qe(a.getUint8(i));return r}var Ft=T.btoa;function Ne(a,e){for(var t=[],r=8192,i=new Uint8Array(a);i.length>0;)t.push(Qe.apply(null,fe(i.subarray(0,r)))),i=i.subarray(r);return"data:".concat(e,";base64,").concat(Ft(t.join("")))}function Ut(a){var e=new DataView(a),t;try{var r,i,s;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var u=e.byteLength,h=2;h+1<u;){if(e.getUint8(h)===255&&e.getUint8(h+1)===225){i=h;break}h+=1}if(i){var c=i+4,n=i+10;if(At(e,c,4)==="Exif"){var o=e.getUint16(n);if(r=o===18761,(r||o===19789)&&e.getUint16(n+2,r)===42){var p=e.getUint32(n+4,r);p>=8&&(s=n+p)}}}if(s){var f=e.getUint16(s,r),d,l;for(l=0;l<f;l+=1)if(d=s+l*12+2,e.getUint16(d,r)===274){d+=8,t=e.getUint16(d,r),e.setUint16(d,1,r);break}}}catch{t=1}return t}function Tt(a){var e=0,t=1,r=1;switch(a){case 2:t=-1;break;case 3:e=-180;break;case 4:r=-1;break;case 5:e=90,r=-1;break;case 6:e=90;break;case 7:e=90,t=-1;break;case 8:e=-90;break}return{rotate:e,scaleX:t,scaleY:r}}var Rt=/\.\d*(?:0|9){12}\d*$/;function We(a){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Rt.test(a)?Math.round(a*e)/e:a}function H(a){var e=a.aspectRatio,t=a.height,r=a.width,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"none",s=q(r),u=q(t);if(s&&u){var h=t*e;(i==="contain"||i==="none")&&h>r||i==="cover"&&h<r?t=r/e:r=t*e}else s?t=r/e:u&&(r=t*e);return{width:r,height:t}}function Ct(a){for(var e=fe(new Uint8Array(a)),t=e.length,r=[],i=0;i+3<t;){var s=e[i],u=e[i+1];if(s===255&&u===218)break;if(s===255&&u===216)i+=2;else{var h=e[i+2]*256+e[i+3],c=i+h+2,n=e.slice(i,c);r.push(n),i=c}}return r.reduce(function(o,p){return p[0]===255&&p[1]===225?o.concat(p):o},[])}function St(a,e){var t=fe(new Uint8Array(a));if(t[2]!==255||t[3]!==224)return a;var r=t[4]*256+t[5],i=[255,216].concat(e,t.slice(4+r));return new Uint8Array(i)}var Lt=T.ArrayBuffer,oe=T.FileReader,S=T.URL||T.webkitURL,Ot=/\.\w+$/,Dt=T.Compressor,jt=function(){function a(e,t){vt(this,a),this.file=e,this.exif=[],this.image=new Image,this.options=J(J({},He),t),this.aborted=!1,this.result=null,this.init()}return gt(a,[{key:"init",value:function(){var t=this,r=this.file,i=this.options;if(!bt(r)){this.fail(new Error("The first argument must be a File or Blob object."));return}var s=r.type;if(!le(s)){this.fail(new Error("The first argument must be an image File or Blob object."));return}if(!S||!oe){this.fail(new Error("The current browser does not support image compression."));return}Lt||(i.checkOrientation=!1,i.retainExif=!1);var u=s==="image/jpeg",h=u&&i.checkOrientation,c=u&&i.retainExif;if(S&&!h&&!c)this.load({url:S.createObjectURL(r)});else{var n=new oe;this.reader=n,n.onload=function(o){var p=o.target,f=p.result,d={},l=1;h&&(l=Ut(f),l>1&&Y(d,Tt(l))),c&&(t.exif=Ct(f)),h||c?!S||l>1?d.url=Ne(f,s):d.url=S.createObjectURL(r):d.url=f,t.load(d)},n.onabort=function(){t.fail(new Error("Aborted to read the image with FileReader."))},n.onerror=function(){t.fail(new Error("Failed to read the image with FileReader."))},n.onloadend=function(){t.reader=null},h||c?n.readAsArrayBuffer(r):n.readAsDataURL(r)}}},{key:"load",value:function(t){var r=this,i=this.file,s=this.image;s.onload=function(){r.draw(J(J({},t),{},{naturalWidth:s.naturalWidth,naturalHeight:s.naturalHeight}))},s.onabort=function(){r.fail(new Error("Aborted to load the image."))},s.onerror=function(){r.fail(new Error("Failed to load the image."))},T.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(T.navigator.userAgent)&&(s.crossOrigin="anonymous"),s.alt=i.name,s.src=t.url}},{key:"draw",value:function(t){var r=this,i=t.naturalWidth,s=t.naturalHeight,u=t.rotate,h=u===void 0?0:u,c=t.scaleX,n=c===void 0?1:c,o=t.scaleY,p=o===void 0?1:o,f=this.file,d=this.image,l=this.options,y=document.createElement("canvas"),v=y.getContext("2d"),A=Math.abs(h)%180===90,R=(l.resize==="contain"||l.resize==="cover")&&q(l.width)&&q(l.height),E=Math.max(l.maxWidth,0)||1/0,D=Math.max(l.maxHeight,0)||1/0,j=Math.max(l.minWidth,0)||0,P=Math.max(l.minHeight,0)||0,L=i/s,b=l.width,x=l.height;if(A){var de=[D,E];E=de[0],D=de[1];var me=[P,j];j=me[0],P=me[1];var ve=[x,b];b=ve[0],x=ve[1]}R&&(L=b/x);var ge=H({aspectRatio:L,width:E,height:D},"contain");E=ge.width,D=ge.height;var we=H({aspectRatio:L,width:j,height:P},"cover");if(j=we.width,P=we.height,R){var ye=H({aspectRatio:L,width:b,height:x},l.resize);b=ye.width,x=ye.height}else{var be=H({aspectRatio:L,width:b,height:x}),xe=be.width;b=xe===void 0?i:xe;var ke=be.height;x=ke===void 0?s:ke}b=Math.floor(We(Math.min(Math.max(b,j),E))),x=Math.floor(We(Math.min(Math.max(x,P),D)));var at=-b/2,rt=-x/2,nt=b,it=x,ee=[];if(R){var Ee=0,Be=0,te=i,ae=s,Ae=H({aspectRatio:L,width:i,height:s},{contain:"cover",cover:"contain"}[l.resize]);te=Ae.width,ae=Ae.height,Ee=(i-te)/2,Be=(s-ae)/2,ee.push(Ee,Be,te,ae)}if(ee.push(at,rt,nt,it),A){var Fe=[x,b];b=Fe[0],x=Fe[1]}y.width=b,y.height=x,le(l.mimeType)||(l.mimeType=f.type);var Ue="transparent";f.size>l.convertSize&&l.convertTypes.indexOf(l.mimeType)>=0&&(l.mimeType="image/jpeg");var Te=l.mimeType==="image/jpeg";if(Te&&(Ue="#fff"),v.fillStyle=Ue,v.fillRect(0,0,b,x),l.beforeDraw&&l.beforeDraw.call(this,v,y),!this.aborted&&(v.save(),v.translate(b/2,x/2),v.rotate(h*Math.PI/180),v.scale(n,p),v.drawImage.apply(v,[d].concat(ee)),v.restore(),l.drew&&l.drew.call(this,v,y),!this.aborted)){var Re=function(M){if(!r.aborted){var Ce=function(z){return r.done({naturalWidth:i,naturalHeight:s,result:z})};if(M&&Te&&l.retainExif&&r.exif&&r.exif.length>0){var Se=function(z){return Ce(Ie(Ne(St(z,r.exif),l.mimeType)))};if(M.arrayBuffer)M.arrayBuffer().then(Se).catch(function(){r.fail(new Error("Failed to read the compressed image with Blob.arrayBuffer()."))});else{var O=new oe;r.reader=O,O.onload=function(re){var z=re.target;Se(z.result)},O.onabort=function(){r.fail(new Error("Aborted to read the compressed image with FileReader."))},O.onerror=function(){r.fail(new Error("Failed to read the compressed image with FileReader."))},O.onloadend=function(){r.reader=null},O.readAsArrayBuffer(M)}}else Ce(M)}};y.toBlob?y.toBlob(Re,l.mimeType,l.quality):Re(Ie(y.toDataURL(l.mimeType,l.quality)))}}},{key:"done",value:function(t){var r=t.naturalWidth,i=t.naturalHeight,s=t.result,u=this.file,h=this.image,c=this.options;if(S&&h.src.indexOf("blob:")===0&&S.revokeObjectURL(h.src),s)if(c.strict&&!c.retainExif&&s.size>u.size&&c.mimeType===u.type&&!(c.width>r||c.height>i||c.minWidth>r||c.minHeight>i||c.maxWidth<r||c.maxHeight<i))s=u;else{var n=new Date;s.lastModified=n.getTime(),s.lastModifiedDate=n,s.name=u.name,s.name&&s.type!==u.type&&(s.name=s.name.replace(Ot,Bt(s.type)))}else s=u;this.result=s,c.success&&c.success.call(this,s)}},{key:"fail",value:function(t){var r=this.options;if(r.error)r.error.call(this,t);else throw t}},{key:"abort",value:function(){this.aborted||(this.aborted=!0,this.reader?this.reader.abort():this.image.complete?this.fail(new Error("The compression process has been aborted.")):(this.image.onload=null,this.image.onabort()))}}],[{key:"noConflict",value:function(){return window.Compressor=Dt,a}},{key:"setDefaults",value:function(t){Y(He,t)}}]),a}();const he=async a=>{const e=new ue;return e.file("snapshot.json",JSON.stringify(a)).file("screenshot.png",await Je.getItem(a.id)),await e.generateAsync({type:"blob",compression:"STORE"})},Pt=async a=>{const e=`snapshot-${a.id}.zip`;Q.saveAs(await he(a),e)},pe=async a=>{const e=await Je.getItem(a.id),t=await new Promise((i,s)=>{new jt(new Blob([e],{type:"image/png"}),{quality:.75,convertSize:2e5,success(u){i(u)},error(u){s(u)}})});return new Blob([t],{type:"image/jpeg"})},Mt=async a=>{const e=`snapshot-${a.id}.jpg`;Q.saveAs(await pe(a),e)},qt=async a=>{const e=new ue;for(const r of a)await ce(),e.file(r.id+".jpg",pe(r));const t=await e.generateAsync({type:"blob",compression:"STORE"});Q.saveAs(t,`batch-png-${a.length}.zip`)},Qt=async a=>{const e=new ue;for(const r of a)await ce(),e.file(r.id+".zip",await he(r));const t=await e.generateAsync({type:"blob",compression:"STORE"});Q.saveAs(t,`batch-zip-${a.length}.zip`)},et=async a=>{var e;return(e=V[a.id])!=null?e:Ke(await pe(a).then(t=>t.arrayBuffer()),"file.jpg","image/jpeg").then(t=>(V[a.id]=t.href,t.href))},tt=async a=>{var e;return(e=K[a.id])!=null?e:Ke(await he(a).then(t=>t.arrayBuffer()),"file.zip","application/x-zip-compressed").then(t=>(K[a.id]=t.href,ct[t.href]=a.id,zt(t.id),t.href))},ea=async a=>{const e=Ge(3);return(await Promise.allSettled(a.map(t=>e(()=>et(t))))).reduce((t,r)=>(r.status=="fulfilled"&&t.push(r.value),t),[])},ta=async a=>{const e=Ge(3);return(await Promise.allSettled(a.map(t=>e(()=>tt(t))))).reduce((t,r)=>(r.status=="fulfilled"&&t.push(r.value),t),[])},zt=async(a,e=!1)=>{Number.isSafeInteger(+a)&&(Le[a]||(Le[a]=!0,!e&&await fetch("https://detect.gkd.li/api/detectSnapshot?importId="+a)))},_t={flex:"","gap-12px":"","flex-nowrap":""},It=["href"],Ht=k("svg",{viewBox:"0 0 1024 1024",width:"200",height:"200"},[k("path",{d:"M549.973333 128 633.6 145.066667 474.026667 896 390.4 878.933333 549.973333 128M835.84 512 682.666667 358.826667 682.666667 238.08 956.586667 512 682.666667 785.493333 682.666667 664.746667 835.84 512M67.413333 512 341.333333 238.08 341.333333 358.826667 188.16 512 341.333333 664.746667 341.333333 785.493333 67.413333 512Z"})],-1),Nt=k("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[k("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[k("path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"}),k("path",{d:"M7 11l5 5l5-5"}),k("path",{d:"M12 4v12"})])],-1),Wt=k("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[k("path",{d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81c1.66 0 3-1.34 3-3s-1.34-3-3-3s-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65c0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z",fill:"currentColor"})],-1),$t=k("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[k("g",{fill:"none"},[k("path",{d:"M12 1.75a3.25 3.25 0 0 1 3.245 3.066L15.25 5h5.25a.75.75 0 0 1 .102 1.493L20.5 6.5h-.796l-1.28 13.02a2.75 2.75 0 0 1-2.561 2.474l-.176.006H8.313a2.75 2.75 0 0 1-2.714-2.307l-.023-.174L4.295 6.5H3.5a.75.75 0 0 1-.743-.648L2.75 5.75a.75.75 0 0 1 .648-.743L3.5 5h5.25A3.25 3.25 0 0 1 12 1.75zm6.197 4.75H5.802l1.267 12.872a1.25 1.25 0 0 0 1.117 1.122l.127.006h7.374c.6 0 1.109-.425 1.225-1.002l.02-.126L18.196 6.5zM13.75 9.25a.75.75 0 0 1 .743.648L14.5 10v7a.75.75 0 0 1-1.493.102L13 17v-7a.75.75 0 0 1 .75-.75zm-3.5 0a.75.75 0 0 1 .743.648L11 10v7a.75.75 0 0 1-1.493.102L9.5 17v-7a.75.75 0 0 1 .75-.75zm1.75-6a1.75 1.75 0 0 0-1.744 1.606L10.25 5h3.5A1.75 1.75 0 0 0 12 3.25z",fill:"currentColor"})])],-1),aa=Ze({__name:"ActionCard",props:{snapshot:{},onDelete:{type:Function,default:ot},showPreview:{type:Boolean,default:!0},showExport:{type:Boolean,default:!0},showDelete:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0}},setup(a){const e=a,t=ut(),r=Z(async()=>Mt(await I.getItem(e.snapshot.id))),i=Z(async()=>Pt(await I.getItem(e.snapshot.id))),s=ft(()=>t.resolve({name:"snapshot",params:{snapshotId:e.snapshot.id}}).href),u=Z(async()=>{await Me();const o=await et(await I.getItem(e.snapshot.id));Pe({title:"分享链接",content:N(t,o)})}),h=Z(async()=>{await Me();const o=await tt(await I.getItem(e.snapshot.id));Pe({title:"分享链接",content:N(t,o)})}),c=async()=>{await I.removeItem(e.snapshot.id),await ce(500),e.onDelete()},n=async o=>navigator.clipboard.writeText(o).then(()=>{X.success("复制成功")}).catch(()=>{X.success("复制失败")});return(o,p)=>(F(),Oe("div",_t,[o.showPreview?(F(),Oe("a",{key:0,target:"_blank",href:s.value},[w(m(B),{size:"small"},{icon:g(()=>[w(m($),null,{default:g(()=>[Ht]),_:1})]),_:1})],8,It)):W("",!0),o.showExport?(F(),C(m(je),{key:1},{trigger:g(()=>[w(m(B),{size:"small"},{icon:g(()=>[w(m($),null,{default:g(()=>[Nt]),_:1})]),_:1})]),default:g(()=>[w(m(De),{vertical:""},{default:g(()=>[w(m(B),{onClick:m(i).invoke,loading:m(i).loading},{default:g(()=>[U(" 下载-快照 ")]),_:1},8,["onClick","loading"]),w(m(B),{onClick:m(r).invoke,loading:m(r).loading},{default:g(()=>[U(" 下载-图片 ")]),_:1},8,["onClick","loading"])]),_:1})]),_:1})):W("",!0),o.showShare?(F(),C(m(je),{key:2},{trigger:g(()=>[w(m(B),{size:"small"},{icon:g(()=>[w(m($),null,{default:g(()=>[Wt]),_:1})]),_:1})]),default:g(()=>[w(m(De),{vertical:""},{default:g(()=>[m(K)[o.snapshot.id]?(F(),C(m(B),{key:0,onClick:p[0]||(p[0]=f=>n(m(N)(o.$router,m(K)[o.snapshot.id])))},{default:g(()=>[U(" 复制链接-快照 ")]),_:1})):(F(),C(m(B),{key:1,onClick:m(h).invoke,loading:m(h).loading},{default:g(()=>[U(" 生成链接-快照 ")]),_:1},8,["onClick","loading"])),m(V)[o.snapshot.id]?(F(),C(m(B),{key:2,onClick:p[1]||(p[1]=f=>n(m(N)(o.$router,m(V)[o.snapshot.id])))},{default:g(()=>[U(" 复制链接-图片 ")]),_:1})):(F(),C(m(B),{key:3,onClick:m(u).invoke,loading:m(u).loading},{default:g(()=>[U(" 生成链接-图片 ")]),_:1},8,["onClick","loading"]))]),_:1})]),_:1})):W("",!0),o.showDelete?(F(),C(m(B),{key:3,size:"small",onClick:c},{icon:g(()=>[w(m($),null,{default:g(()=>[$t]),_:1})]),_:1})):W("",!0)]))}});export{aa as _,Qt as a,qt as b,ea as c,ta as d,zt as e,et as f,tt as g,Pe as s,Ke as u,Me as w};
10
- //# sourceMappingURL=ActionCard.vue_vue_type_script_setup_true_lang-C93_MZRO.js.map
@@ -1,49 +0,0 @@
1
- import{A as y,h as ne,Q as ie,V as le,B as re,R as G,T as q,C as J,D as n,E as l,F as a,K as m,G as K,H as ce,W as B,aF as N,L as w,M as k,aO as ue,I as $,J as W,Z as pe,aP as de,X as he,O as fe,P as ve}from"./index-7Qv9BJ7h.js";import{h as me,m as c,a as ge}from"./fetch-D-io-zYm.js";import{e as H,c as we}from"./selector-Ppy4-9PD.js";import{u as ke,a as ye,N as be}from"./table-BkOdJIyN.js";import{u as R,r as Se,b as j,N as Ce}from"./node-RaIPs-rl.js";import{a as xe,b as _e}from"./index-Cn1sD9E1.js";import{u as Ne,N as F,a as Re,l as Ie}from"./index-BV3N9of-.js";import{p as Pe}from"./index-RwQljgyW.js";const Ve=M=>{const b=y(M),S=async(s,f={})=>{var I;if(!b.value)throw new Error("origin must exist");const x=new URL("/api/"+s,b.value);Object.entries(f.query||{}).forEach(([g,P])=>{P!==void 0&&x.searchParams.set(g,String(P))});const u=await me(x,f.init).catch(g=>{throw c.error("网络错误:/"+s),g});if(!u.ok)throw c.error("接口错误:/"+s+":"+u.status),u;if((I=u.headers.get("Content-Type"))!=null&&I.includes("application/json")){const g=await u.clone().json();if(g.__error)throw c.error(g.message),u}return u},o=async(...s)=>await(await S(...s)).json(),C=async(...s)=>await(await S(...s)).blob(),d=async(...s)=>await(await S(...s)).arrayBuffer();return{origin:b,api:{device:async()=>o("device"),snapshot:async s=>o("snapshot",{query:s}),screenshot:async s=>d("screenshot",{query:s}),captureSnapshot:async()=>o("captureSnapshot"),snapshots:async()=>o("snapshots"),updateSubsApps:async s=>C("updateSubsApps",{init:{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}}}),updateSubscription:async s=>C("updateSubscription",{init:{method:"POST",body:JSON.stringify({...s,id:-1,name:"内存订阅",version:0}),headers:{"Content-Type":"application/json"}}}),execSelector:async s=>o("execSelector",{init:{method:"POST",body:JSON.stringify({...s,value:s.selector}),headers:{"Content-Type":"application/json"}}})}}},Be=m("div",{"h-15px":""},null,-1),Te=m("a",{href:"https://gkd.li/api/interfaces/RawCommonProps.html#quickfind",target:"_blank",rel:"noopener noreferrer"}," 查找说明 ",-1),ze=m("div",{"h-10px":""},null,-1),Ae={flex:"","gap-10px":"","flex-items-center":""},Oe=m("a",{href:"https://gkd.li/api/interfaces/RawRuleProps#action",target:"_blank",rel:"noopener noreferrer"}," 操作说明 ",-1),Ue={flex:"","flex-col":"","p-10px":"","gap-10px":"","h-full":""},Le=m("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[m("path",{d:"M16.612 2.214a1.01 1.01 0 0 0-1.242 0L1 13.419l1.243 1.572L4 13.621V26a2.004 2.004 0 0 0 2 2h20a2.004 2.004 0 0 0 2-2V13.63L29.757 15L31 13.428zM18 26h-4v-8h4zm2 0v-8a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v8H6V12.062l10-7.79l10 7.8V26z",fill:"currentColor"})],-1),je={class:"h-full",flex:"","flex-items-center":""},$e=ne({__name:"DevicePage",setup(M){const b=ce(),S=xe("新设备"),{api:o,origin:C}=Ve(),d=_e("device_link",""),h=y(),s=R(async()=>{d.value&&(C.value=H(()=>new URL(d.value.trim()),()=>"非法设备地址").origin,d.value=C.value,h.value=await o.device())});ie(async()=>{await ge(500),le(d.value)&&s.invoke()});const f=y([]);re(async()=>{if(!h.value)return;S.value="已连接 "+h.value.manufacturer,h.value.release;const e=await o.snapshots();e.sort((t,v)=>v.id-t.id),f.value=e,V.value=""});const x=R(async()=>{const e=await o.captureSnapshot(),t=await o.screenshot({id:e.id});await B.setItem(e.id,e),await N.setItem(e.id,t),c.success("保存快照成功");const v=await o.snapshots();v.sort((i,L)=>L.id-i.id),f.value=v}),u=R(async()=>{const e=(await o.snapshots()).map(p=>p.id),t=new Set((await N.keys()).map(p=>parseInt(p))),v=e.filter(p=>!t.has(p));if(v.length==0){c.success("没有新记录可导入");return}let i=0;const L=Pe(3);await Promise.all(v.map(p=>L(async()=>{const[E,oe]=await Promise.all([o.snapshot({id:p}),o.screenshot({id:p})]);E.nodes&&(await Promise.all([B.setItem(p,E),N.setItem(p,oe)]),i++)}))),c.success(`导入${i}条新记录`)}),{activityIdCol:I,appIdCol:g,appNameCol:P,ctimeCol:T,appVersionCodeCol:X,appVersionNameCol:Q,resetColWidth:Z}=ke(),Y=e=>{e.columnKey==T.key&&(T.sortOrder=e.order)},D=Se(async e=>{if(await B.hasItem(e.id)||await B.setItem(e.id,await o.snapshot({id:e.id})),!await N.hasItem(e.id)){const t=await o.screenshot({id:e.id});await N.setItem(e.id,t)}window.open(b.resolve({name:"snapshot",params:{snapshotId:e.id}}).href)},e=>e.id),ee=[T,P,g,X,Q,I,{key:"actions",title:"操作",fixed:"right",width:"120px",render(e){return n(j,{size:"small"},{default:()=>[n(w,{size:"small",loading:D.loading[e.id],onClick:()=>D.invoke(e)},{default:()=>[k("查看")]})]})}}],_=G({page:1,pageSize:50,showSizePicker:!0,pageSizes:[50,100],onChange:e=>{_.page=e},onUpdatePageSize:e=>{_.pageSize=e,_.page=1}});q(_,Z);const z=y(!1),V=y(""),A=R(async()=>{var t;const e=H(()=>Ie.parse(V.value.trim()));if(e){if((t=h.value)!=null&&t.gkdVersionCode)if(e.categories||e.globalGroups||e.apps)await o.updateSubscription(e);else if(typeof e.id=="string")await o.updateSubscription({apps:[e]});else if(Array.isArray(e)&&typeof e[0].id=="string")await o.updateSubscription({apps:e});else if(typeof e.key=="number")await o.updateSubscription({globalGroups:[e]});else if(Array.isArray(e)&&typeof e[0].key=="number")await o.updateSubscription({globalGroups:e});else{c.error("无法识别的订阅文本");return}else await o.updateSubsApps([].concat(e));c.success("修改成功")}}),O=y(!1),ae=[{label:"仅查询",value:void 0},{value:"click",label:"click"},{value:"clickNode",label:"clickNode"},{value:"clickCenter",label:"clickCenter"},{value:"back",label:"back"},{value:"longClick",label:"longClick"},{value:"longClickNode",label:"longClickNode"},{value:"longClickCenter",label:"longClickCenter"}],r=G({selector:"",selectorValid:!1,action:"click",quickFind:!1}),te=Ne(()=>{r.selectorValid=we(r.selector)},500);q(()=>r.selector.trim(),te);const U=R(async()=>{const e=await o.execSelector({...r});if(e.message){c.success("操作成功:"+e.message);return}e.action?c.success((e.result?"操作成功:":"操作失败")+e.action):!e.action&&e.result&&c.success("查询成功")}),se=`
2
- 请输入订阅文本(JSON5语法):
3
- 示例1-更新单个应用的规则:
4
- {
5
- id: 'appId',
6
- groups: []
7
- }
8
-
9
- 示例2-更新多个应用的规则:
10
- [
11
- {
12
- id: 'appId1',
13
- groups: []
14
- },
15
- {
16
- id: 'appId2',
17
- groups: []
18
- }
19
- ]
20
-
21
- 示例3-更新全局规则(1.7.0):
22
- {
23
- name: '全局规则-1',
24
- key: 0,
25
- rules: []
26
- }
27
-
28
- 示例3-更新多个全局规则(1.7.0):
29
- [
30
- {
31
- name: '全局规则-1',
32
- key: 0,
33
- rules: []
34
- },
35
- {
36
- name: '全局规则-2',
37
- key: 1,
38
- rules: []
39
- }
40
- ]
41
-
42
- 示例4-更新整个订阅(1.7.0):
43
- {
44
- apps: [],
45
- globalGroups: [],
46
- categories: [],
47
- }
48
- `.trim();return(e,t)=>{const v=ue("RouterLink");return $(),J(K,null,[n(a(W),{show:z.value,"onUpdate:show":t[1]||(t[1]=i=>z.value=i),preset:"dialog",style:{width:"800px"},title:"修改内存订阅","positive-text":"确认",positiveButtonProps:{loading:a(A).loading,onClick(){a(A).invoke()}}},{default:l(()=>[n(a(F),{value:V.value,"onUpdate:value":t[0]||(t[0]=i=>V.value=i),disabled:a(A).loading,type:"textarea",class:"gkd_code",autosize:{minRows:20,maxRows:25},placeholder:a(se)},null,8,["value","disabled","placeholder"])]),_:1},8,["show","positiveButtonProps"]),n(a(W),{show:O.value,"onUpdate:show":t[5]||(t[5]=i=>O.value=i),preset:"dialog",style:{width:"800px"},title:"执行选择器","positive-text":"确认",positiveButtonProps:{loading:a(U).loading,disabled:!a(r).selectorValid,onClick(){a(U).invoke()}}},{default:l(()=>[n(a(F),{value:a(r).selector,"onUpdate:value":t[2]||(t[2]=i=>a(r).selector=i),disabled:a(U).loading,type:"textarea",class:"gkd_code",autosize:{minRows:4,maxRows:10},placeholder:"请输入合法的选择器"},null,8,["value","disabled"]),Be,n(a(j),null,{default:l(()=>[n(a(pe),{checked:a(r).quickFind,"onUpdate:checked":t[3]||(t[3]=i=>a(r).quickFind=i)},{default:l(()=>[k(" 快速查找 ")]),_:1},8,["checked"]),Te]),_:1}),ze,m("div",Ae,[n(a(ye),{value:a(r).action,"onUpdate:value":t[4]||(t[4]=i=>a(r).action=i),options:ae,class:"w-150px"},null,8,["value"]),Oe])]),_:1},8,["show","positiveButtonProps"]),m("div",Ue,[n(a(j),null,{default:l(()=>[n(v,{to:"/"},{default:l(()=>[n(a(w),null,{icon:l(()=>[n(a(Re),null,{default:l(()=>[Le]),_:1})]),_:1})]),_:1}),n(a(Ce),null,{default:l(()=>[n(a(F),{value:a(d),"onUpdate:value":t[6]||(t[6]=i=>de(d)?d.value=i:null),placeholder:"请输入设备地址",style:{minWidth:"250px"},onKeyup:he(a(s).invoke,["enter"])},null,8,["value","onKeyup"]),n(a(w),{onClick:a(s).invoke,loading:a(s).loading},{default:l(()=>[k(" 刷新连接 ")]),_:1},8,["onClick","loading"])]),_:1}),h.value?($(),J(K,{key:0},[m("div",je,fe(`已连接 ${h.value.manufacturer} Android ${h.value.release}`),1),n(a(w),{onClick:a(x).invoke,loading:a(x).loading},{default:l(()=>[k(" 快照 ")]),_:1},8,["onClick","loading"]),n(a(w),{onClick:a(u).invoke,loading:a(u).loading},{default:l(()=>[k(" 下载设备所有快照 ")]),_:1},8,["onClick","loading"]),n(a(w),{onClick:t[7]||(t[7]=i=>z.value=!0)},{default:l(()=>[k(" 修改内存订阅 ")]),_:1}),n(a(w),{onClick:t[8]||(t[8]=i=>O.value=!0)},{default:l(()=>[k(" 执行选择器 ")]),_:1})],64)):ve("",!0)]),_:1}),n(a(be),{striped:"",flexHeight:"",data:f.value,columns:ee,pagination:a(_),"onUpdate:sorter":Y,size:"small",class:"flex-1",scrollX:1200},null,8,["data","pagination"])])],64)}}});export{$e as default};
49
- //# sourceMappingURL=DevicePage-BiDLaVdf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevicePage-BiDLaVdf.js","sources":["../../src/utils/api.ts","../../src/views/DevicePage.vue"],"sourcesContent":["import { shallowRef } from 'vue';\nimport { message } from './discrete';\nimport { enhanceFetch } from './fetch';\nimport type { Device, RpcError, Snapshot } from './types';\n\ntype RpcOptions = {\n query?: Record<string, unknown>;\n init?: RequestInit;\n};\n\nexport const useDeviceApi = (initOrigin?: string) => {\n const origin = shallowRef(initOrigin);\n const rpc = async (rpcName: string, options: RpcOptions = {}) => {\n if (!origin.value) {\n throw new Error(`origin must exist`);\n }\n const u = new URL(`/api/` + rpcName, origin.value);\n Object.entries(options.query || {}).forEach(([key, value]) => {\n if (value === undefined) return;\n u.searchParams.set(key, String(value));\n });\n const response = await enhanceFetch(u, options.init).catch((e) => {\n message.error(`网络错误:/` + rpcName);\n throw e;\n });\n if (!response.ok) {\n message.error(`接口错误:/` + rpcName + `:` + response.status);\n throw response;\n }\n if (response.headers.get(`Content-Type`)?.includes(`application/json`)) {\n const error = (await response.clone().json()) as RpcError;\n if (error.__error) {\n message.error(error.message);\n throw response;\n }\n }\n return response;\n };\n const jsonRpc = async <T>(...args: Parameters<typeof rpc>) => {\n const response = await rpc(...args);\n return (await response.json()) as T;\n };\n const blobRpc = async (...args: Parameters<typeof rpc>) => {\n const response = await rpc(...args);\n return await response.blob();\n };\n const arrayBufferRpc = async (...args: Parameters<typeof rpc>) => {\n const response = await rpc(...args);\n return await response.arrayBuffer();\n };\n const api = {\n device: async () => jsonRpc<Device>(`device`),\n snapshot: async (query?: { id?: string | number }) => {\n return jsonRpc<Snapshot>(`snapshot`, { query });\n },\n screenshot: async (query: { id: string | number }) => {\n return arrayBufferRpc(`screenshot`, { query });\n },\n captureSnapshot: async () => {\n return jsonRpc<Snapshot>(`captureSnapshot`);\n },\n snapshots: async () => {\n return jsonRpc<Snapshot[]>(`snapshots`);\n },\n updateSubsApps: async (data: unknown[]) => {\n return blobRpc(`updateSubsApps`, {\n init: {\n method: 'POST',\n body: JSON.stringify(data),\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n });\n },\n updateSubscription: async (data: any) => {\n return blobRpc(`updateSubscription`, {\n init: {\n method: 'POST',\n body: JSON.stringify({\n ...data,\n id: -1,\n name: '内存订阅',\n version: 0,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n });\n },\n execSelector: async (data: {\n selector: string;\n action?: string;\n quickFind?: boolean;\n }) => {\n return jsonRpc<{ message: string; action: string; result: boolean }>(\n `execSelector`,\n {\n init: {\n method: 'POST',\n // value 是旧版本的选择器\n body: JSON.stringify({ ...data, value: data.selector }),\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n },\n );\n },\n };\n return { origin, api };\n};\n","<script setup lang=\"tsx\">\nimport { useDeviceApi } from '@/utils/api';\nimport { toValidURL } from '@/utils/check';\nimport { message } from '@/utils/discrete';\nimport { errorWrap } from '@/utils/error';\nimport { delay } from '@/utils/others';\nimport { checkSelector } from '@/utils/selector';\nimport { screenshotStorage, snapshotStorage } from '@/utils/storage';\nimport { useSnapshotColumns } from '@/utils/table';\nimport { useBatchTask, useTask } from '@/utils/task';\nimport type { Device, Snapshot } from '@/utils/types';\nimport { useDebounceFn, useStorage, useTitle } from '@vueuse/core';\nimport JSON5 from 'json5';\nimport {\n NButton,\n NCheckbox,\n NDataTable,\n NIcon,\n NInput,\n NInputGroup,\n NModal,\n NSelect,\n NSpace,\n type DataTableColumns,\n type PaginationProps,\n} from 'naive-ui';\nimport type { SortState } from 'naive-ui/es/data-table/src/interface';\nimport pLimit from 'p-limit';\nimport {\n onMounted,\n shallowReactive,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue';\nimport { useRouter } from 'vue-router';\n\nconst router = useRouter();\nconst title = useTitle(`新设备`);\nconst { api, origin } = useDeviceApi();\nconst link = useStorage(`device_link`, ``);\nconst device = shallowRef<Device>();\nconst connect = useTask(async () => {\n if (!link.value) return;\n origin.value = errorWrap(\n () => new URL(link.value.trim()),\n () => `非法设备地址`,\n ).origin;\n link.value = origin.value;\n device.value = await api.device();\n});\nonMounted(async () => {\n await delay(500);\n if (toValidURL(link.value)) {\n connect.invoke();\n }\n});\n\nconst snapshots = shallowRef<Snapshot[]>([]);\nwatchEffect(async () => {\n if (!device.value) return;\n title.value = `已连接 ` + device.value.manufacturer;\n device.value.release;\n const result = await api.snapshots();\n result.sort((a, b) => b.id - a.id);\n snapshots.value = result;\n subsText.value = '';\n});\n\nconst captureSnapshot = useTask(async () => {\n const snapshot = await api.captureSnapshot();\n const screenshot = await api.screenshot({ id: snapshot.id });\n await snapshotStorage.setItem(snapshot.id, snapshot);\n await screenshotStorage.setItem(snapshot.id, screenshot);\n message.success(`保存快照成功`);\n const result = await api.snapshots();\n result.sort((a, b) => b.id - a.id);\n snapshots.value = result;\n});\nconst downloadAllSnapshot = useTask(async () => {\n const snapshotIds = (await api.snapshots()).map((s) => s.id);\n const existSnapshotIds = new Set(\n (await screenshotStorage.keys()).map((s) => parseInt(s)),\n );\n const unimportSnapshotIds = snapshotIds.filter(\n (k) => !existSnapshotIds.has(k),\n );\n if (unimportSnapshotIds.length == 0) {\n message.success(`没有新记录可导入`);\n return;\n }\n let r = 0;\n const limit = pLimit(3);\n await Promise.all(\n unimportSnapshotIds.map((snapshotId) =>\n limit(async () => {\n const [newSnapshot, newScreenshot] = await Promise.all([\n api.snapshot({ id: snapshotId }),\n api.screenshot({ id: snapshotId }),\n ] as const);\n if (!newSnapshot.nodes) return;\n await Promise.all([\n snapshotStorage.setItem(snapshotId, newSnapshot),\n screenshotStorage.setItem(snapshotId, newScreenshot),\n ]);\n r++;\n }),\n ),\n );\n message.success(`导入${r}条新记录`);\n});\n\nconst {\n activityIdCol,\n appIdCol,\n appNameCol,\n ctimeCol,\n appVersionCodeCol,\n appVersionNameCol,\n resetColWidth,\n} = useSnapshotColumns();\nconst handleSorterChange = (sorter: SortState) => {\n if (sorter.columnKey == ctimeCol.key) {\n ctimeCol.sortOrder = sorter.order;\n }\n};\nconst previewSnapshot = useBatchTask(\n async (row: Snapshot) => {\n if (!(await snapshotStorage.hasItem(row.id))) {\n await snapshotStorage.setItem(row.id, await api.snapshot({ id: row.id }));\n }\n if (!(await screenshotStorage.hasItem(row.id))) {\n const bf = await api.screenshot({ id: row.id });\n await screenshotStorage.setItem(row.id, bf);\n }\n window.open(\n router.resolve({\n name: 'snapshot',\n params: { snapshotId: row.id },\n }).href,\n );\n },\n (r) => r.id,\n);\n\nconst columns: DataTableColumns<Snapshot> = [\n ctimeCol,\n appNameCol,\n appIdCol,\n appVersionCodeCol,\n appVersionNameCol,\n activityIdCol,\n {\n key: `actions`,\n title: `操作`,\n fixed: 'right',\n width: `120px`,\n render(row) {\n return (\n <NSpace size=\"small\">\n <NButton\n size=\"small\"\n loading={previewSnapshot.loading[row.id]}\n onClick={() => previewSnapshot.invoke(row)}\n >\n 查看\n </NButton>\n </NSpace>\n );\n },\n },\n];\n\nconst pagination = shallowReactive<PaginationProps>({\n page: 1,\n pageSize: 50,\n showSizePicker: true,\n pageSizes: [50, 100],\n onChange: (page: number) => {\n pagination.page = page;\n },\n onUpdatePageSize: (pageSize: number) => {\n pagination.pageSize = pageSize;\n pagination.page = 1;\n },\n});\nwatch(pagination, resetColWidth);\n\nconst showSubsModel = shallowRef(false);\nconst subsText = shallowRef(``);\nconst updateSubs = useTask(async () => {\n const data = errorWrap(() => JSON5.parse(subsText.value.trim()));\n if (!data) return;\n if (device.value?.gkdVersionCode) {\n if (data.categories || data.globalGroups || data.apps) {\n await api.updateSubscription(data);\n } else if (typeof data.id == 'string') {\n await api.updateSubscription({\n apps: [data],\n });\n } else if (Array.isArray(data) && typeof data[0].id == 'string') {\n await api.updateSubscription({\n apps: data,\n });\n } else if (typeof data.key == 'number') {\n await api.updateSubscription({\n globalGroups: [data],\n });\n } else if (Array.isArray(data) && typeof data[0].key == 'number') {\n await api.updateSubscription({\n globalGroups: data,\n });\n } else {\n message.error(`无法识别的订阅文本`);\n return;\n }\n } else {\n await api.updateSubsApps([].concat(data));\n }\n message.success(`修改成功`);\n});\n\nconst showSelectorModel = shallowRef(false);\n\nconst actionOptions: {\n value?: string;\n label: string;\n}[] = [\n {\n label: '仅查询',\n value: undefined,\n },\n {\n value: 'click',\n label: 'click',\n },\n {\n value: 'clickNode',\n label: 'clickNode',\n },\n {\n value: 'clickCenter',\n label: 'clickCenter',\n },\n {\n value: 'back',\n label: 'back',\n },\n {\n value: 'longClick',\n label: 'longClick',\n },\n {\n value: 'longClickNode',\n label: 'longClickNode',\n },\n {\n value: 'longClickCenter',\n label: 'longClickCenter',\n },\n];\nconst clickAction = shallowReactive({\n selector: ``,\n selectorValid: false,\n action: 'click',\n quickFind: false,\n});\nconst checkSelectorValid = useDebounceFn(() => {\n clickAction.selectorValid = checkSelector(clickAction.selector);\n}, 500);\nwatch(() => clickAction.selector.trim(), checkSelectorValid);\nconst execSelector = useTask(async () => {\n const result = await api.execSelector({ ...clickAction });\n if (result.message) {\n message.success(`操作成功:` + result.message);\n return;\n }\n if (result.action) {\n message.success((result.result ? `操作成功:` : `操作失败`) + result.action);\n } else if (!result.action && result.result) {\n message.success(`查询成功`);\n }\n});\n\nconst placeholder = `\n请输入订阅文本(JSON5语法):\n示例1-更新单个应用的规则:\n{\n id: 'appId',\n groups: []\n}\n\n示例2-更新多个应用的规则:\n[\n {\n id: 'appId1',\n groups: []\n },\n {\n id: 'appId2',\n groups: []\n }\n]\n\n示例3-更新全局规则(1.7.0):\n{\n name: '全局规则-1',\n key: 0,\n rules: []\n}\n\n示例3-更新多个全局规则(1.7.0):\n[\n {\n name: '全局规则-1',\n key: 0,\n rules: []\n },\n {\n name: '全局规则-2',\n key: 1,\n rules: []\n }\n]\n\n示例4-更新整个订阅(1.7.0):\n{\n apps: [],\n globalGroups: [],\n categories: [],\n}\n`.trim();\n</script>\n<template>\n <NModal\n v-model:show=\"showSubsModel\"\n preset=\"dialog\"\n style=\"width: 800px\"\n title=\"修改内存订阅\"\n positive-text=\"确认\"\n :positiveButtonProps=\"{\n loading: updateSubs.loading,\n onClick() {\n updateSubs.invoke();\n },\n }\"\n >\n <NInput\n v-model:value=\"subsText\"\n :disabled=\"updateSubs.loading\"\n type=\"textarea\"\n class=\"gkd_code\"\n :autosize=\"{\n minRows: 20,\n maxRows: 25,\n }\"\n :placeholder=\"placeholder\"\n />\n </NModal>\n <NModal\n v-model:show=\"showSelectorModel\"\n preset=\"dialog\"\n style=\"width: 800px\"\n title=\"执行选择器\"\n positive-text=\"确认\"\n :positiveButtonProps=\"{\n loading: execSelector.loading,\n disabled: !clickAction.selectorValid,\n onClick() {\n execSelector.invoke();\n },\n }\"\n >\n <NInput\n v-model:value=\"clickAction.selector\"\n :disabled=\"execSelector.loading\"\n type=\"textarea\"\n class=\"gkd_code\"\n :autosize=\"{\n minRows: 4,\n maxRows: 10,\n }\"\n placeholder=\"请输入合法的选择器\"\n />\n <div h-15px></div>\n <NSpace>\n <NCheckbox v-model:checked=\"clickAction.quickFind\"> 快速查找 </NCheckbox>\n <a\n href=\"https://gkd.li/api/interfaces/RawCommonProps.html#quickfind\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n 查找说明\n </a>\n </NSpace>\n <div h-10px></div>\n <div flex gap-10px flex-items-center>\n <NSelect\n v-model:value=\"clickAction.action\"\n :options=\"actionOptions\"\n class=\"w-150px\"\n />\n <a\n href=\"https://gkd.li/api/interfaces/RawRuleProps#action\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n 操作说明\n </a>\n </div>\n </NModal>\n <div flex flex-col p-10px gap-10px h-full>\n <NSpace>\n <RouterLink to=\"/\">\n <NButton>\n <template #icon>\n <NIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 32 32\"\n >\n <path\n d=\"M16.612 2.214a1.01 1.01 0 0 0-1.242 0L1 13.419l1.243 1.572L4 13.621V26a2.004 2.004 0 0 0 2 2h20a2.004 2.004 0 0 0 2-2V13.63L29.757 15L31 13.428zM18 26h-4v-8h4zm2 0v-8a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v8H6V12.062l10-7.79l10 7.8V26z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </NIcon>\n </template>\n </NButton>\n </RouterLink>\n <NInputGroup>\n <NInput\n v-model:value=\"link\"\n placeholder=\"请输入设备地址\"\n :style=\"{ minWidth: `250px` }\"\n @keyup.enter=\"connect.invoke\"\n ></NInput>\n <NButton @click=\"connect.invoke\" :loading=\"connect.loading\">\n 刷新连接\n </NButton>\n </NInputGroup>\n <template v-if=\"device\">\n <div class=\"h-full\" flex flex-items-center>\n {{ `已连接 ${device.manufacturer} Android ${device.release}` }}\n </div>\n <NButton\n @click=\"captureSnapshot.invoke\"\n :loading=\"captureSnapshot.loading\"\n >\n 快照\n </NButton>\n <NButton\n @click=\"downloadAllSnapshot.invoke\"\n :loading=\"downloadAllSnapshot.loading\"\n >\n 下载设备所有快照\n </NButton>\n <NButton @click=\"showSubsModel = true\"> 修改内存订阅 </NButton>\n <NButton @click=\"showSelectorModel = true\"> 执行选择器 </NButton>\n </template>\n </NSpace>\n <NDataTable\n striped\n flexHeight\n :data=\"snapshots\"\n :columns=\"columns\"\n :pagination=\"pagination\"\n @update:sorter=\"handleSorterChange\"\n size=\"small\"\n class=\"flex-1\"\n :scrollX=\"1200\"\n />\n </div>\n</template>\n"],"names":["useDeviceApi","initOrigin","origin","shallowRef","rpc","rpcName","options","u","key","value","response","enhanceFetch","e","message","_a","error","jsonRpc","args","blobRpc","arrayBufferRpc","query","data","router","useRouter","title","useTitle","api","link","useStorage","device","connect","useTask","errorWrap","URL","trim","onMounted","delay","toValidURL","invoke","snapshots","watchEffect","manufacturer","release","result","sort","a","b","id","subsText","captureSnapshot","snapshot","screenshot","snapshotStorage","setItem","screenshotStorage","success","downloadAllSnapshot","snapshotIds","map","s","existSnapshotIds","Set","keys","parseInt","unimportSnapshotIds","filter","k","has","length","r","limit","pLimit","Promise","all","snapshotId","newSnapshot","newScreenshot","nodes","activityIdCol","appIdCol","appNameCol","ctimeCol","appVersionCodeCol","appVersionNameCol","resetColWidth","useSnapshotColumns","handleSorterChange","sorter","columnKey","sortOrder","order","previewSnapshot","useBatchTask","row","hasItem","bf","window","open","resolve","name","params","href","columns","fixed","width","render","_createVNode2","NSpace","default","NButton","loading","onClick","_createTextVNode2","pagination","shallowReactive","page","pageSize","showSizePicker","pageSizes","onChange","onUpdatePageSize","watch","showSubsModel","updateSubs","JSON5","parse","gkdVersionCode","categories","globalGroups","apps","updateSubscription","Array","isArray","updateSubsApps","concat","showSelectorModel","actionOptions","label","undefined","clickAction","selector","selectorValid","action","quickFind","checkSelectorValid","useDebounceFn","checkSelector","execSelector","placeholder"],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import{c as Ut,a as Dt,b as et,d as M,i as tt,e as Te,f as O,g as nt,h as Ye,u as zt,j as ft,k as Ft,r as Me,t as Vt,l as $t,m as se,n as G,p as Ae,o as J,q as Kt,s as Ie,v as D,w as q,N as Ht,x as Ot,y as Re,z as Jt,A as $,B as ce,C as me,D as b,E,F as u,G as $e,H as ht,I as ve,J as ye,K as I,L as U,M as V,O as gt,P as Ke,Q as Wt,R as ot,S as jt,T as Yt,U as Qt,V as Gt,W as rt,X as qt,Y as Zt,Z as it,_ as X}from"./index-7Qv9BJ7h.js";import{u as Xt,_ as en,b as tn,a as nn,w as at,c as on,s as lt,d as rn}from"./ActionCard.vue_vue_type_script_setup_true_lang-C93_MZRO.js";import{c as an,d as ln,g as st}from"./fetch-D-io-zYm.js";import{u as j,N as sn,a as Pe,b as ie}from"./node-RaIPs-rl.js";import{u as cn,l as Le,N as He,a as ae}from"./index-BV3N9of-.js";import{i as un,a as dn}from"./import-DrT3vy2r.js";import{u as fn,N as hn,r as gn}from"./table-BkOdJIyN.js";import"./jszip.min-CFVT6u4h.js";import"./index-RwQljgyW.js";const wn={buttonHeightSmall:"14px",buttonHeightMedium:"18px",buttonHeightLarge:"22px",buttonWidthSmall:"14px",buttonWidthMedium:"18px",buttonWidthLarge:"22px",buttonWidthPressedSmall:"20px",buttonWidthPressedMedium:"24px",buttonWidthPressedLarge:"28px",railHeightSmall:"18px",railHeightMedium:"22px",railHeightLarge:"26px",railWidthSmall:"32px",railWidthMedium:"40px",railWidthLarge:"48px"},pn=e=>{const{primaryColor:t,opacityDisabled:i,borderRadius:r,textColor3:n}=e;return Object.assign(Object.assign({},wn),{iconColor:n,textColor:"white",loadingColor:t,opacityDisabled:i,railColor:"rgba(0, 0, 0, .14)",railColorActive:t,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:r,railBorderRadiusMedium:r,railBorderRadiusLarge:r,buttonBorderRadiusSmall:r,buttonBorderRadiusMedium:r,buttonBorderRadiusLarge:r,boxShadowFocus:`0 0 0 2px ${Dt(t,{alpha:.2})}`})},mn={name:"Switch",common:Ut,self:pn},vn=mn,yn=et("switch",`
2
- height: var(--n-height);
3
- min-width: var(--n-width);
4
- vertical-align: middle;
5
- user-select: none;
6
- -webkit-user-select: none;
7
- display: inline-flex;
8
- outline: none;
9
- justify-content: center;
10
- align-items: center;
11
- `,[M("children-placeholder",`
12
- height: var(--n-rail-height);
13
- display: flex;
14
- flex-direction: column;
15
- overflow: hidden;
16
- pointer-events: none;
17
- visibility: hidden;
18
- `),M("rail-placeholder",`
19
- display: flex;
20
- flex-wrap: none;
21
- `),M("button-placeholder",`
22
- width: calc(1.75 * var(--n-rail-height));
23
- height: var(--n-rail-height);
24
- `),et("base-loading",`
25
- position: absolute;
26
- top: 50%;
27
- left: 50%;
28
- transform: translateX(-50%) translateY(-50%);
29
- font-size: calc(var(--n-button-width) - 4px);
30
- color: var(--n-loading-color);
31
- transition: color .3s var(--n-bezier);
32
- `,[tt({left:"50%",top:"50%",originalTransform:"translateX(-50%) translateY(-50%)"})]),M("checked, unchecked",`
33
- transition: color .3s var(--n-bezier);
34
- color: var(--n-text-color);
35
- box-sizing: border-box;
36
- position: absolute;
37
- white-space: nowrap;
38
- top: 0;
39
- bottom: 0;
40
- display: flex;
41
- align-items: center;
42
- line-height: 1;
43
- `),M("checked",`
44
- right: 0;
45
- padding-right: calc(1.25 * var(--n-rail-height) - var(--n-offset));
46
- `),M("unchecked",`
47
- left: 0;
48
- justify-content: flex-end;
49
- padding-left: calc(1.25 * var(--n-rail-height) - var(--n-offset));
50
- `),Te("&:focus",[M("rail",`
51
- box-shadow: var(--n-box-shadow-focus);
52
- `)]),O("round",[M("rail","border-radius: calc(var(--n-rail-height) / 2);",[M("button","border-radius: calc(var(--n-button-height) / 2);")])]),nt("disabled",[nt("icon",[O("rubber-band",[O("pressed",[M("rail",[M("button","max-width: var(--n-button-width-pressed);")])]),M("rail",[Te("&:active",[M("button","max-width: var(--n-button-width-pressed);")])]),O("active",[O("pressed",[M("rail",[M("button","left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])]),M("rail",[Te("&:active",[M("button","left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])])])])])]),O("active",[M("rail",[M("button","left: calc(100% - var(--n-button-width) - var(--n-offset))")])]),M("rail",`
53
- overflow: hidden;
54
- height: var(--n-rail-height);
55
- min-width: var(--n-rail-width);
56
- border-radius: var(--n-rail-border-radius);
57
- cursor: pointer;
58
- position: relative;
59
- transition:
60
- opacity .3s var(--n-bezier),
61
- background .3s var(--n-bezier),
62
- box-shadow .3s var(--n-bezier);
63
- background-color: var(--n-rail-color);
64
- `,[M("button-icon",`
65
- color: var(--n-icon-color);
66
- transition: color .3s var(--n-bezier);
67
- font-size: calc(var(--n-button-height) - 4px);
68
- position: absolute;
69
- left: 0;
70
- right: 0;
71
- top: 0;
72
- bottom: 0;
73
- display: flex;
74
- justify-content: center;
75
- align-items: center;
76
- line-height: 1;
77
- `,[tt()]),M("button",`
78
- align-items: center;
79
- top: var(--n-offset);
80
- left: var(--n-offset);
81
- height: var(--n-button-height);
82
- width: var(--n-button-width-pressed);
83
- max-width: var(--n-button-width);
84
- border-radius: var(--n-button-border-radius);
85
- background-color: var(--n-button-color);
86
- box-shadow: var(--n-button-box-shadow);
87
- box-sizing: border-box;
88
- cursor: inherit;
89
- content: "";
90
- position: absolute;
91
- transition:
92
- background-color .3s var(--n-bezier),
93
- left .3s var(--n-bezier),
94
- opacity .3s var(--n-bezier),
95
- max-width .3s var(--n-bezier),
96
- box-shadow .3s var(--n-bezier);
97
- `)]),O("active",[M("rail","background-color: var(--n-rail-color-active);")]),O("loading",[M("rail",`
98
- cursor: wait;
99
- `)]),O("disabled",[M("rail",`
100
- cursor: not-allowed;
101
- opacity: .5;
102
- `)])]),bn=Object.assign(Object.assign({},ft.props),{size:{type:String,default:"medium"},value:{type:[String,Number,Boolean],default:void 0},loading:Boolean,defaultValue:{type:[String,Number,Boolean],default:!1},disabled:{type:Boolean,default:void 0},round:{type:Boolean,default:!0},"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],checkedValue:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,Boolean],default:!1},railStyle:Function,rubberBand:{type:Boolean,default:!0},onChange:[Function,Array]});let le;const Cn=Ye({name:"Switch",props:bn,setup(e){le===void 0&&(typeof CSS<"u"?typeof CSS.supports<"u"?le=CSS.supports("width","max(1px)"):le=!1:le=!0);const{mergedClsPrefixRef:t,inlineThemeDisabled:i}=zt(e),r=ft("Switch","-switch",yn,vn,e,t),n=Ft(e),{mergedSizeRef:o,mergedDisabledRef:a}=n,l=Me(e.defaultValue),s=Vt(e,"value"),h=$t(s,l),f=se(()=>h.value===e.checkedValue),S=Me(!1),c=Me(!1),d=se(()=>{const{railStyle:C}=e;if(C)return C({focused:c.value,checked:f.value})});function p(C){const{"onUpdate:value":L,onChange:R,onUpdateValue:z}=e,{nTriggerFormInput:K,nTriggerFormChange:P}=n;L&&Re(L,C),z&&Re(z,C),R&&Re(R,C),l.value=C,K(),P()}function k(){const{nTriggerFormFocus:C}=n;C()}function A(){const{nTriggerFormBlur:C}=n;C()}function v(){e.loading||a.value||(h.value!==e.checkedValue?p(e.checkedValue):p(e.uncheckedValue))}function y(){c.value=!0,k()}function m(){c.value=!1,A(),S.value=!1}function w(C){e.loading||a.value||C.key===" "&&(h.value!==e.checkedValue?p(e.checkedValue):p(e.uncheckedValue),S.value=!1)}function x(C){e.loading||a.value||C.key===" "&&(C.preventDefault(),S.value=!0)}const T=se(()=>{const{value:C}=o,{self:{opacityDisabled:L,railColor:R,railColorActive:z,buttonBoxShadow:K,buttonColor:P,boxShadowFocus:ge,loadingColor:Z,textColor:N,iconColor:g,[G("buttonHeight",C)]:B,[G("buttonWidth",C)]:At,[G("buttonWidthPressed",C)]:It,[G("railHeight",C)]:W,[G("railWidth",C)]:re,[G("railBorderRadius",C)]:Rt,[G("buttonBorderRadius",C)]:Pt},common:{cubicBezierEaseInOut:Lt}}=r.value;let Ne,_e,xe;return le?(Ne=`calc((${W} - ${B}) / 2)`,_e=`max(${W}, ${B})`,xe=`max(${re}, calc(${re} + ${B} - ${W}))`):(Ne=Ae((J(W)-J(B))/2),_e=Ae(Math.max(J(W),J(B))),xe=J(W)>J(B)?re:Ae(J(re)+J(B)-J(W))),{"--n-bezier":Lt,"--n-button-border-radius":Pt,"--n-button-box-shadow":K,"--n-button-color":P,"--n-button-width":At,"--n-button-width-pressed":It,"--n-button-height":B,"--n-height":_e,"--n-offset":Ne,"--n-opacity-disabled":L,"--n-rail-border-radius":Rt,"--n-rail-color":R,"--n-rail-color-active":z,"--n-rail-height":W,"--n-rail-width":re,"--n-width":xe,"--n-box-shadow-focus":ge,"--n-loading-color":Z,"--n-text-color":N,"--n-icon-color":g}}),_=i?Kt("switch",se(()=>o.value[0]),T,e):void 0;return{handleClick:v,handleBlur:m,handleFocus:y,handleKeyup:w,handleKeydown:x,mergedRailStyle:d,pressed:S,mergedClsPrefix:t,mergedValue:h,checked:f,mergedDisabled:a,cssVars:i?void 0:T,themeClass:_==null?void 0:_.themeClass,onRender:_==null?void 0:_.onRender}},render(){const{mergedClsPrefix:e,mergedDisabled:t,checked:i,mergedRailStyle:r,onRender:n,$slots:o}=this;n==null||n();const{checked:a,unchecked:l,icon:s,"checked-icon":h,"unchecked-icon":f}=o,S=!(Ie(s)&&Ie(h)&&Ie(f));return D("div",{role:"switch","aria-checked":i,class:[`${e}-switch`,this.themeClass,S&&`${e}-switch--icon`,i&&`${e}-switch--active`,t&&`${e}-switch--disabled`,this.round&&`${e}-switch--round`,this.loading&&`${e}-switch--loading`,this.pressed&&`${e}-switch--pressed`,this.rubberBand&&`${e}-switch--rubber-band`],tabindex:this.mergedDisabled?void 0:0,style:this.cssVars,onClick:this.handleClick,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyup:this.handleKeyup,onKeydown:this.handleKeydown},D("div",{class:`${e}-switch__rail`,"aria-hidden":"true",style:r},q(a,c=>q(l,d=>c||d?D("div",{"aria-hidden":!0,class:`${e}-switch__children-placeholder`},D("div",{class:`${e}-switch__rail-placeholder`},D("div",{class:`${e}-switch__button-placeholder`}),c),D("div",{class:`${e}-switch__rail-placeholder`},D("div",{class:`${e}-switch__button-placeholder`}),d)):null)),D("div",{class:`${e}-switch__button`},q(s,c=>q(h,d=>q(f,p=>D(Ht,null,{default:()=>this.loading?D(Ot,{key:"loading",clsPrefix:e,strokeWidth:20}):this.checked&&(d||c)?D("div",{class:`${e}-switch__button-icon`,key:d?"checked-icon":"icon"},d||c):!this.checked&&(p||c)?D("div",{class:`${e}-switch__button-icon`,key:p?"unchecked-icon":"icon"},p||c):null})))),q(a,c=>c&&D("div",{key:"checked",class:`${e}-switch__checked`},c)),q(l,c=>c&&D("div",{key:"unchecked",class:`${e}-switch__unchecked`},c)))))}});var fe={},kn=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},wt={},F={};let Qe;const Bn=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];F.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};F.getSymbolTotalCodewords=function(t){return Bn[t]};F.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};F.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Qe=t};F.isKanjiModeEnabled=function(){return typeof Qe<"u"};F.toSJIS=function(t){return Qe(t)};var ke={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+i)}}e.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},e.from=function(r,n){if(e.isValid(r))return r;try{return t(r)}catch{return n}}})(ke);function pt(){this.buffer=[],this.length=0}pt.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let i=0;i<t;i++)this.putBit((e>>>t-i-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var En=pt;function he(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}he.prototype.set=function(e,t,i,r){const n=e*this.size+t;this.data[n]=i,r&&(this.reservedBit[n]=!0)};he.prototype.get=function(e,t){return this.data[e*this.size+t]};he.prototype.xor=function(e,t,i){this.data[e*this.size+t]^=i};he.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Sn=he,mt={};(function(e){const t=F.getSymbolSize;e.getRowColCoords=function(r){if(r===1)return[];const n=Math.floor(r/7)+2,o=t(r),a=o===145?26:Math.ceil((o-13)/(2*n-2))*2,l=[o-7];for(let s=1;s<n-1;s++)l[s]=l[s-1]-a;return l.push(6),l.reverse()},e.getPositions=function(r){const n=[],o=e.getRowColCoords(r),a=o.length;for(let l=0;l<a;l++)for(let s=0;s<a;s++)l===0&&s===0||l===0&&s===a-1||l===a-1&&s===0||n.push([o[l],o[s]]);return n}})(mt);var vt={};const Nn=F.getSymbolSize,ct=7;vt.getPositions=function(t){const i=Nn(t);return[[0,0],[i-ct,0],[0,i-ct]]};var yt={};(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},e.from=function(n){return e.isValid(n)?parseInt(n,10):void 0},e.getPenaltyN1=function(n){const o=n.size;let a=0,l=0,s=0,h=null,f=null;for(let S=0;S<o;S++){l=s=0,h=f=null;for(let c=0;c<o;c++){let d=n.get(S,c);d===h?l++:(l>=5&&(a+=t.N1+(l-5)),h=d,l=1),d=n.get(c,S),d===f?s++:(s>=5&&(a+=t.N1+(s-5)),f=d,s=1)}l>=5&&(a+=t.N1+(l-5)),s>=5&&(a+=t.N1+(s-5))}return a},e.getPenaltyN2=function(n){const o=n.size;let a=0;for(let l=0;l<o-1;l++)for(let s=0;s<o-1;s++){const h=n.get(l,s)+n.get(l,s+1)+n.get(l+1,s)+n.get(l+1,s+1);(h===4||h===0)&&a++}return a*t.N2},e.getPenaltyN3=function(n){const o=n.size;let a=0,l=0,s=0;for(let h=0;h<o;h++){l=s=0;for(let f=0;f<o;f++)l=l<<1&2047|n.get(h,f),f>=10&&(l===1488||l===93)&&a++,s=s<<1&2047|n.get(f,h),f>=10&&(s===1488||s===93)&&a++}return a*t.N3},e.getPenaltyN4=function(n){let o=0;const a=n.data.length;for(let s=0;s<a;s++)o+=n.data[s];return Math.abs(Math.ceil(o*100/a/5)-10)*t.N4};function i(r,n,o){switch(r){case e.Patterns.PATTERN000:return(n+o)%2===0;case e.Patterns.PATTERN001:return n%2===0;case e.Patterns.PATTERN010:return o%3===0;case e.Patterns.PATTERN011:return(n+o)%3===0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(o/3))%2===0;case e.Patterns.PATTERN101:return n*o%2+n*o%3===0;case e.Patterns.PATTERN110:return(n*o%2+n*o%3)%2===0;case e.Patterns.PATTERN111:return(n*o%3+(n+o)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}e.applyMask=function(n,o){const a=o.size;for(let l=0;l<a;l++)for(let s=0;s<a;s++)o.isReserved(s,l)||o.xor(s,l,i(n,s,l))},e.getBestMask=function(n,o){const a=Object.keys(e.Patterns).length;let l=0,s=1/0;for(let h=0;h<a;h++){o(h),e.applyMask(h,n);const f=e.getPenaltyN1(n)+e.getPenaltyN2(n)+e.getPenaltyN3(n)+e.getPenaltyN4(n);e.applyMask(h,n),f<s&&(s=f,l=h)}return l}})(yt);var Be={};const Y=ke,we=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],pe=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];Be.getBlocksCount=function(t,i){switch(i){case Y.L:return we[(t-1)*4+0];case Y.M:return we[(t-1)*4+1];case Y.Q:return we[(t-1)*4+2];case Y.H:return we[(t-1)*4+3];default:return}};Be.getTotalCodewordsCount=function(t,i){switch(i){case Y.L:return pe[(t-1)*4+0];case Y.M:return pe[(t-1)*4+1];case Y.Q:return pe[(t-1)*4+2];case Y.H:return pe[(t-1)*4+3];default:return}};var bt={},Ee={};const ue=new Uint8Array(512),be=new Uint8Array(256);(function(){let t=1;for(let i=0;i<255;i++)ue[i]=t,be[t]=i,t<<=1,t&256&&(t^=285);for(let i=255;i<512;i++)ue[i]=ue[i-255]})();Ee.log=function(t){if(t<1)throw new Error("log("+t+")");return be[t]};Ee.exp=function(t){return ue[t]};Ee.mul=function(t,i){return t===0||i===0?0:ue[be[t]+be[i]]};(function(e){const t=Ee;e.mul=function(r,n){const o=new Uint8Array(r.length+n.length-1);for(let a=0;a<r.length;a++)for(let l=0;l<n.length;l++)o[a+l]^=t.mul(r[a],n[l]);return o},e.mod=function(r,n){let o=new Uint8Array(r);for(;o.length-n.length>=0;){const a=o[0];for(let s=0;s<n.length;s++)o[s]^=t.mul(n[s],a);let l=0;for(;l<o.length&&o[l]===0;)l++;o=o.slice(l)}return o},e.generateECPolynomial=function(r){let n=new Uint8Array([1]);for(let o=0;o<r;o++)n=e.mul(n,new Uint8Array([1,t.exp(o)]));return n}})(bt);const Ct=bt;function Ge(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}Ge.prototype.initialize=function(t){this.degree=t,this.genPoly=Ct.generateECPolynomial(this.degree)};Ge.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const i=new Uint8Array(t.length+this.degree);i.set(t);const r=Ct.mod(i,this.genPoly),n=this.degree-r.length;if(n>0){const o=new Uint8Array(this.degree);return o.set(r,n),o}return r};var _n=Ge,kt={},Q={},qe={};qe.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var H={};const Bt="[0-9]+",xn="[A-Z $%*+\\-./:]+";let de="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";de=de.replace(/u/g,"\\u");const Tn="(?:(?![A-Z0-9 $%*+\\-./:]|"+de+`)(?:.|[\r
103
- ]))+`;H.KANJI=new RegExp(de,"g");H.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");H.BYTE=new RegExp(Tn,"g");H.NUMERIC=new RegExp(Bt,"g");H.ALPHANUMERIC=new RegExp(xn,"g");const Mn=new RegExp("^"+de+"$"),An=new RegExp("^"+Bt+"$"),In=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");H.testKanji=function(t){return Mn.test(t)};H.testNumeric=function(t){return An.test(t)};H.testAlphanumeric=function(t){return In.test(t)};(function(e){const t=qe,i=H;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,a){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?o.ccBits[0]:a<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return i.testNumeric(o)?e.NUMERIC:i.testAlphanumeric(o)?e.ALPHANUMERIC:i.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function r(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+n)}}e.from=function(o,a){if(e.isValid(o))return o;try{return r(o)}catch{return a}}})(Q);(function(e){const t=F,i=Be,r=ke,n=Q,o=qe,a=7973,l=t.getBCHDigit(a);function s(c,d,p){for(let k=1;k<=40;k++)if(d<=e.getCapacity(k,p,c))return k}function h(c,d){return n.getCharCountIndicator(c,d)+4}function f(c,d){let p=0;return c.forEach(function(k){const A=h(k.mode,d);p+=A+k.getBitsLength()}),p}function S(c,d){for(let p=1;p<=40;p++)if(f(c,p)<=e.getCapacity(p,d,n.MIXED))return p}e.from=function(d,p){return o.isValid(d)?parseInt(d,10):p},e.getCapacity=function(d,p,k){if(!o.isValid(d))throw new Error("Invalid QR Code version");typeof k>"u"&&(k=n.BYTE);const A=t.getSymbolTotalCodewords(d),v=i.getTotalCodewordsCount(d,p),y=(A-v)*8;if(k===n.MIXED)return y;const m=y-h(k,d);switch(k){case n.NUMERIC:return Math.floor(m/10*3);case n.ALPHANUMERIC:return Math.floor(m/11*2);case n.KANJI:return Math.floor(m/13);case n.BYTE:default:return Math.floor(m/8)}},e.getBestVersionForData=function(d,p){let k;const A=r.from(p,r.M);if(Array.isArray(d)){if(d.length>1)return S(d,A);if(d.length===0)return 1;k=d[0]}else k=d;return s(k.mode,k.getLength(),A)},e.getEncodedBits=function(d){if(!o.isValid(d)||d<7)throw new Error("Invalid QR Code version");let p=d<<12;for(;t.getBCHDigit(p)-l>=0;)p^=a<<t.getBCHDigit(p)-l;return d<<12|p}})(kt);var Et={};const Oe=F,St=1335,Rn=21522,ut=Oe.getBCHDigit(St);Et.getEncodedBits=function(t,i){const r=t.bit<<3|i;let n=r<<10;for(;Oe.getBCHDigit(n)-ut>=0;)n^=St<<Oe.getBCHDigit(n)-ut;return(r<<10|n)^Rn};var Nt={};const Pn=Q;function ee(e){this.mode=Pn.NUMERIC,this.data=e.toString()}ee.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};ee.prototype.getLength=function(){return this.data.length};ee.prototype.getBitsLength=function(){return ee.getBitsLength(this.data.length)};ee.prototype.write=function(t){let i,r,n;for(i=0;i+3<=this.data.length;i+=3)r=this.data.substr(i,3),n=parseInt(r,10),t.put(n,10);const o=this.data.length-i;o>0&&(r=this.data.substr(i),n=parseInt(r,10),t.put(n,o*3+1))};var Ln=ee;const Un=Q,Ue=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function te(e){this.mode=Un.ALPHANUMERIC,this.data=e}te.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};te.prototype.getLength=function(){return this.data.length};te.prototype.getBitsLength=function(){return te.getBitsLength(this.data.length)};te.prototype.write=function(t){let i;for(i=0;i+2<=this.data.length;i+=2){let r=Ue.indexOf(this.data[i])*45;r+=Ue.indexOf(this.data[i+1]),t.put(r,11)}this.data.length%2&&t.put(Ue.indexOf(this.data[i]),6)};var Dn=te,zn=function(t){for(var i=[],r=t.length,n=0;n<r;n++){var o=t.charCodeAt(n);if(o>=55296&&o<=56319&&r>n+1){var a=t.charCodeAt(n+1);a>=56320&&a<=57343&&(o=(o-55296)*1024+a-56320+65536,n+=1)}if(o<128){i.push(o);continue}if(o<2048){i.push(o>>6|192),i.push(o&63|128);continue}if(o<55296||o>=57344&&o<65536){i.push(o>>12|224),i.push(o>>6&63|128),i.push(o&63|128);continue}if(o>=65536&&o<=1114111){i.push(o>>18|240),i.push(o>>12&63|128),i.push(o>>6&63|128),i.push(o&63|128);continue}i.push(239,191,189)}return new Uint8Array(i).buffer};const Fn=zn,Vn=Q;function ne(e){this.mode=Vn.BYTE,typeof e=="string"&&(e=Fn(e)),this.data=new Uint8Array(e)}ne.getBitsLength=function(t){return t*8};ne.prototype.getLength=function(){return this.data.length};ne.prototype.getBitsLength=function(){return ne.getBitsLength(this.data.length)};ne.prototype.write=function(e){for(let t=0,i=this.data.length;t<i;t++)e.put(this.data[t],8)};var $n=ne;const Kn=Q,Hn=F;function oe(e){this.mode=Kn.KANJI,this.data=e}oe.getBitsLength=function(t){return t*13};oe.prototype.getLength=function(){return this.data.length};oe.prototype.getBitsLength=function(){return oe.getBitsLength(this.data.length)};oe.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let i=Hn.toSJIS(this.data[t]);if(i>=33088&&i<=40956)i-=33088;else if(i>=57408&&i<=60351)i-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
104
- Make sure your charset is UTF-8`);i=(i>>>8&255)*192+(i&255),e.put(i,13)}};var On=oe,_t={exports:{}};(function(e){var t={single_source_shortest_paths:function(i,r,n){var o={},a={};a[r]=0;var l=t.PriorityQueue.make();l.push(r,0);for(var s,h,f,S,c,d,p,k,A;!l.empty();){s=l.pop(),h=s.value,S=s.cost,c=i[h]||{};for(f in c)c.hasOwnProperty(f)&&(d=c[f],p=S+d,k=a[f],A=typeof a[f]>"u",(A||k>p)&&(a[f]=p,l.push(f,p),o[f]=h))}if(typeof n<"u"&&typeof a[n]>"u"){var v=["Could not find a path from ",r," to ",n,"."].join("");throw new Error(v)}return o},extract_shortest_path_from_predecessor_list:function(i,r){for(var n=[],o=r;o;)n.push(o),i[o],o=i[o];return n.reverse(),n},find_path:function(i,r,n){var o=t.single_source_shortest_paths(i,r,n);return t.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(i){var r=t.PriorityQueue,n={},o;i=i||{};for(o in r)r.hasOwnProperty(o)&&(n[o]=r[o]);return n.queue=[],n.sorter=i.sorter||r.default_sorter,n},default_sorter:function(i,r){return i.cost-r.cost},push:function(i,r){var n={value:i,cost:r};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(_t);var Jn=_t.exports;(function(e){const t=Q,i=Ln,r=Dn,n=$n,o=On,a=H,l=F,s=Jn;function h(v){return unescape(encodeURIComponent(v)).length}function f(v,y,m){const w=[];let x;for(;(x=v.exec(m))!==null;)w.push({data:x[0],index:x.index,mode:y,length:x[0].length});return w}function S(v){const y=f(a.NUMERIC,t.NUMERIC,v),m=f(a.ALPHANUMERIC,t.ALPHANUMERIC,v);let w,x;return l.isKanjiModeEnabled()?(w=f(a.BYTE,t.BYTE,v),x=f(a.KANJI,t.KANJI,v)):(w=f(a.BYTE_KANJI,t.BYTE,v),x=[]),y.concat(m,w,x).sort(function(_,C){return _.index-C.index}).map(function(_){return{data:_.data,mode:_.mode,length:_.length}})}function c(v,y){switch(y){case t.NUMERIC:return i.getBitsLength(v);case t.ALPHANUMERIC:return r.getBitsLength(v);case t.KANJI:return o.getBitsLength(v);case t.BYTE:return n.getBitsLength(v)}}function d(v){return v.reduce(function(y,m){const w=y.length-1>=0?y[y.length-1]:null;return w&&w.mode===m.mode?(y[y.length-1].data+=m.data,y):(y.push(m),y)},[])}function p(v){const y=[];for(let m=0;m<v.length;m++){const w=v[m];switch(w.mode){case t.NUMERIC:y.push([w,{data:w.data,mode:t.ALPHANUMERIC,length:w.length},{data:w.data,mode:t.BYTE,length:w.length}]);break;case t.ALPHANUMERIC:y.push([w,{data:w.data,mode:t.BYTE,length:w.length}]);break;case t.KANJI:y.push([w,{data:w.data,mode:t.BYTE,length:h(w.data)}]);break;case t.BYTE:y.push([{data:w.data,mode:t.BYTE,length:h(w.data)}])}}return y}function k(v,y){const m={},w={start:{}};let x=["start"];for(let T=0;T<v.length;T++){const _=v[T],C=[];for(let L=0;L<_.length;L++){const R=_[L],z=""+T+L;C.push(z),m[z]={node:R,lastCount:0},w[z]={};for(let K=0;K<x.length;K++){const P=x[K];m[P]&&m[P].node.mode===R.mode?(w[P][z]=c(m[P].lastCount+R.length,R.mode)-c(m[P].lastCount,R.mode),m[P].lastCount+=R.length):(m[P]&&(m[P].lastCount=R.length),w[P][z]=c(R.length,R.mode)+4+t.getCharCountIndicator(R.mode,y))}}x=C}for(let T=0;T<x.length;T++)w[x[T]].end=0;return{map:w,table:m}}function A(v,y){let m;const w=t.getBestModeForData(v);if(m=t.from(y,w),m!==t.BYTE&&m.bit<w.bit)throw new Error('"'+v+'" cannot be encoded with mode '+t.toString(m)+`.
105
- Suggested mode is: `+t.toString(w));switch(m===t.KANJI&&!l.isKanjiModeEnabled()&&(m=t.BYTE),m){case t.NUMERIC:return new i(v);case t.ALPHANUMERIC:return new r(v);case t.KANJI:return new o(v);case t.BYTE:return new n(v)}}e.fromArray=function(y){return y.reduce(function(m,w){return typeof w=="string"?m.push(A(w,null)):w.data&&m.push(A(w.data,w.mode)),m},[])},e.fromString=function(y,m){const w=S(y,l.isKanjiModeEnabled()),x=p(w),T=k(x,m),_=s.find_path(T.map,"start","end"),C=[];for(let L=1;L<_.length-1;L++)C.push(T.table[_[L]].node);return e.fromArray(d(C))},e.rawSplit=function(y){return e.fromArray(S(y,l.isKanjiModeEnabled()))}})(Nt);const Se=F,De=ke,Wn=En,jn=Sn,Yn=mt,Qn=vt,Je=yt,We=Be,Gn=_n,Ce=kt,qn=Et,Zn=Q,ze=Nt;function Xn(e,t){const i=e.size,r=Qn.getPositions(t);for(let n=0;n<r.length;n++){const o=r[n][0],a=r[n][1];for(let l=-1;l<=7;l++)if(!(o+l<=-1||i<=o+l))for(let s=-1;s<=7;s++)a+s<=-1||i<=a+s||(l>=0&&l<=6&&(s===0||s===6)||s>=0&&s<=6&&(l===0||l===6)||l>=2&&l<=4&&s>=2&&s<=4?e.set(o+l,a+s,!0,!0):e.set(o+l,a+s,!1,!0))}}function eo(e){const t=e.size;for(let i=8;i<t-8;i++){const r=i%2===0;e.set(i,6,r,!0),e.set(6,i,r,!0)}}function to(e,t){const i=Yn.getPositions(t);for(let r=0;r<i.length;r++){const n=i[r][0],o=i[r][1];for(let a=-2;a<=2;a++)for(let l=-2;l<=2;l++)a===-2||a===2||l===-2||l===2||a===0&&l===0?e.set(n+a,o+l,!0,!0):e.set(n+a,o+l,!1,!0)}}function no(e,t){const i=e.size,r=Ce.getEncodedBits(t);let n,o,a;for(let l=0;l<18;l++)n=Math.floor(l/3),o=l%3+i-8-3,a=(r>>l&1)===1,e.set(n,o,a,!0),e.set(o,n,a,!0)}function Fe(e,t,i){const r=e.size,n=qn.getEncodedBits(t,i);let o,a;for(o=0;o<15;o++)a=(n>>o&1)===1,o<6?e.set(o,8,a,!0):o<8?e.set(o+1,8,a,!0):e.set(r-15+o,8,a,!0),o<8?e.set(8,r-o-1,a,!0):o<9?e.set(8,15-o-1+1,a,!0):e.set(8,15-o-1,a,!0);e.set(r-8,8,1,!0)}function oo(e,t){const i=e.size;let r=-1,n=i-1,o=7,a=0;for(let l=i-1;l>0;l-=2)for(l===6&&l--;;){for(let s=0;s<2;s++)if(!e.isReserved(n,l-s)){let h=!1;a<t.length&&(h=(t[a]>>>o&1)===1),e.set(n,l-s,h),o--,o===-1&&(a++,o=7)}if(n+=r,n<0||i<=n){n-=r,r=-r;break}}}function ro(e,t,i){const r=new Wn;i.forEach(function(s){r.put(s.mode.bit,4),r.put(s.getLength(),Zn.getCharCountIndicator(s.mode,e)),s.write(r)});const n=Se.getSymbolTotalCodewords(e),o=We.getTotalCodewordsCount(e,t),a=(n-o)*8;for(r.getLengthInBits()+4<=a&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);const l=(a-r.getLengthInBits())/8;for(let s=0;s<l;s++)r.put(s%2?17:236,8);return io(r,e,t)}function io(e,t,i){const r=Se.getSymbolTotalCodewords(t),n=We.getTotalCodewordsCount(t,i),o=r-n,a=We.getBlocksCount(t,i),l=r%a,s=a-l,h=Math.floor(r/a),f=Math.floor(o/a),S=f+1,c=h-f,d=new Gn(c);let p=0;const k=new Array(a),A=new Array(a);let v=0;const y=new Uint8Array(e.buffer);for(let _=0;_<a;_++){const C=_<s?f:S;k[_]=y.slice(p,p+C),A[_]=d.encode(k[_]),p+=C,v=Math.max(v,C)}const m=new Uint8Array(r);let w=0,x,T;for(x=0;x<v;x++)for(T=0;T<a;T++)x<k[T].length&&(m[w++]=k[T][x]);for(x=0;x<c;x++)for(T=0;T<a;T++)m[w++]=A[T][x];return m}function ao(e,t,i,r){let n;if(Array.isArray(e))n=ze.fromArray(e);else if(typeof e=="string"){let h=t;if(!h){const f=ze.rawSplit(e);h=Ce.getBestVersionForData(f,i)}n=ze.fromString(e,h||40)}else throw new Error("Invalid data");const o=Ce.getBestVersionForData(n,i);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=o;else if(t<o)throw new Error(`
106
- The chosen QR Code version cannot contain this amount of data.
107
- Minimum version required to store current data is: `+o+`.
108
- `);const a=ro(t,i,n),l=Se.getSymbolSize(t),s=new jn(l);return Xn(s,t),eo(s),to(s,t),Fe(s,i,0),t>=7&&no(s,t),oo(s,a),isNaN(r)&&(r=Je.getBestMask(s,Fe.bind(null,s,i))),Je.applyMask(r,s),Fe(s,i,r),{modules:s,version:t,errorCorrectionLevel:i,maskPattern:r,segments:n}}wt.create=function(t,i){if(typeof t>"u"||t==="")throw new Error("No input text");let r=De.M,n,o;return typeof i<"u"&&(r=De.from(i.errorCorrectionLevel,De.M),n=Ce.from(i.version),o=Je.from(i.maskPattern),i.toSJISFunc&&Se.setToSJISFunction(i.toSJISFunc)),ao(t,n,r,o)};var xt={},Ze={};(function(e){function t(i){if(typeof i=="number"&&(i=i.toString()),typeof i!="string")throw new Error("Color should be defined as hex string");let r=i.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+i);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(o){return[o,o]}))),r.length===6&&r.push("F","F");const n=parseInt(r.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:"#"+r.slice(0,6).join("")}}e.getOptions=function(r){r||(r={}),r.color||(r.color={});const n=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,o=r.width&&r.width>=21?r.width:void 0,a=r.scale||4;return{width:o,scale:o?4:a,margin:n,color:{dark:t(r.color.dark||"#000000ff"),light:t(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},e.getScale=function(r,n){return n.width&&n.width>=r+n.margin*2?n.width/(r+n.margin*2):n.scale},e.getImageWidth=function(r,n){const o=e.getScale(r,n);return Math.floor((r+n.margin*2)*o)},e.qrToImageData=function(r,n,o){const a=n.modules.size,l=n.modules.data,s=e.getScale(a,o),h=Math.floor((a+o.margin*2)*s),f=o.margin*s,S=[o.color.light,o.color.dark];for(let c=0;c<h;c++)for(let d=0;d<h;d++){let p=(c*h+d)*4,k=o.color.light;if(c>=f&&d>=f&&c<h-f&&d<h-f){const A=Math.floor((c-f)/s),v=Math.floor((d-f)/s);k=S[l[A*a+v]?1:0]}r[p++]=k.r,r[p++]=k.g,r[p++]=k.b,r[p]=k.a}}})(Ze);(function(e){const t=Ze;function i(n,o,a){n.clearRect(0,0,o.width,o.height),o.style||(o.style={}),o.height=a,o.width=a,o.style.height=a+"px",o.style.width=a+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(o,a,l){let s=l,h=a;typeof s>"u"&&(!a||!a.getContext)&&(s=a,a=void 0),a||(h=r()),s=t.getOptions(s);const f=t.getImageWidth(o.modules.size,s),S=h.getContext("2d"),c=S.createImageData(f,f);return t.qrToImageData(c.data,o,s),i(S,h,f),S.putImageData(c,0,0),h},e.renderToDataURL=function(o,a,l){let s=l;typeof s>"u"&&(!a||!a.getContext)&&(s=a,a=void 0),s||(s={});const h=e.render(o,a,s),f=s.type||"image/png",S=s.rendererOpts||{};return h.toDataURL(f,S.quality)}})(xt);var Tt={};const lo=Ze;function dt(e,t){const i=e.a/255,r=t+'="'+e.hex+'"';return i<1?r+" "+t+'-opacity="'+i.toFixed(2).slice(1)+'"':r}function Ve(e,t,i){let r=e+t;return typeof i<"u"&&(r+=" "+i),r}function so(e,t,i){let r="",n=0,o=!1,a=0;for(let l=0;l<e.length;l++){const s=Math.floor(l%t),h=Math.floor(l/t);!s&&!o&&(o=!0),e[l]?(a++,l>0&&s>0&&e[l-1]||(r+=o?Ve("M",s+i,.5+h+i):Ve("m",n,0),n=0,o=!1),s+1<t&&e[l+1]||(r+=Ve("h",a),a=0)):n++}return r}Tt.render=function(t,i,r){const n=lo.getOptions(i),o=t.modules.size,a=t.modules.data,l=o+n.margin*2,s=n.color.light.a?"<path "+dt(n.color.light,"fill")+' d="M0 0h'+l+"v"+l+'H0z"/>':"",h="<path "+dt(n.color.dark,"stroke")+' d="'+so(a,o,n.margin)+'"/>',f='viewBox="0 0 '+l+" "+l+'"',c='<svg xmlns="http://www.w3.org/2000/svg" '+(n.width?'width="'+n.width+'" height="'+n.width+'" ':"")+f+' shape-rendering="crispEdges">'+s+h+`</svg>
109
- `;return typeof r=="function"&&r(null,c),c};const co=kn,je=wt,Mt=xt,uo=Tt;function Xe(e,t,i,r,n){const o=[].slice.call(arguments,1),a=o.length,l=typeof o[a-1]=="function";if(!l&&!co())throw new Error("Callback required as last argument");if(l){if(a<2)throw new Error("Too few arguments provided");a===2?(n=i,i=t,t=r=void 0):a===3&&(t.getContext&&typeof n>"u"?(n=r,r=void 0):(n=r,r=i,i=t,t=void 0))}else{if(a<1)throw new Error("Too few arguments provided");return a===1?(i=t,t=r=void 0):a===2&&!t.getContext&&(r=i,i=t,t=void 0),new Promise(function(s,h){try{const f=je.create(i,r);s(e(f,t,r))}catch(f){h(f)}})}try{const s=je.create(i,r);n(null,e(s,t,r))}catch(s){n(s)}}fe.create=je.create;fe.toCanvas=Xe.bind(null,Mt.render);fe.toDataURL=Xe.bind(null,Mt.renderToDataURL);fe.toString=Xe.bind(null,function(e,t,i){return uo.render(e,i)});const fo=["src"],ho=Ye({__name:"BuildShareDlg",props:{show:{default:!1},showModifiers:{}},emits:["update:show"],setup(e){const t=ht(),i=Jt(e,"show"),r=$(""),n=$(!1),o=cn(()=>{try{Le.parse(r.value),n.value=!1}catch{n.value=!0}},500);ce(()=>{r.value.trim()?o():n.value=!0});const a=$(!1),l=$(""),s=$("");ce(()=>{l.value?fe.toDataURL(l.value,{width:256,margin:2}).then(S=>{s.value=S}):s.value=""});const h=()=>{an(l.value),a.value=!1},f=j(async()=>{const S=Le.parse(r.value),c=await Xt(new TextEncoder().encode(Le.stringify({data:S,ctime:Date.now(),type:"share"})),"file.txt","text/plain"),d=location.origin+t.resolve(`/s/${c.id}`).href;l.value=d,a.value=!0});return(S,c)=>(ve(),me($e,null,[b(u(ye),{show:i.value,"onUpdate:show":c[1]||(c[1]=d=>i.value=d),preset:"dialog",title:"分享规则",positiveText:u(f).loading?"分享中...":"分享",onPositiveClick:u(f).invoke,loading:u(f).loading,positiveButtonProps:{disabled:n.value},style:{width:"800px"},onAfterLeave:c[2]||(c[2]=d=>r.value="")},{default:E(()=>[b(u(He),{class:"gkd_code h-[calc(var(--gkd-height)*0.6)]",type:"textarea","show-count":"",value:r.value,"onUpdate:value":c[0]||(c[0]=d=>{u(f).loading||(r.value=d)}),placeholder:"请输入需要分享的规则"},null,8,["value"])]),_:1},8,["show","positiveText","onPositiveClick","loading","positiveButtonProps"]),b(u(ye),{show:a.value,"onUpdate:show":c[3]||(c[3]=d=>a.value=d),preset:"dialog",title:"分享成功",positiveText:"复制并关闭",negativeText:"重新分享",onPositiveClick:h,onNegativeClick:c[4]||(c[4]=d=>{a.value=!1,r.value="",i.value=!0}),onAfterLeave:c[5]||(c[5]=d=>l.value=""),maskClosable:!1},{default:E(()=>[I("div",null,[b(u(U),{text:"",tag:"a",href:l.value,target:"_blank",type:"primary"},{default:E(()=>[V(gt(l.value),1)]),_:1},8,["href"]),s.value?(ve(),me("img",{key:0,src:s.value,"size-200px":"",block:""},null,8,fo)):Ke("",!0)])]),_:1},8,["show"])],64))}}),go={flex:"","flex-col":"","p-10px":"","gap-10px":"","h-full":""},wo={flex:""},po=I("svg",{viewBox:"0 0 32 32"},[I("path",{d:"M29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29zM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9z",fill:"currentColor"})],-1),mo={"h-full":"",flex:"","flex-items-center":""},vo=I("div",{"flex-1":""},null,-1),yo=I("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},[I("path",{d:"M19.43 12.98c.04-.32.07-.64.07-.98c0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.488.488 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1a.566.566 0 0 0-.18-.03c-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98c0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03c.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73c0 .21-.02.43-.05.73l-.14 1.13l.89.7l1.08.84l-.7 1.21l-1.27-.51l-1.04-.42l-.9.68c-.43.32-.84.56-1.25.73l-1.06.43l-.16 1.13l-.2 1.35h-1.4l-.19-1.35l-.16-1.13l-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7l-1.06.43l-1.27.51l-.7-1.21l1.08-.84l.89-.7l-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13l-.89-.7l-1.08-.84l.7-1.21l1.27.51l1.04.42l.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43l.16-1.13l.2-1.35h1.39l.19 1.35l.16 1.13l1.06.43c.43.18.83.41 1.23.71l.91.7l1.06-.43l1.27-.51l.7 1.21l-1.07.85l-.89.7l.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4s4-1.79 4-4s-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2s2 .9 2 2s-.9 2-2 2z",fill:"currentColor"})],-1),bo=I("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[I("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 112v288"}),I("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 256H112"})],-1),Co=I("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 1024 1024"},[I("path",{d:"M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4c30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4c30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4c-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8c-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6c-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1 1 26.9-26.9a26.97 26.97 0 0 1-26.9 26.9zm208.4 0a26.9 26.9 0 1 1 26.9-26.9a26.97 26.97 0 0 1-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4c30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4c30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z",fill:"currentColor"})],-1);const ko={href:"https://github.com/gkd-kit/inspect",target:"_blank",rel:"noopener noreferrer"},Bo=I("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 496 512"},[I("path",{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9c1.6 2.3 4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2z",fill:"currentColor"})],-1),Eo=I("div",{"h-1px":"","my-10px":"",bg:"#eee"},null,-1),So=I("div",{"h-1px":"","my-10px":"",bg:"#eee"},null,-1),No={flex:"","gap-10px":""},_o=I("div",null,"打开快照页面自动生成分享链接(请确保不含隐私)",-1),zo=Ye({__name:"HomePage",setup(e){const t=ht(),i=$([]),r=$(!0),n=async()=>{r.value=!0,i.value=(await Qt.getAllItems()).reverse(),_.value=[],r.value=!1};Wt(n);const o=ot({query:"",actualQuery:"",updateQuery:()=>{o.actualQuery=o.query.trim(),_.value=[]}}),a=se(()=>{const N=o.actualQuery;return N?i.value.filter(g=>(g.appName||"").includes(N)||(g.appId||"").includes(N)||(g.activityId||"").includes(N)):i.value}),l=j(async()=>{await un(),await n()}),{activityIdCol:s,appIdCol:h,appNameCol:f,ctimeCol:S,mtimeCol:c,deviceCol:d,appVersionCodeCol:p,appVersionNameCol:k,resetColWidth:A}=fn();ce(()=>{const N=a.value.reduce((g,B)=>(g.add(gn(B)),g),new Set);if(N.size<=1){d.filterOptions=void 0;return}d.filterOptions=[...N.values()].map(g=>({value:g,label:g}))}),ce(()=>{const N=a.value.reduce((g,B)=>(g.add(B.appName),g),new Set);if(N.size<=1){f.filterOptions=void 0;return}f.filterOptions=[...N.values()].map(g=>({value:g,label:g}))}),ce(()=>{const N=a.value.reduce((g,B)=>(g.add(B.activityId),g),new Set);if(N.size<=1){s.filterOptions=void 0;return}s.filterOptions=[...N.values()].map(g=>({value:g,label:g}))});const v=jt([{type:"selection"},S,c,d,f,h,p,k,s,{key:"actions",title:"操作",fixed:"right",width:"255px",render(N){return b(en,{snapshot:N,onDelete:n},null)}}]),y=ot({page:1,pageSize:50,showSizePicker:!0,pageSizes:[50,100],onChange:N=>{y.page=N},onUpdatePageSize:N=>{y.pageSize=N,y.page=1}});Yt(y,A);const m=N=>{[S,c].forEach(g=>{N.columnKey!=g.key?g.sortOrder=void 0:g.sortOrder=N.order})};c.sortOrder="descend";const w=$(!1),x=$(""),T=j(async()=>{const N=x.value.trim().split(`
110
- `).map(g=>g.trim()).filter(g=>Gt(g));N.length!=0&&(await dn(N),await n(),x.value="")}),_=$([]),C=()=>Promise.all(_.value.map(N=>rt.getItem(N))),L=j(async()=>{await new Promise((N,g)=>{ln.warning({title:"删除",content:`是否批量删除 ${_.value.length} 个快照`,negativeText:"取消",positiveText:"确认",onClose:g,onEsc:g,onMaskClick:g,onNegativeClick:g,onPositiveClick:N})}),await Promise.all(_.value.map(N=>rt.removeItem(N))),await n()}),R=j(async()=>{await tn(await C())}),z=j(async()=>{await nn(await C())}),K=j(async()=>{await at();const N=await on(await C());lt({content:N.map(g=>st(t,g)).join(`
111
- `)+`
112
- `})}),P=j(async()=>{await at();const N=await rn(await C());lt({content:N.map(g=>st(t,g)).join(`
113
- `)+`
114
- `})}),ge=$(!1),Z=$(!1);return(N,g)=>(ve(),me($e,null,[I("div",go,[I("div",wo,[b(u(ie),null,{default:E(()=>[b(u(sn),null,{default:E(()=>[b(u(He),{placeholder:"请输入应用名称/应用ID/界面ID",clearable:"",class:"min-w-320px",value:u(o).query,"onUpdate:value":g[0]||(g[0]=B=>u(o).query=B),onKeyup:qt(u(o).updateQuery,["enter"]),onChange:u(o).updateQuery},null,8,["value","onKeyup","onChange"]),b(u(U),{onClick:u(o).updateQuery},{icon:E(()=>[b(u(ae),null,{default:E(()=>[po]),_:1})]),_:1},8,["onClick"])]),_:1}),_.value.length?(ve(),me($e,{key:0},[b(u(Pe),null,{trigger:E(()=>[b(u(U),null,{default:E(()=>[V(" 批量下载 ")]),_:1})]),default:E(()=>[b(u(ie),{vertical:""},{default:E(()=>[b(u(U),{onClick:u(z).invoke,loading:u(z).loading},{default:E(()=>[V(" 批量下载-快照 ")]),_:1},8,["onClick","loading"]),b(u(U),{onClick:u(R).invoke,loading:u(R).loading},{default:E(()=>[V(" 批量下载-图片 ")]),_:1},8,["onClick","loading"])]),_:1})]),_:1}),b(u(Pe),null,{trigger:E(()=>[b(u(U),null,{default:E(()=>[V(" 批量分享 ")]),_:1})]),default:E(()=>[b(u(ie),{vertical:""},{default:E(()=>[b(u(U),{onClick:u(P).invoke,loading:u(P).loading},{default:E(()=>[V(" 批量生成链接-快照 ")]),_:1},8,["onClick","loading"]),b(u(U),{onClick:u(K).invoke,loading:u(K).loading},{default:E(()=>[V(" 批量生成链接-图片 ")]),_:1},8,["onClick","loading"])]),_:1})]),_:1}),b(u(U),{onClick:u(L).invoke},{default:E(()=>[V(" 批量删除 ")]),_:1},8,["onClick"]),I("div",mo,gt(`已选中 ${_.value.length} 个快照`),1)],64)):Ke("",!0)]),_:1}),vo,b(u(ie),null,{default:E(()=>[b(u(U),{title:"设置",onClick:g[1]||(g[1]=B=>Z.value=!0)},{icon:E(()=>[b(u(ae),null,{default:E(()=>[yo]),_:1})]),_:1}),b(u(Pe),null,{trigger:E(()=>[b(u(U),null,{icon:E(()=>[b(u(ae),null,{default:E(()=>[bo]),_:1})]),_:1})]),default:E(()=>[b(u(ie),{vertical:""},{default:E(()=>[b(u(U),{onClick:u(l).invoke,loading:u(l).loading},{default:E(()=>[V(" 导入本地文件 ")]),_:1},8,["onClick","loading"]),b(u(U),{onClick:g[2]||(g[2]=B=>w.value=!0),loading:u(T).loading},{default:E(()=>[V(" 导入网络文件 ")]),_:1},8,["loading"])]),_:1})]),_:1}),b(u(Zt),{to:"/device",title:"连接设备"},{default:E(()=>[b(u(U),null,{icon:E(()=>[b(u(ae),null,{default:E(()=>[Co]),_:1})]),_:1})]),_:1}),Ke("",!0),I("a",ko,[b(u(U),null,{icon:E(()=>[b(u(ae),null,{default:E(()=>[Bo]),_:1})]),_:1})])]),_:1})]),b(u(hn),{striped:"",data:a.value,columns:v,scrollX:1800,pagination:u(y),checkedRowKeys:_.value,"onUpdate:checkedRowKeys":g[4]||(g[4]=B=>_.value=B),rowKey:B=>B.id,"onUpdate:sorter":m,size:"small",class:"flex-1",flexHeight:"",loading:r.value},null,8,["data","columns","pagination","checkedRowKeys","rowKey","loading"])]),b(u(ye),{show:w.value,"onUpdate:show":g[6]||(g[6]=B=>w.value=B),preset:"dialog",title:"导入网络文件",showIcon:!1,positiveText:"确认",negativeText:"取消",style:{width:"800px"},onPositiveClick:u(T).invoke,loading:u(T).loading,onAfterLeave:g[7]||(g[7]=B=>x.value="")},{default:E(()=>[b(u(He),{value:x.value,"onUpdate:value":g[5]||(g[5]=B=>{u(T).loading||(x.value=B)}),type:"textarea",placeholder:`1.支持ZIP文件链接
115
- 2.支持快照链接
116
- 每行一个
117
- 空白行自动忽略
118
- 非法链接行自动忽略`,autosize:{minRows:8,maxRows:16},inputProps:{style:"white-space: nowrap;"}},null,8,["value","placeholder"])]),_:1},8,["show","onPositiveClick","loading"]),b(ho,{show:ge.value,"onUpdate:show":g[8]||(g[8]=B=>ge.value=B)},null,8,["show"]),b(u(ye),{show:Z.value,"onUpdate:show":g[12]||(g[12]=B=>Z.value=B),preset:"dialog",title:"设置",showIcon:!1,positiveText:"关闭",style:{width:"600px"},onPositiveClick:g[13]||(g[13]=B=>Z.value=!1)},{default:E(()=>[b(u(it),{checked:u(X).ignoreUploadWarn,"onUpdate:checked":g[9]||(g[9]=B=>u(X).ignoreUploadWarn=B)},{default:E(()=>[V(" 关闭生成分享链接弹窗提醒 ")]),_:1},8,["checked"]),Eo,b(u(it),{checked:u(X).ignoreWasmWarn,"onUpdate:checked":g[10]||(g[10]=B=>u(X).ignoreWasmWarn=B)},{default:E(()=>[V(" 关闭浏览器版本正则表达式 WASM(GC) 提醒 ")]),_:1},8,["checked"]),So,I("div",No,[b(u(Cn),{value:u(X).autoUploadImport,"onUpdate:value":g[11]||(g[11]=B=>u(X).autoUploadImport=B)},null,8,["value"]),_o])]),_:1},8,["show"])],64))}});export{zo as default};
119
- //# sourceMappingURL=HomePage-DZNMXZxh.js.map
@@ -1,2 +0,0 @@
1
- import{h as k,A as h,Q as v,V as w,aJ as i,W as x,az as y,aC as S,C as d,F as b,M as g,P as R,a6 as I,a7 as U,K as _,O as V,aA as B,H as C,I as f}from"./index-7Qv9BJ7h.js";import{m as N,a as n,l,i as q,j as A,k as D,e as F}from"./fetch-D-io-zYm.js";import{a as J}from"./import-DrT3vy2r.js";import"./jszip.min-CFVT6u4h.js";import"./index-RwQljgyW.js";const L={class:"h-[calc(100%-10px)]",flex:"","gap-5px":"","pt-40px":"","flex-col":"","flex-items-center":""},M={key:0,"mb-20px":""},O=_("a",{href:"https://github.com/gkd-kit/network-extension",target:"_blank",rel:"noopener noreferrer"}," 油猴脚本 ",-1),E=k({__name:"ImportPage",setup(P){const c=B(),u=C(),e=String(c.query.url||""),p=h(!0),r=h("加载中..."),m=async t=>{u.replace({name:"snapshot",params:{snapshotId:t},query:D(c.query,["str","gkd"])})};return v(async()=>{var o;if(!w(e)){N.error("非法URL参数"),await n(1e3),u.replace({path:"/"});return}await n(1e3);const t=i[e];if(t)if(await x.getItem(t)){m(t);return}else delete i[e];l.start();try{const[s]=(o=await J(e))!=null?o:[];if(s.status=="fulfilled"){l.finish();const a=s.value;a!=null&&a.id?(i[e]=a.id,e.match(q)?y[a.id]=e:e.match(A)&&(S[a.id]=e),p.value=!1,await n(500),m(a.id)):r.value="获取资源失败"}else throw s.reason}catch{l.error(),r.value="加载资源失败"}}),(t,o)=>(f(),d("div",L,[b(F)()?R("",!0):(f(),d("div",M,[g(" 建议安装并启用 "),O,g(" 获取更快加载速度 ")])),I(_("div",null,V(r.value),513),[[U,p.value]])]))}});export{E as default};
2
- //# sourceMappingURL=ImportPage-mT3DldLy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImportPage-mT3DldLy.js","sources":["../../src/views/ImportPage.vue"],"sourcesContent":["<script setup lang=\"tsx\">\nimport { toValidURL } from '@/utils/check';\nimport { loadingBar, message } from '@/utils/discrete';\nimport { gmOk } from '@/utils/gm';\nimport { importFromNetwork } from '@/utils/import';\nimport { delay, filterQuery } from '@/utils/others';\nimport {\n githubJpgStorage,\n githubZipStorage,\n snapshotStorage,\n urlStorage,\n} from '@/utils/storage';\nimport { githubImageUrlReg, githubZipUrlReg } from '@/utils/url';\nimport { onMounted, shallowRef } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\n\nconst route = useRoute();\nconst router = useRouter();\n\nconst importUrl = String(route.query.url || ``);\n\nconst loading = shallowRef(true);\nconst tip = shallowRef(`加载中...`);\n\nconst goToSnapshot = async (snapshotId: number) => {\n router.replace({\n name: 'snapshot',\n params: { snapshotId },\n query: filterQuery(route.query, ['str', 'gkd']),\n });\n};\n\nonMounted(async () => {\n if (!toValidURL(importUrl)) {\n message.error(`非法URL参数`);\n await delay(1000);\n router.replace({\n path: `/`,\n });\n return;\n }\n await delay(1000);\n const snapshotId = urlStorage[importUrl];\n if (snapshotId) {\n const snapshot = await snapshotStorage.getItem(snapshotId);\n if (snapshot) {\n goToSnapshot(snapshotId);\n return;\n } else {\n delete urlStorage[importUrl];\n }\n }\n loadingBar.start();\n try {\n const [result] = (await importFromNetwork(importUrl)) ?? [];\n\n if (result.status == 'fulfilled') {\n loadingBar.finish();\n const snapshot = result.value;\n if (snapshot?.id) {\n urlStorage[importUrl] = snapshot.id;\n if (importUrl.match(githubZipUrlReg)) {\n githubZipStorage[snapshot.id] = importUrl;\n } else if (importUrl.match(githubImageUrlReg)) {\n githubJpgStorage[snapshot.id] = importUrl;\n }\n loading.value = false;\n await delay(500);\n goToSnapshot(snapshot.id);\n } else {\n tip.value = `获取资源失败`;\n }\n } else {\n throw result.reason;\n }\n } catch {\n loadingBar.error();\n tip.value = `加载资源失败`;\n }\n});\n</script>\n<template>\n <div\n class=\"h-[calc(100%-10px)]\"\n flex\n gap-5px\n pt-40px\n flex-col\n flex-items-center\n >\n <div v-if=\"!gmOk()\" mb-20px>\n 建议安装并启用\n <a\n href=\"https://github.com/gkd-kit/network-extension\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n 油猴脚本\n </a>\n 获取更快加载速度\n </div>\n <div v-show=\"loading\">\n {{ tip }}\n </div>\n </div>\n</template>\n"],"names":["route","useRoute","router","useRouter","importUrl","String","query","url","loading","shallowRef","tip","goToSnapshot","snapshotId","replace","name","params","filterQuery","onMounted","toValidURL","message","error","delay","path","urlStorage","snapshotStorage","getItem","loadingBar","start","result","_a","importFromNetwork","status","finish","snapshot","value","id","match","githubZipUrlReg","githubZipStorage","githubImageUrlReg","githubJpgStorage","reason"],"mappings":"ynBAgBA,MAAMA,EAAQC,IACRC,EAASC,IAETC,EAAYC,OAAOL,EAAMM,MAAMC,KAAQ,EAAC,EAExCC,EAAUC,EAAW,EAAI,EACzBC,EAAMD,EAAY,QAAO,EAEzBE,EAAe,MAAOC,GAAuB,CACjDV,EAAOW,QAAQ,CACbC,KAAM,WACNC,OAAQ,CAAEH,WAAAA,CAAY,EACtBN,MAAOU,EAAYhB,EAAMM,MAAO,CAAC,MAAO,KAAK,CAAC,CAChD,CAAC,GAGHW,OAAAA,EAAU,SAAY,OACpB,GAAI,CAACC,EAAWd,CAAS,EAAG,CAC1Be,EAAQC,MAAO,SAAQ,EACvB,MAAMC,EAAM,GAAI,EAChBnB,EAAOW,QAAQ,CACbS,KAAO,GACT,CAAC,EACD,MACF,CACA,MAAMD,EAAM,GAAI,EAChB,MAAMT,EAAaW,EAAWnB,CAAS,EACvC,GAAIQ,EAEF,GADiB,MAAMY,EAAgBC,QAAQb,CAAU,EAC3C,CACZD,EAAaC,CAAU,EACvB,MACF,MACE,OAAOW,EAAWnB,CAAS,EAG/BsB,EAAWC,MAAK,EAChB,GAAI,CACF,KAAM,CAACC,CAAM,GAAKC,EAAA,MAAMC,EAAkB1B,CAAS,IAAjC,KAAAyB,EAAuC,GAEzD,GAAID,EAAOG,QAAU,YAAa,CAChCL,EAAWM,OAAM,EACjB,MAAMC,EAAWL,EAAOM,MACpBD,GAAAA,MAAAA,EAAUE,IACZZ,EAAWnB,CAAS,EAAI6B,EAASE,GAC7B/B,EAAUgC,MAAMC,CAAe,EACjCC,EAAiBL,EAASE,EAAE,EAAI/B,EACvBA,EAAUgC,MAAMG,CAAiB,IAC1CC,EAAiBP,EAASE,EAAE,EAAI/B,GAElCI,EAAQ0B,MAAQ,GAChB,MAAMb,EAAM,GAAG,EACfV,EAAasB,EAASE,EAAE,GAExBzB,EAAIwB,MAAS,QAEjB,KACE,OAAMN,EAAOa,MAEjB,MAAQ,CACNf,EAAWN,MAAK,EAChBV,EAAIwB,MAAS,QACf,CACF,CAAC"}