@yimou6/common-ui 1.14.4 → 1.14.5

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.
@@ -171,11 +171,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
171
171
  zoom: mapZoom
172
172
  });
173
173
  map.addControl(new T.Control.Zoom());
174
- map.addEventListener("click", (e) => {
175
- const lnglat = e.lnglat;
176
- if (!lnglat) return;
177
- addMarker([lnglat.getLng(), lnglat.getLat()]);
178
- });
174
+ if (props.type !== "view") {
175
+ map.addEventListener("click", (e) => {
176
+ const lnglat = e.lnglat;
177
+ if (!lnglat) return;
178
+ addMarker([lnglat.getLng(), lnglat.getLat()]);
179
+ });
180
+ }
179
181
  if (hasInitPos) {
180
182
  await nextTick();
181
183
  addMarker([model.value[0], model.value[1]], model.value[2]);
@@ -1 +1 @@
1
- {"version":3,"file":"map.vue2.mjs","sources":["../../../../../../../packages/components/map/src/map.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { CircleClose } from \"@element-plus/icons-vue\";\nimport { ElMessage } from \"element-plus\";\nimport { nextTick, onMounted, onUnmounted, ref, toRefs, watch } from \"vue\";\nimport { MapProps, TiandituGlobal } from \"./map\";\nimport markerIcon from \"./marker.png\";\n\ndefineOptions({\n name: \"IMap\",\n});\n\n// ==================== Props & Emits ====================\nconst props = defineProps(MapProps);\n\nconst emits = defineEmits([\n \"update:modelValue\",\n \"change\",\n \"update:addressCode\",\n \"update:address\",\n]);\n\nconst { modelValue, disabled, options } = toRefs(props);\n\n// ==================== 天地图 Token ====================\nconst TIANDITU_TOKEN = \"ab0296cad21f656152228912c15abdfb\";\n\n// ==================== 模块级:加载天地图 JS API ====================\nconst _win = window as unknown as TiandituGlobal;\n\nfunction loadTiandituScript(): Promise<void> {\n if (_win.__tdt_loaded) return Promise.resolve();\n if (_win.__tdt_loading) return _win.__tdt_loading;\n\n _win.__tdt_loading = new Promise<void>((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = `https://api.tianditu.gov.cn/api?v=4.0&tk=${TIANDITU_TOKEN}`;\n script.onload = () => {\n _win.__tdt_loaded = true;\n _win.__tdt_loading = null;\n resolve();\n };\n script.onerror = () => {\n _win.__tdt_loading = null;\n reject(new Error(\"天地图 API 加载失败\"));\n };\n document.head.appendChild(script);\n });\n return _win.__tdt_loading;\n}\n\nfunction getT(): any {\n return _win.T;\n}\n\n// ==================== 天地图 REST API 封装 ====================\nasync function tdtSearch(keyword: string): Promise<any[]> {\n const postStr = JSON.stringify({\n keyWord: keyword,\n level: 12,\n mapBound: \"73.66,3.86,135.05,53.55\",\n queryType: 7,\n start: 0,\n count: 20,\n });\n const url = `https://api.tianditu.gov.cn/v2/search?postStr=${encodeURIComponent(postStr)}&type=query&tk=${TIANDITU_TOKEN}`;\n try {\n const resp = await fetch(url);\n if (!resp.ok) return [];\n const data = await resp.json();\n if (data && data.pois) {\n return data.pois.map((poi: any) => ({\n value: poi.name,\n name: poi.name,\n district: poi.address || \"\",\n location: poi.lonlat\n ? {\n lng: Number(poi.lonlat.split(\" \")[0]),\n lat: Number(poi.lonlat.split(\" \")[1]),\n }\n : null,\n adcode: poi.admincode || \"\",\n _raw: poi,\n }));\n }\n return [];\n } catch {\n return [];\n }\n}\n\nasync function tdtReverseGeocode(lng: number, lat: number): Promise<string> {\n const postStr = JSON.stringify({ lon: lng, lat, ver: 1 });\n const url = `https://api.tianditu.gov.cn/geocoder?postStr=${encodeURIComponent(postStr)}&type=geocode&tk=${TIANDITU_TOKEN}`;\n const resp = await fetch(url);\n const data = await resp.json();\n if (data && data.result) {\n return data.result.formatted_address || data.result.address || \"\";\n }\n return \"\";\n}\n\n// ==================== 响应式状态 ====================\nlet map: any = null;\nlet marker: any = null;\nlet infoWindow: any = null;\n\nconst dialogVisible = ref(false);\nconst keyword = ref(\"\");\nconst model = ref<any>([]);\n\nconst refMap = ref<HTMLDivElement | null>(null);\nconst center = ref<[number, number]>([116.397428, 39.90923]);\nconst zoom = ref(10);\n\n// ==================== 标记管理 ====================\nfunction clearMarker() {\n if (marker) {\n map?.removeOverLay(marker);\n marker = null;\n }\n}\n\nasync function addMarker(lnglat: [number, number], name?: string) {\n const T = getT();\n if (!T || !map) return;\n\n clearMarker();\n\n const icon = new T.Icon({\n iconUrl: markerIcon,\n iconSize: new T.Point(19, 33),\n iconAnchor: new T.Point(10, 33),\n });\n\n marker = new T.Marker(new T.LngLat(lnglat[0], lnglat[1]), { icon });\n map.addOverLay(marker);\n\n if (name) {\n keyword.value = name;\n model.value = [lnglat[0], lnglat[1], name];\n return;\n }\n\n try {\n const address = await tdtReverseGeocode(lnglat[0], lnglat[1]);\n keyword.value =\n address || `${lnglat[0].toFixed(6)}, ${lnglat[1].toFixed(6)}`;\n model.value = [lnglat[0], lnglat[1], keyword.value];\n } catch {\n model.value = [\n lnglat[0],\n lnglat[1],\n `${lnglat[0].toFixed(6)}, ${lnglat[1].toFixed(6)}`,\n ];\n }\n}\n\n// ==================== 地图初始化 ====================\nasync function initMap() {\n await loadTiandituScript();\n const T = getT();\n if (!T) return;\n\n const container = refMap.value;\n if (!container) return;\n\n if (map) {\n try {\n map.destroy();\n } catch {\n /* ignore */\n }\n map = null;\n marker = null;\n }\n\n const hasInitPos = model.value?.[0] != null && model.value?.[1] != null;\n const mapCenter = hasInitPos\n ? new T.LngLat(model.value[0], model.value[1])\n : new T.LngLat(center.value[0], center.value[1]);\n const mapZoom = hasInitPos ? options.value?.zoom || 15 : zoom.value;\n\n map = new T.Map(container, {\n center: mapCenter,\n zoom: mapZoom,\n });\n\n map.addControl(new T.Control.Zoom());\n\n // 地图点击 → 选点\n map.addEventListener(\"click\", (e: any) => {\n const lnglat = e.lnglat;\n if (!lnglat) return;\n addMarker([lnglat.getLng(), lnglat.getLat()]);\n });\n\n if (hasInitPos) {\n await nextTick();\n addMarker([model.value[0], model.value[1]], model.value[2]);\n }\n}\n\nfunction destroyMap() {\n clearMarker();\n if (infoWindow) {\n try {\n infoWindow.closeInfoWindow();\n } catch {\n /* ignore */\n }\n infoWindow = null;\n }\n if (map) {\n try {\n map.destroy();\n } catch {\n /* ignore */\n }\n map = null;\n }\n}\n\n// ==================== 打开选择器 ====================\nconst handleOpenDialog = async () => {\n if (disabled.value) return;\n dialogVisible.value = true;\n await nextTick();\n model.value = JSON.parse(JSON.stringify(modelValue.value));\n setTimeout(() => initMap(), 200);\n};\n\n// ==================== 自动补全搜索 ====================\nconst LAST_SEARCH_RESULTS = ref<any[]>([]);\n\nconst querySearch = async (queryString: string, cb: any) => {\n if (!queryString) return cb([]);\n try {\n const results = await tdtSearch(queryString);\n LAST_SEARCH_RESULTS.value = results;\n cb(results);\n } catch {\n ElMessage.error(\"搜索失败,请稍后重试\");\n cb([]);\n }\n};\n\nconst inputChange = () => {\n model.value = [];\n clearMarker();\n};\n\n// ==================== 选中搜索结果 ====================\n/**\n * 从 item 中提取坐标(优先 item.location,其次 item._raw.lonlat)\n */\nfunction extractCoords(item: any): [number, number] | null {\n if (item.location && !isNaN(item.location.lng) && !isNaN(item.location.lat)) {\n return [item.location.lng, item.location.lat];\n }\n if (item._raw?.lonlat) {\n const [lng, lat] = item._raw.lonlat.split(\",\").map(Number);\n if (!isNaN(lng) && !isNaN(lat)) return [lng, lat];\n }\n return null;\n}\n\n/**\n * 定位到指定坐标并添加标记\n */\nfunction locateTo(lngLat: [number, number], name: string) {\n addMarker(lngLat, name);\n map?.panTo(new (getT().LngLat)(lngLat[0], lngLat[1]));\n}\n\nconst handleSelect = async (item: any) => {\n console.log(\"🚀 ~ item:\", item);\n keyword.value = item.name;\n\n // 1) item 本身有坐标 → 直接定位打点\n const coords = extractCoords(item);\n console.log(\"🚀 ~ coords:\", coords);\n if (coords) {\n locateTo(coords, item.name);\n return;\n }\n\n // 2) 无坐标 → 远程搜索后定位\n try {\n const results = await tdtSearch(item.name);\n const first = results[0];\n if (first) {\n const firstCoords = extractCoords(first);\n if (firstCoords) {\n locateTo(firstCoords, first.name);\n return;\n }\n }\n ElMessage.warning(\"未找到匹配的地点\");\n } catch {\n ElMessage.warning(\"搜索失败,请稍后重试\");\n }\n};\n\n// ==================== Enter 键搜索 ====================\nconst handleEnterKey = () => {\n if (!keyword.value) return;\n if (LAST_SEARCH_RESULTS.value.length > 0) {\n handleSelect(LAST_SEARCH_RESULTS.value[0]);\n } else {\n handleSelect({ value: keyword.value, name: keyword.value });\n }\n};\n\n// ==================== 确认 / 清除 ====================\nconst handleConfirm = () => {\n emits(\"update:modelValue\", model.value);\n emits(\"change\", model.value);\n emits(\"update:addressCode\", [model.value[0], model.value[1]]);\n emits(\"update:address\", model.value[2]);\n dialogVisible.value = false;\n setTimeout(() => destroyMap(), 300);\n};\n\nconst clearValue = () => {\n emits(\"update:modelValue\", []);\n emits(\"change\", []);\n};\n\n// ==================== 地图中心更新 ====================\nfunction updateMapCenter(val: any[], retry = 0) {\n const T = getT();\n if (!map || !T) {\n if (retry < 10) {\n setTimeout(() => updateMapCenter(val, retry + 1), 300);\n }\n return;\n }\n addMarker([val[0], val[1]], val[2]);\n map.panTo(new T.LngLat(val[0], val[1]), options.value?.zoom || 12);\n}\n\n// ==================== View 模式:挂载时初始化 ====================\nonMounted(() => {\n if (props.type === \"view\") {\n nextTick(async () => {\n model.value = JSON.parse(JSON.stringify(modelValue.value));\n await new Promise((r) => requestAnimationFrame(r));\n try {\n await initMap();\n } catch (e) {\n console.error(\"[ViewMap] initMap error:\", e);\n }\n });\n }\n});\n\nonUnmounted(() => {\n destroyMap();\n});\n\n// ==================== 监听 modelValue 外部变化 ====================\nwatch(\n () => props.modelValue,\n (val) => {\n if (!val || val[0] == null || val[1] == null) return;\n model.value = JSON.parse(JSON.stringify(val));\n updateMapCenter(val);\n },\n { deep: true },\n);\n\ndefineExpose({\n handleOpenDialog,\n});\n</script>\n\n<template>\n <!-- type=\"view\":只读地图 -->\n <div\n v-if=\"type === 'view'\"\n class=\"i-map w-full h-full i-map__container-inner\"\n >\n <div ref=\"refMap\" class=\"i-map__tdt i-map__tdt--view\" />\n </div>\n\n <!-- type=\"edit\" / \"edit2\":输入框 + 抽屉 / 纯抽屉 -->\n <div v-else class=\"i-map\">\n <!-- edit 模式:输入框触发器 -->\n <el-input\n v-if=\"type === 'edit'\"\n v-model=\"modelValue[2]\"\n class=\"i-map__input\"\n :placeholder=\"placeholder\"\n readonly\n :size=\"size\"\n :disabled=\"disabled\"\n @click=\"handleOpenDialog\"\n >\n <template v-if=\"!disabled\" #suffix>\n <el-icon\n v-if=\"modelValue[2]\"\n class=\"i-map__input-close\"\n @click.stop=\"clearValue\"\n >\n <CircleClose />\n </el-icon>\n </template>\n </el-input>\n\n <!-- 共享抽屉 -->\n <el-drawer\n v-model=\"dialogVisible\"\n title=\"请选择地点\"\n :show-close=\"true\"\n size=\"100%\"\n @closed=\"destroyMap\"\n >\n <div\n v-if=\"dialogVisible\"\n class=\"h-full w-full overflow-hidden i-map__container\"\n >\n <el-autocomplete\n v-model=\"keyword\"\n :disabled=\"disabled\"\n placeholder=\"请输入关键字选择地点\"\n class=\"i-map__search\"\n :debounce=\"700\"\n style=\"margin-bottom: 15px; width: 100%\"\n clearable\n :fetch-suggestions=\"querySearch\"\n :validate-event=\"false\"\n @input=\"inputChange\"\n @select=\"handleSelect\"\n @keyup.enter=\"handleEnterKey\"\n >\n <template #default=\"{ item }\">\n {{ item.name }}\n <span class=\"i-map__district\">{{ item.district }}</span>\n </template>\n </el-autocomplete>\n <div class=\"i-map__container-inner\">\n <div ref=\"refMap\" class=\"i-map__tdt\" />\n </div>\n </div>\n <template #footer>\n <el-button type=\"primary\" :disabled=\"disabled\" @click=\"handleConfirm\">\n 确定\n </el-button>\n </template>\n </el-drawer>\n </div>\n</template>\n"],"names":["keyword","markerIcon","_createCommentVNode","type","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_createBlock","_unref","placeholder","size","_createVNode","CircleClose","_withCtx","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"map.vue2.mjs","sources":["../../../../../../../packages/components/map/src/map.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { CircleClose } from \"@element-plus/icons-vue\";\nimport { ElMessage } from \"element-plus\";\nimport { nextTick, onMounted, onUnmounted, ref, toRefs, watch } from \"vue\";\nimport { MapProps, TiandituGlobal } from \"./map\";\nimport markerIcon from \"./marker.png\";\n\ndefineOptions({\n name: \"IMap\",\n});\n\n// ==================== Props & Emits ====================\nconst props = defineProps(MapProps);\n\nconst emits = defineEmits([\n \"update:modelValue\",\n \"change\",\n \"update:addressCode\",\n \"update:address\",\n]);\n\nconst { modelValue, disabled, options } = toRefs(props);\n\n// ==================== 天地图 Token ====================\nconst TIANDITU_TOKEN = \"ab0296cad21f656152228912c15abdfb\";\n\n// ==================== 模块级:加载天地图 JS API ====================\nconst _win = window as unknown as TiandituGlobal;\n\nfunction loadTiandituScript(): Promise<void> {\n if (_win.__tdt_loaded) return Promise.resolve();\n if (_win.__tdt_loading) return _win.__tdt_loading;\n\n _win.__tdt_loading = new Promise<void>((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = `https://api.tianditu.gov.cn/api?v=4.0&tk=${TIANDITU_TOKEN}`;\n script.onload = () => {\n _win.__tdt_loaded = true;\n _win.__tdt_loading = null;\n resolve();\n };\n script.onerror = () => {\n _win.__tdt_loading = null;\n reject(new Error(\"天地图 API 加载失败\"));\n };\n document.head.appendChild(script);\n });\n return _win.__tdt_loading;\n}\n\nfunction getT(): any {\n return _win.T;\n}\n\n// ==================== 天地图 REST API 封装 ====================\nasync function tdtSearch(keyword: string): Promise<any[]> {\n const postStr = JSON.stringify({\n keyWord: keyword,\n level: 12,\n mapBound: \"73.66,3.86,135.05,53.55\",\n queryType: 7,\n start: 0,\n count: 20,\n });\n const url = `https://api.tianditu.gov.cn/v2/search?postStr=${encodeURIComponent(postStr)}&type=query&tk=${TIANDITU_TOKEN}`;\n try {\n const resp = await fetch(url);\n if (!resp.ok) return [];\n const data = await resp.json();\n if (data && data.pois) {\n return data.pois.map((poi: any) => ({\n value: poi.name,\n name: poi.name,\n district: poi.address || \"\",\n location: poi.lonlat\n ? {\n lng: Number(poi.lonlat.split(\" \")[0]),\n lat: Number(poi.lonlat.split(\" \")[1]),\n }\n : null,\n adcode: poi.admincode || \"\",\n _raw: poi,\n }));\n }\n return [];\n } catch {\n return [];\n }\n}\n\nasync function tdtReverseGeocode(lng: number, lat: number): Promise<string> {\n const postStr = JSON.stringify({ lon: lng, lat, ver: 1 });\n const url = `https://api.tianditu.gov.cn/geocoder?postStr=${encodeURIComponent(postStr)}&type=geocode&tk=${TIANDITU_TOKEN}`;\n const resp = await fetch(url);\n const data = await resp.json();\n if (data && data.result) {\n return data.result.formatted_address || data.result.address || \"\";\n }\n return \"\";\n}\n\n// ==================== 响应式状态 ====================\nlet map: any = null;\nlet marker: any = null;\nlet infoWindow: any = null;\n\nconst dialogVisible = ref(false);\nconst keyword = ref(\"\");\nconst model = ref<any>([]);\n\nconst refMap = ref<HTMLDivElement | null>(null);\nconst center = ref<[number, number]>([116.397428, 39.90923]);\nconst zoom = ref(10);\n\n// ==================== 标记管理 ====================\nfunction clearMarker() {\n if (marker) {\n map?.removeOverLay(marker);\n marker = null;\n }\n}\n\nasync function addMarker(lnglat: [number, number], name?: string) {\n const T = getT();\n if (!T || !map) return;\n\n clearMarker();\n\n const icon = new T.Icon({\n iconUrl: markerIcon,\n iconSize: new T.Point(19, 33),\n iconAnchor: new T.Point(10, 33),\n });\n\n marker = new T.Marker(new T.LngLat(lnglat[0], lnglat[1]), { icon });\n map.addOverLay(marker);\n\n if (name) {\n keyword.value = name;\n model.value = [lnglat[0], lnglat[1], name];\n return;\n }\n\n try {\n const address = await tdtReverseGeocode(lnglat[0], lnglat[1]);\n keyword.value =\n address || `${lnglat[0].toFixed(6)}, ${lnglat[1].toFixed(6)}`;\n model.value = [lnglat[0], lnglat[1], keyword.value];\n } catch {\n model.value = [\n lnglat[0],\n lnglat[1],\n `${lnglat[0].toFixed(6)}, ${lnglat[1].toFixed(6)}`,\n ];\n }\n}\n\n// ==================== 地图初始化 ====================\nasync function initMap() {\n await loadTiandituScript();\n const T = getT();\n if (!T) return;\n\n const container = refMap.value;\n if (!container) return;\n\n if (map) {\n try {\n map.destroy();\n } catch {\n /* ignore */\n }\n map = null;\n marker = null;\n }\n\n const hasInitPos = model.value?.[0] != null && model.value?.[1] != null;\n const mapCenter = hasInitPos\n ? new T.LngLat(model.value[0], model.value[1])\n : new T.LngLat(center.value[0], center.value[1]);\n const mapZoom = hasInitPos ? options.value?.zoom || 15 : zoom.value;\n\n map = new T.Map(container, {\n center: mapCenter,\n zoom: mapZoom,\n });\n\n map.addControl(new T.Control.Zoom());\n\n // 地图点击 → 选点(仅编辑态)\n // view 模式是只读展示,点击地图不得改动标点位置(addMarker 会先 clearMarker 再重新打点,\n // 还会触发逆地理编码请求),因此这里不绑定该监听。\n if (props.type !== \"view\") {\n map.addEventListener(\"click\", (e: any) => {\n const lnglat = e.lnglat;\n if (!lnglat) return;\n addMarker([lnglat.getLng(), lnglat.getLat()]);\n });\n }\n\n if (hasInitPos) {\n await nextTick();\n addMarker([model.value[0], model.value[1]], model.value[2]);\n }\n}\n\nfunction destroyMap() {\n clearMarker();\n if (infoWindow) {\n try {\n infoWindow.closeInfoWindow();\n } catch {\n /* ignore */\n }\n infoWindow = null;\n }\n if (map) {\n try {\n map.destroy();\n } catch {\n /* ignore */\n }\n map = null;\n }\n}\n\n// ==================== 打开选择器 ====================\nconst handleOpenDialog = async () => {\n if (disabled.value) return;\n dialogVisible.value = true;\n await nextTick();\n model.value = JSON.parse(JSON.stringify(modelValue.value));\n setTimeout(() => initMap(), 200);\n};\n\n// ==================== 自动补全搜索 ====================\nconst LAST_SEARCH_RESULTS = ref<any[]>([]);\n\nconst querySearch = async (queryString: string, cb: any) => {\n if (!queryString) return cb([]);\n try {\n const results = await tdtSearch(queryString);\n LAST_SEARCH_RESULTS.value = results;\n cb(results);\n } catch {\n ElMessage.error(\"搜索失败,请稍后重试\");\n cb([]);\n }\n};\n\nconst inputChange = () => {\n model.value = [];\n clearMarker();\n};\n\n// ==================== 选中搜索结果 ====================\n/**\n * 从 item 中提取坐标(优先 item.location,其次 item._raw.lonlat)\n */\nfunction extractCoords(item: any): [number, number] | null {\n if (item.location && !isNaN(item.location.lng) && !isNaN(item.location.lat)) {\n return [item.location.lng, item.location.lat];\n }\n if (item._raw?.lonlat) {\n const [lng, lat] = item._raw.lonlat.split(\",\").map(Number);\n if (!isNaN(lng) && !isNaN(lat)) return [lng, lat];\n }\n return null;\n}\n\n/**\n * 定位到指定坐标并添加标记\n */\nfunction locateTo(lngLat: [number, number], name: string) {\n addMarker(lngLat, name);\n map?.panTo(new (getT().LngLat)(lngLat[0], lngLat[1]));\n}\n\nconst handleSelect = async (item: any) => {\n console.log(\"🚀 ~ item:\", item);\n keyword.value = item.name;\n\n // 1) item 本身有坐标 → 直接定位打点\n const coords = extractCoords(item);\n console.log(\"🚀 ~ coords:\", coords);\n if (coords) {\n locateTo(coords, item.name);\n return;\n }\n\n // 2) 无坐标 → 远程搜索后定位\n try {\n const results = await tdtSearch(item.name);\n const first = results[0];\n if (first) {\n const firstCoords = extractCoords(first);\n if (firstCoords) {\n locateTo(firstCoords, first.name);\n return;\n }\n }\n ElMessage.warning(\"未找到匹配的地点\");\n } catch {\n ElMessage.warning(\"搜索失败,请稍后重试\");\n }\n};\n\n// ==================== Enter 键搜索 ====================\nconst handleEnterKey = () => {\n if (!keyword.value) return;\n if (LAST_SEARCH_RESULTS.value.length > 0) {\n handleSelect(LAST_SEARCH_RESULTS.value[0]);\n } else {\n handleSelect({ value: keyword.value, name: keyword.value });\n }\n};\n\n// ==================== 确认 / 清除 ====================\nconst handleConfirm = () => {\n emits(\"update:modelValue\", model.value);\n emits(\"change\", model.value);\n emits(\"update:addressCode\", [model.value[0], model.value[1]]);\n emits(\"update:address\", model.value[2]);\n dialogVisible.value = false;\n setTimeout(() => destroyMap(), 300);\n};\n\nconst clearValue = () => {\n emits(\"update:modelValue\", []);\n emits(\"change\", []);\n};\n\n// ==================== 地图中心更新 ====================\nfunction updateMapCenter(val: any[], retry = 0) {\n const T = getT();\n if (!map || !T) {\n if (retry < 10) {\n setTimeout(() => updateMapCenter(val, retry + 1), 300);\n }\n return;\n }\n addMarker([val[0], val[1]], val[2]);\n map.panTo(new T.LngLat(val[0], val[1]), options.value?.zoom || 12);\n}\n\n// ==================== View 模式:挂载时初始化 ====================\nonMounted(() => {\n if (props.type === \"view\") {\n nextTick(async () => {\n model.value = JSON.parse(JSON.stringify(modelValue.value));\n await new Promise((r) => requestAnimationFrame(r));\n try {\n await initMap();\n } catch (e) {\n console.error(\"[ViewMap] initMap error:\", e);\n }\n });\n }\n});\n\nonUnmounted(() => {\n destroyMap();\n});\n\n// ==================== 监听 modelValue 外部变化 ====================\nwatch(\n () => props.modelValue,\n (val) => {\n if (!val || val[0] == null || val[1] == null) return;\n model.value = JSON.parse(JSON.stringify(val));\n updateMapCenter(val);\n },\n { deep: true },\n);\n\ndefineExpose({\n handleOpenDialog,\n});\n</script>\n\n<template>\n <!-- type=\"view\":只读地图 -->\n <div\n v-if=\"type === 'view'\"\n class=\"i-map w-full h-full i-map__container-inner\"\n >\n <div ref=\"refMap\" class=\"i-map__tdt i-map__tdt--view\" />\n </div>\n\n <!-- type=\"edit\" / \"edit2\":输入框 + 抽屉 / 纯抽屉 -->\n <div v-else class=\"i-map\">\n <!-- edit 模式:输入框触发器 -->\n <el-input\n v-if=\"type === 'edit'\"\n v-model=\"modelValue[2]\"\n class=\"i-map__input\"\n :placeholder=\"placeholder\"\n readonly\n :size=\"size\"\n :disabled=\"disabled\"\n @click=\"handleOpenDialog\"\n >\n <template v-if=\"!disabled\" #suffix>\n <el-icon\n v-if=\"modelValue[2]\"\n class=\"i-map__input-close\"\n @click.stop=\"clearValue\"\n >\n <CircleClose />\n </el-icon>\n </template>\n </el-input>\n\n <!-- 共享抽屉 -->\n <el-drawer\n v-model=\"dialogVisible\"\n title=\"请选择地点\"\n :show-close=\"true\"\n size=\"100%\"\n @closed=\"destroyMap\"\n >\n <div\n v-if=\"dialogVisible\"\n class=\"h-full w-full overflow-hidden i-map__container\"\n >\n <el-autocomplete\n v-model=\"keyword\"\n :disabled=\"disabled\"\n placeholder=\"请输入关键字选择地点\"\n class=\"i-map__search\"\n :debounce=\"700\"\n style=\"margin-bottom: 15px; width: 100%\"\n clearable\n :fetch-suggestions=\"querySearch\"\n :validate-event=\"false\"\n @input=\"inputChange\"\n @select=\"handleSelect\"\n @keyup.enter=\"handleEnterKey\"\n >\n <template #default=\"{ item }\">\n {{ item.name }}\n <span class=\"i-map__district\">{{ item.district }}</span>\n </template>\n </el-autocomplete>\n <div class=\"i-map__container-inner\">\n <div ref=\"refMap\" class=\"i-map__tdt\" />\n </div>\n </div>\n <template #footer>\n <el-button type=\"primary\" :disabled=\"disabled\" @click=\"handleConfirm\">\n 确定\n </el-button>\n </template>\n </el-drawer>\n </div>\n</template>\n"],"names":["keyword","markerIcon","_createCommentVNode","type","_openBlock","_createElementBlock","_createElementVNode","_Fragment","_createBlock","_unref","placeholder","size","_createVNode","CircleClose","_withCtx","_toDisplayString"],"mappings":"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"}
@@ -527,7 +527,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
527
527
  errorMsg: import("vue").Ref<string, string>;
528
528
  playerRef: import("vue").ShallowRef<any, any>;
529
529
  isPlaying: import("vue").Ref<boolean, boolean>;
530
- isFullscreen: import("vue").Ref<boolean, boolean>;
531
530
  isVolumeMuted: import("vue").Ref<boolean, boolean>;
532
531
  audioMsg: import("vue").Ref<{
533
532
  type: string;
@@ -540,13 +539,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
540
539
  msg: string;
541
540
  }>;
542
541
  initPlayer: () => Promise<void>;
543
- playerPlay: () => void;
544
- playerPause: () => void;
545
- playerScreenShot: () => void;
546
- playerFullscreen: (fullscreen: boolean) => void;
547
542
  handleVideoInfo: () => void;
548
543
  handleMute: (mute: boolean) => void;
549
- handleSetMute: (volume: number) => void;
550
544
  EasyPlayer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
551
545
  url: {
552
546
  type: StringConstructor;
@@ -874,291 +868,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
874
868
  areaName: string;
875
869
  platformTypeName: string;
876
870
  pauseMode: number;
877
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | import("vue").DefineComponent<import("vue").ExtractPropTypes<{
878
- url: {
879
- type: StringConstructor;
880
- default: string;
881
- };
882
- accessToken: {
883
- type: StringConstructor;
884
- default: string;
885
- };
886
- areaName: {
887
- type: StringConstructor;
888
- default: string;
889
- };
890
- deviceSerial: {
891
- type: StringConstructor;
892
- default: string;
893
- };
894
- platformTypeName: {
895
- type: StringConstructor;
896
- default: string;
897
- };
898
- debug: {
899
- type: BooleanConstructor;
900
- default: boolean;
901
- };
902
- pauseMode: {
903
- type: NumberConstructor;
904
- default: number;
905
- validator: (value: number) => boolean;
906
- };
907
- }>, {
908
- props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
909
- url: {
910
- type: StringConstructor;
911
- default: string;
912
- };
913
- accessToken: {
914
- type: StringConstructor;
915
- default: string;
916
- };
917
- areaName: {
918
- type: StringConstructor;
919
- default: string;
920
- };
921
- deviceSerial: {
922
- type: StringConstructor;
923
- default: string;
924
- };
925
- platformTypeName: {
926
- type: StringConstructor;
927
- default: string;
928
- };
929
- debug: {
930
- type: BooleanConstructor;
931
- default: boolean;
932
- };
933
- pauseMode: {
934
- type: NumberConstructor;
935
- default: number;
936
- validator: (value: number) => boolean;
937
- };
938
- }>> & Readonly<{}> & {}>;
939
- videoUrl: import("vue").Ref<string, string>;
940
- errorMsg: import("vue").Ref<string, string>;
941
- showBottomBar: import("vue").Ref<boolean, boolean>;
942
- playerRef: import("vue").ShallowRef<any, any>;
943
- isPlaying: import("vue").Ref<boolean, boolean>;
944
- isVolumeMuted: import("vue").Ref<boolean, boolean>;
945
- audioMsg: import("vue").Ref<{
946
- type: string;
947
- msg: string;
948
- }, {
949
- type: string;
950
- msg: string;
951
- } | {
952
- type: string;
953
- msg: string;
954
- }>;
955
- initPlayer: () => Promise<void>;
956
- handleVideoInfo: () => void;
957
- handleMute: (mute: boolean) => void;
958
- EasyPlayer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
959
- url: {
960
- type: StringConstructor;
961
- default: string;
962
- };
963
- accessToken: {
964
- type: StringConstructor;
965
- default: string;
966
- };
967
- areaName: {
968
- type: StringConstructor;
969
- default: string;
970
- };
971
- deviceSerial: {
972
- type: StringConstructor;
973
- default: string;
974
- };
975
- platformTypeName: {
976
- type: StringConstructor;
977
- default: string;
978
- };
979
- debug: {
980
- type: BooleanConstructor;
981
- default: boolean;
982
- };
983
- pauseMode: {
984
- type: NumberConstructor;
985
- default: number;
986
- validator: (value: number) => boolean;
987
- };
988
- }>, {
989
- props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
990
- url: {
991
- type: StringConstructor;
992
- default: string;
993
- };
994
- accessToken: {
995
- type: StringConstructor;
996
- default: string;
997
- };
998
- areaName: {
999
- type: StringConstructor;
1000
- default: string;
1001
- };
1002
- deviceSerial: {
1003
- type: StringConstructor;
1004
- default: string;
1005
- };
1006
- platformTypeName: {
1007
- type: StringConstructor;
1008
- default: string;
1009
- };
1010
- debug: {
1011
- type: BooleanConstructor;
1012
- default: boolean;
1013
- };
1014
- pauseMode: {
1015
- type: NumberConstructor;
1016
- default: number;
1017
- validator: (value: number) => boolean;
1018
- };
1019
- }>> & Readonly<{
1020
- onPlay?: ((...args: any[]) => any) | undefined;
1021
- onPause?: ((...args: any[]) => any) | undefined;
1022
- onError?: ((...args: any[]) => any) | undefined;
1023
- onVideoInfo?: ((...args: any[]) => any) | undefined;
1024
- onTimeout?: ((...args: any[]) => any) | undefined;
1025
- onMute?: ((...args: any[]) => any) | undefined;
1026
- }> & {}>;
1027
- emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
1028
- slots: Readonly<{
1029
- [name: string]: import("vue").Slot<any> | undefined;
1030
- }>;
1031
- customBar: import("vue").ComputedRef<import("vue").Slot<any> | undefined>;
1032
- player: any;
1033
- id: string;
1034
- playerRef: import("vue").ShallowRef<HTMLDivElement | undefined, HTMLDivElement | undefined>;
1035
- playSuccess: import("vue").Ref<boolean, boolean>;
1036
- playUrl: import("vue").Ref<string, string>;
1037
- videoInfo: import("vue").Ref<any, any>;
1038
- eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1039
- waitTimer: number | null;
1040
- restartTimer: import("vue").Ref<number | null, number | null>;
1041
- pauseCycleTimer: import("vue").Ref<number | null, number | null>;
1042
- resizeObserver: ResizeObserver | null;
1043
- createRetryCount: number;
1044
- MAX_CREATE_RETRY: number;
1045
- isUnmounted: boolean;
1046
- play: (url?: string) => void;
1047
- playerPause: () => void;
1048
- playerScreenShot: () => void;
1049
- formatUrl: (url: string) => string;
1050
- initPlayer: (url: string) => Promise<void>;
1051
- removePlayerDom: () => void;
1052
- createPlayerDom: () => Promise<HTMLDivElement>;
1053
- createPlayer: () => Promise<void>;
1054
- startPlayer: () => Promise<void>;
1055
- destroy: (flag?: boolean) => void;
1056
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1057
- url: {
1058
- type: StringConstructor;
1059
- default: string;
1060
- };
1061
- accessToken: {
1062
- type: StringConstructor;
1063
- default: string;
1064
- };
1065
- areaName: {
1066
- type: StringConstructor;
1067
- default: string;
1068
- };
1069
- deviceSerial: {
1070
- type: StringConstructor;
1071
- default: string;
1072
- };
1073
- platformTypeName: {
1074
- type: StringConstructor;
1075
- default: string;
1076
- };
1077
- debug: {
1078
- type: BooleanConstructor;
1079
- default: boolean;
1080
- };
1081
- pauseMode: {
1082
- type: NumberConstructor;
1083
- default: number;
1084
- validator: (value: number) => boolean;
1085
- };
1086
- }>> & Readonly<{
1087
- onPlay?: ((...args: any[]) => any) | undefined;
1088
- onPause?: ((...args: any[]) => any) | undefined;
1089
- onError?: ((...args: any[]) => any) | undefined;
1090
- onVideoInfo?: ((...args: any[]) => any) | undefined;
1091
- onTimeout?: ((...args: any[]) => any) | undefined;
1092
- onMute?: ((...args: any[]) => any) | undefined;
1093
- }>, {
1094
- url: string;
1095
- accessToken: string;
1096
- debug: boolean;
1097
- deviceSerial: string;
1098
- areaName: string;
1099
- platformTypeName: string;
1100
- pauseMode: number;
1101
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1102
- ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1103
- videoName: {
1104
- type: StringConstructor;
1105
- default: string;
1106
- };
1107
- message: {
1108
- type: StringConstructor;
1109
- default: string;
1110
- };
1111
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1112
- videoName: {
1113
- type: StringConstructor;
1114
- default: string;
1115
- };
1116
- message: {
1117
- type: StringConstructor;
1118
- default: string;
1119
- };
1120
- }>> & Readonly<{}>, {
1121
- message: string;
1122
- videoName: string;
1123
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1124
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1125
- url: {
1126
- type: StringConstructor;
1127
- default: string;
1128
- };
1129
- accessToken: {
1130
- type: StringConstructor;
1131
- default: string;
1132
- };
1133
- areaName: {
1134
- type: StringConstructor;
1135
- default: string;
1136
- };
1137
- deviceSerial: {
1138
- type: StringConstructor;
1139
- default: string;
1140
- };
1141
- platformTypeName: {
1142
- type: StringConstructor;
1143
- default: string;
1144
- };
1145
- debug: {
1146
- type: BooleanConstructor;
1147
- default: boolean;
1148
- };
1149
- pauseMode: {
1150
- type: NumberConstructor;
1151
- default: number;
1152
- validator: (value: number) => boolean;
1153
- };
1154
- }>> & Readonly<{}>, {
1155
- url: string;
1156
- accessToken: string;
1157
- debug: boolean;
1158
- deviceSerial: string;
1159
- areaName: string;
1160
- platformTypeName: string;
1161
- pauseMode: number;
1162
871
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1163
872
  url: {
1164
873
  type: StringConstructor;
@@ -1332,7 +1041,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1332
1041
  errorMsg: import("vue").Ref<string, string>;
1333
1042
  playerRef: import("vue").ShallowRef<any, any>;
1334
1043
  isPlaying: import("vue").Ref<boolean, boolean>;
1335
- isFullscreen: import("vue").Ref<boolean, boolean>;
1336
1044
  isVolumeMuted: import("vue").Ref<boolean, boolean>;
1337
1045
  audioMsg: import("vue").Ref<{
1338
1046
  type: string;
@@ -1345,13 +1053,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1345
1053
  msg: string;
1346
1054
  }>;
1347
1055
  initPlayer: () => Promise<void>;
1348
- playerPlay: () => void;
1349
- playerPause: () => void;
1350
- playerScreenShot: () => void;
1351
- playerFullscreen: (fullscreen: boolean) => void;
1352
1056
  handleVideoInfo: () => void;
1353
1057
  handleMute: (mute: boolean) => void;
1354
- handleSetMute: (volume: number) => void;
1355
1058
  EasyPlayer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
1356
1059
  url: {
1357
1060
  type: StringConstructor;
@@ -65,7 +65,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
65
65
  errorMsg: import("vue").Ref<string, string>;
66
66
  playerRef: import("vue").ShallowRef<any, any>;
67
67
  isPlaying: import("vue").Ref<boolean, boolean>;
68
- isFullscreen: import("vue").Ref<boolean, boolean>;
69
68
  isVolumeMuted: import("vue").Ref<boolean, boolean>;
70
69
  audioMsg: import("vue").Ref<{
71
70
  type: string;
@@ -78,13 +77,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
78
77
  msg: string;
79
78
  }>;
80
79
  initPlayer: () => Promise<void>;
81
- playerPlay: () => void;
82
- playerPause: () => void;
83
- playerScreenShot: () => void;
84
- playerFullscreen: (fullscreen: boolean) => void;
85
80
  handleVideoInfo: () => void;
86
81
  handleMute: (mute: boolean) => void;
87
- handleSetMute: (volume: number) => void;
88
82
  EasyPlayer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
89
83
  url: {
90
84
  type: StringConstructor;
@@ -19,7 +19,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  const errorMsg = ref("");
20
20
  const playerRef = shallowRef();
21
21
  const isPlaying = ref(false);
22
- const isFullscreen = ref(false);
23
22
  const isVolumeMuted = ref(true);
24
23
  const audioMsg = ref({
25
24
  type: "",
@@ -45,23 +44,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
45
44
  errorMsg.value = `\u521D\u59CB\u5316\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`;
46
45
  }
47
46
  }, "initPlayer");
48
- const playerPlay = /* @__PURE__ */ __name(() => {
49
- var _a;
50
- (_a = playerRef.value) == null ? void 0 : _a.play();
51
- }, "playerPlay");
52
- const playerPause = /* @__PURE__ */ __name(() => {
53
- var _a;
54
- (_a = playerRef.value) == null ? void 0 : _a.pause();
55
- }, "playerPause");
56
- const playerScreenShot = /* @__PURE__ */ __name(() => {
57
- var _a;
58
- (_a = playerRef.value) == null ? void 0 : _a.screenshot();
59
- }, "playerScreenShot");
60
- const playerFullscreen = /* @__PURE__ */ __name((fullscreen) => {
61
- var _a;
62
- isFullscreen.value = fullscreen;
63
- (_a = playerRef.value) == null ? void 0 : _a.fullscreen(fullscreen);
64
- }, "playerFullscreen");
65
47
  const handleVideoInfo = /* @__PURE__ */ __name(() => {
66
48
  var _a;
67
49
  isVolumeMuted.value = (_a = playerRef.value) == null ? void 0 : _a.isMute();
@@ -69,10 +51,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
69
51
  const handleMute = /* @__PURE__ */ __name((mute) => {
70
52
  isVolumeMuted.value = mute;
71
53
  }, "handleMute");
72
- const handleSetMute = /* @__PURE__ */ __name((volume) => {
73
- var _a;
74
- (_a = playerRef.value) == null ? void 0 : _a.setMute(volume);
75
- }, "handleSetMute");
76
54
  onMounted(() => {
77
55
  initPlayer();
78
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ctyun-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/ctyun-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { GetCtyunDeviceVideoUrl } from \"./ctyun-player\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\n// 天翼云播放器\ndefineOptions({\n name: \"CtyunPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst showBottomBar = ref(false);\nconst errorMsg = ref(\"\");\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isFullscreen = ref(false);\nconst isVolumeMuted = ref(true);\n\nconst audioMsg = ref({\n type: \"\",\n msg: \"\",\n}); // 语音对讲提示信息\n\nconst initPlayer = async () => {\n try {\n if (!props.deviceSerial) {\n errorMsg.value = \"设备序列号不能为空\";\n return;\n }\n\n const url = await GetCtyunDeviceVideoUrl(props.deviceSerial);\n if (!url) {\n errorMsg.value = \"获取视频播放地址失败\";\n return;\n }\n\n videoUrl.value = url;\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/**\n * 播放视频\n */\nconst playerPlay = (): void => {\n playerRef.value?.play();\n};\n\n/**\n * 暂停视频\n */\nconst playerPause = (): void => {\n playerRef.value?.pause();\n};\n\n/**\n * 截图\n */\nconst playerScreenShot = (): void => {\n playerRef.value?.screenshot();\n};\n\n/**\n * 切换全屏状态\n * @param fullscreen 是否全屏\n */\nconst playerFullscreen = (fullscreen: boolean): void => {\n isFullscreen.value = fullscreen;\n playerRef.value?.fullscreen(fullscreen);\n};\n\n// 获取视频信息,判断当前是否为静音状态\nconst handleVideoInfo = () => {\n // 判断是否静音\n isVolumeMuted.value = playerRef.value?.isMute();\n};\nconst handleMute = (mute: boolean) => {\n isVolumeMuted.value = mute;\n};\nconst handleSetMute = (volume: number) => {\n playerRef.value?.setMute(volume);\n};\n\nonMounted(() => {\n initPlayer();\n});\n</script>\n\n<template>\n <EasyPlayer\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 <!-- 语音对讲错误提示 -->\n <div\n v-if=\"audioMsg.msg\"\n class=\"i-tzj-player__voice-default\"\n :class=\"`i-tzj-player__voice-${audioMsg.type}`\"\n >\n {{ audioMsg.msg }}\n </div>\n</template>\n"],"names":["_createVNode","EasyPlayer","debug","accessToken","platformTypeName","deviceSerial","areaName","pauseMode","_createCommentVNode","_createElementBlock","_normalizeClass","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ctyun-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/ctyun-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { GetCtyunDeviceVideoUrl } from \"./ctyun-player\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\n// 天翼云播放器\ndefineOptions({\n name: \"CtyunPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst showBottomBar = ref(false);\nconst errorMsg = ref(\"\");\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isVolumeMuted = ref(true);\n\nconst audioMsg = ref({\n type: \"\",\n msg: \"\",\n}); // 语音对讲提示信息\n\nconst initPlayer = async () => {\n try {\n if (!props.deviceSerial) {\n errorMsg.value = \"设备序列号不能为空\";\n return;\n }\n\n const url = await GetCtyunDeviceVideoUrl(props.deviceSerial);\n if (!url) {\n errorMsg.value = \"获取视频播放地址失败\";\n return;\n }\n\n videoUrl.value = url;\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(() => {\n initPlayer();\n});\n</script>\n\n<template>\n <EasyPlayer\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 <!-- 语音对讲错误提示 -->\n <div\n v-if=\"audioMsg.msg\"\n class=\"i-tzj-player__voice-default\"\n :class=\"`i-tzj-player__voice-${audioMsg.type}`\"\n >\n {{ audioMsg.msg }}\n </div>\n</template>\n"],"names":["_createVNode","EasyPlayer","debug","accessToken","platformTypeName","deviceSerial","areaName","pauseMode","_createCommentVNode","_createElementBlock","_normalizeClass","_toDisplayString"],"mappings":"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"}
@@ -254,8 +254,6 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
254
254
  async function startPlayer() {
255
255
  try {
256
256
  if (typeof window !== "undefined" && typeof document !== "undefined") {
257
- const isMicro = window.__MICRO_APP_ENVIRONMENT__;
258
- console.log("\u{1F680} ~ isMicro:", isMicro);
259
257
  player = new window.EasyPlayerPro(document.getElementById(id), {
260
258
  isLive: true,
261
259
  // 是否直播