Commit cf09a225b910571ad1f818581ba18a3074c296d6
1 parent
a49668bf
fix: 修复GBT28181获取视频流地址时区分http与https环境
Showing
2 changed files
with
15 additions
and
2 deletions
@@ -24,6 +24,8 @@ import { isRtspProtocol } from '/@/components/Video/src/utils'; | @@ -24,6 +24,8 @@ import { isRtspProtocol } from '/@/components/Video/src/utils'; | ||
24 | import { useFingerprint } from '/@/utils/useFingerprint'; | 24 | import { useFingerprint } from '/@/utils/useFingerprint'; |
25 | import { getVideoControlStart } from '/@/api/device/videoChannel'; | 25 | import { getVideoControlStart } from '/@/api/device/videoChannel'; |
26 | import { StreamType as PlayerStreamType } from '/@/components/Video/src/types'; | 26 | import { StreamType as PlayerStreamType } from '/@/components/Video/src/types'; |
27 | +import { useGlobSetting } from '/@/hooks/setting'; | ||
28 | +import { BooleanStringEnum } from '/@/enums/toolEnum'; | ||
27 | 29 | ||
28 | interface FileItem { | 30 | interface FileItem { |
29 | uid: string; | 31 | uid: string; |
@@ -642,7 +644,11 @@ export async function getPlayUrl( | @@ -642,7 +644,11 @@ export async function getPlayUrl( | ||
642 | } else if (accessMode === AccessMode.GBT28181) { | 644 | } else if (accessMode === AccessMode.GBT28181) { |
643 | const { deviceId, channelNo } = params?.params || {}; | 645 | const { deviceId, channelNo } = params?.params || {}; |
644 | const result = await getVideoControlStart({ channelId: channelNo!, deviceId: deviceId! }); | 646 | const result = await getVideoControlStart({ channelId: channelNo!, deviceId: deviceId! }); |
645 | - return { url: result.data.flv, type: 'flv' }; | 647 | + const { securityPolicy } = useGlobSetting(); |
648 | + return { | ||
649 | + url: securityPolicy === BooleanStringEnum.TRUE ? result.data.https_flv : result.data.flv, | ||
650 | + type: 'flv', | ||
651 | + }; | ||
646 | } else { | 652 | } else { |
647 | const { id, playProtocol } = params; | 653 | const { id, playProtocol } = params; |
648 | const result = await getStreamingPlayUrl(id); | 654 | const result = await getStreamingPlayUrl(id); |
@@ -58,6 +58,8 @@ | @@ -58,6 +58,8 @@ | ||
58 | import { stopOnDemandVideoApiGet, syncVideoApiGet } from '/@/api/camera/cameraManager'; | 58 | import { stopOnDemandVideoApiGet, syncVideoApiGet } from '/@/api/camera/cameraManager'; |
59 | import { Authority } from '/@/components/Authority'; | 59 | import { Authority } from '/@/components/Authority'; |
60 | import { VideoChannelItemType } from '/@/api/device/model/videoChannelModel'; | 60 | import { VideoChannelItemType } from '/@/api/device/model/videoChannelModel'; |
61 | + import { useGlobSetting } from '/@/hooks/setting'; | ||
62 | + import { BooleanStringEnum } from '/@/enums/toolEnum'; | ||
61 | 63 | ||
62 | const props = defineProps<{ deviceDetail: DeviceRecord }>(); | 64 | const props = defineProps<{ deviceDetail: DeviceRecord }>(); |
63 | 65 | ||
@@ -109,7 +111,12 @@ | @@ -109,7 +111,12 @@ | ||
109 | getPlayUrl: async () => { | 111 | getPlayUrl: async () => { |
110 | const { deviceId, channelId } = record; | 112 | const { deviceId, channelId } = record; |
111 | const result = await getVideoControlStart({ deviceId, channelId }); | 113 | const result = await getVideoControlStart({ deviceId, channelId }); |
112 | - return { type: 'flv', url: result.data.flv }; | 114 | + const { securityPolicy } = useGlobSetting(); |
115 | + return { | ||
116 | + type: 'flv', | ||
117 | + url: | ||
118 | + securityPolicy === BooleanStringEnum.TRUE ? result.data.https_flv : result.data.flv, | ||
119 | + }; | ||
113 | }, | 120 | }, |
114 | } as VideoCancelModalParamsType, | 121 | } as VideoCancelModalParamsType, |
115 | }); | 122 | }); |