show ramdom background image

This commit is contained in:
2025-08-28 15:23:01 +08:00
parent 3dd042a752
commit 488a91e651
3 changed files with 25 additions and 2 deletions

View File

@@ -157,9 +157,11 @@ func serveIndexHtml(c fiber.Ctx) error {
}
} else if path == "/" || path == "" {
pinned, err := service.GetPinnedResources()
if err == nil {
random, err1 := service.RandomCover()
if err == nil && err1 == nil {
preFetchDataJson, _ := json.Marshal(map[string]interface{}{
"pinned": pinned,
"pinned": pinned,
"background": random,
})
preFetchData = url.PathEscape(string(preFetchDataJson))
}

View File

@@ -288,6 +288,22 @@ func RandomResource(host string) (*model.ResourceDetailView, error) {
return &v, nil
}
var lastSuccessCover uint
func RandomCover() (uint, error) {
for retries := 0; retries < 5; retries++ {
v, err := dao.RandomResource()
if err != nil {
return 0, err
}
if len(v.Images) > 0 {
lastSuccessCover = v.Images[0].ID
return v.Images[0].ID, nil
}
}
return lastSuccessCover, nil
}
func GetPinnedResources() ([]model.ResourceView, error) {
ids := config.PinnedResources()
var views []model.ResourceView