抖店api

This commit is contained in:
邹宗楠
2022-09-30 16:15:31 +08:00
parent cc6a1c5c1e
commit 31a3dce31b
134 changed files with 2002 additions and 292 deletions

View File

@@ -15,15 +15,14 @@ const (
CallbackFail = "fail"
)
var AccessToken *doudian_sdk.AccessToken // 存储数据库
type API struct {
appKey string
appSecret string
accessToken string
refreshToken string
expiresIn int64 // 当前时间的七天内为有效期
locker sync.RWMutex
appKey string
appSecret string
accessToken string
refreshToken string
expiresIn int64 // 当前时间的七天内为有效期
locker sync.RWMutex
accessTokenObj *doudian_sdk.AccessToken // 存储数据库
}
func New(appKey, appSecret, accessToken string) *API {
@@ -32,15 +31,17 @@ func New(appKey, appSecret, accessToken string) *API {
if err := json.Unmarshal([]byte(accessToken), &access); err != nil {
globals.SugarLogger.Debug("accessToken init err :", err)
return nil
} else {
AccessToken = access
}
}
doudian_sdk.GlobalConfig.AppKey = appKey
doudian_sdk.GlobalConfig.AppSecret = appSecret
return &API{
appKey: appKey,
appSecret: appSecret,
appKey: appKey,
appSecret: appSecret,
accessToken: access.AccessToken,
refreshToken: access.RefreshToken,
expiresIn: access.ExpiresIn,
accessTokenObj: access,
}
}
@@ -73,7 +74,8 @@ func (a *API) CreateToken(code string) (*doudian_sdk.CreateTokenData, error) {
a.accessToken = access.AccessToken
a.refreshToken = access.RefreshToken
a.expiresIn = time.Now().Unix() + access.ExpiresIn
AccessToken = access
a.accessTokenObj = access
// 不要
strData, _ := json.Marshal(access)
globals.SugarLogger.Debug("=========", string(strData))
return &access.CreateTokenData, nil
@@ -87,20 +89,28 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) {
refresh.GetParam().RefreshToken = a.refreshToken
refresh.GetParam().GrantType = "refresh_token"
createToken, err := refresh.Execute(AccessToken)
createToken, err := refresh.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
a.accessToken = createToken.Data.AccessToken
a.refreshToken = createToken.Data.RefreshToken
a.expiresIn = time.Now().Unix() + createToken.Data.ExpiresIn
AccessToken.CreateTokenData = createToken.Data
a.accessTokenObj.CreateTokenData = createToken.Data
// 不要
strData, _ := json.Marshal(createToken.Data)
globals.SugarLogger.Debug("=========", string(strData))
return &createToken.Data, nil
}
func (a *API) SetToken(token string) {
a.locker.Lock()
defer a.locker.Unlock()
var access *doudian_sdk.AccessToken
if err := json.Unmarshal([]byte(token), &access); err != nil {
return
}
a.accessToken = token
}
@@ -109,3 +119,22 @@ func (a *API) SetRefreshToken(token string) {
defer a.locker.Unlock()
a.refreshToken = token
}
// GetAppId 获取appid
func (a *API) GetAppId() string {
a.locker.Lock()
defer a.locker.Unlock()
return a.appKey
}
func (a *API) SetAccessToken(token string) {
a.locker.Lock()
defer a.locker.Unlock()
var access *doudian_sdk.AccessToken
if err := json.Unmarshal([]byte(token), &access); err != nil {
return
}
a.accessTokenObj = access
return
}