@yimou6/common-ui 1.10.2 → 1.10.4

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.
Files changed (93) hide show
  1. package/cdn/index.cdn.js +8 -8
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +8 -8
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/checkbox/src/checkbox.vue2.mjs.map +1 -1
  7. package/es/components/concise-logger/src/concise-logger.vue2.mjs.map +1 -1
  8. package/es/components/date-picker/src/date-picker.vue2.mjs.map +1 -1
  9. package/es/components/descriptions/src/description-item.vue2.mjs.map +1 -1
  10. package/es/components/descriptions/src/descriptions.vue2.mjs.map +1 -1
  11. package/es/components/dialog/src/dialog.vue2.mjs.map +1 -1
  12. package/es/components/divider/src/divider.vue2.mjs.map +1 -1
  13. package/es/components/drawer/src/drawer.vue2.mjs +1 -1
  14. package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
  15. package/es/components/form/src/form-item.vue2.mjs.map +1 -1
  16. package/es/components/form/src/form.vue2.mjs.map +1 -1
  17. package/es/components/icon-select/src/icon-select.vue2.mjs +5 -5
  18. package/es/components/icon-select/src/icon-select.vue2.mjs.map +1 -1
  19. package/es/components/image-verification/src/image-verification.vue2.mjs.map +1 -1
  20. package/es/components/link/src/link.vue2.mjs.map +1 -1
  21. package/es/components/live-player/src/live-player.vue2.mjs.map +1 -1
  22. package/es/components/live-player/src/xgPlayer.vue2.mjs +1 -1
  23. package/es/components/live-player/src/xgPlayer.vue2.mjs.map +1 -1
  24. package/es/components/live-player/src/ysPlayer.vue2.mjs +1 -2
  25. package/es/components/live-player/src/ysPlayer.vue2.mjs.map +1 -1
  26. package/es/components/page-header/src/page-header.vue2.mjs.map +1 -1
  27. package/es/components/radio/src/radio.vue2.mjs.map +1 -1
  28. package/es/components/search/src/search.vue2.mjs.map +1 -1
  29. package/es/components/segmented/src/segmented.vue2.mjs.map +1 -1
  30. package/es/components/select/src/select.vue2.mjs.map +1 -1
  31. package/es/components/split-pane/src/resizer.vue.mjs.map +1 -1
  32. package/es/components/split-pane/src/split-pane.vue2.mjs.map +1 -1
  33. package/es/components/table/src/table.vue2.mjs.map +1 -1
  34. package/es/components/tenant-enterprise/src/tenant-enterprise.vue2.mjs.map +1 -1
  35. package/es/components/text-button/src/text-button-group.vue2.mjs.map +1 -1
  36. package/es/components/text-button/src/text-button.vue2.mjs.map +1 -1
  37. package/es/components/tzj-player/index.d.ts +2 -0
  38. package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
  39. package/es/components/tzj-player/src/tzj-player.d.ts +1 -0
  40. package/es/components/tzj-player/src/tzj-player.mjs +12 -1
  41. package/es/components/tzj-player/src/tzj-player.mjs.map +1 -1
  42. package/es/components/tzj-player/src/tzj-player.vue.d.ts +2 -0
  43. package/es/components/tzj-player/src/tzj-player.vue2.mjs +21 -8
  44. package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
  45. package/es/components/tzj-player/src/ysPlayer.vue2.mjs +1 -2
  46. package/es/components/tzj-player/src/ysPlayer.vue2.mjs.map +1 -1
  47. package/es/types.d.ts +3 -2
  48. package/lib/components/checkbox/src/checkbox.vue2.js.map +1 -1
  49. package/lib/components/concise-logger/src/concise-logger.vue2.js.map +1 -1
  50. package/lib/components/date-picker/src/date-picker.vue2.js.map +1 -1
  51. package/lib/components/descriptions/src/description-item.vue2.js.map +1 -1
  52. package/lib/components/descriptions/src/descriptions.vue2.js.map +1 -1
  53. package/lib/components/dialog/src/dialog.vue2.js.map +1 -1
  54. package/lib/components/divider/src/divider.vue2.js.map +1 -1
  55. package/lib/components/drawer/src/drawer.vue2.js +1 -1
  56. package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
  57. package/lib/components/form/src/form-item.vue2.js.map +1 -1
  58. package/lib/components/form/src/form.vue2.js.map +1 -1
  59. package/lib/components/icon-select/src/icon-select.vue2.js +5 -5
  60. package/lib/components/icon-select/src/icon-select.vue2.js.map +1 -1
  61. package/lib/components/image-verification/src/image-verification.vue2.js.map +1 -1
  62. package/lib/components/link/src/link.vue2.js.map +1 -1
  63. package/lib/components/live-player/src/live-player.vue2.js.map +1 -1
  64. package/lib/components/live-player/src/xgPlayer.vue2.js +1 -1
  65. package/lib/components/live-player/src/xgPlayer.vue2.js.map +1 -1
  66. package/lib/components/live-player/src/ysPlayer.vue2.js +1 -2
  67. package/lib/components/live-player/src/ysPlayer.vue2.js.map +1 -1
  68. package/lib/components/page-header/src/page-header.vue2.js.map +1 -1
  69. package/lib/components/radio/src/radio.vue2.js.map +1 -1
  70. package/lib/components/search/src/search.vue2.js.map +1 -1
  71. package/lib/components/segmented/src/segmented.vue2.js.map +1 -1
  72. package/lib/components/select/src/select.vue2.js.map +1 -1
  73. package/lib/components/split-pane/src/resizer.vue.js.map +1 -1
  74. package/lib/components/split-pane/src/split-pane.vue2.js.map +1 -1
  75. package/lib/components/table/src/table.vue2.js.map +1 -1
  76. package/lib/components/tenant-enterprise/src/tenant-enterprise.vue2.js.map +1 -1
  77. package/lib/components/text-button/src/text-button-group.vue2.js.map +1 -1
  78. package/lib/components/text-button/src/text-button.vue2.js.map +1 -1
  79. package/lib/components/tzj-player/index.d.ts +2 -0
  80. package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
  81. package/lib/components/tzj-player/src/tzj-player.d.ts +1 -0
  82. package/lib/components/tzj-player/src/tzj-player.js +12 -0
  83. package/lib/components/tzj-player/src/tzj-player.js.map +1 -1
  84. package/lib/components/tzj-player/src/tzj-player.vue.d.ts +2 -0
  85. package/lib/components/tzj-player/src/tzj-player.vue2.js +19 -6
  86. package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
  87. package/lib/components/tzj-player/src/ysPlayer.vue2.js +1 -2
  88. package/lib/components/tzj-player/src/ysPlayer.vue2.js.map +1 -1
  89. package/lib/types.d.ts +3 -2
  90. package/package.json +1 -1
  91. package/theme-default/i-tzj-player.css +1 -1
  92. package/theme-default/index.css +1 -1
  93. package/theme-default/i-wisdom-chat.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.vue2.js","sources":["../../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElOption, ElSelect } from 'element-plus';\n import { computed, inject, nextTick, ref, watch, watchEffect } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { SelectProps } from './select';\n\n defineOptions({\n name: 'ISelect',\n });\n const props = defineProps(SelectProps);\n const emits = defineEmits({\n visibleChange: (visible: boolean) => visible,\n removeTag: (tagValue: any) => tagValue,\n 'update:modelValue': (value: any) => value,\n clear: () => true,\n blur: (evt: MouseEvent) => evt,\n focus: (evt: MouseEvent) => evt,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n\n const bindAttrs = computed(() => {\n return excludeObjectKeys(props, ['data', 'dataCallback', 'optLabel', 'optValue', 'modelValue', 'action']);\n });\n\n const _loading = ref(false);\n const optionList = ref<any[]>([]);\n const selectRef = ref();\n const selectValue = ref(props.modelValue);\n\n watchEffect(() => {\n _loading.value = props.loading;\n });\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true, immediate: true },\n );\n watch(\n () => props.modelValue,\n (val: any) => (selectValue.value = val),\n { deep: true, immediate: true },\n );\n\n defineExpose({\n getRef() {\n return selectRef.value;\n },\n focus() {\n selectRef.value?.focus();\n },\n blur() {\n selectRef.value?.blur();\n },\n });\n\n const handleChange = (value: any) => {\n emits('update:modelValue', value);\n emits('change', value);\n };\n\n async function setOptions() {\n _loading.value = true;\n const list = await getList();\n optionList.value = props.dataCallback ? props.dataCallback(list) : list;\n await nextTick();\n _loading.value = false;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n } else {\n if (props?.action) return await props.action?.getDict(props.data);\n if (dictStore) return await dictStore.getDict(props.data);\n return [];\n }\n }\n function handleVisibleChange(visible: boolean) {\n emits('visibleChange', visible);\n }\n function handleRemoveTag(tagValue: any) {\n emits('removeTag', tagValue);\n }\n</script>\n\n<template>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"selectValue\"\n class=\"i-select\"\n v-bind=\"bindAttrs\"\n :loading=\"_loading\"\n @change=\"handleChange\"\n @visible-change=\"handleVisibleChange\"\n @remove-tag=\"handleRemoveTag\"\n @clear=\"emits('clear')\"\n @blur=\"event => emits('blur', event)\"\n @focus=\"event => emits('focus', event)\"\n >\n <ElOption\n v-for=\"(option, index) of optionList\"\n :key=\"option[optValue]\"\n :label=\"option[optLabel]\"\n :value=\"option[optValue]\"\n :disabled=\"option?.disabled\"\n >\n <template #default>\n <slot name=\"default\" :data=\"option\" :index=\"index\" />\n </template>\n </ElOption>\n </ElSelect>\n</template>\n"],"names":["inject","DICT_STORE","computed","excludeObjectKeys","ref","watchEffect","watch","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"select.vue2.js","sources":["../../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElOption, ElSelect } from 'element-plus';\n import { computed, inject, nextTick, ref, watch, watchEffect } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { SelectProps } from './select';\n\n defineOptions({\n name: 'ISelect',\n });\n const props = defineProps(SelectProps);\n const emits = defineEmits({\n visibleChange: (visible: boolean) => visible,\n removeTag: (tagValue: any) => tagValue,\n 'update:modelValue': (value: any) => value,\n clear: () => true,\n blur: (evt: MouseEvent) => evt,\n focus: (evt: MouseEvent) => evt,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n\n const bindAttrs = computed(() => {\n return excludeObjectKeys(props, ['data', 'dataCallback', 'optLabel', 'optValue', 'modelValue', 'action']);\n });\n\n const _loading = ref(false);\n const optionList = ref<any[]>([]);\n const selectRef = ref();\n const selectValue = ref(props.modelValue);\n\n watchEffect(() => {\n _loading.value = props.loading;\n });\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true, immediate: true },\n );\n watch(\n () => props.modelValue,\n (val: any) => (selectValue.value = val),\n { deep: true, immediate: true },\n );\n\n defineExpose({\n getRef() {\n return selectRef.value;\n },\n focus() {\n selectRef.value?.focus();\n },\n blur() {\n selectRef.value?.blur();\n },\n });\n\n const handleChange = (value: any) => {\n emits('update:modelValue', value);\n emits('change', value);\n };\n\n async function setOptions() {\n _loading.value = true;\n const list = await getList();\n optionList.value = props.dataCallback ? props.dataCallback(list) : list;\n await nextTick();\n _loading.value = false;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n } else {\n if (props?.action) return await props.action?.getDict(props.data);\n if (dictStore) return await dictStore.getDict(props.data);\n return [];\n }\n }\n function handleVisibleChange(visible: boolean) {\n emits('visibleChange', visible);\n }\n function handleRemoveTag(tagValue: any) {\n emits('removeTag', tagValue);\n }\n</script>\n\n<template>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"selectValue\"\n class=\"i-select\"\n v-bind=\"bindAttrs\"\n :loading=\"_loading\"\n @change=\"handleChange\"\n @visible-change=\"handleVisibleChange\"\n @remove-tag=\"handleRemoveTag\"\n @clear=\"emits('clear')\"\n @blur=\"event => emits('blur', event)\"\n @focus=\"event => emits('focus', event)\"\n >\n <ElOption\n v-for=\"(option, index) of optionList\"\n :key=\"option[optValue]\"\n :label=\"option[optLabel]\"\n :value=\"option[optValue]\"\n :disabled=\"option?.disabled\"\n >\n <template #default>\n <slot name=\"default\" :data=\"option\" :index=\"index\" />\n </template>\n </ElOption>\n </ElSelect>\n</template>\n"],"names":["inject","DICT_STORE","computed","excludeObjectKeys","ref","watchEffect","watch","nextTick","_openBlock","_createBlock","_unref","_mergeProps","_createElementBlock","_Fragment","_renderList","ElOption","optValue","optLabel","_renderSlot"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resizer.vue.js","sources":["../../../../../../../packages/components/split-pane/src/resizer.vue"],"sourcesContent":["<template>\n <div :class=\"classes\" />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'Resizer',\n props: {\n split: {\n type: String,\n required: true,\n },\n className: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const classes = computed(() => {\n return ['splitter-pane-resizer', props.split, props.className].join(' ');\n });\n\n return {\n classes,\n };\n },\n });\n</script>\n\n<style scoped></style>\n"],"names":["classes"],"mappings":";;;;;;;;;;AACa,SAAA,YADb,IACeA,EAAAA,MAAAA,EAAO,MAAA,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;;;;;;;;;;;AAAT,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"resizer.vue.js","sources":["../../../../../../../packages/components/split-pane/src/resizer.vue"],"sourcesContent":["<template>\n <div :class=\"classes\" />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'Resizer',\n props: {\n split: {\n type: String,\n required: true,\n },\n className: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const classes = computed(() => {\n return ['splitter-pane-resizer', props.split, props.className].join(' ');\n });\n\n return {\n classes,\n };\n },\n });\n</script>\n\n<style scoped></style>\n"],"names":["classes"],"mappings":";;;;;;;;;;AACa,SAAA,YAAA,IAAEA,EAAAA,MAAAA,EAAO,MAAA,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;;;;;;;;;;;AAAT,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"split-pane.vue2.js","sources":["../../../../../../../packages/components/split-pane/src/split-pane.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue';\n import Resizer from './resizer.vue';\n import { SplitPaneProps } from './split-pane';\n\n defineOptions({\n name: 'ISplitPane',\n });\n\n const props = defineProps(SplitPaneProps);\n\n const emit = defineEmits(['resize']);\n\n const active = ref(false);\n const hasMoved = ref(false);\n const percent = ref(props.splitSet?.defaultPercent);\n const type = computed(() => (props.splitSet?.split === 'vertical' ? 'width' : 'height'));\n const resizeType = computed(() => (props.splitSet?.split === 'vertical' ? 'left' : 'top'));\n\n const leftClass = computed(() => ['i-splitter-pane i-splitter-paneL', props.splitSet?.split]);\n\n const rightClass = computed(() => ['i-splitter-pane i-splitter-paneR', props.splitSet?.split]);\n\n const cursor = computed(() => {\n return active.value\n ? props.splitSet?.split === 'vertical'\n ? { cursor: 'col-resize' }\n : { cursor: 'row-resize' }\n : { cursor: 'default' };\n });\n\n const onClick = () => {\n if (!hasMoved.value) {\n percent.value = 50;\n emit('resize', percent.value);\n }\n };\n\n const onMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n const className = target.className;\n if (className.includes('toLeft')) {\n if (percent.value === 100) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 0;\n }\n emit('resize', percent.value);\n } else if (className.includes('toRight')) {\n if (percent.value === 0) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 100;\n }\n emit('resize', percent.value);\n } else {\n active.value = true;\n hasMoved.value = false;\n }\n };\n\n const onMouseUp = (): void => {\n active.value = false;\n };\n\n const onMouseMove = (e: MouseEvent): void => {\n if (e.buttons === 0 || e.which === 0) {\n active.value = false;\n }\n\n if (active.value) {\n let offset = 0;\n let target = e.currentTarget as HTMLElement;\n if (props.splitSet?.split === 'vertical') {\n while (target) {\n offset += target.offsetLeft;\n target = target.offsetParent as HTMLElement;\n }\n } else {\n while (target) {\n offset += target.offsetTop;\n target = target.offsetParent as HTMLElement;\n }\n }\n\n const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY;\n // @ts-ignore\n const offsetWidth = e.currentTarget?.offsetWidth || 0;\n // @ts-ignore\n const offsetHeight = e.currentTarget?.offsetHeight || 0;\n const targetOffset = props.splitSet?.split === 'vertical' ? offsetWidth : offsetHeight;\n const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100;\n\n if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) {\n percent.value = percents;\n }\n\n emit('resize', percent.value);\n\n hasMoved.value = true;\n }\n };\n</script>\n\n<template>\n <div class=\"vue-splitter-container clearfix\" :style=\"cursor\" @mouseup=\"onMouseUp\" @mousemove=\"onMouseMove\">\n <div\n :class=\"leftClass\"\n :style=\"`${type}: ${percent === 100 ? 'calc(100% - 10px)' : `${percent}%`}; display: ${percent === 0 ? 'none' : ''}`\"\n >\n <slot name=\"paneL\" />\n </div>\n <Resizer\n :style=\"`${resizeType}:${percent}%; transform: ${percent === 100 ? 'translateX(-10px)' : ''}`\"\n :split=\"splitSet?.split\"\n @mousedown=\"onMouseDown\"\n @click=\"onClick\"\n />\n <div :class=\"rightClass\" :style=\"`${type}: ${100 - percent}%; display: ${percent === 100 ? 'none' : ''}`\">\n <slot name=\"paneR\" />\n </div>\n <div v-show=\"active\" class=\"vue-splitter-container-mask\" />\n </div>\n</template>\n"],"names":["ref","computed","_a"],"mappings":"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"}
