feat(accounts): 添加CPA上传功能及批量操作支持

This commit is contained in:
cnlimiter
2026-03-15 00:43:19 +08:00
parent 59b8ced3ba
commit 41dd27eca0
7 changed files with 360 additions and 17 deletions
+20 -3
View File
@@ -32,6 +32,18 @@
.token-status .dot.healthy { background: var(--success-color); }
.token-status .dot.warning { background: var(--warning-color); }
.token-status .dot.expired { background: var(--danger-color); }
.cpa-status {
display: flex;
align-items: center;
justify-content: center;
}
.cpa-status .badge {
font-size: 0.7rem;
padding: 2px 6px;
border-radius: 10px;
}
.cpa-status .badge.uploaded { background: var(--success-color); color: white; }
.cpa-status .badge.pending { background: var(--border-color); color: var(--text-secondary); }
</style>
</head>
<body>
@@ -80,7 +92,7 @@
</div>
<!-- 工具栏 -->
<div class="card">
<div class="card toolbar-card">
<div class="card-body toolbar">
<div class="toolbar-left">
<select id="filter-status" class="form-select">
@@ -111,6 +123,9 @@
<button class="btn btn-info" id="batch-validate-btn" disabled title="批量验证Token">
✅ 验证Token
</button>
<button class="btn btn-success" id="batch-upload-cpa-btn" disabled title="批量上传到CPA">
☁️ 上传CPA
</button>
<button class="btn btn-danger" id="batch-delete-btn" disabled>
🗑️ 批量删除
</button>
@@ -121,6 +136,7 @@
<div class="dropdown-menu" id="export-menu">
<a href="#" class="dropdown-item" data-format="json">导出 JSON</a>
<a href="#" class="dropdown-item" data-format="csv">导出 CSV</a>
<a href="#" class="dropdown-item" data-format="cpa">导出 CPA 格式</a>
</div>
</div>
</div>
@@ -140,13 +156,14 @@
<th style="width: 100px;">密码</th>
<th style="width: 120px;">邮箱服务</th>
<th style="width: 80px;">状态</th>
<th style="width: 80px;">CPA</th>
<th style="width: 140px;">最后刷新</th>
<th style="width: 140px;">操作</th>
<th style="width: 150px;">操作</th>
</tr>
</thead>
<tbody id="accounts-table">
<tr>
<td colspan="8">
<td colspan="9">
<div class="empty-state">
<div class="skeleton skeleton-text" style="width: 60%;"></div>
<div class="skeleton skeleton-text" style="width: 80%;"></div>