- refresh token的时候要判断相应API是否存在

This commit is contained in:
gazebo
2019-04-24 14:21:43 +08:00
parent 7ac08594b4
commit b6c60c2cc3

View File

@@ -106,8 +106,9 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun
return err return err
} }
func RefreshWeixinToken() error { func RefreshWeixinToken() (err error) {
return RefreshConfig("wechat", weixinTokenExpires, func() (string, string) { if api.WeixinAPI != nil {
err = RefreshConfig("wechat", weixinTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshWeixinToken RunMode:%s", beego.BConfig.RunMode) globals.SugarLogger.Debugf("RefreshWeixinToken RunMode:%s", beego.BConfig.RunMode)
if beego.BConfig.RunMode == "prod" { if beego.BConfig.RunMode == "prod" {
if tokenInfo, err := api.WeixinAPI.CBRetrieveToken(); err == nil { if tokenInfo, err := api.WeixinAPI.CBRetrieveToken(); err == nil {
@@ -122,9 +123,12 @@ func RefreshWeixinToken() error {
api.WeixinAPI.CBSetToken(value) api.WeixinAPI.CBSetToken(value)
}) })
} }
return err
}
func RefreshElmToken() error { func RefreshElmToken() (err error) {
return RefreshConfig("eleme", elmTokenExpires, func() (string, string) { if api.ElmAPI != nil {
err = RefreshConfig("eleme", elmTokenExpires, func() (string, string) {
if beego.BConfig.RunMode == "prod" { if beego.BConfig.RunMode == "prod" {
if tokenInfo, err := api.ElmAPI.RefreshTokenIndividual(); err == nil { if tokenInfo, err := api.ElmAPI.RefreshTokenIndividual(); err == nil {
tokenInfo2 := &ElmTokenForCompatible{ tokenInfo2 := &ElmTokenForCompatible{
@@ -148,9 +152,12 @@ func RefreshElmToken() error {
} }
}) })
} }
return err
}
func RefreshWeimobToken() error { func RefreshWeimobToken() (err error) {
return RefreshConfig("weimob", weimobTokenExpires, func() (string, string) { if api.WeimobAPI != nil {
err = RefreshConfig("weimob", weimobTokenExpires, func() (string, string) {
if beego.BConfig.RunMode == "prod" { if beego.BConfig.RunMode == "prod" {
if tokenInfo, err := api.WeimobAPI.RefreshTokenByRefreshToken(); err == nil { if tokenInfo, err := api.WeimobAPI.RefreshTokenByRefreshToken(); err == nil {
return string(utils.MustMarshal(tokenInfo)), utils.Time2Str(time.Now().Add((time.Duration(tokenInfo.ExpiresIn) - weimobTokenExpires/time.Second) * time.Second)) return string(utils.MustMarshal(tokenInfo)), utils.Time2Str(time.Now().Add((time.Duration(tokenInfo.ExpiresIn) - weimobTokenExpires/time.Second) * time.Second))
@@ -165,8 +172,10 @@ func RefreshWeimobToken() error {
} }
}) })
} }
return err
}
func RefreshDingDingToken() error { func RefreshDingDingToken() (err error) {
api.DingDingAPI.RetrieveToken() api.DingDingAPI.RetrieveToken()
return RefreshConfig("dingding", dingdingTokenExpires, func() (string, string) { return RefreshConfig("dingding", dingdingTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshDingDingToken RunMode:%s", beego.BConfig.RunMode) globals.SugarLogger.Debugf("RefreshDingDingToken RunMode:%s", beego.BConfig.RunMode)
@@ -195,7 +204,7 @@ func SaveWeimobToken(token *weimobapi.TokenInfo) (err error) {
return dao.CreateOrUpdate(db, config) return dao.CreateOrUpdate(db, config)
} }
func RefreshYilianyunToken() error { func RefreshYilianyunToken() (err error) {
return RefreshConfig("yilianyun", yilianyunTokenExpires, func() (string, string) { return RefreshConfig("yilianyun", yilianyunTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshYilianyunToken RunMode:%s", beego.BConfig.RunMode) globals.SugarLogger.Debugf("RefreshYilianyunToken RunMode:%s", beego.BConfig.RunMode)
if beego.BConfig.RunMode == "prod" { if beego.BConfig.RunMode == "prod" {