'use server' import {ApiResponse, ExtraResp} from '@/lib/api' import {callByUser} from './base' import {listAnnouncements} from './announcement' type listAccountReq = { resource_no?: string create_after?: Date create_before?: Date } type listAccountResp = { date: string count: number }[] export async function listAccount(props: listAccountReq) { return await callByUser('/api/resource/statistics/usage', props) } export async function statisticsResourceFree() { return await callByUser<{ long: { ResourceCount: number ResourceDailyFreeSum: number ResourceQuotaSum: number } short: { ResourceCount: number ResourceDailyFreeSum: number ResourceQuotaSum: number } }>('/api/resource/statistics/free') } type listInitializationResp = { anno: ExtraResp free: ExtraResp usage: ExtraResp } export async function listInitialization(): Promise> { const free = await statisticsResourceFree() if (!free.success) { return { success: false, status: 500, message: '套餐剩余数据获取失败', } } const anno = await listAnnouncements({ page: 1, size: 5, }) if (!anno.success) { return { success: false, status: 500, message: '公告数据获取失败', } } const usage = await listAccount({ create_after: new Date(), create_before: new Date(), }) if (!usage.success) { return { success: false, status: 500, message: '套餐用量数据获取失败', } } const data = { anno: anno.data, free: free.data, usage: usage.data, } return { success: true, data: data, } }