mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
2 lines
5.4 KiB
HTML
2 lines
5.4 KiB
HTML
<div class=download-video><a :href=blobUrl id=video-complete style="display: none"></a><div class=header><i class="mdi mdi-download"></i><h1>下载视频</h1><div class=grow></div><i class="mdi mdi-close"@click=close()></i></div><div class=tabs><div class=tab v-for="t of tabs":class="{active: selectedTab === t, ['download-' + t.name]: true}":key=t.name @click="selectedTab = t">{{t.displayName}}</div></div><div v-show=downloadSingle class=info><img :src=coverUrl class=cover><div class=title><span class=size>预计大小: {{displaySize}}</span></div></div><div class=options><div class=option-item v-if=enableDash>格式<v-dropdown style="text-transform: uppercase;"@change=dashChange() :items=dashModel.items :value.sync=dashModel.value></v-dropdown></div><div class=option-item>清晰度<v-dropdown v-if="selectedTab.name !== 'manual'"@change=formatChange(true) :items=qualityModel.items :value.sync=qualityModel.value></v-dropdown><v-dropdown v-else :items=manualQualityModel.items :value.sync=manualQualityModel.value></v-dropdown></div><div class=option-item>弹幕<v-dropdown @change=danmakuOptionChange() :items=danmakuModel.items :value.sync=danmakuModel.value></v-dropdown></div><div class=option-item v-if=subtitle>字幕<v-dropdown @change=subtitleOptionChange() :items=subtitleModel.items :value.sync=subtitleModel.value></v-dropdown></div><div class=option-item v-if="enableDash && dashModel.value === 'dash'">首选编码<v-dropdown @change=codecChange() :items=codecModel.items :value.sync=codecModel.value></v-dropdown></div></div><div class=separator></div><div v-show=downloadSingle class=direct-download><div class=direct-download-header><h2>直接下载</h2><span class=download-speed>{{speed}}</span></div><div v-if=sizeWarning class=size-warning><i class="mdi mdi-alert-circle"></i><div class=size-warning-tip>警告: 过大的视频大小会在直接下载时占用大量内存, 并可能导致浏览器标签页崩溃. 请考虑降低清晰度或使用导出选项.</div></div><button v-if="!sizeWarning && !downloading"class="primary start-download"@click=startDownload()>开始</button><button v-if=downloading class="primary cancel-download"@click=cancelDownload()>取消</button><div class=progress><div class=background><div class=foreground :style="{width: progressPercent + '%'}"></div></div><span class=percent>{{progressPercent}}%</span></div></div><div v-show="selectedTab.name === 'batch'"class=batch-download><div class=episode-header><h2>选集</h2><button class=list-tool title=全选 @click=selectAllEpisodes()><i class="mdi mdi-checkbox-multiple-marked-circle"></i></button><button class=list-tool title=全不选 @click=unselectAllEpisodes()><i class="mdi mdi-checkbox-multiple-blank-circle-outline"></i></button><button class=list-tool title=反选 @click=inverseAllEpisodes()><i class="mdi mdi-circle-slice-4"></i></button><span class=selected-count>{{selectedEpisodeCount}}/{{episodeList.length}}</span></div><div class=episode-list><v-checkbox v-for="ep of episodeList":key=ep.index @click="shiftToggleEpisodes($event, ep.index)":title=ep.title :checked.sync=ep.checked></v-checkbox></div></div><div v-show="selectedTab.name === 'manual'"class=manual-input><div class=manual-input-header><h2>链接列表</h2><div class=items-count>共{{manualInputItems.length}}个视频</div></div><div class=manual-input-content><textarea placeholder="请输入视频链接或av号 (没错, 不能是bv号), 空格/换行分隔"v-model=manualInputText></textarea></div></div><div class=separator></div><div class=exports><h2>导出</h2><div class=actions :class="{ busy }"><button v-for="ex of extensionButtons":key=ex.name @click=runExtension(ex)>{{ ex.displayName }}</button><button class=show-link v-if=downloadSingle @click="exportData('showLink')">显示链接</button><button class=idm @click="exportData('idm')">IDM</button><button class=aria2-file @click="exportData('aria2')">aria2</button><button class=ffmpeg-fragments v-if="!dash && selectedTab.name !== 'manual'"@click="exportData('ffmpegFragments')">ffmpeg - 分段列表</button><button class=ffmpeg-episodes v-if="!dash && selectedTab.name !== 'manual'":disabled="downloadSingle ? 'disabled' : null"@click="exportData('ffmpegEpisodes')">ffmpeg - 分P列表</button><div class="button aria2-rpc"@click.self=toggleRpcSettings()>{{showRpcSettings ? '取消' : 'aria2 RPC'}}<i :class="{'mdi-close': showRpcSettings, 'mdi-chevron-right': !showRpcSettings}"class=mdi @click.self=toggleRpcSettings()></i><div class=rpc-settings :class="{show: showRpcSettings}"><h1>aria2 RPC</h1><rpc-profiles @profile-change=updateProfile></rpc-profiles><h2>配置</h2><div class=rpc-settings-item>主机<input type=text v-model=rpcSettings.host placeholder=127.0.0.1></div><div class=rpc-settings-item>端口<input type=text v-model=rpcSettings.port placeholder=6800></div><div class=rpc-settings-item>密钥<input type=text v-model=rpcSettings.secretKey></div><div class=rpc-settings-item>路径<input type=text v-model=rpcSettings.dir></div><div class=rpc-settings-item>方法<v-dropdown style="text-transform: uppercase;":items="['get', 'post']":value.sync=rpcSettings.method></v-dropdown></div><div class="rpc-settings-item align-top">其他配置<textarea placeholder="some-key=value"v-model=rpcSettings.other>
|
|
</textarea></div><div class=operations><div class="primary button"@click="saveRpcSettings();toggleRpcSettings();exportData('aria2RPC')">开始下载</div><div class=button @click=saveRpcSettings()>{{saveRpcSettingsText}}</div></div></div></div></div></div></div> |