MCPcopy Index your code
hub / github.com/su-kaka/gcli2api / batchConfigurePreview

Function batchConfigurePreview

front/common.js:2267–2347  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2265}
2266
2267async function batchConfigurePreview() {
2268 const selectedFiles = Array.from(AppState.creds.selectedFiles);
2269 if (selectedFiles.length === 0) {
2270 showStatus('❌ 请先选择要配置Preview的凭证', 'error');
2271 showMessageModal('提示', '请先选择要配置Preview的凭证', 'error');
2272 return;
2273 }
2274
2275 if (!confirm(`确定要为 ${selectedFiles.length} 个凭证批量设置Preview通道吗?\n\n将并行配置以加快速度。`)) {
2276 return;
2277 }
2278
2279 showStatus(`🔧 正在为 ${selectedFiles.length} 个凭证配置Preview通道,请稍候...`, 'info');
2280
2281 // 并行执行所有配置请求
2282 const promises = selectedFiles.map(async (filename) => {
2283 try {
2284 const response = await fetch(`./creds/configure-preview/${encodeURIComponent(filename)}`, {
2285 method: 'POST',
2286 headers: getAuthHeaders()
2287 });
2288 const data = await response.json();
2289
2290 if (response.ok && data.success) {
2291 return {
2292 success: true,
2293 filename,
2294 message: data.message,
2295 setting_id: data.setting_id,
2296 binding_id: data.binding_id
2297 };
2298 } else {
2299 return {
2300 success: false,
2301 filename,
2302 error: data.message || '配置失败',
2303 step: data.step,
2304 errorDetail: data.error
2305 };
2306 }
2307 } catch (error) {
2308 return { success: false, filename, error: error.message };
2309 }
2310 });
2311
2312 // 等待所有请求完成
2313 const results = await Promise.all(promises);
2314
2315 // 统计结果
2316 let successCount = 0;
2317 let failCount = 0;
2318 const resultMessages = [];
2319
2320 results.forEach(result => {
2321 if (result.success) {
2322 successCount++;
2323 resultMessages.push(`✅ ${result.filename}: ${result.message || '配置成功'}`);
2324 } else {

Callers

nothing calls this directly

Calls 4

showStatusFunction · 0.85
showMessageModalFunction · 0.85
getAuthHeadersFunction · 0.85
refreshMethod · 0.80

Tested by

no test coverage detected