1
+ {"version":3,"file":"split-pane.vue2.js","sources":["../../../../../../../packages/components/split-pane/src/split-pane.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue';\n import Resizer from './resizer.vue';\n import { SplitPaneProps } from './split-pane';\n\n defineOptions({\n name: 'ISplitPane',\n });\n\n const props = defineProps(SplitPaneProps);\n\n const emit = defineEmits(['resize']);\n\n const active = ref(false);\n const hasMoved = ref(false);\n const percent = ref(props.splitSet?.defaultPercent);\n const type = computed(() => (props.splitSet?.split === 'vertical' ? 'width' : 'height'));\n const resizeType = computed(() => (props.splitSet?.split === 'vertical' ? 'left' : 'top'));\n\n const leftClass = computed(() => ['i-splitter-pane i-splitter-paneL', props.splitSet?.split]);\n\n const rightClass = computed(() => ['i-splitter-pane i-splitter-paneR', props.splitSet?.split]);\n\n const cursor = computed(() => {\n return active.value\n ? props.splitSet?.split === 'vertical'\n ? { cursor: 'col-resize' }\n : { cursor: 'row-resize' }\n : { cursor: 'default' };\n });\n\n const onClick = () => {\n if (!hasMoved.value) {\n percent.value = 50;\n emit('resize', percent.value);\n }\n };\n\n const onMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n const className = target.className;\n if (className.includes('toLeft')) {\n if (percent.value === 100) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 0;\n }\n emit('resize', percent.value);\n } else if (className.includes('toRight')) {\n if (percent.value === 0) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 100;\n }\n emit('resize', percent.value);\n } else {\n active.value = true;\n hasMoved.value = false;\n }\n };\n\n const onMouseUp = (): void => {\n active.value = false;\n };\n\n const onMouseMove = (e: MouseEvent): void => {\n if (e.buttons === 0 || e.which === 0) {\n active.value = false;\n }\n\n if (active.value) {\n let offset = 0;\n let target = e.currentTarget as HTMLElement;\n if (props.splitSet?.split === 'vertical') {\n while (target) {\n offset += target.offsetLeft;\n target = target.offsetParent as HTMLElement;\n }\n } else {\n while (target) {\n offset += target.offsetTop;\n target = target.offsetParent as HTMLElement;\n }\n }\n\n const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY;\n // @ts-ignore\n const offsetWidth = e.currentTarget?.offsetWidth || 0;\n // @ts-ignore\n const offsetHeight = e.currentTarget?.offsetHeight || 0;\n const targetOffset = props.splitSet?.split === 'vertical' ? offsetWidth : offsetHeight;\n const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100;\n\n if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) {\n percent.value = percents;\n }\n\n emit('resize', percent.value);\n\n hasMoved.value = true;\n }\n };\n</script>\n\n<template>\n <div class=\"vue-splitter-container clearfix\" :style=\"cursor\" @mouseup=\"onMouseUp\" @mousemove=\"onMouseMove\">\n <div\n :class=\"leftClass\"\n :style=\"`${type}: ${percent === 100 ? 'calc(100% - 10px)' : `${percent}%`}; display: ${percent === 0 ? 'none' : ''}`\"\n >\n <slot name=\"paneL\" />\n </div>\n <Resizer\n :style=\"`${resizeType}:${percent}%; transform: ${percent === 100 ? 'translateX(-10px)' : ''}`\"\n :split=\"splitSet?.split\"\n @mousedown=\"onMouseDown\"\n @click=\"onClick\"\n />\n <div :class=\"rightClass\" :style=\"`${type}: ${100 - percent}%; display: ${percent === 100 ? 'none' : ''}`\">\n <slot name=\"paneR\" />\n </div>\n <div v-show=\"active\" class=\"vue-splitter-container-mask\" />\n </div>\n</template>\n"],"names":["ref","computed","_a","_createElementBlock","_createElementVNode","_renderSlot","_createVNode","Resizer","_normalizeStyle","splitSet","_withDirectives"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.js","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { ElPagination, ElTable, ElTableColumn } from 'element-plus';\n import { computed, ref, useSlots, watch } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import { TableProps } from './table';\n\n defineOptions({\n name: 'ITable',\n });\n\n const props = defineProps(TableProps);\n const emits = defineEmits([\n 'update:pagination',\n 'sizeChange',\n 'currentChange',\n 'select',\n 'selectAll',\n 'selectionChange',\n 'cellMouseEnter',\n 'cellMouseLeave',\n 'cellClick',\n 'cellDblclick',\n 'cellContextmenu',\n 'rowClick',\n 'rowContextmenu',\n 'rowDblclick',\n 'headerClick',\n 'headerContextmenu',\n 'sortChange',\n 'filterChange',\n 'currentChange',\n 'headerDragend',\n 'expandChange',\n ]);\n const tableAttrs = computed(() => excludeObjectKeys(props, ['height', 'columns', 'pagination', 'loading']));\n\n const tableWarpRef = ref();\n const slots = useSlots();\n\n // @ts-ignore\n const { height } = useElementSize(tableWarpRef);\n const tableHeight = computed(() => {\n if (props.height) {\n return props.height;\n } else {\n if (props.pagination?.currentPage) {\n return height.value - 50;\n }\n return height.value;\n }\n });\n\n const pagina = ref(props.pagination);\n watch(\n () => props.pagination,\n (val: any) => {\n pagina.value = {\n ...props.pagination,\n ...val,\n };\n },\n { deep: true },\n );\n\n function handleSizeChange(pageSize: number) {\n emits('update:pagination', {\n ...props.pagination,\n pageSize,\n });\n emits('sizeChange', pageSize);\n }\n\n function handleCurrentChange(currentPage: number) {\n emits('update:pagination', {\n ...props.pagination,\n currentPage,\n });\n emits('currentChange', currentPage);\n }\n\n const tableRef = ref();\n defineExpose({\n tableRef() {\n return tableRef.value;\n },\n });\n</script>\n\n<template>\n <div ref=\"tableWarpRef\" v-loading=\"loading\" class=\"i-table-warp\">\n <ElTable\n ref=\"tableRef\"\n v-bind=\"tableAttrs\"\n :height=\"tableHeight\"\n class=\"i-table\"\n @select=\"(selection, row) => emits('select', selection, row)\"\n @select-all=\"selection => emits('selectAll', selection)\"\n @selection-change=\"newSelection => emits('selectionChange', newSelection)\"\n @cell-mouse-enter=\"(row, column, cell, event) => emits('cellMouseEnter', row, column, cell, event)\"\n @cell-mouse-leave=\"(row, column, cell, event) => emits('cellMouseLeave', row, column, cell, event)\"\n @cell-click=\"(row, column, cell, event) => emits('cellClick', row, column, cell, event)\"\n @cell-dblclick=\"(row, column, cell, event) => emits('cellDblclick', row, column, cell, event)\"\n @cell-contextmenu=\"(row, column, cell, event) => emits('cellContextmenu', row, column, cell, event)\"\n @row-click=\"(row, column, event) => emits('rowClick', row, column, event)\"\n @row-contextmenu=\"(row, column, event) => emits('rowContextmenu', row, column, event)\"\n @row-dblclick=\"(row, column, event) => emits('rowDblclick', row, column, event)\"\n @header-click=\"(column, event) => emits('headerClick', column, event)\"\n @header-contextmenu=\"(column, event) => emits('headerContextmenu', column, event)\"\n @sort-change=\"(column, prop, order) => emits('sortChange', column, prop, order)\"\n @filter-change=\"filters => emits('filterChange', filters)\"\n @header-dragend=\"(newWidth, oldWidth, column, event) => emits('headerDragend', newWidth, oldWidth, column, event)\"\n @expand-change=\"(row, expandedRows) => emits('expandChange', row, expandedRows)\"\n >\n <template v-for=\"column of columns\" :key=\"column.prop\">\n <!-- todo 使用v-bind会报typescript类型错误,所以只能一个个的写上 -->\n <ElTableColumn\n :type=\"column.type\"\n :index=\"column.index\"\n :label=\"column.label\"\n :prop=\"column.prop\"\n :row-key=\"column.rowKey || 'id'\"\n :column-key=\"column.columnKey\"\n :width=\"column.width\"\n :min-width=\"column.minWidth\"\n :fixed=\"column.fixed\"\n :sortable=\"column.sortable\"\n :sort-method=\"column.sortMethod\"\n :sort-by=\"column.sortBy\"\n :sort-orders=\"column.sortOrders\"\n :resizable=\"column.resizable\"\n :show-overflow-tooltip=\"column.showOverflowTooltip\"\n :align=\"column.align\"\n :header-align=\"column.headerAlign\"\n :class-name=\"column.className\"\n :label-class-name=\"column.labelClassName\"\n :selectable=\"column.selectable\"\n :reserve-selection=\"column.reserveSelection\"\n :filters=\"column.filters\"\n :filter-placement=\"column.filterPlacement\"\n :filter-multiple=\"column.filterMultiple\"\n :filter-method=\"column.filterMethod\"\n :filtered-value=\"column.filteredValue\"\n >\n <template #default=\"scope\">\n <!-- eslint-disable-next-line -->\n <slot v-if=\"column.slot\" :name=\"column.slot\" :row=\"scope.row\" :$index=\"scope.$index\" />\n </template>\n <template v-if=\"slots[`${column.prop}TableHeader`]\" #header>\n <slot :name=\"`${column.prop}TableHeader`\" />\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n <div v-if=\"pagina.total\" class=\"i-table-pagination\">\n <ElPagination\n v-model:current-page=\"pagina.currentPage\"\n v-model:page-size=\"pagina.pageSize\"\n :small=\"pagina.small || false\"\n :disabled=\"pagina.disabled || false\"\n :background=\"pagina.background || true\"\n :total=\"pagina.total || 0\"\n :pager-count=\"pagina.pagerCount || 7\"\n :layout=\"pagina.layout || 'total, sizes, prev, pager, next, jumper'\"\n :page-sizes=\"pagina.pageSizes || [20, 30, 50, 100]\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n</template>\n"],"names":["computed","excludeObjectKeys","ref","useSlots","useElementSize","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAuBd,IAAM,MAAA,UAAA,GAAaA,YAAS,CAAA,MAAMC,sBAAkB,CAAA,KAAA,EAAO,CAAC,QAAA,EAAU,SAAW,EAAA,YAAA,EAAc,SAAS,CAAC,CAAC,CAAA;AAE1G,IAAA,MAAM,eAAeC,OAAI,EAAA;AACzB,IAAA,MAAM,QAAQC,YAAS,EAAA;AAGvB,IAAA,MAAM,EAAE,MAAA,EAAW,GAAAC,mBAAA,CAAe,YAAY,CAAA;AAC9C,IAAM,MAAA,WAAA,GAAcJ,aAAS,MAAM;;AACjC,MAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,QAAA,OAAO,KAAM,CAAA,MAAA;AAAA,OACR,MAAA;AACL,QAAI,IAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,WAAa,EAAA;AACjC,UAAA,OAAO,OAAO,KAAQ,GAAA,EAAA;AAAA;AAExB,QAAA,OAAO,MAAO,CAAA,KAAA;AAAA;AAChB,KACD,CAAA;AAED,IAAM,MAAA,MAAA,GAASE,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA;AACnC,IAAAG,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAa,KAAA;AACZ,QAAA,MAAA,CAAO,KAAQ,GAAA;AAAA,UACb,GAAG,KAAM,CAAA,UAAA;AAAA,UACT,GAAG;AAAA,SACL;AAAA,OACF;AAAA,MACA,EAAE,MAAM,IAAK;AAAA,KACf;AAEA,IAAA,SAAS,iBAAiB,QAAkB,EAAA;AAC1C,MAAA,KAAA,CAAM,mBAAqB,EAAA;AAAA,QACzB,GAAG,KAAM,CAAA,UAAA;AAAA,QACT;AAAA,OACD,CAAA;AACD,MAAA,KAAA,CAAM,cAAc,QAAQ,CAAA;AAAA;AALrB,IAAA,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA;AAQT,IAAA,SAAS,oBAAoB,WAAqB,EAAA;AAChD,MAAA,KAAA,CAAM,mBAAqB,EAAA;AAAA,QACzB,GAAG,KAAM,CAAA,UAAA;AAAA,QACT;AAAA,OACD,CAAA;AACD,MAAA,KAAA,CAAM,iBAAiB,WAAW,CAAA;AAAA;AAL3B,IAAA,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAQT,IAAA,MAAM,WAAWH,OAAI,EAAA;AACrB,IAAa,QAAA,CAAA;AAAA,MACX,QAAW,GAAA;AACT,QAAA,OAAO,QAAS,CAAA,KAAA;AAAA;AAClB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"table.vue2.js","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { ElPagination, ElTable, ElTableColumn } from 'element-plus';\n import { computed, ref, useSlots, watch } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import { TableProps } from './table';\n\n defineOptions({\n name: 'ITable',\n });\n\n const props = defineProps(TableProps);\n const emits = defineEmits([\n 'update:pagination',\n 'sizeChange',\n 'currentChange',\n 'select',\n 'selectAll',\n 'selectionChange',\n 'cellMouseEnter',\n 'cellMouseLeave',\n 'cellClick',\n 'cellDblclick',\n 'cellContextmenu',\n 'rowClick',\n 'rowContextmenu',\n 'rowDblclick',\n 'headerClick',\n 'headerContextmenu',\n 'sortChange',\n 'filterChange',\n 'currentChange',\n 'headerDragend',\n 'expandChange',\n ]);\n const tableAttrs = computed(() => excludeObjectKeys(props, ['height', 'columns', 'pagination', 'loading']));\n\n const tableWarpRef = ref();\n const slots = useSlots();\n\n // @ts-ignore\n const { height } = useElementSize(tableWarpRef);\n const tableHeight = computed(() => {\n if (props.height) {\n return props.height;\n } else {\n if (props.pagination?.currentPage) {\n return height.value - 50;\n }\n return height.value;\n }\n });\n\n const pagina = ref(props.pagination);\n watch(\n () => props.pagination,\n (val: any) => {\n pagina.value = {\n ...props.pagination,\n ...val,\n };\n },\n { deep: true },\n );\n\n function handleSizeChange(pageSize: number) {\n emits('update:pagination', {\n ...props.pagination,\n pageSize,\n });\n emits('sizeChange', pageSize);\n }\n\n function handleCurrentChange(currentPage: number) {\n emits('update:pagination', {\n ...props.pagination,\n currentPage,\n });\n emits('currentChange', currentPage);\n }\n\n const tableRef = ref();\n defineExpose({\n tableRef() {\n return tableRef.value;\n },\n });\n</script>\n\n<template>\n <div ref=\"tableWarpRef\" v-loading=\"loading\" class=\"i-table-warp\">\n <ElTable\n ref=\"tableRef\"\n v-bind=\"tableAttrs\"\n :height=\"tableHeight\"\n class=\"i-table\"\n @select=\"(selection, row) => emits('select', selection, row)\"\n @select-all=\"selection => emits('selectAll', selection)\"\n @selection-change=\"newSelection => emits('selectionChange', newSelection)\"\n @cell-mouse-enter=\"(row, column, cell, event) => emits('cellMouseEnter', row, column, cell, event)\"\n @cell-mouse-leave=\"(row, column, cell, event) => emits('cellMouseLeave', row, column, cell, event)\"\n @cell-click=\"(row, column, cell, event) => emits('cellClick', row, column, cell, event)\"\n @cell-dblclick=\"(row, column, cell, event) => emits('cellDblclick', row, column, cell, event)\"\n @cell-contextmenu=\"(row, column, cell, event) => emits('cellContextmenu', row, column, cell, event)\"\n @row-click=\"(row, column, event) => emits('rowClick', row, column, event)\"\n @row-contextmenu=\"(row, column, event) => emits('rowContextmenu', row, column, event)\"\n @row-dblclick=\"(row, column, event) => emits('rowDblclick', row, column, event)\"\n @header-click=\"(column, event) => emits('headerClick', column, event)\"\n @header-contextmenu=\"(column, event) => emits('headerContextmenu', column, event)\"\n @sort-change=\"(column, prop, order) => emits('sortChange', column, prop, order)\"\n @filter-change=\"filters => emits('filterChange', filters)\"\n @header-dragend=\"(newWidth, oldWidth, column, event) => emits('headerDragend', newWidth, oldWidth, column, event)\"\n @expand-change=\"(row, expandedRows) => emits('expandChange', row, expandedRows)\"\n >\n <template v-for=\"column of columns\" :key=\"column.prop\">\n <!-- todo 使用v-bind会报typescript类型错误,所以只能一个个的写上 -->\n <ElTableColumn\n :type=\"column.type\"\n :index=\"column.index\"\n :label=\"column.label\"\n :prop=\"column.prop\"\n :row-key=\"column.rowKey || 'id'\"\n :column-key=\"column.columnKey\"\n :width=\"column.width\"\n :min-width=\"column.minWidth\"\n :fixed=\"column.fixed\"\n :sortable=\"column.sortable\"\n :sort-method=\"column.sortMethod\"\n :sort-by=\"column.sortBy\"\n :sort-orders=\"column.sortOrders\"\n :resizable=\"column.resizable\"\n :show-overflow-tooltip=\"column.showOverflowTooltip\"\n :align=\"column.align\"\n :header-align=\"column.headerAlign\"\n :class-name=\"column.className\"\n :label-class-name=\"column.labelClassName\"\n :selectable=\"column.selectable\"\n :reserve-selection=\"column.reserveSelection\"\n :filters=\"column.filters\"\n :filter-placement=\"column.filterPlacement\"\n :filter-multiple=\"column.filterMultiple\"\n :filter-method=\"column.filterMethod\"\n :filtered-value=\"column.filteredValue\"\n >\n <template #default=\"scope\">\n <!-- eslint-disable-next-line -->\n <slot v-if=\"column.slot\" :name=\"column.slot\" :row=\"scope.row\" :$index=\"scope.$index\" />\n </template>\n <template v-if=\"slots[`${column.prop}TableHeader`]\" #header>\n <slot :name=\"`${column.prop}TableHeader`\" />\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n <div v-if=\"pagina.total\" class=\"i-table-pagination\">\n <ElPagination\n v-model:current-page=\"pagina.currentPage\"\n v-model:page-size=\"pagina.pageSize\"\n :small=\"pagina.small || false\"\n :disabled=\"pagina.disabled || false\"\n :background=\"pagina.background || true\"\n :total=\"pagina.total || 0\"\n :pager-count=\"pagina.pagerCount || 7\"\n :layout=\"pagina.layout || 'total, sizes, prev, pager, next, jumper'\"\n :page-sizes=\"pagina.pageSizes || [20, 30, 50, 100]\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n</template>\n"],"names":["computed","excludeObjectKeys","ref","useSlots","useElementSize","watch","_createElementBlock","_createVNode","_unref","_mergeProps","_Fragment","_renderList","columns","_createCommentVNode","ElTableColumn","_withCtx","_renderSlot","_openBlock","ElPagination","loading"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-enterprise.vue2.js","sources":["../../../../../../../packages/components/tenant-enterprise/src/tenant-enterprise.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ElInput, ElSelect, ElTreeV2 } from 'element-plus';\n import { inject, nextTick, onMounted, ref, shallowRef, useId, watch } from 'vue';\n import { SERVER_CONFIG, SITE_UNIT_STORE, USER_INFO } from '../../../utils';\n import { TenantEnterpriseEmits, TenantEnterpriseProps } from './tenant-enterprise';\n import TreeLine from './tree-line';\n\n defineOptions({\n name: 'ITenantEnterprise',\n });\n\n const props = defineProps(TenantEnterpriseProps);\n const emits = defineEmits(TenantEnterpriseEmits);\n\n const simpleModeBaseInfo = ref<any>({});\n const systemConfig = props?.action?.serverConfig || inject(SERVER_CONFIG);\n const isSimple = systemConfig?.menuMode === 'simple';\n const tenantStore = props?.action?.tenantStore || inject(SITE_UNIT_STORE);\n const userStore = props?.action?.user || inject(USER_INFO);\n\n const CHILDREN_KEY = 'enterpriseTreeVoList';\n const NODE_KEY = 'id';\n\n const modelValue = ref();\n const loading = ref(false);\n const treeRef = shallowRef();\n const treeContainerId = useId();\n const selectRef = shallowRef();\n const searchValue = ref('');\n const treeData = ref<any[]>([]);\n // 默认选中\n // 1、选中用户当前单位站点及其子节点;\n // 2、simple模式下,默认选中接收到的单位站点(大屏那边目前都是单选)\n const defaultCheck = ref<Record<string, any>>({\n enterpriseId: null,\n tenantId: null,\n name: null,\n });\n let cacheChangeKeys: any[] = [];\n\n onMounted(async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n });\n\n watch(\n () => tenantStore?.currentTenantId,\n async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n },\n );\n\n window.microApp?.addDataListener((val: any) => {\n // 只在 simple 模式下运行\n // simple 模式下不显示单位选择框,所以无需更新视图,只需要触发emits.change,让组件调用者知道单位发生了变更即可。\n if (isSimple && val) {\n const obj = {\n name: val.enterpriseName,\n enterpriseId: val.enterpriseId,\n tenantId: val.tenantId,\n };\n emits('change', {\n arr: [obj],\n obj,\n });\n }\n }, true);\n\n /**\n * 获取租户下的所有单位树\n */\n async function GetTenantEnterpriseTree(): Promise<any[]> {\n return (await tenantStore?.getEnterprise()) || [];\n }\n\n /**\n * 设置默认选中\n */\n async function setDefaultCheck() {\n await clearChecked();\n\n // 当前用户站点是否在当前站点树中\n // 在:默认选中当前\n defaultCheck.value.enterpriseId = simpleModeBaseInfo?.value?.enterpriseId ?? userStore?.userInfo.tenantEnterpriseId;\n defaultCheck.value.tenantId = simpleModeBaseInfo?.value?.tenantId ?? userStore?.userInfo.tenantId;\n defaultCheck.value.name = simpleModeBaseInfo?.value?.enterpriseName ?? userStore?.userInfo.enterpriseName;\n // 不在:选中第一项\n if (String(tenantStore?.getCurrentTenantId) !== String(userStore?.userInfo.tenantId)) {\n if (treeData.value.length > 0) {\n console.log('非当前用户所在站点');\n defaultCheck.value.name = treeData.value[0].enterpriseName;\n defaultCheck.value.tenantId = treeData.value[0].tenantId;\n defaultCheck.value.enterpriseId = treeData.value[0].id;\n }\n }\n\n // 选中的单位节点\n const current = findEnterprise(defaultCheck.value.enterpriseId, treeData.value);\n if (current) {\n treeRef.value?.setCheckedKeys([current.id], true);\n await handleCheckChange();\n handleVisibleChange(false);\n } else {\n console.error('未找到单位!', defaultCheck.value.enterpriseId);\n }\n }\n\n /**\n * 清空所有选中\n */\n async function clearChecked() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (checkedList.length > 0) {\n treeRef.value?.setCheckedKeys(checkedList, false);\n }\n }\n\n /**\n * 根据单位ID在tree中查找单位\n */\n function findEnterprise(enterpriseId: number, tree: any[]): any {\n let enterprise = null;\n for (let i = 0; i < tree.length; i++) {\n if (tree[i].id === enterpriseId) {\n enterprise = tree[i];\n break;\n }\n if (tree[i][CHILDREN_KEY] && tree[i][CHILDREN_KEY].length) {\n enterprise = findEnterprise(enterpriseId, tree[i][CHILDREN_KEY]);\n if (enterprise) {\n break;\n }\n }\n }\n return enterprise;\n }\n /**\n * 节点选中状态变化\n */\n async function handleCheckChange() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedNodes(false) || [];\n const val = checkedList.map((item: any) => item.enterpriseName || item.tenantName);\n modelValue.value = props.multiple ? val : val[0];\n if (!props.multiple) {\n // 单选时,选中之后就隐藏下拉框\n selectRef.value.blur();\n }\n }\n\n /**\n * el-select 面板 显示、隐藏\n */\n function handleVisibleChange(visible: boolean) {\n if (!visible) {\n const diff = diffChecked();\n if (!diff) {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n if (checkedList.length === 0) {\n setDefaultCheck();\n } else {\n const arrObj: Record<string, any[]> = {\n name: [],\n enterpriseId: [],\n tenantId: [],\n };\n const arr = checkedList.map((item: any) => {\n arrObj.name.push(item.enterpriseName || item.tenantName);\n arrObj.enterpriseId.push(item.id);\n if (!arrObj.tenantId.includes(item.tenantId)) {\n arrObj.tenantId.push(item.tenantId);\n }\n return {\n name: item.enterpriseName || item.tenantName,\n enterpriseId: item.id,\n tenantId: item.tenantId || item.id,\n };\n });\n emits('change', {\n arr,\n obj: {\n name: arrObj.name.join(','),\n enterpriseId: arrObj.enterpriseId.join(','),\n tenantId: arrObj.tenantId.join(','),\n },\n });\n }\n }\n } else {\n // 重置过滤\n searchValue.value = '';\n handleSearch();\n }\n }\n\n /**\n * 比较选中节点是否发生变化\n */\n function diffChecked() {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n const checkedKeys = checkedList.map((item: any) => item[NODE_KEY]).filter(Boolean);\n // 比较 checkedKeys 和 cacheChangeKeys\n const diff = diffArr(checkedKeys, cacheChangeKeys);\n cacheChangeKeys = checkedKeys;\n return diff;\n }\n\n /**\n * 比较两个数组是否相等\n * 数组下标不影响结果,即 [1,2] 等于 [2,1] 返回true\n */\n function diffArr(arr1: number[], arr2: number[]): boolean {\n if (arr1.length !== arr2.length) {\n return false;\n }\n const sortedArr1 = [...arr1].sort();\n const sortedArr2 = [...arr2].sort();\n for (let i = 0; i < sortedArr1.length; i++) {\n if (sortedArr1[i] !== sortedArr2[i]) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 触发过滤\n */\n function handleSearch() {\n treeRef.value?.filter(searchValue.value);\n if (!searchValue.value) {\n // 如果过滤为空,则展开默认选中的节点\n setDefaultExpanded();\n }\n // 实现搜索高亮\n highlightNodes(treeData.value, searchValue.value);\n }\n\n /**\n * 高亮节点标签\n * @param nodes - 节点数组\n * @param query - 搜索关键词\n */\n function highlightNodes(nodes: any[], query: string) {\n nodes.forEach((node: any) => {\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n highlightNodes(node[CHILDREN_KEY], query);\n }\n if (query && (node.enterpriseName || node.tenantName)) {\n const label = node.enterpriseName || node.tenantName;\n const regex = new RegExp(`(${query})`, 'gi');\n node.label = label.replace(regex, '<span class=\"highlight\">$1</span>');\n } else {\n // 如果没有搜索关键词,则恢复节点标签\n node.label = node.enterpriseName || node.tenantName;\n }\n });\n }\n\n /**\n * 点击checkbox选择框\n */\n const handleCheck = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n const isChecked = checkedList.includes(data[NODE_KEY]);\n if (props.multiple) {\n // 多选\n recursionSetChecked(data, isChecked);\n } else {\n // 单选\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n };\n\n /**\n * 递归设置选中/取消选中\n * @param data\n * @param isChecked\n */\n function recursionSetChecked(data: any, isChecked: boolean) {\n if (data[CHILDREN_KEY] && data[CHILDREN_KEY].length > 0) {\n // 选中/取消子节点\n data[CHILDREN_KEY].forEach((item: any) => {\n treeRef.value?.setChecked(item[NODE_KEY], isChecked);\n recursionSetChecked(item, isChecked);\n });\n }\n }\n\n /**\n * 点击树节点\n */\n const handleNodeClick = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (props.multiple) {\n const isChecked = checkedList.includes(data[NODE_KEY]);\n treeRef.value?.setChecked(data[NODE_KEY], !isChecked);\n } else {\n // 单选\n treeRef.value?.setChecked(data[NODE_KEY], true);\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n await handleCheckChange();\n };\n\n /**\n * 节点过滤\n */\n const filterMethod = (query: string, node: any) => {\n const label = node?.enterpriseName || node?.tenantName;\n return new RegExp(query, 'i').test(label);\n };\n\n /**\n * 根据当前选中节点,设置展开的节点\n */\n function setDefaultExpanded() {\n const checkedKeys = treeRef.value?.getCheckedKeys() || [];\n if (checkedKeys.length === 0) return;\n // 1、调用 findParentEnterprise 查找父节点数组\n // 2、过滤掉无效数组,最上层的节点找不到父节点会返回null\n // 3、展开二维数组\n // 4、得到 单位ID 数组\n const expandedKeys = checkedKeys\n .map((item: any) => {\n return findParentEnterprise(item, treeData.value);\n })\n .filter(Boolean)\n .flat()\n .map((item: any) => item[NODE_KEY]);\n treeRef.value?.setExpandedKeys([...checkedKeys, ...expandedKeys]);\n\n if (treeRef.value && treeRef.value?.scrollTo) {\n const top = getNodeTop(checkedKeys[0]);\n treeRef.value.scrollTo(top);\n }\n }\n\n /**\n * 根据单位ID在tree中查找父级单位\n * @param enterpriseId - 要查找的单位ID\n * @param tree - 当前树数据\n * @returns {Array|null} - 返回从根到子的父级单位数组,未找到则返回 null\n */\n function findParentEnterprise(enterpriseId: number, tree: any[]): any[] | null {\n const traverse = (node: any, path: any[], targetId: number): any[] | null => {\n // 如果当前节点是目标节点,则返回当前路径(不包含自己)\n if (node.id === targetId) {\n return path.length > 0 ? [...path] : null;\n }\n\n // 如果有子节点,继续递归查找\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n for (let i = 0; i < node[CHILDREN_KEY].length; i++) {\n const result = traverse(node[CHILDREN_KEY][i], [...path, node], targetId);\n if (result) {\n return result;\n }\n }\n }\n\n return null;\n };\n\n // 遍历整个树,尝试在每个顶级节点下查找\n for (let i = 0; i < tree.length; i++) {\n const result = traverse(tree[i], [], enterpriseId);\n if (result) {\n return result;\n }\n }\n\n return null;\n }\n\n /**\n * 根据选中的key值,获取到节点离顶端的距离\n * @param key\n */\n function getNodeTop(key: number | string) {\n // 节点高度\n const LINE_HEIGHT = 32;\n const node = treeRef.value?.getNode(key);\n const level = node.level;\n let top = 0;\n let _node = node;\n for (let i = 1; i < level; i++) {\n const children = _node?.parent?.children || [];\n const index = children.findIndex((item: any) => item.key === _node.key);\n top += index * LINE_HEIGHT;\n _node = _node.parent;\n }\n return top;\n }\n // todo element-plus 需升级为 2.9.0+\n // @ts-ignore\n const nodeClass = (data: any, node: any) => {\n if (node.children && node.children?.length > 0) {\n return '';\n }\n return 'tenant-e-empty-node';\n };\n</script>\n\n<template>\n <div v-show=\"!isSimple\" class=\"t-tenant-enterprise\">\n <label v-if=\"showLabel\" class=\"t-tenant-enterprise__label\">{{ label }}</label>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"modelValue\"\n :multiple=\"multiple\"\n collapse-tags\n :clearable=\"false\"\n style=\"width: 240px\"\n placement=\"bottom-end\"\n :popper-class=\"`tenant-enterprise-popper ${popperClass}`\"\n @visible-change=\"handleVisibleChange\"\n >\n <template #empty>\n <div class=\"t-tenant-enterprise__search\">\n <ElInput\n v-model=\"searchValue\"\n placeholder=\"输入关键词,按Enter键搜索...\"\n clearable\n maxlength=\"30\"\n @change=\"handleSearch\"\n />\n </div>\n <div :id=\"treeContainerId\" v-loading=\"loading\" class=\"p-2\">\n <ElTreeV2\n ref=\"treeRef\"\n :height=\"300\"\n class=\"tenant-enterprise-tree\"\n :class=\"{\n 'tenant-enterprise-tree__only': !multiple,\n }\"\n :data=\"treeData\"\n :props=\"{\n children: CHILDREN_KEY,\n class: nodeClass,\n }\"\n highlight-current\n :expand-on-click-node=\"false\"\n check-on-click-node\n :default-expanded-keys=\"[]\"\n show-checkbox\n check-strictly\n :default-checked-keys=\"[]\"\n :filter-method=\"filterMethod\"\n :indent=\"30\"\n :item-size=\"32\"\n :node-key=\"NODE_KEY\"\n @check=\"handleCheck\"\n @check-change=\"handleCheckChange\"\n >\n <template #default=\"{ node }\">\n <TreeLine :node=\"node\" show-label-line @click.stop=\"handleNodeClick(node.data)\">\n <template #node-label>\n <span\n :title=\"node.data?.enterpriseName || node?.data.tenantName\"\n v-html=\"node.data?.label || node.data?.enterpriseName || node?.data.tenantName\"\n />\n </template>\n </TreeLine>\n </template>\n </ElTreeV2>\n </div>\n </template>\n </ElSelect>\n </div>\n</template>\n"],"names":["ref","inject","SERVER_CONFIG","SITE_UNIT_STORE","USER_INFO","shallowRef","useId","onMounted","watch","_b","_a","_d","_c","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"tenant-enterprise.vue2.js","sources":["../../../../../../../packages/components/tenant-enterprise/src/tenant-enterprise.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ElInput, ElSelect, ElTreeV2 } from 'element-plus';\n import { inject, nextTick, onMounted, ref, shallowRef, useId, watch } from 'vue';\n import { SERVER_CONFIG, SITE_UNIT_STORE, USER_INFO } from '../../../utils';\n import { TenantEnterpriseEmits, TenantEnterpriseProps } from './tenant-enterprise';\n import TreeLine from './tree-line';\n\n defineOptions({\n name: 'ITenantEnterprise',\n });\n\n const props = defineProps(TenantEnterpriseProps);\n const emits = defineEmits(TenantEnterpriseEmits);\n\n const simpleModeBaseInfo = ref<any>({});\n const systemConfig = props?.action?.serverConfig || inject(SERVER_CONFIG);\n const isSimple = systemConfig?.menuMode === 'simple';\n const tenantStore = props?.action?.tenantStore || inject(SITE_UNIT_STORE);\n const userStore = props?.action?.user || inject(USER_INFO);\n\n const CHILDREN_KEY = 'enterpriseTreeVoList';\n const NODE_KEY = 'id';\n\n const modelValue = ref();\n const loading = ref(false);\n const treeRef = shallowRef();\n const treeContainerId = useId();\n const selectRef = shallowRef();\n const searchValue = ref('');\n const treeData = ref<any[]>([]);\n // 默认选中\n // 1、选中用户当前单位站点及其子节点;\n // 2、simple模式下,默认选中接收到的单位站点(大屏那边目前都是单选)\n const defaultCheck = ref<Record<string, any>>({\n enterpriseId: null,\n tenantId: null,\n name: null,\n });\n let cacheChangeKeys: any[] = [];\n\n onMounted(async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n });\n\n watch(\n () => tenantStore?.currentTenantId,\n async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n },\n );\n\n window.microApp?.addDataListener((val: any) => {\n // 只在 simple 模式下运行\n // simple 模式下不显示单位选择框,所以无需更新视图,只需要触发emits.change,让组件调用者知道单位发生了变更即可。\n if (isSimple && val) {\n const obj = {\n name: val.enterpriseName,\n enterpriseId: val.enterpriseId,\n tenantId: val.tenantId,\n };\n emits('change', {\n arr: [obj],\n obj,\n });\n }\n }, true);\n\n /**\n * 获取租户下的所有单位树\n */\n async function GetTenantEnterpriseTree(): Promise<any[]> {\n return (await tenantStore?.getEnterprise()) || [];\n }\n\n /**\n * 设置默认选中\n */\n async function setDefaultCheck() {\n await clearChecked();\n\n // 当前用户站点是否在当前站点树中\n // 在:默认选中当前\n defaultCheck.value.enterpriseId = simpleModeBaseInfo?.value?.enterpriseId ?? userStore?.userInfo.tenantEnterpriseId;\n defaultCheck.value.tenantId = simpleModeBaseInfo?.value?.tenantId ?? userStore?.userInfo.tenantId;\n defaultCheck.value.name = simpleModeBaseInfo?.value?.enterpriseName ?? userStore?.userInfo.enterpriseName;\n // 不在:选中第一项\n if (String(tenantStore?.getCurrentTenantId) !== String(userStore?.userInfo.tenantId)) {\n if (treeData.value.length > 0) {\n console.log('非当前用户所在站点');\n defaultCheck.value.name = treeData.value[0].enterpriseName;\n defaultCheck.value.tenantId = treeData.value[0].tenantId;\n defaultCheck.value.enterpriseId = treeData.value[0].id;\n }\n }\n\n // 选中的单位节点\n const current = findEnterprise(defaultCheck.value.enterpriseId, treeData.value);\n if (current) {\n treeRef.value?.setCheckedKeys([current.id], true);\n await handleCheckChange();\n handleVisibleChange(false);\n } else {\n console.error('未找到单位!', defaultCheck.value.enterpriseId);\n }\n }\n\n /**\n * 清空所有选中\n */\n async function clearChecked() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (checkedList.length > 0) {\n treeRef.value?.setCheckedKeys(checkedList, false);\n }\n }\n\n /**\n * 根据单位ID在tree中查找单位\n */\n function findEnterprise(enterpriseId: number, tree: any[]): any {\n let enterprise = null;\n for (let i = 0; i < tree.length; i++) {\n if (tree[i].id === enterpriseId) {\n enterprise = tree[i];\n break;\n }\n if (tree[i][CHILDREN_KEY] && tree[i][CHILDREN_KEY].length) {\n enterprise = findEnterprise(enterpriseId, tree[i][CHILDREN_KEY]);\n if (enterprise) {\n break;\n }\n }\n }\n return enterprise;\n }\n /**\n * 节点选中状态变化\n */\n async function handleCheckChange() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedNodes(false) || [];\n const val = checkedList.map((item: any) => item.enterpriseName || item.tenantName);\n modelValue.value = props.multiple ? val : val[0];\n if (!props.multiple) {\n // 单选时,选中之后就隐藏下拉框\n selectRef.value.blur();\n }\n }\n\n /**\n * el-select 面板 显示、隐藏\n */\n function handleVisibleChange(visible: boolean) {\n if (!visible) {\n const diff = diffChecked();\n if (!diff) {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n if (checkedList.length === 0) {\n setDefaultCheck();\n } else {\n const arrObj: Record<string, any[]> = {\n name: [],\n enterpriseId: [],\n tenantId: [],\n };\n const arr = checkedList.map((item: any) => {\n arrObj.name.push(item.enterpriseName || item.tenantName);\n arrObj.enterpriseId.push(item.id);\n if (!arrObj.tenantId.includes(item.tenantId)) {\n arrObj.tenantId.push(item.tenantId);\n }\n return {\n name: item.enterpriseName || item.tenantName,\n enterpriseId: item.id,\n tenantId: item.tenantId || item.id,\n };\n });\n emits('change', {\n arr,\n obj: {\n name: arrObj.name.join(','),\n enterpriseId: arrObj.enterpriseId.join(','),\n tenantId: arrObj.tenantId.join(','),\n },\n });\n }\n }\n } else {\n // 重置过滤\n searchValue.value = '';\n handleSearch();\n }\n }\n\n /**\n * 比较选中节点是否发生变化\n */\n function diffChecked() {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n const checkedKeys = checkedList.map((item: any) => item[NODE_KEY]).filter(Boolean);\n // 比较 checkedKeys 和 cacheChangeKeys\n const diff = diffArr(checkedKeys, cacheChangeKeys);\n cacheChangeKeys = checkedKeys;\n return diff;\n }\n\n /**\n * 比较两个数组是否相等\n * 数组下标不影响结果,即 [1,2] 等于 [2,1] 返回true\n */\n function diffArr(arr1: number[], arr2: number[]): boolean {\n if (arr1.length !== arr2.length) {\n return false;\n }\n const sortedArr1 = [...arr1].sort();\n const sortedArr2 = [...arr2].sort();\n for (let i = 0; i < sortedArr1.length; i++) {\n if (sortedArr1[i] !== sortedArr2[i]) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 触发过滤\n */\n function handleSearch() {\n treeRef.value?.filter(searchValue.value);\n if (!searchValue.value) {\n // 如果过滤为空,则展开默认选中的节点\n setDefaultExpanded();\n }\n // 实现搜索高亮\n highlightNodes(treeData.value, searchValue.value);\n }\n\n /**\n * 高亮节点标签\n * @param nodes - 节点数组\n * @param query - 搜索关键词\n */\n function highlightNodes(nodes: any[], query: string) {\n nodes.forEach((node: any) => {\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n highlightNodes(node[CHILDREN_KEY], query);\n }\n if (query && (node.enterpriseName || node.tenantName)) {\n const label = node.enterpriseName || node.tenantName;\n const regex = new RegExp(`(${query})`, 'gi');\n node.label = label.replace(regex, '<span class=\"highlight\">$1</span>');\n } else {\n // 如果没有搜索关键词,则恢复节点标签\n node.label = node.enterpriseName || node.tenantName;\n }\n });\n }\n\n /**\n * 点击checkbox选择框\n */\n const handleCheck = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n const isChecked = checkedList.includes(data[NODE_KEY]);\n if (props.multiple) {\n // 多选\n recursionSetChecked(data, isChecked);\n } else {\n // 单选\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n };\n\n /**\n * 递归设置选中/取消选中\n * @param data\n * @param isChecked\n */\n function recursionSetChecked(data: any, isChecked: boolean) {\n if (data[CHILDREN_KEY] && data[CHILDREN_KEY].length > 0) {\n // 选中/取消子节点\n data[CHILDREN_KEY].forEach((item: any) => {\n treeRef.value?.setChecked(item[NODE_KEY], isChecked);\n recursionSetChecked(item, isChecked);\n });\n }\n }\n\n /**\n * 点击树节点\n */\n const handleNodeClick = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (props.multiple) {\n const isChecked = checkedList.includes(data[NODE_KEY]);\n treeRef.value?.setChecked(data[NODE_KEY], !isChecked);\n } else {\n // 单选\n treeRef.value?.setChecked(data[NODE_KEY], true);\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n await handleCheckChange();\n };\n\n /**\n * 节点过滤\n */\n const filterMethod = (query: string, node: any) => {\n const label = node?.enterpriseName || node?.tenantName;\n return new RegExp(query, 'i').test(label);\n };\n\n /**\n * 根据当前选中节点,设置展开的节点\n */\n function setDefaultExpanded() {\n const checkedKeys = treeRef.value?.getCheckedKeys() || [];\n if (checkedKeys.length === 0) return;\n // 1、调用 findParentEnterprise 查找父节点数组\n // 2、过滤掉无效数组,最上层的节点找不到父节点会返回null\n // 3、展开二维数组\n // 4、得到 单位ID 数组\n const expandedKeys = checkedKeys\n .map((item: any) => {\n return findParentEnterprise(item, treeData.value);\n })\n .filter(Boolean)\n .flat()\n .map((item: any) => item[NODE_KEY]);\n treeRef.value?.setExpandedKeys([...checkedKeys, ...expandedKeys]);\n\n if (treeRef.value && treeRef.value?.scrollTo) {\n const top = getNodeTop(checkedKeys[0]);\n treeRef.value.scrollTo(top);\n }\n }\n\n /**\n * 根据单位ID在tree中查找父级单位\n * @param enterpriseId - 要查找的单位ID\n * @param tree - 当前树数据\n * @returns {Array|null} - 返回从根到子的父级单位数组,未找到则返回 null\n */\n function findParentEnterprise(enterpriseId: number, tree: any[]): any[] | null {\n const traverse = (node: any, path: any[], targetId: number): any[] | null => {\n // 如果当前节点是目标节点,则返回当前路径(不包含自己)\n if (node.id === targetId) {\n return path.length > 0 ? [...path] : null;\n }\n\n // 如果有子节点,继续递归查找\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n for (let i = 0; i < node[CHILDREN_KEY].length; i++) {\n const result = traverse(node[CHILDREN_KEY][i], [...path, node], targetId);\n if (result) {\n return result;\n }\n }\n }\n\n return null;\n };\n\n // 遍历整个树,尝试在每个顶级节点下查找\n for (let i = 0; i < tree.length; i++) {\n const result = traverse(tree[i], [], enterpriseId);\n if (result) {\n return result;\n }\n }\n\n return null;\n }\n\n /**\n * 根据选中的key值,获取到节点离顶端的距离\n * @param key\n */\n function getNodeTop(key: number | string) {\n // 节点高度\n const LINE_HEIGHT = 32;\n const node = treeRef.value?.getNode(key);\n const level = node.level;\n let top = 0;\n let _node = node;\n for (let i = 1; i < level; i++) {\n const children = _node?.parent?.children || [];\n const index = children.findIndex((item: any) => item.key === _node.key);\n top += index * LINE_HEIGHT;\n _node = _node.parent;\n }\n return top;\n }\n // todo element-plus 需升级为 2.9.0+\n // @ts-ignore\n const nodeClass = (data: any, node: any) => {\n if (node.children && node.children?.length > 0) {\n return '';\n }\n return 'tenant-e-empty-node';\n };\n</script>\n\n<template>\n <div v-show=\"!isSimple\" class=\"t-tenant-enterprise\">\n <label v-if=\"showLabel\" class=\"t-tenant-enterprise__label\">{{ label }}</label>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"modelValue\"\n :multiple=\"multiple\"\n collapse-tags\n :clearable=\"false\"\n style=\"width: 240px\"\n placement=\"bottom-end\"\n :popper-class=\"`tenant-enterprise-popper ${popperClass}`\"\n @visible-change=\"handleVisibleChange\"\n >\n <template #empty>\n <div class=\"t-tenant-enterprise__search\">\n <ElInput\n v-model=\"searchValue\"\n placeholder=\"输入关键词,按Enter键搜索...\"\n clearable\n maxlength=\"30\"\n @change=\"handleSearch\"\n />\n </div>\n <div :id=\"treeContainerId\" v-loading=\"loading\" class=\"p-2\">\n <ElTreeV2\n ref=\"treeRef\"\n :height=\"300\"\n class=\"tenant-enterprise-tree\"\n :class=\"{\n 'tenant-enterprise-tree__only': !multiple,\n }\"\n :data=\"treeData\"\n :props=\"{\n children: CHILDREN_KEY,\n class: nodeClass,\n }\"\n highlight-current\n :expand-on-click-node=\"false\"\n check-on-click-node\n :default-expanded-keys=\"[]\"\n show-checkbox\n check-strictly\n :default-checked-keys=\"[]\"\n :filter-method=\"filterMethod\"\n :indent=\"30\"\n :item-size=\"32\"\n :node-key=\"NODE_KEY\"\n @check=\"handleCheck\"\n @check-change=\"handleCheckChange\"\n >\n <template #default=\"{ node }\">\n <TreeLine :node=\"node\" show-label-line @click.stop=\"handleNodeClick(node.data)\">\n <template #node-label>\n <span\n :title=\"node.data?.enterpriseName || node?.data.tenantName\"\n v-html=\"node.data?.label || node.data?.enterpriseName || node?.data.tenantName\"\n />\n </template>\n </TreeLine>\n </template>\n </ElTreeV2>\n </div>\n </template>\n </ElSelect>\n </div>\n</template>\n"],"names":["ref","inject","SERVER_CONFIG","SITE_UNIT_STORE","USER_INFO","shallowRef","useId","onMounted","watch","_b","_a","_d","_c","nextTick","_withDirectives","_openBlock","_createElementBlock","showLabel","_toDisplayString","label","_createVNode","_unref","ElSelect","multiple","popperClass","_createElementVNode","ElInput","ElTreeV2","_withCtx","TreeLine","_withModifiers"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-button-group.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"text-button-group.vue2.js","sources":["../../../../../../../packages/components/text-button/src/text-button-group.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { textButtonGroupProps } from './text-button';\n import ITextButton from './text-button.vue';\n defineOptions({\n name: 'ITextButtonGroup',\n });\n defineProps(textButtonGroupProps);\n</script>\n\n<template>\n <div class=\"i-text-button-group\">\n <template v-for=\"(button, index) of group\" :key=\"`${index}${button?.text}`\">\n <slot v-if=\"button.slot\" :name=\"button.slot\" />\n <ITextButton v-else :icon=\"button.icon\" :text-color=\"button.textColor\" :disabled=\"button.disabled\">\n {{ button?.text }}\n </ITextButton>\n </template>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","group","_renderSlot","_createBlock","ITextButton","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;AAUE,MAAA,OAAAA,aAAA,EAAA,EAAAC,sBAOM,CAAA,KAAA,EAPN,UAOM,EAAA;AAAA,SANJD,aAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA;AAAA,UAKWC,YAAA;AAAA,UALyBC,IAAAA;AAAAA,UAAAA,cAAAA,CAAAA,IAAAA,CAAAA,KAAlB,EAAA,CAAA,QAAQ,KAAK,KAAA;;;;wBAAqB,KAAK,CAAA,EAAG,iCAAQ,IAAI,CAAA;AAAA;;gBAC1D,MAAO,CAAA,IAAA,GAAnBC,cAA+C,CAAA,IAAA,CAAA,QAAf,MAAO,CAAA,IAAA,EAAI,EAAA,GAAA,EAAA,GAAA,CAAA,qBAC3CC,gBAEcC,sDAAA,EAAA;AAAA;kBAFO,MAAM,MAAO,CAAA,IAAA;AAAA,kBAAO,cAAY,MAAO,CAAA,SAAA;AAAA,kBAAY,UAAU,MAAO,CAAA;AAAA;uCACvF,MAAkB;AAAA,oBAAfC,mBAAA;AAAA,sBAAAC,mBAAA,CAAA,iCAAQ,IAAI,CAAA;AAAA,sBAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-button.vue2.js","sources":["../../../../../../../packages/components/text-button/src/text-button.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ref, shallowRef, useSlots, watchEffect } from 'vue';\n import {\n builtInIcon,\n type builtInIconType,\n darkenColor,\n getElementColor,\n textButtonEmits,\n textButtonProps,\n } from './text-button';\n\n defineOptions({\n name: 'ITextButton',\n });\n const props = defineProps(textButtonProps);\n const emits = defineEmits(textButtonEmits);\n const slots = useSlots();\n const textButtonRef = shallowRef();\n\n const textButtonIcon = ref('');\n let cacheTextButtonColor = '';\n const textButtonColor = ref('');\n\n watchEffect(() => {\n if (props.icon) {\n const builtInIconKeys = Object.keys(builtInIcon);\n if (builtInIconKeys.includes(props.icon)) {\n textButtonIcon.value = builtInIcon[props.icon as builtInIconType].icon;\n textButtonColor.value =\n props.textColor || builtInIcon[props.icon as builtInIconType].color || 'var(--el-color-primary)';\n } else {\n textButtonIcon.value = props.icon;\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n } else {\n textButtonIcon.value = '';\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n });\n\n const handleMousedown = () => {\n cacheTextButtonColor = textButtonColor.value;\n textButtonColor.value = darkenColor(getElementColor(textButtonRef.value), 0.2);\n };\n\n const handleMouseup = () => {\n textButtonColor.value = cacheTextButtonColor || 'var(--el-color-primary)';\n };\n\n const handleClick = (evt: MouseEvent) => {\n if (!props.disabled) emits('click', evt);\n };\n</script>\n\n<template>\n <div\n ref=\"textButtonRef\"\n class=\"i-text-button\"\n :class=\"{\n 'i-text-button__disabled': disabled,\n }\"\n :style=\"{ color: textButtonColor }\"\n @mousedown=\"handleMousedown\"\n @mouseup=\"handleMouseup\"\n @click=\"handleClick\"\n >\n <!-- 图标 -->\n <div v-if=\"textButtonIcon || slots.icon\" class=\"i-text-button__icon\">\n <slot v-if=\"slots.icon\" name=\"icon\" />\n <i v-else class=\"iconfont\" :class=\"[textButtonIcon]\" />\n </div>\n <!-- 文本 -->\n <div class=\"i-text-button__label\">\n <slot name=\"default\" />\n </div>\n <!-- 下划线 -->\n <span class=\"i-text-button__line\" :style=\"{ backgroundColor: textButtonColor }\" />\n </div>\n</template>\n"],"names":["useSlots","shallowRef","ref","watchEffect","builtInIcon","darkenColor","getElementColor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAA,MAAM,QAAQA,YAAS,EAAA;AACvB,IAAA,MAAM,gBAAgBC,cAAW,EAAA;AAEjC,IAAM,MAAA,cAAA,GAAiBC,QAAI,EAAE,CAAA;AAC7B,IAAA,IAAI,oBAAuB,GAAA,EAAA;AAC3B,IAAM,MAAA,eAAA,GAAkBA,QAAI,EAAE,CAAA;AAE9B,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAA,IAAI,MAAM,IAAM,EAAA;AACd,QAAM,MAAA,eAAA,GAAkB,MAAO,CAAA,IAAA,CAAKC,sBAAW,CAAA;AAC/C,QAAA,IAAI,eAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,IAAI,CAAG,EAAA;AACxC,UAAA,cAAA,CAAe,KAAQ,GAAAA,sBAAA,CAAY,KAAM,CAAA,IAAuB,CAAE,CAAA,IAAA;AAClE,UAAA,eAAA,CAAgB,QACd,KAAM,CAAA,SAAA,IAAaA,uBAAY,KAAM,CAAA,IAAuB,EAAE,KAAS,IAAA,yBAAA;AAAA,SACpE,MAAA;AACL,UAAA,cAAA,CAAe,QAAQ,KAAM,CAAA,IAAA;AAC7B,UAAgB,eAAA,CAAA,KAAA,GAAQ,MAAM,SAAa,IAAA,yBAAA;AAAA;AAC7C,OACK,MAAA;AACL,QAAA,cAAA,CAAe,KAAQ,GAAA,EAAA;AACvB,QAAgB,eAAA,CAAA,KAAA,GAAQ,MAAM,SAAa,IAAA,yBAAA;AAAA;AAC7C,KACD,CAAA;AAED,IAAA,MAAM,kCAAwB,MAAA,CAAA,MAAA;AAC5B,MAAA,oBAAA,GAAuB,eAAgB,CAAA,KAAA;AACvC,MAAA,eAAA,CAAgB,QAAQC,sBAAY,CAAAC,0BAAA,CAAgB,aAAc,CAAA,KAAK,GAAG,GAAG,CAAA;AAAA,KAFvD,EAAA,iBAAA,CAAA;AAKxB,IAAA,MAAM,gCAAsB,MAAA,CAAA,MAAA;AAC1B,MAAA,eAAA,CAAgB,QAAQ,oBAAwB,IAAA,yBAAA;AAAA,KAD5B,EAAA,eAAA,CAAA;AAItB,IAAM,MAAA,WAAA,2BAAe,GAAoB,KAAA;AACvC,MAAA,IAAI,CAAC,KAAA,CAAM,QAAU,EAAA,KAAA,CAAM,SAAS,GAAG,CAAA;AAAA,KADrB,EAAA,aAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"text-button.vue2.js","sources":["../../../../../../../packages/components/text-button/src/text-button.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ref, shallowRef, useSlots, watchEffect } from 'vue';\n import {\n builtInIcon,\n type builtInIconType,\n darkenColor,\n getElementColor,\n textButtonEmits,\n textButtonProps,\n } from './text-button';\n\n defineOptions({\n name: 'ITextButton',\n });\n const props = defineProps(textButtonProps);\n const emits = defineEmits(textButtonEmits);\n const slots = useSlots();\n const textButtonRef = shallowRef();\n\n const textButtonIcon = ref('');\n let cacheTextButtonColor = '';\n const textButtonColor = ref('');\n\n watchEffect(() => {\n if (props.icon) {\n const builtInIconKeys = Object.keys(builtInIcon);\n if (builtInIconKeys.includes(props.icon)) {\n textButtonIcon.value = builtInIcon[props.icon as builtInIconType].icon;\n textButtonColor.value =\n props.textColor || builtInIcon[props.icon as builtInIconType].color || 'var(--el-color-primary)';\n } else {\n textButtonIcon.value = props.icon;\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n } else {\n textButtonIcon.value = '';\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n });\n\n const handleMousedown = () => {\n cacheTextButtonColor = textButtonColor.value;\n textButtonColor.value = darkenColor(getElementColor(textButtonRef.value), 0.2);\n };\n\n const handleMouseup = () => {\n textButtonColor.value = cacheTextButtonColor || 'var(--el-color-primary)';\n };\n\n const handleClick = (evt: MouseEvent) => {\n if (!props.disabled) emits('click', evt);\n };\n</script>\n\n<template>\n <div\n ref=\"textButtonRef\"\n class=\"i-text-button\"\n :class=\"{\n 'i-text-button__disabled': disabled,\n }\"\n :style=\"{ color: textButtonColor }\"\n @mousedown=\"handleMousedown\"\n @mouseup=\"handleMouseup\"\n @click=\"handleClick\"\n >\n <!-- 图标 -->\n <div v-if=\"textButtonIcon || slots.icon\" class=\"i-text-button__icon\">\n <slot v-if=\"slots.icon\" name=\"icon\" />\n <i v-else class=\"iconfont\" :class=\"[textButtonIcon]\" />\n </div>\n <!-- 文本 -->\n <div class=\"i-text-button__label\">\n <slot name=\"default\" />\n </div>\n <!-- 下划线 -->\n <span class=\"i-text-button__line\" :style=\"{ backgroundColor: textButtonColor }\" />\n </div>\n</template>\n"],"names":["useSlots","shallowRef","ref","watchEffect","builtInIcon","darkenColor","getElementColor","_createElementBlock","disabled","_createCommentVNode","_unref","_openBlock","_renderSlot","_normalizeClass","_createElementVNode"],"mappings":"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"}
@@ -20,6 +20,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
20
20
  }>> & Readonly<{}> & {}>;
21
21
  comp: import("vue").ShallowRef<any, any>;
22
22
  compRef: import("vue").ShallowRef<any, any>;
23
+ supportedProtocol: import("vue").Ref<boolean, boolean>;
24
+ initPlayer: () => void;
23
25
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
26
  url: {
25
27
  type: StringConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"easyPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch } from 'vue';\n import { uuid } from './tzj-player';\n\n defineOptions({\n name: 'EasyPlayer',\n });\n\n const props = defineProps<{\n url: string;\n }>();\n\n let player: any = null;\n const id = uuid();\n const playerRef = shallowRef<HTMLElement>();\n const playSuccess = ref(true);\n const playUrl = ref('');\n\n onMounted(() => {\n initPlayer(props.url || '');\n });\n\n watch(\n () => props.url,\n newUrl => {\n initPlayer(newUrl || '');\n },\n );\n\n onBeforeUnmount(() => {\n playUrl.value = '';\n destroy();\n });\n\n defineExpose({\n play,\n destroy,\n });\n\n async function initPlayer(url: string) {\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n\n if (window?.EasyPlayerPro) {\n createPlayer();\n } else {\n const timer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n createPlayer();\n clearInterval(timer);\n }\n }, 100);\n }\n }\n }\n\n // 移除播放器DOM\n function removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n\n // 创建播放器DOM\n function createPlayerDom() {\n removePlayerDom();\n const dom = document.createElement('div');\n dom.id = id;\n dom.style.width = '100%';\n dom.style.height = '100%';\n playerRef.value?.appendChild(dom);\n }\n\n async function createPlayer() {\n createPlayerDom();\n await nextTick();\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0.2, // 缓存时长\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n debug: false,\n operateBtns: {\n performance: false,\n },\n });\n\n // 加载超时\n player.on('timeout', () => {\n playSuccess.value = false;\n destroy();\n });\n // 播放异常\n player.on('error', () => {\n playSuccess.value = false;\n destroy();\n });\n play(props.url);\n }\n\n function destroy() {\n if (player) {\n player.destroy();\n player = null;\n }\n removePlayerDom();\n }\n\n function play(url?: string) {\n if (player && (url || props.url)) {\n playUrl.value = formatUrl(url || props.url);\n player.play(playUrl.value);\n } else {\n initPlayer(url || props.url);\n }\n }\n\n /**\n * 格式化url\n * 当url为相对路径时,添加baseUrl。baseUrl为当前页面的url\n * @param url\n * @example\n * formatUrl('/test.mp4') => 'http://192.168.111.206:8080/test.mp4'\n * formatUrl('http://192.168.111.206:8080/test.mp4') => 'http://192.168.111.206:8080/test.mp4'\n */\n function formatUrl(url: string) {\n if (url.startsWith('/')) {\n return `${window.location.origin}${url}`;\n }\n return url;\n }\n</script>\n\n<template>\n <div ref=\"playerRef\" class=\"i-tzj-player\">\n <div v-if=\"!playSuccess\" class=\"i-tzj-player__error\">无信号</div>\n <div v-if=\"!playUrl\" class=\"i-tzj-player__error\">无播放地址</div>\n </div>\n</template>\n"],"names":["uuid","shallowRef","ref","onMounted","watch","onBeforeUnmount","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"easyPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch } from 'vue';\n import { uuid } from './tzj-player';\n\n defineOptions({\n name: 'EasyPlayer',\n });\n\n const props = defineProps<{\n url: string;\n }>();\n\n let player: any = null;\n const id = uuid();\n const playerRef = shallowRef<HTMLElement>();\n const playSuccess = ref(true);\n const playUrl = ref('');\n\n onMounted(() => {\n initPlayer(props.url || '');\n });\n\n watch(\n () => props.url,\n newUrl => {\n initPlayer(newUrl || '');\n },\n );\n\n onBeforeUnmount(() => {\n playUrl.value = '';\n destroy();\n });\n\n defineExpose({\n play,\n destroy,\n });\n\n async function initPlayer(url: string) {\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n\n if (window?.EasyPlayerPro) {\n createPlayer();\n } else {\n const timer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n createPlayer();\n clearInterval(timer);\n }\n }, 100);\n }\n }\n }\n\n // 移除播放器DOM\n function removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n\n // 创建播放器DOM\n function createPlayerDom() {\n removePlayerDom();\n const dom = document.createElement('div');\n dom.id = id;\n dom.style.width = '100%';\n dom.style.height = '100%';\n playerRef.value?.appendChild(dom);\n }\n\n async function createPlayer() {\n createPlayerDom();\n await nextTick();\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0.2, // 缓存时长\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n debug: false,\n operateBtns: {\n performance: false,\n },\n });\n\n // 加载超时\n player.on('timeout', () => {\n playSuccess.value = false;\n destroy();\n });\n // 播放异常\n player.on('error', () => {\n playSuccess.value = false;\n destroy();\n });\n play(props.url);\n }\n\n function destroy() {\n if (player) {\n player.destroy();\n player = null;\n }\n removePlayerDom();\n }\n\n function play(url?: string) {\n if (player && (url || props.url)) {\n playUrl.value = formatUrl(url || props.url);\n player.play(playUrl.value);\n } else {\n initPlayer(url || props.url);\n }\n }\n\n /**\n * 格式化url\n * 当url为相对路径时,添加baseUrl。baseUrl为当前页面的url\n * @param url\n * @example\n * formatUrl('/test.mp4') => 'http://192.168.111.206:8080/test.mp4'\n * formatUrl('http://192.168.111.206:8080/test.mp4') => 'http://192.168.111.206:8080/test.mp4'\n */\n function formatUrl(url: string) {\n if (url.startsWith('/')) {\n return `${window.location.origin}${url}`;\n }\n return url;\n }\n</script>\n\n<template>\n <div ref=\"playerRef\" class=\"i-tzj-player\">\n <div v-if=\"!playSuccess\" class=\"i-tzj-player__error\">无信号</div>\n <div v-if=\"!playUrl\" class=\"i-tzj-player__error\">无播放地址</div>\n </div>\n</template>\n"],"names":["uuid","shallowRef","ref","onMounted","watch","onBeforeUnmount","nextTick","_createElementBlock"],"mappings":"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"}
