@gkd-kit/docs 0.0.1769414077934 → 0.0.1773041526257

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 (107) hide show
  1. package/.vitepress/dist/404.html +8 -8
  2. package/.vitepress/dist/404_.md +8 -8
  3. package/.vitepress/dist/_config.json +1 -1
  4. package/.vitepress/dist/api/index.html +11 -11
  5. package/.vitepress/dist/api/index_.md +11 -11
  6. package/.vitepress/dist/api/interfaces/RawApp.html +11 -11
  7. package/.vitepress/dist/api/interfaces/RawAppGroup.html +11 -11
  8. package/.vitepress/dist/api/interfaces/RawAppGroup_.md +11 -11
  9. package/.vitepress/dist/api/interfaces/RawAppRule.html +11 -11
  10. package/.vitepress/dist/api/interfaces/RawAppRuleProps.html +11 -11
  11. package/.vitepress/dist/api/interfaces/RawAppRuleProps_.md +11 -11
  12. package/.vitepress/dist/api/interfaces/RawAppRule_.md +11 -11
  13. package/.vitepress/dist/api/interfaces/RawApp_.md +11 -11
  14. package/.vitepress/dist/api/interfaces/RawCategory.html +11 -11
  15. package/.vitepress/dist/api/interfaces/RawCategory_.md +11 -11
  16. package/.vitepress/dist/api/interfaces/RawCommonProps.html +11 -11
  17. package/.vitepress/dist/api/interfaces/RawCommonProps_.md +11 -11
  18. package/.vitepress/dist/api/interfaces/RawGlobalApp.html +11 -11
  19. package/.vitepress/dist/api/interfaces/RawGlobalApp_.md +11 -11
  20. package/.vitepress/dist/api/interfaces/RawGlobalGroup.html +11 -11
  21. package/.vitepress/dist/api/interfaces/RawGlobalGroup_.md +11 -11
  22. package/.vitepress/dist/api/interfaces/RawGlobalRule.html +11 -11
  23. package/.vitepress/dist/api/interfaces/RawGlobalRuleProps.html +11 -11
  24. package/.vitepress/dist/api/interfaces/RawGlobalRuleProps_.md +11 -11
  25. package/.vitepress/dist/api/interfaces/RawGlobalRule_.md +11 -11
  26. package/.vitepress/dist/api/interfaces/RawGroupProps.html +11 -11
  27. package/.vitepress/dist/api/interfaces/RawGroupProps_.md +11 -11
  28. package/.vitepress/dist/api/interfaces/RawRuleProps.html +11 -11
  29. package/.vitepress/dist/api/interfaces/RawRuleProps_.md +11 -11
  30. package/.vitepress/dist/api/interfaces/RawSubscription.html +11 -11
  31. package/.vitepress/dist/api/interfaces/RawSubscription_.md +11 -11
  32. package/.vitepress/dist/api/type-aliases/IArray.html +11 -11
  33. package/.vitepress/dist/api/type-aliases/IArray_.md +11 -11
  34. package/.vitepress/dist/api/type-aliases/Integer.html +11 -11
  35. package/.vitepress/dist/api/type-aliases/IntegerMatcher.html +11 -11
  36. package/.vitepress/dist/api/type-aliases/IntegerMatcher_.md +11 -11
  37. package/.vitepress/dist/api/type-aliases/Integer_.md +11 -11
  38. package/.vitepress/dist/api/type-aliases/Position.html +11 -11
  39. package/.vitepress/dist/api/type-aliases/Position_.md +11 -11
  40. package/.vitepress/dist/api/type-aliases/StringMatcher.html +11 -11
  41. package/.vitepress/dist/api/type-aliases/StringMatcher_.md +11 -11
  42. package/.vitepress/dist/assets/{app.hI8vJaji.js → app.DVhfhT9I.js} +1 -1
  43. package/.vitepress/dist/assets/chunks/@localSearchIndexroot.BSpXxL8b.js +1 -0
  44. package/.vitepress/dist/assets/chunks/{VPLocalSearchBox.D2YdpwdP.js → VPLocalSearchBox.BX79nG7w.js} +2 -2
  45. package/.vitepress/dist/assets/chunks/{theme.vSbiQeTt.js → theme.B8xL5v-l.js} +1 -1
  46. package/.vitepress/dist/assets/{guide_example.md.CYclwUQE.js → guide_example.md.Bdszvy8q.js} +1 -1
  47. package/.vitepress/dist/assets/{guide_example.md.CYclwUQE.lean.js → guide_example.md.Bdszvy8q.lean.js} +1 -1
  48. package/.vitepress/dist/assets/{guide_external.md.D5_vinN0.js → guide_external.md.B7gVfQ0Z.js} +1 -1
  49. package/.vitepress/dist/assets/{guide_external.md.D5_vinN0.lean.js → guide_external.md.B7gVfQ0Z.lean.js} +1 -1
  50. package/.vitepress/dist/assets/guide_faq.md.f0uQS5Xi.js +21 -0
  51. package/.vitepress/dist/assets/{guide_faq.md.y4xpkGOK.lean.js → guide_faq.md.f0uQS5Xi.lean.js} +1 -1
  52. package/.vitepress/dist/assets/{guide_index.md.f9sKAw2Y.js → guide_index.md.CBWr4PoQ.js} +1 -1
  53. package/.vitepress/dist/assets/{guide_index.md.f9sKAw2Y.lean.js → guide_index.md.CBWr4PoQ.lean.js} +1 -1
  54. package/.vitepress/dist/assets/{guide_node.md.DEn1bWuG.js → guide_node.md.3F28p5GJ.js} +1 -1
  55. package/.vitepress/dist/assets/{guide_node.md.DEn1bWuG.lean.js → guide_node.md.3F28p5GJ.lean.js} +1 -1
  56. package/.vitepress/dist/assets/{guide_optimize.md.DdkD8HZg.js → guide_optimize.md.4jOEICqw.js} +1 -1
  57. package/.vitepress/dist/assets/{guide_optimize.md.DdkD8HZg.lean.js → guide_optimize.md.4jOEICqw.lean.js} +1 -1
  58. package/.vitepress/dist/assets/{guide_privacy.md.C_gHgXJs.js → guide_privacy.md.DimI8XRq.js} +1 -1
  59. package/.vitepress/dist/assets/{guide_privacy.md.C_gHgXJs.lean.js → guide_privacy.md.DimI8XRq.lean.js} +1 -1
  60. package/.vitepress/dist/assets/{guide_selector.md.BnY8MBaN.js → guide_selector.md.BMLnKvvL.js} +1 -1
  61. package/.vitepress/dist/assets/{guide_selector.md.BnY8MBaN.lean.js → guide_selector.md.BMLnKvvL.lean.js} +1 -1
  62. package/.vitepress/dist/assets/{guide_snapshot.md.DZUBTUTk.js → guide_snapshot.md.C2HrRBx5.js} +1 -1
  63. package/.vitepress/dist/assets/{guide_snapshot.md.DZUBTUTk.lean.js → guide_snapshot.md.C2HrRBx5.lean.js} +1 -1
  64. package/.vitepress/dist/assets/{guide_sponsor.md.WzBbtTFq.js → guide_sponsor.md.BVkQDkKi.js} +1 -1
  65. package/.vitepress/dist/assets/{guide_sponsor.md.WzBbtTFq.lean.js → guide_sponsor.md.BVkQDkKi.lean.js} +1 -1
  66. package/.vitepress/dist/assets/{guide_subscription.md.C3UWBqS_.js → guide_subscription.md.DmtYneCb.js} +1 -1
  67. package/.vitepress/dist/assets/{guide_subscription.md.C3UWBqS_.lean.js → guide_subscription.md.DmtYneCb.lean.js} +1 -1
  68. package/.vitepress/dist/assets/{guide_terms.md.DZJ9txsS.js → guide_terms.md.Di3btgy4.js} +1 -1
  69. package/.vitepress/dist/assets/{guide_terms.md.DZJ9txsS.lean.js → guide_terms.md.Di3btgy4.lean.js} +1 -1
  70. package/.vitepress/dist/assets/{guide_what-is-gkd.md.DvMkZN14.js → guide_what-is-gkd.md.CJzJNXDR.js} +1 -1
  71. package/.vitepress/dist/assets/{guide_what-is-gkd.md.DvMkZN14.lean.js → guide_what-is-gkd.md.CJzJNXDR.lean.js} +1 -1
  72. package/.vitepress/dist/assets/{index.md.D1gZmxYA.js → index.md.BSPbp2yq.js} +1 -1
  73. package/.vitepress/dist/assets/{index.md.D1gZmxYA.lean.js → index.md.BSPbp2yq.lean.js} +1 -1
  74. package/.vitepress/dist/assets/style.DmRq6upP.css +1 -1
  75. package/.vitepress/dist/guide/example.html +12 -12
  76. package/.vitepress/dist/guide/example_.md +12 -12
  77. package/.vitepress/dist/guide/external.html +12 -12
  78. package/.vitepress/dist/guide/external_.md +12 -12
  79. package/.vitepress/dist/guide/faq.html +13 -13
  80. package/.vitepress/dist/guide/faq_.md +13 -13
  81. package/.vitepress/dist/guide/index.html +12 -12
  82. package/.vitepress/dist/guide/index_.md +12 -12
  83. package/.vitepress/dist/guide/node.html +12 -12
  84. package/.vitepress/dist/guide/node_.md +12 -12
  85. package/.vitepress/dist/guide/optimize.html +12 -12
  86. package/.vitepress/dist/guide/optimize_.md +12 -12
  87. package/.vitepress/dist/guide/privacy.html +12 -12
  88. package/.vitepress/dist/guide/privacy_.md +12 -12
  89. package/.vitepress/dist/guide/selector.html +12 -12
  90. package/.vitepress/dist/guide/selector_.md +12 -12
  91. package/.vitepress/dist/guide/snapshot.html +12 -12
  92. package/.vitepress/dist/guide/snapshot_.md +12 -12
  93. package/.vitepress/dist/guide/sponsor.html +12 -12
  94. package/.vitepress/dist/guide/sponsor_.md +12 -12
  95. package/.vitepress/dist/guide/subscription.html +12 -12
  96. package/.vitepress/dist/guide/subscription_.md +12 -12
  97. package/.vitepress/dist/guide/terms.html +12 -12
  98. package/.vitepress/dist/guide/terms_.md +12 -12
  99. package/.vitepress/dist/guide/what-is-gkd.html +12 -12
  100. package/.vitepress/dist/guide/what-is-gkd_.md +12 -12
  101. package/.vitepress/dist/hashmap.json +1 -1
  102. package/.vitepress/dist/index.html +12 -12
  103. package/.vitepress/dist/index_.md +12 -12
  104. package/_config.json +1 -1
  105. package/package.json +1 -1
  106. package/.vitepress/dist/assets/chunks/@localSearchIndexroot.CGyKwvMD.js +0 -1
  107. package/.vitepress/dist/assets/guide_faq.md.y4xpkGOK.js +0 -21
