feat: 扫描整理支持中止;存放目录始终创建 KMP已整理 层

This commit is contained in:
2025-05-31 21:09:26 +08:00
parent 0aa9d44025
commit ea88f3e766
6 changed files with 157 additions and 32 deletions
+2 -1
View File
@@ -33,9 +33,10 @@ func NewRouter(st *store.Store) *gin.Engine {
apiGroup.POST("/media/list", mc.List)
apiGroup.POST("/media/stats", mc.Stats)
// 扫描整理(开始 / 查进度 / 实时进度)
// 扫描整理(开始 / 中止 / 查进度 / 实时进度)
sc := NewScanController(service.NewScanService(st))
apiGroup.POST("/scan/start", sc.Start)
apiGroup.POST("/scan/cancel", sc.Cancel)
apiGroup.GET("/scan/status", sc.Status)
apiGroup.GET("/scan/ws", sc.Ws)
+10
View File
@@ -47,3 +47,13 @@ func (c *ScanController) Start(ctx *gin.Context) {
func (c *ScanController) Status(ctx *gin.Context) {
Success(ctx, c.service.Status())
}
// Cancel 处理 POST /api/scan/cancel:中止正在运行的扫描整理任务。
// 成功后立刻返回当前进度快照,好让页面马上知道任务在收尾。
func (c *ScanController) Cancel(ctx *gin.Context) {
if err := c.service.Cancel(); err != nil {
Error(ctx, http.StatusBadRequest, err.Error())
return
}
Success(ctx, c.service.Status())
}