28e53d90fc
- 统一 OpenAI 兼容 /v1 中继 + 渠道/额度/令牌/流水 - 各领域包:relay 模型网关、model 数据层、controller 管理 API
53 lines
799 B
Go
53 lines
799 B
Go
package kitutil
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
func GetPointer[T any](v T) *T {
|
|
return &v
|
|
}
|
|
|
|
func Interface2String(inter interface{}) string {
|
|
switch inter.(type) {
|
|
case string:
|
|
return inter.(string)
|
|
case int:
|
|
return fmt.Sprintf("%d", inter.(int))
|
|
case float64:
|
|
return strconv.FormatFloat(inter.(float64), 'f', -1, 64)
|
|
case bool:
|
|
if inter.(bool) {
|
|
return "true"
|
|
} else {
|
|
return "false"
|
|
}
|
|
case nil:
|
|
return ""
|
|
}
|
|
return fmt.Sprintf("%v", inter)
|
|
}
|
|
|
|
func String2Int(str string) int {
|
|
num, err := strconv.Atoi(str)
|
|
if err != nil {
|
|
return 0
|
|
}
|
|
return num
|
|
}
|
|
|
|
func GetUUID() string {
|
|
code := uuid.New().String()
|
|
code = strings.Replace(code, "-", "", -1)
|
|
return code
|
|
}
|
|
|
|
func GetTimestamp() int64 {
|
|
return time.Now().Unix()
|
|
}
|