|
|
1829238de6
|
refactor(storage): 上游上传接口回归原行为,固定目录仅用于新增接口
- system/controller/FileController 恢复为 gitee 上游版本,移除 /api/v1/files/avatar
- FileService#uploadFile(MultipartFile) 与 Aliyun/S3/Local 实现恢复上游 yyyyMMdd 日期目录行为,保留双参数重载供自有接口使用
- AGENTS.md 增加上传规则改动边界:只改我方新增接口,上游已有接口保持原样
|
2026-10-20 10:15:09 +08:00 |
|
|
|
de088ddff8
|
feat(storage): 分类图标、安装包、壁纸等文件统一接入云存储服务
|
2026-10-20 09:53:06 +08:00 |
|
|
|
cbf4f37b94
|
feat(device): 应用图标改存云存储并修复版本号唯一键冲突
|
2026-10-19 14:35:27 +08:00 |
|
|
|
72770b226a
|
chore(docker): 移除 minio/mysql/redis 冗余配置文件
|
2026-10-19 12:12:55 +08:00 |
|
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 |
|
Ray.Hao
|
3cd2cf983a
|
refactor(config): 下移 AI、flowable 与上传限制到各 profile
- 各 profile 分别声明 spring.ai.model、flowable 与 spring.servlet.multipart
- application.yml 只保留应用名、激活的 profile 与配置导入
|
2026-10-01 13:25:49 +08:00 |
|
Ray.Hao
|
1e089cfe08
|
chore: 移除 xxl-job 建表脚本
|
2026-09-30 18:43:43 +08:00 |
|
Ray.Hao
|
a4542b4b4e
|
chore: 升级 Hutool 至 5.8.47
5.8.41 无法拦截 alg:none 算法降级,5.8.44 起已修复
|
2026-09-30 16:08:46 +08:00 |
|
Ray.Hao
|
c08b565b2f
|
fix(security): 修复 JWT 算法降级绕过并加固令牌校验
补充 alg 白名单校验(仅允许 HS256),parseToken 与 invalidateToken 增加签名校验
|
2026-09-30 16:08:41 +08:00 |
|
Ray.Hao
|
9deaa2568a
|
chore: 默认激活配置由 youlai 改为 dev
|
2026-09-30 15:42:05 +08:00 |
|
Ray.Hao
|
730473a706
|
chore(ai): 补全 dev、prod 环境的对话模型配置
补充 base-url、api-key、模型标识、采样温度与思考开关,密钥经环境变量 AI_API_KEY 注入
|
2026-09-30 15:41:59 +08:00 |
|
Ray.Hao
|
012cba9b92
|
feat: 部门、字典、日志、菜单、角色、用户列表接口补充权限校验
新增校验:sys:dept:list、sys:dict:list、sys:dict-item:list、sys:log:list、sys:menu:list、sys:role:list、sys:user:list
|
2026-09-30 15:41:42 +08:00 |
|
Ray.Hao
|
a5d5f48c22
|
chore(release): 升级版本至 4.12.0
|
2026-09-30 12:40:55 +08:00 |
|
Ray.Hao
|
d63685efc8
|
chore: 新增 xxl-job 服务端初始化脚本
- 含 xxl-job 建表与默认账号,供 docker-compose 启动前初始化
|
2026-09-30 12:40:33 +08:00 |
|
Ray.Hao
|
52b4760c89
|
chore: 字段注释改为单行并删除方法注释的重复描述
- 常量与字段注释由多行 Javadoc 改为单行
- 删除方法注释中复述参数与流程的描述行
|
2026-09-30 12:40:20 +08:00 |
|
Ray.Hao
|
ab8d9065fb
|
feat(menu): 外链菜单改用 external_url 承载
- 数据大屏由目录改为站内外链,移除三个子菜单
- 外链透传前端的判断由内嵌改为外链
- 提示词同级菜单示例的路径去掉前导斜杠
|
2026-09-30 12:39:22 +08:00 |
|
Ray.Hao
|
1243a311e0
|
chore: 删除启动横幅并将英文注释改为中文
- 移除启动横幅文件与定时任务配置里的英文说明
- 密码认证与角色禁用会话失效处的注释改为中文
- 代码生成的列类型处理注释改为中文,去掉重复的类型列举
- 初始化脚本的表结构与表数据注释改为中文
|
2026-09-27 21:26:44 +08:00 |
|
Ray.Hao
|
607b6c7bb3
|
feat(codegen): 代码生成新增 AI 配置推断并迁移模板资源
- 模板与外部文件移至 resources/codegen、excel、ip2region
- 新增 AI 配置推断接口、表单与返回对象
- 字典项与菜单 SQL、IP 工具、日志配置调整
- docker-compose 与英文 README 更新
- 版本 4.11.0
|
2026-09-26 09:13:16 +08:00 |
|
Ray.Hao
|
9fc49583d9
|
feat: 新增动态表单模块并同步字典与菜单改动
- 表单: 新增定义、数据、快照三表与接口
- 字典: 字典项改为逻辑删除,同字典下值唯一
- 菜单: 移除 alwaysShow,下拉改 types,新增按钮生成与父级校验
- AI: 新增对话服务与提示词
- sql: 同步表结构与菜单权限数据
- 工作流: 新增流程模块与 BPMN 流程
|
2026-09-25 21:07:09 +08:00 |
|
Theo
|
a42172ac52
|
feat(email): 添加HTML格式邮件发送功能
- 在EmailService接口中新增sendHtmlMail方法定义
- 实现SMTP邮件服务中的HTML邮件发送逻辑
- 添加HTML邮件内容的MIME消息构建处理
- 集成UTF-8字符编码支持HTML邮件内容
- 添加HTML邮件发送异常日志记录机制
|
2026-09-11 23:21:03 +08:00 |
|
Ray.Hao
|
32f8b9c195
|
docs: 移除 README 工作流演示开关的错误描述并重译同步英文版
|
2026-09-08 17:02:57 +08:00 |
|
Ray.Hao
|
34bfeedadf
|
refactor(workflow): 工作流模块改由 ConditionalOnWorkflowEnabled 条件装配
- 移除启动类手工 ComponentScan 排除与 WorkflowModuleConfig、
WorkflowEnvironmentPostProcessor、spring.factories 自动装配配置
- 新增 @ConditionalOnWorkflowEnabled 注解,按 flowable.enabled 决定工作流模块是否生效
- 启动类回归 @SpringBootApplication,各配置属性类改用 @Component 显式注册
|
2026-09-08 16:40:47 +08:00 |
|
Ray.Hao
|
2bc7b49bb6
|
style(system): 移除泛型类型参数中的多余空格
|
2026-09-08 10:43:06 +08:00 |
|
Ray.Hao
|
d4d82db762
|
chore: 默认关闭工作流
|
2026-09-08 10:40:00 +08:00 |
|
Ray.Hao
|
e7785044cc
|
chore: 默认关闭工作流
|
2026-09-08 10:10:10 +08:00 |
|
Ray.Hao
|
baf2dbe509
|
feat: 新增动态表单与工作流模块
- module/form: 动态表单定义、数据、版本快照的增删改查与渲染校验
- module/workflow: Flowable 审批流,含流程设计、发起、审批中心与演示流程
- module/config: 工作流开关 flowable.enabled,关闭时不注册 Bean 并排除引擎自动配置
- auth: 按登录方式拆为 password/sms/qrcode/wxma/session 五个子包
- framework/security: 新增 config、handler,承载安全配置与认证授权失败处理
- application-*.yml: flowable 配置按 dev/prod/youlai 环境拆分
- sql/extensions: 新增 dynamic-form.sql、workflow.sql 增量脚本
- README: 补充目录结构、可选扩展与系统预览截图
|
2026-09-08 10:06:41 +08:00 |
|
Ray.Hao
|
3c9e24d978
|
docs: 精简 JavaDoc 注释
|
2026-09-02 00:02:26 +08:00 |
|
Ray.Hao
|
fd3d7fc654
|
feat: 添加动态表单引擎模块
|
2026-08-30 11:23:30 +08:00 |
|
TongTongStudio
|
af2b9846f1
|
feat(device): 添加设备策略信息管理功能
新增设备策略信息表 sys_sn_device_policy 及对应实体、Mapper、Converter、VO、Req 模型,并在设备端、家属端、管理端分别提供策略查询、全量更新和单独开关设置接口。同时修正设备菜单按钮权限命名(add/edit → create/update),并调整删除设备与解绑接口的权限和返回值。
|
2026-08-27 11:48:45 +08:00 |
|
Ray.Hao
|
b7d11aea4c
|
chore(release): 升级版本至 4.8.0
|
2026-08-26 08:13:35 +08:00 |
|
TongTongStudio
|
76e239212a
|
feat(client): 添加设备绑定/解绑与屏幕镜像功能
新增家属端设备绑定/解绑接口,支持设备上报手机号同步,并引入 WebSocket 依赖以支持 WebRTC 屏幕镜像信令端点。
|
2026-08-26 06:16:55 +08:00 |
|
Ray.Hao
|
6da8ea0fca
|
refactor: 用 RustFS S3 替代 MinIO 并优化 OSS endpoint 协议处理
|
2026-08-25 08:21:10 +08:00 |
|
TongTongStudio
|
2eb14103a1
|
feat(device): 新增远程拍照摄像头类型及家属端设备控制指令
- 拍照接口支持指定前置/后置摄像头,截图记录增加摄像头类型字段
- 新增文件传输、短信同步、清理、屏幕镜像、屏幕锁定指令下发
|
2026-08-24 08:41:12 +08:00 |
|
Ray.Hao
|
7ecbc16b69
|
refactor: RuntimeException 统一为 BusinessException 并规范注释
- 文件上传、代码生成、用户/菜单/角色校验等场景的 RuntimeException 统一替换为 BusinessException
- 阿里云 OSS 上传失败补记日志并保留原始异常 cause
- 修复 prod 微信小程序配置 app-secret 无法绑定 WxMaProperties.secret 字段的问题
- UserServiceImpl 展开通配符 import 并规范化 javadoc
|
2026-08-22 12:00:25 +08:00 |
|
Ray.Hao
|
a33de52700
|
refactor: 移除 docker 目录,中间件编排收敛至根目录 docker-compose.yml
- docker-compose.yml 移至根目录,my.cnf/redis.conf 配置内联为 command 参数,数据持久化改用命名卷
- 删除 docker/ 目录(含运行时残留数据),清理 .gitignore 相关规则
- 同步 README 目录结构说明
|
2026-08-22 12:00:13 +08:00 |
|
TongTongStudio
|
9bc37286b7
|
feat(device): 新增远程拍照功能
- 新增设备端与家属端远程拍照接口
- 新增截图实体字段(原始文件名、MIME类型、扩展名)
- 补充截图上传信息记录
- 提取设备操作指令常量
|
2026-08-21 17:12:41 +08:00 |
|
TongTongStudio
|
32921274a3
|
feat(client): 新增家属端设备查询与端隔离鉴权
- 新增 ClientController,支持已绑定设备的信息、定位、应用与截图查询
- JWT 增加 clientType 标识,实现 admin/client 端鉴权隔离
- client 端支持独立配置令牌有效期,并在刷新时按端解析 TTL
- 截图列表仅返回最近 20 条并规范化访问 URL 前缀
|
2026-08-19 03:43:48 +08:00 |
|
|
|
7687ef4f37
|
feat(open): 重构C端认证并支持密码重置
|
2026-08-17 09:29:42 +08:00 |
|
TongTongStudio
|
0591ff67d0
|
refactor: 重命名 app 模块为 client 与 open 模块
- 将 app 包下的用户、文件相关类迁移到 client 包
- 将认证相关类迁移到 open 包,并更新安全配置放行路径
- 修复 ApkMetaParser 合并元数据时图标未保留的问题
- 调整 FilePath 上传路径逻辑
|
2026-08-16 04:17:46 +08:00 |
|
|
|
4a38c1c1a4
|
refactor(packages): 重构 APKS 解析逻辑并优化图标选择
- 移除 parseApks 的 @Deprecated 标记,改为直接提取 Base/Universal APK 解析
- 使用 BinaryXmlParser 解码二进制 AndroidManifest.xml
- 图标选择改为取 density 最大的候选图标
- 调整依赖版本并更新测试用例
|
2026-08-15 13:12:13 +08:00 |
|
|
|
a3a34326e2
|
fix(packages): 修复 XAPK 解析兼容性并补充本地化名称
- 忽略 manifest.json 中未声明字段,避免反序列化失败
- 直接解压 base APK 字节,移除对 ContainerEntry 的依赖
- 主 APK 解析失败时降级使用容器 JSON 信息
- 记录解析异常日志,便于排查位置越界问题
- XapkJsonInfo 新增 locales_name 字段
|
2026-08-15 00:30:41 +08:00 |
|
|
|
9d55739955
|
refactor(packages): 重构 APKM/XAPK 元数据解析逻辑
|
2026-08-14 22:34:30 +08:00 |
|
|
|
baa2d8d2e3
|
feat(packages): 重构 APK 容器解析,支持 APKM/XAPK/SAPK 格式
|
2026-08-14 19:33:30 +08:00 |
|
Ray.Hao
|
5085d4c7e0
|
refactor(common): 操作日志采集与落库解耦为端口-适配器
common 层日志切面改为只依赖 framework 层定义的 OperationLogPort 端口,
日志采集逻辑从 common.aspect.LogAspect 迁移至 framework.web.log.OperationLogAspect,
由 system.adapter.log.OperationLogAdapter 实现端口落库 sys_log 表,
通过 LogConverter 完成载荷到实体的转换,消除 common 对 system 的反向依赖。
同步将 system.security.adapter 下的适配器迁移至 system.adapter.security,
保持 system.adapter.<业务域> 的目录组织一致。
版本 4.6.0 -> 4.7.0
|
2026-08-14 00:09:42 +08:00 |
|
|
|
6005c454c1
|
fix(app-packages): 将 versionCode 类型从 Integer 改为 Long 并增强 AAB 解析
- 扩展 ApkMetaParser 对 AAB 文件的支持:解析 ABI 列表、权限列表,并优化高分辨率图标选择逻辑
- 修改 ApkMetaResult 和 AppPackageDocument 中 versionCode 字段类型为 Long
- 更新 AppPackageServiceImpl 中对应的解析方法,适配 Long 类型
- 移除未使用的 import 语句,清理部分注释代码
|
2026-08-12 22:28:43 +08:00 |
|
|
|
6539878294
|
refactor(packages): 重构AAB解析逻辑并升级protobuf依赖
直接使用bundletool API解析AAB的Manifest和资源表,替代原有的dump命令解析方式,同时将protobuf-java版本从3.21.12升级至3.25.5以兼容新版API。
|
2026-08-12 19:05:17 +08:00 |
|
|
|
3db6c17511
|
refactor(app-packages): 重构 ApkMetaParser 为静态工具类并移除冗余字段
- 移除 ApkMetaParser 内部类 ApkMetaResult,提取为独立类
- 移除 Spring @Component 注解,所有方法改为静态方法
- 删除未使用的 maxSdk 字段及相关解析逻辑
- 移除 AppPackageServiceImpl 中注入的 ApkMetaParser 依赖
- 更新测试用例以适配静态方法调用
- 标记 parseByBundleTool 和 fillBundleIcon 方法为 @Deprecated
|
2026-08-12 18:18:01 +08:00 |
|
TongTongStudio
|
40fae0bf0d
|
Merge remote-tracking branch 'origin/master'
|
2026-08-12 08:26:42 +08:00 |
|
TongTongStudio
|
035e21a432
|
feat: 新增 TDengine 多数据源与 MQTT v5 客户端支持
- 新增 DataSourceConfig 配置类,支持 MySQL(主)与 TDengine(时序)多数据源,使用 Druid 手动配置以兼容 Spring Boot 4.x
- 重构 MQTT 配置,从 spring-integration-mqtt 迁移至 Paho MQTT v5 原生客户端,实现消息发布/订阅与优雅关闭
- 重构 MqttMessageHandler 与 MqttProducer,适配 v5 客户端回调,优化设备状态消息处理逻辑(online/offline 字段调整)
- 新增设备修改昵称接口(PUT /api/v1/devices/{id})与 TDengine 心跳最后在线时间查询接口
- 设备列表查询填充在线状态(Redis),增强设备管理功能
- 配置缓存预热失败时仅记录日志,避免数据库不可用导致应用启动失败
- 更新开发与生产环境配置,添加 TDengine 数据源及 MQTT 认证信息
|
2026-08-12 08:26:30 +08:00 |
|
|
|
4500f92b15
|
feat(docs): 添加设备心跳表SQL文档
新增TDengine超级表device_heartbeat的建表语句及EMQX规则引擎配置示例。
|
2026-08-11 21:25:13 +08:00 |
|