package panel import ( "encoding/json" "sun-panel/api/api_v1/common/apiData/commonApiStructs" "sun-panel/api/api_v1/common/apiReturn" "sun-panel/api/api_v1/common/base" "sun-panel/global" "sun-panel/models" "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" ) type ItemIcon struct { } func (a *ItemIcon) Edit(c *gin.Context) { userInfo, _ := base.GetCurrentUserInfo(c) req := models.ItemIcon{} if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { apiReturn.ErrorParamFomat(c, err.Error()) return } req.UserId = userInfo.ID req.GroupId = 1 req.Sort = 1 // json转字符串 if j, err := json.Marshal(req.Icon); err == nil { req.IconJson = string(j) } if req.ID != 0 { // 修改 global.Db.Model(&models.ItemIcon{}). Select("IconJson", "Icon", "Title", "Url", "LanUrl", "Description", "OpenMethod", "Sort", "GroupId", "UserId"). Where("id=?", req.ID).Updates(&req) } else { // 创建 global.Db.Create(&req) } apiReturn.SuccessData(c, req) } // // 获取详情 // func (a *ItemIcon) GetInfo(c *gin.Context) { // req := systemApiStructs.AiDrawGetInfoReq{} // if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { // apiReturn.ErrorParamFomat(c, err.Error()) // return // } // userInfo, _ := base.GetCurrentUserInfo(c) // aiDraw := models.AiDraw{} // aiDraw.ID = req.ID // if err := aiDraw.GetInfo(global.Db); err != nil { // if err == gorm.ErrRecordNotFound { // apiReturn.Error(c, "不存在记录") // return // } // apiReturn.ErrorDatabase(c, err.Error()) // return // } // if userInfo.ID != aiDraw.UserID { // apiReturn.ErrorNoAccess(c) // return // } // apiReturn.SuccessData(c, aiDraw) // } func (a *ItemIcon) GetListByGroupId(c *gin.Context) { req := commonApiStructs.RequestPage{} if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { apiReturn.ErrorParamFomat(c, err.Error()) return } userInfo, _ := base.GetCurrentUserInfo(c) itemIcons := []models.ItemIcon{} if err := global.Db.Order("sort ,created_at DESC").Where("user_id=?", userInfo.ID).Find(&itemIcons, "group_id = ? AND user_id=?", 1, userInfo.ID).Error; err != nil { apiReturn.ErrorDatabase(c, err.Error()) return } for k, v := range itemIcons { json.Unmarshal([]byte(v.IconJson), &itemIcons[k].Icon) } apiReturn.SuccessListData(c, itemIcons, 0) } func (a *ItemIcon) Deletes(c *gin.Context) { req := commonApiStructs.RequestDeleteIds[uint]{} if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { apiReturn.ErrorParamFomat(c, err.Error()) return } userInfo, _ := base.GetCurrentUserInfo(c) if err := global.Db.Debug().Delete(&models.ItemIcon{}, "id in ? AND user_id=?", req.Ids, userInfo.ID).Error; err != nil { apiReturn.ErrorDatabase(c, err.Error()) return } apiReturn.Success(c) }