From d8526984998c940c3aa5c02143fa1546041dd5cc Mon Sep 17 00:00:00 2001 From: haoxianrui Date: Sat, 6 Jul 2024 05:07:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20:recycle:=20=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=AF=B9=E6=8E=A5=E5=90=8E=E5=8F=B0=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/log.ts | 64 +++++ src/api/stats.ts | 35 --- .../icons/{visit.svg => online-user.svg} | 0 .../NavBar/components/NavbarRight.vue | 6 + src/views/dashboard/components/VisitTrend.vue | 2 +- src/views/dashboard/index.vue | 254 ++++++++---------- 6 files changed, 176 insertions(+), 185 deletions(-) delete mode 100644 src/api/stats.ts rename src/assets/icons/{visit.svg => online-user.svg} (100%) diff --git a/src/api/log.ts b/src/api/log.ts index 6730be02..9fb11b3c 100644 --- a/src/api/log.ts +++ b/src/api/log.ts @@ -15,6 +15,33 @@ class LogAPI { params: queryParams, }); } + + /** + * 获取访问趋势 + * + * @param queryParams + * @returns + */ + static getVisitTrend(queryParams: VisitTrendQuery) { + return request({ + url: `${LOG_BASE_URL}/visit-trend`, + method: "get", + params: queryParams, + }); + } + + /** + * 获取访问趋势 + * + * @param queryParams + * @returns + */ + static getVisitStats() { + return request({ + url: `${LOG_BASE_URL}/visit-stats`, + method: "get", + }); + } } export default LogAPI; @@ -54,3 +81,40 @@ 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 { + /** 标题 */ + title: string; + /** 类型 */ + type: "pv" | "uv" | "ip"; + + /** 今日访问量 */ + todayCount: number; + /** 总访问量 */ + totalCount: number; + /** 同比增长率(相对于昨天同一时间段的增长率) */ + growthRate: number; + + totalCountOutput: number; +} diff --git a/src/api/stats.ts b/src/api/stats.ts deleted file mode 100644 index cfaf39ac..00000000 --- a/src/api/stats.ts +++ /dev/null @@ -1,35 +0,0 @@ -import request from "@/utils/request"; - -const STATS_BASE_URL = "/api/v1/stats"; - -class StatsAPI { - static getVisitTrend(queryParams: VisitTrendQuery) { - return request({ - url: `${STATS_BASE_URL}/visit-trend`, - method: "get", - params: queryParams, - }); - } -} - -export default StatsAPI; - -/** 访问趋势视图对象 */ -export interface VisitTrendVO { - /** 日期列表 */ - dates: string[]; - /** 浏览量(PV) */ - pvList: number[]; - /** 访客数(UV) */ - uvList: number[]; - /** IP数 */ - ipList: number[]; -} - -/** 访问趋势查询参数 */ -export interface VisitTrendQuery { - /** 开始日期 */ - startDate: string; - /** 结束日期 */ - endDate: string; -} diff --git a/src/assets/icons/visit.svg b/src/assets/icons/online-user.svg similarity index 100% rename from src/assets/icons/visit.svg rename to src/assets/icons/online-user.svg diff --git a/src/layout/components/NavBar/components/NavbarRight.vue b/src/layout/components/NavBar/components/NavbarRight.vue index c97d46ba..97533177 100644 --- a/src/layout/components/NavBar/components/NavbarRight.vue +++ b/src/layout/components/NavBar/components/NavbarRight.vue @@ -19,6 +19,12 @@ + + + + + + diff --git a/src/views/dashboard/components/VisitTrend.vue b/src/views/dashboard/components/VisitTrend.vue index 46c45d97..415986df 100644 --- a/src/views/dashboard/components/VisitTrend.vue +++ b/src/views/dashboard/components/VisitTrend.vue @@ -30,7 +30,7 @@