From 5851976c5d8a712b9677305797b3efd43b5ff7e5 Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Mon, 15 Dec 2025 14:25:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E8=AE=BF=E9=97=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8E=A5=E5=8F=A3=E8=B7=AF=E5=BE=84=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/log.ts | 43 +-------------------------- src/api/system/statistics.ts | 56 +++++++++++++++++++++++++++++++++++ src/views/dashboard/index.vue | 6 ++-- 3 files changed, 60 insertions(+), 45 deletions(-) create mode 100644 src/api/system/statistics.ts diff --git a/src/api/system/log.ts b/src/api/system/log.ts index 3e98698e..9e08cc62 100644 --- a/src/api/system/log.ts +++ b/src/api/system/log.ts @@ -11,18 +11,6 @@ const LogAPI = { params: queryParams, }); }, - /** 获取访问趋势 */ - getVisitTrend(queryParams: VisitTrendQuery) { - return request({ - url: `${LOG_BASE_URL}/visit-trend`, - method: "get", - params: queryParams, - }); - }, - /** 获取访问统计 */ - getVisitStats() { - return request({ url: `${LOG_BASE_URL}/visit-stats`, method: "get" }); - }, }; export default LogAPI; @@ -33,6 +21,7 @@ export interface LogPageQuery extends PageQuery { /** 操作时间 */ createTime?: [string, string]; } + export interface LogPageVO { /** 主键 */ id: string; @@ -57,33 +46,3 @@ export interface LogPageVO { /** 操作人 */ operator: string; } -export interface VisitTrendVO { - /** 日期列表 */ - dates: string[]; - /** 浏览量(PV) */ - pvList: number[]; - /** 访客数(UV) */ - uvList: number[]; - /** IP数 */ - ipList: number[]; -} -export interface VisitTrendQuery { - /** 开始日期 */ - startDate: string; - /** 结束日期 */ - endDate: string; -} -export interface VisitStatsVO { - /** 今日访客数(UV) */ - todayUvCount: number; - /** 总访客数 */ - totalUvCount: number; - /** 访客数同比增长率(相对于昨天同一时间段的增长率) */ - uvGrowthRate: number; - /** 今日浏览量(PV) */ - todayPvCount: number; - /** 总浏览量 */ - totalPvCount: number; - /** 同比增长率(相对于昨天同一时间段的增长率) */ - pvGrowthRate: number; -} diff --git a/src/api/system/statistics.ts b/src/api/system/statistics.ts new file mode 100644 index 00000000..fdd8b6b9 --- /dev/null +++ b/src/api/system/statistics.ts @@ -0,0 +1,56 @@ +import request from "@/utils/request"; + +const STATISTICS_BASE_URL = "/api/v1/statistics"; + +const StatisticsAPI = { + /** 获取访问趋势统计 */ + getVisitTrend(queryParams: VisitTrendQuery) { + return request({ + url: `${STATISTICS_BASE_URL}/visits/trend`, + method: "get", + params: queryParams, + }); + }, + /** 获取访问概览统计 */ + getVisitOverview() { + return request({ + url: `${STATISTICS_BASE_URL}/visits/overview`, + method: "get", + }); + }, +}; + +export default StatisticsAPI; + +export interface VisitTrendQuery { + /** 开始日期 */ + startDate: string; + /** 结束日期 */ + endDate: string; +} + +export interface VisitTrendVO { + /** 日期列表 */ + dates: string[]; + /** 浏览量(PV) */ + pvList: number[]; + /** 访客数(UV) */ + uvList: number[]; + /** IP数 */ + ipList: number[]; +} + +export interface VisitStatsVO { + /** 今日访客数(UV) */ + todayUvCount: number; + /** 总访客数 */ + totalUvCount: number; + /** 访客数同比增长率(相对于昨天同一时间段的增长率) */ + uvGrowthRate: number; + /** 今日浏览量(PV) */ + todayPvCount: number; + /** 总浏览量 */ + totalPvCount: number; + /** 同比增长率(相对于昨天同一时间段的增长率) */ + pvGrowthRate: number; +} diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 1341eb76..475aecad 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -357,7 +357,7 @@ defineOptions({ }); import { dayjs } from "element-plus"; -import LogAPI, { VisitStatsVO, VisitTrendVO } from "@/api/system/log"; +import StatisticsAPI, { VisitStatsVO, VisitTrendVO } from "@/api/system/statistics"; import { useUserStore } from "@/store/modules/user-store"; import { formatGrowthRate } from "@/utils"; import { useTransition, useDateFormat } from "@vueuse/core"; @@ -496,7 +496,7 @@ const visitTrendChartOptions = ref(); * 获取访客统计数据 */ const fetchVisitStatsData = () => { - LogAPI.getVisitStats() + StatisticsAPI.getVisitOverview() .then((data) => { visitStatsData.value = data; }) @@ -514,7 +514,7 @@ const fetchVisitTrendData = () => { .toDate(); const endDate = new Date(); - LogAPI.getVisitTrend({ + StatisticsAPI.getVisitTrend({ startDate: dayjs(startDate).format("YYYY-MM-DD"), endDate: dayjs(endDate).format("YYYY-MM-DD"), }).then((data) => {