@@ -11,5 +11,6 @@ export declare const TzjPlayerProps: {
11
11
  };
12
12
  };
13
13
  export declare function uuid(): string;
14
+ export declare function isSupportedProtocol(url: string): boolean;
14
15
  export type TzjPlayerPropsType = ExtractPropTypes<typeof TzjPlayerProps>;
15
16
  export type TzjPlayerInstance = InstanceType<typeof TzjPlayer>;
@@ -20,7 +20,19 @@ function uuid() {
20
20
  });
21
21
  }
22
22
  __name(uuid, "uuid");
23
+ function isSupportedProtocol(url) {
24
+ if (!url || typeof url !== "string") {
25
+ return false;
26
+ }
27
+ if (!url.includes("://")) {
28
+ return true;
29
+ }
30
+ const protocolRegex = /^(https?|wss?|ezopen):\/\/.+$/i;
31
+ return protocolRegex.test(url.trim());
32
+ }
33
+ __name(isSupportedProtocol, "isSupportedProtocol");
23
34
 
24
35
  exports.TzjPlayerProps = TzjPlayerProps;
36
+ exports.isSupportedProtocol = isSupportedProtocol;
25
37
  exports.uuid = uuid;
26
38
  //# sourceMappingURL=tzj-player.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tzj-player.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue';\nimport type TzjPlayer from './tzj-player.vue';\n\nexport const TzjPlayerProps = {\n url: {\n type: String,\n default: '',\n },\n accessToken: {\n type: String,\n default: '',\n },\n};\n\nexport function uuid(): string {\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport type TzjPlayerPropsType = ExtractPropTypes<typeof TzjPlayerProps>;\nexport type TzjPlayerInstance = InstanceType<typeof TzjPlayer>;\n"],"names":[],"mappings":";;;;AAGO,MAAM,cAAiB,GAAA;AAAA,EAC5B,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEb;AAEO,SAAS,IAAe,GAAA;AAC7B,EAAO,OAAA,kCAAA,CAAmC,OAAQ,CAAA,OAAA,EAAS,CAAK,CAAA,KAAA;AAC9D,IAAA,MAAM,CAAK,GAAA,IAAA,CAAK,MAAO,EAAA,GAAI,EAAM,GAAA,CAAA;AACjC,IAAA,MAAM,CAAI,GAAA,CAAA,KAAM,GAAM,GAAA,CAAA,GAAK,IAAI,CAAO,GAAA,CAAA;AACtC,IAAO,OAAA,CAAA,CAAE,SAAS,EAAE,CAAA;AAAA,GACrB,CAAA;AACH;AANgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"tzj-player.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue';\nimport type TzjPlayer from './tzj-player.vue';\n\nexport const TzjPlayerProps = {\n url: {\n type: String,\n default: '',\n },\n accessToken: {\n type: String,\n default: '',\n },\n};\n\nexport function uuid(): string {\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * 是否为支持的协议\n * 支持:http,https,ws,wss,ezopen(萤石云)\n * * 当URL不包含协议时(相对地址),也返回true\n */\nexport function isSupportedProtocol(url: string): boolean {\n if (!url || typeof url !== 'string') {\n return false;\n }\n\n // 如果URL不包含协议部分(相对地址),返回true\n if (!url.includes('://')) {\n return true;\n }\n\n const protocolRegex = /^(https?|wss?|ezopen):\\/\\/.+$/i;\n return protocolRegex.test(url.trim());\n}\n\nexport type TzjPlayerPropsType = ExtractPropTypes<typeof TzjPlayerProps>;\nexport type TzjPlayerInstance = InstanceType<typeof TzjPlayer>;\n"],"names":[],"mappings":";;;;AAGO,MAAM,cAAiB,GAAA;AAAA,EAC5B,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEb;AAEO,SAAS,IAAe,GAAA;AAC7B,EAAO,OAAA,kCAAA,CAAmC,OAAQ,CAAA,OAAA,EAAS,CAAK,CAAA,KAAA;AAC9D,IAAA,MAAM,CAAK,GAAA,IAAA,CAAK,MAAO,EAAA,GAAI,EAAM,GAAA,CAAA;AACjC,IAAA,MAAM,CAAI,GAAA,CAAA,KAAM,GAAM,GAAA,CAAA,GAAK,IAAI,CAAO,GAAA,CAAA;AACtC,IAAO,OAAA,CAAA,CAAE,SAAS,EAAE,CAAA;AAAA,GACrB,CAAA;AACH;AANgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAaT,SAAS,oBAAoB,GAAsB,EAAA;AACxD,EAAA,IAAI,CAAC,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAU,EAAA;AACnC,IAAO,OAAA,KAAA;AAAA;AAIT,EAAA,IAAI,CAAC,GAAA,CAAI,QAAS,CAAA,KAAK,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,MAAM,aAAgB,GAAA,gCAAA;AACtB,EAAA,OAAO,aAAc,CAAA,IAAA,CAAK,GAAI,CAAA,IAAA,EAAM,CAAA;AACtC;AAZgB,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;;;;;;"}
