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() { {{ isEdit ? '编辑仓库同步' : '新建仓库同步' }} -
+
+ +