部署来自 main 的最新文档变更: 791dd57f23
1
assets/app.D7044GBf.js
Normal file
@@ -0,0 +1 @@
|
||||
import{U as o,a4 as p,a5 as u,a6 as l,a7 as c,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,d as P,u as v,y,x as w,ae as C,af as R,ag as b,ah as E}from"./chunks/framework.Bsyxd66g.js";import{R as S}from"./chunks/theme.CXiSjCOs.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=D(),a=x();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function x(){return h(T)}function D(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp};
|
||||
11
assets/args.md.BYVWDxsV.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const g=JSON.parse('{"title":"命令行参数","description":"","frontmatter":{},"headers":[],"relativePath":"args.md","filePath":"args.md","lastUpdated":1778136465000}'),l={name:"args.md"},e=n(`<h1 id="命令行参数" tabindex="-1">命令行参数 <a class="header-anchor" href="#命令行参数" aria-label="Permalink to "命令行参数""></a></h1><p>程序支持有限的命令行参数,可以通过执行 <code>bili-sync-rs --help</code> 查看说明。</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bili-sync/target/debug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">*</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ⇡</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">❯</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./bili-sync-rs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --help</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">由</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Rust</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> & </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Tokio</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 驱动的哔哩哔哩同步工具</span></span>
|
||||
<span class="line"></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Usage:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bili-sync-rs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [OPTIONS]</span></span>
|
||||
<span class="line"></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Options:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -s,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --scan-only</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [env: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">SCAN_ONLY=]</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -l,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --log-level</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> <</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">LOG_LEVE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [env: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">RUST_LOG=]</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [default: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">None,bili_sync=info]</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -h,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --help</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Print</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> help</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -V,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --version</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Print</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> version</span></span></code></pre></div><p>可以看到除版本和帮助信息外,程序仅支持两个参数,参数除可以通过命令行设置外,还可通过环境变量设置。</p><h2 id="scan-only" tabindex="-1"><code>--scan-only</code> <a class="header-anchor" href="#scan-only" aria-label="Permalink to "\`--scan-only\`""></a></h2><p><code>--scan-only</code> 参数用于仅扫描列表,而不实际执行下载操作。该参数的主要目的是<a href="https://github.com/amtoaer/bili-sync/issues/66#issuecomment-2066642481" target="_blank" rel="noreferrer">方便用户从 v1 迁移</a>,新用户不需要关注。</p><h2 id="log-level" tabindex="-1"><code>--log-level</code> <a class="header-anchor" href="#log-level" aria-label="Permalink to "\`--log-level\`""></a></h2><p><code>--log-level</code> 参数用于设置日志级别,一般可以维持默认。该参数与 Rust 程序中 <code>RUST_LOG</code> 的语义相同,可以查看<a href="https://docs.rs/env_logger/latest/env_logger/#enabling-logging" target="_blank" rel="noreferrer">相关文档</a>获取详细信息。</p>`,8),t=[e];function h(p,k,r,d,o,F){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{g as __pageData,y as default};
|
||||
1
assets/args.md.BYVWDxsV.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const g=JSON.parse('{"title":"命令行参数","description":"","frontmatter":{},"headers":[],"relativePath":"args.md","filePath":"args.md","lastUpdated":1778136465000}'),l={name:"args.md"},e=n("",8),t=[e];function h(p,k,r,d,o,F){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{g as __pageData,y as default};
|
||||
BIN
assets/bili_collection.DiWdQ_1C.webp
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
assets/bili_video.AE-Vm7po.webp
Normal file
|
After Width: | Height: | Size: 34 KiB |
1
assets/chunks/@localSearchIndexroot.DN_5JVUZ.js
Normal file
7
assets/chunks/VPLocalSearchBox.cPhmMpFo.js
Normal file
17
assets/chunks/framework.Bsyxd66g.js
Normal file
1
assets/chunks/metadata.ae73bf22.js
Normal file
@@ -0,0 +1 @@
|
||||
window.__VP_HASH_MAP__=JSON.parse("{\"collection.md\":\"BnZftCMc\",\"frontend.md\":\"kMFDNQHa\",\"configuration.md\":\"CTYDd3uK\",\"index.md\":\"BVOMjzO4\",\"submission.md\":\"hnRuTJtY\",\"args.md\":\"BYVWDxsV\",\"question.md\":\"y7BNY2M3\",\"quick-start.md\":\"M-lcs-PN\",\"design.md\":\"90q2hBns\",\"favorite.md\":\"fsf7BiTt\",\"introduction.md\":\"D4x9QJ7E\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-Hans\",\"dir\":\"ltr\",\"title\":\"bili-sync\",\"description\":\"由 Rust & Tokio 驱动的哔哩哔哩同步工具\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":{\"label\":\"页面导航\",\"level\":\"deep\"},\"nav\":[{\"text\":\"主页\",\"link\":\"/\"},{\"text\":\"v2.11.1\",\"items\":[{\"text\":\"程序更新\",\"link\":\"https://github.com/amtoaer/bili-sync/releases\"},{\"text\":\"文档更新\",\"link\":\"https://github.com/search?q=repo:amtoaer/bili-sync+docs&type=commits\"}]}],\"sidebar\":[{\"text\":\"简介\",\"items\":[{\"text\":\"什么是 bili-sync?\",\"link\":\"/introduction\"},{\"text\":\"快速开始\",\"link\":\"/quick-start\"}]},{\"text\":\"细节\",\"items\":[{\"text\":\"配置说明\",\"link\":\"/configuration\"},{\"text\":\"命令行参数\",\"link\":\"/args\"},{\"text\":\"工作原理\",\"link\":\"/design\"}]},{\"text\":\"参考\",\"items\":[{\"text\":\"获取收藏夹信息\",\"link\":\"/favorite\"},{\"text\":\"获取合集/列表信息\",\"link\":\"/collection\"},{\"text\":\"获取用户投稿信息\",\"link\":\"/submission\"}]},{\"text\":\"其它\",\"items\":[{\"text\":\"常见问题\",\"link\":\"/question\"},{\"text\":\"管理页\",\"link\":\"/frontend\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/amtoaer/bili-sync\"}],\"search\":{\"provider\":\"local\"},\"notFound\":{\"title\":\"你来到了没有知识的荒原\",\"quote\":\"这里什么都没有\",\"linkText\":\"返回首页\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"lastUpdated\":{\"text\":\"上次更新于\"},\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"切换到浅色模式\",\"darkModeSwitchTitle\":\"切换到深色模式\"},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");
|
||||
4
assets/chunks/theme.CXiSjCOs.js
Normal file
1
assets/collection.md.BnZftCMc.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as a,o as t,a3 as s}from"./chunks/framework.Bsyxd66g.js";const o="/assets/season.DhuB2-D3.webp",c="/assets/series.BaQswuih.webp",f=JSON.parse('{"title":"获取合集/列表信息","description":"","frontmatter":{},"headers":[],"relativePath":"collection.md","filePath":"collection.md","lastUpdated":1778136465000}'),i={name:"collection.md"},n=s('<h1 id="获取合集-列表信息" tabindex="-1">获取合集/列表信息 <a class="header-anchor" href="#获取合集-列表信息" aria-label="Permalink to "获取合集/列表信息""></a></h1><p>视频合集和视频列表虽然在哔哩哔哩网站交互上行为类似,但在接口层级是两个不同的概念,程序配置中需要对两者做出区分。</p><p>目前 B 站绝大部分内容都是视频合集(Season),视频列表(Series)是古早的功能,现在已经不常见了。</p><h2 id="配置形式与区分方法" tabindex="-1">配置形式与区分方法 <a class="header-anchor" href="#配置形式与区分方法" aria-label="Permalink to "配置形式与区分方法""></a></h2><p>新版本 b 站网页端已经对两种类型做了初步整合,将需要的参数展示在了视频合集/视频列表的 URL 中,不再需要手动查看接口。URL 的路径格式为:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/{mid}/lists/{id}?type={season/series}</span></span></code></pre></div><p>点开你想要订阅的视频合集/视频列表详情,对照查看 URL 即可获取所需参数。</p><h3 id="视频合集" tabindex="-1">视频合集 <a class="header-anchor" href="#视频合集" aria-label="Permalink to "视频合集""></a></h3><p><img src="'+o+'" alt="image"></p><p>类型为 <code>合集(Season)</code>,用户 ID 为 <code>521722088</code>,合集 ID 为 <code>1987140</code>。</p><h3 id="视频列表" tabindex="-1">视频列表 <a class="header-anchor" href="#视频列表" aria-label="Permalink to "视频列表""></a></h3><p><img src="'+c+'" alt="image"></p><p>类型为 <code>列表(Series)</code>,用户 ID 为 <code>521722088</code>,列表 ID 为 <code>387214</code>。</p>',13),d=[n];function r(l,p,h,_,m,u){return t(),a("div",null,d)}const g=e(i,[["render",r]]);export{f as __pageData,g as default};
|
||||
1
assets/collection.md.BnZftCMc.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as a,o as t,a3 as s}from"./chunks/framework.Bsyxd66g.js";const o="/assets/season.DhuB2-D3.webp",c="/assets/series.BaQswuih.webp",f=JSON.parse('{"title":"获取合集/列表信息","description":"","frontmatter":{},"headers":[],"relativePath":"collection.md","filePath":"collection.md","lastUpdated":1778136465000}'),i={name:"collection.md"},n=s("",13),d=[n];function r(l,p,h,_,m,u){return t(),a("div",null,d)}const g=e(i,[["render",r]]);export{f as __pageData,g as default};
|
||||
BIN
assets/config._3EbYWXX.webp
Normal file
|
After Width: | Height: | Size: 78 KiB |
13
assets/configuration.md.CTYDd3uK.js
Normal file
1
assets/configuration.md.CTYDd3uK.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as i,o as e,a3 as s}from"./chunks/framework.Bsyxd66g.js";const b=JSON.parse('{"title":"配置说明","description":"","frontmatter":{},"headers":[],"relativePath":"configuration.md","filePath":"configuration.md","lastUpdated":1778136465000}'),t={name:"configuration.md"},l=s("",87),h=[l];function n(p,o,r,d,k,c){return e(),i("div",null,h)}const u=a(t,[["render",n]]);export{b as __pageData,u as default};
|
||||
1
assets/design.md.90q2hBns.js
Normal file
1
assets/design.md.90q2hBns.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as a,o,a3 as i}from"./chunks/framework.Bsyxd66g.js";const t="/assets/bili_collection.DiWdQ_1C.webp",s="/assets/bili_video.AE-Vm7po.webp",r="/assets/single_page.jTeO_DvF.webp",d="/assets/multi_page.tN1txa1M.webp",l="/assets/multi_page_detail.BYT8HIYs.webp",f=JSON.parse('{"title":"工作原理","description":"","frontmatter":{},"headers":[],"relativePath":"design.md","filePath":"design.md","lastUpdated":1778136465000}'),p={name:"design.md"},c=i("",49),n=[c];function h(v,u,b,g,_,m){return o(),a("div",null,n)}const k=e(p,[["render",h]]);export{f as __pageData,k as default};
|
||||
BIN
assets/detail.ChUzrbas.webp
Normal file
|
After Width: | Height: | Size: 342 KiB |
BIN
assets/dir.CYojSJXr.webp
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
assets/favorite.BWmN8cbK.webp
Normal file
|
After Width: | Height: | Size: 258 KiB |
1
assets/favorite.md.fsf7BiTt.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as o,o as s,j as e,a as t}from"./chunks/framework.Bsyxd66g.js";const r="/assets/favorite.BWmN8cbK.webp",b=JSON.parse('{"title":"获取收藏夹信息","description":"","frontmatter":{},"headers":[],"relativePath":"favorite.md","filePath":"favorite.md","lastUpdated":1778136465000}'),c={name:"favorite.md"},i=e("h1",{id:"获取收藏夹信息",tabindex:"-1"},[t("获取收藏夹信息 "),e("a",{class:"header-anchor",href:"#获取收藏夹信息","aria-label":'Permalink to "获取收藏夹信息"'},"")],-1),n=e("p",null,[t("收藏夹的 ID 获取非常简单,在网页端打开自己的收藏夹列表,切换到你想要获取的收藏夹,然后查看 URL 地址栏中的 "),e("code",null,"fid"),t(" 参数内容即可。")],-1),d=e("p",null,[e("img",{src:r,alt:"image"})],-1),l=[i,n,d];function _(p,f,m,h,u,v){return s(),o("div",null,l)}const B=a(c,[["render",_]]);export{b as __pageData,B as default};
|
||||
1
assets/favorite.md.fsf7BiTt.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as a,c as o,o as s,j as e,a as t}from"./chunks/framework.Bsyxd66g.js";const r="/assets/favorite.BWmN8cbK.webp",b=JSON.parse('{"title":"获取收藏夹信息","description":"","frontmatter":{},"headers":[],"relativePath":"favorite.md","filePath":"favorite.md","lastUpdated":1778136465000}'),c={name:"favorite.md"},i=e("h1",{id:"获取收藏夹信息",tabindex:"-1"},[t("获取收藏夹信息 "),e("a",{class:"header-anchor",href:"#获取收藏夹信息","aria-label":'Permalink to "获取收藏夹信息"'},"")],-1),n=e("p",null,[t("收藏夹的 ID 获取非常简单,在网页端打开自己的收藏夹列表,切换到你想要获取的收藏夹,然后查看 URL 地址栏中的 "),e("code",null,"fid"),t(" 参数内容即可。")],-1),d=e("p",null,[e("img",{src:r,alt:"image"})],-1),l=[i,n,d];function _(p,f,m,h,u,v){return s(),o("div",null,l)}const B=a(c,[["render",_]]);export{b as __pageData,B as default};
|
||||
1
assets/frontend.md.kMFDNQHa.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,c as a,o as s,j as e,a as n}from"./chunks/framework.Bsyxd66g.js";const o="/assets/webui.CZmBmDyk.webp",k=JSON.parse('{"title":"管理页","description":"","frontmatter":{},"headers":[],"relativePath":"frontend.md","filePath":"frontend.md","lastUpdated":1778136465000}'),r={name:"frontend.md"},c=e("h1",{id:"管理页",tabindex:"-1"},[n("管理页 "),e("a",{class:"header-anchor",href:"#管理页","aria-label":'Permalink to "管理页"'},"")],-1),d=e("p",null,"自 2.6.0 版本开始,bili-sync 的配置文件已经完全迁移至数据库中,程序的所有操作都可以通过 WebUI 管理页进行。",-1),i=e("p",null,[e("img",{src:o,alt:"管理页"})],-1),_=[c,d,i];function l(p,m,f,h,u,b){return s(),a("div",null,_)}const B=t(r,[["render",l]]);export{k as __pageData,B as default};
|
||||
1
assets/frontend.md.kMFDNQHa.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,c as a,o as s,j as e,a as n}from"./chunks/framework.Bsyxd66g.js";const o="/assets/webui.CZmBmDyk.webp",k=JSON.parse('{"title":"管理页","description":"","frontmatter":{},"headers":[],"relativePath":"frontend.md","filePath":"frontend.md","lastUpdated":1778136465000}'),r={name:"frontend.md"},c=e("h1",{id:"管理页",tabindex:"-1"},[n("管理页 "),e("a",{class:"header-anchor",href:"#管理页","aria-label":'Permalink to "管理页"'},"")],-1),d=e("p",null,"自 2.6.0 版本开始,bili-sync 的配置文件已经完全迁移至数据库中,程序的所有操作都可以通过 WebUI 管理页进行。",-1),i=e("p",null,[e("img",{src:o,alt:"管理页"})],-1),_=[c,d,i];function l(p,m,f,h,u,b){return s(),a("div",null,_)}const B=t(r,[["render",l]]);export{k as __pageData,B as default};
|
||||
1
assets/index.md.BVOMjzO4.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,c as e,o as i}from"./chunks/framework.Bsyxd66g.js";const p=JSON.parse('{"title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","description":"","frontmatter":{"layout":"home","title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","hero":{"name":"bili-sync","text":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","actions":[{"theme":"brand","text":"什么是 bili-sync?","link":"/introduction"},{"theme":"alt","text":"快速开始","link":"/quick-start"},{"theme":"alt","text":"GitHub","link":"https://github.com/amtoaer/bili-sync"}],"image":{"src":"/logo.webp","alt":"bili-sync"}},"features":[{"icon":"🤖","title":"无需干预","details":"自动选择最优的视频和音频配置"},{"icon":"💾","title":"专为 NAS 设计","details":"可被 Emby、Jellyfin 等媒体服务器一键识别"},{"icon":"🐳","title":"部署简单","details":"提供简单易用的 docker 镜像"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1778136465000}'),a={name:"index.md"};function n(o,l,s,c,r,d){return i(),e("div")}const u=t(a,[["render",n]]);export{p as __pageData,u as default};
|
||||
1
assets/index.md.BVOMjzO4.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,c as e,o as i}from"./chunks/framework.Bsyxd66g.js";const p=JSON.parse('{"title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","description":"","frontmatter":{"layout":"home","title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","hero":{"name":"bili-sync","text":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","actions":[{"theme":"brand","text":"什么是 bili-sync?","link":"/introduction"},{"theme":"alt","text":"快速开始","link":"/quick-start"},{"theme":"alt","text":"GitHub","link":"https://github.com/amtoaer/bili-sync"}],"image":{"src":"/logo.webp","alt":"bili-sync"}},"features":[{"icon":"🤖","title":"无需干预","details":"自动选择最优的视频和音频配置"},{"icon":"💾","title":"专为 NAS 设计","details":"可被 Emby、Jellyfin 等媒体服务器一键识别"},{"icon":"🐳","title":"部署简单","details":"提供简单易用的 docker 镜像"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1778136465000}'),a={name:"index.md"};function n(o,l,s,c,r,d){return i(),e("div")}const u=t(a,[["render",n]]);export{p as __pageData,u as default};
|
||||
BIN
assets/inter-italic-cyrillic-ext.r48I6akx.woff2
Normal file
BIN
assets/inter-italic-cyrillic.By2_1cv3.woff2
Normal file
BIN
assets/inter-italic-greek-ext.1u6EdAuj.woff2
Normal file
BIN
assets/inter-italic-greek.DJ8dCoTZ.woff2
Normal file
BIN
assets/inter-italic-latin-ext.CN1xVJS-.woff2
Normal file
BIN
assets/inter-italic-latin.C2AdPX0b.woff2
Normal file
BIN
assets/inter-italic-vietnamese.BSbpV94h.woff2
Normal file
BIN
assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2
Normal file
BIN
assets/inter-roman-cyrillic.C5lxZ8CY.woff2
Normal file
BIN
assets/inter-roman-greek-ext.CqjqNYQ-.woff2
Normal file
BIN
assets/inter-roman-greek.BBVDIX6e.woff2
Normal file
BIN
assets/inter-roman-latin-ext.4ZJIpNVo.woff2
Normal file
BIN
assets/inter-roman-latin.Di8DUHzh.woff2
Normal file
BIN
assets/inter-roman-vietnamese.BjW4sHH5.woff2
Normal file
1
assets/introduction.md.D4x9QJ7E.js
Normal file
1
assets/introduction.md.D4x9QJ7E.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as t,c as s,o as e,a3 as i}from"./chunks/framework.Bsyxd66g.js";const a="/assets/overview.CV5ADeaw.webp",c="/assets/detail.ChUzrbas.webp",l="/assets/play.CCSTwqV_.webp",o="/assets/dir.CYojSJXr.webp",y=JSON.parse('{"title":"bili-sync 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"introduction.md","filePath":"introduction.md","lastUpdated":1778136465000}'),d={name:"introduction.md"},h=i("",17),k=[h];function n(b,r,p,m,u,x){return e(),s("div",null,k)}const f=t(d,[["render",n]]);export{y as __pageData,f as default};
|
||||
BIN
assets/multi_page.tN1txa1M.webp
Normal file
|
After Width: | Height: | Size: 167 KiB |
BIN
assets/multi_page_detail.BYT8HIYs.webp
Normal file
|
After Width: | Height: | Size: 152 KiB |
BIN
assets/overview.CV5ADeaw.webp
Normal file
|
After Width: | Height: | Size: 270 KiB |
BIN
assets/play.CCSTwqV_.webp
Normal file
|
After Width: | Height: | Size: 216 KiB |
1
assets/question.md.y7BNY2M3.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as o,o as a,a3 as t}from"./chunks/framework.Bsyxd66g.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"question.md","filePath":"question.md","lastUpdated":1778136465000}'),r={name:"question.md"},i=t('<h1 id="常见问题" tabindex="-1">常见问题 <a class="header-anchor" href="#常见问题" aria-label="Permalink to "常见问题""></a></h1><h2 id="各种文件找不到问题-如运行后找不到初始-data-sqlite、提示成功下载但看不到视频文件等。" tabindex="-1">各种文件找不到问题,如运行后找不到初始 <code>data.sqlite</code>、提示成功下载但看不到视频文件等。 <a class="header-anchor" href="#各种文件找不到问题-如运行后找不到初始-data-sqlite、提示成功下载但看不到视频文件等。" aria-label="Permalink to "各种文件找不到问题,如运行后找不到初始 `data.sqlite`、提示成功下载但看不到视频文件等。""></a></h2><p>请检查挂载位置与配置文件填写是否正确,需要理解的是:</p><ol><li>容器挂载是把宿主机的 <code>/A</code> 挂载到容器内的 <code>/B</code>;</li><li>程序运行在容器中,能够读取、写入的目录只能是 <code>/B</code>,因此配置文件内填写的路径只能与 <code>/B</code> 有关。</li></ol><h2 id="下载视频出现-permission-denied、operation-not-permitted-等错误。" tabindex="-1">下载视频出现 Permission denied、Operation not permitted 等错误。 <a class="header-anchor" href="#下载视频出现-permission-denied、operation-not-permitted-等错误。" aria-label="Permalink to "下载视频出现 Permission denied、Operation not permitted 等错误。""></a></h2><p>有两种可能的原因:</p><ol><li>容器运行时指定了 <code>user</code>(非 root),但配置文件并未正确填写挂载后的路径。此时目标路径只是一个普通的容器内路径,非 root 用户无法修改,导致执行出错;</li><li>配置文件正确填写了挂载后的路径,此时出现权限错误说明你为容器指定的 <code>user</code> 无权写入宿主机上的原始路径。需检查宿主机原始路径的文件权限。</li></ol><h2 id="下载某个视频连续多次出现-error-decoding-response-body-错误" tabindex="-1">下载某个视频连续多次出现 <code>error decoding response body</code> 错误 <a class="header-anchor" href="#下载某个视频连续多次出现-error-decoding-response-body-错误" aria-label="Permalink to "下载某个视频连续多次出现 `error decoding response body` 错误""></a></h2><p>这个问题我也出现过几次,目前还不清楚原因,但怀疑是 b 站服务器使用某种检测机制拒绝了响应。</p><p>bili-sync 在 2.4.0 版本引入了一个改动,不将此错误计入错误次数,允许其无限重试,我过去下载失败的某个视频使用这个策略在多次尝试后成功了。</p><p>尽管如此,该解决方案仍然比较玄学,需要将来能够查明具体原因再加以修复。</p><h2 id="有些视频已经达到了最大重试次数还没有成功-我可以手动重试吗" tabindex="-1">有些视频已经达到了最大重试次数还没有成功,我可以手动重试吗? <a class="header-anchor" href="#有些视频已经达到了最大重试次数还没有成功-我可以手动重试吗" aria-label="Permalink to "有些视频已经达到了最大重试次数还没有成功,我可以手动重试吗?""></a></h2><p>可以在 WebUI 中查找对应的视频源并点击“重置”,这会将所有失败的子任务重置为未下载状态,下一次视频下载任务就会开始重试。</p><p>此外还可以进入视频详情点击“编辑状态”,这允许用户自行修改每个子任务的状态。</p>',14),d=[i];function n(s,c,l,p,h,_){return a(),o("div",null,d)}const q=e(r,[["render",n]]);export{u as __pageData,q as default};
|
||||
1
assets/question.md.y7BNY2M3.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as o,o as a,a3 as t}from"./chunks/framework.Bsyxd66g.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"question.md","filePath":"question.md","lastUpdated":1778136465000}'),r={name:"question.md"},i=t("",14),d=[i];function n(s,c,l,p,h,_){return a(),o("div",null,d)}const q=e(r,[["render",n]]);export{u as __pageData,q as default};
|
||||
34
assets/quick-start.md.M-lcs-PN.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const p="/assets/config._3EbYWXX.webp",y=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":1778136465000}'),e={name:"quick-start.md"},l=n(`<h1 id="快速开始" tabindex="-1">快速开始 <a class="header-anchor" href="#快速开始" aria-label="Permalink to "快速开始""></a></h1><p>程序使用 Rust 编写,不需要 Runtime 且内嵌 WebUI,并为各个平台提供了预编译的二进制文件,因此部署较为简单。</p><h2 id="程序获取" tabindex="-1">程序获取 <a class="header-anchor" href="#程序获取" aria-label="Permalink to "程序获取""></a></h2><p>程序为各个平台提供了预构建的二进制文件,并且打包了 <code>Linux/amd64</code> 与 <code>Linux/arm64</code> 两个平台的 Docker 镜像。用户可以自行选择使用哪种方式运行。</p><h3 id="其一-下载平台二进制文件运行" tabindex="-1">其一:下载平台二进制文件运行 <a class="header-anchor" href="#其一-下载平台二进制文件运行" aria-label="Permalink to "其一:下载平台二进制文件运行""></a></h3><div class="caution custom-block github-alert"><p class="custom-block-title">CAUTION</p><p>如果你使用这种方式运行,请确保 FFmpeg 已被正确安装且位于 PATH 中,可直接通过 <code>ffmpeg</code> 命令访问。</p></div><p>在<a href="https://github.com/amtoaer/bili-sync/releases" target="_blank" rel="noreferrer">程序发布页</a>选择最新版本中对应机器架构的压缩包,解压后会获取一个名为 <code>bili-sync-rs</code> 的可执行文件,直接双击执行。</p><h3 id="其二-使用-docker-compose-运行" tabindex="-1">其二:使用 Docker Compose 运行 <a class="header-anchor" href="#其二-使用-docker-compose-运行" aria-label="Permalink to "其二:使用 Docker Compose 运行""></a></h3><p>Linux/amd64 与 Linux/arm64 两个平台可直接使用 Docker 或 Docker Compose 运行,此处以 Compose 为例:</p><blockquote><p>请注意其中的注释,有不清楚的地方可以先继续往下看。</p></blockquote><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">services</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> bili-sync-rs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 不推荐使用 latest 这种模糊的 tag,最好直接指明版本号</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">amtoaer/bili-sync-rs:latest</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">unless-stopped</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> network_mode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bridge</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 该选项请仅在日志终端支持彩色输出时启用,否则日志中可能会出现乱码</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> tty</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 非必需设置项,推荐设置为宿主机用户的 uid 及 gid (\`$uid:$gid\`)</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 可以执行 \`id \${user}\` 获取 \`user\` 用户的 uid 及 gid</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 程序下载的所有文件权限将与此处的用户保持一致,不设置默认为 Root</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> user</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">1000:1000</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> hostname</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bili-sync-rs</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> container_name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bili-sync-rs</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 程序默认绑定 0.0.0.0:12345 运行 http 服务</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 可同时修改 compose 文件与 config.toml 变更服务运行的端口</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">12345:12345</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\${你希望存储程序配置的目录}:/app/.config/bili-sync</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # metadata/people 正确挂载才能在 Emby 或 Jellyfin 中显示 UP 主头像</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 右边的目标目录不固定,只需要确保目标目录与 bili-sync 中填写的“UP 主头像保存路径”保持一致即可</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\${Emby 或 Jellyfin 配置下的 metadata/people 目录}:/app/.config/bili-sync/upper_face</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 接下来可以挂载一系列用于保存视频的目录,接着在 bili-sync 中配置将视频下载到这些目录即可</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 例如:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # - /home/amtoaer/HDDs/Videos/Bilibilis/:/home/amtoaer/HDDs/Videos/Bilibilis/</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 如果你使用的是群晖系统,请移除最后的 logging 配置,否则会导致日志不显示</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> driver</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"local"</span></span></code></pre></div><p>使用该 compose 文件,执行 <code>docker compose up -d</code> 即可运行。</p><h2 id="进行必要配置" tabindex="-1">进行必要配置 <a class="header-anchor" href="#进行必要配置" aria-label="Permalink to "进行必要配置""></a></h2><p>运行程序,应该可以在日志中看到:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Jul 12 16:11:10 INFO 欢迎使用 Bili-Sync,当前程序版本:xxxxx</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 项目地址:https://github.com/amtoaer/bili-sync</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 数据库初始化完成</span></span>
|
||||
<span class="line"><span>Jul 12 17:17:50 WARN 生成 auth_token:xxxxxxxx,可使用该 token 登录 web UI,该信息仅在首次运行时打印</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 配置初始化完成</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 开始运行管理页: http://0.0.0.0:12345</span></span></code></pre></div><p>中间应该会穿插一条 CONFIG 的报错,这是因为配置文件内容缺失导致视频下载任务未能运行,在初次启动时是正常现象。</p><p>自 2.6.0 版本开始,程序仅会创建一个数据库文件,配置同样在数据库表中进行维护。</p><p>数据库文件存储于 <code>\${config_dir}/bili-sync/data.sqlite</code>。</p><div class="caution custom-block github-alert"><p class="custom-block-title">CAUTION</p><p></p><p>请注意,<code>config_dir</code> 的实际位置与操作系统和用户名有关。</p><p>对于名为 Alice 的用户,<code>config_dir</code> 指向的位置是:</p><ul><li>Lin: <code>/home/Alice/.config</code></li><li>Win: <code>C:\\Users\\Alice\\AppData\\Roaming</code></li><li>Mac: <code>/Users/Alice/Library/Application Support</code></li></ul><p>特别的,在 Docker 环境中,<code>config_dir</code> 会被展开为 <code>/app/.config</code>。</p></div><p>接着打开 WebUI,切换到设置页,输入日志中打印的 <code>auth_token</code>,点击认证。</p><p><img src="`+p+'" alt="设置页"></p><p>认证后会看到一系列的配置,除绑定地址外的选项<strong>基本都会实时生效</strong>。为避免意料外的情况,建议将配置文件一次修改完毕后再点击保存。</p><p>如无特殊需求,一般仅需修改“B 站认证”与“视频质量”两个标签下的配置。</p><p>其中“B 站认证”在一次填写后即可忽略,程序会在<strong>每日第一次运行视频下载任务</strong>时检查认证状态,并在有必要时自动刷新。</p><p>对于这些设置项的含义,请参考<a href="./configuration">配置说明</a>,可善用右侧导航在不同配置项间跳转。</p><h2 id="添加视频源订阅" tabindex="-1">添加视频源订阅 <a class="header-anchor" href="#添加视频源订阅" aria-label="Permalink to "添加视频源订阅""></a></h2><p>配置完毕后,我们便可以随时添加视频源订阅。</p><p>用户在正确填写“B 站认证”后可以在“快捷订阅”部分查看自己创建的收藏夹、关注的合集与 UP 主一键订阅,也可以在“视频源”页手动添加并管理。</p><p>对于手动添加的视频源,可参考如下页面获取所需的参数:</p><ul><li><a href="./favorite">收藏夹</a></li><li><a href="./collection">合集 / 列表</a></li><li><a href="./submission">用户投稿</a></li></ul><p>添加完订阅就无需进行任何干预了,视频下载任务会在后台每隔特定时间(由配置中的“同步间隔”决定)自动运行一次,刷新并下载启用的视频源!</p>',31),t=[l];function h(k,o,c,r,d,g){return a(),i("div",null,t)}const u=s(e,[["render",h]]);export{y as __pageData,u as default};
|
||||
1
assets/quick-start.md.M-lcs-PN.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const p="/assets/config._3EbYWXX.webp",y=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":1778136465000}'),e={name:"quick-start.md"},l=n("",31),t=[l];function h(k,o,c,r,d,g){return a(),i("div",null,t)}const u=s(e,[["render",h]]);export{y as __pageData,u as default};
|
||||
BIN
assets/season.DhuB2-D3.webp
Normal file
|
After Width: | Height: | Size: 289 KiB |
BIN
assets/series.BaQswuih.webp
Normal file
|
After Width: | Height: | Size: 296 KiB |
BIN
assets/single_page.jTeO_DvF.webp
Normal file
|
After Width: | Height: | Size: 174 KiB |
1
assets/style.C1nXIPB-.css
Normal file
BIN
assets/submission.MMNGpK24.webp
Normal file
|
After Width: | Height: | Size: 279 KiB |
1
assets/submission.md.hnRuTJtY.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t,o as a,j as s,a as o}from"./chunks/framework.Bsyxd66g.js";const i="/assets/submission.MMNGpK24.webp",P=JSON.parse('{"title":"获取用户投稿信息","description":"","frontmatter":{},"headers":[],"relativePath":"submission.md","filePath":"submission.md","lastUpdated":1778136465000}'),n={name:"submission.md"},r=s("h1",{id:"获取用户投稿信息",tabindex:"-1"},[o("获取用户投稿信息 "),s("a",{class:"header-anchor",href:"#获取用户投稿信息","aria-label":'Permalink to "获取用户投稿信息"'},"")],-1),c=s("p",null,"UP 主 的 ID 获取也很简单,在网页端打开想要获取投稿的 UP 主首页,直接查看网址栏中的数字或页面中的个人信息即可。",-1),d=s("p",null,[s("img",{src:i,alt:"image"})],-1),_=[r,c,d];function l(m,p,h,u,f,b){return a(),t("div",null,_)}const N=e(n,[["render",l]]);export{P as __pageData,N as default};
|
||||
1
assets/submission.md.hnRuTJtY.lean.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t,o as a,j as s,a as o}from"./chunks/framework.Bsyxd66g.js";const i="/assets/submission.MMNGpK24.webp",P=JSON.parse('{"title":"获取用户投稿信息","description":"","frontmatter":{},"headers":[],"relativePath":"submission.md","filePath":"submission.md","lastUpdated":1778136465000}'),n={name:"submission.md"},r=s("h1",{id:"获取用户投稿信息",tabindex:"-1"},[o("获取用户投稿信息 "),s("a",{class:"header-anchor",href:"#获取用户投稿信息","aria-label":'Permalink to "获取用户投稿信息"'},"")],-1),c=s("p",null,"UP 主 的 ID 获取也很简单,在网页端打开想要获取投稿的 UP 主首页,直接查看网址栏中的数字或页面中的个人信息即可。",-1),d=s("p",null,[s("img",{src:i,alt:"image"})],-1),_=[r,c,d];function l(m,p,h,u,f,b){return a(),t("div",null,_)}const N=e(n,[["render",l]]);export{P as __pageData,N as default};
|
||||
BIN
assets/webui.CZmBmDyk.webp
Normal file
|
After Width: | Height: | Size: 95 KiB |