@vuemap/vue-amap-extra
Version:
@vuemap/vue-amap扩展库,包含threejs相关图层
1 lines • 4.84 kB
Source Map (JSON)
{"version":3,"file":"ThreeVideo.vue2.mjs","sources":["../../../../packages/ThreeVideo/ThreeVideo.vue"],"sourcesContent":["<template>\r\n <video\r\n ref=\"videoRef\"\r\n style=\"display: none;\"\r\n muted\r\n loop\r\n autoplay\r\n crossOrigin=\"anonymous\"\r\n >\r\n <source\r\n v-for=\"item in videoUrlList\"\r\n :key=\"item\"\r\n :src=\"item\"\r\n type=\"video/mp4\"\r\n >\r\n </video>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {defineOptions, ref, nextTick} from 'vue';\r\nimport {useRegister, buildProps} from \"@vuemap/vue-amap\";\r\nimport ThreeVideo from \"./ThreeVideo\";\r\nimport type {Vec} from \"./Type\";\r\nimport type{PropType} from \"vue\";\r\n\r\ndefineOptions({\r\n name: 'ElAmapThreeVideo',\r\n inheritAttrs: false\r\n});\r\n\r\ndefineProps(buildProps({\r\n video: {\r\n type: [String, Array, HTMLVideoElement],\r\n required: true\r\n },\r\n videoTranslate: {\r\n type: Object as PropType<Vec>,\r\n default (){\r\n return {\r\n x:0,\r\n y:0,\r\n z:0\r\n };\r\n }\r\n },\r\n videoWidth: {\r\n type: Number\r\n }, // 视频宽度\r\n videoHeight: {\r\n type: Number\r\n }, // 视频高度\r\n canvas: {\r\n type: Object as PropType<HTMLCanvasElement>\r\n },\r\n position: {\r\n type: Array as PropType<number[]>,\r\n required: true\r\n },\r\n altitude: {\r\n type: Number,\r\n default: 0\r\n },\r\n rotation: {\r\n type: Object as PropType<Vec>\r\n },\r\n scale: {\r\n type: [Number, Array],\r\n default: 1\r\n },\r\n angle: {\r\n type: Number,\r\n default: 0\r\n },\r\n opacity: {\r\n type: Number,\r\n default: 1\r\n }, // 透明度,默认 1\r\n alwaysFront: {\r\n type: Boolean,\r\n default: false\r\n } //是否一直面朝屏幕\r\n}));\r\nconst emits = defineEmits(['init', 'click', 'mousemove', 'mouseover', 'mouseout']);\r\n\r\nlet $amapComponent: ThreeVideo;\r\n\r\nconst videoUrlList = ref<string[]>([]);\r\nconst videoRef = ref<HTMLVideoElement>();\r\n\r\nconst {$$getInstance, parentInstance} = useRegister<ThreeVideo, any>((options, parentComponent) => {\r\n const urlType = Object.prototype.toString.call(options.video);\r\n if(urlType === '[object String]'){\r\n videoUrlList.value = [options.video as string];\r\n }else if(urlType === '[object Array]'){\r\n videoUrlList.value = options.video;\r\n }\r\n if(videoUrlList.value.length > 0){\r\n options.video = videoRef.value;\r\n }\r\n $amapComponent = new ThreeVideo(parentComponent);\r\n return new Promise<ThreeVideo>((resolve) => {\r\n nextTick(() => {\r\n $amapComponent.init(options, this).then(() => {\r\n resolve($amapComponent);\r\n });\r\n });\r\n\r\n });\r\n\r\n}, {\r\n emits,\r\n destroyComponent () {\r\n if ($amapComponent && parentInstance?.$amapComponent) {\r\n if(!parentInstance.isDestroy){\r\n $amapComponent.remove();\r\n }\r\n $amapComponent.destroy();\r\n $amapComponent = null as any;\r\n }\r\n },\r\n});\r\n\r\nconst $$start = () => {\r\n $amapComponent.start();\r\n};\r\nconst $$pause = () => {\r\n $amapComponent.pause();\r\n};\r\n\r\ndefineExpose({\r\n $$getInstance,\r\n $$start,\r\n $$pause\r\n});\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAI,IAAA,cAAA,CAAA;AAEJ,IAAM,MAAA,YAAA,GAAe,GAAc,CAAA,EAAE,CAAA,CAAA;AACrC,IAAA,MAAM,WAAW,GAAsB,EAAA,CAAA;AAEvC,IAAA,MAAM,EAAC,aAAe,EAAA,cAAA,KAAkB,WAA6B,CAAA,CAAC,SAAS,eAAoB,KAAA;AACjG,MAAA,MAAM,UAAU,MAAO,CAAA,SAAA,CAAU,QAAS,CAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAC5D,MAAA,IAAG,YAAY,iBAAkB,EAAA;AAC/B,QAAa,YAAA,CAAA,KAAA,GAAQ,CAAC,OAAA,CAAQ,KAAe,CAAA,CAAA;AAAA,OAC/C,MAAA,IAAS,YAAY,gBAAiB,EAAA;AACpC,QAAA,YAAA,CAAa,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,OAC/B;AACA,MAAG,IAAA,YAAA,CAAa,KAAM,CAAA,MAAA,GAAS,CAAE,EAAA;AAC/B,QAAA,OAAA,CAAQ,QAAQ,QAAS,CAAA,KAAA,CAAA;AAAA,OAC3B;AACA,MAAiB,cAAA,GAAA,IAAI,WAAW,eAAe,CAAA,CAAA;AAC/C,MAAO,OAAA,IAAI,OAAoB,CAAA,CAAC,OAAY,KAAA;AAC1C,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,cAAA,CAAe,IAAK,CAAA,OAAA,EAAS,IAAI,CAAA,CAAE,KAAK,MAAM;AAC5C,YAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,WACvB,CAAA,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OAEF,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,gBAAoB,GAAA;AAClB,QAAI,IAAA,cAAA,KAAkB,iDAAgB,cAAgB,CAAA,EAAA;AACpD,UAAG,IAAA,CAAC,eAAe,SAAU,EAAA;AAC3B,YAAA,cAAA,CAAe,MAAO,EAAA,CAAA;AAAA,WACxB;AACA,UAAA,cAAA,CAAe,OAAQ,EAAA,CAAA;AACvB,UAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,SACnB;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,cAAA,CAAe,KAAM,EAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,cAAA,CAAe,KAAM,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}