Compare commits
9 Commits
ee50e38292
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c2e698079d | |||
| cce863c590 | |||
| 09539ecfb8 | |||
| fee33a68c6 | |||
| 8584cc78b2 | |||
| 7d604dcd53 | |||
| 9ddb412b7a | |||
| 1c9c5ab639 | |||
| d6675050e6 |
@ -5,8 +5,8 @@ VITE_APP_TITLE = 云平台管理系统
|
|||||||
VITE_APP_ENV = 'development'
|
VITE_APP_ENV = 'development'
|
||||||
|
|
||||||
# 开发环境
|
# 开发环境
|
||||||
# VITE_APP_BASE_API = 'http://139.224.253.23:8000'
|
VITE_APP_BASE_API = 'http://192.168.2.34:8000'
|
||||||
VITE_APP_BASE_API = 'https://www.cnxhyc.com/jq'
|
#VITE_APP_BASE_API = 'https://www.cnxhyc.com/jq'
|
||||||
# VITE_APP_BASE_API = 'http://192.168.110.57:8000'
|
# VITE_APP_BASE_API = 'http://192.168.110.57:8000'
|
||||||
#代永飞接口
|
#代永飞接口
|
||||||
# VITE_APP_BASE_API = 'http://457102h2d6.qicp.vip:24689'
|
# VITE_APP_BASE_API = 'http://457102h2d6.qicp.vip:24689'
|
||||||
|
|||||||
@ -2,16 +2,10 @@
|
|||||||
VITE_APP_TITLE = 云平台管理系统
|
VITE_APP_TITLE = 云平台管理系统
|
||||||
|
|
||||||
# 生产环境配置 晶全1
|
# 生产环境配置 晶全1
|
||||||
VITE_APP_ENV = 'production'
|
VITE_APP_ENV = 'https://www.cnxhyc.com'
|
||||||
|
|
||||||
# 生产环境配置 富源晟2
|
|
||||||
# VITE_APP_ENV = 'https://fuyuanshen.com/backend-fys'
|
|
||||||
|
|
||||||
# 应用访问路径 晶全1
|
# 应用访问路径 晶全1
|
||||||
VITE_APP_CONTEXT_PATH = '/PC/'
|
VITE_APP_CONTEXT_PATH = '/jingquan/'
|
||||||
|
|
||||||
# 高德地图Key
|
|
||||||
VITE_AMAP_KEY='84a12a692ae378effdf741e16d584cd3'
|
|
||||||
|
|
||||||
# 应用访问路径 富源晟2
|
# 应用访问路径 富源晟2
|
||||||
#VITE_APP_CONTEXT_PATH = '/sys/'
|
#VITE_APP_CONTEXT_PATH = '/sys/'
|
||||||
@ -23,12 +17,7 @@ VITE_APP_MONITOR_ADMIN = '/admin/applications'
|
|||||||
VITE_APP_SNAILJOB_ADMIN = '/snail-job'
|
VITE_APP_SNAILJOB_ADMIN = '/snail-job'
|
||||||
|
|
||||||
# 生产环境 晶全3 代理访问
|
# 生产环境 晶全3 代理访问
|
||||||
VITE_APP_BASE_API = 'https://www.cnxhyc.com/jq'
|
VITE_APP_BASE_API = '/jq'
|
||||||
|
|
||||||
# VITE_APP_BASE_API = 'http://139.224.253.23:8000'
|
|
||||||
|
|
||||||
# 生产环境 富源晟3
|
|
||||||
#VITE_APP_BASE_API = '/backend-fys'
|
|
||||||
|
|
||||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||||
VITE_BUILD_COMPRESS = gzip
|
VITE_BUILD_COMPRESS = gzip
|
||||||
|
|||||||
@ -35,11 +35,13 @@
|
|||||||
"image-conversion": "2.1.1",
|
"image-conversion": "2.1.1",
|
||||||
"js-cookie": "3.0.5",
|
"js-cookie": "3.0.5",
|
||||||
"jsencrypt": "3.3.2",
|
"jsencrypt": "3.3.2",
|
||||||
|
"lamejs": "^1.2.1",
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"paho-mqtt": "^1.1.0",
|
"paho-mqtt": "^1.1.0",
|
||||||
"pinia": "3.0.2",
|
"pinia": "3.0.2",
|
||||||
"qrcode-vue3": "^1.7.1",
|
"qrcode-vue3": "^1.7.1",
|
||||||
|
"recorder-core": "^1.3.25011100",
|
||||||
"screenfull": "6.0.2",
|
"screenfull": "6.0.2",
|
||||||
"vue": "3.5.13",
|
"vue": "3.5.13",
|
||||||
"vue-cropper": "1.1.1",
|
"vue-cropper": "1.1.1",
|
||||||
@ -72,7 +74,7 @@
|
|||||||
"sass": "1.87.0",
|
"sass": "1.87.0",
|
||||||
"terser": "^5.43.1",
|
"terser": "^5.43.1",
|
||||||
"typescript": "~5.8.3",
|
"typescript": "~5.8.3",
|
||||||
"unocss": "^66.0.0",
|
"unocss": "^0.58.0",
|
||||||
"unplugin-auto-import": "19.1.2",
|
"unplugin-auto-import": "19.1.2",
|
||||||
"unplugin-icons": "22.1.0",
|
"unplugin-icons": "22.1.0",
|
||||||
"unplugin-vue-components": "28.5.0",
|
"unplugin-vue-components": "28.5.0",
|
||||||
|
|||||||
135
src/api/controlCenter/controlPanel/100J.ts
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
import { param } from '@/utils';
|
||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
// 详情信息
|
||||||
|
export const deviceDeatil = (id: string) => {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/${id}`,
|
||||||
|
method: 'get',
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 警示灯爆闪模式
|
||||||
|
export const strobeMode = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/strobeMode`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 灯光亮度
|
||||||
|
function lightModeSettings (data: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/lightAdjustment`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
//频率调节
|
||||||
|
function staticPowerSetting (data: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/strobeFrequency`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 修改音量
|
||||||
|
function settingUpdateVolume (data: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/updateVolume`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// 强制报警
|
||||||
|
function SosSetting (data: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/forceAlarmActivation`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 语音列表
|
||||||
|
function queryAudioFileList (params: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/video/queryAudioFileList`,
|
||||||
|
method: 'get',
|
||||||
|
params: params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 提取文本内容
|
||||||
|
function extractText (data: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/video/extract`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 上传音频文件
|
||||||
|
function uploadAudioToOss (data: any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/video/uploadAudioToOss`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 文本转语音
|
||||||
|
export function videTtsToOss(data:any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/video/ttsToOss`,
|
||||||
|
method: 'post',
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 重命名
|
||||||
|
export function videRenameAudioFile(data:any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/video/renameAudioFile`,
|
||||||
|
method: 'post',
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 删除语音文件列表
|
||||||
|
export function deviceDeleteAudioFile(params:any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/video/deleteAudioFile`,
|
||||||
|
method: 'get',
|
||||||
|
params:params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新语音,使用语音
|
||||||
|
export function deviceUpdateVoice(data:any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/updateVoice`,
|
||||||
|
method: 'post',
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 语音播放
|
||||||
|
export function deviceVoiceBroadcast(data:any) {
|
||||||
|
return request({
|
||||||
|
url: `/api/hby100j/device/voiceBroadcast`,
|
||||||
|
method: 'post',
|
||||||
|
data:data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
deviceDeatil,
|
||||||
|
lightModeSettings:lightModeSettings,
|
||||||
|
SosSetting:SosSetting,
|
||||||
|
staticPowerSetting:staticPowerSetting,
|
||||||
|
settingUpdateVolume:settingUpdateVolume,
|
||||||
|
queryAudioFileList,
|
||||||
|
videRenameAudioFile,
|
||||||
|
deviceDeleteAudioFile,
|
||||||
|
deviceUpdateVoice,
|
||||||
|
videTtsToOss,
|
||||||
|
uploadAudioToOss,
|
||||||
|
extractText,
|
||||||
|
strobeMode,
|
||||||
|
deviceVoiceBroadcast
|
||||||
|
};
|
||||||
@ -1,3 +1,5 @@
|
|||||||
|
import { string } from "vue-types";
|
||||||
|
|
||||||
export interface deviceQuery {
|
export interface deviceQuery {
|
||||||
groupId: string;
|
groupId: string;
|
||||||
pageNum: number;
|
pageNum: number;
|
||||||
@ -36,14 +38,12 @@ export interface DeviceDetail {
|
|||||||
currentLightMode?: string;// 当前选中的灯光模式(如"strong",对应强光)
|
currentLightMode?: string;// 当前选中的灯光模式(如"strong",对应强光)
|
||||||
sendMsg: string;
|
sendMsg: string;
|
||||||
lightBrightness: string;
|
lightBrightness: string;
|
||||||
personnelInfo: { // 人员信息(嵌套对象,根据接口调整)
|
strobeFrequency: string;
|
||||||
unitName: string; // 单位
|
volume: string;
|
||||||
position: string; // 职位
|
|
||||||
name: string; // 姓名
|
|
||||||
code: string; // ID(身份证/工号)
|
|
||||||
};
|
|
||||||
chargeState: string;
|
chargeState: string;
|
||||||
alarmStatus:number
|
alarmStatus: number,
|
||||||
|
voiceStrobeAlarm?:number
|
||||||
|
voiceBroadcast?:number
|
||||||
}
|
}
|
||||||
// 定义灯光模式的类型接口
|
// 定义灯光模式的类型接口
|
||||||
export interface LightMode {
|
export interface LightMode {
|
||||||
|
|||||||
BIN
src/assets/images/dw.png
Normal file
|
After Width: | Height: | Size: 523 B |
BIN
src/assets/images/hb.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/hbAc.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
src/assets/images/jwd.png
Normal file
|
After Width: | Height: | Size: 330 B |
BIN
src/assets/images/ly.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/assets/images/lz.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
src/assets/images/rg1.png
Normal file
|
After Width: | Height: | Size: 304 B |
BIN
src/assets/images/rg1Ac.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/assets/images/zk.png
Normal file
|
After Width: | Height: | Size: 320 B |
BIN
src/assets/images/zt.png
Normal file
|
After Width: | Height: | Size: 125 B |
BIN
src/assets/images/组 62.png
Normal file
|
After Width: | Height: | Size: 992 B |
@ -28,7 +28,6 @@ function copyTextToClipboard(input: string, { target = document.body } = {}) {
|
|||||||
element.value = input;
|
element.value = input;
|
||||||
// Prevent keyboard from showing on mobile
|
// Prevent keyboard from showing on mobile
|
||||||
element.setAttribute('readonly', '');
|
element.setAttribute('readonly', '');
|
||||||
|
|
||||||
element.style.contain = 'strict';
|
element.style.contain = 'strict';
|
||||||
element.style.position = 'absolute';
|
element.style.position = 'absolute';
|
||||||
element.style.left = '-9999px';
|
element.style.left = '-9999px';
|
||||||
|
|||||||
@ -35,7 +35,7 @@ export default {
|
|||||||
ElMessageBox.alert(content, '系统提示', { type: 'warning' });
|
ElMessageBox.alert(content, '系统提示', { type: 'warning' });
|
||||||
},
|
},
|
||||||
// 通知提示
|
// 通知提示
|
||||||
notify(content: any) {
|
notify(content: any) {
|
||||||
ElNotification.info(content);
|
ElNotification.info(content);
|
||||||
},
|
},
|
||||||
// 错误通知
|
// 错误通知
|
||||||
@ -56,7 +56,7 @@ export default {
|
|||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 提交内容
|
// 提交内容
|
||||||
prompt(content: any) {
|
prompt(content: any) {
|
||||||
|
|||||||
@ -11,7 +11,7 @@ export const initWebSocket = (url: any) => {
|
|||||||
useWebSocket(url, {
|
useWebSocket(url, {
|
||||||
autoReconnect: {
|
autoReconnect: {
|
||||||
// 重连最大次数
|
// 重连最大次数
|
||||||
retries: 3,
|
retries: 3,
|
||||||
// 重连间隔
|
// 重连间隔
|
||||||
delay: 1000,
|
delay: 1000,
|
||||||
onFailed() {
|
onFailed() {
|
||||||
|
|||||||
1616
src/views/controlCenter/100J/index.vue
Normal file
@ -6,3 +6,4 @@ export default () => {
|
|||||||
autoInstall: true
|
autoInstall: true
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||