MCPcopy Create free account
hub / github.com/Tron521/codex-console-temp / runner

Function runner

static/js/payment.js:2602–2673  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2600 }
2601
2602 const runner = async () => {
2603 isLoadingBindTaskList = true;
2604 if (!silent) {
2605 setButtonLoading("refresh-bind-task-btn", "刷新中...", true);
2606 }
2607 try {
2608 const params = new URLSearchParams({
2609 page: String(bindTaskState.page),
2610 page_size: String(bindTaskState.pageSize),
2611 });
2612 if (bindTaskState.status) params.set("status", bindTaskState.status);
2613 if (bindTaskState.search) params.set("search", bindTaskState.search);
2614
2615 const data = await api.get(`/payment/bind-card/tasks?${params.toString()}`, {
2616 timeoutMs: 45000,
2617 retry: silent ? 0 : 1,
2618 requestKey: "payment:bind-task-list",
2619 cancelPrevious: true,
2620 silentNetworkError: silent,
2621 silentTimeoutError: silent,
2622 priority: silent ? "low" : "normal",
2623 });
2624 const tasks = data?.tasks || [];
2625
2626 if (!tasks.length) {
2627 tbody.innerHTML = `
2628 <tr>
2629 <td colspan="8"><div class="empty-state">暂无绑卡任务</div></td>
2630 </tr>
2631 `;
2632 return;
2633 }
2634
2635 tbody.innerHTML = tasks.map((task) => `
2636 <tr>
2637 <td>${task.id}</td>
2638 <td>${escapeHtml(task.account_email || "-")}</td>
2639 <td>${String(task.plan_type || "-").toUpperCase()}</td>
2640 <td><span class="bind-task-badge ${escapeHtml(task.status || "")}">${escapeHtml(getTaskStatusText(task.status))}</span></td>
2641 <td>
2642 <a class="bind-task-url" href="${escapeHtml(task.checkout_url || "#")}" target="_blank" rel="noopener noreferrer" title="${escapeHtml(task.checkout_url || "")}">
2643 ${escapeHtml(task.checkout_url || "-")}
2644 </a>
2645 </td>
2646 <td>${escapeHtml(task.checkout_source || "-")}</td>
2647 <td>${formatBeijingDateTime(task.created_at)}</td>
2648 <td>
2649 <div class="bind-task-actions">
2650 <button class="btn btn-primary bind-task-action-btn" onclick="openBindCardTask(${task.id})">打开</button>
2651 <button class="btn btn-primary bind-task-action-btn" onclick="markBindCardTaskUserAction(${task.id})">我已完成支付</button>
2652 <button class="btn btn-secondary bind-task-action-btn" onclick="syncBindCardTask(${task.id})">同步订阅</button>
2653 <button class="btn btn-danger bind-task-action-btn" onclick="deleteBindCardTask(${task.id})">删除</button>
2654 </div>
2655 ${task.last_error ? `<div class="hint" style="margin-top:6px;color:var(--danger-color);" title="${escapeHtml(task.last_error)}">${escapeHtml(task.last_error)}</div>` : ""}
2656 </td>
2657 </tr>
2658 `).join("");
2659 } catch (e) {

Callers 1

loadBindCardTasksFunction · 0.85

Calls 6

setButtonLoadingFunction · 0.85
getTaskStatusTextFunction · 0.85
formatBeijingDateTimeFunction · 0.85
formatErrorMessageFunction · 0.85
escapeHtmlFunction · 0.70
getMethod · 0.45

Tested by

no test coverage detected