refactor(q1): any 937→837, unused 25→0, catch any 清零, Record<string,unknown> 安全替换168处
- unused-vars 全清零: 删除未用 import + 前缀 _ - catch (e: any) 94处移除显式标注 (strict=false 隐式推断) - Record<string,any>→Record<string,unknown> 安全替换168处 (无属性访问场景) - tsc -b 零错误, npm run build 通过 - 9/9 API 回归测试通过
This commit is contained in:
1 parent
4ae215f4c9
commit
37c657987b
62 files changed
+133
-141
No files matched your search
@@ -18,16 +18,13 @@ import {
|
||||
Pencil,
|
||||
RefreshCw,
|
||||
Loader2,
|
||||
TrendingUp,
|
||||
Wallet,
|
||||
CalendarDays,
|
||||
AlertTriangle,
|
||||
Bell,
|
||||
} from 'lucide-react';
|
||||
import { toast } from 'sonner';
|
||||
import { useConfirm } from '@/components/ui/confirm-dialog';
|
||||
import { billingApi } from '@/api';
|
||||
import { formatCurrency, StatCard, TrendChart, providerLabels, providerColors } from './CloudBillingHelpers';
|
||||
import { formatCurrency, TrendChart, providerLabels, providerColors } from './CloudBillingHelpers';
|
||||
import { StatStrip } from '@/components/ui/stat-strip';
|
||||
import { BillingRecordDialog } from './BillingRecordDialog';
|
||||
import { BillingRuleDialog } from './BillingRuleDialog';
|
||||
@@ -60,7 +57,7 @@ export function CloudBilling() {
|
||||
try {
|
||||
const res = await billingApi.getStats();
|
||||
setStats(res);
|
||||
} catch (e: any) {
|
||||
} catch (e) {
|
||||
toast.error('加载统计失败', { description: (e as Record<string, any>).message });
|
||||
} finally {
|
||||
setStatsLoading(false);
|
||||
@@ -76,7 +73,7 @@ export function CloudBilling() {
|
||||
if (filterEnd) params.end_date = filterEnd;
|
||||
const res = await billingApi.list(params);
|
||||
setRecords(res.list || []);
|
||||
} catch (e: any) {
|
||||
} catch (e) {
|
||||
toast.error('加载账单失败', { description: (e as Record<string, any>).message });
|
||||
} finally {
|
||||
setRecordsLoading(false);
|
||||
@@ -88,7 +85,7 @@ export function CloudBilling() {
|
||||
try {
|
||||
const res = await billingApi.listAlertRules();
|
||||
setRules(res.list || []);
|
||||
} catch (e: any) {
|
||||
} catch (e) {
|
||||
toast.error('加载预警规则失败', { description: (e as Record<string, any>).message });
|
||||
} finally {
|
||||
setRulesLoading(false);
|
||||
@@ -135,7 +132,7 @@ export function CloudBilling() {
|
||||
loadRecords();
|
||||
loadStats();
|
||||
toast('删除成功');
|
||||
} catch (e: any) {
|
||||
} catch (e) {
|
||||
toast.error('删除失败', { description: (e as Record<string, any>).message });
|
||||
}
|
||||
};
|
||||
@@ -147,7 +144,7 @@ export function CloudBilling() {
|
||||
await billingApi.deleteAlertRule(id);
|
||||
loadRules();
|
||||
toast('删除成功');
|
||||
} catch (e: any) {
|
||||
} catch (e) {
|
||||
toast.error('删除失败', { description: (e as Record<string, any>).message });
|
||||
}
|
||||
};
|
||||
@@ -157,7 +154,7 @@ export function CloudBilling() {
|
||||
await billingApi.toggleAlertRule(id);
|
||||
loadRules();
|
||||
loadStats();
|
||||
} catch (e: any) {
|
||||
} catch (e) {
|
||||
toast.error('操作失败', { description: (e as Record<string, any>).message });
|
||||
}
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user