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

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>

View File

@@ -35,6 +35,7 @@
<!-- 设置标签页 -->
<div class="tabs">
<button class="tab-btn active" data-tab="proxy">🌐 代理设置</button>
<button class="tab-btn" data-tab="cpa">☁️ CPA上传</button>
<button class="tab-btn" data-tab="registration">⚙️ 注册配置</button>
<button class="tab-btn" data-tab="database">💾 数据库</button>
</div>
@@ -186,6 +187,44 @@
</div>
</div>
<!-- CPA 上传设置 -->
<div class="tab-content" id="cpa-tab">
<div class="card">
<div class="card-header">
<h3>CPA 上传配置</h3>
<span class="hint">配置 Codex Protocol API 上传功能</span>
</div>
<div class="card-body">
<form id="cpa-form">
<div class="form-group">
<label>
<input type="checkbox" id="cpa-enabled" name="enabled">
启用 CPA 上传
</label>
<p class="hint">启用后可在账号管理页面上传账号到 CPA 管理平台</p>
</div>
<div class="form-group">
<label for="cpa-api-url">API URL</label>
<input type="text" id="cpa-api-url" name="api_url" placeholder="例如: https://cpa.example.com">
<p class="hint">CPA 管理平台的 API 地址</p>
</div>
<div class="form-group">
<label for="cpa-api-token">API Token</label>
<input type="password" id="cpa-api-token" name="api_token" placeholder="留空则保持原值" autocomplete="new-password">
<p class="hint">CPA 管理平台的认证 Token</p>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">💾 保存设置</button>
<button type="button" class="btn btn-secondary" id="test-cpa-btn">🔌 测试连接</button>
</div>
</form>
</div>
</div>
</div>
<!-- 注册配置 -->
<div class="tab-content" id="registration-tab">
<div class="card">