This commit is contained in:
2026-08-25 18:59:18 +08:00
parent fa62436a73
commit ec58641d09
23 changed files with 563 additions and 944 deletions

View File

@@ -3,45 +3,25 @@ package sdk
import "context"
func (c *Client) ExtData(ctx context.Context, extdataname, stockcode string, deviation int) (any, error) {
var out struct {
Value any `json:"value"`
}
body := map[string]any{"extdataname": extdataname, "stockcode": stockcode, "deviation": deviation}
if err := c.post(ctx, "/api/ext/ext_data", body, &out); err != nil {
return nil, err
}
return out.Value, nil
return c.postField(ctx, "/api/ext/ext_data", map[string]any{
"extdataname": extdataname, "stockcode": stockcode, "deviation": deviation,
}, "value")
}
func (c *Client) ExtDataRank(ctx context.Context, extdataname, stockcode string, deviation int) (any, error) {
var out struct {
Rank any `json:"rank"`
}
body := map[string]any{"extdataname": extdataname, "stockcode": stockcode, "deviation": deviation}
if err := c.post(ctx, "/api/ext/ext_data_rank", body, &out); err != nil {
return nil, err
}
return out.Rank, nil
return c.postField(ctx, "/api/ext/ext_data_rank", map[string]any{
"extdataname": extdataname, "stockcode": stockcode, "deviation": deviation,
}, "rank")
}
func (c *Client) GetFactorValue(ctx context.Context, factorname, stockcode string, deviation int) (any, error) {
var out struct {
Value any `json:"value"`
}
body := map[string]any{"factorname": factorname, "stockcode": stockcode, "deviation": deviation}
if err := c.post(ctx, "/api/ext/get_factor_value", body, &out); err != nil {
return nil, err
}
return out.Value, nil
return c.postField(ctx, "/api/ext/get_factor_value", map[string]any{
"factorname": factorname, "stockcode": stockcode, "deviation": deviation,
}, "value")
}
func (c *Client) GetFactorRank(ctx context.Context, factorname, stockcode string, deviation int) (any, error) {
var out struct {
Rank any `json:"rank"`
}
body := map[string]any{"factorname": factorname, "stockcode": stockcode, "deviation": deviation}
if err := c.post(ctx, "/api/ext/get_factor_rank", body, &out); err != nil {
return nil, err
}
return out.Rank, nil
return c.postField(ctx, "/api/ext/get_factor_rank", map[string]any{
"factorname": factorname, "stockcode": stockcode, "deviation": deviation,
}, "rank")
}