This commit is contained in:
Daniel 2023-10-30 15:25:46 +08:00
parent ed117fd577
commit eba283d8b2
No known key found for this signature in database
GPG Key ID: 86211BA83DF03017
2 changed files with 25 additions and 2 deletions

View File

@ -101,7 +101,15 @@ func searchAsset(c *gin.Context) {
} }
k := arg["k"].(string) k := arg["k"].(string)
ret.Data = model.SearchAssetsByName(k)
var exts []string
if extsArg := arg["exts"]; nil != extsArg {
for _, ext := range extsArg.([]interface{}) {
exts = append(exts, ext.(string))
}
}
ret.Data = model.SearchAssetsByName(k, exts)
return return
} }

View File

@ -220,11 +220,26 @@ func NetImg2LocalAssets(rootID, originalURL string) (err error) {
return return
} }
func SearchAssetsByName(keyword string) (ret []*cache.Asset) { func SearchAssetsByName(keyword string, exts []string) (ret []*cache.Asset) {
ret = []*cache.Asset{} ret = []*cache.Asset{}
count := 0 count := 0
filterByExt := 0 < len(exts)
for _, asset := range cache.GetAssets() { for _, asset := range cache.GetAssets() {
if filterByExt {
ext := filepath.Ext(asset.HName)
includeExt := false
for _, e := range exts {
if strings.ToLower(ext) == strings.ToLower(e) {
includeExt = true
break
}
}
if !includeExt {
continue
}
}
if !strings.Contains(strings.ToLower(asset.HName), strings.ToLower(keyword)) { if !strings.Contains(strings.ToLower(asset.HName), strings.ToLower(keyword)) {
continue continue
} }