Files
2026-07-27 19:31:43 +08:00

60 lines
1.6 KiB
Go

package logx
type Module string
const (
ModuleSystem Module = "system"
ModuleDriver Module = "driver"
ModuleAPI Module = "api"
ModuleWeb Module = "web"
ModuleDriverSystem Module = "driver_system"
ModuleCache Module = "cache"
ModuleDatabase Module = "database"
ModuleAuth Module = "auth"
ModuleFileOp Module = "file_op"
ModuleConfig Module = "config"
ModuleWebDAV Module = "webdav"
)
func (m Module) String() string {
if m == "" {
return string(ModuleSystem)
}
return string(m)
}
func (m Module) Group() (id, name, color string) {
switch m {
case ModuleDriver, ModuleDriverSystem, ModuleAuth:
return "driver", "驱动", "#4CAF50"
case ModuleFileOp, ModuleWebDAV:
return "file", "文件", "#009688"
case ModuleCache:
return "cache", "缓存", "#795548"
case ModuleAPI, ModuleWeb:
return "interface", "接口", "#FF9800"
case ModuleSystem, ModuleConfig, ModuleDatabase:
return "system", "系统", "#2196F3"
default:
return string(m), string(m), "#64748B"
}
}
// ModulesInGroup 返回分组下的原始 module 值列表。
func ModulesInGroup(group string) []string {
switch group {
case "driver":
return []string{string(ModuleDriver), string(ModuleDriverSystem), string(ModuleAuth)}
case "file":
return []string{string(ModuleFileOp), string(ModuleWebDAV)}
case "cache":
return []string{string(ModuleCache)}
case "interface":
return []string{string(ModuleAPI), string(ModuleWeb)}
case "system":
return []string{string(ModuleSystem), string(ModuleConfig), string(ModuleDatabase)}
default:
return []string{group}
}
}