DeployHelper/internal/util/user_agent.go

39 lines
999 B
Go
Raw Normal View History

2025-08-01 16:38:08 +08:00
package util
import (
"strings"
)
// ParseUserAgent 解析User-Agent字符串返回操作系统信息
func ParseUserAgent(userAgent string) string {
if userAgent == "" {
return "未知"
}
userAgent = strings.ToLower(userAgent)
// 操作系统判断
switch {
case strings.Contains(userAgent, "windows"):
return "Windows"
case strings.Contains(userAgent, "macintosh") || strings.Contains(userAgent, "mac os x"):
return "MacOS"
case strings.Contains(userAgent, "linux"):
return "Linux"
case strings.Contains(userAgent, "android"):
return "Android"
case strings.Contains(userAgent, "iphone") || strings.Contains(userAgent, "ipad") || strings.Contains(userAgent, "ipod"):
return "iOS"
case strings.Contains(userAgent, "freebsd"):
return "FreeBSD"
case strings.Contains(userAgent, "openbsd"):
return "OpenBSD"
case strings.Contains(userAgent, "netbsd"):
return "NetBSD"
case strings.Contains(userAgent, "sunos"):
return "Solaris"
default:
return "未知"
}
}