refactor: restructure project to standard Go layout

- Reorganize code into cmd/bilidown and internal/ packages
- Rename client/ to web/ for frontend source
- Remove systray dependency for headless web service
- Embed static files into binary using go:embed
- Update import paths to use internal/ prefix
- Update .gitignore with common patterns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-02 17:21:49 +08:00
parent 4facf82956
commit dd8eaef97d
61 changed files with 244 additions and 869 deletions
+36
View File
@@ -0,0 +1,36 @@
package util
type FieldUtil struct{}
func (f FieldUtil) AllowSelect() []string {
return []string{
"download_folder",
}
}
func (f FieldUtil) AllowUpdate() []string {
return []string{
"download_folder",
}
}
func (f FieldUtil) IsAllow(allFields []string, names ...string) bool {
allowedFields := make(map[string]struct{})
for _, field := range allFields {
allowedFields[field] = struct{}{}
}
for _, name := range names {
if _, exists := allowedFields[name]; !exists {
return false
}
}
return true
}
func (f FieldUtil) IsAllowSelect(names ...string) bool {
return f.IsAllow(f.AllowSelect(), names...)
}
func (f FieldUtil) IsAllowUpdate(names ...string) bool {
return f.IsAllow(f.AllowUpdate(), names...)
}