Commit Graph
79 Commits
Author SHA1 Message Date
h2zi f5eea8b4a9 chore: update mocks 2026-07-21 10:55:55 +00:00
耗子andClaude Fable 5 a2e46faab9 feat(task): 任务队列支持取消运行中与等待中的任务
任务执行接入 context 并放入独立进程组,取消时整组杀死;
新增可选 CancelShell 清理钩子,远程下载、压缩、备份任务
取消后自动清理残留文件,备份改用独享临时目录避免误伤并发备份;
防重改为按语言无关的任务标识 Key 匹配

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 23:16:49 +08:00
耗子andClaude Fable 5 8fa5c6d881 feat(file): 文件分享下载支持面板间互传
生成免登录的临时下载链接,强制设置有效期并支持下载次数限制,
过期分享由定时任务每小时清理,链接可直接用于其他面板的远程下载。

Closes #1641

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 22:47:11 +08:00
耗子andClaude Fable 5 874abf005d feat(app): 应用安装支持自定义编译参数
编译型应用与 PHP/Python 环境支持持久化的前置脚本与 configure 参数,
保存在 storage/customize 随安装更新自动生效,并接入面板备份与修复

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 06:27:39 +08:00
h2zi 2b28b16338 chore: update mocks 2026-07-19 20:21:37 +00:00
耗子andClaude Fable 5 90b37f5e6a feat(ssh): 终端支持主机间 SFTP 文件互传
终端窗口新增文件传输标签页,双栏浏览任意主机(含面板本机)目录,
选中文件后通过面板中转互传,传输队列实时展示进度速度并支持取消

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 03:05:51 +08:00
耗子andClaude Fable 5 1ca986e779 feat(container): 支持查看容器详情与编辑容器
详情弹窗双 Tab:格式化展示挂载/端口/网络/环境变量等基本信息,原始 Tab 直接展示 inspect 输出
编辑复用创建表单,由 inspect 回填配置,确认后删除旧容器按新配置重建

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 02:15:53 +08:00
耗子andClaude Opus 4.8 5efb32a661 refactor(biz): 用例层承载业务编排,data 层退为数据/外部原语
将压在 data 层胖 repo 的业务逻辑上移到 biz 用例层,让三层名副其实:
- 34 个 XxxUsecase 从纯透传空壳变为承载领域规则、跨 repo 编排、操作审计的
  真正业务层;data 层 repo 退为数据访问与外部系统原语
- 24 条原压在 repo 层的跨 repo 编排上移为 usecase→usecase/repo 依赖,仅保留
  3 处嵌在外部原语内无法剥离的 repo→repo(backup→setting/website、website→setting)
- 新增 internal/biz/helper.go:operatorID / IsNotFound / containerSock
- 表现层(service/job/command/apps/middleware)零改动,用例对外签名冻结

经全部 34 域逐语句对抗审查确认行为等价,7 处漂移已修复或知情接受。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 14:16:10 +08:00
耗子andClaude Opus 4.8 443516a2cf refactor!: 迁移至 samber/do 依赖注入与三层架构
依赖注入:
- 移除 google/wire(含 wire.go/wire_gen.go 与全部 ProviderSet),
  改用 samber/do v2 单注入器 + 双入口惰性构建
- 贡献模型替代命令式注册:路由 routes:、命令 commands:、
  任务 jobs: 前缀经 internal/registry 收集与校验
- 构造函数统一 func NewXxx(i do.Injector) (T, error)

三层架构:
- 补全用例层:每个 biz.XxxRepo 配 XxxUsecase,
  service/command/job 表现层只依赖用例,不再直接引用仓储

路由与文档:
- route/http.go 按域拆为声明式 Endpoint 贡献,
  Endpoint 承载登录白名单与端点限流语义
- 调试模式下提供 OpenAPI 3.1 文档:/openapi.json 与 /docs(Scalar),
  从 validate 标签生成

