40 lines
884 B
Go
40 lines
884 B
Go
|
|
package meituan_media
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|||
|
|
|
|||
|
|
"gitee.com/chengdu-lenntc/third-platform-sdk/client"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// AuthConfig api鉴权参数
|
|||
|
|
type AuthConfig struct {
|
|||
|
|
AppKey string // 应用key
|
|||
|
|
AppSecret string // 应用秘钥
|
|||
|
|
SupplierID string // 供应商ID(账号)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 连接第三方平台的client
|
|||
|
|
type Client struct {
|
|||
|
|
log logx.Logger
|
|||
|
|
authConfig AuthConfig
|
|||
|
|
client.HttpClient
|
|||
|
|
headers map[string]string
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
func NewApiClient(log logx.Logger, conf AuthConfig) MeituanMediaApi {
|
|||
|
|
clt := newClient(log, conf)
|
|||
|
|
sign := newSign(conf.AppKey, conf.AppSecret)
|
|||
|
|
return newMeituanMediaApiImpl(log, clt, sign)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
func newClient(log logx.Logger, conf AuthConfig) *Client {
|
|||
|
|
return &Client{
|
|||
|
|
log: log,
|
|||
|
|
authConfig: conf,
|
|||
|
|
HttpClient: client.NewHttpClient(log),
|
|||
|
|
headers: map[string]string{
|
|||
|
|
"Content-Type": "application/json",
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
}
|