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 |
|
|
|
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 |
|
TongTongStudio
|
bc68004c6e
|
feat(device): 同步更新设备信息中的设备型号和推送ID
在上报系统信息时同步更新设备型号,在上报其他信息时同步更新推送ID,确保设备表信息保持最新。
|
2026-08-10 01:59:26 +08:00 |
|
|
|
0634491a01
|
feat(device): 添加极光推送注册ID字段
在设备其他信息相关实体、请求和响应对象中新增pushId字段,用于存储极光推送注册ID。
|
2026-08-09 23:44:37 +08:00 |
|
TongTongStudio
|
369a940344
|
feat(device): 新增设备在线状态和屏幕状态SSE广播,并修复Redis反序列化问题
- MqttMessageHandler 收到心跳后通过 SseService 广播设备在线状态(含屏幕状态)
- SseService/SseSessionManager 新增设备在线状态和屏幕状态的广播方法
- DeviceOnlineServiceImpl 修复 Redis 反序列化为 LinkedHashMap 时的类型转换问题
- DeviceOnlineServiceImpl 修复批量查询时空 SN 导致索引不对齐的问题
|
2026-08-09 20:06:03 +08:00 |
|
TongTongStudio
|
ba5b9eddc8
|
refactor(message): 将MQTT模块重命名为support并清理配置
将MQTT相关类从message.mqtt包迁移至support.mqtt包,移除application.yml中冗余的延迟初始化注释配置。
|
2026-08-09 15:55:38 +08:00 |
|
TongTongStudio
|
a0c1596d28
|
feat(device): 实现新增设备接口
完善设备新增接口,增加SN唯一性校验、参数非空验证和默认状态设置。
|
2026-08-09 13:43:43 +08:00 |
|
TongTongStudio
|
927332ad5d
|
feat(device): 添加MQTT设备在线状态管理与Redis容错机制
- 集成Spring Integration MQTT与Eclipse Paho客户端
- 添加设备在线状态填充逻辑,支持批量查询心跳数据
- 优化Redis配置,使用Lazy初始化与通用序列化器
- 增加Redis异常处理与防重复提交Fail-Open机制
- 新增Redis设备模块常量与在线状态VO
- 完善MQTT与Redis集群连接配置
|
2026-08-08 20:31:29 +08:00 |
|
|
|
e5e3f2c741
|
feat(app): 实现安装包文件下载、优化AAB/APKS解析并完善异常处理
- 新增安装包文件流下载接口,支持通过ID下载原始文件并设置正确的文件名
- 重构AAB/APKS解析逻辑,直接使用bundletool依赖库替代命令行调用
- 为AAB/APKS添加图标提取功能,按密度优先策略选择最清晰图标
- 分离APKS与APKM/XAPK解析流程,前者使用bundletool解析,后者保留解包方案
- 添加NoResourceFoundException全局异常处理,返回404而非默认错误页
|
2026-08-08 01:52:03 +08:00 |
|
|
|
3422d546c5
|
feat(packages): 支持AAB/APKS/APKM/XAPK格式安装包解析
新增AndroidPackageTypeDetector用于识别安装包类型,扩展ApkMetaParser以支持AAB、APKS、APKM、XAPK等容器格式的元数据解析,并在上传服务中集成解析逻辑,完善应用包信息提取能力。
|
2026-08-07 19:54:16 +08:00 |
|
TongTongStudio
|
8ee05af6c7
|
feat(app): add app category management and package repository with apk parsing
新增应用分类管理(MongoDB CRUD + 图标上传)和应用安装包资源库(上传/分页/详情/删除),集成apk-parser自动解析APK元数据(包名、版本、权限、CPU架构、图标),并添加对应的SQL菜单初始化脚本与授权配置。
|
2026-08-07 12:20:04 +08:00 |
|
TongTongStudio
|
33fcbcff3e
|
feat(device): add app icon management with pagination and delete functionality
新增应用图标库分页查询和图标删除接口,并完成对应的菜单与按钮权限初始化。
|
2026-08-06 02:25:25 +08:00 |
|
TongTongStudio
|
e9a1773d88
|
feat(device): 新增设备截图管理功能
- 新增截图列表查询、单张删除、一键清空接口
- 上传截图时清洗文件名防路径穿越,filePath 仅存相对路径
- 截图静态资源映射禁用缓存,避免浏览器复用旧图
- 新增 ScreenshotVO 视图对象及 ScreenshotService 实现
|
2026-08-06 01:42:46 +08:00 |
|
TongTongStudio
|
9d6498872f
|
feat(device): 新增设备定位查询接口并修复定位数据存储问题
- 新增 GET /{sn}/location 接口,支持网页端查询设备最新定位信息
- 新增 DeviceLocationVO 视图对象用于返回定位数据
- 在 LocationService 中实现 getLatestBySn 方法
- 修复 map_error 字段类型错误:从 INT 改为 VARCHAR(255)
- 修复移动端上报定位时 lastSuccessfulTime 缺失问题,由服务端统一写入
|
2026-08-05 23:15:34 +08:00 |
|
|
|
ecaad43014
|
feat(common): 新增停止应用操作类型枚举
在ActionTypeEnum中新增STOP_APP(39, "停止应用")枚举值。
|
2026-08-05 21:58:18 +08:00 |
|
TongTongStudio
|
7145bbbcda
|
Merge branch 'master' of ssh://gitea.ttstd.com:2222/tongtong/youlai-boot
# Conflicts:
# sql/app_icon.sql
# src/main/java/com/youlai/boot/common/config/WebMvcConfig.java
# src/main/java/com/youlai/boot/common/enums/ActionTypeEnum.java
# src/main/java/com/youlai/boot/device/controller/AppIconController.java
# src/main/java/com/youlai/boot/device/controller/DeviceOpsController.java
# src/main/java/com/youlai/boot/device/controller/MobileController.java
# src/main/java/com/youlai/boot/device/model/entity/AppIcon.java
# src/main/java/com/youlai/boot/device/model/vo/AppIconVO.java
# src/main/java/com/youlai/boot/device/service/AppIconService.java
# src/main/java/com/youlai/boot/device/service/DeviceService.java
# src/main/java/com/youlai/boot/device/service/impl/AppIconServiceImpl.java
# src/main/java/com/youlai/boot/device/service/impl/DeviceServiceImpl.java
|
2026-08-05 21:55:59 +08:00 |
|
TongTongStudio
|
5cc08a73ff
|
feat(device): 重构应用图标静态资源路径并新增停止应用功能
- 将图标访问路径从 /api/v1/device/app_icon 迁移至 /static/app_icon,避免与业务 Controller 命名空间冲突,并添加 immutable 长缓存策略
- 新增 STOP_APP(39) 操作类型及 DeviceOpsController.stopApp 接口,支持强制停止应用
- 图标上传接口增加 appName 参数,支持应用名称上报与刷新,并做长度截断保护
- 图标锁定场景改用 BusinessException(APP_ICON_LOCKED) 替代 RuntimeException,设备端可据此识别终态不再重试
- 新增 /static/** 路径到安全白名单,允许 img 标签无 token 访问图标资源
- 同步更新数据库表结构注释及实体/VO 字段
|
2026-08-05 21:52:37 +08:00 |
|
|
|
157e708a5b
|
feat(device): 重构应用图标功能,新增停止应用操作
- 静态资源路径从 /api/v1/device/app_icon 迁移至 /static/app_icon,避免与 Controller 路径冲突,并添加 immutable 长缓存策略
- 数据库及实体新增 app_name 字段,支持图标上报时同步应用名称
- 图标锁定场景改用 BusinessException(APP_ICON_LOCKED) 明确业务拒绝码,设备端可识别为终态
- 新增 STOP_APP 操作类型及对应推送接口
- 安全配置放行 /static/** 静态资源路径
|
2026-08-05 21:49:27 +08:00 |
|
|
|
4f4c60ce72
|
feat(device): 新增应用管理功能
新增应用启动、清除数据、卸载等远程操作功能,并优化应用列表接口支持图标展示。
同时修正了移动端上报接口的日志操作类型,补充了应用相关的操作枚举。
|
2026-08-05 16:38:57 +08:00 |
|
TongTongStudio
|
749cf44754
|
refactor(device): 重构设备基本信息表结构与请求实体
将 sys_sn_system_info 表的字段从旧的 sn_ 前缀命名统一重构为语义化命名,并扩充基本信息字段;同步更新 Java 请求实体 SnSystemInfoReq,字段与数据库表完全对齐,同时调整 display_version 列长度至 256。
|
2026-08-05 10:53:35 +08:00 |
|
TongTongStudio
|
3608c205b9
|
refactor(device): 重构设备信息模块,按面板拆分数据存储和接口
将原 SnDeviceSystemInfo 单一实体拆分为基本信息、硬件、网络、安全、其他信息五个独立子表和服务,重构 DeviceController 和 MobileController 接口以支持分面板查询和上传
|
2026-08-05 02:09:38 +08:00 |
|
TongTongStudio
|
537644ab2e
|
refactor(device): 重命名硬件信息为系统信息
将 Hardware 相关类、接口、方法、API 端点统一重命名为 SystemInfo,包括实体、VO、Req、Mapper、Service 及 Controller,并更新数据库表名映射。
|
2026-08-04 22:12:50 +08:00 |
|
TongTongStudio
|
5915da6517
|
fix(log): 修复设备类接口无用户上下文时操作日志报错
- 新增兜底操作人ID常量(99L)和X-Device-SN头解析
- 无登录用户时使用兜底ID和设备SN标识操作来源
- 调整文件上传临时目录为/tmp/ttstd/uploads
|
2026-08-04 21:56:45 +08:00 |
|
|
|
6614601519
|
Merge branch 'master' of gitee.com:youlaiorg/youlai-boot
|
2026-08-03 09:51:06 +08:00 |
|
Ray.Hao
|
132f9caa57
|
docs: 衍生版本表格增加类型列,对齐前端 README
|
2026-08-02 19:56:57 +08:00 |
|
|
|
fb75cce427
|
Merge branch 'master' of https://gitee.com/youlaiorg/youlai-boot
|
2026-08-02 15:22:39 +08:00 |
|
Ray.Hao
|
155fc69a78
|
refactor: 移除 project.version 配置避免启动解析异常
- 删除 application.yml 的 project.version 段,banner 与 OpenApi 不再读取该属性
- 移除 banner.txt 的 YouLai Boot Version 行
- OpenApiConfig 不再显示接口文档版本号,删除无用的 Environment 依赖
- 为 config.import: classpath:codegen.yml 补充代码生成模块配置说明注释
|
2026-08-02 14:18:44 +08:00 |
|
Ray.Hao
|
afc1780705
|
fix: 角色分页缺少 updateTime,重构 mybatis 自动填充处理器
AutoFillMetaObjectHandler 重命名为 MetaFieldFillHandler,移除 handler 子包
添加 spring-boot-starter-webmvc-test 测试依赖
|
2026-08-02 09:16:29 +08:00 |
|
|
|
519f582f86
|
Merge branch 'master' of gitee.com:youlaiorg/youlai-boot
|
2026-07-31 11:52:06 +08:00 |
|
Ray.Hao
|
27ea1cf114
|
refactor(system): 重命名包名和类名
- system/security/port → adapter
- system/job → schedule
- system/handler/XxlJobSampleHandler → schedule/XxlJobSample
- system/listener/UserImportListener → service/UserImportReader
- framework/security/port: Javadoc @see 同步更新
|
2026-07-31 09:35:35 +08:00 |
|
TongTongStudio
|
ba216da55b
|
Merge branch 'master' of gitee.com:youlaiorg/youlai-boot
# Conflicts:
# src/main/java/com/youlai/boot/config/SecurityConfig.java
# src/main/java/com/youlai/boot/config/property/TencentSmsProperties.java
# src/main/java/com/youlai/boot/support/sms/impl/AliyunSmsServiceImpl.java
# src/main/java/com/youlai/boot/support/sms/impl/TencentSmsService.java
# src/main/resources/application-dev.yml
# src/main/resources/application-prod.yml
|
2026-07-31 02:32:01 +08:00 |
|
TongTongStudio
|
924d4af5e6
|
feat(developer): 完善开发者选项CRUD与SN查询逻辑
|
2026-07-31 02:15:17 +08:00 |
|
Ray.Hao
|
07616d9118
|
refactor: 项目包结构优化
|
2026-07-31 00:21:49 +08:00 |
|
TongTongStudio
|
0bda0caed4
|
Merge branch 'master' of gitee.com:youlaiorg/youlai-boot
|
2026-07-30 17:50:06 +08:00 |
|
TongTongStudio
|
c59fd91de5
|
Merge branch 'master' of gitee.com:youlaiorg/youlai-boot
# Conflicts:
# src/main/java/com/youlai/boot/auth/security/config/SecurityConfig.java
# src/main/resources/application-dev.yml
# src/main/resources/application-prod.yml
|
2026-07-30 17:49:40 +08:00 |
|
theo
|
31ba21d0f9
|
fix(security): 解决SSE异步请求超时和权限验证问题
- 添加AsyncRequestTimeoutException异常处理器
- 配置ASYNC调度请求直接放行以支持SSE功能
- 允许SSE emitter.send()等异步请求无需Authorization头验证
|
2026-07-30 14:08:53 +08:00 |
|
Ray.Hao
|
a4b699a109
|
refactor(apidoc): 将 apidoc 包重命名为 openapi
- Knife4jOpenApiCustomizer.java: 包名 com.youlai.boot.framework.apidoc -> com.youlai.boot.framework.openapi
- OpenApiConfig.java: 包名 com.youlai.boot.framework.apidoc -> com.youlai.boot.framework.openapi
|
2026-07-28 17:33:01 +08:00 |
|
Ray.Hao
|
7b87543978
|
feat: v4.5.0 包结构迁移、MyBatis-Plus 自动填充、Jackson 3.x 适配
- common.annotation -> framework.annotation(DataPermission/Log/RateLimit/RepeatSubmit/ValidField)
- common.base.BaseEntity -> framework.base.BaseEntity(含 createTime/updateTime 自动填充注解)
- BaseQuery/IBaseEnum 保留在 common.base(无框架依赖)
- AutoFillMetaObjectHandler 实现 createTime/updateTime/createBy/updateBy 自动填充
- 实体类(Dept/Role/Config/DictItem/Notice/SysUser)添加 createBy/updateBy @TableField(fill=...)
- Jackson 注解使用 com.fasterxml.jackson.annotation(2.x 兼容层),databind/core 使用 tools.jackson(3.x)
- 代码生成模板 entity.java.vm/form.java.vm 包路径同步更新
- 删除冗余 UserService default 方法、DataPermissionException、DictChangeEvent event 包
- 版本号 4.4.0 -> 4.5.0
|
2026-07-28 17:24:44 +08:00 |
|