优化任务列表性能和本地登录代理
This commit is contained in:
@@ -5,8 +5,6 @@ import {
|
||||
cookieApi,
|
||||
huyaApi,
|
||||
loginApi,
|
||||
type HuyaTaskItem,
|
||||
type LoginTaskItem,
|
||||
} from '../api/modules';
|
||||
import { usePermissions } from '../hooks/usePermissions';
|
||||
|
||||
@@ -47,10 +45,6 @@ const EMPTY_STATS: DashboardStats = {
|
||||
},
|
||||
};
|
||||
|
||||
function countFailed<T extends { status: string }>(items: T[]) {
|
||||
return items.filter((item) => ['failed', 'error'].includes(item.status)).length;
|
||||
}
|
||||
|
||||
function StatCard({
|
||||
title,
|
||||
value,
|
||||
@@ -98,10 +92,10 @@ export default function DashboardPage() {
|
||||
huyaRechargeGoodsResult,
|
||||
] = await Promise.allSettled([
|
||||
canViewDouyuAccounts ? accountApi.summary() : Promise.resolve(null),
|
||||
canViewDouyuTasks ? loginApi.listTasks() : Promise.resolve([]),
|
||||
canViewDouyuTasks ? loginApi.tasksSummary() : Promise.resolve(null),
|
||||
canViewCookies ? cookieApi.summary() : Promise.resolve(null),
|
||||
canViewHuyaAccounts ? huyaApi.accountsSummary() : Promise.resolve(null),
|
||||
canViewHuyaTasks ? huyaApi.listTasks() : Promise.resolve([]),
|
||||
canViewHuyaTasks ? huyaApi.tasksSummary() : Promise.resolve(null),
|
||||
canViewHuyaTasks ? huyaApi.listGoods() : Promise.resolve([]),
|
||||
canViewHuyaTasks ? huyaApi.listRechargeGoods() : Promise.resolve([]),
|
||||
]);
|
||||
@@ -109,26 +103,26 @@ export default function DashboardPage() {
|
||||
if (ignore) return;
|
||||
|
||||
const douyuAccounts = douyuAccountsResult.status === 'fulfilled' ? douyuAccountsResult.value : null;
|
||||
const douyuTasks = douyuTasksResult.status === 'fulfilled' ? douyuTasksResult.value : [];
|
||||
const douyuTasks = douyuTasksResult.status === 'fulfilled' ? douyuTasksResult.value : null;
|
||||
const cookies = cookiesResult.status === 'fulfilled' ? cookiesResult.value : null;
|
||||
const huyaAccounts = huyaAccountsResult.status === 'fulfilled' ? huyaAccountsResult.value : null;
|
||||
const huyaTasks = huyaTasksResult.status === 'fulfilled' ? huyaTasksResult.value : [];
|
||||
const huyaTasks = huyaTasksResult.status === 'fulfilled' ? huyaTasksResult.value : null;
|
||||
const huyaGoods = huyaGoodsResult.status === 'fulfilled' ? huyaGoodsResult.value : [];
|
||||
const huyaRechargeGoods = huyaRechargeGoodsResult.status === 'fulfilled' ? huyaRechargeGoodsResult.value : [];
|
||||
|
||||
setStats({
|
||||
douyu: {
|
||||
accounts: douyuAccounts?.total || 0,
|
||||
tasks: douyuTasks.length,
|
||||
success: douyuTasks.filter((task: LoginTaskItem) => task.status === 'success').length,
|
||||
failed: countFailed(douyuTasks),
|
||||
tasks: douyuTasks?.total || 0,
|
||||
success: douyuTasks?.success || 0,
|
||||
failed: douyuTasks?.failed || 0,
|
||||
cookies: cookies?.total || 0,
|
||||
},
|
||||
huya: {
|
||||
accounts: huyaAccounts?.total || 0,
|
||||
tasks: huyaTasks.length,
|
||||
success: huyaTasks.filter((task: HuyaTaskItem) => task.status === 'success').length,
|
||||
failed: countFailed(huyaTasks),
|
||||
tasks: huyaTasks?.total || 0,
|
||||
success: huyaTasks?.success || 0,
|
||||
failed: huyaTasks?.failed || 0,
|
||||
goods: huyaGoods.length,
|
||||
rechargeGoods: huyaRechargeGoods.length,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user