使用了AI重构项目,并完善了一部分后台问题
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"path"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func validHTTPURL(value string) bool {
|
||||
parsed, err := url.ParseRequestURI(strings.TrimSpace(value))
|
||||
return err == nil && parsed.Host != "" && (parsed.Scheme == "http" || parsed.Scheme == "https")
|
||||
}
|
||||
|
||||
func validContactURL(value string) bool {
|
||||
value = strings.TrimSpace(value)
|
||||
parsed, err := url.ParseRequestURI(value)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
if parsed.Scheme == "http" || parsed.Scheme == "https" {
|
||||
return parsed.Host != ""
|
||||
}
|
||||
return parsed.Scheme == "mailto" || parsed.Scheme == "tel"
|
||||
}
|
||||
|
||||
func validQRCode(value string) bool {
|
||||
value = strings.TrimSpace(value)
|
||||
if strings.HasPrefix(value, "/uploads/") {
|
||||
return !strings.Contains(value, "\\") && path.Clean(value) == value
|
||||
}
|
||||
return validHTTPURL(value)
|
||||
}
|
||||
Reference in New Issue
Block a user