Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
@@ -0,0 +1,64 @@
package vidtonesearcher
import (
"fmt"
"91porn-server/app/appg"
"91porn-server/app/service/searcher"
"91porn-server/common/constant/redisconst"
"91porn-server/common/log"
"91porn-server/models/v/tonemod"
"91porn-server/models/v/tonerecomod"
)
type ToneValue = tonemod.ToneValue
// VidToneSearcher VidToneSearcher
type VidToneSearcher struct {
uid uint64
theme tonerecomod.ThemeType
}
// NewVidToneSearcher NewVidToneSearcher
func NewVidToneSearcher(theme tonerecomod.ThemeType, uid uint64) searcher.Searcher {
return &VidToneSearcher{
uid: uid,
theme: theme,
}
}
// Realm Realm
func (searcher *VidToneSearcher) Theme() string {
return searcher.theme
}
// Search Search
func (v *VidToneSearcher) Search(keyword searcher.KeyWorder, opt searcher.Opter) (result searcher.Resulter, err error) {
switch v.theme {
case tonerecomod.OfficialRecom:
return newOfficialRecomSearcher(v.uid).Search(nil, opt)
case tonerecomod.GoldCoinArea:
return newGoldCoinAreaSearcher(v.uid).Search(nil, opt)
case tonerecomod.LatestUpload:
return newLatestUploadSearcher(v.uid).Search(nil, opt)
case tonerecomod.MostLikes:
return newMostLikesSearcher(v.uid).Search(nil, opt)
case tonerecomod.PlayAtMost:
return newPlayAtMostSearcher(v.uid).Search(nil, opt)
case tonerecomod.MostComments:
return newMostCommentsSearcher(v.uid).Search(nil, opt)
case tonerecomod.FreeArea:
return newFreeAreaSearcher(v.uid).Search(nil, opt)
default:
return nil, fmt.Errorf("search vidtonesearcher invalid theme: %s", v.theme)
}
}
func GetToneValue() ToneValue {
var toneValue ToneValue
redisKey := redisconst.ToneKey()
if err := appg.Redis.Scan(redisKey, &toneValue); err != nil {
log.Warn("search vidtonesearcher GetToneValue Scan error", log.E(err))
}
return toneValue
}