package utils import ( "crypto/hmac" "crypto/sha1" "encoding/hex" "git.qianqiusoft.com/qianqiusoft/go-uuid/uuid" "git.qianqiusoft.com/qianqiusoft/light-apiengine/logs" "net/url" "strings" ) const ( hmac_key = "hmac_key_" ) func NewUUID() string { //return uuid.NewV4().String() return uuid.New() } func GenerateToken(plain string) string { hash := hmac.New(sha1.New, []byte(hmac_key)) hash.Write([]byte(plain)) return hex.EncodeToString(hash.Sum(nil)) } func TotalPage(record, size int) int { tp := record / size if tp < 0 { return 1 } if record%size == 0 { return tp } return tp + 1 } func FormatForBrowse(agent, val string) string { if strings.Contains(strings.ToLower(agent), "safari/") && !strings.Contains(strings.ToLower(agent), "chrome/") { logs.Debug("Safari浏览器编码") } else if strings.Contains(strings.ToLower(agent), "firefox/") { logs.Debug("Firefox浏览器编码") } else if strings.Contains(strings.ToLower(agent), "chrome/") && strings.Contains(strings.ToLower(agent), "safari/") && !strings.Contains(strings.ToLower(agent), "edge/") { logs.Debug("Chrome浏览器编码") } else { logs.Debug("IE浏览器编码") val = url.QueryEscape(val) val = strings.Replace(val, "+", "%20", -1) } return val }