fix(sharecode): 支持分享码TTL配置并限制每MAC分享码数

- 配置增加 ShareCodeMaxPerMac 和 ShareCodeTTLMin 参数
- ShareCodeCache 支持自定义分享码有效期 TTL
- 生成分享码时使用配置的 TTL 替代固定30分钟
- 共享码处理添加限制,同一MAC有效分享码数量限制
- 路由层、处理器层和任务调度中增加TTL及限额参数传递
- 同步脚本默认同步路径调整,去除默认同步Docker文件,增加docs目录同步
- 修正上传脚本拼接远程路径时尾部斜杠问题
This commit is contained in:
eafonyang
2026-06-12 18:29:08 +08:00
parent 28fb798926
commit 598bbd4998
6 changed files with 82 additions and 41 deletions
+2 -2
View File
@@ -88,7 +88,7 @@ func main() {
devicePersistTask := task.NewDevicePersistTask(rdb, deviceRepo, log)
devicePersistTask.Start(5 * time.Minute)
shareCodeCache := cache.NewShareCodeCache(rdb)
shareCodeCache := cache.NewShareCodeCache(rdb, time.Duration(cfg.ShareCodeTTLMin)*time.Minute)
shareCodeRepo := repository.NewShareCodeRepository(db)
shareCodePersistTask := task.NewShareCodePersistTask(shareCodeCache, shareCodeRepo, log)
shareCodePersistTask.Start(5 * time.Minute)
@@ -105,7 +105,7 @@ func main() {
zap.String("region", cfg.S3.Region),
)
engine := router.New(log, db, searchClient, rdb, cfg.Equalize, s3Storage)
engine := router.New(log, db, searchClient, rdb, cfg.Equalize, s3Storage, cfg.ShareCodeMaxPerMac, time.Duration(cfg.ShareCodeTTLMin)*time.Minute)
srv := &http.Server{
Addr: cfg.Addr(),