Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
cd49e800
提交
cd49e800
authored
1月 22, 2025
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
封装云喇叭的注册与播放接口调用,后续对接至展厅巡检流程中。
上级
d2511d49
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
103 行增加
和
2 行删除
+103
-2
base.py
预定系统/Base/base.py
+100
-0
README.md
预定系统/README.md
+3
-2
没有找到文件。
预定系统/Base/base.py
浏览文件 @
cd49e800
...
...
@@ -874,3 +874,102 @@ def set_tx_meeting_id(element_locator, wd):
def
get_tx_meeting_id
():
return
GSTORE
.
get
(
'tx_meeting_id'
)
def
voice_device_register
(
app_id
,
app_secret
,
device_sn
):
"""
注册语音设备。
向指定的API发送POST请求,以注册一个语音设备。需要提供应用的ID和密钥,以及设备的序列号。
参数:
app_id (str): 应用的唯一标识符。
app_secret (str): 应用的秘密密钥。
device_sn (str): 设备的序列号。
返回:
无直接返回值,但会记录请求结果到日志。
"""
# 构建请求体,包含注册所需的必要信息
body
=
{
"app_id"
:
app_id
,
"app_secret"
:
app_secret
,
"device_sn"
:
device_sn
}
# 设置请求头,指定内容类型为JSON
headers
=
{
"Content-Type"
:
"application/json"
}
try
:
# 发送POST请求到注册URL,请求体序列化为JSON格式
response
=
requests
.
post
(
"https://wdev.wmj.com.cn/deviceApi/register"
,
headers
=
headers
,
data
=
json
.
dumps
(
body
))
# 检查HTTP响应状态码,确保请求成功
response
.
raise_for_status
()
# 解析响应的JSON内容
response_json
=
response
.
json
()
# 记录成功的请求日志
logging
.
info
(
"请求成功:
%
s"
,
response_json
)
except
requests
.
exceptions
.
RequestException
as
e
:
# 处理请求异常,记录错误日志
logging
.
error
(
"请求失败:
%
s"
,
e
)
except
ValueError
as
e
:
# 处理解析响应异常,记录错误日志
logging
.
error
(
"解析响应失败:
%
s"
,
e
)
def
play_cloud_voice
(
app_id
,
app_secret
,
device_sn
):
"""
播放云语音功能。
本函数通过发送HTTP POST请求,触发远程语音设备播放指定的语音内容。
"""
# 注册设备
voice_device_register
(
app_id
,
app_secret
,
device_sn
)
sleep
(
5
)
# 可以考虑使用异步编程或非阻塞的方式替代
# 定义请求URL
url
=
os
.
getenv
(
"CLOUD_VOICE_API_URL"
,
"https://wdev.wmj.com.cn/deviceApi/send"
)
# 构建请求体,包括应用ID、应用密钥、设备序列号和语音播放指令
body
=
{
"app_id"
:
app_id
,
"app_secret"
:
app_secret
,
"device_sn"
:
device_sn
,
"data"
:
{
"cmd_type"
:
"play"
,
"info"
:
{
"tts"
:
"测试,这是一段音频播放"
,
"inner"
:
10
,
# wifi版特有
"volume"
:
5
# 4G版本1-7,wifi版1-10
}
}
}
# 设置请求头,指定内容类型为JSON
headers
=
{
"Content-Type"
:
"application/json"
}
try
:
# 发送POST请求
response
=
requests
.
post
(
url
,
headers
=
headers
,
data
=
json
.
dumps
(
body
))
# 根据响应状态码判断请求是否成功
if
response
.
status_code
==
200
:
logging
.
info
(
f
"请求成功: {response.json()}"
)
else
:
logging
.
error
(
f
"请求失败: 状态码 {response.status_code}, 响应内容 {response.text}"
)
except
requests
.
exceptions
.
RequestException
as
e
:
logging
.
error
(
f
"请求过程中发生异常: {e}"
)
except
json
.
JSONDecodeError
as
e
:
logging
.
error
(
f
"JSON解析失败: {e}"
)
except
Exception
as
e
:
logging
.
error
(
f
"发生未知异常: {e}"
)
# # 示例调用
# if __name__ == "__main__":
# app_id = os.getenv("APP_ID", "a98a124c6c3252f6612fc544a0d0fa79")
# app_secret = os.getenv("APP_SECRET", "88bc1ec4eba624f47b2200a4ce8c3852")
# device_sn = os.getenv("DEVICE_SN", "W703BB44444")
# play_cloud_voice(app_id, app_secret, device_sn)
\ No newline at end of file
预定系统/README.md
浏览文件 @
cd49e800
...
...
@@ -184,4 +184,5 @@
44.
2025-01-20
-
根据测试报告打印的异常信息,调整会议主流程相关代码的定位方式。
45.
2025-01-22
-
根据测试报告处理统一平台没有截图的问题。调整议题上传函数等待时间。
\ No newline at end of file
-
根据测试报告处理统一平台没有截图的问题。调整议题上传函数等待时间。
-
封装云喇叭的注册与播放接口调用,后续对接至展厅巡检流程中。
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论