From 94d29fd422a7582f6ab35ae305edeeb4fa3771c1 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期三, 25 六月 2025 17:58:51 +0800
Subject: [PATCH] gx厦门本地请求地址
---
src/views/deviceWindoes2.vue | 76 +++++++++++++++++++++++++++++++++----
1 files changed, 67 insertions(+), 9 deletions(-)
diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index c63b3b1..4efac9b 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -1531,6 +1531,8 @@
<template #footer>
<div class="dialog-footer">
<el-button @click="centerDialogVisible = false">取消</el-button>
+ <el-button @click="test">测试播报</el-button>
+ <el-button @click="toggleAlarm">测试报警</el-button>
<el-button type="primary" @click="saveSet"> 确认 </el-button>
<el-button type="success" @click="shuaxin"> 刷新 </el-button>
</div>
@@ -1663,6 +1665,8 @@
import cljd from "../img/cljd.png";
import tizhong from "../img/tizhong.png";
import { EventSourcePolyfill } from "event-source-polyfill";
+import alertbaojin from '../assets/alert.wav'
+
import {
computed,
getCurrentInstance,
@@ -1677,6 +1681,23 @@
import * as echarts from "echarts";
import { jgTime4 } from "../utils/formatTime";
import { setTimeoutAlert } from "../utils/httpApi";
+// 创建 Audio 对象,指向 public 目录下的音频文件
+const alarmSound = new Audio(alertbaojin)
+
+// 控制播放状态的变量
+const isPlaying = ref(false)
+// 切换播放/暂停的方法
+const toggleAlarm = () => {
+ if (isPlaying.value) {
+ alarmSound.pause()
+ } else {
+ alarmSound.currentTime = 0 // 从头开始播放
+ alarmSound.play().catch((err) => {
+ console.error('播放失败:', err)
+ })
+ }
+ isPlaying.value = !isPlaying.value
+}
// 语音播报
import Speech from "speak-tts";
const speech = ref(null);
@@ -1925,10 +1946,7 @@
};
// 保存定时任务
const setDingshi = () => {
- if (!formInline.value.alertText) {
- ElMessage.warning("设置报警消息不能为空");
- return true;
- }
+
console.log("--------------------");
console.log(formInline.value);
console.log(deviceCode.value);
@@ -1939,6 +1957,10 @@
} else {
alertText = formInline.value.alertText;
}
+ if (alertText==='') {
+ ElMessage.warning("设置报警消息不能为空");
+ return true;
+ }
setTimeoutAlert({
deviceCode: deviceCode.value,
minutes: minutes,
@@ -1948,6 +1970,7 @@
if (res.data === "OK") {
倒计时.value = minutes * 60;
centerDialogVisible2.value = false;
+ 倒计时告警文本.value = alertText
} else {
ElMessage.warning(res.message);
}
@@ -2108,7 +2131,7 @@
return `${pad(hours)}:${pad(minutes)}:${pad(seconds)}`;
};
-const 倒计时 = ref(0);
+const 倒计时 = ref(-100);
const 倒计时显示 = ref("00:00:00");
const 倒计时告警文本 = ref("");
// 定时器回调函数
@@ -2116,7 +2139,17 @@
if (倒计时.value > 0) {
倒计时显示.value = formatSecondsToTime(倒计时.value);
倒计时.value--;
- } else {
+ } else if(倒计时.value!==-100) {
+ 倒计时显示.value = "";
+ // 只有没触发的时候才触发他
+ if(centerDialogVisible3.value===false){
+ centerDialogVisible3.value = true;
+ 关闭弹框警告();
+ // 播报警告文本(倒计时告警文本.value);
+ toggleAlarm()
+ }
+
+ }else{
倒计时显示.value = "";
}
};
@@ -2213,10 +2246,11 @@
const 数据初始化 = ref(false);
//创建链接对象
const creatSource = () => {
- // http://testbs.ihemodialysis.com/sse/sseEvent
// const test='http://testbs.ihemodialysis.com/sse/sseEvent/'
+ // const test = "https://backend.ihemodialysis.com/sse/sseEvent/";
+ const test = "http://10.36.2.146:8069/sse/sseEvent/";
数据初始化.value = true;
- const test = "https://backend.ihemodialysis.com/sse/sseEvent/";
+
const stateArr = [
{ key: 0, value: "正在链接中" },
{ key: 1, value: "已经链接并且可以通讯" },
@@ -2253,11 +2287,12 @@
if (dataBody.倒计时?.提醒文本) {
倒计时.value = dataBody.倒计时?.设定提醒倒计时;
console.log("设置了倒计时值", 倒计时.value);
- if (倒计时.value <= 0 && 倒计时.value >= -60) {
+ if (倒计时.value <= 0 && 倒计时.value >= -60&& centerDialogVisible3.value===false) {
centerDialogVisible3.value = true;
倒计时告警文本.value = dataBody.倒计时?.提醒文本;
关闭弹框警告();
播报警告文本(倒计时告警文本.value);
+ toggleAlarm()
} else if (倒计时.value <= -60) {
centerDialogVisible3.value = false;
}
@@ -2322,10 +2357,13 @@
setTimeout(function () {
console.log("30秒已过,关闭报警设置弹框。");
centerDialogVisible3.value = false;
+ toggleAlarm()
+ 倒计时.value=-100
}, 30000); // 30000 毫秒 = 30 秒
};
const 播报警告文本 = (tex) => {
if (centerDialogVisible3.value) {
+ console.log(centerDialogVisible3.value,'播报')
speech.value
.speak({
text: tex,
@@ -2349,6 +2387,26 @@
});
}
};
+const test=()=>{
+ speech.value
+ .speak({
+ text: '你好,我现在在测试播报内容',
+ listeners: {
+ //开始播放
+ onstart: () => {
+ console.log("开始播报");
+ },
+ //判断播放是否完毕
+ onend: () => {
+ console.log("播报完成");
+ },
+ //恢复播放
+ onresume: () => {
+ console.log("Resume utterance");
+ },
+ },
+ })
+}
//初始化
const sourceInit = () => {
console.log("初始化see");
--
Gitblit v1.8.0