更新页面效果,但是会卡顿
This commit is contained in:
@@ -283,6 +283,47 @@ func saveOSSUpload(c *gin.Context, fileHeader *multipart.FileHeader, config Uplo
|
||||
return true
|
||||
}
|
||||
|
||||
func collectAlbumImages(configData string) []string {
|
||||
var raw map[string]interface{}
|
||||
if err := json.Unmarshal([]byte(configData), &raw); err != nil {
|
||||
return []string{}
|
||||
}
|
||||
|
||||
seen := map[string]bool{}
|
||||
images := []string{}
|
||||
add := func(value interface{}) {
|
||||
src, ok := value.(string)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
src = strings.TrimSpace(src)
|
||||
if src == "" || seen[src] {
|
||||
return
|
||||
}
|
||||
seen[src] = true
|
||||
images = append(images, src)
|
||||
}
|
||||
|
||||
add(raw["heroImg"])
|
||||
add(raw["endImg"])
|
||||
if pages, ok := raw["photoPages"].([]interface{}); ok {
|
||||
for _, item := range pages {
|
||||
page, ok := item.(map[string]interface{})
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
add(page["img1"])
|
||||
add(page["img2"])
|
||||
if pageImages, ok := page["images"].([]interface{}); ok {
|
||||
for _, src := range pageImages {
|
||||
add(src)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return images
|
||||
}
|
||||
|
||||
func main() {
|
||||
initDB()
|
||||
r := gin.Default()
|
||||
@@ -320,6 +361,15 @@ func main() {
|
||||
c.JSON(200, gin.H{"code": 200, "data": config.ConfigData})
|
||||
})
|
||||
|
||||
api.GET("/album", func(c *gin.Context) {
|
||||
var config TemplateConfig
|
||||
if err := db.First(&config, 1).Error; err != nil {
|
||||
c.JSON(200, gin.H{"code": 200, "data": []string{}})
|
||||
return
|
||||
}
|
||||
c.JSON(200, gin.H{"code": 200, "data": collectAlbumImages(config.ConfigData)})
|
||||
})
|
||||
|
||||
api.POST("/config", func(c *gin.Context) {
|
||||
if !requireAdmin(c) {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user