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)
|
||
|