feat(frontend): 优化弹窗组件架构和用户体验

- 使用 BaseDialog 替代旧版 Modal 组件
- 添加平滑过渡动画和更好的可访问性支持
- 新增 ExportProgressDialog 导出进度弹窗
- 优化所有账号管理和使用记录相关弹窗
- 更新国际化文案,改进用户交互体验
- 精简依赖,减少 package.json 体积
This commit is contained in:
IanShaw027
2025-12-29 16:13:09 +08:00
parent c01db6b180
commit 23412965f8
21 changed files with 1048 additions and 1546 deletions

View File

@@ -186,7 +186,7 @@ func (r *accountRepository) BatchUpdateLastUsed(ctx context.Context, updates map
ids = append(ids, id)
}
caseSql += " END WHERE id IN ?"
caseSql += " END WHERE id IN ? AND deleted_at IS NULL"
args = append(args, ids)
return r.db.WithContext(ctx).Exec(caseSql, args...).Error

View File

@@ -119,6 +119,7 @@ func (r *proxyRepository) CountAccountsByProxyID(ctx context.Context, proxyID in
var count int64
err := r.db.WithContext(ctx).Table("accounts").
Where("proxy_id = ?", proxyID).
Where("deleted_at IS NULL").
Count(&count).Error
return count, err
}
@@ -134,6 +135,7 @@ func (r *proxyRepository) GetAccountCountsForProxies(ctx context.Context) (map[i
Table("accounts").
Select("proxy_id, COUNT(*) as count").
Where("proxy_id IS NOT NULL").
Where("deleted_at IS NULL").
Group("proxy_id").
Scan(&results).Error
if err != nil {

View File

@@ -182,6 +182,7 @@ func (r *usageLogRepository) GetDashboardStats(ctx context.Context) (*DashboardS
COUNT(CASE WHEN rate_limited_at IS NOT NULL AND rate_limit_reset_at > ? THEN 1 END) as ratelimit_accounts,
COUNT(CASE WHEN overload_until IS NOT NULL AND overload_until > ? THEN 1 END) as overload_accounts
FROM accounts
WHERE deleted_at IS NULL
`, service.StatusActive, service.StatusError, now, now).Scan(&accountStats).Error; err != nil {
return nil, err
}