tongtong
|
68d86feea4
|
feat(webrtc): 信令会话化并强化握手鉴权
- 设备握手改用已登记公钥验签并加 nonce 防重放,client 拒绝刷新令牌
- 管理员凭一次性票据接入,TURN 凭据改由服务端按需签发
- 会话绑定 sessionId,协商超时/断线统一结束,避免跨会话串流
- 绑定手机号时禁止覆盖已登记公钥,challenge 强制匹配 SN
|
2026-11-09 19:03:55 +08:00 |
|
tongtong
|
4dd7d98ce9
|
feat(profile): 新增C端个人资料与设备相册功能
- 新增个人资料模块,支持获取、修改昵称和个性签名
- 实现头像上传与校验,支持JPEG/PNG格式及尺寸限制
- 添加app_user表signature字段的可重复执行SQL脚本
- 新增设备相册控制器,支持读取、收藏和删除相册图片
- 编写AppProfileService和DeviceAlbumController单元测试
|
2026-11-09 09:23:43 +08:00 |
|
tongtong
|
8d61c63c8b
|
Merge gitee/master into master
同步上游 codegen 模板收敛、README 精简与工作流退回修复。
冲突处理:保留我方数据源/存储/短信/MQTT 与 client 令牌配置;
沿用上游 @Setter(AccessLevel.NONE) 与注释,恢复 /api/v1/realtime/ws 握手放行。
|
2026-11-07 11:25:45 +08:00 |
|
tongtong
|
3f2b07ddd0
|
feat(client): 家属端设备列表返回在线状态与最后心跳时间
- 批量查询 Redis 心跳状态,避免逐台查询
- 修正心跳时间 Redis 序列化格式,防止读取时解析失败导致状态恒为离线
|
2026-11-07 11:21:49 +08:00 |
|
tongtong
|
0f99abb876
|
feat(device): 新增家属端删除已上传图片接口
- 新增 DELETE /client/picture 接口,支持按 sn 和 url 删除图片记录
- 在 DevicePictureService 中实现 deletePicture 方法
- 重构闹钟整表同步逻辑,将逻辑删除改为物理删除快照
- 为 replaceAlarms 方法添加 @Transactional 事务注解
- 简化闹钟同步异常处理,移除冗余 try-catch 包裹
|
2026-11-07 00:49:17 +08:00 |
|
tongtong
|
715076356c
|
feat(client): 家属端改密后重签令牌并支持短信验证码改密
- 原密码改密与短信验证码改密均返回新令牌,其它会话失效但当前会话不掉线
- 新增 GET 手机号验证码发送与免原密码改密接口
|
2026-11-06 19:17:29 +08:00 |
|
tongtong
|
4ea04cce9d
|
feat(device): 细化设备签名校验状态码并支持密钥指纹比对
- A0808 未绑定手机、A0809 设备不存在、A0810 已封禁、A0811 密钥变更
- A0812 重复请求、A0813 已解除绑定,设备端可按码引导用户处理
- 校验 X-Device-Key-Id 与库中公钥指纹,识别设备重置后重新生成的密钥
|
2026-11-06 19:17:28 +08:00 |
|
tongtong
|
9530b49be2
|
refactor(storage): 业务文件统一走对象存储并移除本地静态资源映射
- 删除 FilePath 与 WebMvcConfig,取消 /static/** 本地磁盘映射
- 安装包、壁纸、截图、分类图标、家属端图片全部使用存储服务返回的完整 URL
- 设备截图与拍照改存 StorageDir.DEVICE_SCREENSHOT,file_path 保存完整访问地址
- 壁纸/图片收藏按库中完整 URL 直接匹配,去掉相对路径归一化
- 家属于已绑定同一账号的设备再次发起绑定时下发确认请求,支持重置后重新授权
|
2026-11-06 19:17:25 +08:00 |
|
Ray.Hao
|
fcd8381bd1
|
refactor(codegen): 收敛命名转换并统一模板注释
- 新增 NamingUtils,目录、路由与模板变量共用同一套命名规则
- 字段特性标记合并为集合,模板变量按常量循环生成
- 删除模板未引用的 entityComment
- 权限前缀按模块映射配置
- 模板方法注释统一为多行
|
2026-11-06 17:56:33 +08:00 |
|
tongtong
|
95e8ef796d
|
chore(sql): 调整扩展脚本菜单 ID 段并新增 OIDC 扩展脚本
|
2026-11-04 14:29:47 +08:00 |
|
tongtong
|
4b746255da
|
feat(storage): 新增应用更新目录并切换存储至 S3,新增应用管理日志模块
|
2026-11-04 11:36:24 +08:00 |
|
Ray.Hao
|
538153a4f0
|
fix(workflow): 修复驳回无法退回发起人
- 新增发起申请节点
- 发起表单改挂该节点
- 首次发起跳过发起人
- 驳回目标包含发起人
- 审批接口新增表单数据入参
- 新增表单数据更新逻辑
- 模型模板加入发起人节点
- AI 与流程引擎默认值移入公共配置
|
2026-11-02 07:38:24 +08:00 |
|
Ray.Hao
|
e77d0b1f4f
|
feat(oidc): 统一认证身份关联接口改为仅本人可操作
- 移除身份关联接口的权限标识校验
- 增加当前用户校验,拒绝操作他人的身份关联
- 扩展脚本清理管理员代绑权限项
|
2026-10-28 08:25:41 +08:00 |
|
tongtong
|
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 |
|
tongtong
|
de088ddff8
|
feat(storage): 分类图标、安装包、壁纸等文件统一接入云存储服务
|
2026-10-20 09:53:06 +08:00 |
|
tongtong
|
cbf4f37b94
|
feat(device): 应用图标改存云存储并修复版本号唯一键冲突
|
2026-10-19 14:35:27 +08:00 |
|
tongtong
|
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
|
6aec75c84a
|
docs(notice): 修正撤回状态取值说明为 -1
|
2026-10-16 10:04:41 +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
|
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
|
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
|
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 |
|
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 |
|
tongtong
|
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 |
|
tongtong
|
4a38c1c1a4
|
refactor(packages): 重构 APKS 解析逻辑并优化图标选择
- 移除 parseApks 的 @Deprecated 标记,改为直接提取 Base/Universal APK 解析
- 使用 BinaryXmlParser 解码二进制 AndroidManifest.xml
- 图标选择改为取 density 最大的候选图标
- 调整依赖版本并更新测试用例
|
2026-08-15 13:12:13 +08:00 |
|
tongtong
|
a3a34326e2
|
fix(packages): 修复 XAPK 解析兼容性并补充本地化名称
- 忽略 manifest.json 中未声明字段,避免反序列化失败
- 直接解压 base APK 字节,移除对 ContainerEntry 的依赖
- 主 APK 解析失败时降级使用容器 JSON 信息
- 记录解析异常日志,便于排查位置越界问题
- XapkJsonInfo 新增 locales_name 字段
|
2026-08-15 00:30:41 +08:00 |
|
tongtong
|
9d55739955
|
refactor(packages): 重构 APKM/XAPK 元数据解析逻辑
|
2026-08-14 22:34:30 +08:00 |
|