目录与依赖:
- internal/http/{middleware,request,rule} 拍平至 internal/*
- CLI 命令拆至 internal/command
- 日志轮转 timberjack 换为 libtnb/logrotate
- 升级 validator/cron/sessions/gormstore/sqlite/securecookie
- 数据库迁移保持 gormigrate 不变

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 21:54:22 +08:00
h2zi 79fa002bd6 chore: update mocks 2026-07-02 18:15:21 +00:00
h2zi 75c4f44262 chore: update mocks 2026-06-05 11:43:55 +00:00
h2zi b5bdcaded6 chore: update mocks 2026-05-27 15:56:25 +00:00
h2zi f1cc5bb7d6 chore: update mocks 2026-04-27 12:31:25 +00:00
h2zi 13e5771445 chore: update mocks 2026-04-21 19:07:46 +00:00
h2zi 522d78569a chore: update mocks 2026-04-06 18:20:12 +00:00
h2zi 4c6347d6c3 chore: update mocks 2026-03-27 09:00:20 +00:00
h2zi 60052aac09 chore: update mocks 2026-03-07 16:28:46 +00:00
h2zi 4ff7ce18cd chore: update mocks 2026-02-26 15:51:13 +00:00
h2zi d4c853db01 chore: update mocks 2026-02-25 10:07:42 +00:00
半岛的蒟蒻bddjr e947259b86 fix: go.mod module github.com/acepanel/panel/v3 (#1423) 2026-02-25 18:07:00 +08:00
h2zi 4130b8b314 chore: update mocks 2026-02-22 11:59:00 +00:00
h2zi cb2180fbdb chore: update mocks 2026-02-19 20:47:41 +00:00
h2zi 6fc7b34882 chore: update mocks 2026-02-19 16:31:54 +00:00
h2zi 4c468e9aca chore: update mocks 2026-02-18 11:19:40 +00:00
h2zi 1403c65d37 chore: update mocks 2026-02-18 10:18:09 +00:00
devhaozi 5407c53619 chore: update mocks 2026-02-17 20:03:22 +00:00
devhaozi da9d95284c chore: update mocks 2026-02-17 18:53:59 +00:00
devhaozi c731125534 chore: update mocks 2026-02-17 15:31:28 +00:00
devhaozi 6c703bf94d chore: update mocks 2026-02-17 12:28:53 +00:00
耗子 2f2f17b1c7 refactor: 重构任务队列 2026-02-17 17:47:25 +08:00
devhaozi 2536dfe933 chore: update mocks 2026-02-17 09:17:03 +00:00
devhaozi 205d95a591 chore: update mocks 2026-02-11 11:13:50 +00:00
devhaozi 58ddd55b7c chore: update mocks 2026-02-02 16:05:24 +00:00
devhaozi ce83fdd4db chore: update mocks 2026-01-30 09:27:20 +00:00
devhaozi a060ba136e chore: update mocks 2026-01-24 11:23:22 +00:00
devhaozi 4dd06f5812 chore: update mocks 2026-01-23 17:38:07 +00:00
devhaozi 4c6daf5028 chore: update mocks 2026-01-23 13:57:38 +00:00
devhaozi 11e56631b8 chore: update mocks 2026-01-22 21:45:06 +00:00
devhaozi ba1f5b284d chore: update mocks 2026-01-21 20:15:38 +00:00
耗子 0aebdd08e1 refactor: 重命名备份存储 2026-01-22 04:14:29 +08:00
devhaozi c189cd6eb5 chore: update mocks 2026-01-21 19:40:40 +00:00
devhaozi 5fd50feab4 chore: update mocks 2026-01-21 17:10:32 +00:00
devhaozi 8f1b69bd4b chore: update mocks 2026-01-19 18:19:07 +00:00
devhaozi b058d851fe chore: update mocks 2026-01-19 15:50:48 +00:00
devhaozi 86ff6bb88a chore: update mocks 2026-01-19 15:06:10 +00:00
devhaozi 9f52671ca3 chore: update mocks 2026-01-15 22:29:55 +00:00
devhaozi 8f85ac8c28 chore: update mocks 2026-01-13 19:16:39 +00:00
devhaozi ff476aeed5 chore: update mocks 2026-01-13 15:33:28 +00:00
devhaozi cd85032ecb chore: update mocks 2026-01-12 15:31:53 +00:00
devhaozi 1012e5a246 chore: update mocks 2026-01-12 14:18:01 +00:00