Merge pull request #515 from thsrite/main

This commit is contained in:
jxxghp
2023-09-08 21:49:49 +08:00
committed by GitHub

View File

@ -215,9 +215,6 @@ class MessageForward(_PluginBase):
"""
获取并存储wechat token
"""
# 查询历史
wechat_token_history = self.get_data("wechat_token") or {}
# 解析配置
wechats = self._wechat.split("\n")
for index, wechat in enumerate(wechats):
@ -229,34 +226,14 @@ class MessageForward(_PluginBase):
corpid = wechat_config[1]
appsecret = wechat_config[2]
# 查询历史是否存储token
wechat_config = wechat_token_history.get(appid)
access_token = None
expires_in = None
access_token_time = None
if wechat_config:
access_token_time = wechat_config['access_token_time']
expires_in = wechat_config['expires_in']
access_token = wechat_config['access_token']
# 判断token是否过期
if (datetime.now() - datetime.strptime(access_token_time, "%Y-%m-%d %H:%M:%S")).seconds >= expires_in:
# 已过期重新获取token
access_token, expires_in, access_token_time = self.__get_access_token(corpid=corpid,
appsecret=appsecret)
if not access_token:
# 没有token获取token
access_token, expires_in, access_token_time = self.__get_access_token(corpid=corpid,
appsecret=appsecret)
if access_token:
if isinstance(access_token_time, datetime):
access_token_time = access_token_time.strftime('%Y-%m-%d %H:%M:%S')
wechat_token_history[appid] = {
"access_token": access_token,
"expires_in": expires_in,
"access_token_time": access_token_time,
"corpid": corpid,
"appsecret": appsecret
}
logger.error(f"wechat配置 appid = {appid} 获取token失败请检查配置")
continue
self._pattern_token[index] = {
"appid": appid,
"corpid": corpid,
@ -265,12 +242,6 @@ class MessageForward(_PluginBase):
"expires_in": expires_in,
"access_token_time": access_token_time,
}
else:
logger.error(f"wechat配置 appid = {appid} 获取token失败请检查配置")
# 保存wechat token
if wechat_token_history:
self.save_data("wechat_token", wechat_token_history)
def __flush_access_token(self, index: int, force: bool = False):
"""
@ -288,7 +259,7 @@ class MessageForward(_PluginBase):
appsecret = wechat_token['appsecret']
# 判断token有效期
if force or (datetime.now() - datetime.strptime(access_token_time, "%Y-%m-%d %H:%M:%S")).seconds >= expires_in:
if force or (datetime.now() - access_token_time).seconds >= expires_in:
# 重新获取token
access_token, expires_in, access_token_time = self.__get_access_token(corpid=corpid,
appsecret=appsecret)