@@ -20,6 +20,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
20
20
  }>> & Readonly<{}> & {}>;
21
21
  comp: import("vue").ShallowRef<any, any>;
22
22
  compRef: import("vue").ShallowRef<any, any>;
23
+ supportedProtocol: import("vue").Ref<boolean, boolean>;
24
+ initPlayer: () => void;
23
25
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
26
  url: {
25
27
  type: StringConstructor;
@@ -9,7 +9,13 @@ require('./ysPlayer.vue.js');
9
9
  var ysPlayer_vue_vue_type_script_setup_true_lang = require('./ysPlayer.vue2.js');
10
10
  var easyPlayer_vue_vue_type_script_setup_true_lang = require('./easyPlayer.vue2.js');
11
11
 
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
14
  const _hoisted_1 = { class: "i-tzj-player" };
15
+ const _hoisted_2 = {
16
+ key: 0,
17
+ class: "i-tzj-player__error"
18
+ };
13
19
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
20
  ...{
15
21
  name: "ITzjPlayer"
@@ -20,15 +26,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
26
  const props = __props;
21
27
  const comp = vue.shallowRef();
22
28
  const compRef = vue.shallowRef();
23
- vue.onMounted(() => {
24
- comp.value = props.accessToken && props.accessToken.length > 32 ? ysPlayer_vue_vue_type_script_setup_true_lang.default : easyPlayer_vue_vue_type_script_setup_true_lang.default;
25
- });
29
+ const supportedProtocol = vue.ref(true);
30
+ vue.onMounted(() => initPlayer());
26
31
  vue.watch(
27
32
  () => [props.url, props.accessToken],
28
- () => {
33
+ () => initPlayer()
34
+ );
35
+ function initPlayer() {
36
+ supportedProtocol.value = tzjPlayer.isSupportedProtocol(props.url);
37
+ if (supportedProtocol.value) {
29
38
  comp.value = props.accessToken && props.accessToken.length > 32 ? ysPlayer_vue_vue_type_script_setup_true_lang.default : easyPlayer_vue_vue_type_script_setup_true_lang.default;
39
+ } else {
40
+ comp.value = null;
30
41
  }
31
- );
42
+ }
43
+ __name(initPlayer, "initPlayer");
32
44
  __expose({
33
45
  play(options) {
34
46
  var _a;
@@ -50,7 +62,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
50
62
  null,
51
63
  16
52
64
  /* FULL_PROPS */
53
- ))
65
+ )),
66
+ !supportedProtocol.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, "\u683C\u5F0F\u4E0D\u652F\u6301")) : vue.createCommentVNode("v-if", true)
54
67
  ]);