@@ -1 +1 @@
1
- import{_ as n,I as l,c as p,o as d,aq as r,j as t,a,J as i,w as h}from"./chunks/framework.C9O3MI31.js";const y=JSON.parse('{"title":"快照审查","description":"","frontmatter":{},"headers":[],"relativePath":"guide/snapshot.md","filePath":"guide/snapshot.md","lastUpdated":1769414055000}'),b={name:"guide/snapshot.md"};function k(g,e,u,c,f,m){const s=l("GImg"),o=l("NImageGroup");return d(),p("div",null,[e[12]||(e[12]=r('<h1 id="title" tabindex="-1">快照审查 <a class="header-anchor" href="#title" aria-label="Permalink to “快照审查”">​</a></h1><p>关于快照的一些知识</p><h2 id="what-is-snapshot" tabindex="-1">什么是快照 <a class="header-anchor" href="#what-is-snapshot" aria-label="Permalink to “什么是快照”">​</a></h2><p>快照是一个 zip 文件, 保存了设备在某个时间点的状态, 包含以下内容</p><ul><li>截图</li><li>设备信息</li><li>界面信息</li><li>无障碍节点信息</li></ul><p>以前开发者和用户必须下载指定应用然后到指定界面使用类似 autojs 之类的工具才能审查界面</p><p>有了快照之后, 用户只需要在指定页面抓取快照分享给开发者即可</p><p>另外对于某些出现频率极低的界面, 快照也能直接保留这些界面的状态, 无需每次等待出现</p><h2 id="capture-snapshot" tabindex="-1">抓取/捕获快照 <a class="header-anchor" href="#capture-snapshot" aria-label="Permalink to “抓取/捕获快照”">​</a></h2><p>在 GKD 内可以通过多种方式抓取快照, 需要一些前置条件</p><p>抓取快照时必须<strong>开启无障碍权限</strong>, 否则无法获取 界面信息 和 无障碍节点信息</p><p>如果你的设备满足 Android&gt;=11, GKD 可以通过 无障碍权限 获取截图, 否则需要额外开启截屏服务</p><p>到 <code>主页-设置-高级设置-截屏服务</code> 开启即可</p><p>当 Android&lt;=10 且不开启截屏服务时 GKD 会使用 同尺寸透明图片 作为截图保存到快照里</p><p>以下是抓取快照的方式</p><h3 id="by-button" tabindex="-1">通过悬浮窗按钮 <a class="header-anchor" href="#by-button" aria-label="Permalink to “通过悬浮窗按钮”">​</a></h3><p>打开 <code>主页-设置-高级设置-悬浮窗服务</code> 后界面会出现一个可拖动的按钮, 在任意界面点击这个按钮即可抓取快照</p><h3 id="by-tile" tabindex="-1">通过快捷开关 <a class="header-anchor" href="#by-tile" aria-label="Permalink to “通过快捷开关”">​</a></h3><p>下拉打开状态栏, 左右滑动切换到有图标的界面, 点击添加或编辑, 在应用快捷开关找到 <code>捕获快照</code>, 图标和上面介绍的悬浮窗按钮一样</p><p>添加这个快捷开关到状态栏界面, 添加完毕后在任意界面下拉状态栏点击这个图标即可抓取快照</p><h3 id="by-screenshot" tabindex="-1">通过截屏快照 <a class="header-anchor" href="#by-screenshot" aria-label="Permalink to “通过截屏快照”">​</a></h3><p>打开 <code>主页-设置-高级设置-截屏快照</code>, 某些手机截屏时会发出特殊的事件, GKD 可以抓取这些事件后触发抓取快照</p><p>使用这个功能必须配置 应用ID 和 特征事件选择器,下面说明如何获取这些信息</p><p>首先打开事件服务,GKD 这时候会记录无障碍事件日志,然后手动触发一次截屏(比如三指下滑)</p><p>这时候截屏就会有一个无障碍事件日志,在日志页面点击这条记录出现弹窗,复制应用ID 和 特征事件选择器 到截屏快照的配置里保存即可</p><p>已知的特征数据如下</p><table tabindex="0"><thead><tr><th>系统</th><th>应用ID</th><th>特征事件选择器</th></tr></thead><tbody><tr><td>小米澎湃OS3</td><td><code>com.miui.screenshot</code></td><td><code>[name=&#39;android.widget.RelativeLayout&#39;][desc=null][text.size=3][text.get(0)=&#39;进入“截屏”编辑&#39;][text.get(1)=&#39;截长屏&#39;][text.get(2)=&#39;发送&#39;]</code></td></tr></tbody></table><h3 id="by-inspect" tabindex="-1">通过审查工具 <a class="header-anchor" href="#by-inspect" aria-label="Permalink to “通过审查工具”">​</a></h3><p>首先打开 <code>主页-设置-高级设置-HTTP服务</code>, 在 <a href="https://i.gkd.li/device" target="_blank" rel="noreferrer">连接设备</a> 输入刚刚出现的地址后连接</p><p>连接成功后点击右侧的 <code>快照</code> 按钮即可抓取快照</p><h3 id="by-invoke-service" tabindex="-1">通过调用服务 <a class="header-anchor" href="#by-invoke-service" aria-label="Permalink to “通过调用服务”">​</a></h3><p>GKD 内部暴露了一个服务, 外部应用(某些快捷手势应用)可以启动这个服务,如下是一个启动快照示例</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /storage/emulated/0/Android/data/li.songe.gkd/files/sh/expose.sh</span></span></code></pre></div><p>通过这个服务, 你可以通过自定义手势来捕获快照, 可在 <a href="https://github.com/gkd-kit/gkd/issues/253" target="_blank" rel="noreferrer">gkd-kit/gkd#253</a> 了解更多</p><h2 id="how-to-upload" tabindex="-1">上传原理 <a class="header-anchor" href="#how-to-upload" aria-label="Permalink to “上传原理”">​</a></h2><p>当你使用审查工具生成分享链接时, 审查工具会自动帮你上传文件到 Github 后得到链接</p><p>相当于自动化以下行为</p><ul><li>从审查工具下载快照为 file.zip 文件到电脑上</li><li>登录 Github 并转到任意能上传文件或者评论的公开页面</li><li>将刚刚的文件拖动进输入框, 文件链接会自动生成</li></ul><p>当在 GKD 内生成链接时也是一样的原理, 不同之处在于</p><p>网页版的审查工具直接通过 <a href="https://github.com/gkd-kit/network-extension" target="_blank" rel="noreferrer">油猴脚本</a> 获取上传凭证</p><p>而 GKD 内需要手动输入上传凭证, 也就是需要手动输入 Github Cookie</p><p>可通过如下步骤获取 Github Cookie</p><h3 id="get-cookie-on-pc" tabindex="-1">在电脑上获取 <a class="header-anchor" href="#get-cookie-on-pc" aria-label="Permalink to “在电脑上获取”">​</a></h3>',43)),t("ul",null,[e[1]||(e[1]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),e[2]||(e[2]=t("li",null,[a("在 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"https://github.com"),a(" 使用 f12 打开调试面板, 选中 网络-文档 后按 f5 刷新页面, 会出来一条 "),t("code",null,"github.com"),a(" 的记录")],-1)),t("li",null,[e[0]||(e[0]=a("点击这条记录, 选中 标头-请求标头-Cookie 的右侧文字, 按下 Ctrl+C 复制即可")),i(s,{src:"0034.png"})]),e[3]||(e[3]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[13]||(e[13]=t("h3",{id:"get-cookie-on-phone",tabindex:"-1"},[a("在手机上获取 "),t("a",{class:"header-anchor",href:"#get-cookie-on-phone","aria-label":"Permalink to “在手机上获取”"},"​")],-1)),t("ul",null,[e[9]||(e[9]=t("li",null,[a("下载安装 "),t("a",{href:"https://viayoo.com",target:"_blank",rel:"noreferrer"},"Via"),a(" 浏览器")],-1)),e[10]||(e[10]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),t("li",null,[e[5]||(e[5]=a("点击顶部地址栏左侧的图标, 在出现的菜单中点击 ")),e[6]||(e[6]=t("code",null,"查看 Cookies",-1)),e[7]||(e[7]=a(", 出现的弹窗后点击 ")),e[8]||(e[8]=t("code",null,"复制文本",-1)),i(o,null,{default:h(()=>[i(s,{src:"0035.png",class:"w-[45%]"}),e[4]||(e[4]=a()),i(s,{src:"0036.png",class:"w-[45%]"})]),_:1})]),e[11]||(e[11]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[14]||(e[14]=r('<h2 id="rm-privacy-info" tabindex="-1">去除隐私信息 <a class="header-anchor" href="#rm-privacy-info" aria-label="Permalink to “去除隐私信息”">​</a></h2><p>当抓取快照时, 图片中可能含有人的名字等敏感信息, 可能需要去除这些信息</p><p>在 GKD 的快照记录界面, 你可以先将快照图片保存到相册, 然后在相册做打马赛克之类的编辑, 之后回到记录界面替换截图即可</p><p>如果敏感信息是文字保留在快照里的节点信息上, 你需要将快照 zip 文件解压缩, 内部有一个 json 文件</p><p>节点信息就在 nodes 数组字段上, 可以直接使用文本替换为等价数量的 <code>*</code>, 修改文件后重新压缩为 zip 重新导入快照即可</p><h2 id="share-note" tabindex="-1">分享须知 <a class="header-anchor" href="#share-note" aria-label="Permalink to “分享须知”">​</a></h2><p>快照文件是 zip 格式, 你可以直接分享发送文件给其他人</p><p>通过链接分享时, 某些用户喜欢直接复制地址栏链接</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>https://i.gkd.li/snapshot/1734099604908</span></span></code></pre></div><p>这是错误的分享方式, 地址栏复制的链接只能在当前用户浏览器上打开</p><p>其它设备打开这种本地链接只会显示 <code>快照缺失</code></p><p>正确的分享方式是快照页面右上角分享生成的链接</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>https://i.gkd.li/i/18135562</span></span></code></pre></div>',13))])}const G=n(b,[["render",k]]);export{y as __pageData,G as default};
1
+ import{_ as n,I as l,c as p,o as d,aq as r,j as t,a,J as i,w as h}from"./chunks/framework.C9O3MI31.js";const y=JSON.parse('{"title":"快照审查","description":"","frontmatter":{},"headers":[],"relativePath":"guide/snapshot.md","filePath":"guide/snapshot.md","lastUpdated":1773041507000}'),b={name:"guide/snapshot.md"};function k(g,e,u,c,f,m){const s=l("GImg"),o=l("NImageGroup");return d(),p("div",null,[e[12]||(e[12]=r('<h1 id="title" tabindex="-1">快照审查 <a class="header-anchor" href="#title" aria-label="Permalink to “快照审查”">​</a></h1><p>关于快照的一些知识</p><h2 id="what-is-snapshot" tabindex="-1">什么是快照 <a class="header-anchor" href="#what-is-snapshot" aria-label="Permalink to “什么是快照”">​</a></h2><p>快照是一个 zip 文件, 保存了设备在某个时间点的状态, 包含以下内容</p><ul><li>截图</li><li>设备信息</li><li>界面信息</li><li>无障碍节点信息</li></ul><p>以前开发者和用户必须下载指定应用然后到指定界面使用类似 autojs 之类的工具才能审查界面</p><p>有了快照之后, 用户只需要在指定页面抓取快照分享给开发者即可</p><p>另外对于某些出现频率极低的界面, 快照也能直接保留这些界面的状态, 无需每次等待出现</p><h2 id="capture-snapshot" tabindex="-1">抓取/捕获快照 <a class="header-anchor" href="#capture-snapshot" aria-label="Permalink to “抓取/捕获快照”">​</a></h2><p>在 GKD 内可以通过多种方式抓取快照, 需要一些前置条件</p><p>抓取快照时必须<strong>开启无障碍权限</strong>, 否则无法获取 界面信息 和 无障碍节点信息</p><p>如果你的设备满足 Android&gt;=11, GKD 可以通过 无障碍权限 获取截图, 否则需要额外开启截屏服务</p><p>到 <code>主页-设置-高级设置-截屏服务</code> 开启即可</p><p>当 Android&lt;=10 且不开启截屏服务时 GKD 会使用 同尺寸透明图片 作为截图保存到快照里</p><p>以下是抓取快照的方式</p><h3 id="by-button" tabindex="-1">通过悬浮窗按钮 <a class="header-anchor" href="#by-button" aria-label="Permalink to “通过悬浮窗按钮”">​</a></h3><p>打开 <code>主页-设置-高级设置-悬浮窗服务</code> 后界面会出现一个可拖动的按钮, 在任意界面点击这个按钮即可抓取快照</p><h3 id="by-tile" tabindex="-1">通过快捷开关 <a class="header-anchor" href="#by-tile" aria-label="Permalink to “通过快捷开关”">​</a></h3><p>下拉打开状态栏, 左右滑动切换到有图标的界面, 点击添加或编辑, 在应用快捷开关找到 <code>捕获快照</code>, 图标和上面介绍的悬浮窗按钮一样</p><p>添加这个快捷开关到状态栏界面, 添加完毕后在任意界面下拉状态栏点击这个图标即可抓取快照</p><h3 id="by-screenshot" tabindex="-1">通过截屏快照 <a class="header-anchor" href="#by-screenshot" aria-label="Permalink to “通过截屏快照”">​</a></h3><p>打开 <code>主页-设置-高级设置-截屏快照</code>, 某些手机截屏时会发出特殊的事件, GKD 可以抓取这些事件后触发抓取快照</p><p>使用这个功能必须配置 应用ID 和 特征事件选择器,下面说明如何获取这些信息</p><p>首先打开事件服务,GKD 这时候会记录无障碍事件日志,然后手动触发一次截屏(比如三指下滑)</p><p>这时候截屏就会有一个无障碍事件日志,在日志页面点击这条记录出现弹窗,复制应用ID 和 特征事件选择器 到截屏快照的配置里保存即可</p><p>已知的特征数据如下</p><table tabindex="0"><thead><tr><th>系统</th><th>应用ID</th><th>特征事件选择器</th></tr></thead><tbody><tr><td>小米澎湃OS3</td><td><code>com.miui.screenshot</code></td><td><code>[name=&#39;android.widget.RelativeLayout&#39;][desc=null][text.size=3][text.get(0)=&#39;进入“截屏”编辑&#39;][text.get(1)=&#39;截长屏&#39;][text.get(2)=&#39;发送&#39;]</code></td></tr></tbody></table><h3 id="by-inspect" tabindex="-1">通过审查工具 <a class="header-anchor" href="#by-inspect" aria-label="Permalink to “通过审查工具”">​</a></h3><p>首先打开 <code>主页-设置-高级设置-HTTP服务</code>, 在 <a href="https://i.gkd.li/device" target="_blank" rel="noreferrer">连接设备</a> 输入刚刚出现的地址后连接</p><p>连接成功后点击右侧的 <code>快照</code> 按钮即可抓取快照</p><h3 id="by-invoke-service" tabindex="-1">通过调用服务 <a class="header-anchor" href="#by-invoke-service" aria-label="Permalink to “通过调用服务”">​</a></h3><p>GKD 内部暴露了一个服务, 外部应用(某些快捷手势应用)可以启动这个服务,如下是一个启动快照示例</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /storage/emulated/0/Android/data/li.songe.gkd/files/sh/expose.sh</span></span></code></pre></div><p>通过这个服务, 你可以通过自定义手势来捕获快照, 可在 <a href="https://github.com/gkd-kit/gkd/issues/253" target="_blank" rel="noreferrer">gkd-kit/gkd#253</a> 了解更多</p><h2 id="how-to-upload" tabindex="-1">上传原理 <a class="header-anchor" href="#how-to-upload" aria-label="Permalink to “上传原理”">​</a></h2><p>当你使用审查工具生成分享链接时, 审查工具会自动帮你上传文件到 Github 后得到链接</p><p>相当于自动化以下行为</p><ul><li>从审查工具下载快照为 file.zip 文件到电脑上</li><li>登录 Github 并转到任意能上传文件或者评论的公开页面</li><li>将刚刚的文件拖动进输入框, 文件链接会自动生成</li></ul><p>当在 GKD 内生成链接时也是一样的原理, 不同之处在于</p><p>网页版的审查工具直接通过 <a href="https://github.com/gkd-kit/network-extension" target="_blank" rel="noreferrer">油猴脚本</a> 获取上传凭证</p><p>而 GKD 内需要手动输入上传凭证, 也就是需要手动输入 Github Cookie</p><p>可通过如下步骤获取 Github Cookie</p><h3 id="get-cookie-on-pc" tabindex="-1">在电脑上获取 <a class="header-anchor" href="#get-cookie-on-pc" aria-label="Permalink to “在电脑上获取”">​</a></h3>',43)),t("ul",null,[e[1]||(e[1]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),e[2]||(e[2]=t("li",null,[a("在 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"https://github.com"),a(" 使用 f12 打开调试面板, 选中 网络-文档 后按 f5 刷新页面, 会出来一条 "),t("code",null,"github.com"),a(" 的记录")],-1)),t("li",null,[e[0]||(e[0]=a("点击这条记录, 选中 标头-请求标头-Cookie 的右侧文字, 按下 Ctrl+C 复制即可")),i(s,{src:"0034.png"})]),e[3]||(e[3]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[13]||(e[13]=t("h3",{id:"get-cookie-on-phone",tabindex:"-1"},[a("在手机上获取 "),t("a",{class:"header-anchor",href:"#get-cookie-on-phone","aria-label":"Permalink to “在手机上获取”"},"​")],-1)),t("ul",null,[e[9]||(e[9]=t("li",null,[a("下载安装 "),t("a",{href:"https://viayoo.com",target:"_blank",rel:"noreferrer"},"Via"),a(" 浏览器")],-1)),e[10]||(e[10]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),t("li",null,[e[5]||(e[5]=a("点击顶部地址栏左侧的图标, 在出现的菜单中点击 ")),e[6]||(e[6]=t("code",null,"查看 Cookies",-1)),e[7]||(e[7]=a(", 出现的弹窗后点击 ")),e[8]||(e[8]=t("code",null,"复制文本",-1)),i(o,null,{default:h(()=>[i(s,{src:"0035.png",class:"w-[45%]"}),e[4]||(e[4]=a()),i(s,{src:"0036.png",class:"w-[45%]"})]),_:1})]),e[11]||(e[11]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[14]||(e[14]=r('<h2 id="rm-privacy-info" tabindex="-1">去除隐私信息 <a class="header-anchor" href="#rm-privacy-info" aria-label="Permalink to “去除隐私信息”">​</a></h2><p>当抓取快照时, 图片中可能含有人的名字等敏感信息, 可能需要去除这些信息</p><p>在 GKD 的快照记录界面, 你可以先将快照图片保存到相册, 然后在相册做打马赛克之类的编辑, 之后回到记录界面替换截图即可</p><p>如果敏感信息是文字保留在快照里的节点信息上, 你需要将快照 zip 文件解压缩, 内部有一个 json 文件</p><p>节点信息就在 nodes 数组字段上, 可以直接使用文本替换为等价数量的 <code>*</code>, 修改文件后重新压缩为 zip 重新导入快照即可</p><h2 id="share-note" tabindex="-1">分享须知 <a class="header-anchor" href="#share-note" aria-label="Permalink to “分享须知”">​</a></h2><p>快照文件是 zip 格式, 你可以直接分享发送文件给其他人</p><p>通过链接分享时, 某些用户喜欢直接复制地址栏链接</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>https://i.gkd.li/snapshot/1734099604908</span></span></code></pre></div><p>这是错误的分享方式, 地址栏复制的链接只能在当前用户浏览器上打开</p><p>其它设备打开这种本地链接只会显示 <code>快照缺失</code></p><p>正确的分享方式是快照页面右上角分享生成的链接</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>https://i.gkd.li/i/18135562</span></span></code></pre></div>',13))])}const G=n(b,[["render",k]]);export{y as __pageData,G as default};
@@ -1 +1 @@
1
- import{_ as n,I as l,c as p,o as d,aq as r,j as t,a,J as i,w as h}from"./chunks/framework.C9O3MI31.js";const y=JSON.parse('{"title":"快照审查","description":"","frontmatter":{},"headers":[],"relativePath":"guide/snapshot.md","filePath":"guide/snapshot.md","lastUpdated":1769414055000}'),b={name:"guide/snapshot.md"};function k(g,e,u,c,f,m){const s=l("GImg"),o=l("NImageGroup");return d(),p("div",null,[e[12]||(e[12]=r("",43)),t("ul",null,[e[1]||(e[1]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),e[2]||(e[2]=t("li",null,[a("在 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"https://github.com"),a(" 使用 f12 打开调试面板, 选中 网络-文档 后按 f5 刷新页面, 会出来一条 "),t("code",null,"github.com"),a(" 的记录")],-1)),t("li",null,[e[0]||(e[0]=a("点击这条记录, 选中 标头-请求标头-Cookie 的右侧文字, 按下 Ctrl+C 复制即可")),i(s,{src:"0034.png"})]),e[3]||(e[3]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[13]||(e[13]=t("h3",{id:"get-cookie-on-phone",tabindex:"-1"},[a("在手机上获取 "),t("a",{class:"header-anchor",href:"#get-cookie-on-phone","aria-label":"Permalink to “在手机上获取”"},"​")],-1)),t("ul",null,[e[9]||(e[9]=t("li",null,[a("下载安装 "),t("a",{href:"https://viayoo.com",target:"_blank",rel:"noreferrer"},"Via"),a(" 浏览器")],-1)),e[10]||(e[10]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),t("li",null,[e[5]||(e[5]=a("点击顶部地址栏左侧的图标, 在出现的菜单中点击 ")),e[6]||(e[6]=t("code",null,"查看 Cookies",-1)),e[7]||(e[7]=a(", 出现的弹窗后点击 ")),e[8]||(e[8]=t("code",null,"复制文本",-1)),i(o,null,{default:h(()=>[i(s,{src:"0035.png",class:"w-[45%]"}),e[4]||(e[4]=a()),i(s,{src:"0036.png",class:"w-[45%]"})]),_:1})]),e[11]||(e[11]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[14]||(e[14]=r("",13))])}const G=n(b,[["render",k]]);export{y as __pageData,G as default};
1
+ import{_ as n,I as l,c as p,o as d,aq as r,j as t,a,J as i,w as h}from"./chunks/framework.C9O3MI31.js";const y=JSON.parse('{"title":"快照审查","description":"","frontmatter":{},"headers":[],"relativePath":"guide/snapshot.md","filePath":"guide/snapshot.md","lastUpdated":1773041507000}'),b={name:"guide/snapshot.md"};function k(g,e,u,c,f,m){const s=l("GImg"),o=l("NImageGroup");return d(),p("div",null,[e[12]||(e[12]=r("",43)),t("ul",null,[e[1]||(e[1]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),e[2]||(e[2]=t("li",null,[a("在 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"https://github.com"),a(" 使用 f12 打开调试面板, 选中 网络-文档 后按 f5 刷新页面, 会出来一条 "),t("code",null,"github.com"),a(" 的记录")],-1)),t("li",null,[e[0]||(e[0]=a("点击这条记录, 选中 标头-请求标头-Cookie 的右侧文字, 按下 Ctrl+C 复制即可")),i(s,{src:"0034.png"})]),e[3]||(e[3]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[13]||(e[13]=t("h3",{id:"get-cookie-on-phone",tabindex:"-1"},[a("在手机上获取 "),t("a",{class:"header-anchor",href:"#get-cookie-on-phone","aria-label":"Permalink to “在手机上获取”"},"​")],-1)),t("ul",null,[e[9]||(e[9]=t("li",null,[a("下载安装 "),t("a",{href:"https://viayoo.com",target:"_blank",rel:"noreferrer"},"Via"),a(" 浏览器")],-1)),e[10]||(e[10]=t("li",null,[a("在浏览器打开 "),t("a",{href:"https://github.com",target:"_blank",rel:"noreferrer"},"Github"),a(" 登录账号")],-1)),t("li",null,[e[5]||(e[5]=a("点击顶部地址栏左侧的图标, 在出现的菜单中点击 ")),e[6]||(e[6]=t("code",null,"查看 Cookies",-1)),e[7]||(e[7]=a(", 出现的弹窗后点击 ")),e[8]||(e[8]=t("code",null,"复制文本",-1)),i(o,null,{default:h(()=>[i(s,{src:"0035.png",class:"w-[45%]"}),e[4]||(e[4]=a()),i(s,{src:"0036.png",class:"w-[45%]"})]),_:1})]),e[11]||(e[11]=t("li",null,"复制成功后, 到 GKD 内 高级设置-快照-Github Cookie 编辑填入保存即可",-1))]),e[14]||(e[14]=r("",13))])}const G=n(b,[["render",k]]);export{y as __pageData,G as default};
@@ -1 +1 @@
1
- import{_ as s,I as n,c as p,o as i,aq as d,J as a,j as t,w as l}from"./chunks/framework.C9O3MI31.js";const b=JSON.parse('{"title":"捐赠支持","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sponsor.md","filePath":"guide/sponsor.md","lastUpdated":1769414055000}'),_={name:"guide/sponsor.md"};function f(m,e,g,u,c,h){const r=n("GImg"),o=n("MobileOnly");return i(),p("div",null,[e[2]||(e[2]=d('<h1 id="title" tabindex="-1">捐赠支持 <a class="header-anchor" href="#title" aria-label="Permalink to “捐赠支持”">​</a></h1><p>感谢您对 GKD 的支持!如果您觉得这个项目对您有帮助,欢迎通过以下方式捐赠支持我。</p><p>或直接前往 <a href="https://play.google.com/store/apps/details?id=li.songe.gkd" target="_blank" rel="noreferrer">Google Play</a> 给个好评。</p><hr><p>您的支持将帮助我优化功能、修复问题,并为您带来更好的使用体验!感谢您的慷慨支持!</p><p>同时您也可以查看 <a href="https://github.com/lisonge" target="_blank" rel="noreferrer">我的 Github 主页</a>,也许其他项目也能对您有所帮助。</p><hr>',7)),a(r,{src:"0046.png"}),a(o,null,{default:l(()=>e[0]||(e[0]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"alipays://platformapi/startapp?saId=10000007&qrcode=https%3A%2F%2Fqr.alipay.com%2Ffkx18039ijnme6m5ef2na0a",target:"_self"},"--> 打开支付宝 <--")])],-1)])),_:1}),e[3]||(e[3]=t("hr",null,null,-1)),a(r,{src:"0047.png"}),a(o,null,{default:l(()=>e[1]||(e[1]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"gkd://invoke/1",target:"_self"},"--> 截图后打开微信 <--")])],-1)])),_:1})])}const x=s(_,[["render",f]]);export{b as __pageData,x as default};
1
+ import{_ as s,I as n,c as p,o as i,aq as d,J as a,j as t,w as l}from"./chunks/framework.C9O3MI31.js";const b=JSON.parse('{"title":"捐赠支持","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sponsor.md","filePath":"guide/sponsor.md","lastUpdated":1773041507000}'),_={name:"guide/sponsor.md"};function f(m,e,g,u,c,h){const r=n("GImg"),o=n("MobileOnly");return i(),p("div",null,[e[2]||(e[2]=d('<h1 id="title" tabindex="-1">捐赠支持 <a class="header-anchor" href="#title" aria-label="Permalink to “捐赠支持”">​</a></h1><p>感谢您对 GKD 的支持!如果您觉得这个项目对您有帮助,欢迎通过以下方式捐赠支持我。</p><p>或直接前往 <a href="https://play.google.com/store/apps/details?id=li.songe.gkd" target="_blank" rel="noreferrer">Google Play</a> 给个好评。</p><hr><p>您的支持将帮助我优化功能、修复问题,并为您带来更好的使用体验!感谢您的慷慨支持!</p><p>同时您也可以查看 <a href="https://github.com/lisonge" target="_blank" rel="noreferrer">我的 Github 主页</a>,也许其他项目也能对您有所帮助。</p><hr>',7)),a(r,{src:"0046.png"}),a(o,null,{default:l(()=>e[0]||(e[0]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"alipays://platformapi/startapp?saId=10000007&qrcode=https%3A%2F%2Fqr.alipay.com%2Ffkx18039ijnme6m5ef2na0a",target:"_self"},"--> 打开支付宝 <--")])],-1)])),_:1}),e[3]||(e[3]=t("hr",null,null,-1)),a(r,{src:"0047.png"}),a(o,null,{default:l(()=>e[1]||(e[1]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"gkd://invoke/1",target:"_self"},"--> 截图后打开微信 <--")])],-1)])),_:1})])}const x=s(_,[["render",f]]);export{b as __pageData,x as default};
@@ -1 +1 @@
1
- import{_ as s,I as n,c as p,o as i,aq as d,J as a,j as t,w as l}from"./chunks/framework.C9O3MI31.js";const b=JSON.parse('{"title":"捐赠支持","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sponsor.md","filePath":"guide/sponsor.md","lastUpdated":1769414055000}'),_={name:"guide/sponsor.md"};function f(m,e,g,u,c,h){const r=n("GImg"),o=n("MobileOnly");return i(),p("div",null,[e[2]||(e[2]=d("",7)),a(r,{src:"0046.png"}),a(o,null,{default:l(()=>e[0]||(e[0]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"alipays://platformapi/startapp?saId=10000007&qrcode=https%3A%2F%2Fqr.alipay.com%2Ffkx18039ijnme6m5ef2na0a",target:"_self"},"--> 打开支付宝 <--")])],-1)])),_:1}),e[3]||(e[3]=t("hr",null,null,-1)),a(r,{src:"0047.png"}),a(o,null,{default:l(()=>e[1]||(e[1]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"gkd://invoke/1",target:"_self"},"--> 截图后打开微信 <--")])],-1)])),_:1})])}const x=s(_,[["render",f]]);export{b as __pageData,x as default};
1
+ import{_ as s,I as n,c as p,o as i,aq as d,J as a,j as t,w as l}from"./chunks/framework.C9O3MI31.js";const b=JSON.parse('{"title":"捐赠支持","description":"","frontmatter":{},"headers":[],"relativePath":"guide/sponsor.md","filePath":"guide/sponsor.md","lastUpdated":1773041507000}'),_={name:"guide/sponsor.md"};function f(m,e,g,u,c,h){const r=n("GImg"),o=n("MobileOnly");return i(),p("div",null,[e[2]||(e[2]=d("",7)),a(r,{src:"0046.png"}),a(o,null,{default:l(()=>e[0]||(e[0]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"alipays://platformapi/startapp?saId=10000007&qrcode=https%3A%2F%2Fqr.alipay.com%2Ffkx18039ijnme6m5ef2na0a",target:"_self"},"--> 打开支付宝 <--")])],-1)])),_:1}),e[3]||(e[3]=t("hr",null,null,-1)),a(r,{src:"0047.png"}),a(o,null,{default:l(()=>e[1]||(e[1]=[t("div",{"text-center":""},[t("p",null,[t("a",{href:"gkd://invoke/1",target:"_self"},"--> 截图后打开微信 <--")])],-1)])),_:1})])}const x=s(_,[["render",f]]);export{b as __pageData,x as default};
@@ -1,4 +1,4 @@
1
- import{_ as p,I as t,c as k,o as e,aq as a,J as n,j as l,a as h}from"./chunks/framework.C9O3MI31.js";const C=JSON.parse('{"title":"订阅规则","description":"","frontmatter":{},"headers":[],"relativePath":"guide/subscription.md","filePath":"guide/subscription.md","lastUpdated":1769414055000}'),E={name:"guide/subscription.md"};function r(d,s,g,y,F,o){const i=t("GImg");return e(),k("div",null,[s[0]||(s[0]=a(`<h1 id="title" tabindex="-1">订阅规则 <a class="header-anchor" href="#title" aria-label="Permalink to “订阅规则”">​</a></h1><p>GKD 的本地规则和远程规则都是订阅, 它们的格式完全一致, 不同之处在于本地订阅用户可以自行更改, 远程规则需要自动更新</p><p>订阅使用 <a href="https://json5.org/" target="_blank" rel="noreferrer">JSON5</a> 语法, JSON5 是 JSON 的兼容扩展, 它无需键引号, 支持注释</p><p>如下便是一个最简单的空规则的订阅文件的内容</p><div class="language-json5"><button title="Copy Code" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// gkd.json5</span></span>
1
+ import{_ as p,I as t,c as k,o as e,aq as a,J as n,j as l,a as h}from"./chunks/framework.C9O3MI31.js";const C=JSON.parse('{"title":"订阅规则","description":"","frontmatter":{},"headers":[],"relativePath":"guide/subscription.md","filePath":"guide/subscription.md","lastUpdated":1773041507000}'),E={name:"guide/subscription.md"};function r(d,s,g,y,F,o){const i=t("GImg");return e(),k("div",null,[s[0]||(s[0]=a(`<h1 id="title" tabindex="-1">订阅规则 <a class="header-anchor" href="#title" aria-label="Permalink to “订阅规则”">​</a></h1><p>GKD 的本地规则和远程规则都是订阅, 它们的格式完全一致, 不同之处在于本地订阅用户可以自行更改, 远程规则需要自动更新</p><p>订阅使用 <a href="https://json5.org/" target="_blank" rel="noreferrer">JSON5</a> 语法, JSON5 是 JSON 的兼容扩展, 它无需键引号, 支持注释</p><p>如下便是一个最简单的空规则的订阅文件的内容</p><div class="language-json5"><button title="Copy Code" class="copy"></button><span class="lang">json5</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// gkd.json5</span></span>
2
2
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
3
3
  <span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">233</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
4
4
  <span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Subscription&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
@@ -1 +1 @@
1
- import{_ as p,I as t,c as k,o as e,aq as a,J as n,j as l,a as h}from"./chunks/framework.C9O3MI31.js";const C=JSON.parse('{"title":"订阅规则","description":"","frontmatter":{},"headers":[],"relativePath":"guide/subscription.md","filePath":"guide/subscription.md","lastUpdated":1769414055000}'),E={name:"guide/subscription.md"};function r(d,s,g,y,F,o){const i=t("GImg");return e(),k("div",null,[s[0]||(s[0]=a("",12)),n(i,{src:"0041.jpg","max-w":"[min(375px,100%)]"}),s[1]||(s[1]=a("",4)),n(i,{src:"0042.jpg","max-w":"[min(375px,100%)]"}),s[2]||(s[2]=a("",4)),n(i,{src:"0043.jpg","max-w":"[min(375px,100%)]"}),s[3]||(s[3]=a("",4)),n(i,{src:"0044.jpg","max-w":"[min(375px,100%)]"}),s[4]||(s[4]=a("",4)),n(i,{src:"0045.jpg","max-w":"[min(375px,100%)]"}),s[5]||(s[5]=l("p",null,[h("此处可添加 "),l("a",{href:"/api/interfaces/RawCategory"},"规则类别"),h(", 在输入框中输入类别名称点击确认即可")],-1)),s[6]||(s[6]=l("p",null,"TODO",-1))])}const u=p(E,[["render",r]]);export{C as __pageData,u as default};
1
+ import{_ as p,I as t,c as k,o as e,aq as a,J as n,j as l,a as h}from"./chunks/framework.C9O3MI31.js";const C=JSON.parse('{"title":"订阅规则","description":"","frontmatter":{},"headers":[],"relativePath":"guide/subscription.md","filePath":"guide/subscription.md","lastUpdated":1773041507000}'),E={name:"guide/subscription.md"};function r(d,s,g,y,F,o){const i=t("GImg");return e(),k("div",null,[s[0]||(s[0]=a("",12)),n(i,{src:"0041.jpg","max-w":"[min(375px,100%)]"}),s[1]||(s[1]=a("",4)),n(i,{src:"0042.jpg","max-w":"[min(375px,100%)]"}),s[2]||(s[2]=a("",4)),n(i,{src:"0043.jpg","max-w":"[min(375px,100%)]"}),s[3]||(s[3]=a("",4)),n(i,{src:"0044.jpg","max-w":"[min(375px,100%)]"}),s[4]||(s[4]=a("",4)),n(i,{src:"0045.jpg","max-w":"[min(375px,100%)]"}),s[5]||(s[5]=l("p",null,[h("此处可添加 "),l("a",{href:"/api/interfaces/RawCategory"},"规则类别"),h(", 在输入框中输入类别名称点击确认即可")],-1)),s[6]||(s[6]=l("p",null,"TODO",-1))])}const u=p(E,[["render",r]]);export{C as __pageData,u as default};
@@ -1 +1 @@
1
- import{_ as t,c as a,o as e,aq as i}from"./chunks/framework.C9O3MI31.js";const c=JSON.parse('{"title":"使用协议","description":"","frontmatter":{},"headers":[],"relativePath":"guide/terms.md","filePath":"guide/terms.md","lastUpdated":1769414055000}'),l={name:"guide/terms.md"};function s(o,r,n,h,d,g){return e(),a("div",null,r[0]||(r[0]=[i('<h1 id="title" tabindex="-1">使用协议 <a class="header-anchor" href="#title" aria-label="Permalink to “使用协议”">​</a></h1><p><strong>版本号:1.0</strong><br><strong>生效日期:以应用版本发布日期为准</strong></p><p>欢迎使用 <strong>GKD</strong> 应用(以下简称“本应用”)。</p><p>在使用本应用前,请您仔细阅读本协议,使用即表示您已理解并同意本协议的全部条款。</p><h2 id="p1" tabindex="-1">一、应用信息 <a class="header-anchor" href="#p1" aria-label="Permalink to “一、应用信息”">​</a></h2><ul><li>应用名称:<strong>GKD</strong></li><li>开发作者:<a href="https://github.com/gkd-kit" target="_blank" rel="noreferrer">https://github.com/gkd-kit</a></li><li>官方网站:<a href="https://gkd.li" target="_blank" rel="noreferrer">https://gkd.li</a></li><li>联系方式:<a href="https://github.com/gkd-kit/gkd/issues" target="_blank" rel="noreferrer">https://github.com/gkd-kit/gkd/issues</a></li><li>授权协议:<a href="https://github.com/gkd-kit/gkd/blob/main/LICENSE" target="_blank" rel="noreferrer">GPL-3.0</a></li></ul><h2 id="p2" tabindex="-1">二、许可与用途限制 <a class="header-anchor" href="#p2" aria-label="Permalink to “二、许可与用途限制”">​</a></h2><ol><li>本应用开源,可自由复制、使用、修改代码,需遵守原协议条款。</li><li>第三方修改版分发代码或应用需遵守 <a href="https://github.com/orgs/gkd-kit/discussions/679" target="_blank" rel="noreferrer">分发协议</a></li><li>本应用 <strong>仅供学习与交流使用</strong>,<strong>禁止用于商业用途或违法行为</strong>。</li><li>本应用默认不包含任何规则内容,用户需自行编写或导入订阅规则。</li><li>本应用允许用户通过 URL 导入规则,添加时会提示注意来源安全,导入内容的合法性由用户自行承担。</li></ol><h2 id="p3" tabindex="-1">三、功能说明与权限政策 <a class="header-anchor" href="#p3" aria-label="Permalink to “三、功能说明与权限政策”">​</a></h2><ol><li><strong>本应用核心功能可在不授予任何权限的前提下运行</strong>,如编辑/导入规则等本地管理功能完全不依赖权限。</li><li><strong>本应用部分高级功能(如自动点击、界面文本识别)依赖无障碍权限和截图能力</strong>,授权与否完全由用户决定。</li><li><strong>本应用不会强制申请任何权限</strong>,用户可根据自身需求选择是否启用相关功能。</li></ol><h2 id="p4" tabindex="-1">四、免责声明 <a class="header-anchor" href="#p4" aria-label="Permalink to “四、免责声明”">​</a></h2><ol><li>本应用不提供服务器,不涉及账号或登录,不会收集或上传任何用户数据。</li><li>因使用来源不明或配置错误的订阅规则所导致的后果,由用户自行承担。</li><li>应用行为与权限调用均以用户明确操作为前提,开发者不对用户设备或系统状态的影响承担责任。</li></ol><h2 id="p5" tabindex="-1">五、协议变更 <a class="header-anchor" href="#p5" aria-label="Permalink to “五、协议变更”">​</a></h2><p>本协议内容如有更新,将随新版应用发布。用户可在官网下载最新协议文本,继续使用即视为接受更新内容。</p>',14)]))}const k=t(l,[["render",s]]);export{c as __pageData,k as default};
1
+ import{_ as t,c as a,o as e,aq as i}from"./chunks/framework.C9O3MI31.js";const c=JSON.parse('{"title":"使用协议","description":"","frontmatter":{},"headers":[],"relativePath":"guide/terms.md","filePath":"guide/terms.md","lastUpdated":1773041507000}'),l={name:"guide/terms.md"};function s(o,r,n,h,d,g){return e(),a("div",null,r[0]||(r[0]=[i('<h1 id="title" tabindex="-1">使用协议 <a class="header-anchor" href="#title" aria-label="Permalink to “使用协议”">​</a></h1><p><strong>版本号:1.0</strong><br><strong>生效日期:以应用版本发布日期为准</strong></p><p>欢迎使用 <strong>GKD</strong> 应用(以下简称“本应用”)。</p><p>在使用本应用前,请您仔细阅读本协议,使用即表示您已理解并同意本协议的全部条款。</p><h2 id="p1" tabindex="-1">一、应用信息 <a class="header-anchor" href="#p1" aria-label="Permalink to “一、应用信息”">​</a></h2><ul><li>应用名称:<strong>GKD</strong></li><li>开发作者:<a href="https://github.com/gkd-kit" target="_blank" rel="noreferrer">https://github.com/gkd-kit</a></li><li>官方网站:<a href="https://gkd.li" target="_blank" rel="noreferrer">https://gkd.li</a></li><li>联系方式:<a href="https://github.com/gkd-kit/gkd/issues" target="_blank" rel="noreferrer">https://github.com/gkd-kit/gkd/issues</a></li><li>授权协议:<a href="https://github.com/gkd-kit/gkd/blob/main/LICENSE" target="_blank" rel="noreferrer">GPL-3.0</a></li></ul><h2 id="p2" tabindex="-1">二、许可与用途限制 <a class="header-anchor" href="#p2" aria-label="Permalink to “二、许可与用途限制”">​</a></h2><ol><li>本应用开源,可自由复制、使用、修改代码,需遵守原协议条款。</li><li>第三方修改版分发代码或应用需遵守 <a href="https://github.com/orgs/gkd-kit/discussions/679" target="_blank" rel="noreferrer">分发协议</a></li><li>本应用 <strong>仅供学习与交流使用</strong>,<strong>禁止用于商业用途或违法行为</strong>。</li><li>本应用默认不包含任何规则内容,用户需自行编写或导入订阅规则。</li><li>本应用允许用户通过 URL 导入规则,添加时会提示注意来源安全,导入内容的合法性由用户自行承担。</li></ol><h2 id="p3" tabindex="-1">三、功能说明与权限政策 <a class="header-anchor" href="#p3" aria-label="Permalink to “三、功能说明与权限政策”">​</a></h2><ol><li><strong>本应用核心功能可在不授予任何权限的前提下运行</strong>,如编辑/导入规则等本地管理功能完全不依赖权限。</li><li><strong>本应用部分高级功能(如自动点击、界面文本识别)依赖无障碍权限和截图能力</strong>,授权与否完全由用户决定。</li><li><strong>本应用不会强制申请任何权限</strong>,用户可根据自身需求选择是否启用相关功能。</li></ol><h2 id="p4" tabindex="-1">四、免责声明 <a class="header-anchor" href="#p4" aria-label="Permalink to “四、免责声明”">​</a></h2><ol><li>本应用不提供服务器,不涉及账号或登录,不会收集或上传任何用户数据。</li><li>因使用来源不明或配置错误的订阅规则所导致的后果,由用户自行承担。</li><li>应用行为与权限调用均以用户明确操作为前提,开发者不对用户设备或系统状态的影响承担责任。</li></ol><h2 id="p5" tabindex="-1">五、协议变更 <a class="header-anchor" href="#p5" aria-label="Permalink to “五、协议变更”">​</a></h2><p>本协议内容如有更新,将随新版应用发布。用户可在官网下载最新协议文本,继续使用即视为接受更新内容。</p>',14)]))}const k=t(l,[["render",s]]);export{c as __pageData,k as default};
@@ -1 +1 @@
1
- import{_ as t,c as a,o as e,aq as i}from"./chunks/framework.C9O3MI31.js";const c=JSON.parse('{"title":"使用协议","description":"","frontmatter":{},"headers":[],"relativePath":"guide/terms.md","filePath":"guide/terms.md","lastUpdated":1769414055000}'),l={name:"guide/terms.md"};function s(o,r,n,h,d,g){return e(),a("div",null,r[0]||(r[0]=[i("",14)]))}const k=t(l,[["render",s]]);export{c as __pageData,k as default};
1
+ import{_ as t,c as a,o as e,aq as i}from"./chunks/framework.C9O3MI31.js";const c=JSON.parse('{"title":"使用协议","description":"","frontmatter":{},"headers":[],"relativePath":"guide/terms.md","filePath":"guide/terms.md","lastUpdated":1773041507000}'),l={name:"guide/terms.md"};function s(o,r,n,h,d,g){return e(),a("div",null,r[0]||(r[0]=[i("",14)]))}const k=t(l,[["render",s]]);export{c as __pageData,k as default};
@@ -1 +1 @@
1
- import{_ as t,I as s,c as n,o as r,aq as o,J as i}from"./chunks/framework.C9O3MI31.js";const u=JSON.parse('{"title":"GKD 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is-gkd.md","filePath":"guide/what-is-gkd.md","lastUpdated":1769414055000}'),p={name:"guide/what-is-gkd.md"};function l(d,e,c,h,_,g){const a=s("ImageTable");return r(),n("div",null,[e[0]||(e[0]=o('<h1 id="title" tabindex="-1">GKD 是什么? <a class="header-anchor" href="#title" aria-label="Permalink to “GKD 是什么?”">​</a></h1><p>GKD 是一款基于无障碍,高级选择器,订阅规则的自定义屏幕点击 Android 应用</p><h2 id="use-cases" tabindex="-1">使用场景 <a class="header-anchor" href="#use-cases" aria-label="Permalink to “使用场景”">​</a></h2><p>通过自定义规则, 在指定界面, 满足指定条件(如屏幕上存在特定文字)时, 点击特定的节点或位置或执行其他操作</p><ul><li><p><strong>快捷操作</strong></p><p>帮助你简化一些重复的流程, 如某些软件自动确认电脑登录</p></li><li><p><strong>跳过流程</strong></p><p>某些软件可能在启动时存在一些烦人的流程, 这个软件可以帮助你点击跳过这个流程</p></li></ul><h2 id="screenshot" tabindex="-1">截图 <a class="header-anchor" href="#screenshot" aria-label="Permalink to “截图”">​</a></h2>',6)),i(a,{images:[["0048.png","0049.png","0050.png","0051.png"],["0052.png","0053.png","0054.png","0055.png"]]})])}const f=t(p,[["render",l]]);export{u as __pageData,f as default};
1
+ import{_ as t,I as s,c as n,o as r,aq as o,J as i}from"./chunks/framework.C9O3MI31.js";const u=JSON.parse('{"title":"GKD 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is-gkd.md","filePath":"guide/what-is-gkd.md","lastUpdated":1773041507000}'),p={name:"guide/what-is-gkd.md"};function l(d,e,c,h,_,g){const a=s("ImageTable");return r(),n("div",null,[e[0]||(e[0]=o('<h1 id="title" tabindex="-1">GKD 是什么? <a class="header-anchor" href="#title" aria-label="Permalink to “GKD 是什么?”">​</a></h1><p>GKD 是一款基于无障碍,高级选择器,订阅规则的自定义屏幕点击 Android 应用</p><h2 id="use-cases" tabindex="-1">使用场景 <a class="header-anchor" href="#use-cases" aria-label="Permalink to “使用场景”">​</a></h2><p>通过自定义规则, 在指定界面, 满足指定条件(如屏幕上存在特定文字)时, 点击特定的节点或位置或执行其他操作</p><ul><li><p><strong>快捷操作</strong></p><p>帮助你简化一些重复的流程, 如某些软件自动确认电脑登录</p></li><li><p><strong>跳过流程</strong></p><p>某些软件可能在启动时存在一些烦人的流程, 这个软件可以帮助你点击跳过这个流程</p></li></ul><h2 id="screenshot" tabindex="-1">截图 <a class="header-anchor" href="#screenshot" aria-label="Permalink to “截图”">​</a></h2>',6)),i(a,{images:[["0048.png","0049.png","0050.png","0051.png"],["0052.png","0053.png","0054.png","0055.png"]]})])}const f=t(p,[["render",l]]);export{u as __pageData,f as default};
@@ -1 +1 @@
1
- import{_ as t,I as s,c as n,o as r,aq as o,J as i}from"./chunks/framework.C9O3MI31.js";const u=JSON.parse('{"title":"GKD 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is-gkd.md","filePath":"guide/what-is-gkd.md","lastUpdated":1769414055000}'),p={name:"guide/what-is-gkd.md"};function l(d,e,c,h,_,g){const a=s("ImageTable");return r(),n("div",null,[e[0]||(e[0]=o("",6)),i(a,{images:[["0048.png","0049.png","0050.png","0051.png"],["0052.png","0053.png","0054.png","0055.png"]]})])}const f=t(p,[["render",l]]);export{u as __pageData,f as default};
1
+ import{_ as t,I as s,c as n,o as r,aq as o,J as i}from"./chunks/framework.C9O3MI31.js";const u=JSON.parse('{"title":"GKD 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"guide/what-is-gkd.md","filePath":"guide/what-is-gkd.md","lastUpdated":1773041507000}'),p={name:"guide/what-is-gkd.md"};function l(d,e,c,h,_,g){const a=s("ImageTable");return r(),n("div",null,[e[0]||(e[0]=o("",6)),i(a,{images:[["0048.png","0049.png","0050.png","0051.png"],["0052.png","0053.png","0054.png","0055.png"]]})])}const f=t(p,[["render",l]]);export{u as __pageData,f as default};
@@ -1 +1 @@
1
- import{_ as t,c as e,o as a}from"./chunks/framework.C9O3MI31.js";const p=JSON.parse('{"title":"GKD","titleTemplate":"自定义屏幕点击应用","description":"","frontmatter":{"layout":"home","title":"GKD","titleTemplate":"自定义屏幕点击应用","hero":{"name":"GKD","text":"自定义屏幕点击应用","tagline":"基于无障碍+选择器+订阅规则","actions":[{"theme":"brand","text":"什么是 GKD?","link":"/guide/what-is-gkd"},{"theme":"alt","text":"开始使用","link":"/guide/"},{"theme":"alt","text":"常见问题","link":"/guide/faq"},{"theme":"alt","text":"在 Github 上查看","link":"https://github.com/gkd-kit/gkd"}],"image":{"src":"/logo.svg","alt":"GKD"}},"features":[{"title":"🐔 开放源代码","details":"任何人均可审查源代码, 确保安全性和质量"},{"title":"🐋 选择器","details":"一种能联系节点上下文信息的的查询语法, 更容易也更精确找到目标节点"},{"title":"🎤 订阅规则","details":"您可编写本地订阅满足自己需求, 远程订阅能让您直接使用大众维护的开源规则"},{"title":"🏀 快照审查","details":"捕获的快照可通过审查工具测试选择器帮助自定义规则, 也可直接分享快照寻求别人的帮助"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1769414055000}'),i={name:"index.md"};function l(d,n,s,o,r,m){return a(),e("div")}const h=t(i,[["render",l]]);export{p as __pageData,h as default};
1
+ import{_ as t,c as e,o as a}from"./chunks/framework.C9O3MI31.js";const p=JSON.parse('{"title":"GKD","titleTemplate":"自定义屏幕点击应用","description":"","frontmatter":{"layout":"home","title":"GKD","titleTemplate":"自定义屏幕点击应用","hero":{"name":"GKD","text":"自定义屏幕点击应用","tagline":"基于无障碍+选择器+订阅规则","actions":[{"theme":"brand","text":"什么是 GKD?","link":"/guide/what-is-gkd"},{"theme":"alt","text":"开始使用","link":"/guide/"},{"theme":"alt","text":"常见问题","link":"/guide/faq"},{"theme":"alt","text":"在 Github 上查看","link":"https://github.com/gkd-kit/gkd"}],"image":{"src":"/logo.svg","alt":"GKD"}},"features":[{"title":"🐔 开放源代码","details":"任何人均可审查源代码, 确保安全性和质量"},{"title":"🐋 选择器","details":"一种能联系节点上下文信息的的查询语法, 更容易也更精确找到目标节点"},{"title":"🎤 订阅规则","details":"您可编写本地订阅满足自己需求, 远程订阅能让您直接使用大众维护的开源规则"},{"title":"🏀 快照审查","details":"捕获的快照可通过审查工具测试选择器帮助自定义规则, 也可直接分享快照寻求别人的帮助"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1773041507000}'),i={name:"index.md"};function l(d,n,s,o,r,m){return a(),e("div")}const h=t(i,[["render",l]]);export{p as __pageData,h as default};
@@ -1 +1 @@
1
- import{_ as t,c as e,o as a}from"./chunks/framework.C9O3MI31.js";const p=JSON.parse('{"title":"GKD","titleTemplate":"自定义屏幕点击应用","description":"","frontmatter":{"layout":"home","title":"GKD","titleTemplate":"自定义屏幕点击应用","hero":{"name":"GKD","text":"自定义屏幕点击应用","tagline":"基于无障碍+选择器+订阅规则","actions":[{"theme":"brand","text":"什么是 GKD?","link":"/guide/what-is-gkd"},{"theme":"alt","text":"开始使用","link":"/guide/"},{"theme":"alt","text":"常见问题","link":"/guide/faq"},{"theme":"alt","text":"在 Github 上查看","link":"https://github.com/gkd-kit/gkd"}],"image":{"src":"/logo.svg","alt":"GKD"}},"features":[{"title":"🐔 开放源代码","details":"任何人均可审查源代码, 确保安全性和质量"},{"title":"🐋 选择器","details":"一种能联系节点上下文信息的的查询语法, 更容易也更精确找到目标节点"},{"title":"🎤 订阅规则","details":"您可编写本地订阅满足自己需求, 远程订阅能让您直接使用大众维护的开源规则"},{"title":"🏀 快照审查","details":"捕获的快照可通过审查工具测试选择器帮助自定义规则, 也可直接分享快照寻求别人的帮助"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1769414055000}'),i={name:"index.md"};function l(d,n,s,o,r,m){return a(),e("div")}const h=t(i,[["render",l]]);export{p as __pageData,h as default};
1
+ import{_ as t,c as e,o as a}from"./chunks/framework.C9O3MI31.js";const p=JSON.parse('{"title":"GKD","titleTemplate":"自定义屏幕点击应用","description":"","frontmatter":{"layout":"home","title":"GKD","titleTemplate":"自定义屏幕点击应用","hero":{"name":"GKD","text":"自定义屏幕点击应用","tagline":"基于无障碍+选择器+订阅规则","actions":[{"theme":"brand","text":"什么是 GKD?","link":"/guide/what-is-gkd"},{"theme":"alt","text":"开始使用","link":"/guide/"},{"theme":"alt","text":"常见问题","link":"/guide/faq"},{"theme":"alt","text":"在 Github 上查看","link":"https://github.com/gkd-kit/gkd"}],"image":{"src":"/logo.svg","alt":"GKD"}},"features":[{"title":"🐔 开放源代码","details":"任何人均可审查源代码, 确保安全性和质量"},{"title":"🐋 选择器","details":"一种能联系节点上下文信息的的查询语法, 更容易也更精确找到目标节点"},{"title":"🎤 订阅规则","details":"您可编写本地订阅满足自己需求, 远程订阅能让您直接使用大众维护的开源规则"},{"title":"🏀 快照审查","details":"捕获的快照可通过审查工具测试选择器帮助自定义规则, 也可直接分享快照寻求别人的帮助"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1773041507000}'),i={name:"index.md"};function l(d,n,s,o,r,m){return a(),e("div")}const h=t(i,[["render",l]]);export{p as __pageData,h as default};