Compare commits

..

2 Commits

9 changed files with 790 additions and 642 deletions

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian
* @Date: 2020-07-07 16:03:23
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-13 20:53:24
* @LastEditTime: 2022-11-26 18:40:08
* @Description: 数据资源参数配置
*/
// eslint-disable-next-line no-undef
@ -32,7 +32,11 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
infrastructure.deptId = '1067246875800000066'
navListManagement.navList = [
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent', innerKey: 'algorithmCompare' },
{
name: '能力集市',
key: 'DetailsPageconetent',
innerKey: 'algorithmCompare',
},
{ name: '能力云图', key: 'capabilityCloud' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
@ -50,7 +54,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
left: '青岛市大数据发展管理局',
right: '政府标识码3702000106',
},
address: [{
address: [
{
name: '邮编: 266071',
value: 'Email: QDDSJJ@qingdao.shandong.cn',
},
@ -64,7 +69,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
},
],
}
mapTestNum.lsNum = [{
mapTestNum.lsNum = [
{
name: '基础设施',
key: 'lsjcss',
num: '20135个',
@ -80,7 +86,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
num: '28个',
},
]
mapTestNum.xhaNum = [{
mapTestNum.xhaNum = [
{
name: '基础设施',
key: 'xhajcss',
num: '35282个',
@ -105,7 +112,8 @@ if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
// baotou
else if (newLocation === 'baotou') {
whoShow.itShowBaoTou = true
launchedDataNumObject.launchedDataNum = [{
launchedDataNumObject.launchedDataNum = [
{
num: 10372,
},
{
@ -132,7 +140,8 @@ else if (newLocation === 'baotou') {
left: '包头市工业和信息化局大数据中心建设',
right: '海信网络科技股份有限公司',
},
address: [{
address: [
{
name: '蒙ICP备05003330-1号',
value: '政府标识码1502000040',
},
@ -153,32 +162,41 @@ else if (newLocation === 'xihaian') {
infrastructure.deptName = '西海岸新区大数据发展'
// infrastructure.deptId = '1067246875800000066'
uavAndIndividualSoldier.num = 4
uavAndIndividualSoldier.uavList = [{
uavAndIndividualSoldier.uavList = [
{
name: '经纬 M300 RTK-1',
url: '',
details: [{
details: [
{
name: '飞行器',
attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg空机重量含双电池6.3 kg',
'重量(含下置单云台支架):空机重量(不含电池)':
'3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g',
最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 GHz5.725-5.850 GHz',
'发射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC',
'悬停精度P-GPS': '垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)',
'RTK 位置精度': '在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直',
'发射功率EIRP':
'2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC',
'悬停精度P-GPS':
'垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)',
'RTK 位置精度':
'在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直',
最大旋转角速度: '俯仰轴300°/s、航向轴100°/s',
最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度: '5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大飞行海拔高度:
'5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min',
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'适配 DJI 云台':
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式:
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C',
@ -188,10 +206,14 @@ else if (newLocation === 'xihaian') {
name: '遥控器',
attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC15 km、CE/MIC8 km、SRRC8 km',
'等效全向辐射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC',
外置电池: '名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C',
内置电池: '类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)',
'最大信号有效距离(无干扰、无遮挡)':
'NCC/FCC15 km、CE/MIC8 km、SRRC8 km',
'等效全向辐射功率EIRP':
'2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC',
外置电池:
'名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C',
内置电池:
'类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)',
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C',
@ -202,7 +224,8 @@ else if (newLocation === 'xihaian') {
attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境: '表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
使用环境:
'表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
},
},
{
@ -238,8 +261,10 @@ else if (newLocation === 'xihaian') {
电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃',
充电环境温度: '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
充电环境温度:
'-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间:
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
},
},
{
@ -259,29 +284,37 @@ else if (newLocation === 'xihaian') {
{
name: '经纬 M300 RTK-2',
url: '',
details: [{
details: [
{
name: '飞行器',
attribute: {
尺寸: '尺寸展开不包含桨叶810×670×430 mm××尺寸折叠包含桨叶430×420×430 mm××',
对称电机轴距: '895 mm',
'重量(含下置单云台支架):空机重量(不含电池)': '3.6 kg空机重量含双电池6.3 kg',
'重量(含下置单云台支架):空机重量(不含电池)':
'3.6 kg空机重量含双电池6.3 kg',
单云台减震球最大负重: '930g',
最大起飞重量: '9 kg',
工作频率: '2.4000-2.4835 GHz5.725-5.850 GHz',
'发射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC',
'悬停精度P-GPS': '垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)',
'RTK 位置精度': '在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直',
'发射功率EIRP':
'2.4000-2.4835 GHz29.5 dBmFCC、18.5dBmCE、18.5 dBmSRRC、18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC、12.5dBmCE、28.5 dBmSRRC',
'悬停精度P-GPS':
'垂直±0.1 m视觉定位正常工作时、±0.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时水平±0.3 m视觉定位正常工作时、±1.5 mGPS 正常工作时、±0.1 mRTK 定位正常工作时)',
'RTK 位置精度':
'在 RTK FIX 时1 cm+1 ppm水平、1.5 cm + 1 ppm垂直',
最大旋转角速度: '俯仰轴300°/s、航向轴100°/s',
最大俯仰角度: '30° P模式且前视视觉系统启用25°',
最大上升速度: 'S 模式6 m/s、P 模式5 m/s',
'最大下降速度(垂直)': 'S 模式5 m/s、P 模式4 m/s',
最大倾斜下降速度: 'S 模式7 m/s',
最大水平飞行速度: 'S 模式23 m/s、P 模式17 m/s',
最大飞行海拔高度: '5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大飞行海拔高度:
'5000 m2110 桨叶起飞重量≤7 kg/ 7000 m2195 高原静音桨叶起飞重量≤7 kg',
最大可承受风速: '15m/s起飞及降落阶段为12m/s',
最大飞行时间: '55 min',
'适配 DJI 云台': '禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式: '下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'适配 DJI 云台':
'禅思 XT2、禅思 XT S、禅思 Z30、禅思 H20、禅思 H20T、DJI P1、DJI L1',
支持云台安装方式:
'下置单云台、上置单云台、下置双云台、下置单云台+上置单云台、下置双云台+上置单云台',
'IP 防护等级': 'IP45',
GNSS: 'GPS+GLONASS+BeiDou+Galileo',
工作环境温度: '-20°C 至 50°C',
@ -291,10 +324,14 @@ else if (newLocation === 'xihaian') {
name: '遥控器',
attribute: {
工作频率: '2.4000-2.4835 GHz、5.725-5.850 GHz',
'最大信号有效距离(无干扰、无遮挡)': 'NCC/FCC15 km、CE/MIC8 km、SRRC8 km',
'等效全向辐射功率EIRP': '2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC',
外置电池: '名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C',
内置电池: '类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)',
'最大信号有效距离(无干扰、无遮挡)':
'NCC/FCC15 km、CE/MIC8 km、SRRC8 km',
'等效全向辐射功率EIRP':
'2.4000-2.4835 GHz29.5 dBmFCC18.5dBmCE、18.5 dBmSRRC18.5dBmMIC5.725-5.850 GHz28.5 dBmFCC12.5dBmCE、20.5 dBmSRRC',
外置电池:
'名称WB37 智能电池容量4920 mAh电压7.6 V电池类型LiPo能量37.39 Wh充电时间使用 BS60 智能电池箱70 分钟15°C 至 45°C130 分钟0°C 至 15°C',
内置电池:
'类型18650 锂离子电池 5000 mAh @ 7.2 V充电方式使用规格为 12V/2A 的 USB 充电器额定功率17 W充电时间2 小时 15 分钟使用规格为12V/2A 的 USB 充电器)',
续航时间: '内置电池:约 2.5 小时内置电池+外置电池:约 4.5 小时',
'USB-A 接口供电电压/电流': '5 V / 1.5 A',
工作环境温度: '-20° 至 40° C',
@ -305,7 +342,8 @@ else if (newLocation === 'xihaian') {
attribute: {
障碍物感知范围: '前后左右0.7-40 m、上下0.6-30 m',
FOV: '前后下65°H50°V、左右上75°H60°V',
使用环境: '表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
使用环境:
'表面有丰富纹理,光照条件充足(>15 lux室内日光灯正常照射环境',
},
},
{
@ -341,8 +379,10 @@ else if (newLocation === 'xihaian') {
电池整体重量: '约 1.35 kg',
工作环境温度: '-20℃ 至 50℃',
理想存放环境温度: '22℃ 至 30℃',
充电环境温度: '-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间: '使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
充电环境温度:
'-20°C 至 40°C当环境温度低于 5°C时电池会启动自加热功能在低温环境下充电有可能会降低电池使用寿命',
充电时间:
'使用 BS60 智能电池箱时,使用 220 V 电源:完全充满两块 TB60 智能飞行电池约需 60 分钟,从 20% 充到 90% 约需 30 分钟;使用 110 V 电源:完全充满两块 TB60 智能飞行电池约需 70 分钟,从 20% 充到 90% 约需 40 分钟',
},
},
{
@ -360,7 +400,8 @@ else if (newLocation === 'xihaian') {
],
},
]
uavAndIndividualSoldier.individualSoldier = [{
uavAndIndividualSoldier.individualSoldier = [
{
name: 'T950天通-1',
type: '单兵设备',
details: {
@ -370,9 +411,11 @@ else if (newLocation === 'xihaian') {
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
后置摄像头:
'后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万',
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
传感器相关:
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h',
@ -414,9 +457,11 @@ else if (newLocation === 'xihaian') {
CPU: '展锐 Makalu T7510;虎贲T710+春藤IVY510',
存储: '标配:6GB ROM +128G RAM',
显示屏: '6.52吋水滴屏;HD+1600*720(20:9)',
后置摄像头: '后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
后置摄像头:
'后置为4800万主摄+200万微距+200万红外三摄组合支持闪光灯',
前置摄像头: '1600万',
传感器相关: '指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
传感器相关:
'指纹|光线传感器|距离传感器|加速度传感器|地磁传感器|陀螺仪|气压传感器',
WLAN: '802.11a/b/g/n/AC 支持MIMO',
电池: '6000mAh@3.8V内置不可拆卸支持18W快充',
工作时间: '待机时长180h卫星通话时长16h',
@ -453,7 +498,7 @@ else if (newLocation === 'xihaian') {
{ name: '共享门户', key: 'home' },
{ name: '能力集市', key: 'DetailsPageconetent' },
{ name: '能力云图', key: 'capabilityCloud' },
// { name: '', key: 'abilityStatistics' },
{ name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' },
{ name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' },
@ -467,7 +512,8 @@ else if (newLocation === 'xihaian') {
// eslint-disable-next-line no-undef
right: CONFIGITEM.vNum,
},
address: [{
address: [
{
name: '鲁IC备00000000号',
value: '政府标识码3702000106',
},

View File

@ -92,9 +92,9 @@ instance.interceptors.request.use(
*/
instance.interceptors.response.use(
(response) => {
console.log('接口返回', response)
console.log('接口返回headers', response.headers)
console.log('接口返回REDIRECT', response.headers.redirect)
// console.log('', response)
// console.log('headers', response.headers)
// console.log('REDIRECT', response.headers.redirect)
response['Access-Control-Expose-Headers'] = 'redirect'
const { code, message } = response.data
@ -154,14 +154,14 @@ instance.interceptors.response.use(
// }
},
(error) => {
console.log('接口error', error)
// console.log('error', error)
if (loadingInstance) loadingInstance.close()
const { response, myMessage } = error
if (error.response) {
console.log('接口返回', response)
console.log('接口返回headers', response.headers)
console.log('接口返回REDIRECT', response.headers.redirect)
// console.log('', response)
// console.log('headers', response.headers)
// console.log('REDIRECT', response.headers.redirect)
const { status, data } = response
handleCode(status, data.msg || myMessage, response.headers.redirect)

View File

@ -296,17 +296,29 @@
const num = ref(0)
//
const expireDateOptions = [
{
value: moment().add(7, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '7天',
},
{
value: moment().add(30, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '30天',
label: '1个月',
},
{
value: moment().add(60, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '60天',
value: moment().add(180, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '6个月',
},
{
value: moment().add(90, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '90天',
value: moment().add(365, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '1年',
},
{
value: moment().add(730, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '2年',
},
{
value: moment().add(1095, 'days').format('YYYY-MM-DD HH:mm:ss'),
label: '3年',
},
]
const apiURL = window.SITE_CONFIG.apiURL

View File

@ -2,10 +2,10 @@
海康H5Player
-->
<template>
<div id="player" style="width: 800px; height: 600px; z-index: 9999"></div>
<div :id="videoId" style="width: 800px; height: 600px; z-index: 9999"></div>
</template>
<script>
const IS_MOVE_DEVICE = document.body.clientWidth < 992 //
// const IS_MOVE_DEVICE = document.body.clientWidth < 992 //
const MSE_IS_SUPPORT = !!window.MediaSource // mse
import { message } from 'ant-design-vue'
import mybus from '@/myplugins/mybus'
@ -16,6 +16,10 @@
type: String,
default: '',
},
videoId: {
type: String,
default: 'player',
},
index: {
type: Number,
default: 0,
@ -24,11 +28,16 @@
type: Boolean,
default: false,
},
unStopable: {
type: Boolean,
default: false,
},
},
data() {
return {
player: null,
splitNum: 1,
realTime: true,
mseSupport: MSE_IS_SUPPORT,
// tabActive: MSE_IS_SUPPORT ? 'mse' : 'decoder',
tabActive: 'decoder',
@ -65,8 +74,13 @@
mybus.emit('closeLoading', true)
this.createPlayer()
this.arrangeWindow()
//videoUrl this.realplay(this.videoUrl,0);//index
if (this.unStopable) {
this.videoPlay(this.videoUrl, 0)
} else {
this.realplay(this.videoUrl, 0)
}
//videoUrl this.realplay(this.videoUrl,0);//index
//this.realplay('wss://10.134.135.44:6014/proxy/10.10.20.14:559/openUrl/y3mFfcA',0);
},
watch: {
@ -76,7 +90,16 @@
console.log('oldVal:', oldVal)
console.log('newVal:', newVal)
if (newVal) {
if (!this.player) {
setTimeout(() => {
this.init()
this.createPlayer()
this.arrangeWindow()
this.realplay(newVal, 0)
}, 1000)
} else {
this.realplay(newVal, 0)
}
}
},
//
@ -92,12 +115,13 @@
})
},
createPlayer() {
//console.log('this.index',this.index);
console.log('初始化id', this.videoId)
this.player = new window.JSPlugin({
//szId: 'player'+this.index,
szId: 'player',
szId: this.videoId,
szBasePath: '/util/', //public/jsjs
iMaxSplit: 4,
iWidth: '800px',
iCurrentSplit: 4,
openDebug: true,
oStyle: {
@ -141,8 +165,10 @@
iWidth,
iHeight
)
//
//
if (!that.realTime) {
that.pausePlay(iWndIndex)
}
mybus.emit('closeLoading', false)
},
performanceLack: function () {
@ -165,10 +191,13 @@
//
//
realplay(playURL, index1) {
this.realTime = false
mybus.emit('closeLoading', true)
setTimeout(() => {
mybus.emit('closeLoading', false)
}, 3000)
this.mode = 0 //0 1
const { player, mode, urls } = this,
index = player.currentWindowIndex
const { player, mode, urls } = this
// playURL = this.realplay
console.log('视频播放地址', playURL)
// const startTime = {
@ -195,6 +224,40 @@
}
)
},
videoPlay(playURL, index1) {
let that = this
this.realTime = true
mybus.emit('closeLoading', true)
setTimeout(() => {
mybus.emit('closeLoading', false)
if (!that.unStopable) {
message.warning('预览将在2s后停止')
setTimeout(() => {
that.stopAllPlay()
}, 6000)
}
}, 3000)
this.mode = 0 //0 1
const { player, mode, urls } = this
// playURL = this.realplay
console.log('视频播放地址', playURL)
// const startTime = {
// startTime: ,
// }
// const endTime = {
// endTime: ,
// }
player.JS_Play(playURL, { playURL, mode }, index1).then(
() => {
console.log('realplay success')
// 6s
},
(e) => {
console.error(e)
// message.error(':' + e)
}
)
},
//
stopAllPlay() {
this.player.JS_StopRealPlayAll().then(
@ -210,12 +273,15 @@
},
//
pausePlay(index) {
let that = this
this.player.JS_Pause(index).then(
() => {
console.log('暂停成功')
},
(e) => {
console.error(e)
//
that.videoPlay(that.videoUrl, 0)
}
)
},

View File

@ -1,12 +1,12 @@
<!--
* @Author: Light
* @Date: 2022-11-18 11:53:43
* @LastEditors: Light
* @LastEditTime: 2022-11-25 20:05:47
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-11-26 16:30:51
* @Description: 告诉大家这是什么
-->
<template>
<div class="infrastructureApplication" v-if="showFlag">
<div class="infrastructureApplication" v-show="showFlag">
<div class="top">
<a-list size="small" bordered :data-source="dataList.toBeApplied">
<template #renderItem="{ item }">
@ -47,7 +47,7 @@
</div>
<a-tag
color="cyan"
style="margin-right: 0"
style="margin-right: 0; cursor: pointer"
@click="selectItem(item)"
>
{{
@ -88,6 +88,7 @@
</div>
</div>
<a-modal
v-if="!dataList.selectItem.cameraInfo"
:width="800"
v-model:visible="visible"
title="撤销申请"
@ -110,28 +111,27 @@
</a-table>
</a-modal>
<a-modal
v-if="dataList.selectItem.cameraInfo"
v-else
v-model:visible="showVisible"
:title="dataList.selectItem.cameraInfo.channelName"
:footer="null"
:width="845"
destroyOnClose
@cancel="clear"
>
<div style="width: 100%; display: flex; justify-content: center">
<div style="width: 100%; height: 100%; position: relative">
<div class="waterMark waterMark-left-top">
{{ userInfo.usernameShow }}
</div>
<div class="waterMark waterMark-right-top">
{{ userInfo.realNameShow }}
</div>
<div class="waterMark waterMark-left-bottom">
{{ userInfo.usernameShow }}
</div>
<div class="waterMark waterMark-right-bottom">
{{ userInfo.realNameShow }}
</div>
<h5-player :video-url="videoUrl"></h5-player>
</div>
<div
style="
width: 800px;
height: 600px;
display: flex;
justify-content: center;
"
>
<h5-player
videoId="preview"
unStopable="true"
:video-url="videoUrl"
></h5-player>
</div>
</a-modal>
</template>
@ -209,6 +209,10 @@
}
}
const apply = () => {
if (dataList.toBeApplied.length === 0) {
message.warning('待申请列表为空!')
return
}
let obj = {
arr: [
{
@ -286,6 +290,7 @@
getVideoUrl(item.cameraInfo)
} else {
dataList.selectItem = {}
message.info('请耐心等待审核通过')
showVisible.value = false
}
}
@ -347,8 +352,10 @@
//console.log('555555rrrrr',res)
if (res.data.data) {
videoUrl.value = res.data.data.url
}
showVisible.value = true
} else {
message.warning('申请内容已失效,请撤销后重新进行申请!')
}
})
}
mybus.on('selectCamera', (obj) => {

View File

@ -691,6 +691,7 @@
import { Form } from 'ant-design-vue'
import moment from 'moment'
import { useStore } from 'vuex'
import debounce from 'lodash/debounce'
const store = useStore()
const username = store.getters['user/username']
const props = defineProps({
@ -1971,7 +1972,8 @@
const wrjFlag = ref(false)
// 西-loading
const loadingCamera = ref(false)
const getCamera = (flag, str) => {
const getCamera = debounce(
function (flag, str) {
loadingCamera.value = true
if (flag) {
mapSearchParam.value.cameraName = str
@ -2046,7 +2048,10 @@
message.error(err)
})
}
}
},
1000,
{ leading: true, trailing: false }
)
defineExpose({
getCamera,
reSetSearch,

View File

@ -121,6 +121,7 @@ import { ElMessage } from 'element-plus'
selectByChannelName,
} from '@/api/videoSurveillance'
import { getCameraByCondition,getListForPOI,CameraConditionPlaceType } from '@/api/file'
import debounce from 'lodash/debounce'
import mybus from '@/myplugins/mybus'
import * as turf from '@turf/turf';
@ -378,7 +379,7 @@ import { ElMessage } from 'element-plus'
}
})
},
getCameraByParentId(type,dataName) {
getCameraByParentId : debounce(function(type,dataName) {
if (!this.whoShow1.itShowXiHaiAn) {
getCameraByParentId(this.mapSearchParam).then((res) => {
console.log('根据parent查询摄像头', res.data.data)
@ -436,7 +437,7 @@ import { ElMessage } from 'element-plus'
})
}
},
}, 1000, { 'leading': true, 'trailing': false }),
//
initAddressMatchService() {
this.L = window.L || {}
@ -534,7 +535,7 @@ import { ElMessage } from 'element-plus'
cb([])
}
},
getCameraAllPage(page) {
getCameraAllPage: debounce(function(page) {
let params = {
regionId: "70be8c5b664f4bcf869d82f2e8335051",
borderPolygonList: []
@ -546,7 +547,7 @@ import { ElMessage } from 'element-plus'
// let t2 = new Date().getTime();
// console.log("#############" + (t2 - t1));
})
},
},1000, { 'leading': true, 'trailing': false }),
getCameraAllLabel() {},
tabChange(item) {
if (this.checkboxGroup.indexOf(item.labelName) !== -1) {

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua
* @Date: 2022-07-12 09:42:44
* @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-10-26 18:15:01
* @LastEditTime: 2022-11-26 14:47:12
* @Description:我的申请 能力申请 查看详情
-->
<template>
@ -172,7 +172,6 @@
>
附件下载
</a-button>
</div>
</div>
</div>
@ -225,11 +224,17 @@
style="cursor: pointer"
@click="
openView(
'http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=' + val.channelCode+'&protocol=wss&transmode=1&streamType=1'
'http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=' +
val.channelCode +
'&protocol=wss&transmode=1&streamType=1'
)
"
>
{{ 'http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=' + val.channelCode+'&protocol=wss&transmode=1&streamType=1' }}
{{
'http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=' +
val.channelCode +
'&protocol=wss&transmode=1&streamType=1'
}}
</span>
</div>
</div>
@ -280,7 +285,7 @@
wrapClassName="single-preview-modal"
v-model:visible="visible"
title="视频预览"
:width="1000"
:width="850"
destroyOnClose
>
<template #footer></template>
@ -300,7 +305,11 @@
{{ userInfo.realNameShow }}
</div>
<!-- <vue3VideoPlay v-bind="options" /> -->
<h5-player :video-url="videoUrl"></h5-player>
<h5-player
unStopable="true"
:video-id="videoId"
:video-url="videoUrl"
></h5-player>
</div>
</div>
</a-modal>
@ -323,6 +332,7 @@
})
const whoShow1 = ref(whoShow)
let visible = ref(false)
const videoId = ref('111111111111')
const options = reactive({
width: '912px', //
height: '513px', //
@ -359,7 +369,7 @@
dept.deptName = infrastructure.deptName
}
const showThis = () => {
console.log('props.refObj.enclosure',props.refObj);
console.log('props.refObj.enclosure', props.refObj)
window.open(
window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' +
@ -368,7 +378,8 @@
}
//
const downLoadClient = () => {
let url = "https://open.hikvision.com/download/5c67f1e2f05948198c909700?type=10";
let url =
'https://open.hikvision.com/download/5c67f1e2f05948198c909700?type=10'
window.open(url, '_blank')
}
const showArr = ref([])
@ -519,11 +530,11 @@
//
const getVideoUrl = (data) => {
debugger
let param = data;
let param = data
getCameraLiveStream(param).then((res) => {
//console.log('555555rrrrr',res)
if (res.data.data) {
videoUrl.value = res.data.data.url;
videoUrl.value = res.data.data.url
}
visible.value = true
})
@ -578,7 +589,7 @@
})
}
const openView = (url) => {
console.log('valval',url);
console.log('valval', url)
//http://10.134.135.92:9537/data_service/getCamera/getCameraLiveStream?cameraIndexCode=37021100421318000090&protocol=wss&transmode=1&streamType=1
window.open(url, '_blank')
}
@ -658,7 +669,7 @@
.box {
margin-left: 0.1rem;
.ability {
height: 2.0rem;
height: 2rem;
display: flex;
border-bottom: 1px #eee solid;
padding: 0.1rem 0;

View File

@ -29,8 +29,8 @@ const productionGzipExtensions = [
'ico',
]
// gzip
// const isPro = process.env.NODE_ENV === 'production'
const isPro = false
const isPro = process.env.NODE_ENV === 'production'
// const isPro = false
if (donation) donationConsole()
const { version, author } = require('./package.json')
const Webpack = require('webpack')