You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
2.2 KiB
107 lines
2.2 KiB
2 months ago
|
package internal
|
||
|
|
||
|
import (
|
||
|
"crypto/md5"
|
||
|
"encoding/hex"
|
||
|
"encoding/json"
|
||
|
"fmt"
|
||
|
"math/rand"
|
||
|
"strings"
|
||
|
"time"
|
||
|
"wss-pool/config"
|
||
|
"wss-pool/logging/applogger"
|
||
|
"wss-pool/pkg/model"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
pr = fmt.Sprintf
|
||
|
topIckLine = "market.kline"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
OneMin = "1min"
|
||
|
FiveTime = "5min"
|
||
|
FifteenTime = "15min"
|
||
|
ThirtyTime = "30min"
|
||
|
SixtyTime = "60min"
|
||
|
fourTime = "4hour"
|
||
|
OneDay = "1day"
|
||
|
OneMon = "1mon"
|
||
|
OneWeek = "1week"
|
||
|
OneYear = "1year"
|
||
|
)
|
||
|
|
||
|
// CheckKLineTable
|
||
|
func CheckKLineTable(suffix string) string {
|
||
|
// "1min", "5min", "15min", "30min", "60min", "4hour", "1day", "1mon", "1week", "1year"
|
||
|
if strings.Contains(suffix, OneMin) {
|
||
|
return pr("%v.%v", topIckLine, OneMin)
|
||
|
}
|
||
|
if strings.Contains(suffix, FiveTime) {
|
||
|
return pr("%v.%v", topIckLine, FiveTime)
|
||
|
}
|
||
|
if strings.Contains(suffix, FifteenTime) {
|
||
|
return pr("%v.%v", topIckLine, FifteenTime)
|
||
|
}
|
||
|
if strings.Contains(suffix, ThirtyTime) {
|
||
|
return pr("%v.%v", topIckLine, ThirtyTime)
|
||
|
}
|
||
|
if strings.Contains(suffix, SixtyTime) {
|
||
|
return pr("%v.%v", topIckLine, SixtyTime)
|
||
|
}
|
||
|
if strings.Contains(suffix, fourTime) {
|
||
|
return pr("%v.%v", topIckLine, fourTime)
|
||
|
}
|
||
|
if strings.Contains(suffix, OneDay) {
|
||
|
return pr("%v.%v", topIckLine, OneDay)
|
||
|
}
|
||
|
if strings.Contains(suffix, OneMon) {
|
||
|
return pr("%v.%v", topIckLine, OneMon)
|
||
|
}
|
||
|
if strings.Contains(suffix, OneWeek) {
|
||
|
return pr("%v.%v", topIckLine, OneWeek)
|
||
|
}
|
||
|
if strings.Contains(suffix, OneYear) {
|
||
|
return pr("%v.%v", topIckLine, OneYear)
|
||
|
}
|
||
|
|
||
|
return ""
|
||
|
}
|
||
|
|
||
|
// Md5 token
|
||
|
func Md5(s string) string {
|
||
|
h := md5.New()
|
||
|
h.Write([]byte(s))
|
||
|
return hex.EncodeToString(h.Sum(nil))
|
||
|
}
|
||
|
|
||
|
// Captcha
|
||
|
func Captcha(n int) string {
|
||
|
code := ""
|
||
|
rand.Seed(time.Now().Unix())
|
||
|
for i := 0; i < n; i++ {
|
||
|
code = fmt.Sprintf("%s%d", code, rand.Intn(10))
|
||
|
}
|
||
|
return code
|
||
|
}
|
||
|
|
||
|
// GetToken
|
||
|
func GetToken() (string, error) {
|
||
|
var tm model.Token
|
||
|
url := fmt.Sprintf("http://%v:9999/v1/getcomm/get-comm/token.html", config.Config.DomainName)
|
||
|
jsonP, err := HttpPost(url, "")
|
||
|
if err != nil {
|
||
|
applogger.Error("HttpPost err: %v", err)
|
||
|
return "", err
|
||
|
}
|
||
|
|
||
|
if err := json.Unmarshal([]byte(jsonP), &tm); err != nil {
|
||
|
applogger.Error("json Unmarshal err: %v", err)
|
||
|
return "", err
|
||
|
}
|
||
|
|
||
|
token := tm.Data
|
||
|
|
||
|
return token, nil
|
||
|
}
|