From ed2328500e8c3f74980062cff67fd79e5fdf5adb Mon Sep 17 00:00:00 2001
From: duorameng <2997944583@qq.com>
Date: Fri, 5 Jun 2026 14:37:06 +0800
Subject: [PATCH] feat: add copy export baihu command button in repo dialog
---
web/src/views/tasks/RepoDialog.vue | 41 +++++++++++++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/web/src/views/tasks/RepoDialog.vue b/web/src/views/tasks/RepoDialog.vue
index a40477f..687246e 100644
--- a/web/src/views/tasks/RepoDialog.vue
+++ b/web/src/views/tasks/RepoDialog.vue
@@ -197,6 +197,39 @@ const qlCommandInput = ref('')
const showBaihuImportDialog = ref(false)
const baihuCommandInput = ref('')
+function exportBaihuCommand() {
+ const parts = ['baihu', 'reposync']
+ if (repoConfig.value.source_type) parts.push(`--source-type ${repoConfig.value.source_type}`)
+ if (repoConfig.value.source_url) parts.push(`--source-url "${repoConfig.value.source_url}"`)
+ if (repoConfig.value.target_path) parts.push(`--target-path "${repoConfig.value.target_path}"`)
+ if (repoConfig.value.branch) parts.push(`--branch "${repoConfig.value.branch}"`)
+ if (repoConfig.value.sparse_path) parts.push(`--path "${repoConfig.value.sparse_path}"`)
+ if (repoConfig.value.single_file) parts.push(`--single-file`)
+ if (repoConfig.value.proxy && repoConfig.value.proxy !== 'none') parts.push(`--proxy ${repoConfig.value.proxy}`)
+ if (repoConfig.value.proxy_url) parts.push(`--proxy-url "${repoConfig.value.proxy_url}"`)
+ if (repoConfig.value.auth_token) parts.push(`--auth-token "${repoConfig.value.auth_token}"`)
+ if (repoConfig.value.whitelist_paths) parts.push(`--whitelist-paths "${repoConfig.value.whitelist_paths}"`)
+ if (repoConfig.value.blacklist) parts.push(`--blacklist "${repoConfig.value.blacklist}"`)
+ if (repoConfig.value.dependence) parts.push(`--dependence "${repoConfig.value.dependence}"`)
+ if (repoConfig.value.extensions) parts.push(`--extensions "${repoConfig.value.extensions}"`)
+ if (repoConfig.value.auto_add_cron) parts.push(`--commenttotask true`)
+
+ if (form.value.pre_command) parts.push(`--pre-command "${form.value.pre_command}"`)
+ if (form.value.post_command) parts.push(`--post-command "${form.value.post_command}"`)
+ if (form.value.timeout !== undefined && form.value.timeout !== 30) parts.push(`--task-timeout ${form.value.timeout}`)
+
+ if (selectedLangs.value.length > 0) {
+ const langs = selectedLangs.value.filter(l => l.name).map(l => ({ name: l.name, version: l.version }))
+ if (langs.length > 0) {
+ parts.push(`--task-langs '${JSON.stringify(langs)}'`)
+ }
+ }
+
+ const cmd = parts.join(' ')
+ navigator.clipboard.writeText(cmd)
+ toast.success('baihu 指令已复制到剪贴板')
+}
+
function importFromBaihu() {
baihuCommandInput.value = ''
showBaihuImportDialog.value = true
@@ -449,7 +482,12 @@ async function save() {