refactor(device): 重构设备信息模块,按面板拆分数据存储和接口

将原 SnDeviceSystemInfo 单一实体拆分为基本信息、硬件、网络、安全、其他信息五个独立子表和服务,重构 DeviceController 和 MobileController 接口以支持分面板查询和上传
This commit is contained in:
TongTongStudio
2026-08-05 02:09:38 +08:00
parent 537644ab2e
commit 3608c205b9
39 changed files with 2447 additions and 164 deletions

43
sql/sn_security_info.sql Normal file
View File

@@ -0,0 +1,43 @@
-- =============================================================================
-- 设备安全信息表sys_sn_security_info
-- 说明:设备【安全信息】面板独立分表,与基本信息表分离存储。
-- =============================================================================
CREATE TABLE IF NOT EXISTS `sys_sn_security_info`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`serialno` VARCHAR(64) NOT NULL COMMENT '设备序列号(关联 sys_sn.serialno',
-- ===================== 安全信息面板 =====================
`is_root` TINYINT DEFAULT NULL COMMENT '是否已 Root0否 1是',
`is_jailbreak` TINYINT DEFAULT NULL COMMENT '是否已越狱0否 1是',
`root_status` TINYINT DEFAULT NULL COMMENT 'Root/越狱状态0否 1是',
`has_su_binary` TINYINT DEFAULT NULL COMMENT '是否存在 su 二进制0否 1是',
`has_busybox` TINYINT DEFAULT NULL COMMENT '是否存在 BusyBox0否 1是',
`is_emulator` TINYINT DEFAULT NULL COMMENT '是否模拟器0否 1是',
`is_debuggable` TINYINT DEFAULT NULL COMMENT '是否可调试0否 1是',
`is_usb_debug` TINYINT DEFAULT NULL COMMENT '是否开启 USB 调试0否 1是',
`is_unknown_sources` TINYINT DEFAULT NULL COMMENT '是否允许未知来源0否 1是',
`is_verify_apps` TINYINT DEFAULT NULL COMMENT '是否验证应用0否 1是',
`is_encrypted` TINYINT DEFAULT NULL COMMENT '是否加密0否 1是',
`lock_screen_type` VARCHAR(32) DEFAULT NULL COMMENT '锁屏类型',
`has_password` TINYINT DEFAULT NULL COMMENT '是否设置密码0否 1是',
`password_type` VARCHAR(32) DEFAULT NULL COMMENT '密码类型',
`security_patch` VARCHAR(32) DEFAULT NULL COMMENT '安全补丁级别',
`google_play_protect` TINYINT DEFAULT NULL COMMENT 'Google Play 保护0否 1是',
`adb_status` TINYINT DEFAULT NULL COMMENT 'ADB 状态0关 1开',
`is_vpn_active` TINYINT DEFAULT NULL COMMENT 'VPN 是否激活0否 1是',
`is_device_owner` TINYINT DEFAULT NULL COMMENT '是否设备所有者0否 1是',
`android_version` VARCHAR(32) DEFAULT NULL COMMENT 'Android 版本(安全相关)',
`kernel_version` VARCHAR(128) DEFAULT NULL COMMENT '内核版本(安全相关)',
-- ===================== 通用字段 =====================
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`is_deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_serialno` (`serialno`),
KEY `idx_is_deleted` (`is_deleted`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COMMENT = '设备安全信息表';