From 2e4df24e057f1a44d6f6a9fbfec9d99cc15e44f0 Mon Sep 17 00:00:00 2001 From: Eamon-meng <17516219072@163.com> Date: Sat, 20 Dec 2025 10:09:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7=E6=80=BB?= =?UTF-8?q?=E8=A7=88=E5=9B=BE=E8=A1=A8=EF=BC=8C=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E7=9A=84console.log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/actions/dashboard.ts | 10 +- src/actions/whitelist.ts | 2 - src/app/admin/(dashboard)/_client/charts.tsx | 197 +++++++----------- src/app/admin/bills/page.tsx | 2 - src/app/admin/channels/page.tsx | 50 ++--- src/app/admin/record/page.tsx | 2 + src/app/admin/whitelist/page.tsx | 1 - src/components/composites/extract/index.tsx | 6 - .../composites/payment/payment-modal.tsx | 1 - .../composites/purchase/long/right.tsx | 1 - .../composites/purchase/short/right.tsx | 1 - src/components/ui/calendar.tsx | 2 + 12 files changed, 111 insertions(+), 164 deletions(-) diff --git a/src/actions/dashboard.ts b/src/actions/dashboard.ts index 2f5e765..973c7b3 100644 --- a/src/actions/dashboard.ts +++ b/src/actions/dashboard.ts @@ -5,9 +5,8 @@ import {callByUser} from './base' import {listAnnouncements} from './announcement' type statisticsResourceUsageReq = { - resource_no?: string - create_after?: Date - create_before?: Date + time_start?: Date + time_end?: Date } type statisticsResourceUsageResp = { @@ -59,10 +58,7 @@ export async function listInitialization(): Promise @@ -27,38 +23,38 @@ type ChartsProps = { export default function Charts({initialData}: ChartsProps) { // const [submittedData, setSubmittedData] = useState>() const [submittedData, setSubmittedData] = useState>(initialData || []) - const formSchema = zod.object({ - resource_no: zod.string().optional(), - create_after: zod.date().optional(), - create_before: zod.date().optional(), + const filterSchema = zod.object({ + time_start: zod.date().optional(), + time_end: zod.date().optional(), }) - type FormValues = zod.infer + type FilterSchema = zod.infer - const form = useForm({ - resolver: zodResolver(formSchema), + const filterForm = useForm({ + resolver: zodResolver(filterSchema), defaultValues: { + time_start: undefined, + time_end: undefined, }, }) - const handler = form.handleSubmit( - async (value) => { - const today = new Date() - const sevenDaysAgo = subDays(today, 7) - const res = { - resource_no: value.resource_no ?? '', - create_after: value.create_after ?? sevenDaysAgo, - create_before: value.create_before ?? today, - } + const handler = filterForm.handleSubmit(async () => { + const {time_start, time_end} = filterForm.getValues() - const resp = await statisticsResourceUsage(res) - if (!resp.success) { - toast.error('接口请求失败:' + resp.message) - return - } - if (!resp.data || resp.data.length === 0) { - toast.info('没有查询到相关数据') - setSubmittedData([]) - return - } + const params = { + time_start: time_start, + time_end: time_end ? addDays(time_end, 1) : undefined, + } + const resp = await statisticsResourceUsage(params) + if (!resp.success) { + toast.error('接口请求失败:' + resp.message) + return + } + + if (!resp.data || resp.data.length === 0) { + toast.info('没有查询到相关数据') + setSubmittedData([]) + return + } + if (resp.success && resp.data) { const formattedData = resp.data.map(item => ({ ...item, date: item.date, @@ -66,61 +62,60 @@ export default function Charts({initialData}: ChartsProps) { })) formattedData.sort((a, b) => compareAsc(a.date, b.date)) setSubmittedData(formattedData) - }, - ) + } + else { + throw new Error('获取数据失败') + } + }) return ( - - - - - 短效动态 - - - 长效动态 - - - className={merge(`flex items-end gap-4 flex-wrap`)} handler={handler} form={form} > -
- -
- - {({field}) => ( - - )} - - - - - {({field}) => ( - - )} - -
+ + + + Mask group + 每日动态套餐 + + +
+
+
+ name="time_start"> + {({field}) => ( + + )} + + - + name="time_end"> + {({field}) => ( + + )} +
-
- -
- - - {submittedData && } - - - - - +
+ + + + {submittedData && }
) @@ -151,7 +146,7 @@ function DashboardChart(props: DashboardChartProps) { } }) return ( - + ) } - -function LongChart() { - return ( - - - - - - `日期: ${chartData.find(item => item.formattedTime === value)?.fullDate || value}`} - formatter={value => [`${value}`, '套餐使用量']} - /> - - - - - ) -} diff --git a/src/app/admin/bills/page.tsx b/src/app/admin/bills/page.tsx index 0f0dab9..ce45548 100644 --- a/src/app/admin/bills/page.tsx +++ b/src/app/admin/bills/page.tsx @@ -49,7 +49,6 @@ export default function BillsPage(props: BillsPageProps) { }) const onSubmit = async (value: FilterSchema) => { - console.log(value) await refresh(1, data.size) } @@ -65,7 +64,6 @@ export default function BillsPage(props: BillsPageProps) { const res = await listBills({ page, size, type, create_after, create_before, trade_id, }) - console.log(res, 'res') if (res.success) { setData(res.data) diff --git a/src/app/admin/channels/page.tsx b/src/app/admin/channels/page.tsx index 154a581..a76ba34 100644 --- a/src/app/admin/channels/page.tsx +++ b/src/app/admin/channels/page.tsx @@ -1,5 +1,5 @@ 'use client' -import {useEffect, useState} from 'react' +import {useCallback, useEffect, useState} from 'react' import {useStatus} from '@/lib/states' import {PageRecord} from '@/lib/api' import {Channel} from '@/lib/models' @@ -31,14 +31,32 @@ export default function ChannelsPage(props: ChannelsPageProps) { total: 0, list: [], }) - + // ====================== + // filter + // ====================== + const filterSchema = z.object({ + auth_type: z.enum(['0', '1', '2']), + expired_status: z.enum(['all', 'active']).default('all'), + expire_after: z.date().optional(), + expire_before: z.date().optional(), + }) + type FilterSchema = z.infer + const filterForm = useForm({ + resolver: zodResolver(filterSchema), + defaultValues: { + auth_type: '0', + expired_status: 'all', + expire_after: undefined, + expire_before: undefined, + }, + }) // 检查是否过期 const isExpired = (expiredAt: string | Date) => { const date = typeof expiredAt === 'string' ? new Date(expiredAt) : expiredAt return isBefore(date, new Date()) } - const refresh = async (page: number, size: number) => { + const refresh = useCallback(async (page: number, size: number) => { try { setStatus('load') @@ -54,7 +72,6 @@ export default function ChannelsPage(props: ChannelsPageProps) { const resp = await listChannels({ page, size, ...filter, auth_type, }) - console.log(resp, 'ip管理的respresprespresp') if (!resp.success) { throw new Error(resp.message) @@ -83,33 +100,12 @@ export default function ChannelsPage(props: ChannelsPageProps) { description: (e as Error).message, }) } - } + }, [setStatus, filterForm]) useEffect(() => { refresh(data.page, data.size).then() - }, []) + }, [data.page, data.size, refresh]) - // ====================== - // filter - // ====================== - - const filterSchema = z.object({ - auth_type: z.enum(['0', '1', '2']), - expired_status: z.enum(['all', 'active']).default('all'), - expire_after: z.date().optional(), - expire_before: z.date().optional(), - }) - type FilterSchema = z.infer - - const filterForm = useForm({ - resolver: zodResolver(filterSchema), - defaultValues: { - auth_type: '0', - expired_status: 'all', - expire_after: undefined, - expire_before: undefined, - }, - }) const filterHandler = filterForm.handleSubmit(async (value) => { await refresh(1, data.size) }) diff --git a/src/app/admin/record/page.tsx b/src/app/admin/record/page.tsx index d47eea2..7c57617 100644 --- a/src/app/admin/record/page.tsx +++ b/src/app/admin/record/page.tsx @@ -50,6 +50,8 @@ export default function RecordPage(props: RecordPageProps) { setStatus('load') // 获取筛选条件 const filter = filterForm.getValues() + console.log(filter, 'filter') + const result = await extractRecord({ page, size, diff --git a/src/app/admin/whitelist/page.tsx b/src/app/admin/whitelist/page.tsx index 99a1893..129f0c4 100644 --- a/src/app/admin/whitelist/page.tsx +++ b/src/app/admin/whitelist/page.tsx @@ -55,7 +55,6 @@ export default function WhitelistPage(props: WhitelistPageProps) { setWait(true) try { const resp = await listWhitelist({page, size}) - console.log(resp, '白名单resp') if (!resp.success) { throw new Error(resp.message) diff --git a/src/components/composites/extract/index.tsx b/src/components/composites/extract/index.tsx index 3131637..cfd77f8 100644 --- a/src/components/composites/extract/index.tsx +++ b/src/components/composites/extract/index.tsx @@ -337,10 +337,8 @@ function SelectResource() { setStatus('load') try { const resp = await allResource() - console.log(resp, '套餐管理resprespresp') if (!resp.success) { - console.log(11111) throw new Error('获取套餐失败,请稍后再试') } setResources(resp.data ?? []) @@ -543,16 +541,12 @@ function ApplyLink() { const handler = form.handleSubmit( // eslint-disable-next-line react-hooks/refs async (values: z.infer) => { - console.log(values, 'values') - const params = link(values) - console.log(params, 'paramsparams') switch (type.current) { case 'copy': const url = new URL(window.location.href).origin const text = `${url}${params}` - console.log(text, 'text') // 使用 clipboard API 复制链接 let copied = false diff --git a/src/components/composites/payment/payment-modal.tsx b/src/components/composites/payment/payment-modal.tsx index 1ded350..1e27f6d 100644 --- a/src/components/composites/payment/payment-modal.tsx +++ b/src/components/composites/payment/payment-modal.tsx @@ -39,7 +39,6 @@ export function PaymentModal(props: PaymentModalProps) { `${process.env.NEXT_PUBLIC_API_BASE_URL}/api/trade/check?trade_no=${props.inner_no}&method=${props.method}`, ) eventSource.onmessage = async (event) => { - console.log(event, 'eventeventevent') switch (event.data) { case '1': props.onConfirm?.(true) diff --git a/src/components/composites/purchase/long/right.tsx b/src/components/composites/purchase/long/right.tsx index c829d03..f2bbb0d 100644 --- a/src/components/composites/purchase/long/right.tsx +++ b/src/components/composites/purchase/long/right.tsx @@ -52,7 +52,6 @@ export default function Right() { } try { const priceValue = await getPrice(params) - console.log(priceValue, 'priceValue') if (priceValue.success && priceValue.data?.price) { const data: PriceData = priceValue.data diff --git a/src/components/composites/purchase/short/right.tsx b/src/components/composites/purchase/short/right.tsx index 9d6ee37..d35f695 100644 --- a/src/components/composites/purchase/short/right.tsx +++ b/src/components/composites/purchase/short/right.tsx @@ -51,7 +51,6 @@ export default function Right() { } try { const priceResponse = await getPrice(params) - console.log(priceResponse, 'priceResponse') if (priceResponse.success && priceResponse.data) { const data: PriceData = priceResponse.data diff --git a/src/components/ui/calendar.tsx b/src/components/ui/calendar.tsx index 416077c..77c1912 100644 --- a/src/components/ui/calendar.tsx +++ b/src/components/ui/calendar.tsx @@ -6,6 +6,7 @@ import {DayPicker} from 'react-day-picker' import {merge} from '@/lib/utils' import {buttonVariants} from '@/components/ui/button' +import {zhCN} from 'date-fns/locale' function Calendar({ className, @@ -15,6 +16,7 @@ function Calendar({ }: React.ComponentProps) { return (