@gkd-kit/inspect 0.0.1753264900098 → 0.0.1756715340160
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/404.html +3 -3
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-D91GHH9O.js → ActionCard.vue_vue_type_script_setup_true_lang-D9C2Puxf.js} +2 -2
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-D91GHH9O.js.map → ActionCard.vue_vue_type_script_setup_true_lang-D9C2Puxf.js.map} +1 -1
- package/dist/assets/DevicePage-D2bRCKLk.js +49 -0
- package/dist/assets/DevicePage-D2bRCKLk.js.map +1 -0
- package/dist/assets/{HomePage-BQj4jaS3.js → HomePage-Ckec0Lnr.js} +2 -2
- package/dist/assets/{HomePage-BQj4jaS3.js.map → HomePage-Ckec0Lnr.js.map} +1 -1
- package/dist/assets/{ImportPage-Db8XX9r6.js → ImportPage-CY2laQkD.js} +2 -2
- package/dist/assets/{ImportPage-Db8XX9r6.js.map → ImportPage-CY2laQkD.js.map} +1 -1
- package/dist/assets/{Input-Ynpcnvhg.js → Input-0Oeqy0g_.js} +2 -2
- package/dist/assets/{Input-Ynpcnvhg.js.map → Input-0Oeqy0g_.js.map} +1 -1
- package/dist/assets/{SelectorPage-BdSzMIc3.js → SelectorPage-Dfsz__tN.js} +2 -2
- package/dist/assets/{SelectorPage-BdSzMIc3.js.map → SelectorPage-Dfsz__tN.js.map} +1 -1
- package/dist/assets/{SnapshotPage-BCnJLbu0.js → SnapshotPage-D74GPDdI.js} +4 -4
- package/dist/assets/{SnapshotPage-BCnJLbu0.js.map → SnapshotPage-D74GPDdI.js.map} +1 -1
- package/dist/assets/{SvgPage-2OLxFHNv.js → SvgPage-C1zjQVfl.js} +2 -2
- package/dist/assets/{SvgPage-2OLxFHNv.js.map → SvgPage-C1zjQVfl.js.map} +1 -1
- package/dist/assets/{TrackGraph-Cj0YVzGl.js → TrackGraph-9kJxOprr.js} +3 -3
- package/dist/assets/{TrackGraph-Cj0YVzGl.js.map → TrackGraph-9kJxOprr.js.map} +1 -1
- package/dist/assets/{_404Page-BbHTMit1.js → _404Page-Bn8vlGnA.js} +2 -2
- package/dist/assets/{_404Page-BbHTMit1.js.map → _404Page-Bn8vlGnA.js.map} +1 -1
- package/dist/assets/chunk-DI5b2YDy.js +3 -0
- package/dist/assets/{chunk-CtkY0CPE.js.map → chunk-DI5b2YDy.js.map} +1 -1
- package/dist/assets/{dayjs.min-DsBT56G2.js → dayjs.min-DBvJpvjN.js} +7 -7
- package/dist/assets/{dayjs.min-DsBT56G2.js.map → dayjs.min-DBvJpvjN.js.map} +1 -1
- package/dist/assets/{error-D74TX_sp.js → error-BeYrEikB.js} +2 -2
- package/dist/assets/{error-D74TX_sp.js.map → error-BeYrEikB.js.map} +1 -1
- package/dist/assets/{import-CmbSMi96.js → import-CAlhG5XC.js} +2 -2
- package/dist/assets/{import-CmbSMi96.js.map → import-CAlhG5XC.js.map} +1 -1
- package/dist/assets/{index-tQGywndn.css → index-BOn7cIqR.css} +1 -1
- package/dist/assets/{index-XrupmS3c.js → index-D0bRFMVs.js} +3 -3
- package/dist/assets/{index-XrupmS3c.js.map → index-D0bRFMVs.js.map} +1 -1
- package/dist/assets/{index-DeENZmi8.js → index-DQpmpBAn.js} +6 -6
- package/dist/assets/{index-DeENZmi8.js.map → index-DQpmpBAn.js.map} +1 -1
- package/dist/assets/{jszip.min-l0dN86JM.js → jszip.min-_1impF28.js} +2 -2
- package/dist/assets/{jszip.min-l0dN86JM.js.map → jszip.min-_1impF28.js.map} +1 -1
- package/dist/assets/{node-Do70ssMr.js → node-TE3TnSn0.js} +2 -2
- package/dist/assets/{node-Do70ssMr.js.map → node-TE3TnSn0.js.map} +1 -1
- package/dist/assets/{snapshot-DuUlV9JH.js → snapshot-BCm8BOZh.js} +2 -2
- package/dist/assets/{snapshot-DuUlV9JH.js.map → snapshot-BCm8BOZh.js.map} +1 -1
- package/dist/assets/{table-BfMftIZh.js → table-Bd0KeboP.js} +2 -2
- package/dist/assets/{table-BfMftIZh.js.map → table-Bd0KeboP.js.map} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/DevicePage-C36GmIMH.js +0 -49
- package/dist/assets/DevicePage-C36GmIMH.js.map +0 -1
- package/dist/assets/chunk-CtkY0CPE.js +0 -3
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.
|
|
4
|
+
<script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1756715340160/files/dist/assets/polyfills-DHsnwdd7.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.
|
|
16
|
-
<link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.
|
|
15
|
+
<script type="module" crossorigin src="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1756715340160/files/dist/assets/index-DQpmpBAn.js"></script>
|
|
16
|
+
<link rel="stylesheet" crossorigin href="https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1756715340160/files/dist/assets/index-BOn7cIqR.css">
|
|
17
17
|
</head>
|
|
18
18
|
|
|
19
19
|
<body>
|
package/package.json
CHANGED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import{z as b,aY as u,h as le,aK as re,a$ as pe,A as ue,a_ as ce,$ as de,E as me,B as G,H as ge,I as K,J,K as M,G as a,L as w,M as r,P as s,V as j,_ as fe,W as ve,T as h,O as ke,R as D,Q as we,S as W,U as _e}from"./index-DeENZmi8.js";import{e as he,a as V,b as T,p as ye}from"./snapshot-DuUlV9JH.js";import{a as Q,l as Se}from"./error-D74TX_sp.js";import{u as be,a as Ce,_ as xe}from"./table-BfMftIZh.js";import{u as B,k as Ie,a as H,_ as Ne}from"./dayjs.min-DsBT56G2.js";import{_ as Re}from"./Input-Ynpcnvhg.js";import"./node-Do70ssMr.js";const Pe=E=>{const C=b(E),o=async(n,f={})=>{var U;if(!C.value)throw new Error("origin must exist");const I=new URL("/api/"+n,C.value);Object.entries(f.query||{}).forEach(([v,y])=>{y!==void 0&&I.searchParams.set(v,String(y))});const d=await he(I,f.init).catch(v=>{throw u.error("网络错误:/"+n),v});if(!d.ok)throw u.error("接口错误:/"+n+":"+d.status),d;if((U=d.headers.get("Content-Type"))!=null&&U.includes("application/json")){const v=await d.clone().json();if(v.__error)throw u.error(v.message),d}return d},m=async(...n)=>await(await o(...n)).json(),c=async(...n)=>await(await o(...n)).blob(),g=async(...n)=>await(await o(...n)).arrayBuffer();return{origin:C,api:{device:async()=>m("device"),snapshot:async n=>m("snapshot",{query:n}),screenshot:async n=>g("screenshot",{query:n}),captureSnapshot:async()=>m("captureSnapshot"),snapshots:async()=>m("snapshots"),updateSubsApps:async n=>c("updateSubsApps",{init:{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}}}),updateSubscription:async n=>c("updateSubscription",{init:{method:"POST",body:JSON.stringify({...n,id:-1,name:"内存订阅",version:0}),headers:{"Content-Type":"application/json"}}}),execSelector:async n=>(n=structuredClone(n),n.action||=void 0,m("execSelector",{init:{method:"POST",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}}}))}}},Te={flex:"","gap-10px":"","flex-items-center":""},Be={flex:"","flex-col":"","p-10px":"","gap-10px":"","h-full":""},Ue={flex:"","items-center":"","gap-24px":""},ze={"whitespace-nowrap":""},Ee=le({__name:"DevicePage",setup(E){const C=re(),{api:o,origin:m}=Pe(),c=pe("device_link",""),g=b(),x=B(async()=>{c.value&&(m.value=Q(()=>new URL(c.value.trim()),()=>"非法设备地址").origin,c.value=m.value,g.value=await o.device())});ue(async()=>{await ce(500),de(c.value)&&x.invoke()});const n=b([]);me(async()=>{if(!g.value)return;document.title="已连接 "+g.value.manufacturer;const e=await o.snapshots();e.sort((t,p)=>p.id-t.id),n.value=e,R.value=""});const f=B(async()=>{const e=await o.captureSnapshot(),t=await o.screenshot({id:e.id});await V.setItem(e.id,e),await T.setItem(e.id,t),u.success("保存快照成功");const p=await o.snapshots();p.sort((_,P)=>P.id-_.id),n.value=p}),I=B(async()=>{const e=(await o.snapshots()).map(l=>l.id),t=new Set((await T.keys()).map(l=>parseInt(l))),p=e.filter(l=>!t.has(l));if(p.length==0){u.success("没有新记录可导入");return}let _=0;const P=ye(3);await Promise.all(p.map(l=>P(async()=>{const[O,q]=await Promise.all([o.snapshot({id:l}),o.screenshot({id:l})]);O.nodes&&(await Promise.all([V.setItem(l,O),T.setItem(l,q)]),_++)}))),u.success(`导入${_}条新记录`)}),{activityIdCol:d,appIdCol:U,appNameCol:v,ctimeCol:y,appVersionCodeCol:X,appVersionNameCol:Y,resetColWidth:Z}=be(),ee=e=>{e.columnKey==y.key&&(y.sortOrder=e.order)},F=Ie(async e=>{if(await V.hasItem(e.id)||await V.setItem(e.id,await o.snapshot({id:e.id})),!await T.hasItem(e.id)){const t=await o.screenshot({id:e.id});await T.setItem(e.id,t)}window.open(C.resolve({name:"snapshot",params:{snapshotId:e.id}}).href)},e=>e.id),te=[y,v,U,X,Y,d,{key:"actions",title:"操作",fixed:"right",width:"120px",render(e){return a(H,{size:"small"},{default:()=>[a(D,{size:"small",loading:F.loading[e.id],onClick:()=>F.invoke(e)},{default:()=>[h("查看")]})]})}}],N=G({page:1,pageSize:50,showSizePicker:!0,pageSizes:[50,100],onChange:e=>{N.page=e},onUpdatePageSize:e=>{N.pageSize=e,N.page=1}});ge(N,Z);const z=b(!1),R=b(""),L=B(async()=>{const e=Q(()=>Se.parse(R.value.trim()));if(e){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{u.error("无法识别的订阅文本");return}u.success("修改成功")}}),A=b(!1),se=[{label:"仅查询",value:""},{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"}],k=G({selector:"",action:"click",quickFind:!1}),$=B(async()=>{const e=await o.execSelector({...k,fastQuery:k.quickFind});if(e.message){u.success("操作成功:"+e.message);return}e.action?u.success((e.result?"操作成功:":"操作失败")+e.action):!e.action&&e.result&&u.success("查询成功")}),ne=`
|
|
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 p=Re,_=fe,P=ve,l=H,O=Ce,q=K("SvgIcon"),S=D,oe=K("RouterLink"),ae=Ne,ie=xe;return M(),J(W,null,[a(_,{show:s(z),"onUpdate:show":t[1]||(t[1]=i=>j(z)?z.value=i:null),preset:"dialog",style:{width:"800px"},title:"修改内存订阅",positiveText:"确认",positiveButtonProps:{loading:s(L).loading,onClick(){s(L).invoke()}}},{default:r(()=>[a(p,{value:s(R),"onUpdate:value":t[0]||(t[0]=i=>j(R)?R.value=i:null),disabled:s(L).loading,type:"textarea",class:"gkd_code",autosize:{minRows:20,maxRows:25},placeholder:s(ne)},null,8,["value","disabled","placeholder"])]),_:1},8,["show","positiveButtonProps"]),a(_,{show:s(A),"onUpdate:show":t[5]||(t[5]=i=>j(A)?A.value=i:null),preset:"dialog",style:{width:"800px"},title:"执行选择器",positiveText:"确认",positiveButtonProps:{loading:s($).loading,onClick(){s($).invoke()}}},{default:r(()=>[a(p,{value:s(k).selector,"onUpdate:value":t[2]||(t[2]=i=>s(k).selector=i),disabled:s($).loading,type:"textarea",class:"gkd_code",autosize:{minRows:4,maxRows:10},placeholder:"请输入合法的选择器"},null,8,["value","disabled"]),t[12]||(t[12]=w("div",{"h-15px":""},null,-1)),a(l,null,{default:r(()=>[a(P,{checked:s(k).quickFind,"onUpdate:checked":t[3]||(t[3]=i=>s(k).quickFind=i)},{default:r(()=>t[9]||(t[9]=[h(" 快速查找 ")])),_:1,__:[9]},8,["checked"]),t[10]||(t[10]=w("a",{href:"https://gkd.li/api/interfaces/RawCommonProps.html#quickfind",target:"_blank",rel:"noopener noreferrer"}," 查找说明 ",-1))]),_:1,__:[10]}),t[13]||(t[13]=w("div",{"h-10px":""},null,-1)),w("div",Te,[a(O,{value:s(k).action,"onUpdate:value":t[4]||(t[4]=i=>s(k).action=i),options:se,class:"w-150px"},null,8,["value"]),t[11]||(t[11]=w("a",{href:"https://gkd.li/api/interfaces/RawRuleProps#action",target:"_blank",rel:"noopener noreferrer"}," 操作说明 ",-1))])]),_:1,__:[12,13]},8,["show","positiveButtonProps"]),w("div",Be,[w("div",Ue,[a(oe,{to:"/",class:"flex ml-12px",title:"首页"},{default:r(()=>[a(S,{text:"",style:{"--n-icon-size":"24px"}},{icon:r(()=>[a(q,{name:"home"})]),_:1})]),_:1}),a(ae,null,{default:r(()=>[a(p,{value:s(c),"onUpdate:value":t[6]||(t[6]=i=>j(c)?c.value=i:null),placeholder:"请输入设备地址",style:{width:"320px"},onKeyup:we(s(x).invoke,["enter"])},null,8,["value","onKeyup"]),a(S,{loading:s(x).loading,onClick:s(x).invoke},{default:r(()=>t[14]||(t[14]=[h(" 刷新连接 ")])),_:1,__:[14]},8,["loading","onClick"])]),_:1}),s(g)?(M(),J(W,{key:0},[w("div",ze,_e(`已连接 ${s(g).manufacturer} Android ${s(g).release}`),1),a(S,{loading:s(f).loading,onClick:s(f).invoke},{default:r(()=>t[15]||(t[15]=[h(" 快照 ")])),_:1,__:[15]},8,["loading","onClick"]),a(S,{loading:s(I).loading,onClick:s(I).invoke},{default:r(()=>t[16]||(t[16]=[h(" 下载设备所有快照 ")])),_:1,__:[16]},8,["loading","onClick"]),a(S,{onClick:t[7]||(t[7]=i=>z.value=!0)},{default:r(()=>t[17]||(t[17]=[h(" 修改内存订阅 ")])),_:1,__:[17]}),a(S,{onClick:t[8]||(t[8]=i=>A.value=!0)},{default:r(()=>t[18]||(t[18]=[h(" 执行选择器 ")])),_:1,__:[18]})],64)):ke("",!0)]),a(ie,{striped:"","flex-height":"",data:s(n),columns:te,pagination:s(N),size:"small",class:"flex-1",scrollX:1200,"onUpdate:sorter":ee},null,8,["data","pagination"])])],64)}}});export{Ee as default};
|
|
49
|
-
//# sourceMappingURL=DevicePage-C36GmIMH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevicePage-C36GmIMH.js","sources":["../../src/utils/api.ts","../../src/views/DevicePage.vue"],"sourcesContent":["import { message } from './discrete';\nimport { enhanceFetch } from './fetch';\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 fastQuery?: boolean;\n }) => {\n data = structuredClone(data);\n data.action ||= undefined;\n return jsonRpc<{ message: string; action: string; result: boolean }>(\n `execSelector`,\n {\n init: {\n method: 'POST',\n body: JSON.stringify(data),\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 { screenshotStorage, snapshotStorage } from '@/utils/snapshot';\nimport { useSnapshotColumns } from '@/utils/table';\nimport { useBatchTask, useTask } from '@/utils/task';\nimport type { DataTableColumns, PaginationProps } from 'naive-ui';\nimport type { SortState } from 'naive-ui/es/data-table/src/interface';\nimport pLimit from 'p-limit';\nimport JSON5 from 'json5';\n\nconst router = useRouter();\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 document.title = `已连接 ` + device.value.manufacturer;\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 (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 message.success(`修改成功`);\n});\n\nconst showSelectorModel = shallowRef(false);\n\nconst actionOptions: {\n value?: string;\n label: string;\n}[] = [\n {\n label: '仅查询',\n value: ``,\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 action: 'click',\n quickFind: false,\n});\nconst execSelector = useTask(async () => {\n const result = await api.execSelector({\n ...clickAction,\n fastQuery: clickAction.quickFind,\n });\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 positiveText=\"确认\"\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 positiveText=\"确认\"\n :positiveButtonProps=\"{\n loading: execSelector.loading,\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 />\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 />\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 <div flex items-center gap-24px>\n <RouterLink to=\"/\" class=\"flex ml-12px\" title=\"首页\">\n <NButton text style=\"--n-icon-size: 24px\">\n <template #icon>\n <SvgIcon name=\"home\" />\n </template>\n </NButton>\n </RouterLink>\n <NInputGroup>\n <NInput\n v-model:value=\"link\"\n placeholder=\"请输入设备地址\"\n :style=\"{ width: `320px` }\"\n @keyup.enter=\"connect.invoke\"\n />\n <NButton :loading=\"connect.loading\" @click=\"connect.invoke\">\n 刷新连接\n </NButton>\n </NInputGroup>\n <template v-if=\"device\">\n <div whitespace-nowrap>\n {{ `已连接 ${device.manufacturer} Android ${device.release}` }}\n </div>\n <NButton\n :loading=\"captureSnapshot.loading\"\n @click=\"captureSnapshot.invoke\"\n >\n 快照\n </NButton>\n <NButton\n :loading=\"downloadAllSnapshot.loading\"\n @click=\"downloadAllSnapshot.invoke\"\n >\n 下载设备所有快照\n </NButton>\n <NButton @click=\"showSubsModel = true\"> 修改内存订阅 </NButton>\n <NButton @click=\"showSelectorModel = true\"> 执行选择器 </NButton>\n </template>\n </div>\n <NDataTable\n striped\n flex-height\n :data=\"snapshots\"\n :columns=\"columns\"\n :pagination=\"pagination\"\n size=\"small\"\n class=\"flex-1\"\n :scrollX=\"1200\"\n @update:sorter=\"handleSorterChange\"\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","api","link","useStorage","device","connect","useTask","errorWrap","URL","trim","onMounted","delay","toValidURL","invoke","snapshots","watchEffect","document","title","manufacturer","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","_resolveComponent2","default","loading","onClick","_createTextVNode2","pagination","shallowReactive","page","pageSize","showSizePicker","pageSizes","onChange","onUpdatePageSize","watch","showSubsModel","updateSubs","JSON5","parse","categories","globalGroups","apps","updateSubscription","Array","isArray","showSelectorModel","actionOptions","label","clickAction","selector","action","quickFind","execSelector","fastQuery","placeholder","_createVNode","_component_NModal","show","_unref","$event","preset","style","positiveText","positiveButtonProps","_component_NInput","disabled","type","class","autosize","_cache","_createElementVNode","_component_NSpace","_component_NCheckbox","checked","target","rel","_hoisted_1","_component_NSelect","_hoisted_2","_hoisted_3","_component_RouterLink","to","_component_NButton","text","icon","_component_SvgIcon","_component_NInputGroup","onKeyup","_withKeys","_createElementBlock","_Fragment","_hoisted_4","_toDisplayString","release","_component_NDataTable","striped","size","scrollX"],"mappings":"4hBAQO,MAAMA,GAAgBC,GAAwB,CACnD,MAAMC,EAASC,EAAWF,CAAU,EAC9BG,EAAM,MAAOC,EAAiBC,EAAsB,CAAA,IAAO,OAC/D,GAAI,CAACJ,EAAO,MACV,MAAM,IAAI,MAAM,mBAAmB,EAErC,MAAMK,EAAI,IAAI,IAAI,QAAUF,EAASH,EAAO,KAAK,EACjD,OAAO,QAAQI,EAAQ,OAAS,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACE,EAAKC,CAAK,IAAM,CACxDA,IAAU,QACdF,EAAE,aAAa,IAAIC,EAAK,OAAOC,CAAK,CAAC,CAAA,CACtC,EACD,MAAMC,EAAW,MAAMC,GAAaJ,EAAGD,EAAQ,IAAI,EAAE,MAAOM,GAAM,CAChE,MAAAC,EAAQ,MAAM,SAAWR,CAAO,EAC1BO,CAAA,CACP,EACD,GAAI,CAACF,EAAS,GACZ,MAAAG,EAAQ,MAAM,SAAWR,EAAU,IAAMK,EAAS,MAAM,EAClDA,EAER,IAAII,EAAAJ,EAAS,QAAQ,IAAI,cAAc,IAAnC,MAAAI,EAAsC,SAAS,oBAAqB,CACtE,MAAMC,EAAS,MAAML,EAAS,MAAA,EAAQ,KAAA,EACtC,GAAIK,EAAM,QACR,MAAAF,EAAQ,MAAME,EAAM,OAAO,EACrBL,CACR,CAEF,OAAOA,CAAA,EAEHM,EAAU,SAAaC,IAEnB,MADS,MAAMb,EAAI,GAAGa,CAAI,GACX,KAAA,EAEnBC,EAAU,SAAUD,IAEjB,MADU,MAAMb,EAAI,GAAGa,CAAI,GACZ,KAAA,EAElBE,EAAiB,SAAUF,IAExB,MADU,MAAMb,EAAI,GAAGa,CAAI,GACZ,YAAA,EAiExB,MAAO,CAAE,OAAAf,EAAQ,IA/DL,CACV,OAAQ,SAAYc,EAAgB,QAAQ,EAC5C,SAAU,MAAOI,GACRJ,EAAkB,WAAY,CAAE,MAAAI,CAAA,CAAO,EAEhD,WAAY,MAAOA,GACVD,EAAe,aAAc,CAAE,MAAAC,CAAA,CAAO,EAE/C,gBAAiB,SACRJ,EAAkB,iBAAiB,EAE5C,UAAW,SACFA,EAAoB,WAAW,EAExC,eAAgB,MAAOK,GACdH,EAAQ,iBAAkB,CAC/B,KAAM,CACJ,OAAQ,OACR,KAAM,KAAK,UAAUG,CAAI,EACzB,QAAS,CACP,eAAgB,kBAAA,CAClB,CACF,CACD,EAEH,mBAAoB,MAAOA,GAClBH,EAAQ,qBAAsB,CACnC,KAAM,CACJ,OAAQ,OACR,KAAM,KAAK,UAAU,CACnB,GAAGG,EACH,GAAI,GACJ,KAAM,OACN,QAAS,CAAA,CACV,EACD,QAAS,CACP,eAAgB,kBAAA,CAClB,CACF,CACD,EAEH,aAAc,MAAOA,IAMnBA,EAAO,gBAAgBA,CAAI,EAC3BA,EAAK,SAAW,OACTL,EACL,eACA,CACE,KAAM,CACJ,OAAQ,OACR,KAAM,KAAK,UAAUK,CAAI,EACzB,QAAS,CACP,eAAgB,kBAAA,CAClB,CACF,CACF,EAEJ,CAEe,CACnB,kOClGA,MAAMC,EAASC,GAAS,EAClB,CAAEC,IAAAA,EAAKtB,OAAAA,GAAWF,GAAY,EAC9ByB,EAAOC,GAAW,cAAe,EAAE,EACnCC,EAASxB,EAAU,EACnByB,EAAUC,EAAQ,SAAY,CAC7BJ,EAAKhB,QACVP,EAAOO,MAAQqB,EACb,IAAM,IAAIC,IAAIN,EAAKhB,MAAMuB,KAAI,CAAE,EAC/B,IAAM,QACR,EAAE9B,OACFuB,EAAKhB,MAAQP,EAAOO,MACpBkB,EAAOlB,MAAQ,MAAMe,EAAIG,OAAM,EACjC,CAAC,EACDM,GAAU,SAAY,CACpB,MAAMC,GAAM,GAAG,EACXC,GAAWV,EAAKhB,KAAK,GACvBmB,EAAQQ,OAAM,CAElB,CAAC,EAED,MAAMC,EAAYlC,EAAuB,EAAE,EAC3CmC,GAAY,SAAY,CACtB,GAAI,CAACX,EAAOlB,MAAO,OACnB8B,SAASC,MAAQ,OAASb,EAAOlB,MAAMgC,aACvC,MAAMC,EAAS,MAAMlB,EAAIa,UAAS,EAClCK,EAAOC,KAAK,CAACC,EAAGC,IAAMA,EAAEC,GAAKF,EAAEE,EAAE,EACjCT,EAAU5B,MAAQiC,EAClBK,EAAStC,MAAQ,EACnB,CAAC,EAED,MAAMuC,EAAkBnB,EAAQ,SAAY,CAC1C,MAAMoB,EAAW,MAAMzB,EAAIwB,gBAAe,EACpCE,EAAa,MAAM1B,EAAI0B,WAAW,CAAEJ,GAAIG,EAASH,EAAG,CAAC,EAC3D,MAAMK,EAAgBC,QAAQH,EAASH,GAAIG,CAAQ,EACnD,MAAMI,EAAkBD,QAAQH,EAASH,GAAII,CAAU,EACvDrC,EAAQyC,QAAQ,QAAQ,EACxB,MAAMZ,EAAS,MAAMlB,EAAIa,UAAS,EAClCK,EAAOC,KAAK,CAACC,EAAGC,IAAMA,EAAEC,GAAKF,EAAEE,EAAE,EACjCT,EAAU5B,MAAQiC,CACpB,CAAC,EACKa,EAAsB1B,EAAQ,SAAY,CAC9C,MAAM2B,GAAe,MAAMhC,EAAIa,UAAS,GAAIoB,IAAKC,GAAMA,EAAEZ,EAAE,EACrDa,EAAmB,IAAIC,KAC1B,MAAMP,EAAkBQ,QAAQJ,IAAKC,GAAMI,SAASJ,CAAC,CAAC,CACzD,EACMK,EAAsBP,EAAYQ,OACrCC,GAAM,CAACN,EAAiBO,IAAID,CAAC,CAChC,EACA,GAAIF,EAAoBI,QAAU,EAAG,CACnCtD,EAAQyC,QAAQ,UAAU,EAC1B,MACF,CACA,IAAIc,EAAI,EACR,MAAMC,EAAQC,GAAO,CAAC,EACtB,MAAMC,QAAQC,IACZT,EAAoBN,IAAKgB,GACvBJ,EAAM,SAAY,CAChB,KAAM,CAACK,EAAaC,CAAa,EAAI,MAAMJ,QAAQC,IAAI,CACrDhD,EAAIyB,SAAS,CAAEH,GAAI2B,CAAW,CAAC,EAC/BjD,EAAI0B,WAAW,CAAEJ,GAAI2B,EAAY,CAAC,CAC1B,EACLC,EAAYE,QACjB,MAAML,QAAQC,IAAI,CAChBrB,EAAgBC,QAAQqB,EAAYC,CAAW,EAC/CrB,EAAkBD,QAAQqB,EAAYE,CAAa,CAAC,CACrD,EACDP,KACD,CACH,CACF,EACAvD,EAAQyC,QAAQ,KAAKc,CAAC,MAAM,CAC9B,CAAC,EAEK,CACJS,cAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,SAAAA,EACAC,kBAAAA,EACAC,kBAAAA,EACAC,cAAAA,GACEC,GAAkB,EAChBC,GAAsBC,GAAsB,CAC5CA,EAAOC,WAAaP,EAASxE,MAC/BwE,EAASQ,UAAYF,EAAOG,QAG1BC,EAAkBC,GACtB,MAAOC,GAAkB,CAIvB,GAHM,MAAMzC,EAAgB0C,QAAQD,EAAI9C,EAAE,GACxC,MAAMK,EAAgBC,QAAQwC,EAAI9C,GAAI,MAAMtB,EAAIyB,SAAS,CAAEH,GAAI8C,EAAI9C,EAAG,CAAC,CAAC,EAEtE,CAAE,MAAMO,EAAkBwC,QAAQD,EAAI9C,EAAE,EAAI,CAC9C,MAAMgD,EAAK,MAAMtE,EAAI0B,WAAW,CAAEJ,GAAI8C,EAAI9C,EAAG,CAAC,EAC9C,MAAMO,EAAkBD,QAAQwC,EAAI9C,GAAIgD,CAAE,CAC5C,CACAC,OAAOC,KACL1E,EAAO2E,QAAQ,CACbC,KAAM,WACNC,OAAQ,CAAE1B,WAAYmB,EAAI9C,EAAG,EAC9B,EAAEsD,IACL,CACF,EACChC,GAAMA,EAAEtB,EACX,EAEMuD,GAAsC,CAC1CrB,EACAD,EACAD,EACAG,EACAC,EACAL,EACA,CACErE,IAAK,UACLgC,MAAO,KACP8D,MAAO,QACPC,MAAO,QACPC,OAAOZ,EAAK,CACV,OAAAa,EAAAC,EAAA,CAAA,KAAA,OAAA,EAAA,CAAAC,QAAAA,IAAA,CAAAF,EAAAC,EAAA,CAAA,KAAA,QAAA,QAIehB,EAAgBkB,QAAQhB,EAAI9C,EAAE,EAAC,QAC/B+D,IAAMnB,EAAgBtD,OAAOwD,CAAG,CAAC,EAAA,CAAAe,QAAAA,IAAA,CAAAG,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAMlD,CACF,CAAC,EAGGC,EAAaC,EAAiC,CAClDC,KAAM,EACNC,SAAU,GACVC,eAAgB,GAChBC,UAAW,CAAC,GAAI,GAAG,EACnBC,SAAWJ,GAAiB,CAC1BF,EAAWE,KAAOA,GAEpBK,iBAAmBJ,GAAqB,CACtCH,EAAWG,SAAWA,EACtBH,EAAWE,KAAO,CACpB,CACF,CAAC,EACDM,GAAMR,EAAY5B,CAAa,EAE/B,MAAMqC,EAAgBrH,EAAW,EAAK,EAChC4C,EAAW5C,EAAW,EAAE,EACxBsH,EAAa5F,EAAQ,SAAY,CACrC,MAAMR,EAAOS,EAAU,IAAM4F,GAAMC,MAAM5E,EAAStC,MAAMuB,KAAI,CAAE,CAAC,EAC/D,GAAKX,EACL,IAAIA,EAAKuG,YAAcvG,EAAKwG,cAAgBxG,EAAKyG,KAC/C,MAAMtG,EAAIuG,mBAAmB1G,CAAI,UACxB,OAAOA,EAAKyB,IAAM,SAC3B,MAAMtB,EAAIuG,mBAAmB,CAC3BD,KAAM,CAACzG,CAAI,CACb,CAAC,UACQ2G,MAAMC,QAAQ5G,CAAI,GAAK,OAAOA,EAAK,CAAC,EAAEyB,IAAM,SACrD,MAAMtB,EAAIuG,mBAAmB,CAC3BD,KAAMzG,CACR,CAAC,UACQ,OAAOA,EAAKb,KAAO,SAC5B,MAAMgB,EAAIuG,mBAAmB,CAC3BF,aAAc,CAACxG,CAAI,CACrB,CAAC,UACQ2G,MAAMC,QAAQ5G,CAAI,GAAK,OAAOA,EAAK,CAAC,EAAEb,KAAO,SACtD,MAAMgB,EAAIuG,mBAAmB,CAC3BF,aAAcxG,CAChB,CAAC,MACI,CACLR,EAAQE,MAAM,WAAW,EACzB,MACF,CACAF,EAAQyC,QAAQ,MAAM,EACxB,CAAC,EAEK4E,EAAoB/H,EAAW,EAAK,EAEpCgI,GAGA,CACJ,CACEC,MAAO,MACP3H,MAAO,EACT,EACA,CACEA,MAAO,QACP2H,MAAO,OACT,EACA,CACE3H,MAAO,YACP2H,MAAO,WACT,EACA,CACE3H,MAAO,cACP2H,MAAO,aACT,EACA,CACE3H,MAAO,OACP2H,MAAO,MACT,EACA,CACE3H,MAAO,YACP2H,MAAO,WACT,EACA,CACE3H,MAAO,gBACP2H,MAAO,eACT,EACA,CACE3H,MAAO,kBACP2H,MAAO,iBACT,CAAC,EAEGC,EAAcrB,EAAgB,CAClCsB,SAAU,GACVC,OAAQ,QACRC,UAAW,EACb,CAAC,EACKC,EAAe5G,EAAQ,SAAY,CACvC,MAAMa,EAAS,MAAMlB,EAAIiH,aAAa,CACpC,GAAGJ,EACHK,UAAWL,EAAYG,SACzB,CAAC,EACD,GAAI9F,EAAO7B,QAAS,CAClBA,EAAQyC,QAAQ,QAAUZ,EAAO7B,OAAO,EACxC,MACF,CACI6B,EAAO6F,OACT1H,EAAQyC,SAASZ,EAAOA,OAAS,QAAU,QAAUA,EAAO6F,MAAM,EACzD,CAAC7F,EAAO6F,QAAU7F,EAAOA,QAClC7B,EAAQyC,QAAQ,MAAM,CAE1B,CAAC,EAEKqF,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+ClB3G,KAAI,qHAGJ4G,EAwBSC,EAAA,CAvBCC,KAAMC,EAAAvB,CAAA,sCAAAA,EAAa/G,MAAAuI,EAAA,MAC3BC,OAAO,SACPC,MAAA,CAAA,MAAA,SACA1G,MAAM,SACN2G,aAAa,KACZC,oBAAmB,CAAmBxC,QAAAmC,EAAAtB,CAAA,EAAWb,kBAAmCmC,EAAAtB,CAAA,EAAWrF,OAAM,gBAOtG,IAUE,CAVFwG,EAUES,EAAA,CATQ5I,MAAOsI,EAAAhG,CAAA,uCAAAA,EAAQtC,MAAAuI,EAAA,MACtBM,SAAUP,EAAAtB,CAAA,EAAWb,QACtB2C,KAAK,WACLC,MAAM,WACLC,SAAU,wBAIVd,YAAaI,EAAAJ,EAAA,uFAGlBC,EAkDSC,EAAA,CAjDCC,KAAMC,EAAAb,CAAA,sCAAAA,EAAiBzH,MAAAuI,EAAA,MAC/BC,OAAO,SACPC,MAAA,CAAA,MAAA,SACA1G,MAAM,QACN2G,aAAa,KACZC,oBAAmB,CAAmBxC,QAAAmC,EAAAN,CAAA,EAAa7B,kBAAmCmC,EAAAN,CAAA,EAAarG,OAAM,gBAO1G,IAUE,CAVFwG,EAUES,EAAA,CATQ5I,MAAOsI,EAAAV,CAAA,EAAYC,SAAZ,iBAAAoB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAV,GAAAD,EAAAV,CAAA,EAAYC,SAAQU,GAClCM,SAAUP,EAAAN,CAAA,EAAa7B,QACxB2C,KAAK,WACLC,MAAM,WACLC,SAAU,uBAIXd,YAAY,wDAEdgB,EAAc,MAAA,CAAT,SAAA,EAAM,EAAA,KAAA,EAAA,GACXf,EASSgB,EAAA,KAAA,WARP,IAAqE,CAArEhB,EAAqEiB,EAAA,CAAlDC,QAASf,EAAAV,CAAA,EAAYG,UAAZ,mBAAAkB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAV,GAAAD,EAAAV,CAAA,EAAYG,UAASQ,eAAE,IAAMU,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,GAAN,QAAM,CAAA,6CACzDC,EAMI,IAAA,CALFvD,KAAK,8DACL2D,OAAO,SACPC,IAAI,uBACL,SAED,EAAA,EAAA,+BAEFL,EAAc,MAAA,CAAT,SAAA,EAAM,EAAA,KAAA,EAAA,GACXA,EAaM,MAbNM,GAaM,CAZJrB,EAIEsB,EAAA,CAHQzJ,MAAOsI,EAAAV,CAAA,EAAYE,OAAZ,iBAAAmB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAV,GAAAD,EAAAV,CAAA,EAAYE,OAAMS,GAChC1I,QAAS6H,GACVqB,MAAM,2CAERG,EAMI,IAAA,CALFvD,KAAK,oDACL2D,OAAO,SACPC,IAAI,uBACL,SAED,EAAA,EAAA,uDAGJL,EAmDM,MAnDNQ,GAmDM,CAlDJR,EAsCM,MAtCNS,GAsCM,CArCJxB,EAMayB,GAAA,CANDC,GAAG,IAAId,MAAM,eAAehH,MAAM,iBAC5C,IAIU,CAJVoG,EAIU2B,EAAA,CAJDC,KAAA,GAAKtB,MAAA,CAAA,gBAAA,MAAA,IACDuB,OACT,IAAuB,CAAvB7B,EAAuB8B,EAAA,CAAdxE,KAAK,OAAM,CAAA,iBAI1B0C,EAUc+B,GAAA,KAAA,WATZ,IAKE,CALF/B,EAKES,EAAA,CAJQ5I,MAAOsI,EAAAtH,CAAA,uCAAAA,EAAIhB,MAAAuI,EAAA,MACnBL,YAAY,UACXO,MAAO,CAAA3C,MAAA,SACPqE,QAAKC,GAAQ9B,EAAAnH,CAAA,EAAQQ,OAAM,CAAA,OAAA,CAAA,+BAE9BwG,EAEU2B,EAAA,CAFA3D,QAASmC,EAAAnH,CAAA,EAAQgF,QAAUC,QAAOkC,EAAAnH,CAAA,EAAQQ,mBAAQ,IAE5DsH,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,GAF4D,QAE5D,CAAA,kDAEcX,EAAApH,CAAA,OAAhBmJ,EAkBWC,EAAA,CAAAvK,IAAA,CAAA,EAAA,CAjBTmJ,EAEM,MAFNqB,GAEMC,GAAA,OADMlC,EAAApH,CAAA,EAAOc,YAAY,YAAYsG,EAAApH,CAAA,EAAOuJ,OAAO,EAAA,EAAA,CAAA,EAEzDtC,EAKU2B,EAAA,CAJP3D,QAASmC,EAAA/F,CAAA,EAAgB4D,QACzBC,QAAOkC,EAAA/F,CAAA,EAAgBZ,mBACzB,IAEDsH,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,GAFC,MAED,CAAA,0CACAd,EAKU2B,EAAA,CAJP3D,QAASmC,EAAAxF,CAAA,EAAoBqD,QAC7BC,QAAOkC,EAAAxF,CAAA,EAAoBnB,mBAC7B,IAEDsH,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,GAFC,YAED,CAAA,0CACAd,EAAyD2B,EAAA,CAA/C1D,uBAAOW,EAAA/G,MAAa,gBAAS,IAAQiJ,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,GAAR,UAAQ,CAAA,kBAC/Cd,EAA4D2B,EAAA,CAAlD1D,uBAAOqB,EAAAzH,MAAiB,gBAAS,IAAOiJ,EAAA,EAAA,IAAAA,EAAA,EAAA,EAAA,GAAP,SAAO,CAAA,oCAGtDd,EAUEuC,GAAA,CATAC,QAAA,GACA,cAAA,GACC/J,KAAM0H,EAAA1G,CAAA,EACNgE,QAASA,GACTU,WAAYgC,EAAAhC,CAAA,EACbsE,KAAK,QACL7B,MAAM,SACL8B,QAAS,KACT,kBAAejG"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1753264900098/files/dist/assets/jszip.min-l0dN86JM.js","https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1753264900098/files/dist/assets/index-DeENZmi8.js","https://registry.npmmirror.com/@gkd-kit/inspect/0.0.1753264900098/files/dist/assets/index-tQGywndn.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{aB as r}from"./index-DeENZmi8.js";const a=r(()=>import("./jszip.min-l0dN86JM.js").then(t=>t.j),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>t.default),n=async(t,e)=>r(()=>import("./jszip.min-l0dN86JM.js").then(o=>o.j),__vite__mapDeps([0,1,2]),import.meta.url).then(o=>o.loadAsync(t,e));export{a as J,n as l};
|
|
3
|
-
//# sourceMappingURL=chunk-CtkY0CPE.js.map
|