50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
|
import json
|
|||
|
from datetime import datetime
|
|||
|
|
|||
|
from aliyunsdkcore.client import AcsClient
|
|||
|
from aliyunsdkcore.request import CommonRequest
|
|||
|
|
|||
|
from WxMini.Milvus.Config.MulvusConfig import *
|
|||
|
from WxMini.Utils.RedisUtil import set_tts_token, get_tts_token
|
|||
|
|
|||
|
|
|||
|
def getToken():
|
|||
|
# 从Redis获取 TTS Token
|
|||
|
retrieved_token = get_tts_token()
|
|||
|
if retrieved_token:
|
|||
|
#print("使用Redis中的Token:", retrieved_token)
|
|||
|
return retrieved_token
|
|||
|
# 创建AcsClient实例
|
|||
|
client = AcsClient(
|
|||
|
ACCESS_KEY_ID, ACCESS_KEY_SECRET, "cn-shanghai"
|
|||
|
)
|
|||
|
|
|||
|
# 创建request,并设置参数
|
|||
|
request = CommonRequest()
|
|||
|
request.set_method('POST')
|
|||
|
request.set_domain('nls-meta.cn-shanghai.aliyuncs.com')
|
|||
|
request.set_version('2019-02-28')
|
|||
|
request.set_action_name('CreateToken')
|
|||
|
|
|||
|
try:
|
|||
|
response = client.do_action_with_exception(request)
|
|||
|
jss = json.loads(response)
|
|||
|
if 'Token' in jss and 'Id' in jss['Token']:
|
|||
|
token = jss['Token']['Id']
|
|||
|
expireTime = jss['Token']['ExpireTime']
|
|||
|
# 转换为本地时间
|
|||
|
expire_date = datetime.fromtimestamp(expireTime)
|
|||
|
# 格式化输出
|
|||
|
formatted_date = expire_date.strftime("%Y-%m-%d %H:%M:%S")
|
|||
|
print("过期时间:", formatted_date)
|
|||
|
# 计算时间差(秒数)
|
|||
|
now = datetime.now()
|
|||
|
time_diff = (expire_date - now).total_seconds()
|
|||
|
print("距离过期还有(秒):", time_diff)
|
|||
|
# 设置 TTS Token
|
|||
|
set_tts_token(token)
|
|||
|
return token
|
|||
|
except Exception as e:
|
|||
|
print(e)
|
|||
|
|