dev 3
This commit is contained in:
46
go-client/libs/signal.go
Normal file
46
go-client/libs/signal.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package libs
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
)
|
||||
|
||||
var (
|
||||
Dcm_Signal = "/a/dcm_signal"
|
||||
)
|
||||
|
||||
type SignalResult struct {
|
||||
Code string `json:"code"`
|
||||
Total int `json:"total"`
|
||||
Updated string `json:"updated"`
|
||||
Data map[string]SignalItem `json:"data"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type SignalItem struct {
|
||||
Code string `json:"code"`
|
||||
Name string `json:"name"`
|
||||
Desc string `json:"desc"`
|
||||
LastClose float64 `json:"last_close"`
|
||||
TechIndicator map[string]float64 `json:"tech_indicator"`
|
||||
}
|
||||
|
||||
// FetchSignals 启动时读取信号,运行期间直接使用内存数据。
|
||||
func FetchSignal(subUrl, host_key string) (*SignalResult, error) {
|
||||
// gen url.
|
||||
fullUrl := fmt.Sprintf("%s%s?host_key=%s&t=%s", API_HOST, subUrl, host_key, randStr(16))
|
||||
// doing
|
||||
payload, err := GetJSON(fullUrl, HTTPTimeout)
|
||||
if err != nil {
|
||||
log.Printf("[ERROR] 获取60m大盘信号失败: %s %v", fullUrl, err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var result SignalResult
|
||||
err = json.Unmarshal(payload, &result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &result, nil
|
||||
}
|
||||
Reference in New Issue
Block a user