diff --git a/configs/config.dev.yaml b/configs/config.dev.yaml
index 806c8c0..4778b01 100644
--- a/configs/config.dev.yaml
+++ b/configs/config.dev.yaml
@@ -1,6 +1,6 @@
server:
port: 8080
- host: "localhost"
+ host: "0.0.0.0"
env: "development"
# 开发环境使用SQLite
diff --git a/internal/handler/robot.go b/internal/handler/robot.go
index f778829..ac58cac 100644
--- a/internal/handler/robot.go
+++ b/internal/handler/robot.go
@@ -4,6 +4,7 @@ import (
"context"
"log"
"strconv"
+ "strings"
"time"
"github.com/gofiber/fiber/v2"
@@ -119,6 +120,13 @@ func ShowRobot(c *fiber.Ctx) error {
func DeleteRobot(c *fiber.Ctx) error {
id, err := strconv.Atoi(c.Params("id"))
if err != nil {
+ // 针对API请求返回JSON
+ if strings.HasPrefix(c.Get("Accept"), "application/json") || c.Method() == "DELETE" {
+ return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
+ "success": false,
+ "message": "无效的ID",
+ })
+ }
return fiber.NewError(fiber.StatusBadRequest, "无效的ID")
}
@@ -126,6 +134,13 @@ func DeleteRobot(c *fiber.Ctx) error {
db := model.GetDB()
if err := db.First(&robot, id).Error; err != nil {
+ // 针对API请求返回JSON
+ if strings.HasPrefix(c.Get("Accept"), "application/json") || c.Method() == "DELETE" {
+ return c.Status(fiber.StatusNotFound).JSON(fiber.Map{
+ "success": false,
+ "message": "机器人不存在",
+ })
+ }
if err == gorm.ErrRecordNotFound {
return fiber.NewError(fiber.StatusNotFound, "机器人不存在")
}
@@ -155,9 +170,25 @@ func DeleteRobot(c *fiber.Ctx) error {
// 删除数据库记录
if err := db.Delete(&robot).Error; err != nil {
+ // 针对API请求返回JSON
+ if strings.HasPrefix(c.Get("Accept"), "application/json") || c.Method() == "DELETE" {
+ return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
+ "success": false,
+ "message": "删除机器人失败: " + err.Error(),
+ })
+ }
return fiber.NewError(fiber.StatusInternalServerError, "删除机器人失败: "+err.Error())
}
+ // 针对API请求返回JSON
+ if strings.HasPrefix(c.Get("Accept"), "application/json") || c.Method() == "DELETE" {
+ return c.JSON(fiber.Map{
+ "success": true,
+ "message": "机器人已成功删除",
+ })
+ }
+
+ // 普通请求重定向
return c.Redirect("/admin/robots")
}
diff --git a/internal/view/layouts/main.html b/internal/view/layouts/main.html
index 9a887b3..596f94c 100644
--- a/internal/view/layouts/main.html
+++ b/internal/view/layouts/main.html
@@ -122,7 +122,10 @@
{{embed}}
{{end}}
-
+
+
+
+
{{if .CustomJS}}
diff --git a/internal/view/robot/index.html b/internal/view/robot/index.html
index 80cafe7..94a06a8 100644
--- a/internal/view/robot/index.html
+++ b/internal/view/robot/index.html
@@ -200,6 +200,77 @@
});
+
+