diff --git a/controllers/admin/app.go b/controllers/admin/app.go index 5ef042c..1495e99 100644 --- a/controllers/admin/app.go +++ b/controllers/admin/app.go @@ -541,17 +541,6 @@ func AppDeleteHandler(c *gin.Context) { return } - // 删除相关的变量记录 - if err := tx.Where("app_uuid = ?", app.UUID).Delete(&models.Variable{}).Error; err != nil { - tx.Rollback() - logrus.WithError(err).Error("Failed to delete related variables") - c.JSON(http.StatusInternalServerError, gin.H{ - "code": 1, - "msg": "删除相关变量失败", - }) - return - } - // 删除应用 if err := tx.Delete(&app).Error; err != nil { tx.Rollback() @@ -576,7 +565,7 @@ func AppDeleteHandler(c *gin.Context) { logrus.WithFields(logrus.Fields{ "app_id": app.ID, "app_uuid": app.UUID, - }).Info("Successfully deleted app and related data") + }).Info("Successfully deleted app and related APIs") c.JSON(http.StatusOK, gin.H{ "code": 0, @@ -1258,17 +1247,6 @@ func AppsBatchDeleteHandler(c *gin.Context) { }) return } - - // 删除这些应用的所有相关变量 - if err := tx.Where("app_uuid IN ?", appUUIDs).Delete(&models.Variable{}).Error; err != nil { - tx.Rollback() - logrus.WithError(err).Error("Failed to delete related variables") - c.JSON(http.StatusInternalServerError, gin.H{ - "code": 1, - "msg": "删除相关变量失败", - }) - return - } } // 批量删除应用 @@ -1295,7 +1273,7 @@ func AppsBatchDeleteHandler(c *gin.Context) { logrus.WithFields(logrus.Fields{ "app_ids": req.IDs, "app_uuids": appUUIDs, - }).Info("Successfully batch deleted apps and related data (APIs and variables)") + }).Info("Successfully batch deleted apps and related APIs") c.JSON(http.StatusOK, gin.H{ "code": 0, diff --git a/controllers/admin/variable.go b/controllers/admin/variable.go index 9f16eb1..4673601 100644 --- a/controllers/admin/variable.go +++ b/controllers/admin/variable.go @@ -38,9 +38,6 @@ func VariableListHandler(c *gin.Context) { limit = 10 } - // 获取应用UUID参数(用于按应用筛选变量) - appUUID := strings.TrimSpace(c.Query("app_uuid")) - // 获取搜索关键词参数(支持编号、别名、数据的综合搜索) search := strings.TrimSpace(c.Query("search")) @@ -58,11 +55,6 @@ func VariableListHandler(c *gin.Context) { // 构建基础查询 query := db.Model(&models.Variable{}) - // 如果指定了应用UUID,则按应用筛选 - if appUUID != "" { - query = query.Where("app_uuid = ?", appUUID) - } - // 如果指定了搜索关键词,则在编号、别名、数据、备注中进行模糊搜索 if search != "" { query = query.Where("number LIKE ? OR alias LIKE ? OR data LIKE ? OR remark LIKE ?", @@ -86,32 +78,11 @@ func VariableListHandler(c *gin.Context) { return } - // 获取关联的应用信息 - var appUUIDs []string - for _, variable := range variables { - appUUIDs = append(appUUIDs, variable.AppUUID) - } - - var apps []models.App - if len(appUUIDs) > 0 { - if err := db.Where("uuid IN ?", appUUIDs).Find(&apps).Error; err != nil { - logrus.WithError(err).Error("Failed to fetch related apps") - } - } - - // 创建应用UUID到应用名称的映射 - appMap := make(map[string]string) - for _, app := range apps { - appMap[app.UUID] = app.Name - } - // 构建响应数据 type VariableResponse struct { ID uint `json:"id"` UUID string `json:"uuid"` Number string `json:"number"` - AppUUID string `json:"app_uuid"` - AppName string `json:"app_name"` Alias string `json:"alias"` Data string `json:"data"` Remark string `json:"remark"` @@ -121,17 +92,10 @@ func VariableListHandler(c *gin.Context) { var responseData []VariableResponse for _, variable := range variables { - appName := appMap[variable.AppUUID] - if appName == "" { - appName = "未知应用" - } - responseData = append(responseData, VariableResponse{ ID: variable.ID, UUID: variable.UUID, Number: variable.Number, - AppUUID: variable.AppUUID, - AppName: appName, Alias: variable.Alias, Data: variable.Data, Remark: variable.Remark, @@ -153,10 +117,9 @@ func VariableListHandler(c *gin.Context) { // VariableCreateHandler 新增变量API处理器 func VariableCreateHandler(c *gin.Context) { var req struct { - AppUUID string `json:"app_uuid"` - Alias string `json:"alias"` - Data string `json:"data"` - Remark string `json:"remark"` + Alias string `json:"alias"` + Data string `json:"data"` + Remark string `json:"remark"` } if !variableBaseController.BindJSON(c, &req) { @@ -165,8 +128,7 @@ func VariableCreateHandler(c *gin.Context) { // 验证必填字段 if !variableBaseController.ValidateRequired(c, map[string]interface{}{ - "应用UUID": req.AppUUID, - "变量别名": req.Alias, + "变量别名": req.Alias, }) { return } @@ -183,19 +145,11 @@ func VariableCreateHandler(c *gin.Context) { return } - // 验证应用是否存在 - var app models.App - if err := db.Where("uuid = ?", req.AppUUID).First(&app).Error; err != nil { - variableBaseController.HandleValidationError(c, "应用不存在") - return - } - // 创建变量 variable := models.Variable{ - AppUUID: strings.TrimSpace(req.AppUUID), - Alias: strings.TrimSpace(req.Alias), - Data: req.Data, - Remark: strings.TrimSpace(req.Remark), + Alias: strings.TrimSpace(req.Alias), + Data: req.Data, + Remark: strings.TrimSpace(req.Remark), } if err := db.Create(&variable).Error; err != nil { @@ -210,11 +164,10 @@ func VariableCreateHandler(c *gin.Context) { // VariableUpdateHandler 更新变量API处理器 func VariableUpdateHandler(c *gin.Context) { var req struct { - UUID string `json:"uuid"` - AppUUID string `json:"app_uuid"` - Alias string `json:"alias"` - Data string `json:"data"` - Remark string `json:"remark"` + UUID string `json:"uuid"` + Alias string `json:"alias"` + Data string `json:"data"` + Remark string `json:"remark"` } if !variableBaseController.BindJSON(c, &req) { @@ -224,7 +177,6 @@ func VariableUpdateHandler(c *gin.Context) { // 验证必填字段 if !variableBaseController.ValidateRequired(c, map[string]interface{}{ "变量UUID": req.UUID, - "应用UUID": req.AppUUID, "变量别名": req.Alias, }) { return @@ -242,13 +194,6 @@ func VariableUpdateHandler(c *gin.Context) { return } - // 验证应用是否存在 - var app models.App - if err := db.Where("uuid = ?", req.AppUUID).First(&app).Error; err != nil { - variableBaseController.HandleValidationError(c, "应用不存在") - return - } - // 通过uuid字段查找变量 var variable models.Variable if err := db.Where("uuid = ?", strings.TrimSpace(req.UUID)).First(&variable).Error; err != nil { @@ -256,8 +201,7 @@ func VariableUpdateHandler(c *gin.Context) { return } - // 更新字段 - variable.AppUUID = strings.TrimSpace(req.AppUUID) + // 更新字段(不允许修改应用关联) variable.Alias = strings.TrimSpace(req.Alias) variable.Data = req.Data variable.Remark = strings.TrimSpace(req.Remark) @@ -334,20 +278,3 @@ func VariablesBatchDeleteHandler(c *gin.Context) { variableBaseController.HandleSuccess(c, "批量删除成功", nil) } - -// VariableGetAppsHandler 获取应用列表(用于筛选下拉框) -func VariableGetAppsHandler(c *gin.Context) { - db, ok := variableBaseController.GetDB(c) - if !ok { - return - } - - var apps []models.App - if err := db.Select("uuid, name").Find(&apps).Error; err != nil { - logrus.WithError(err).Error("Failed to fetch apps") - variableBaseController.HandleInternalError(c, "获取应用列表失败", err) - return - } - - variableBaseController.HandleSuccess(c, "success", apps) -} \ No newline at end of file diff --git a/models/variable.go b/models/variable.go index a9b248e..7db4d60 100644 --- a/models/variable.go +++ b/models/variable.go @@ -26,9 +26,6 @@ type Variable struct { // Number:变量编号,时间戳+6位随机数字格式 Number string `gorm:"uniqueIndex;size:20;not null;comment:变量编号,时间戳+6位随机数字格式" json:"number"` - // AppUUID:关联的应用UUID - AppUUID string `gorm:"size:36;not null;index;comment:关联的应用UUID" json:"app_uuid"` - // Alias:变量别名,便于识别和管理 Alias string `gorm:"size:100;not null;comment:变量别名" json:"alias"` diff --git a/server/admin.go b/server/admin.go index f957bc2..955c005 100644 --- a/server/admin.go +++ b/server/admin.go @@ -102,7 +102,6 @@ func RegisterAdminRoutes(router *gin.Engine) { // 变量管理API router.GET("/admin/variable/list", adminctl.AdminAuthRequired(), adminctl.VariableListHandler) - router.GET("/admin/variable/apps", adminctl.AdminAuthRequired(), adminctl.VariableGetAppsHandler) router.POST("/admin/variable/create", adminctl.AdminAuthRequired(), adminctl.VariableCreateHandler) router.POST("/admin/variable/update", adminctl.AdminAuthRequired(), adminctl.VariableUpdateHandler) router.POST("/admin/variable/delete", adminctl.AdminAuthRequired(), adminctl.VariableDeleteHandler) diff --git a/web/template/admin/dashboard.html b/web/template/admin/dashboard.html index e9acdce..18734b6 100644 --- a/web/template/admin/dashboard.html +++ b/web/template/admin/dashboard.html @@ -120,7 +120,6 @@ $('#total-variables').text(data.total_variables || 0); } }).fail(() => { - console.log('获取应用统计失败'); // 显示默认值 $('#total-apps').text('0'); $('#enabled-apps').text('0'); diff --git a/web/template/admin/variables.html b/web/template/admin/variables.html index 43c77ae..edc82b2 100644 --- a/web/template/admin/variables.html +++ b/web/template/admin/variables.html @@ -12,14 +12,6 @@
-
- -
- -
-
@@ -52,14 +44,6 @@