Files
webp/api/struct.go
2024-12-02 06:53:52 +08:00

55 lines
1.1 KiB
Go

package api
import (
"fmt"
"strconv"
"strings"
)
type IDS []int
// 合并为以逗号分隔的字符串
func (ids IDS) ToString() (str string) {
return strings.Trim(strings.Join(strings.Fields(fmt.Sprint(ids)), ","), "[]")
}
type ImageList []Image
// 按照ID排序
func (image *ImageList) SortByIDList(id_list []string) {
var sortedImageList ImageList
for _, id := range id_list {
id_number, _ := strconv.Atoi(id)
for _, image := range *image {
if image.ID == id_number {
sortedImageList = append(sortedImageList, image)
}
}
}
*image = sortedImageList
}
// 取到所有的文章ID, 去除重复
func (images *ImageList) ToAllArticleID() (uniqueIds IDS) {
article_ids := make(map[int]bool)
for _, image := range *images {
article_ids[image.ArticleID] = true
}
for id := range article_ids {
uniqueIds = append(uniqueIds, id)
}
return uniqueIds
}
// 取到所有的用户ID, 去除重复
func (images *ImageList) ToAllUserID() (uniqueIds IDS) {
user_ids := make(map[int]bool)
for _, image := range *images {
user_ids[image.UserID] = true
}
for id := range user_ids {
uniqueIds = append(uniqueIds, id)
}
return uniqueIds
}