lanrion / weixin_authorize

微信 Ruby 高级API weixin_authorize http://github.com/lanrion/weixin_authorize .
MIT License
322 stars 116 forks source link

add config option for redis key expired #85

Closed wikimo closed 8 years ago

wikimo commented 8 years ago

make redis key expired can be config

lanrion commented 8 years ago

建议在 https://github.com/lanrion/weixin_authorize/blob/master/lib%2Fweixin_authorize%2Fconfig.rb 这里添加这个配置。同时需要处理redis_token/object_token、还有js_ticket的。

wikimo commented 8 years ago

object token也需要修改,意思是object 过期时间也往前推几秒?

lanrion commented 8 years ago

都会出现一样的问题,上次你是提到Redis,所以我只简单提高了Redis Store的提前时间。

wikimo commented 8 years ago

代码已重构 @lanrion

lanrion commented 8 years ago

不错,不过,我刚刚仔细看了一下,有2点要麻烦再重构一下: 1:commit合并为1个,因为你的功能点就是一个; 2:过期时间减去100,这一步可以在 js_ticket/store.rbtoken/store.rb对应的set_jsticketset_access_token做一致的处理,同时可以把这个算法抽象为一个helper来处理。比如


# 定义在 weixin_authorize.rb
def calculate_expire(expires_in)
   Time.now + expires_in.to_i - config.key_expired
end

# 调用 
client.expired_at   = WeixinAuthorize.calculate_expire(token_infos["expires_in"])

在源头上处理减掉100,然后在其他使用地方直接调用client.expired_at。

你看一下行不行?

wikimo commented 8 years ago

确实比我写的时候考虑得深入细致,我晚点再改进下。 lanrion notifications@github.com于2016年4月18日 周一19:46写道:

不错,不过,我刚刚仔细看了一下,有2点要麻烦再重构一下: 1:commit合并为1个,因为你的功能点就是一个; 2:过期时间减去100,这一步可以在 js_ticket/store.rb与token/store.rb对应的set_jsticket与 set_access_token做一致的处理,同时可以把这个算法抽象为一个helper来处理。比如

定义在 weixin_authorize.rbdef calculate_expire(expires_in)

Time.now + expires_in.to_i - config.key_expiredend

调用

client.expired_at = WeixinAuthorize.calculate_expire(token_infos["expires_in"])

在源头上处理减掉100,然后在其他使用地方直接调用client.expired_at。

你看一下行不行?

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/lanrion/weixin_authorize/pull/85#issuecomment-211343416

wikimo commented 8 years ago
  1. commit 已合并;
  2. 已重构;
wikimo commented 8 years ago

更新了commit 注释,原先的写的不准确