@yimou6/common-ui 1.15.0 → 1.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.cdn.js +20 -20
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +20 -20
- package/cdn/index.cdn.mjs.map +1 -1
- package/cdn/index.css +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/tzj-player/index.d.ts +659 -118
- package/es/components/tzj-player/index.mjs +1 -1
- package/es/components/tzj-player/src/icc-player.d.ts +6 -0
- package/es/components/tzj-player/src/icc-player.mjs +61 -0
- package/es/components/tzj-player/src/icc-player.mjs.map +1 -0
- package/es/components/tzj-player/src/icc-player.vue.d.ts +277 -0
- package/es/components/tzj-player/src/icc-player.vue.mjs +6 -0
- package/es/components/tzj-player/src/icc-player.vue.mjs.map +1 -0
- package/es/components/tzj-player/src/icc-player.vue2.mjs +87 -0
- package/es/components/tzj-player/src/icc-player.vue2.mjs.map +1 -0
- package/es/components/tzj-player/src/tzj-player.vue.d.ts +659 -118
- package/es/components/tzj-player/src/tzj-player.vue2.mjs +7 -4
- package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/yunzhiyan.d.ts +0 -1
- package/es/components/tzj-player/src/yunzhiyan.mjs +4 -14
- package/es/components/tzj-player/src/yunzhiyan.mjs.map +1 -1
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +0 -10
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +22 -45
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
- package/es/index.mjs +2 -2
- package/es/utils/index.mjs +1 -1
- package/es/utils/util.d.ts +1 -0
- package/es/utils/util.mjs +14 -1
- package/es/utils/util.mjs.map +1 -1
- package/lib/components/index.js +0 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/tzj-player/index.d.ts +659 -118
- package/lib/components/tzj-player/index.js +0 -1
- package/lib/components/tzj-player/index.js.map +1 -1
- package/lib/components/tzj-player/src/icc-player.d.ts +6 -0
- package/lib/components/tzj-player/src/icc-player.js +63 -0
- package/lib/components/tzj-player/src/icc-player.js.map +1 -0
- package/lib/components/tzj-player/src/icc-player.vue.d.ts +277 -0
- package/lib/components/tzj-player/src/icc-player.vue.js +10 -0
- package/lib/components/tzj-player/src/icc-player.vue.js.map +1 -0
- package/lib/components/tzj-player/src/icc-player.vue2.js +91 -0
- package/lib/components/tzj-player/src/icc-player.vue2.js.map +1 -0
- package/lib/components/tzj-player/src/tzj-player.vue.d.ts +659 -118
- package/lib/components/tzj-player/src/tzj-player.vue2.js +4 -1
- package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/yunzhiyan.d.ts +0 -1
- package/lib/components/tzj-player/src/yunzhiyan.js +4 -15
- package/lib/components/tzj-player/src/yunzhiyan.js.map +1 -1
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +0 -10
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +21 -44
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/util.d.ts +1 -0
- package/lib/utils/util.js +14 -0
- package/lib/utils/util.js.map +1 -1
- package/package.json +1 -1
- package/theme-default/i-geo-mark.css +1 -1
- package/theme-default/index.css +1 -1
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var lodashEs = require('lodash-es');
|
|
7
7
|
require('./ctyun-player.vue.js');
|
|
8
|
+
require('./icc-player.vue.js');
|
|
8
9
|
require('./easyPlayer.vue.js');
|
|
9
10
|
var tzjPlayer = require('./tzj-player.js');
|
|
10
11
|
require('./ysPlayer.vue.js');
|
|
@@ -12,6 +13,7 @@ require('./yunzhiyanPlayer.vue.js');
|
|
|
12
13
|
var yunzhiyanPlayer_vue_vue_type_script_setup_true_lang = require('./yunzhiyanPlayer.vue2.js');
|
|
13
14
|
var ysPlayer_vue_vue_type_script_setup_true_lang = require('./ysPlayer.vue2.js');
|
|
14
15
|
var ctyunPlayer_vue_vue_type_script_setup_true_lang = require('./ctyun-player.vue2.js');
|
|
16
|
+
var iccPlayer_vue_vue_type_script_setup_true_lang = require('./icc-player.vue2.js');
|
|
15
17
|
var easyPlayer_vue_vue_type_script_setup_true_lang = require('./easyPlayer.vue2.js');
|
|
16
18
|
|
|
17
19
|
const _hoisted_1 = { class: "i-tzj-player" };
|
|
@@ -43,7 +45,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
43
45
|
const PLATFORM_COMPONENTS = {
|
|
44
46
|
\u4E91\u667A\u773C: yunzhiyanPlayer_vue_vue_type_script_setup_true_lang.default,
|
|
45
47
|
\u8424\u77F3\u4E91: ysPlayer_vue_vue_type_script_setup_true_lang.default,
|
|
46
|
-
\u5929\u7FFC\u4E91: ctyunPlayer_vue_vue_type_script_setup_true_lang.default
|
|
48
|
+
\u5929\u7FFC\u4E91: ctyunPlayer_vue_vue_type_script_setup_true_lang.default,
|
|
49
|
+
\u5927\u534EICC: iccPlayer_vue_vue_type_script_setup_true_lang.default
|
|
47
50
|
// hls: XgPlayer,
|
|
48
51
|
};
|
|
49
52
|
const playerComponent = vue.computed(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tzj-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { debounce } from \"lodash-es\";\nimport { computed, shallowRef, toRefs, watch } from \"vue\";\nimport CtyunPlayer from \"./ctyun-player.vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport {\n getVideoType,\n isSupportedProtocol,\n TzjPlayerProps,\n} from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\nimport YunzhiyanPlayer from \"./yunzhiyanPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst { url, platformTypeName, accessToken } = toRefs(props);\n\nconst compRef = shallowRef();\n\n// 防抖处理组件渲染更新,避免频繁切换播放器类型\nconst updatePlayerComponent = debounce(() => {\n // 强制更新组件,销毁旧实例\n if (compRef.value) {\n compRef.value.destroy?.();\n }\n}, 300);\n\n// 监听URL变化,使用防抖处理\nwatch(\n () => [url.value, platformTypeName.value, accessToken.value],\n ([newUrl, newPlatform, newToken], [oldUrl, oldPlatform, oldToken]) => {\n // 只有当值真正发生变化时才更新\n if (\n newUrl !== oldUrl ||\n newPlatform !== oldPlatform ||\n newToken !== oldToken\n ) {\n // 更新播放器组件\n updatePlayerComponent();\n }\n },\n);\n\n/**\n * 平台类型映射表,提升可维护性\n */\nconst PLATFORM_COMPONENTS = {\n 云智眼: YunzhiyanPlayer,\n 萤石云: YsPlayer,\n 天翼云: CtyunPlayer,\n // hls: XgPlayer,\n} as const;\n\n/**\n * 计算当前播放器组件类型\n * 使用计算属性避免重复计算,提升性能\n */\nconst playerComponent = computed(() => {\n // 优先使用指定的平台类型\n if (platformTypeName.value) {\n return (\n PLATFORM_COMPONENTS[\n platformTypeName.value as keyof typeof PLATFORM_COMPONENTS\n ] || EasyPlayer\n );\n }\n\n // 未指定平台类型时,根据URL自动判断\n if (!url.value) {\n return null;\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return null;\n }\n\n // ezopen协议使用萤石云播放器\n if (url.value.includes(\"ezopen\")) {\n return YsPlayer;\n }\n\n // 根据视频类型选择播放器\n const videoType = getVideoType(url.value);\n return videoType ? EasyPlayer : null;\n});\n\n/**\n * 计算错误状态信息\n * 统一错误状态管理,提升用户体验\n */\nconst errorState = computed(() => {\n // 云智眼平台不需要URL\n if (\n platformTypeName.value === \"云智眼\" ||\n platformTypeName.value === \"天翼云\"\n ) {\n return null;\n }\n\n // 检查URL是否存在\n if (!url.value) {\n return {\n type: \"no-url\",\n message: \"无视频地址\",\n };\n }\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return {\n type: \"unsupported-protocol\",\n message: \"不支持该视频协议\",\n };\n }\n\n // 萤石云平台需要accessToken\n if (\n (platformTypeName.value === \"萤石云\" || url.value.includes(\"ezopen\")) &&\n !accessToken.value\n ) {\n return {\n type: \"no-token\",\n message: \"缺少访问令牌\",\n };\n }\n\n return null;\n});\n\n/**\n * 暴露的方法,增加错误处理\n */\ndefineExpose({\n /**\n * 播放视频\n * @param options 播放选项\n */\n play(options?: any) {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.play(options);\n },\n\n /**\n * 销毁播放器\n */\n destroy() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.destroy();\n },\n\n /**\n * 调整播放器尺寸\n */\n resize() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.resize();\n },\n\n /**\n * 获取当前播放器类型\n */\n getPlayerType() {\n return playerComponent.value?.name || null;\n },\n\n /**\n * 获取错误状态\n */\n getErrorState() {\n return errorState.value;\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <!-- 头部标题栏 -->\n <div class=\"i-tzj-player__header\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial || \"摄像头\" }}</span>\n </div>\n\n <!-- 播放器组件 -->\n <component :is=\"playerComponent\" ref=\"compRef\" v-bind=\"props\" />\n </div>\n</template>\n"],"names":["toRefs","shallowRef","debounce","watch","YunzhiyanPlayer","YsPlayer","CtyunPlayer","computed","EasyPlayer","isSupportedProtocol","getVideoType","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","areaName","deviceSerial","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"tzj-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { debounce } from \"lodash-es\";\nimport { computed, shallowRef, toRefs, watch } from \"vue\";\nimport CtyunPlayer from \"./ctyun-player.vue\";\nimport iccPlayer from \"./icc-player.vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport {\n getVideoType,\n isSupportedProtocol,\n TzjPlayerProps,\n} from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\nimport YunzhiyanPlayer from \"./yunzhiyanPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst { url, platformTypeName, accessToken } = toRefs(props);\n\nconst compRef = shallowRef();\n\n// 防抖处理组件渲染更新,避免频繁切换播放器类型\nconst updatePlayerComponent = debounce(() => {\n // 强制更新组件,销毁旧实例\n if (compRef.value) {\n compRef.value.destroy?.();\n }\n}, 300);\n\n// 监听URL变化,使用防抖处理\nwatch(\n () => [url.value, platformTypeName.value, accessToken.value],\n ([newUrl, newPlatform, newToken], [oldUrl, oldPlatform, oldToken]) => {\n // 只有当值真正发生变化时才更新\n if (\n newUrl !== oldUrl ||\n newPlatform !== oldPlatform ||\n newToken !== oldToken\n ) {\n // 更新播放器组件\n updatePlayerComponent();\n }\n },\n);\n\n/**\n * 平台类型映射表,提升可维护性\n */\nconst PLATFORM_COMPONENTS = {\n 云智眼: YunzhiyanPlayer,\n 萤石云: YsPlayer,\n 天翼云: CtyunPlayer,\n 大华ICC: iccPlayer,\n // hls: XgPlayer,\n} as const;\n\n/**\n * 计算当前播放器组件类型\n * 使用计算属性避免重复计算,提升性能\n */\nconst playerComponent = computed(() => {\n // 优先使用指定的平台类型\n if (platformTypeName.value) {\n return (\n PLATFORM_COMPONENTS[\n platformTypeName.value as keyof typeof PLATFORM_COMPONENTS\n ] || EasyPlayer\n );\n }\n\n // 未指定平台类型时,根据URL自动判断\n if (!url.value) {\n return null;\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return null;\n }\n\n // ezopen协议使用萤石云播放器\n if (url.value.includes(\"ezopen\")) {\n return YsPlayer;\n }\n\n // 根据视频类型选择播放器\n const videoType = getVideoType(url.value);\n return videoType ? EasyPlayer : null;\n});\n\n/**\n * 计算错误状态信息\n * 统一错误状态管理,提升用户体验\n */\nconst errorState = computed(() => {\n // 云智眼平台不需要URL\n if (\n platformTypeName.value === \"云智眼\" ||\n platformTypeName.value === \"天翼云\"\n ) {\n return null;\n }\n\n // 检查URL是否存在\n if (!url.value) {\n return {\n type: \"no-url\",\n message: \"无视频地址\",\n };\n }\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return {\n type: \"unsupported-protocol\",\n message: \"不支持该视频协议\",\n };\n }\n\n // 萤石云平台需要accessToken\n if (\n (platformTypeName.value === \"萤石云\" || url.value.includes(\"ezopen\")) &&\n !accessToken.value\n ) {\n return {\n type: \"no-token\",\n message: \"缺少访问令牌\",\n };\n }\n\n return null;\n});\n\n/**\n * 暴露的方法,增加错误处理\n */\ndefineExpose({\n /**\n * 播放视频\n * @param options 播放选项\n */\n play(options?: any) {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.play(options);\n },\n\n /**\n * 销毁播放器\n */\n destroy() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.destroy();\n },\n\n /**\n * 调整播放器尺寸\n */\n resize() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.resize();\n },\n\n /**\n * 获取当前播放器类型\n */\n getPlayerType() {\n return playerComponent.value?.name || null;\n },\n\n /**\n * 获取错误状态\n */\n getErrorState() {\n return errorState.value;\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <!-- 头部标题栏 -->\n <div class=\"i-tzj-player__header\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial || \"摄像头\" }}</span>\n </div>\n\n <!-- 播放器组件 -->\n <component :is=\"playerComponent\" ref=\"compRef\" v-bind=\"props\" />\n </div>\n</template>\n"],"names":["toRefs","shallowRef","debounce","watch","YunzhiyanPlayer","YsPlayer","CtyunPlayer","iccPlayer","computed","EasyPlayer","isSupportedProtocol","getVideoType","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString","areaName","deviceSerial","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":"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"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('../../../utils/index.js');
|
|
4
|
+
var util = require('../../../utils/util.js');
|
|
5
|
+
|
|
3
6
|
var __defProp = Object.defineProperty;
|
|
4
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
function parseAuthorizedTokenCookie() {
|
|
6
|
-
const match = document.cookie.match(/authorized-token=([^;]+)/);
|
|
7
|
-
if (!match) return null;
|
|
8
|
-
const rawStr = decodeURIComponent(match[1]);
|
|
9
|
-
try {
|
|
10
|
-
const obj = JSON.parse(rawStr);
|
|
11
|
-
return "Bearer " + obj.accessToken;
|
|
12
|
-
} catch (e) {
|
|
13
|
-
console.error("\u89E3\u6790authorized\u2011token\u5931\u8D25", e);
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
__name(parseAuthorizedTokenCookie, "parseAuthorizedTokenCookie");
|
|
18
8
|
async function getVideoUrlByCamreaId(deviceId) {
|
|
19
9
|
if (!deviceId) {
|
|
20
10
|
console.warn(
|
|
@@ -22,7 +12,7 @@ async function getVideoUrlByCamreaId(deviceId) {
|
|
|
22
12
|
);
|
|
23
13
|
return { code: -1, data: null, msg: "deviceId \u4E0D\u80FD\u4E3A\u7A7A" };
|
|
24
14
|
}
|
|
25
|
-
const token = parseAuthorizedTokenCookie();
|
|
15
|
+
const token = util.parseAuthorizedTokenCookie();
|
|
26
16
|
const headers = {};
|
|
27
17
|
if (token) {
|
|
28
18
|
headers.authorization = token;
|
|
@@ -64,5 +54,4 @@ async function getVideoUrlByCamreaId(deviceId) {
|
|
|
64
54
|
__name(getVideoUrlByCamreaId, "getVideoUrlByCamreaId");
|
|
65
55
|
|
|
66
56
|
exports.getVideoUrlByCamreaId = getVideoUrlByCamreaId;
|
|
67
|
-
exports.parseAuthorizedTokenCookie = parseAuthorizedTokenCookie;
|
|
68
57
|
//# sourceMappingURL=yunzhiyan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yunzhiyan.js","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyan.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"yunzhiyan.js","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyan.ts"],"sourcesContent":["import { parseAuthorizedTokenCookie } from \"../../../utils\";\n\n/**\n * 根据设备ID获取视频播放地址\n * @param deviceId 设备ID\n * @returns Promise<{ code, data, msg }> code 为 200 时 data 即播放地址,失败时 code 为非 200\n */\nexport async function getVideoUrlByCamreaId(deviceId?: string) {\n // 边界处理:deviceId 为空时不再发出 /device/undefined/play-url 这类无效请求\n if (!deviceId) {\n console.warn(\n \"[tzj-player] getVideoUrlByCamreaId: deviceId 为空,已跳过请求\",\n );\n return { code: -1, data: null, msg: \"deviceId 不能为空\" };\n }\n\n // token 可能不存在或解析失败,不能把 null 直接塞进请求头\n const token = parseAuthorizedTokenCookie();\n const headers: Record<string, string> = {};\n if (token) {\n headers.authorization = token;\n } else {\n console.warn(\n \"[tzj-player] 未获取到 authorized-token,本次请求将不带鉴权头\",\n );\n }\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n try {\n const response = await fetch(\n `/production/assetDevice/device/${deviceId}/play-url`,\n { method: \"GET\", headers, signal: controller.signal },\n );\n\n // 网关异常时可能返回 HTML 或空 body,先校验状态码再解析,避免抛出晦涩的 JSON 解析错误\n if (!response.ok) {\n console.error(\n `HTTP错误: ${response.status} ${response.statusText} - getVideoUrlByCamreaId`,\n );\n return { code: response.status, data: null, msg: response.statusText };\n }\n\n const { code, data, msg } = await response.json();\n return { code, data, msg };\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n console.error(\"请求超时: getVideoUrlByCamreaId\");\n return { code: -1, data: null, msg: \"请求超时\" };\n }\n console.error(\"请求失败: getVideoUrlByCamreaId\", error);\n return {\n code: -1,\n data: null,\n msg: error instanceof Error ? error.message : \"未知错误\",\n };\n } finally {\n clearTimeout(timeoutId);\n }\n}\n"],"names":["parseAuthorizedTokenCookie"],"mappings":";;;;;;;AAOA,eAAsB,sBAAsB,QAAmB,EAAA;AAE7D,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAQ,OAAA,CAAA,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAA,EAAI,IAAM,EAAA,IAAA,EAAM,KAAK,mCAAgB,EAAA;AAAA;AAItD,EAAA,MAAM,QAAQA,+BAA2B,EAAA;AACzC,EAAA,MAAM,UAAkC,EAAC;AACzC,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,OAAA,CAAQ,aAAgB,GAAA,KAAA;AAAA,GACnB,MAAA;AACL,IAAQ,OAAA,CAAA,IAAA;AAAA,MACN;AAAA,KACF;AAAA;AAGF,EAAM,MAAA,UAAA,GAAa,IAAI,eAAgB,EAAA;AACvC,EAAA,MAAM,YAAY,UAAW,CAAA,MAAM,UAAW,CAAA,KAAA,IAAS,GAAK,CAAA;AAE5D,EAAI,IAAA;AACF,IAAA,MAAM,WAAW,MAAM,KAAA;AAAA,MACrB,kCAAkC,QAAQ,CAAA,SAAA,CAAA;AAAA,MAC1C,EAAE,MAAQ,EAAA,KAAA,EAAO,OAAS,EAAA,MAAA,EAAQ,WAAW,MAAO;AAAA,KACtD;AAGA,IAAI,IAAA,CAAC,SAAS,EAAI,EAAA;AAChB,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,CAAW,kBAAA,EAAA,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,SAAS,UAAU,CAAA,wBAAA;AAAA,OACnD;AACA,MAAO,OAAA,EAAE,MAAM,QAAS,CAAA,MAAA,EAAQ,MAAM,IAAM,EAAA,GAAA,EAAK,SAAS,UAAW,EAAA;AAAA;AAGvE,IAAA,MAAM,EAAE,IAAM,EAAA,IAAA,EAAM,KAAQ,GAAA,MAAM,SAAS,IAAK,EAAA;AAChD,IAAO,OAAA,EAAE,IAAM,EAAA,IAAA,EAAM,GAAI,EAAA;AAAA,WAClB,KAAO,EAAA;AACd,IAAA,IAAI,KAAiB,YAAA,KAAA,IAAS,KAAM,CAAA,IAAA,KAAS,YAAc,EAAA;AACzD,MAAA,OAAA,CAAQ,MAAM,iDAA6B,CAAA;AAC3C,MAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAA,EAAI,IAAM,EAAA,IAAA,EAAM,KAAK,0BAAO,EAAA;AAAA;AAE7C,IAAQ,OAAA,CAAA,KAAA,CAAM,mDAA+B,KAAK,CAAA;AAClD,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,CAAA,CAAA;AAAA,MACN,IAAM,EAAA,IAAA;AAAA,MACN,GAAK,EAAA,KAAA,YAAiB,KAAQ,GAAA,KAAA,CAAM,OAAU,GAAA;AAAA,KAChD;AAAA,GACA,SAAA;AACA,IAAA,YAAA,CAAa,SAAS,CAAA;AAAA;AAE1B;AArDsB,MAAA,CAAA,qBAAA,EAAA,uBAAA,CAAA;;;;"}
|
|
@@ -66,16 +66,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
66
66
|
playerRef: import("vue").ShallowRef<any, any>;
|
|
67
67
|
isPlaying: import("vue").Ref<boolean, boolean>;
|
|
68
68
|
isVolumeMuted: import("vue").Ref<boolean, boolean>;
|
|
69
|
-
audioMsg: import("vue").Ref<{
|
|
70
|
-
type: string;
|
|
71
|
-
msg: string;
|
|
72
|
-
}, {
|
|
73
|
-
type: string;
|
|
74
|
-
msg: string;
|
|
75
|
-
} | {
|
|
76
|
-
type: string;
|
|
77
|
-
msg: string;
|
|
78
|
-
}>;
|
|
79
69
|
initPlayer: () => Promise<void>;
|
|
80
70
|
handleVideoInfo: () => void;
|
|
81
71
|
handleMute: (mute: boolean) => void;
|
|
@@ -27,10 +27,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
27
27
|
const playerRef = vue.shallowRef();
|
|
28
28
|
const isPlaying = vue.ref(false);
|
|
29
29
|
const isVolumeMuted = vue.ref(true);
|
|
30
|
-
const audioMsg = vue.ref({
|
|
31
|
-
type: "",
|
|
32
|
-
msg: ""
|
|
33
|
-
});
|
|
34
30
|
const initPlayer = /* @__PURE__ */ __name(async () => {
|
|
35
31
|
try {
|
|
36
32
|
if (!props.deviceSerial) {
|
|
@@ -66,46 +62,27 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
66
62
|
initPlayer();
|
|
67
63
|
});
|
|
68
64
|
return (_ctx, _cache) => {
|
|
69
|
-
return vue.openBlock(), vue.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
onPlay: _cache[3] || (_cache[3] = ($event) => isPlaying.value = true),
|
|
91
|
-
onVideoInfo: handleVideoInfo,
|
|
92
|
-
onMute: handleMute
|
|
93
|
-
}, null, 8, ["url", "debug", "access-token", "platform-type-name", "device-serial", "area-name", "pause-mode"])) : vue.createCommentVNode("v-if", true),
|
|
94
|
-
vue.createCommentVNode(" \u8BED\u97F3\u5BF9\u8BB2\u9519\u8BEF\u63D0\u793A "),
|
|
95
|
-
audioMsg.value.msg ? (vue.openBlock(), vue.createElementBlock(
|
|
96
|
-
"div",
|
|
97
|
-
{
|
|
98
|
-
key: 2,
|
|
99
|
-
class: vue.normalizeClass(["i-tzj-player__voice-default", `i-tzj-player__voice-${audioMsg.value.type}`])
|
|
100
|
-
},
|
|
101
|
-
vue.toDisplayString(audioMsg.value.msg),
|
|
102
|
-
3
|
|
103
|
-
/* TEXT, CLASS */
|
|
104
|
-
)) : vue.createCommentVNode("v-if", true)
|
|
105
|
-
],
|
|
106
|
-
64
|
|
107
|
-
/* STABLE_FRAGMENT */
|
|
108
|
-
);
|
|
65
|
+
return errorMsg.value ? (vue.openBlock(), vue.createBlock(errorPage_vue_vue_type_script_setup_true_lang.default, {
|
|
66
|
+
key: 0,
|
|
67
|
+
message: errorMsg.value
|
|
68
|
+
}, null, 8, ["message"])) : videoUrl.value ? (vue.openBlock(), vue.createBlock(easyPlayer_vue_vue_type_script_setup_true_lang.default, {
|
|
69
|
+
key: 1,
|
|
70
|
+
ref_key: "playerRef",
|
|
71
|
+
ref: playerRef,
|
|
72
|
+
url: videoUrl.value,
|
|
73
|
+
debug: _ctx.debug,
|
|
74
|
+
"access-token": _ctx.accessToken,
|
|
75
|
+
"platform-type-name": _ctx.platformTypeName,
|
|
76
|
+
"device-serial": _ctx.deviceSerial,
|
|
77
|
+
"area-name": _ctx.areaName,
|
|
78
|
+
"pause-mode": _ctx.pauseMode,
|
|
79
|
+
onMouseenter: _cache[0] || (_cache[0] = ($event) => showBottomBar.value = true),
|
|
80
|
+
onMouseleave: _cache[1] || (_cache[1] = ($event) => showBottomBar.value = false),
|
|
81
|
+
onPause: _cache[2] || (_cache[2] = ($event) => isPlaying.value = false),
|
|
82
|
+
onPlay: _cache[3] || (_cache[3] = ($event) => isPlaying.value = true),
|
|
83
|
+
onVideoInfo: handleVideoInfo,
|
|
84
|
+
onMute: handleMute
|
|
85
|
+
}, null, 8, ["url", "debug", "access-token", "platform-type-name", "device-serial", "area-name", "pause-mode"])) : vue.createCommentVNode("v-if", true);
|
|
109
86
|
};
|
|
110
87
|
}
|
|
111
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yunzhiyanPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyanPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\nimport { getVideoUrlByCamreaId } from \"./yunzhiyan\";\n\ndefineOptions({\n name: \"YunzhiyanPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst errorMsg = ref(\"\");\nconst showBottomBar = ref(false);\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isVolumeMuted = ref(true);\n\
|
|
1
|
+
{"version":3,"file":"yunzhiyanPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyanPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\nimport { getVideoUrlByCamreaId } from \"./yunzhiyan\";\n\ndefineOptions({\n name: \"YunzhiyanPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst errorMsg = ref(\"\");\nconst showBottomBar = ref(false);\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isVolumeMuted = ref(true);\n\n/**\n * 初始化云智眼播放器\n * 获取设备通道ID和视频播放地址\n */\nconst initPlayer = async (): Promise<void> => {\n try {\n if (!props.deviceSerial) {\n errorMsg.value = \"设备序列号不能为空\";\n return;\n }\n\n const { code, data, msg } = await getVideoUrlByCamreaId(props.deviceSerial);\n\n if (props.debug) {\n console.log(\"获取云智眼设备视频播放地址\", data);\n }\n\n if (code !== 200) {\n errorMsg.value = \"获取视频播放地址失败\";\n ElMessage.error(msg || \"数据获取失败!\");\n return;\n }\n\n videoUrl.value = data;\n errorMsg.value = \"\"; // 清除错误信息\n } catch (error) {\n if (props.debug) {\n console.error(\"初始化云智眼播放器失败:\", error);\n }\n errorMsg.value = `初始化失败: ${error instanceof Error ? error.message : \"未知错误\"}`;\n }\n};\n\n// 获取视频信息,判断当前是否为静音状态\nconst handleVideoInfo = () => {\n // 判断是否静音\n isVolumeMuted.value = playerRef.value?.isMute();\n};\nconst handleMute = (mute: boolean) => {\n isVolumeMuted.value = mute;\n};\n\nonMounted(async () => {\n initPlayer();\n});\n</script>\n\n<template>\n <ErrorPage v-if=\"errorMsg\" :message=\"errorMsg\" />\n <EasyPlayer\n v-else-if=\"videoUrl\"\n ref=\"playerRef\"\n :url=\"videoUrl\"\n :debug=\"debug\"\n :access-token=\"accessToken\"\n :platform-type-name=\"platformTypeName\"\n :device-serial=\"deviceSerial\"\n :area-name=\"areaName\"\n :pause-mode=\"pauseMode\"\n @mouseenter=\"showBottomBar = true\"\n @mouseleave=\"showBottomBar = false\"\n @pause=\"isPlaying = false\"\n @play=\"isPlaying = true\"\n @video-info=\"handleVideoInfo\"\n @mute=\"handleMute\"\n >\n </EasyPlayer>\n</template>\n"],"names":["ref","shallowRef","getVideoUrlByCamreaId","ElMessage","onMounted","_createBlock","ErrorPage","EasyPlayer","debug","accessToken","platformTypeName","deviceSerial","areaName","pauseMode"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -81,7 +81,6 @@ exports.ITenantEnterprise = index$k.ITenantEnterprise;
|
|
|
81
81
|
exports.ITextButton = index$l.ITextButton;
|
|
82
82
|
exports.ITextButtonGroup = index$l.ITextButtonGroup;
|
|
83
83
|
exports.getVideoUrlByCamreaId = yunzhiyan.getVideoUrlByCamreaId;
|
|
84
|
-
exports.parseAuthorizedTokenCookie = yunzhiyan.parseAuthorizedTokenCookie;
|
|
85
84
|
exports.ITzjPlayer = index$m.ITzjPlayer;
|
|
86
85
|
exports.GeoMarkProps = geoMark.GeoMarkProps;
|
|
87
86
|
exports.IGeoMark = index$n.IGeoMark;
|
|
@@ -101,4 +100,5 @@ exports.TzjCommonUIResolver = util.TzjCommonUIResolver;
|
|
|
101
100
|
exports.excludeObjectKeys = util.excludeObjectKeys;
|
|
102
101
|
exports.getMapKey = util.getMapKey;
|
|
103
102
|
exports.mapKeyConfig = util.mapKeyConfig;
|
|
103
|
+
exports.parseAuthorizedTokenCookie = util.parseAuthorizedTokenCookie;
|
|
104
104
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js
CHANGED
|
@@ -21,4 +21,5 @@ exports.TzjCommonUIResolver = util.TzjCommonUIResolver;
|
|
|
21
21
|
exports.excludeObjectKeys = util.excludeObjectKeys;
|
|
22
22
|
exports.getMapKey = util.getMapKey;
|
|
23
23
|
exports.mapKeyConfig = util.mapKeyConfig;
|
|
24
|
+
exports.parseAuthorizedTokenCookie = util.parseAuthorizedTokenCookie;
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
package/lib/utils/util.d.ts
CHANGED
package/lib/utils/util.js
CHANGED
|
@@ -120,10 +120,24 @@ function getMapKey() {
|
|
|
120
120
|
}
|
|
121
121
|
__name(getMapKey, "getMapKey");
|
|
122
122
|
const mapKeyConfig = getMapKey();
|
|
123
|
+
function parseAuthorizedTokenCookie() {
|
|
124
|
+
const match = document.cookie.match(/authorized-token=([^;]+)/);
|
|
125
|
+
if (!match) return null;
|
|
126
|
+
const rawStr = decodeURIComponent(match[1]);
|
|
127
|
+
try {
|
|
128
|
+
const obj = JSON.parse(rawStr);
|
|
129
|
+
return "Bearer " + obj.accessToken;
|
|
130
|
+
} catch (e) {
|
|
131
|
+
console.error("\u89E3\u6790authorized\u2011token\u5931\u8D25", e);
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
__name(parseAuthorizedTokenCookie, "parseAuthorizedTokenCookie");
|
|
123
136
|
|
|
124
137
|
exports.Logger = Logger;
|
|
125
138
|
exports.TzjCommonUIResolver = TzjCommonUIResolver;
|
|
126
139
|
exports.excludeObjectKeys = excludeObjectKeys;
|
|
127
140
|
exports.getMapKey = getMapKey;
|
|
128
141
|
exports.mapKeyConfig = mapKeyConfig;
|
|
142
|
+
exports.parseAuthorizedTokenCookie = parseAuthorizedTokenCookie;
|
|
129
143
|
//# sourceMappingURL=util.js.map
|
package/lib/utils/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../packages/utils/util.ts"],"sourcesContent":["/**\n * 将 emits 对象的 key 转换为 onXxx 形式的监听器 prop 类型\n * 例如 change → onChange, visibleChange → onVisibleChange, update:modelValue → onUpdate:modelValue\n */\nexport type WithOnEmits<T> = {\n [K in keyof T & string as K extends `update:${infer Rest}`\n ? `onUpdate:${Rest}`\n : `on${Capitalize<K>}`]?: T[K];\n};\n\n/**\n * 剔除对象中的某些属性\n * @param obj\n * @param exclude\n */\nexport function excludeObjectKeys(\n obj?: Record<string, any>,\n exclude?: string[],\n) {\n const tempObj: any = {};\n if (obj && exclude) {\n Object.keys(obj).forEach((key) => {\n if (!exclude.includes(key)) {\n tempObj[key] = obj[key];\n }\n });\n }\n return tempObj;\n}\n\n// 手动维护可以自动引入的组件\nconst CommonUIKey = [\n \"IForm\",\n \"ISelect\",\n \"IRadio\",\n \"ICheckbox\",\n \"IDivider\",\n \"IDrawer\",\n \"IIconSelect\",\n \"IImageVerification\",\n \"ITextButton\",\n \"ILink\",\n \"IPageHeader\",\n \"ISearch\",\n \"ITable\",\n \"ISplitPane\",\n \"ITenantEnterprise\",\n \"ISegmented\",\n \"IDescriptions\",\n \"IDescriptionItem\",\n \"ILivePlayer\",\n \"IDialog\",\n \"IDatePicker\",\n];\n/**\n * unplugin-auto-import/vite,unplugin-vue-components/vite 自动引入组件\n */\nexport function TzjCommonUIResolver(): {\n type: \"component\";\n resolve: (\n name: string,\n ) => { name: string; from: string; sideEffects: string } | undefined;\n} {\n return {\n type: \"component\",\n resolve: (name: string) => {\n if (CommonUIKey.includes(name)) {\n // 修改样式文件名从驼峰命名法转换为短横线命名法\n const kebabCaseName = name\n .replace(/([a-zA-Z])([A-Z])/g, \"$1-$2\")\n .toLowerCase();\n return {\n name,\n from: \"@tzj/common-ui\",\n sideEffects: `@tzj/common-ui/theme-default/${kebabCaseName}.css`,\n };\n }\n return undefined; // 确保返回 undefined 当 name 不在 CommonUIKey 中\n },\n };\n}\n\nexport class Logger {\n public _name: string;\n\n readonly nameStyle = \"color:white;background-color:green;border-radius:2px;\";\n readonly infoStyle = \"color:gray\";\n readonly warnStyle = \"color:yellow\";\n readonly errorStyle = \"color:red\";\n constructor(name: string) {\n this._name = name;\n }\n info(...args: any[]) {\n console.log(\n `%c ${this._name} `,\n this.nameStyle,\n \"%c info \",\n this.infoStyle,\n ...args,\n );\n }\n warn(...args: any[]) {\n console.log(\n `%c ${this._name} `,\n this.nameStyle,\n \"%c warn \",\n this.warnStyle,\n ...args,\n );\n }\n error(...args: any[]) {\n console.log(\n `%c ${this._name} `,\n this.nameStyle,\n \"%c error \",\n this.errorStyle,\n ...args,\n );\n }\n}\n\n// 定义地图密钥配置的类型\ninterface MapKeyConfig {\n key: string;\n securityJsCode: string;\n}\n\n// 地图密钥列表\nconst keysList: MapKeyConfig[] = [\n {\n key: \"38b0ca9fc864d48888c581df0fce884f\",\n securityJsCode: \"ace2949b84d7e74de5856f3c636e7601\", // 新版key需要配合安全密钥\n },\n {\n key: \"353ff229d1308165d356b2dda77073a0\",\n securityJsCode: \"e7694dbcaf1d66f689adf35d0508c3d7\",\n },\n // {\n // key: \"fa8351b642f4f2399b7e4e88057f6769\",\n // securityJsCode: \"47b08d4ba8807461dd047d470eef8d28\",\n // },\n];\n\n/**\n * 随机获取一个地图密钥配置\n * @returns 地图密钥配置对象\n */\nexport function getMapKey(): MapKeyConfig {\n const randomIndex = Math.floor(Math.random() * keysList.length);\n const keyConfig = keysList?.[randomIndex];\n if (!keyConfig) {\n throw new Error(\"Failed to get map key configuration\");\n }\n return keyConfig;\n}\n\n// 导出随机获取的地图密钥配置\nexport const mapKeyConfig: MapKeyConfig = getMapKey();\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../../../../packages/utils/util.ts"],"sourcesContent":["/**\n * 将 emits 对象的 key 转换为 onXxx 形式的监听器 prop 类型\n * 例如 change → onChange, visibleChange → onVisibleChange, update:modelValue → onUpdate:modelValue\n */\nexport type WithOnEmits<T> = {\n [K in keyof T & string as K extends `update:${infer Rest}`\n ? `onUpdate:${Rest}`\n : `on${Capitalize<K>}`]?: T[K];\n};\n\n/**\n * 剔除对象中的某些属性\n * @param obj\n * @param exclude\n */\nexport function excludeObjectKeys(\n obj?: Record<string, any>,\n exclude?: string[],\n) {\n const tempObj: any = {};\n if (obj && exclude) {\n Object.keys(obj).forEach((key) => {\n if (!exclude.includes(key)) {\n tempObj[key] = obj[key];\n }\n });\n }\n return tempObj;\n}\n\n// 手动维护可以自动引入的组件\nconst CommonUIKey = [\n \"IForm\",\n \"ISelect\",\n \"IRadio\",\n \"ICheckbox\",\n \"IDivider\",\n \"IDrawer\",\n \"IIconSelect\",\n \"IImageVerification\",\n \"ITextButton\",\n \"ILink\",\n \"IPageHeader\",\n \"ISearch\",\n \"ITable\",\n \"ISplitPane\",\n \"ITenantEnterprise\",\n \"ISegmented\",\n \"IDescriptions\",\n \"IDescriptionItem\",\n \"ILivePlayer\",\n \"IDialog\",\n \"IDatePicker\",\n];\n/**\n * unplugin-auto-import/vite,unplugin-vue-components/vite 自动引入组件\n */\nexport function TzjCommonUIResolver(): {\n type: \"component\";\n resolve: (\n name: string,\n ) => { name: string; from: string; sideEffects: string } | undefined;\n} {\n return {\n type: \"component\",\n resolve: (name: string) => {\n if (CommonUIKey.includes(name)) {\n // 修改样式文件名从驼峰命名法转换为短横线命名法\n const kebabCaseName = name\n .replace(/([a-zA-Z])([A-Z])/g, \"$1-$2\")\n .toLowerCase();\n return {\n name,\n from: \"@tzj/common-ui\",\n sideEffects: `@tzj/common-ui/theme-default/${kebabCaseName}.css`,\n };\n }\n return undefined; // 确保返回 undefined 当 name 不在 CommonUIKey 中\n },\n };\n}\n\nexport class Logger {\n public _name: string;\n\n readonly nameStyle = \"color:white;background-color:green;border-radius:2px;\";\n readonly infoStyle = \"color:gray\";\n readonly warnStyle = \"color:yellow\";\n readonly errorStyle = \"color:red\";\n constructor(name: string) {\n this._name = name;\n }\n info(...args: any[]) {\n console.log(\n `%c ${this._name} `,\n this.nameStyle,\n \"%c info \",\n this.infoStyle,\n ...args,\n );\n }\n warn(...args: any[]) {\n console.log(\n `%c ${this._name} `,\n this.nameStyle,\n \"%c warn \",\n this.warnStyle,\n ...args,\n );\n }\n error(...args: any[]) {\n console.log(\n `%c ${this._name} `,\n this.nameStyle,\n \"%c error \",\n this.errorStyle,\n ...args,\n );\n }\n}\n\n// 定义地图密钥配置的类型\ninterface MapKeyConfig {\n key: string;\n securityJsCode: string;\n}\n\n// 地图密钥列表\nconst keysList: MapKeyConfig[] = [\n {\n key: \"38b0ca9fc864d48888c581df0fce884f\",\n securityJsCode: \"ace2949b84d7e74de5856f3c636e7601\", // 新版key需要配合安全密钥\n },\n {\n key: \"353ff229d1308165d356b2dda77073a0\",\n securityJsCode: \"e7694dbcaf1d66f689adf35d0508c3d7\",\n },\n // {\n // key: \"fa8351b642f4f2399b7e4e88057f6769\",\n // securityJsCode: \"47b08d4ba8807461dd047d470eef8d28\",\n // },\n];\n\n/**\n * 随机获取一个地图密钥配置\n * @returns 地图密钥配置对象\n */\nexport function getMapKey(): MapKeyConfig {\n const randomIndex = Math.floor(Math.random() * keysList.length);\n const keyConfig = keysList?.[randomIndex];\n if (!keyConfig) {\n throw new Error(\"Failed to get map key configuration\");\n }\n return keyConfig;\n}\n\n// 导出随机获取的地图密钥配置\nexport const mapKeyConfig: MapKeyConfig = getMapKey();\n\n/**\n * 从cookie读取 authorized‑token,并解析出 accessToken\n */\nexport function parseAuthorizedTokenCookie(): string | null {\n // 1. 取出cookie字符串\n const match = document.cookie.match(/authorized-token=([^;]+)/);\n if (!match) return null;\n\n // 2. 先 decodeURIComponent 解码url编码\n const rawStr = decodeURIComponent(match[1]);\n try {\n // 3. 解析json对象\n const obj = JSON.parse(rawStr);\n return \"Bearer \" + obj.accessToken; // 拿到真正的token字符串\n } catch (e) {\n console.error(\"解析authorized‑token失败\", e);\n return null;\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.w-full{width:100%}.h-full{height:100%}.w-8{width:2rem}.h-8{height:2rem}.\!w-8{width:2rem!important}.h-10{height:2.5rem}.w-52{width:13rem}.relative{position:relative}.absolute{position:absolute}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.grid{display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-5{margin-right:1.25rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.\!mt-10{margin-top:2.5rem!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pb-5{padding-bottom:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-white{color:#fff}.text-primary{color:var(--el-color-primary)}.text-center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-none{-webkit-user-select:none;user-select:none}.cursor-pointer{cursor:pointer}.break-words{overflow-wrap:break-word}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-gray-300{border-color:#d1d5db}.rounded{border-radius:.25rem}.opacity-80{opacity:.8}.waring-bubble{position:relative;width:100px;height:100px;background-size:100% 80%;background-repeat:no-repeat}.t-floor{position:absolute;top:50%;left:0;transform:translateY(-50%);width:120px;-webkit-user-select:none;user-select:none;height:80%;overflow:hidden;z-index:9999999!important}.t-floor ul{padding:0;list-style-type:none}.t-floor ul li{box-sizing:border-box;width:70px;height:18px;font-size:18px;border-radius:.5em;margin:.5em;box-shadow:0 0 1em rgba(0,0,0,.2);color:#fff;font-family:sans-serif;text-transform:capitalize;line-height:18px;transition:.3s;cursor:pointer}.t-floor ul li:nth-child(odd){background:linear-gradient(to right,#2ed0e1,#0071fc);text-align:left;padding-left:10%;transform:perspective(500px) rotateY(45deg)}.t-floor ul li:nth-child(even){background:linear-gradient(to left,#2ed0e1,#0071fc);text-align:right;padding-right:10%;transform:perspective(500px) rotateY(-45deg)}.t-floor ul li:nth-child(odd):hover{transform:perspective(200px) rotateY(45deg);padding-left:5%}.t-floor ul li:nth-child(even):hover{transform:perspective(200px) rotateY(-45deg);padding-right:5%}.t-floor li.activeted1{transform:perspective(200px) rotateY(-45deg)!important;padding-right:30%;background:linear-gradient(to right,orange,tomato)!important}.t-floor li.activeted2{transform:perspective(200px) rotateY(45deg)!important;background:linear-gradient(to right,orange,tomato)!important;padding-left:30%}.measure-result{background:rgba(255,255,255,.9);padding:5px 10px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2);font-size:14px;color:#333}.area-display{background:rgba(255,255,255,.9);padding:8px 12px;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.3);font-size:14px;color:#333;cursor:pointer;text-align:center}.area-display div:first-child{font-weight:700;margin-bottom:4px}.alarm-dialog{width:370px;height:280px;padding:20px}.alarm-dialog .alarm-dialog__title{color:#fff;font-size:20px;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(245,63,63,.4);position:relative}.alarm-dialog .alarm-dialog__title .el-icon{cursor:pointer;color:#f53f3f;font-weight:700}.alarm-dialog .alarm-dialog__title:before{content:"";width:6px;height:3px;position:absolute;bottom:-2px;left:0;background-color:#f53f3f}.alarm-dialog .alarm-dialog__title:after{content:"";width:6px;height:3px;position:absolute;bottom:-2px;right:0;background-color:#f53f3f}.alarm-dialog .alarm-dialog__content{margin-top:20px;width:100%;height:180px;overflow:hidden}.alarm-dialog .alarm-dialog__content .alarm-desc{color:#fff;font-size:14px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-desc-item{height:28px;display:flex;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-desc span{padding-left:10px}.alarm-dialog .alarm-dialog__content .alarm-video{height:100%;width:100%}.alarm-dialog .alarm-dialog__content .alarm-video video{height:120px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-video .alarm-video-desc{color:#fff;font-size:14px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-video .alarm-video-desc-item{height:28px;display:flex;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-video .alarm-video-desc-item span+span{margin-left:8px}.alarm-dialog .alarm-dialog__content .alarm-device{height:120px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-row-gap:8px}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item{display:flex;height:50px;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item .el-image{height:50px;width:50px;margin-right:6px}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item>div div:nth-child(1){font-size:14px;color:#fff}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item>div div:nth-child(2){font-size:20px;color:#00d5ff;font-weight:700}.alarm-dialog .alarm-dialog__content .alarm-device-desc{color:#fff;font-size:14px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-device-desc-item{height:28px;display:flex;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-device-desc-item span+span{margin-left:8px}.alarm-window1{width:700px;height:260px;padding:20px;background-repeat:no-repeat;background-size:100% 100%}.alarm-window1 .alarm-window1__title{color:#fff;font-size:20px;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(245,63,63,.4);position:relative}.alarm-window1 .alarm-window1__title .el-icon{cursor:pointer;color:#f53f3f;font-weight:700}.alarm-window1 .alarm-window1__title:before{content:"";width:6px;height:3px;position:absolute;bottom:-2px;left:0;background-color:#f53f3f}.alarm-window1 .alarm-window1__title:after{content:"";width:6px;height:3px;position:absolute;bottom:-2px;right:0;background-color:#f53f3f}.alarm-window1 .alarm-window1__content{margin-top:20px;width:300px;height:160px;background-color:rgba(0,0,0,.2)}.alarm-window1 .alarm-window2__info{width:360px;margin-left:20px}.alarm-window1 .alarm-window2__info .alarm-window2__title{font-size:20px;font-weight:700;color:#fff;padding-bottom:10px;border-bottom:1px solid #fff;background:linear-gradient(0deg,#f53f3f 0,#e1af00 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.alarm-window1 .alarm-window2__info .alarm-window2__list{display:flex;flex-direction:column;font-size:14px;color:#fff;margin:10px 0}.alarm-window1 .alarm-window2__info .alarm-tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;margin-left:-10px;height:120px}.alarm-window1 .alarm-window2__info .alarm-tags .alarm-tag{background:#337ecc 100%;background:linear-gradient(90deg,#337ecc,rgba(51,126,204,.2));color:#fff;font-size:16px;padding:6px 14px;border-radius:4px;cursor:pointer;margin-left:10px}.alarm-window1 .alarm-window2__info .alarm-opera{display:flex;justify-content:space-between}.alarm-window1 .alarm-window2__info .alarm-opera .alarm-normal-btn{border:1px solid #409eff;border-radius:4px;width:110px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;cursor:pointer}.alarm-window2{position:relative;width:800px;display:flex;justify-content:flex-start;padding:20px;background:rgba(4,50,86,.9);border:2px solid #409eff;box-sizing:border-box}.alarm-window2 .angle{width:25px;height:25px;border:2px solid #00f0ff;position:absolute}.alarm-window2 .angle.left-top{top:-2px;left:-2px;border-right:none;border-bottom:none}.alarm-window2 .angle.left-bottom{bottom:-2px;left:-2px;border-right:none;border-top:none}.alarm-window2 .angle.right-top{top:-2px;right:-2px;border-left:none;border-bottom:none}.alarm-window2 .angle.right-bottom{bottom:-2px;right:-2px;border-left:none;border-top:none}.alarm-window2 .el-icon{cursor:pointer;position:absolute;top:10px;right:10px;font-weight:700;font-size:20px;color:#fff}.alarm-window2 .alarm-window2__content{width:400px;height:260px;background-color:rgba(0,0,0,.2)}.alarm-window2 .alarm-window2__info{width:360px;margin-left:20px}.alarm-window2 .alarm-window2__info .alarm-window2__title{font-size:20px;font-weight:700;color:#fff;padding-bottom:10px;border-bottom:1px solid #fff;background:linear-gradient(0deg,#f53f3f 0,#e1af00 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.alarm-window2 .alarm-window2__info .alarm-window2__list{display:flex;flex-direction:column;font-size:14px;color:#fff;margin:10px 0}.alarm-window2 .alarm-window2__info .alarm-tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;margin-left:-10px;height:120px}.alarm-window2 .alarm-window2__info .alarm-tags .alarm-tag{background:#337ecc 100%;background:linear-gradient(90deg,#337ecc,rgba(51,126,204,.2));color:#fff;font-size:16px;padding:6px 14px;border-radius:4px;cursor:pointer;margin-left:10px}.alarm-window2 .alarm-window2__info .alarm-opera{display:flex;justify-content:space-between}.alarm-window2 .alarm-window2__info .alarm-opera .alarm-normal-btn{border:1px solid #409eff;border-radius:4px;width:110px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;cursor:pointer}.map-input2:focus-within .input-close-icon,.map-input2:hover .input-close-icon{display:block}.input-close-icon2{cursor:pointer;display:none}.map-container2{min-height:500px}.map-container2 .map-container-inner{position:relative}.map-container2 .map-container-inner #container{position:relative;width:100%;height:500px}.map-container2 .map-container-inner #container :deep(.amap-marker) img{width:25px;height:34px}.map-container2 .map-container-inner #map-search-result{display:none;position:absolute;right:-5px;top:0;width:30%;height:500px;overflow-y:auto}.district2{margin-left:10px;font-size:12px;color:#ccc}.bg-overlay2{position:relative;width:50px;height:50px;background:url(弹框.png);background-size:100% 100%;background-repeat:no-repeat;background-color:transparent}.t-bg-overlay{position:relative;width:350px;height:250px;background-size:100% 80%;background-repeat:no-repeat}.t-bg-overlay2{position:relative;width:100px;height:100px;background-size:100% 80%;background-repeat:no-repeat}.t-overlay-item{z-index:99999;margin-top:12px;margin-left:40px;font-size:14px;color:#fff;line-height:1.5;width:calc(100% - 40px)}.t-popper{height:350px}.t-fold{height:44px}.t-unfold{height:calc(100% - 24px)}.t-info-panel{top:12px;right:12px;width:420px;transition:height .25s ease}.t-info-panel .t-info-panel__header{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.06)}.t-info-panel .t-info-panel__tabs{display:flex;align-items:center;height:100%}.t-info-panel .t-info-panel__tab{display:inline-flex;align-items:center;height:100%;margin-right:20px;cursor:pointer;color:#666;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s}.t-info-panel .t-info-panel__tab--active{color:var(--el-color-primary);font-weight:500;border-bottom-color:var(--el-color-primary)}.t-info-panel .t-info-panel__fold{cursor:pointer;color:var(--el-color-primary);white-space:nowrap}.t-info-panel .t-info-panel__filters{display:flex;padding:12px 16px 0}.t-info-panel .t-info-panel__row{border-radius:6px;transition:background-color .15s}.t-info-panel .t-info-panel__row:hover{background-color:rgba(0,0,0,.04)}.ol-attribution{display:none}.ol-zoom{display:none}.t-bottom-bar,.t-info-panel,.t-top-bar{position:absolute;z-index:999999999;overflow:hidden;border-radius:10px;border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 20px rgba(0,0,0,.14)}.t-bottom-bar .el-card__body,.t-info-panel .el-card__body,.t-top-bar .el-card__body{padding:0;height:100%}.t-top-bar{top:12px;left:12px}.t-top-bar .t-top-bar__item{display:inline-flex;align-items:center;height:48px;padding:0 16px;color:#333;cursor:pointer;white-space:nowrap;transition:background-color .2s}.t-top-bar .t-top-bar__item .iconfont{margin-right:6px;font-size:16px;color:var(--el-color-primary)}.t-top-bar .t-top-bar__item .t-top-bar__value{margin-left:4px;color:#666;font-weight:500}.t-top-bar .t-top-bar__item+.t-top-bar__item{border-left:1px solid rgba(0,0,0,.06)}.t-top-bar .t-top-bar__item:hover{background-color:rgba(0,0,0,.04)}.t-top-bar .t-top-bar__item--exit{color:var(--el-color-danger)}.t-top-bar .t-top-bar__item--exit:hover{background-color:rgba(245,63,63,.1)}.t-bottom-bar{bottom:20px;left:50%;transform:translateX(-50%)}.t-bottom-bar .t-bottom-bar__inner{display:flex;align-items:center;justify-content:center;height:48px;padding:0 8px}.t-bottom-bar .t-bottom-bar__item{display:inline-flex;align-items:center;height:32px;padding:0 12px;margin-right:4px;border-radius:6px;color:#555;cursor:pointer;white-space:nowrap;transition:all .2s}.t-bottom-bar .t-bottom-bar__item .iconfont{margin-right:5px;font-size:15px}.t-bottom-bar .t-bottom-bar__item:hover{color:#333;background-color:rgba(0,0,0,.05)}.t-bottom-bar .t-bottom-bar__item.t-bbar-active{color:#fff;background-color:var(--el-color-primary)}.t-bottom-bar .t-bottom-bar__item.t-bbar-active .iconfont{color:#fff}.vc-sketch{position:absolute;z-index:999999999}.open-info-list{height:90%}.textx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-gradient2{background:linear-gradient(to right,#fbff00,tomato,#ff8c00);background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:700}.map-input:focus-within .input-close-icon,.map-input:hover .input-close-icon{display:block}.input-close-icon{cursor:pointer;display:none}.map-container{min-height:500px}.map-container .map-container-inner{position:relative}.map-container .map-container-inner #container{position:relative;width:100%;height:500px}.map-container .map-container-inner #container :deep(.amap-marker) img{width:25px;height:34px}.map-container .map-container-inner #map-search-result{display:none;position:absolute;right:-5px;top:0;width:30%;height:500px;overflow-y:auto}.district2{margin-left:10px;font-size:12px;color:#ccc}.bg-overlay2{position:relative;width:50px;height:50px;background:url(弹框.png);background-size:100% 100%;background-repeat:no-repeat;background-color:transparent}.map-input2:focus-within .input-close-icon,.map-input2:hover .input-close-icon{display:block}.input-close-icon2{cursor:pointer;display:none}.map-container2{min-height:500px}.map-container2 .map-container-inner{position:relative}.map-container2 .map-container-inner #container{position:relative;width:100%;height:500px}.map-container2 .map-container-inner #container :deep(.amap-marker) img{width:25px;height:34px}.map-container2 .map-container-inner #map-search-result{display:none;position:absolute;right:-5px;top:0;width:30%;height:500px;overflow-y:auto}.district2{margin-left:10px;font-size:12px;color:#ccc}.bg-overlay2{position:relative;width:50px;height:50px;background:url(弹框.png);background-size:100% 100%;background-repeat:no-repeat;background-color:transparent}
|
|
1
|
+
@charset "UTF-8";.w-full{width:100%}.h-full{height:100%}.w-8{width:2rem}.h-8{height:2rem}.\!w-8{width:2rem!important}.h-10{height:2.5rem}.w-52{width:13rem}.relative{position:relative}.absolute{position:absolute}.right-6{right:1.5rem}.bottom-6{bottom:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.grid{display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-5{margin-right:1.25rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.\!mt-10{margin-top:2.5rem!important}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pb-5{padding-bottom:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-white{color:#fff}.text-primary{color:var(--el-color-primary)}.text-center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-none{-webkit-user-select:none;user-select:none}.cursor-pointer{cursor:pointer}.break-words{overflow-wrap:break-word}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.border{border-width:1px}.border-gray-300{border-color:#d1d5db}.rounded{border-radius:.25rem}.opacity-80{opacity:.8}.waring-bubble{position:relative;width:100px;height:100px;background-size:100% 80%;background-repeat:no-repeat}.t-floor{position:absolute;top:50%;left:0;transform:translateY(-50%);width:120px;-webkit-user-select:none;user-select:none;height:80%;overflow:hidden;z-index:9999999!important}.t-floor ul{padding:0;list-style-type:none}.t-floor ul li{box-sizing:border-box;width:70px;height:18px;font-size:18px;border-radius:.5em;margin:.5em;box-shadow:0 0 1em rgba(0,0,0,.2);color:#fff;font-family:sans-serif;text-transform:capitalize;line-height:18px;transition:.3s;cursor:pointer}.t-floor ul li:nth-child(odd){background:linear-gradient(to right,#2ed0e1,#0071fc);text-align:left;padding-left:10%;transform:perspective(500px) rotateY(45deg)}.t-floor ul li:nth-child(even){background:linear-gradient(to left,#2ed0e1,#0071fc);text-align:right;padding-right:10%;transform:perspective(500px) rotateY(-45deg)}.t-floor ul li:nth-child(odd):hover{transform:perspective(200px) rotateY(45deg);padding-left:5%}.t-floor ul li:nth-child(even):hover{transform:perspective(200px) rotateY(-45deg);padding-right:5%}.t-floor li.activeted1{transform:perspective(200px) rotateY(-45deg)!important;padding-right:30%;background:linear-gradient(to right,orange,tomato)!important}.t-floor li.activeted2{transform:perspective(200px) rotateY(45deg)!important;background:linear-gradient(to right,orange,tomato)!important;padding-left:30%}.measure-result{background:rgba(255,255,255,.9);padding:5px 10px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2);font-size:14px;color:#333}.area-display{background:rgba(255,255,255,.9);padding:8px 12px;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.3);font-size:14px;color:#333;cursor:pointer;text-align:center}.area-display div:first-child{font-weight:700;margin-bottom:4px}.alarm-dialog{width:370px;height:280px;padding:20px}.alarm-dialog .alarm-dialog__title{color:#fff;font-size:20px;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(245,63,63,.4);position:relative}.alarm-dialog .alarm-dialog__title .el-icon{cursor:pointer;color:#f53f3f;font-weight:700}.alarm-dialog .alarm-dialog__title:before{content:"";width:6px;height:3px;position:absolute;bottom:-2px;left:0;background-color:#f53f3f}.alarm-dialog .alarm-dialog__title:after{content:"";width:6px;height:3px;position:absolute;bottom:-2px;right:0;background-color:#f53f3f}.alarm-dialog .alarm-dialog__content{margin-top:20px;width:100%;height:180px;overflow:hidden}.alarm-dialog .alarm-dialog__content .alarm-desc{color:#fff;font-size:14px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-desc-item{height:28px;display:flex;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-desc span{padding-left:10px}.alarm-dialog .alarm-dialog__content .alarm-video{height:100%;width:100%}.alarm-dialog .alarm-dialog__content .alarm-video video{height:120px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-video .alarm-video-desc{color:#fff;font-size:14px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-video .alarm-video-desc-item{height:28px;display:flex;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-video .alarm-video-desc-item span+span{margin-left:8px}.alarm-dialog .alarm-dialog__content .alarm-device{height:120px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-row-gap:8px}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item{display:flex;height:50px;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item .el-image{height:50px;width:50px;margin-right:6px}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item>div div:nth-child(1){font-size:14px;color:#fff}.alarm-dialog .alarm-dialog__content .alarm-device .alarm-device-item>div div:nth-child(2){font-size:20px;color:#00d5ff;font-weight:700}.alarm-dialog .alarm-dialog__content .alarm-device-desc{color:#fff;font-size:14px;width:100%}.alarm-dialog .alarm-dialog__content .alarm-device-desc-item{height:28px;display:flex;align-items:center;justify-content:flex-start}.alarm-dialog .alarm-dialog__content .alarm-device-desc-item span+span{margin-left:8px}.alarm-window1{width:700px;height:260px;padding:20px;background-repeat:no-repeat;background-size:100% 100%}.alarm-window1 .alarm-window1__title{color:#fff;font-size:20px;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(245,63,63,.4);position:relative}.alarm-window1 .alarm-window1__title .el-icon{cursor:pointer;color:#f53f3f;font-weight:700}.alarm-window1 .alarm-window1__title:before{content:"";width:6px;height:3px;position:absolute;bottom:-2px;left:0;background-color:#f53f3f}.alarm-window1 .alarm-window1__title:after{content:"";width:6px;height:3px;position:absolute;bottom:-2px;right:0;background-color:#f53f3f}.alarm-window1 .alarm-window1__content{margin-top:20px;width:300px;height:160px;background-color:rgba(0,0,0,.2)}.alarm-window1 .alarm-window2__info{width:360px;margin-left:20px}.alarm-window1 .alarm-window2__info .alarm-window2__title{font-size:20px;font-weight:700;color:#fff;padding-bottom:10px;border-bottom:1px solid #fff;background:linear-gradient(0deg,#f53f3f 0,#e1af00 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.alarm-window1 .alarm-window2__info .alarm-window2__list{display:flex;flex-direction:column;font-size:14px;color:#fff;margin:10px 0}.alarm-window1 .alarm-window2__info .alarm-tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;margin-left:-10px;height:120px}.alarm-window1 .alarm-window2__info .alarm-tags .alarm-tag{background:#337ecc 100%;background:linear-gradient(90deg,#337ecc,rgba(51,126,204,.2));color:#fff;font-size:16px;padding:6px 14px;border-radius:4px;cursor:pointer;margin-left:10px}.alarm-window1 .alarm-window2__info .alarm-opera{display:flex;justify-content:space-between}.alarm-window1 .alarm-window2__info .alarm-opera .alarm-normal-btn{border:1px solid #409eff;border-radius:4px;width:110px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;cursor:pointer}.alarm-window2{position:relative;width:800px;display:flex;justify-content:flex-start;padding:20px;background:rgba(4,50,86,.9);border:2px solid #409eff;box-sizing:border-box}.alarm-window2 .angle{width:25px;height:25px;border:2px solid #00f0ff;position:absolute}.alarm-window2 .angle.left-top{top:-2px;left:-2px;border-right:none;border-bottom:none}.alarm-window2 .angle.left-bottom{bottom:-2px;left:-2px;border-right:none;border-top:none}.alarm-window2 .angle.right-top{top:-2px;right:-2px;border-left:none;border-bottom:none}.alarm-window2 .angle.right-bottom{bottom:-2px;right:-2px;border-left:none;border-top:none}.alarm-window2 .el-icon{cursor:pointer;position:absolute;top:10px;right:10px;font-weight:700;font-size:20px;color:#fff}.alarm-window2 .alarm-window2__content{width:400px;height:260px;background-color:rgba(0,0,0,.2)}.alarm-window2 .alarm-window2__info{width:360px;margin-left:20px}.alarm-window2 .alarm-window2__info .alarm-window2__title{font-size:20px;font-weight:700;color:#fff;padding-bottom:10px;border-bottom:1px solid #fff;background:linear-gradient(0deg,#f53f3f 0,#e1af00 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.alarm-window2 .alarm-window2__info .alarm-window2__list{display:flex;flex-direction:column;font-size:14px;color:#fff;margin:10px 0}.alarm-window2 .alarm-window2__info .alarm-tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;margin-left:-10px;height:120px}.alarm-window2 .alarm-window2__info .alarm-tags .alarm-tag{background:#337ecc 100%;background:linear-gradient(90deg,#337ecc,rgba(51,126,204,.2));color:#fff;font-size:16px;padding:6px 14px;border-radius:4px;cursor:pointer;margin-left:10px}.alarm-window2 .alarm-window2__info .alarm-opera{display:flex;justify-content:space-between}.alarm-window2 .alarm-window2__info .alarm-opera .alarm-normal-btn{border:1px solid #409eff;border-radius:4px;width:110px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;color:#fff;cursor:pointer}.map-input2:focus-within .input-close-icon,.map-input2:hover .input-close-icon{display:block}.input-close-icon2{cursor:pointer;display:none}.map-container2{min-height:500px}.map-container2 .map-container-inner{position:relative}.map-container2 .map-container-inner #container{position:relative;width:100%;height:500px}.map-container2 .map-container-inner #container :deep(.amap-marker) img{width:25px;height:34px}.map-container2 .map-container-inner #map-search-result{display:none;position:absolute;right:-5px;top:0;width:30%;height:500px;overflow-y:auto}.district2{margin-left:10px;font-size:12px;color:#ccc}.bg-overlay2{position:relative;width:50px;height:50px;background:url(弹框.png);background-size:100% 100%;background-repeat:no-repeat;background-color:transparent}.t-bg-overlay{position:relative;width:350px;height:250px;background-size:100% 80%;background-repeat:no-repeat}.t-bg-overlay2{position:relative;width:100px;height:100px;background-size:100% 80%;background-repeat:no-repeat}.t-overlay-item{z-index:99999;margin-top:12px;margin-left:40px;font-size:14px;color:#fff;line-height:1.5;width:calc(100% - 40px)}.t-popper{height:350px}.t-fold{height:44px}.t-unfold{height:calc(100% - 24px)}.t-info-panel{top:12px;right:12px;width:420px;transition:height .25s ease}.t-info-panel .t-info-panel__header{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.06)}.t-info-panel .t-info-panel__tabs{display:flex;align-items:center;height:100%}.t-info-panel .t-info-panel__tab{display:inline-flex;align-items:center;height:100%;margin-right:20px;cursor:pointer;color:#666;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s}.t-info-panel .t-info-panel__tab--active{color:var(--el-color-primary);font-weight:500;border-bottom-color:var(--el-color-primary)}.t-info-panel .t-info-panel__fold{cursor:pointer;color:var(--el-color-primary);white-space:nowrap}.t-info-panel .t-info-panel__filters{width:100%;display:flex;padding:12px 16px 0}.t-info-panel .t-info-panel__row{border-radius:6px;transition:background-color .15s}.t-info-panel .t-info-panel__row:hover{background-color:rgba(0,0,0,.04)}.ol-attribution{display:none}.ol-zoom{display:none}.t-bottom-bar,.t-info-panel,.t-top-bar{position:absolute;z-index:999999999;overflow:hidden;border-radius:10px;border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 20px rgba(0,0,0,.14)}.t-bottom-bar .el-card__body,.t-info-panel .el-card__body,.t-top-bar .el-card__body{padding:0;height:100%}.t-top-bar{top:12px;left:12px}.t-top-bar .t-top-bar__item{display:inline-flex;align-items:center;height:48px;padding:0 16px;color:#333;cursor:pointer;white-space:nowrap;transition:background-color .2s}.t-top-bar .t-top-bar__item .iconfont{margin-right:6px;font-size:16px;color:var(--el-color-primary)}.t-top-bar .t-top-bar__item .t-top-bar__value{margin-left:4px;color:#666;font-weight:500}.t-top-bar .t-top-bar__item+.t-top-bar__item{border-left:1px solid rgba(0,0,0,.06)}.t-top-bar .t-top-bar__item:hover{background-color:rgba(0,0,0,.04)}.t-top-bar .t-top-bar__item--exit{color:var(--el-color-danger)}.t-top-bar .t-top-bar__item--exit:hover{background-color:rgba(245,63,63,.1)}.t-bottom-bar{bottom:20px;left:50%;transform:translateX(-50%)}.t-bottom-bar .t-bottom-bar__inner{display:flex;align-items:center;justify-content:center;height:48px;padding:0 8px}.t-bottom-bar .t-bottom-bar__item{display:inline-flex;align-items:center;height:32px;padding:0 12px;margin-right:4px;border-radius:6px;color:#555;cursor:pointer;white-space:nowrap;transition:all .2s}.t-bottom-bar .t-bottom-bar__item .iconfont{margin-right:5px;font-size:15px}.t-bottom-bar .t-bottom-bar__item:hover{color:#333;background-color:rgba(0,0,0,.05)}.t-bottom-bar .t-bottom-bar__item.t-bbar-active{color:#fff;background-color:var(--el-color-primary)}.t-bottom-bar .t-bottom-bar__item.t-bbar-active .iconfont{color:#fff}.vc-sketch{position:absolute;z-index:999999999}.open-info-list{height:90%}.textx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-gradient2{background:linear-gradient(to right,#fbff00,tomato,#ff8c00);background-clip:text;-webkit-background-clip:text;color:transparent;font-weight:700}.map-input:focus-within .input-close-icon,.map-input:hover .input-close-icon{display:block}.input-close-icon{cursor:pointer;display:none}.map-container{min-height:500px}.map-container .map-container-inner{position:relative}.map-container .map-container-inner #container{position:relative;width:100%;height:500px}.map-container .map-container-inner #container :deep(.amap-marker) img{width:25px;height:34px}.map-container .map-container-inner #map-search-result{display:none;position:absolute;right:-5px;top:0;width:30%;height:500px;overflow-y:auto}.district2{margin-left:10px;font-size:12px;color:#ccc}.bg-overlay2{position:relative;width:50px;height:50px;background:url(弹框.png);background-size:100% 100%;background-repeat:no-repeat;background-color:transparent}.map-input2:focus-within .input-close-icon,.map-input2:hover .input-close-icon{display:block}.input-close-icon2{cursor:pointer;display:none}.map-container2{min-height:500px}.map-container2 .map-container-inner{position:relative}.map-container2 .map-container-inner #container{position:relative;width:100%;height:500px}.map-container2 .map-container-inner #container :deep(.amap-marker) img{width:25px;height:34px}.map-container2 .map-container-inner #map-search-result{display:none;position:absolute;right:-5px;top:0;width:30%;height:500px;overflow-y:auto}.district2{margin-left:10px;font-size:12px;color:#ccc}.bg-overlay2{position:relative;width:50px;height:50px;background:url(弹框.png);background-size:100% 100%;background-repeat:no-repeat;background-color:transparent}
|