Files
youlai-boot/sql/sn_device_picture.sql
TongTongStudio adb9b96cb7 feat(device): 设备签名升级为 ECDSA 并新增壁纸/图片/闹钟与策略扩展
签名与安全
- 设备验签由 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
2026-10-19 10:41:17 +08:00

29 lines
1.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- 设备图片发送记录表(sys_sn_device_picture)
-- 说明:家属端从相册等入口上传图片发送给设备,设备收到推送(contentType=24)
-- 后弹窗显示该图片。本表独立于壁纸配置表,仅记录发送的图片地址。
-- =============================================================================
CREATE TABLE IF NOT EXISTS `sys_sn_device_picture`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`serialno` VARCHAR(64) NOT NULL COMMENT '设备序列号(关联 sys_sn.serialno)',
`image_url` VARCHAR(500) NOT NULL COMMENT '图片完整URL',
`favorite` TINYINT DEFAULT 0 COMMENT '是否收藏(0否 1是)',
`file_size` BIGINT DEFAULT 0 COMMENT '文件大小(字节)',
-- ===================== 通用字段 =====================
`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_serialno` (`serialno`),
KEY `idx_is_deleted` (`is_deleted`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COMMENT = '设备图片发送记录表';
-- 已建库的补充列(若表已存在且无对应列时执行):
-- ALTER TABLE `sys_sn_device_picture` ADD COLUMN `favorite` TINYINT DEFAULT 0 COMMENT '是否收藏(0否 1是)' AFTER `image_url`;
-- ALTER TABLE `sys_sn_device_picture` ADD COLUMN `file_size` BIGINT DEFAULT 0 COMMENT '文件大小(字节)' AFTER `favorite`;