package eleme_union import ( "net/http" "github.com/zeromicro/go-zero/core/logx" "repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk" "repository.lenntc.com/lenntc/third-platform-sdk/sdk/topsdk/defaultability" "repository.lenntc.com/lenntc/third-platform-sdk/util" ) // AuthConfig api鉴权参数 type AuthConfig struct { AppKey string // 应用key AppSecret string // 应用秘钥 } // 连接第三方平台的client type Client struct { topClient *topsdk.TopClient abilityClient *defaultability.Defaultability log logx.Logger authConfig AuthConfig } func NewApiClient(log logx.Logger, conf AuthConfig) ElemeUnionApi { clt := newClient(log, conf) return newElemeUnionApiImpl(log, clt) } func newClient(log logx.Logger, conf AuthConfig) *Client { tc := topsdk.NewDefaultTopClient(conf.AppKey, conf.AppSecret, "https://eco.taobao.com/router/rest", 20000, 20000) return &Client{ topClient: &tc, abilityClient: defaultability.NewDefaultability(&tc), log: log, authConfig: conf, } } // todo:: 请求api的频率限制 func (c *Client) apiRateLimit() { } // todo:: 检查api请求频率限制 func (c *Client) checkRateLimit(header *http.Header) error { return nil } // todo:: 检查http响应错误 func (c *Client) checkResponseError(r *util.Response) error { return nil }