55
68
  };
56
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tzj-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { onMounted, shallowRef, watch } from 'vue';\n import EasyPlayer from './easyPlayer.vue';\n import { TzjPlayerProps } from './tzj-player';\n import YsPlayer from './ysPlayer.vue';\n\n defineOptions({\n name: 'ITzjPlayer',\n });\n\n const props = defineProps(TzjPlayerProps);\n\n const comp = shallowRef();\n const compRef = shallowRef();\n\n onMounted(() => {\n // 当访问令牌存在时,使用萤石云播放器(YsPlayer)\n comp.value = props.accessToken && props.accessToken.length > 32 ? YsPlayer : EasyPlayer;\n });\n\n watch(\n () => [props.url, props.accessToken],\n () => {\n comp.value = props.accessToken && props.accessToken.length > 32 ? YsPlayer : EasyPlayer;\n },\n );\n\n defineExpose({\n play(options?: any) {\n compRef.value?.play(options);\n },\n destroy() {\n compRef.value?.destroy();\n },\n });\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <component :is=\"comp\" ref=\"compRef\" v-bind=\"props\" />\n </div>\n</template>\n"],"names":["shallowRef","onMounted","YsPlayer","EasyPlayer","watch"],"mappings":";;;;;;;;;;;;;;;;;;;AAUE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,OAAOA,cAAW,EAAA;AACxB,IAAA,MAAM,UAAUA,cAAW,EAAA;AAE3B,IAAAC,aAAA,CAAU,MAAM;AAEd,MAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,WAAA,IAAe,MAAM,WAAY,CAAA,MAAA,GAAS,KAAKC,oDAAW,GAAAC,sDAAA;AAAA,KAC9E,CAAA;AAED,IAAAC,SAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,GAAA,EAAK,MAAM,WAAW,CAAA;AAAA,MACnC,MAAM;AACJ,QAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,WAAA,IAAe,MAAM,WAAY,CAAA,MAAA,GAAS,KAAKF,oDAAW,GAAAC,sDAAA;AAAA;AAC/E,KACF;AAEA,IAAa,QAAA,CAAA;AAAA,MACX,KAAK,OAAe,EAAA;;AAClB,QAAQ,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAR,mBAAe,IAAK,CAAA,OAAA,CAAA;AAAA,OACtB;AAAA,MACA,OAAU,GAAA;;AACR,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AAAA;AACjB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"tzj-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { onMounted, ref, shallowRef, watch } from 'vue';\n import EasyPlayer from './easyPlayer.vue';\n import { isSupportedProtocol, TzjPlayerProps } from './tzj-player';\n import YsPlayer from './ysPlayer.vue';\n\n defineOptions({\n name: 'ITzjPlayer',\n });\n\n const props = defineProps(TzjPlayerProps);\n\n const comp = shallowRef();\n const compRef = shallowRef();\n const supportedProtocol = ref(true);\n\n onMounted(() => initPlayer());\n\n watch(\n () => [props.url, props.accessToken],\n () => initPlayer(),\n );\n\n function initPlayer() {\n supportedProtocol.value = isSupportedProtocol(props.url);\n if (supportedProtocol.value) {\n // 当访问令牌存在时,使用萤石云播放器(YsPlayer)\n comp.value = props.accessToken && props.accessToken.length > 32 ? YsPlayer : EasyPlayer;\n } else {\n comp.value = null;\n }\n }\n\n defineExpose({\n play(options?: any) {\n compRef.value?.play(options);\n },\n destroy() {\n compRef.value?.destroy();\n },\n });\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <component :is=\"comp\" ref=\"compRef\" v-bind=\"props\" />\n <div v-if=\"!supportedProtocol\" class=\"i-tzj-player__error\">格式不支持</div>\n </div>\n</template>\n"],"names":["shallowRef","ref","onMounted","watch","isSupportedProtocol","YsPlayer","EasyPlayer","_openBlock","_createElementBlock","_createBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUE,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,OAAOA,cAAW,EAAA;AACxB,IAAA,MAAM,UAAUA,cAAW,EAAA;AAC3B,IAAM,MAAA,iBAAA,GAAoBC,QAAI,IAAI,CAAA;AAElC,IAAUC,aAAA,CAAA,MAAM,YAAY,CAAA;AAE5B,IAAAC,SAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,GAAA,EAAK,MAAM,WAAW,CAAA;AAAA,MACnC,MAAM,UAAW;AAAA,KACnB;AAEA,IAAA,SAAS,UAAa,GAAA;AACpB,MAAkB,iBAAA,CAAA,KAAA,GAAQC,6BAAoB,CAAA,KAAA,CAAM,GAAG,CAAA;AACvD,MAAA,IAAI,kBAAkB,KAAO,EAAA;AAE3B,QAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,WAAA,IAAe,MAAM,WAAY,CAAA,MAAA,GAAS,KAAKC,oDAAW,GAAAC,sDAAA;AAAA,OACxE,MAAA;AACL,QAAA,IAAA,CAAK,KAAQ,GAAA,IAAA;AAAA;AACf;AAPO,IAAA,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAUT,IAAa,QAAA,CAAA;AAAA,MACX,KAAK,OAAe,EAAA;;AAClB,QAAQ,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAR,mBAAe,IAAK,CAAA,OAAA,CAAA;AAAA,OACtB;AAAA,MACA,OAAU,GAAA;;AACR,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AAAA;AACjB,KACD,CAAA;;AAID,MAAA,OAAAC,aAAA,EAAA,EAAAC,sBAGM,CAAA,KAAA,EAHN,UAGM,EAAA;AAAA,wBAFJ,EAAAC,eAAA;AAAA,UAAqDC,2BAAA,CAArC,KAAI,KAAA,CAAA;AAAA,UAApBC,cAAqD,CAAA;AAAA,mBAA3B,EAAA,SAAA;AAAA,YAAJ,GAAI,EAAA;AAAA,aAAkB,KAAK,CAAA;AAAA,UAAA,IAAA;AAAA,UAAA;AAAA;AAAA,SAAA;AAAA,SACrC,iBAAA,CAAiB,wBAA7B,EAAAH,sBAAA,CAAsE,KAAtE,EAAA,UAAA,EAA2D,gCAAK,CAAA;;;;;;;;"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
  var core = require('@vueuse/core');
7
- var EZUIKit = require('ezuikit-js');
8
7
  var tzjPlayer = require('./tzj-player.js');
9
8
 
10
9
  var __defProp = Object.defineProperty;
@@ -97,7 +96,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
97
96
  }
98
97
  __name(resize, "resize");
99
98
  function createPlayer(options) {
100
- playerInstance = new EZUIKit.EZUIKitPlayer({
99
+ playerInstance = new window.EZUIKit.EZUIKitPlayer({
101
100
  id,
102
101
  url: formatterUrl(),
103
102
  accessToken: props.accessToken,
@@ -1 +1 @@
1
- {"version":3,"file":"ysPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useElementSize } from '@vueuse/core';\n import EZUIKit from 'ezuikit-js';\n import { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from 'vue';\n import { uuid } from './tzj-player';\n // 萤石云播放器\n defineOptions({\n name: 'YsPlayer',\n });\n\n // 传值方式\n // 1、传url、accessToken\n // 2、传deviceSerial、channel、accessToken\n const props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: 'hd' | 'sd' | '';\n accessToken: string;\n // 播放器模板ID\n playerTemplate?: string;\n }>();\n\n // 播放器模板ID\n // 可在萤石云控制台查看、修改、获取\n // 位置:云直播-轻应用-特致珈默认模板\n const PLAYER_TEMPLATE = '5f295a9341a74d439b5d69374c90d501';\n const id = uuid();\n let playerInstance: any = null;\n let errorMsg = '';\n const ysRef = shallowRef();\n const { width, height } = useElementSize(ysRef);\n let ratio = 16 / 9;\n let isCurrentFullscreen = false;\n\n onMounted(() => play());\n\n onBeforeUnmount(() => destroy());\n\n defineExpose({ play, destroy, resize });\n\n // 防抖函数\n function debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n }\n\n // 加上防抖的 resize 函数\n const debouncedResize = debounce(resize, 300);\n\n watch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n );\n\n function play(options?: Record<string, any>) {\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n nextTick(() => createPlayer(options));\n }\n }\n }\n function destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n }\n function resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n }\n\n /**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\n function createPlayer(options?: Record<string, any>) {\n playerInstance = new EZUIKit.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: 'YSPLAYER',\n level: 'ERROR',\n showTime: true,\n },\n staticPath: '/plugins/ezuikit/ezuikit_static',\n ...options,\n });\n\n playerInstance.eventEmitter.on('fullscreen', () => {\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on('exitFullscreen', () => {\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on('videoInfo', (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n });\n }\n\n function formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality = props.quality === '' || props.quality === 'hd' ? 'hd.' : '';\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return '';\n }\n }\n }\n\n // 移除播放器DOM\n function removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n // 创建播放器DOM\n function createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n const dom = document.createElement('div');\n dom.id = id;\n dom.style.width = '100%';\n dom.style.height = '100%';\n ysRef.value?.appendChild(dom);\n }\n }\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-tzj-player\">\n <div v-if=\"errorMsg\" class=\"i-tzj-player__error\">\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["uuid","shallowRef","useElementSize","onMounted","onBeforeUnmount","watch","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"ysPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useElementSize } from \"@vueuse/core\";\nimport { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from \"vue\";\nimport { uuid } from \"./tzj-player\";\n// 萤石云播放器\ndefineOptions({\n name: \"YsPlayer\",\n});\n\n// 传值方式\n// 1、传url、accessToken\n// 2、传deviceSerial、channel、accessToken\nconst props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: \"hd\" | \"sd\" | \"\";\n accessToken: string;\n // 播放器模板ID\n playerTemplate?: string;\n}>();\n\n// 播放器模板ID\n// 可在萤石云控制台查看、修改、获取\n// 位置:云直播-轻应用-特致珈默认模板\nconst PLAYER_TEMPLATE = \"5f295a9341a74d439b5d69374c90d501\";\nconst id = uuid();\nlet playerInstance: any = null;\nlet errorMsg = \"\";\nconst ysRef = shallowRef();\nconst { width, height } = useElementSize(ysRef);\nlet ratio = 16 / 9;\nlet isCurrentFullscreen = false;\n\nonMounted(() => play());\n\nonBeforeUnmount(() => destroy());\n\ndefineExpose({ play, destroy, resize });\n\n// 防抖函数\nfunction debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\n// 加上防抖的 resize 函数\nconst debouncedResize = debounce(resize, 300);\n\nwatch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n);\n\nfunction play(options?: Record<string, any>) {\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n nextTick(() => createPlayer(options));\n }\n }\n}\nfunction destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n}\nfunction resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n}\n\n/**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\nfunction createPlayer(options?: Record<string, any>) {\n playerInstance = new window.EZUIKit.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: \"YSPLAYER\",\n level: \"ERROR\",\n showTime: true,\n },\n staticPath: \"/plugins/ezuikit/ezuikit_static\",\n ...options,\n });\n\n playerInstance.eventEmitter.on(\"fullscreen\", () => {\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on(\"exitFullscreen\", () => {\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on(\"videoInfo\", (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n });\n}\n\nfunction formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality =\n props.quality === \"\" || props.quality === \"hd\" ? \"hd.\" : \"\";\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return \"\";\n }\n }\n}\n\n// 移除播放器DOM\nfunction removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n}\n// 创建播放器DOM\nfunction createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n const dom = document.createElement(\"div\");\n dom.id = id;\n dom.style.width = \"100%\";\n dom.style.height = \"100%\";\n ysRef.value?.appendChild(dom);\n }\n}\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-tzj-player\">\n <div v-if=\"errorMsg\" class=\"i-tzj-player__error\">\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["uuid","shallowRef","useElementSize","onMounted","onBeforeUnmount","watch","nextTick","_createElementBlock","_unref","_toDisplayString"],"mappings":"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"}