feat(upms): support umami analytics

This commit is contained in:
PIGCLOUD committed 2026-08-01 13:31:35 +08:00
1 parent 83ee6144b3
commit 5931a5d6d7
14 files changed
+687 -180

No files matched your search

+22 -27
View File
@@ -341,6 +341,7 @@ INSERT INTO `sys_dict_item` VALUES (95, 29, '0', '黑名单', 'sensitive_type',
INSERT INTO `sys_dict_item` VALUES (96, 29, '1', '白名单', 'sensitive_type', '失败', NULL, 3, 'admin', ' ', '2023-10-27 10:30:47', NULL, NULL, '0', 1);
INSERT INTO `sys_dict_item` VALUES (97,2,'MINI','小程序登录','social_type','小程序登录',NULL,3,' ',' ','2022-02-18 13:56:25','2022-02-18 13:56:28',NULL,'0',1);
INSERT INTO `sys_dict_item` VALUES (98,2,'clarity','clarity','social_type','clarity',NULL,3,' ',' ','2022-02-18 13:56:25','2022-02-18 13:56:28',NULL,'0',1);
INSERT INTO `sys_dict_item` VALUES (99,2,'umami','umami','social_type','umami',NULL,4,' ',' ','2026-06-23 00:00:00','2026-06-23 00:00:00',NULL,'0',1);
COMMIT;
-- ----------------------------
@@ -923,6 +924,9 @@ INSERT INTO `sys_public_param` VALUES (26, '隐私提示', 'SITE_PRIVACY_TIP', '
INSERT INTO `sys_public_param` VALUES (27, '密码过期天数', 'PASSWORD_EXPIRE_DAYS', '90', '0', NULL, 'admin', 'admin', '2026-03-28 00:00:00', NULL, '2', '0', '0', 1);
INSERT INTO `sys_public_param` VALUES (28, '登录失败锁定次数', 'LOGIN_ERROR_TIMES', '5', '0', NULL, 'admin', 'admin', '2026-03-28 00:00:00', NULL, '2', '0', '0', 1);
INSERT INTO `sys_public_param` VALUES (29, '密码规则预设', 'SITE_PASSWORD_RULE', 'letterNumber', '0', NULL, 'admin', 'admin', '2026-03-28 00:00:00', NULL, '2', '1', '0', 1);
INSERT INTO `sys_public_param` VALUES (30, '站点统计来源', 'SITE_ANALYTICS_PROVIDER', 'clarity', '0', NULL, 'admin', 'admin', '2026-06-23 00:00:00', NULL, '2', '1', '0', 1);
INSERT INTO `sys_public_param` VALUES (31, 'Umami 实例地址', 'SITE_UMAMI_HOST_URL', '', '0', NULL, 'admin', 'admin', '2026-06-23 00:00:00', NULL, '2', '1', '0', 1);
INSERT INTO `sys_public_param` VALUES (32, 'Umami Website ID', 'SITE_UMAMI_WEBSITE_ID', '', '0', NULL, 'admin', 'admin', '2026-06-23 00:00:00', NULL, '2', '1', '0', 1);
COMMIT;
-- ----------------------------
@@ -1334,37 +1338,28 @@ BEGIN;
COMMIT;
-- ----------------------------
-- Table structure for sys_clarity_data
-- Table structure for sys_analytics_data
-- ----------------------------
DROP TABLE IF EXISTS `sys_clarity_data`;
CREATE TABLE `sys_clarity_data` (
`id` bigint(20) NOT NULL COMMENT '主键(ASSIGN_ID,应用层雪花算法生成)',
`data_date` date NOT NULL COMMENT '数据日期',
`total_sessions` int(11) DEFAULT NULL COMMENT '总会话数(Traffic.totalSessionCount)',
`distinct_users` int(11) DEFAULT NULL COMMENT '独立访客数 UV(Traffic.distinctUserCount)',
`pages_per_session` decimal(10,2) DEFAULT NULL COMMENT '每会话页面数(Traffic.pagesPerSessionPercentage)',
`scroll_depth` decimal(10,2) DEFAULT NULL COMMENT '平均滚动深度 %(ScrollDepth.averageScrollDepth)',
`dead_click_rate` decimal(10,2) DEFAULT NULL COMMENT '死点击率 %(DeadClickCount.sessionsWithMetricPercentage)',
`rage_click_rate` decimal(10,2) DEFAULT NULL COMMENT '激怒点击率 %(RageClickCount.sessionsWithMetricPercentage)',
`device_data` text DEFAULT NULL COMMENT '设备分布 JSON 文本:[{"name":"PC","value":569}]',
`top_urls` text DEFAULT NULL COMMENT '热门页面 Top10 JSON 文本:[{"name":"https://...","value":297}]',
`num_of_days` tinyint(4) NOT NULL DEFAULT 1 COMMENT '数据天数',
`fetch_status` varchar(10) NOT NULL DEFAULT 'pending' COMMENT '拉取状态:pending=占位中, success=成功, failed=失败',
`referrer_url_data` text DEFAULT NULL COMMENT '来源页面 JSON 文本:[{"name":"https://...","value":69}]',
`page_title_data` text DEFAULT NULL COMMENT '页面标题 JSON 文本:[{"name":"标题","value":24}]',
`browser_data` text DEFAULT NULL COMMENT '浏览器分布 JSON 文本:[{"name":"Chrome","value":108}]',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标记:0正常,1已删除',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
DROP TABLE IF EXISTS `sys_analytics_data`;
CREATE TABLE `sys_analytics_data` (
`id` bigint(20) NOT NULL COMMENT '主键(ASSIGN_ID,应用层雪花算法生成)',
`provider` varchar(20) NOT NULL COMMENT '统计来源:clarity 或 umami',
`data_date` date NOT NULL COMMENT '数据日期',
`num_of_days` tinyint(4) NOT NULL DEFAULT 1 COMMENT '数据天数',
`fetch_status` varchar(10) NOT NULL DEFAULT 'pending' COMMENT '拉取状态:pending=占位中, success=成功, failed=失败',
`data_json` longtext DEFAULT NULL COMMENT '统计展示快照 JSON',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
`del_flag` char(1) DEFAULT '0' COMMENT '删除标记:0正常,1已删除',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_date_days_tenant` (`data_date`, `num_of_days`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Clarity 监控数据缓存表';
UNIQUE KEY `uk_provider_date_days_tenant` (`provider`, `data_date`, `num_of_days`, `tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='站点统计缓存表';
-- ----------------------------
-- Records of sys_clarity_data
-- Records of sys_analytics_data
-- ----------------------------
BEGIN;
COMMIT;