Tushare token 写死在代码中
This commit is contained in:
@@ -16,7 +16,6 @@ type Config struct {
|
|||||||
JWTExpirationHours int
|
JWTExpirationHours int
|
||||||
Port string
|
Port string
|
||||||
AllowedOrigins []string
|
AllowedOrigins []string
|
||||||
TushareToken string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func Load() (*Config, error) {
|
func Load() (*Config, error) {
|
||||||
@@ -51,15 +50,12 @@ func Load() (*Config, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tushareToken := os.Getenv("TUSHARE_TOKEN")
|
|
||||||
|
|
||||||
return &Config{
|
return &Config{
|
||||||
DatabaseURL: databaseURL,
|
DatabaseURL: databaseURL,
|
||||||
JWTSecret: jwtSecret,
|
JWTSecret: jwtSecret,
|
||||||
JWTExpirationHours: expHours,
|
JWTExpirationHours: expHours,
|
||||||
Port: port,
|
Port: port,
|
||||||
AllowedOrigins: allowedOrigins,
|
AllowedOrigins: allowedOrigins,
|
||||||
TushareToken: tushareToken,
|
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,11 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"stock-user-system/internal/config"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
tushareBaseURL = "http://api.tushare.pro"
|
tushareBaseURL = "http://api.tushare.pro"
|
||||||
|
tushareToken = "76efd8465f9f2591aa42a385268e06acf6b80b7a15be2267ad2281b7"
|
||||||
defaultTimeout = 60 * time.Second
|
defaultTimeout = 60 * time.Second
|
||||||
maxRetries = 3
|
maxRetries = 3
|
||||||
retryBaseDelay = 1 * time.Second
|
retryBaseDelay = 1 * time.Second
|
||||||
@@ -38,10 +37,10 @@ type Client struct {
|
|||||||
client *http.Client
|
client *http.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewClient 从配置创建 Tushare 客户端。
|
// NewClient 创建 Tushare 客户端。
|
||||||
func NewClient(cfg *config.Config) *Client {
|
func NewClient() *Client {
|
||||||
return &Client{
|
return &Client{
|
||||||
token: cfg.TushareToken,
|
token: tushareToken,
|
||||||
baseURL: tushareBaseURL,
|
baseURL: tushareBaseURL,
|
||||||
client: &http.Client{Timeout: defaultTimeout},
|
client: &http.Client{Timeout: defaultTimeout},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"stock-user-system/internal/config"
|
|
||||||
"stock-user-system/internal/datasource"
|
"stock-user-system/internal/datasource"
|
||||||
"stock-user-system/internal/models"
|
"stock-user-system/internal/models"
|
||||||
|
|
||||||
@@ -15,16 +14,14 @@ import (
|
|||||||
// DataSyncHandler 处理数据同步相关接口。
|
// DataSyncHandler 处理数据同步相关接口。
|
||||||
type DataSyncHandler struct {
|
type DataSyncHandler struct {
|
||||||
DB *gorm.DB
|
DB *gorm.DB
|
||||||
CFG *config.Config
|
|
||||||
client *datasource.Client
|
client *datasource.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDataSyncHandler 创建数据同步处理器。
|
// NewDataSyncHandler 创建数据同步处理器。
|
||||||
func NewDataSyncHandler(db *gorm.DB, cfg *config.Config) *DataSyncHandler {
|
func NewDataSyncHandler(db *gorm.DB) *DataSyncHandler {
|
||||||
return &DataSyncHandler{
|
return &DataSyncHandler{
|
||||||
DB: db,
|
DB: db,
|
||||||
CFG: cfg,
|
client: datasource.NewClient(),
|
||||||
client: datasource.NewClient(cfg),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,11 +32,6 @@ type initStocksResponse struct {
|
|||||||
|
|
||||||
// InitStocks 从 Tushare 拉取全部上市股票列表并写入数据库。
|
// InitStocks 从 Tushare 拉取全部上市股票列表并写入数据库。
|
||||||
func (h *DataSyncHandler) InitStocks(c *gin.Context) {
|
func (h *DataSyncHandler) InitStocks(c *gin.Context) {
|
||||||
if h.CFG.TushareToken == "" {
|
|
||||||
c.JSON(http.StatusBadRequest, gin.H{"success": false, "error": "未配置 TUSHARE_TOKEN"})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
stocks, err := h.client.ListStocks()
|
stocks, err := h.client.ListStocks()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"success": false, "error": err.Error()})
|
c.JSON(http.StatusInternalServerError, gin.H{"success": false, "error": err.Error()})
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import (
|
|||||||
func Setup(cfg *config.Config, db *gorm.DB) *gin.Engine {
|
func Setup(cfg *config.Config, db *gorm.DB) *gin.Engine {
|
||||||
authHandler := &handlers.AuthHandler{DB: db, CFG: cfg}
|
authHandler := &handlers.AuthHandler{DB: db, CFG: cfg}
|
||||||
adminHandler := &handlers.AdminHandler{DB: db, CFG: cfg}
|
adminHandler := &handlers.AdminHandler{DB: db, CFG: cfg}
|
||||||
dataSyncHandler := handlers.NewDataSyncHandler(db, cfg)
|
dataSyncHandler := handlers.NewDataSyncHandler(db)
|
||||||
|
|
||||||
r := gin.Default()
|
r := gin.Default()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user