third-platform-sdk/platform/eleme-union/client.go
2024-05-07 23:26:53 +08:00

56 lines
1.3 KiB
Go

package eleme_union
import (
"net/http"
"github.com/zeromicro/go-zero/core/logx"
"gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk"
"gitee.com/chengdu-lenntc/third-platform-sdk/sdk/topsdk/defaultability"
"gitee.com/chengdu-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
}