diff --git a/internal/handlers/response.go b/internal/handlers/response.go index a88650e..82c6c64 100644 --- a/internal/handlers/response.go +++ b/internal/handlers/response.go @@ -34,6 +34,26 @@ func Respond(w http.ResponseWriter, message string, v any, statusCode int) { } } +func RespondErr(w http.ResponseWriter, message string, v any) { + rsp := response{ + Success: false, + Message: message, + Data: v, + } + b, err := json.Marshal(rsp) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + w.Header().Set("Content-Type", "application/json; charset=utf-8") + w.WriteHeader(http.StatusInternalServerError) + _, err = w.Write(b) + if err != nil && !errors.Is(err, context.Canceled) { + log.Printf("could not write http response: %v\n", err) + } +} + func RespondJson(w http.ResponseWriter, v any) { b, err := json.Marshal(v) if err != nil { diff --git a/internal/handlers/video.go b/internal/handlers/video.go index 1f97bcd..fdbc9d8 100644 --- a/internal/handlers/video.go +++ b/internal/handlers/video.go @@ -211,19 +211,18 @@ func (server *Server) deleteVideo(w http.ResponseWriter, r *http.Request) { var req videoDeleteRequest if err := json.NewDecoder(r.Body).Decode(&req); err != nil { - http.Error(w, err.Error(), http.StatusBadRequest) + RespondErr(w, "参数错误", nil) return } log.Println(req.ID) err := server.store.DeleteVideo(r.Context(), req.ID) if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) + RespondErr(w, "删除失败", nil) return } - w.WriteHeader(http.StatusOK) - w.Write([]byte("删除成功")) + Respond(w, "删除成功", nil, http.StatusOK) } // transfer 视频转码 diff --git a/web/templates/video/videos.html.tmpl b/web/templates/video/videos.html.tmpl index 51470a3..c492be5 100644 --- a/web/templates/video/videos.html.tmpl +++ b/web/templates/video/videos.html.tmpl @@ -12,9 +12,11 @@
{{.Description}}
- + + {{if not (eq .Status 1)}} 编辑 + {{end}} {{if eq .Status 0}} @@ -64,7 +66,12 @@ dataType: 'json', data:JSON.stringify({"id": id}), success: function (obj) { - $('#msg').html(obj) + if(obj.success){ + alert('删除成功'); + window.location.reload(); + }else{ + alert('删除失败'); + } }, error: function (ex) { console.log(ex)