签名与安全 - 设备验签由 HMAC 重构为 ECDSA P-256(SHA256withECDSA),抽出 DeviceSignatureVerifier,canonical 串为 METHOD|path|bodyHash|ts|nonce - 新增 CachedBodyRequestWrapper 支持请求体读取,multipart 不参与 bodyHash - Redis 一次性 nonce 防重放,验签前校验设备存在且 status != 0(封禁即吊销) - bind_phone 接口豁免过滤器,改由 Controller 用请求内公钥做 PoP 验签并自动注册 - 新增封禁/解封设备接口(sys:device:update),SQL 增加 sys_sn.public_key 家属端(client) - 壁纸:上传单个 / 轮换(最多 7 张)/ 调整顺序,静态资源映射 /static/wallpaper/** - 图片:发送到设备(contentType=24)、发送记录列表、收藏状态标记 - 闹钟:查询 / 新增 / 修改 / 删除,变更后推送设备同步(contentType=25) - 新增请求绑定设备(contentType=20)、绑定成功通知(21)、反向拨号(22) 设备端(mobile) - 新增 get_alarms / sync_alarms,按设备本地 id 整表覆盖重建 - 策略接口同步新增 20 项管控开关(安全模式、ADB、APN、飞行模式、定位等) 其他 - MQTT 首次连接失败不再阻塞启动,新增每分钟定时兜底重连 - 文件服务补充 md5/sha1/sha256 校验值,AppIcon 增加 iconSha1/iconSha256 - 新增 SQL:sn_device_key / sn_device_alarm / sn_device_picture / sn_device_wallpaper
32 lines
2.0 KiB
SQL
32 lines
2.0 KiB
SQL
-- =============================================================================
|
||
-- 设备壁纸图片明细表(sys_sn_wallpaper_item)
|
||
-- 说明:设备的壁纸改为「一图一行」的多行存储,支持显式排序(sort_no)。
|
||
-- mode 区分壁纸模式:0-单个壁纸(1 行),1-轮换壁纸(最多 7 行)。
|
||
-- sort_no 升序即轮换展示顺序;单个壁纸固定为第 0 行。
|
||
-- image_url 为可访问的完整图片 URL,如 /static/wallpaper/SN_xxx_1.jpg。
|
||
-- 迁移说明:旧表 sys_sn_device_wallpaper(单行 JSON)已被本表取代;
|
||
-- 如需清理旧表请手工执行:DROP TABLE IF EXISTS `sys_sn_device_wallpaper`;
|
||
-- =============================================================================
|
||
CREATE TABLE IF NOT EXISTS `sys_sn_wallpaper_item`
|
||
(
|
||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`serialno` VARCHAR(64) NOT NULL COMMENT '设备序列号(关联 sys_sn.serialno)',
|
||
`mode` TINYINT NOT NULL DEFAULT 0 COMMENT '壁纸模式:0-单个壁纸 1-轮换壁纸',
|
||
`image_url` VARCHAR(500) NOT NULL COMMENT '壁纸图片完整URL',
|
||
`sort_no` INT NOT NULL DEFAULT 0 COMMENT '排序号(升序,轮换展示顺序)',
|
||
`md5` VARCHAR(64) DEFAULT NULL COMMENT '壁纸图片文件MD5',
|
||
`sha1` VARCHAR(64) DEFAULT NULL COMMENT '壁纸图片文件SHA1',
|
||
`sha256` VARCHAR(64) DEFAULT NULL COMMENT '壁纸图片文件SHA256',
|
||
|
||
-- ===================== 通用字段 =====================
|
||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
|
||
`is_deleted` TINYINT DEFAULT 0 COMMENT '逻辑删除(0未删 1已删)',
|
||
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_sn_mode` (`serialno`, `mode`),
|
||
KEY `idx_is_deleted` (`is_deleted`)
|
||
) ENGINE = InnoDB
|
||
DEFAULT CHARSET = utf8mb4
|
||
COMMENT = '设备壁纸图片明细表';
|