101 lines
2.3 KiB
Go
101 lines
2.3 KiB
Go
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)
|
|
}
|