@yimou6/common-ui 1.12.13 → 1.12.15

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 (48) hide show
  1. package/cdn/index.cdn.js +13 -13
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +13 -13
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/radio/index.d.ts +63 -38
  7. package/es/components/radio/src/radio.d.ts +25 -10
  8. package/es/components/radio/src/radio.mjs +26 -5
  9. package/es/components/radio/src/radio.mjs.map +1 -1
  10. package/es/components/radio/src/radio.vue.d.ts +63 -38
  11. package/es/components/radio/src/radio.vue2.mjs +4 -5
  12. package/es/components/radio/src/radio.vue2.mjs.map +1 -1
  13. package/es/components/search/src/search.vue.d.ts +1 -1
  14. package/es/components/search/src/search.vue2.mjs.map +1 -1
  15. package/es/components/tzj-player/src/ctyun-player.vue2.mjs +2 -3
  16. package/es/components/tzj-player/src/ctyun-player.vue2.mjs.map +1 -1
  17. package/es/components/tzj-player/src/easyPlayer.vue2.mjs +2 -4
  18. package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
  19. package/es/components/tzj-player/src/tzj-player.vue2.mjs +9 -16
  20. package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
  21. package/es/components/tzj-player/src/ysPlayer.vue2.mjs +1 -2
  22. package/es/components/tzj-player/src/ysPlayer.vue2.mjs.map +1 -1
  23. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +1 -2
  24. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
  25. package/es/element-plus.types.d.ts +9 -0
  26. package/lib/components/radio/index.d.ts +63 -38
  27. package/lib/components/radio/src/radio.d.ts +25 -10
  28. package/lib/components/radio/src/radio.js +26 -4
  29. package/lib/components/radio/src/radio.js.map +1 -1
  30. package/lib/components/radio/src/radio.vue.d.ts +63 -38
  31. package/lib/components/radio/src/radio.vue2.js +3 -4
  32. package/lib/components/radio/src/radio.vue2.js.map +1 -1
  33. package/lib/components/search/src/search.vue.d.ts +1 -1
  34. package/lib/components/search/src/search.vue2.js.map +1 -1
  35. package/lib/components/tzj-player/src/ctyun-player.vue2.js +2 -3
  36. package/lib/components/tzj-player/src/ctyun-player.vue2.js.map +1 -1
  37. package/lib/components/tzj-player/src/easyPlayer.vue2.js +2 -4
  38. package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
  39. package/lib/components/tzj-player/src/tzj-player.vue2.js +9 -16
  40. package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
  41. package/lib/components/tzj-player/src/ysPlayer.vue2.js +1 -2
  42. package/lib/components/tzj-player/src/ysPlayer.vue2.js.map +1 -1
  43. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +1 -2
  44. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
  45. package/lib/element-plus.types.d.ts +9 -0
  46. package/package.json +1 -1
  47. package/theme-default/i-tzj-player.css +1 -1
  48. package/theme-default/index.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"radio.mjs","sources":["../../../../../../../packages/components/radio/src/radio.ts"],"sourcesContent":["import type { ExtractPropTypes, ExtractPublicPropTypes, PropType } from 'vue';\nimport type Radio from './radio.vue';\n\nexport const RadioProps = {\n modelValue: [String, Number, Boolean],\n size: {\n type: String as PropType<'large' | 'default' | 'small' | ''>,\n default: '',\n },\n disabled: Boolean,\n textColor: {\n type: String,\n default: '',\n },\n fill: String,\n validateEvent: Boolean,\n type: {\n type: String as PropType<'button' | ''>,\n default: '',\n },\n data: {\n type: [String, Array],\n default: () => [],\n },\n dataCallback: {\n type: Function,\n },\n optLabel: {\n type: String,\n default: 'label',\n },\n optValue: {\n type: String,\n default: 'value',\n },\n};\n\nexport const excludeRadioKeys = ['type', 'data', 'dataCallback', 'optLabel', 'optValue', 'modelValue'];\n\nexport type RadioPropsType = ExtractPropTypes<typeof RadioProps>;\nexport type RadioPublicPropsType = ExtractPublicPropTypes<typeof RadioProps>;\nexport type RadioInstance = InstanceType<typeof Radio>;\n"],"names":[],"mappings":";;AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,UAAY,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,OAAO,CAAA;AAAA,EACpC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA,OAAA;AAAA,EACV,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA,MAAA;AAAA,EACN,aAAe,EAAA,OAAA;AAAA,EACf,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA;AAAA,IACpB,OAAA,kBAAe,MAAA,CAAA,MAAA,EAAN,EAAA,SAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA;AAAA,GACR;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEb;AAEO,MAAM,mBAAmB,CAAC,MAAA,EAAQ,QAAQ,cAAgB,EAAA,UAAA,EAAY,YAAY,YAAY;;;;"}
1
+ {"version":3,"file":"radio.mjs","sources":["../../../../../../../packages/components/radio/src/radio.ts"],"sourcesContent":["import type { ExtractPropTypes, ExtractPublicPropTypes, PropType } from \"vue\";\nimport type { ElRadioGroupProps } from \"../../../element-plus.types\";\nimport type Radio from \"./radio.vue\";\n\nexport const RadioProps = {\n modelValue: {\n type: [String, Number, Boolean] as PropType<\n ElRadioGroupProps[\"modelValue\"]\n >,\n },\n size: {\n type: String as PropType<ElRadioGroupProps[\"size\"]>,\n default: \"\",\n },\n disabled: Boolean as PropType<ElRadioGroupProps[\"disabled\"]>,\n textColor: {\n type: String as PropType<ElRadioGroupProps[\"textColor\"]>,\n default: \"\",\n },\n fill: {\n type: String as PropType<ElRadioGroupProps[\"fill\"]>,\n },\n validateEvent: {\n type: Boolean as PropType<ElRadioGroupProps[\"validateEvent\"]>,\n },\n type: {\n type: String as PropType<\"button\" | \"\">,\n default: \"\",\n },\n data: {\n type: [String, Array] as PropType<string | Record<string, any>[]>,\n default: () => [],\n },\n dataCallback: {\n type: Function as PropType<(list: Record<string, any>[]) => any[]>,\n },\n optLabel: {\n type: String,\n default: \"label\",\n },\n optValue: {\n type: String,\n default: \"value\",\n },\n onChange: {\n type: Function as PropType<\n (value: string | number | boolean | undefined) => void\n >,\n },\n};\n\nexport const RadioEmits = {\n \"update:modelValue\": (_value: string | number | boolean | undefined) => true,\n change: (_value: string | number | boolean | undefined) => true,\n};\n\nexport const excludeRadioKeys = [\n \"type\",\n \"data\",\n \"dataCallback\",\n \"optLabel\",\n \"optValue\",\n \"modelValue\",\n \"onChange\",\n];\n\nexport type RadioPropsType = ExtractPropTypes<typeof RadioProps>;\nexport type RadioPublicPropsType = ExtractPublicPropTypes<typeof RadioProps>;\nexport type RadioInstance = InstanceType<typeof Radio>;\nexport type RadioEmitsType = typeof RadioEmits;\n"],"names":[],"mappings":";;AAIO,MAAM,UAAa,GAAA;AAAA,EACxB,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,OAAO;AAAA,GAGhC;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA,OAAA;AAAA,EACV,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA;AAAA,GACR;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,KAAK,CAAA;AAAA,IACpB,OAAA,kBAAe,MAAA,CAAA,MAAA,EAAN,EAAA,SAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA;AAAA,GACR;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA;AAIV;AAEO,MAAM,UAAa,GAAA;AAAA,EACxB,mBAAA,kBAAsB,MAAA,CAAA,CAAA,MAAA,KAAkD,IAAnD,EAAA,mBAAA,CAAA;AAAA,EACrB,MAAA,kBAAS,MAAA,CAAA,CAAA,MAAA,KAAkD,IAAnD,EAAA,QAAA;AACV;AAEO,MAAM,gBAAmB,GAAA;AAAA,EAC9B,MAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF;;;;"}
@@ -1,26 +1,32 @@
1
1
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
- modelValue: (BooleanConstructor | StringConstructor | NumberConstructor)[];
2
+ modelValue: {
3
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["modelValue"]>;
4
+ };
3
5
  size: {
4
- type: import("vue").PropType<"large" | "default" | "small" | "">;
6
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["size"]>;
5
7
  default: string;
6
8
  };
7
- disabled: BooleanConstructor;
9
+ disabled: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["disabled"]>;
8
10
  textColor: {
9
- type: StringConstructor;
11
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["textColor"]>;
10
12
  default: string;
11
13
  };
12
- fill: StringConstructor;
13
- validateEvent: BooleanConstructor;
14
+ fill: {
15
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["fill"]>;
16
+ };
17
+ validateEvent: {
18
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["validateEvent"]>;
19
+ };
14
20
  type: {
15
21
  type: import("vue").PropType<"button" | "">;
16
22
  default: string;
17
23
  };
18
24
  data: {
19
- type: (StringConstructor | ArrayConstructor)[];
25
+ type: import("vue").PropType<string | Record<string, any>[]>;
20
26
  default: () => never[];
21
27
  };
22
28
  dataCallback: {
23
- type: FunctionConstructor;
29
+ type: import("vue").PropType<(list: Record<string, any>[]) => any[]>;
24
30
  };
25
31
  optLabel: {
26
32
  type: StringConstructor;
@@ -30,30 +36,39 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
30
36
  type: StringConstructor;
31
37
  default: string;
32
38
  };
39
+ onChange: {
40
+ type: import("vue").PropType<(value: string | number | boolean | undefined) => void>;
41
+ };
33
42
  }>, {
34
43
  props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
35
- modelValue: (BooleanConstructor | StringConstructor | NumberConstructor)[];
44
+ modelValue: {
45
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["modelValue"]>;
46
+ };
36
47
  size: {
37
- type: import("vue").PropType<"large" | "default" | "small" | "">;
48
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["size"]>;
38
49
  default: string;
39
50
  };
40
- disabled: BooleanConstructor;
51
+ disabled: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["disabled"]>;
41
52
  textColor: {
42
- type: StringConstructor;
53
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["textColor"]>;
43
54
  default: string;
44
55
  };
45
- fill: StringConstructor;
46
- validateEvent: BooleanConstructor;
56
+ fill: {
57
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["fill"]>;
58
+ };
59
+ validateEvent: {
60
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["validateEvent"]>;
61
+ };
47
62
  type: {
48
63
  type: import("vue").PropType<"button" | "">;
49
64
  default: string;
50
65
  };
51
66
  data: {
52
- type: (StringConstructor | ArrayConstructor)[];
67
+ type: import("vue").PropType<string | Record<string, any>[]>;
53
68
  default: () => never[];
54
69
  };
55
70
  dataCallback: {
56
- type: FunctionConstructor;
71
+ type: import("vue").PropType<(list: Record<string, any>[]) => any[]>;
57
72
  };
58
73
  optLabel: {
59
74
  type: StringConstructor;
@@ -63,21 +78,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
63
78
  type: StringConstructor;
64
79
  default: string;
65
80
  };
81
+ onChange: {
82
+ type: import("vue").PropType<(value: string | number | boolean | undefined) => void>;
83
+ };
66
84
  }>> & Readonly<{
67
- "onUpdate:modelValue"?: ((value: any) => any) | undefined;
68
- onChange?: ((value: any) => any) | undefined;
85
+ "onUpdate:modelValue"?: ((_value: string | number | boolean | undefined) => any) | undefined;
86
+ onChange?: ((_value: string | number | boolean | undefined) => any) | undefined;
69
87
  }> & {}>;
70
- emit: ((event: "update:modelValue", value: any) => void) & ((event: "change", value: any) => void);
88
+ emit: ((event: "update:modelValue", _value: string | number | boolean | undefined) => void) & ((event: "change", _value: string | number | boolean | undefined) => void);
71
89
  dictStore: {
72
90
  dict: import("vue").Ref<Record<string, any>>;
73
91
  getDict: (dictType: string) => Promise<any[]>;
74
92
  } | undefined;
75
93
  bindAttrs: import("vue").ComputedRef<any>;
76
- radioOptions: import("vue").Ref<any[], any[]>;
94
+ radioOptions: import("vue").Ref<Record<string, any>[], Record<string, any>[]>;
77
95
  setOptions: () => Promise<void>;
78
96
  getList: () => Promise<any[]>;
79
97
  value: import("vue").Ref<string, string>;
80
- handleChange: (val: any) => void;
98
+ handleChange: (val: string | number | boolean | undefined) => void;
81
99
  readonly ElRadio: import("element-plus/es/utils").SFCWithInstall<{
82
100
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
83
101
  readonly border: BooleanConstructor;
@@ -516,31 +534,37 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
516
534
  };
517
535
  })>;
518
536
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
519
- 'update:modelValue': (value: any) => any;
520
- change: (value: any) => any;
537
+ "update:modelValue": (_value: string | number | boolean | undefined) => boolean;
538
+ change: (_value: string | number | boolean | undefined) => boolean;
521
539
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
522
- modelValue: (BooleanConstructor | StringConstructor | NumberConstructor)[];
540
+ modelValue: {
541
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["modelValue"]>;
542
+ };
523
543
  size: {
524
- type: import("vue").PropType<"large" | "default" | "small" | "">;
544
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["size"]>;
525
545
  default: string;
526
546
  };
527
- disabled: BooleanConstructor;
547
+ disabled: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["disabled"]>;
528
548
  textColor: {
529
- type: StringConstructor;
549
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["textColor"]>;
530
550
  default: string;
531
551
  };
532
- fill: StringConstructor;
533
- validateEvent: BooleanConstructor;
552
+ fill: {
553
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["fill"]>;
554
+ };
555
+ validateEvent: {
556
+ type: import("vue").PropType<import("../../../element-plus.types").ElRadioGroupProps["validateEvent"]>;
557
+ };
534
558
  type: {
535
559
  type: import("vue").PropType<"button" | "">;
536
560
  default: string;
537
561
  };
538
562
  data: {
539
- type: (StringConstructor | ArrayConstructor)[];
563
+ type: import("vue").PropType<string | Record<string, any>[]>;
540
564
  default: () => never[];
541
565
  };
542
566
  dataCallback: {
543
- type: FunctionConstructor;
567
+ type: import("vue").PropType<(list: Record<string, any>[]) => any[]>;
544
568
  };
545
569
  optLabel: {
546
570
  type: StringConstructor;
@@ -550,17 +574,18 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
550
574
  type: StringConstructor;
551
575
  default: string;
552
576
  };
577
+ onChange: {
578
+ type: import("vue").PropType<(value: string | number | boolean | undefined) => void>;
579
+ };
553
580
  }>> & Readonly<{
554
- "onUpdate:modelValue"?: ((value: any) => any) | undefined;
555
- onChange?: ((value: any) => any) | undefined;
581
+ "onUpdate:modelValue"?: ((_value: string | number | boolean | undefined) => any) | undefined;
582
+ onChange?: ((_value: string | number | boolean | undefined) => any) | undefined;
556
583
  }>, {
557
- size: "" | "small" | "large" | "default";
584
+ size: "" | "small" | "large" | "default" | undefined;
558
585
  type: "" | "button";
559
- data: string | unknown[];
586
+ data: string | Record<string, any>[];
560
587
  optLabel: string;
561
588
  optValue: string;
562
- disabled: boolean;
563
- textColor: string;
564
- validateEvent: boolean;
589
+ textColor: string | undefined;
565
590
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
566
591
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, inject, computed, ref, onMounted, watch, openBlock, createBlock, unref, mergeProps, withCtx, createElementBlock, Fragment, renderList, createTextVNode, toDisplayString } from 'vue';
2
2
  import { ElRadioGroup, ElRadioButton, ElRadio } from 'element-plus';
3
3
  import '../../../utils/index.mjs';
4
- import { RadioProps, excludeRadioKeys } from './radio.mjs';
4
+ import { RadioProps, RadioEmits, excludeRadioKeys } from './radio.mjs';
5
5
  import { DICT_STORE } from '../../../utils/provide.mjs';
6
6
  import { excludeObjectKeys } from '../../../utils/util.mjs';
7
7
 
@@ -13,10 +13,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  },
14
14
  __name: "radio",
15
15
  props: RadioProps,
16
- emits: {
17
- "update:modelValue": /* @__PURE__ */ __name((value) => value, "update:modelValue"),
18
- change: /* @__PURE__ */ __name((value) => value, "change")
19
- },
16
+ emits: RadioEmits,
20
17
  setup(__props, { emit: __emit }) {
21
18
  const props = __props;
22
19
  const emit = __emit;
@@ -51,6 +48,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
51
48
  { deep: true, immediate: true }
52
49
  );
53
50
  const handleChange = /* @__PURE__ */ __name((val) => {
51
+ var _a;
52
+ (_a = props.onChange) == null ? void 0 : _a.call(props, val);
54
53
  emit("change", val);
55
54
  emit("update:modelValue", val);
56
55
  }, "handleChange");
@@ -1 +1 @@
1
- {"version":3,"file":"radio.vue2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElRadio, ElRadioButton, ElRadioGroup } from 'element-plus';\n import { computed, inject, onMounted, ref, watch } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { excludeRadioKeys, RadioProps } from './radio';\n\n defineOptions({\n name: 'IRadio',\n });\n const props = defineProps(RadioProps);\n const emit = defineEmits({\n 'update:modelValue': (value: any) => value,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n const bindAttrs = computed(() => excludeObjectKeys(props, excludeRadioKeys));\n\n const radioOptions = ref<any[]>([]);\n onMounted(() => setOptions());\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true },\n );\n async function setOptions() {\n const list = await getList();\n radioOptions.value = props.dataCallback ? props.dataCallback(list) : list;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n }\n if (dictStore) {\n return await dictStore.getDict(props.data);\n }\n return [];\n }\n\n const value = ref('');\n watch(\n () => props.modelValue,\n (val: any) => (value.value = val),\n { deep: true, immediate: true },\n );\n const handleChange = (val: any) => {\n emit('change', val);\n emit('update:modelValue', val);\n };\n</script>\n\n<template>\n <ElRadioGroup v-model=\"value\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-if=\"type === 'button'\">\n <ElRadioButton\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadioButton>\n </template>\n <template v-else>\n <ElRadio v-for=\"item of radioOptions\" :key=\"item[optValue]\" :label=\"item[optValue]\" :disabled=\"item.disabled\">\n {{ item[optLabel] }}\n </ElRadio>\n </template>\n </ElRadioGroup>\n</template>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","type","_createElementBlock","_Fragment","_renderList","optValue","_createTextVNode","_toDisplayString","optLabel"],"mappings":"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"}
1
+ {"version":3,"file":"radio.vue2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ElRadio, ElRadioButton, ElRadioGroup } from \"element-plus\";\nimport { computed, inject, onMounted, ref, watch } from \"vue\";\nimport { DICT_STORE, excludeObjectKeys } from \"../../../utils\";\nimport { excludeRadioKeys, RadioEmits, RadioProps } from \"./radio\";\n\ndefineOptions({\n name: \"IRadio\",\n});\nconst props = defineProps(RadioProps);\nconst emit = defineEmits(RadioEmits);\nconst dictStore = inject(DICT_STORE);\nconst bindAttrs = computed(() => excludeObjectKeys(props, excludeRadioKeys));\n\nconst radioOptions = ref<Record<string, any>[]>([]);\nonMounted(() => setOptions());\nwatch(\n () => props.data,\n () => setOptions(),\n { deep: true },\n);\nasync function setOptions() {\n const list = await getList();\n radioOptions.value = props.dataCallback ? props.dataCallback(list) : list;\n}\n\nasync function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n }\n if (dictStore) {\n return await dictStore.getDict(props.data);\n }\n return [];\n}\n\nconst value = ref(\"\");\nwatch(\n () => props.modelValue,\n (val: any) => (value.value = val),\n { deep: true, immediate: true },\n);\nconst handleChange = (val: string | number | boolean | undefined) => {\n props.onChange?.(val);\n emit(\"change\", val);\n emit(\"update:modelValue\", val);\n};\n</script>\n\n<template>\n <ElRadioGroup v-model=\"value\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-if=\"type === 'button'\">\n <ElRadioButton\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadioButton>\n </template>\n <template v-else>\n <ElRadio\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadio>\n </template>\n </ElRadioGroup>\n</template>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","type","_createElementBlock","_Fragment","_renderList","optValue","_createTextVNode","_toDisplayString","optLabel"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { excludeObjectKeys } from '../../../utils';
1
+ import { excludeObjectKeys } from "../../../utils";
2
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  inline: {
4
4
  type: BooleanConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"search.vue2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElButton } from 'element-plus';\n import { ref, watchEffect } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import IForm from '../../form/src/form.vue';\n import { excludeSearchPropsKeys, SearchEmits, SearchProps } from './search';\n\n defineOptions({\n name: 'ISearch',\n });\n const props = defineProps(SearchProps);\n const emit = defineEmits(SearchEmits);\n\n const bindAttrs = ref<any>();\n watchEffect(() => {\n const attrs = excludeObjectKeys(props, excludeSearchPropsKeys);\n if (!attrs.fileds) {\n attrs.fileds = [];\n }\n if (!attrs.fields.some((item: any) => item.prop === 'searchBtn')) {\n attrs.fields.push({\n prop: 'searchBtn',\n comp: 'slot',\n });\n }\n bindAttrs.value = attrs;\n });\n\n const formRef = ref();\n defineExpose({\n getRef() {\n return formRef.value?.getRef();\n },\n });\n\n const handleChange = (key: string, value: any, ref: any, comp: string) => {\n emit('change', key, value, ref, comp);\n if (comp === 'el-input') {\n // el-input change 调用查询事件\n // 即在输入框值变化和按下回车时,触发查询事件。\n // emit('search', props.model);\n }\n };\n</script>\n\n<template>\n <div class=\"i-search\">\n <IForm ref=\"formRef\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-for=\"(item, key) in $slots\" :key=\"key\" #[key]>\n <slot v-if=\"key !== 'searchBtn' && key !== 'btn'\" :name=\"key\" v-bind=\"item\" />\n </template>\n <template #searchBtn>\n <div class=\"i-search__opera\">\n <template v-if=\"showDefaultBtn\">\n <ElButton type=\"primary\" :loading=\"loading\" @click=\"emit('search', model)\">{{ searchBtnText }}</ElButton>\n <ElButton :loading=\"loading\" @click=\"emit('reset')\">{{ resetBtnText }}</ElButton>\n </template>\n <template v-if=\"$slots.btn\">\n <slot name=\"btn\" />\n </template>\n </div>\n </template>\n </IForm>\n </div>\n</template>\n"],"names":["ref","_openBlock","_createElementBlock","_createVNode","IForm","_mergeProps","_createSlots","_createElementVNode","showDefaultBtn","_Fragment","_unref","loading","model","searchBtnText","resetBtnText","$slots","_renderSlot","_normalizeProps"],"mappings":"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"}
1
+ {"version":3,"file":"search.vue2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ElButton } from \"element-plus\";\nimport { ref, watchEffect } from \"vue\";\nimport { excludeObjectKeys } from \"../../../utils\";\nimport IForm from \"../../form/src/form.vue\";\nimport { excludeSearchPropsKeys, SearchEmits, SearchProps } from \"./search\";\n\ndefineOptions({\n name: \"ISearch\",\n});\nconst props = defineProps(SearchProps);\nconst emit = defineEmits(SearchEmits);\n\nconst bindAttrs = ref<any>();\nwatchEffect(() => {\n const attrs = excludeObjectKeys(props, excludeSearchPropsKeys);\n if (!attrs.fileds) {\n attrs.fileds = [];\n }\n if (!attrs.fields.some((item: any) => item.prop === \"searchBtn\")) {\n attrs.fields.push({\n prop: \"searchBtn\",\n comp: \"slot\",\n });\n }\n bindAttrs.value = attrs;\n});\n\nconst formRef = ref();\ndefineExpose({\n getRef() {\n return formRef.value?.getRef();\n },\n});\n\nconst handleChange = (key: string, value: any, ref: any, comp: string) => {\n emit(\"change\", key, value, ref, comp);\n if (comp === \"el-input\") {\n // el-input change 调用查询事件\n // 即在输入框值变化和按下回车时,触发查询事件。\n // emit('search', props.model);\n }\n};\n</script>\n\n<template>\n <div class=\"i-search\">\n <IForm ref=\"formRef\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-for=\"(item, key) in $slots\" :key=\"key\" #[key]>\n <slot\n v-if=\"key !== 'searchBtn' && key !== 'btn'\"\n :name=\"key\"\n v-bind=\"item\"\n />\n </template>\n <template #searchBtn>\n <div class=\"i-search__opera\">\n <template v-if=\"showDefaultBtn\">\n <ElButton\n type=\"primary\"\n :loading=\"loading\"\n @click=\"emit('search', model)\"\n >\n {{ searchBtnText }}\n </ElButton>\n <ElButton :loading=\"loading\" @click=\"emit('reset')\">\n {{ resetBtnText }}\n </ElButton>\n </template>\n <template v-if=\"$slots.btn\">\n <slot name=\"btn\" />\n </template>\n </div>\n </template>\n </IForm>\n </div>\n</template>\n"],"names":["ref","_openBlock","_createElementBlock","_createVNode","IForm","_mergeProps","_createSlots","_createElementVNode","showDefaultBtn","_Fragment","_unref","loading","model","searchBtnText","resetBtnText","$slots","_renderSlot","_normalizeProps"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, ref, shallowRef, onMounted, openBlock, createElementBlock, Fragment, createBlock, withCtx, createCommentVNode, createElementVNode, normalizeClass, toDisplayString } from 'vue';
2
2
  import { GetCtyunDeviceVideoUrl, ctyunRequest } from './ctyun-player.mjs';
3
3
  import './easyPlayer.vue.mjs';
4
- import { TzjPlayerProps } from './tzj-player.mjs';
5
4
  import './errorPage.vue.mjs';
5
+ import { TzjPlayerProps } from './tzj-player.mjs';
6
6
  import _sfc_main$1 from './errorPage.vue2.mjs';
7
7
  import _sfc_main$2 from './easyPlayer.vue2.mjs';
8
8
 
@@ -412,9 +412,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
412
412
  [
413
413
  errorMsg.value ? (openBlock(), createBlock(_sfc_main$1, {
414
414
  key: 0,
415
- videoName: _ctx.areaName || _ctx.deviceSerial,
416
415
  message: errorMsg.value
417
- }, null, 8, ["videoName", "message"])) : videoUrl.value ? (openBlock(), createBlock(_sfc_main$2, {
416
+ }, null, 8, ["message"])) : videoUrl.value ? (openBlock(), createBlock(_sfc_main$2, {
418
417
  key: 1,
419
418
  ref_key: "playerRef",
420
419
  ref: playerRef,
@@ -1 +1 @@
1
- {"version":3,"file":"ctyun-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/ctyun-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { ctyunRequest, GetCtyunDeviceVideoUrl } from \"./ctyun-player\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\nimport ErrorPage from \"./errorPage.vue\";\n\n// 天翼云播放器\ndefineOptions({\n name: \"CtyunPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst showBottomBar = ref(false);\nconst errorMsg = ref(\"\");\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isVoice = ref(false); // 是否开启语音对讲\nconst isFullscreen = ref(false);\nconst isVolumeMuted = ref(true);\n\n// 音频对讲相关状态\nconst isIntercomActive = ref<boolean>(false);\nconst audioContext = ref<AudioContext | null>(null);\nconst mediaStream = ref<MediaStream | null>(null);\nconst websocket = ref<WebSocket | null>(null);\nconst audioWorkletNode = ref<AudioWorkletNode | null>(null);\nconst intercomTimer = ref<any>(null); // 语音对讲定时器\nconst audioMsg = ref({\n type: \"\",\n msg: \"\",\n}); // 语音对讲提示信息\nconst taskId = ref(\"\");\n\n// 音频配置常量\nconst AUDIO_CONFIG = {\n sampleRate: 48000,\n channelCount: 1,\n sampleSize: 16,\n} as const;\n\nconst initPlayer = async () => {\n // console.log(\"initPlayer\");\n try {\n if (!props.deviceSerial) {\n errorMsg.value = \"设备序列号不能为空\";\n return;\n }\n\n const url = await GetCtyunDeviceVideoUrl(props.deviceSerial);\n if (!url) {\n errorMsg.value = \"获取视频播放地址失败\";\n return;\n }\n\n // console.log(\"initPlayer\", url);\n videoUrl.value = url;\n errorMsg.value = \"\";\n } catch (error) {\n if (props.debug) {\n console.error(\"初始化天翼云播放器失败:\", error);\n }\n errorMsg.value = `初始化失败: ${error instanceof Error ? error.message : \"未知错误\"}`;\n }\n};\n\n/**\n * 播放视频\n */\nconst playerPlay = (): void => {\n playerRef.value?.play();\n};\n\n/**\n * 暂停视频\n */\nconst playerPause = (): void => {\n playerRef.value?.pause();\n};\n\n/**\n * 截图\n */\nconst playerScreenShot = (): void => {\n playerRef.value?.screenshot();\n};\n\n/**\n * 切换全屏状态\n * @param fullscreen 是否全屏\n */\nconst playerFullscreen = (fullscreen: boolean): void => {\n isFullscreen.value = fullscreen;\n playerRef.value?.fullscreen(fullscreen);\n};\n\n// 获取视频信息,判断当前是否为静音状态\nconst handleVideoInfo = () => {\n // 判断是否静音\n isVolumeMuted.value = playerRef.value?.isMute();\n};\nconst handleMute = (mute: boolean) => {\n isVolumeMuted.value = mute;\n};\nconst handleSetMute = (volume: number) => {\n playerRef.value?.setMute(volume);\n};\n\nconst audioErrorMsg = (msg: string) => {\n audioMsg.value = {\n type: \"error\",\n msg,\n };\n // 3秒后清除错误信息\n setTimeout(() => {\n audioMsg.value = {\n type: \"\",\n msg: \"\",\n };\n }, 3000);\n};\n\n/**\n * 初始化音频上下文\n */\nconst initAudioContext = async (): Promise<void> => {\n try {\n // 检测浏览器是否支持AudioContext\n if (typeof window === \"undefined\") {\n throw new Error(\"非浏览器环境,无法使用AudioContext\");\n }\n\n const AudioContext =\n window.AudioContext || (window as any).webkitAudioContext;\n if (!AudioContext) {\n throw new Error(\"当前浏览器不支持AudioContext\");\n }\n\n // 创建音频上下文,使用指定的采样率\n audioContext.value = new AudioContext({\n sampleRate: AUDIO_CONFIG.sampleRate,\n });\n\n // 确保音频上下文处于运行状态\n if (audioContext.value.state === \"suspended\") {\n await audioContext.value.resume();\n }\n\n if (props.debug) {\n console.log(\n \"音频上下文初始化成功,采样率:\",\n audioContext.value.sampleRate,\n );\n }\n } catch (error) {\n throw new Error(`音频上下文初始化失败: ${error}`);\n }\n};\n\n/**\n * 初始化麦克风\n */\nconst initMicrophone = async (): Promise<void> => {\n try {\n // 检查浏览器是否支持getUserMedia\n if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {\n throw new Error(\"当前浏览器不支持麦克风访问\");\n }\n\n // 请求麦克风权限\n const constraints: MediaStreamConstraints = {\n audio: {\n channelCount: AUDIO_CONFIG.channelCount,\n sampleRate: AUDIO_CONFIG.sampleRate,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n },\n video: false,\n };\n\n mediaStream.value = await navigator.mediaDevices.getUserMedia(constraints);\n if (props.debug) {\n console.log(\"麦克风初始化成功\");\n }\n } catch (error) {\n if (error instanceof Error) {\n switch (error.name) {\n case \"NotAllowedError\":\n throw new Error(\"麦克风权限被拒绝,请允许访问麦克风\");\n case \"NotFoundError\":\n throw new Error(\"未找到可用的麦克风设备\");\n case \"NotReadableError\":\n throw new Error(\"麦克风设备被其他应用占用\");\n case \"OverconstrainedError\":\n throw new Error(\"麦克风设备不支持指定的音频参数\");\n default:\n throw new Error(`麦克风初始化失败: ${error.message}`);\n }\n }\n throw new Error(`麦克风初始化失败: ${error}`);\n }\n};\n\n/**\n * 建立WebSocket连接\n */\nconst connectWebSocket = async (url: string): Promise<void> => {\n return new Promise((resolve, reject) => {\n try {\n websocket.value = new WebSocket(url);\n websocket.value.binaryType = \"arraybuffer\";\n\n let isResolved = false;\n\n // 连接成功\n websocket.value.onopen = () => {\n if (props.debug) {\n console.log(\"WebSocket连接成功\");\n }\n if (!isResolved) {\n isResolved = true;\n resolve();\n }\n };\n\n // 连接错误\n websocket.value.onerror = (error) => {\n if (props.debug) {\n console.error(\"WebSocket连接错误:\", error);\n }\n if (!isResolved) {\n isResolved = true;\n reject(new Error(\"WebSocket连接失败\"));\n }\n };\n\n // 连接关闭\n websocket.value.onclose = (event) => {\n if (props.debug) {\n console.log(\"WebSocket连接关闭:\", event.code, event.reason);\n }\n if (isIntercomActive.value) {\n isIntercomActive.value = false;\n isVoice.value = false;\n }\n };\n\n // 接收消息(如果服务端有响应)\n websocket.value.onmessage = (event) => {\n if (props.debug) {\n console.log(\"收到服务端消息:\", event.data);\n }\n };\n\n // 设置连接超时\n const timeoutId = setTimeout(() => {\n if (!isResolved && websocket.value?.readyState !== WebSocket.OPEN) {\n isResolved = true;\n websocket.value?.close();\n reject(new Error(\"WebSocket连接超时\"));\n }\n }, 10000); // 10秒超时\n\n // 清理超时定时器\n if (websocket.value) {\n const originalOnOpen = websocket.value.onopen;\n const originalOnError = websocket.value.onerror;\n\n websocket.value.onopen = function (event) {\n clearTimeout(timeoutId);\n originalOnOpen?.call(this, event);\n };\n\n websocket.value.onerror = function (event) {\n clearTimeout(timeoutId);\n originalOnError?.call(this, event);\n };\n }\n } catch (error) {\n reject(new Error(`WebSocket创建失败: ${error}`));\n }\n });\n};\n\n/**\n * 将Float32Array音频数据转换为16位PCM数据\n */\nconst convertToPCM16 = (float32Array: Float32Array): ArrayBuffer => {\n const buffer = new ArrayBuffer(float32Array.length * 2);\n const view = new DataView(buffer);\n\n for (let i = 0; i < float32Array.length; i++) {\n // 将浮点数(-1.0 到 1.0)转换为16位整数(-32768 到 32767)\n const sample = Math.max(-1, Math.min(1, float32Array[i]));\n const intSample = sample < 0 ? sample * 0x8000 : sample * 0x7fff;\n view.setInt16(i * 2, intSample, true); // true表示小端字节序\n }\n\n return buffer;\n};\n/**\n * 开始音频数据处理\n */\nconst startAudioProcessing = async (): Promise<void> => {\n try {\n if (!audioContext.value || !mediaStream.value) {\n throw new Error(\"音频上下文或媒体流未初始化\");\n }\n\n // 创建音频源节点\n const sourceNode = audioContext.value.createMediaStreamSource(\n mediaStream.value,\n );\n\n // 创建ScriptProcessor节点用于音频数据处理\n const bufferSize = 4096;\n const processor = audioContext.value.createScriptProcessor(\n bufferSize,\n 1,\n 1,\n );\n\n // 音频数据处理回调\n processor.onaudioprocess = (event) => {\n if (\n !isIntercomActive.value ||\n !websocket.value ||\n websocket.value.readyState !== WebSocket.OPEN\n ) {\n return;\n }\n\n try {\n // 获取音频数据\n const inputBuffer = event.inputBuffer;\n const inputData = inputBuffer.getChannelData(0); // 获取单声道数据\n\n // 检查音频数据是否有效\n if (inputData.length === 0) {\n return;\n }\n\n // 将Float32Array转换为16位PCM数据\n const pcmData = convertToPCM16(inputData);\n\n // 发送音频数据到WebSocket\n websocket.value.send(pcmData);\n } catch (error) {\n if (props.debug) {\n console.error(\"音频数据处理错误:\", error);\n }\n }\n };\n\n // 连接音频节点\n sourceNode.connect(processor);\n processor.connect(audioContext.value.destination);\n\n // 保存处理器引用以便后续清理\n audioWorkletNode.value = processor as any;\n\n if (props.debug) {\n console.log(\"音频数据处理开始\");\n }\n } catch (error) {\n throw new Error(`音频数据处理启动失败: ${error}`);\n }\n};\n\n/**\n * 停止语音对讲\n */\nconst stopIntercom = async (): Promise<void> => {\n try {\n if (props.debug) {\n console.log(\"正在停止语音对讲...\");\n }\n isVoice.value = false;\n isIntercomActive.value = false;\n\n // 清除定时器\n if (intercomTimer.value) {\n clearTimeout(intercomTimer.value);\n intercomTimer.value = null;\n }\n\n // 关闭服务端语音对讲\n if (props.deviceSerial && taskId.value) {\n try {\n // await GetYunZhiYanCloseVoiceIntercom(props.deviceSerial, taskId.value);\n } catch (error) {\n if (props.debug) {\n console.error(\"关闭服务端语音对讲失败:\", error);\n }\n }\n }\n\n // 关闭WebSocket连接\n if (websocket.value) {\n if (websocket.value.readyState === WebSocket.OPEN) {\n websocket.value.close(1000, \"用户主动关闭\");\n }\n websocket.value = null;\n }\n\n // 停止媒体流\n if (mediaStream.value) {\n mediaStream.value.getTracks().forEach((track) => {\n track.stop();\n });\n mediaStream.value = null;\n }\n\n // 关闭音频上下文\n if (audioContext.value && audioContext.value.state !== \"closed\") {\n try {\n await audioContext.value.close();\n } catch (error) {\n if (props.debug) {\n console.error(\"关闭音频上下文失败:\", error);\n }\n }\n audioContext.value = null;\n }\n\n // 清理音频工作节点\n if (audioWorkletNode.value) {\n try {\n audioWorkletNode.value.disconnect();\n } catch (error) {\n if (props.debug) {\n console.error(\"断开音频工作节点失败:\", error);\n }\n }\n audioWorkletNode.value = null;\n }\n\n // 清理任务ID\n taskId.value = \"\";\n audioMsg.value = {\n type: \"\",\n msg: \"\",\n };\n if (props.debug) {\n console.log(\"语音对讲已停止\");\n }\n } catch (error) {\n if (props.debug) {\n console.error(\"停止语音对讲时发生错误:\", error);\n }\n }\n};\n\n/**\n * 开启语音对讲\n */\nconst intercom = async (): Promise<void> => {\n try {\n if (props.debug) {\n console.log(\"开始语音对讲...\");\n }\n audioMsg.value = {\n type: \"info\",\n msg: \"正在连接...\",\n };\n // 防止重复开启\n if (isIntercomActive.value) {\n if (props.debug) {\n console.warn(\"语音对讲已在进行中\");\n }\n return;\n }\n // 设置加载状态\n isVoice.value = true;\n\n // 1. 获取语音推送地址\n if (props.debug) {\n console.log(\"正在获取语音推送地址...\");\n }\n const result = await ctyunRequest(\n \"POST\",\n `/devices/${props.deviceSerial}/startTalk`,\n {\n body: {\n // 传输优先级 tcp/udp\n TransPriority: \"tcp\",\n // 接入协议\n InProtocol: \"gb28181\",\n },\n },\n );\n console.log(result);\n if (result.statusCode === 200) {\n // ...\n } else {\n audioErrorMsg(result?.message || \"开启语音对讲失败\");\n return;\n }\n console.log(result);\n if (props.debug) {\n console.log(\"语音推送地址:\", \"\");\n }\n } catch (error) {\n console.error(\"开启语音对讲失败:\", error);\n audioErrorMsg(\"开启语音对讲失败\");\n }\n};\n\nonMounted(() => {\n initPlayer();\n});\n</script>\n\n<template>\n <ErrorPage\n v-if=\"errorMsg\"\n :videoName=\"areaName || deviceSerial\"\n :message=\"errorMsg\"\n />\n <EasyPlayer\n v-else-if=\"videoUrl\"\n ref=\"playerRef\"\n :url=\"videoUrl\"\n :debug=\"debug\"\n :access-token=\"accessToken\"\n :platform-type-name=\"platformTypeName\"\n :device-serial=\"deviceSerial\"\n :area-name=\"areaName\"\n :pause-mode=\"pauseMode\"\n @mouseenter=\"showBottomBar = true\"\n @mouseleave=\"showBottomBar = false\"\n @pause=\"isPlaying = false\"\n @play=\"isPlaying = true\"\n @video-info=\"handleVideoInfo\"\n @mute=\"handleMute\"\n >\n <template #customBar>\n <div v-if=\"showBottomBar\" class=\"i-easy-player-bar\">\n <!-- 左侧:播放/暂停 -->\n <div class=\"i-easy-player-bar-item i-easy-player-bar-left\">\n <!-- 播放 -->\n <div\n v-if=\"!isPlaying\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"playerPlay\"\n >\n <i class=\"iconfont icon-playfill\" />\n </div>\n <!-- 暂停 -->\n <div v-else class=\"i-easy-player-bottom-bar\" @click=\"playerPause\">\n <i class=\"iconfont icon-stop\" />\n </div>\n\n <div v-if=\"!isVolumeMuted\" class=\"i-easy-player-bottom-bar\">\n <!-- 音量图标 -->\n <i\n class=\"iconfont icon-notificationfill\"\n @click=\"handleSetMute(1)\"\n />\n </div>\n <div v-else class=\"i-easy-player-bottom-bar\">\n <!-- 静音图标 -->\n <i\n class=\"iconfont icon-notificationforbidfill\"\n @click=\"handleSetMute(0)\"\n />\n </div>\n </div>\n <!-- 截图,全屏 -->\n <div class=\"i-easy-player-bar-item i-easy-player-bar-right\">\n <!-- 语音对讲:关闭状态 -->\n <div\n v-if=\"!isVoice\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"intercom\"\n >\n <i class=\"iconfont icon-voice\" />\n </div>\n <!-- 语音对讲:开启状态 -->\n <div\n v-if=\"isVoice\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"stopIntercom\"\n >\n <i class=\"iconfont icon-voicefill\" />\n </div>\n <!-- 截图 -->\n <div class=\"i-easy-player-bottom-bar\" @click=\"playerScreenShot\">\n <i class=\"iconfont icon-picfill\" />\n </div>\n <!-- 全屏 -->\n <div\n v-if=\"!isFullscreen\"\n title=\"全屏\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"playerFullscreen(true)\"\n >\n <i class=\"iconfont icon-full\" />\n </div>\n <!-- 取消全屏 -->\n <div\n v-if=\"isFullscreen\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"playerFullscreen(false)\"\n >\n <i class=\"iconfont icon-reduction\" />\n </div>\n </div>\n </div>\n </template>\n </EasyPlayer>\n <!-- 语音对讲错误提示 -->\n <div\n v-if=\"audioMsg.msg\"\n class=\"i-tzj-player__voice-default\"\n :class=\"`i-tzj-player__voice-${audioMsg.type}`\"\n >\n {{ audioMsg.msg }}\n </div>\n</template>\n"],"names":["_createBlock","ErrorPage","areaName","deviceSerial","EasyPlayer","debug","accessToken","platformTypeName","pauseMode","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_Fragment","_normalizeClass","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ctyun-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/ctyun-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { ctyunRequest, GetCtyunDeviceVideoUrl } from \"./ctyun-player\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\n// 天翼云播放器\ndefineOptions({\n name: \"CtyunPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst showBottomBar = ref(false);\nconst errorMsg = ref(\"\");\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isVoice = ref(false); // 是否开启语音对讲\nconst isFullscreen = ref(false);\nconst isVolumeMuted = ref(true);\n\n// 音频对讲相关状态\nconst isIntercomActive = ref<boolean>(false);\nconst audioContext = ref<AudioContext | null>(null);\nconst mediaStream = ref<MediaStream | null>(null);\nconst websocket = ref<WebSocket | null>(null);\nconst audioWorkletNode = ref<AudioWorkletNode | null>(null);\nconst intercomTimer = ref<any>(null); // 语音对讲定时器\nconst audioMsg = ref({\n type: \"\",\n msg: \"\",\n}); // 语音对讲提示信息\nconst taskId = ref(\"\");\n\n// 音频配置常量\nconst AUDIO_CONFIG = {\n sampleRate: 48000,\n channelCount: 1,\n sampleSize: 16,\n} as const;\n\nconst initPlayer = async () => {\n // console.log(\"initPlayer\");\n try {\n if (!props.deviceSerial) {\n errorMsg.value = \"设备序列号不能为空\";\n return;\n }\n\n const url = await GetCtyunDeviceVideoUrl(props.deviceSerial);\n if (!url) {\n errorMsg.value = \"获取视频播放地址失败\";\n return;\n }\n\n // console.log(\"initPlayer\", url);\n videoUrl.value = url;\n errorMsg.value = \"\";\n } catch (error) {\n if (props.debug) {\n console.error(\"初始化天翼云播放器失败:\", error);\n }\n errorMsg.value = `初始化失败: ${error instanceof Error ? error.message : \"未知错误\"}`;\n }\n};\n\n/**\n * 播放视频\n */\nconst playerPlay = (): void => {\n playerRef.value?.play();\n};\n\n/**\n * 暂停视频\n */\nconst playerPause = (): void => {\n playerRef.value?.pause();\n};\n\n/**\n * 截图\n */\nconst playerScreenShot = (): void => {\n playerRef.value?.screenshot();\n};\n\n/**\n * 切换全屏状态\n * @param fullscreen 是否全屏\n */\nconst playerFullscreen = (fullscreen: boolean): void => {\n isFullscreen.value = fullscreen;\n playerRef.value?.fullscreen(fullscreen);\n};\n\n// 获取视频信息,判断当前是否为静音状态\nconst handleVideoInfo = () => {\n // 判断是否静音\n isVolumeMuted.value = playerRef.value?.isMute();\n};\nconst handleMute = (mute: boolean) => {\n isVolumeMuted.value = mute;\n};\nconst handleSetMute = (volume: number) => {\n playerRef.value?.setMute(volume);\n};\n\nconst audioErrorMsg = (msg: string) => {\n audioMsg.value = {\n type: \"error\",\n msg,\n };\n // 3秒后清除错误信息\n setTimeout(() => {\n audioMsg.value = {\n type: \"\",\n msg: \"\",\n };\n }, 3000);\n};\n\n/**\n * 初始化音频上下文\n */\nconst initAudioContext = async (): Promise<void> => {\n try {\n // 检测浏览器是否支持AudioContext\n if (typeof window === \"undefined\") {\n throw new Error(\"非浏览器环境,无法使用AudioContext\");\n }\n\n const AudioContext =\n window.AudioContext || (window as any).webkitAudioContext;\n if (!AudioContext) {\n throw new Error(\"当前浏览器不支持AudioContext\");\n }\n\n // 创建音频上下文,使用指定的采样率\n audioContext.value = new AudioContext({\n sampleRate: AUDIO_CONFIG.sampleRate,\n });\n\n // 确保音频上下文处于运行状态\n if (audioContext.value.state === \"suspended\") {\n await audioContext.value.resume();\n }\n\n if (props.debug) {\n console.log(\n \"音频上下文初始化成功,采样率:\",\n audioContext.value.sampleRate,\n );\n }\n } catch (error) {\n throw new Error(`音频上下文初始化失败: ${error}`);\n }\n};\n\n/**\n * 初始化麦克风\n */\nconst initMicrophone = async (): Promise<void> => {\n try {\n // 检查浏览器是否支持getUserMedia\n if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {\n throw new Error(\"当前浏览器不支持麦克风访问\");\n }\n\n // 请求麦克风权限\n const constraints: MediaStreamConstraints = {\n audio: {\n channelCount: AUDIO_CONFIG.channelCount,\n sampleRate: AUDIO_CONFIG.sampleRate,\n echoCancellation: true,\n noiseSuppression: true,\n autoGainControl: true,\n },\n video: false,\n };\n\n mediaStream.value = await navigator.mediaDevices.getUserMedia(constraints);\n if (props.debug) {\n console.log(\"麦克风初始化成功\");\n }\n } catch (error) {\n if (error instanceof Error) {\n switch (error.name) {\n case \"NotAllowedError\":\n throw new Error(\"麦克风权限被拒绝,请允许访问麦克风\");\n case \"NotFoundError\":\n throw new Error(\"未找到可用的麦克风设备\");\n case \"NotReadableError\":\n throw new Error(\"麦克风设备被其他应用占用\");\n case \"OverconstrainedError\":\n throw new Error(\"麦克风设备不支持指定的音频参数\");\n default:\n throw new Error(`麦克风初始化失败: ${error.message}`);\n }\n }\n throw new Error(`麦克风初始化失败: ${error}`);\n }\n};\n\n/**\n * 建立WebSocket连接\n */\nconst connectWebSocket = async (url: string): Promise<void> => {\n return new Promise((resolve, reject) => {\n try {\n websocket.value = new WebSocket(url);\n websocket.value.binaryType = \"arraybuffer\";\n\n let isResolved = false;\n\n // 连接成功\n websocket.value.onopen = () => {\n if (props.debug) {\n console.log(\"WebSocket连接成功\");\n }\n if (!isResolved) {\n isResolved = true;\n resolve();\n }\n };\n\n // 连接错误\n websocket.value.onerror = (error) => {\n if (props.debug) {\n console.error(\"WebSocket连接错误:\", error);\n }\n if (!isResolved) {\n isResolved = true;\n reject(new Error(\"WebSocket连接失败\"));\n }\n };\n\n // 连接关闭\n websocket.value.onclose = (event) => {\n if (props.debug) {\n console.log(\"WebSocket连接关闭:\", event.code, event.reason);\n }\n if (isIntercomActive.value) {\n isIntercomActive.value = false;\n isVoice.value = false;\n }\n };\n\n // 接收消息(如果服务端有响应)\n websocket.value.onmessage = (event) => {\n if (props.debug) {\n console.log(\"收到服务端消息:\", event.data);\n }\n };\n\n // 设置连接超时\n const timeoutId = setTimeout(() => {\n if (!isResolved && websocket.value?.readyState !== WebSocket.OPEN) {\n isResolved = true;\n websocket.value?.close();\n reject(new Error(\"WebSocket连接超时\"));\n }\n }, 10000); // 10秒超时\n\n // 清理超时定时器\n if (websocket.value) {\n const originalOnOpen = websocket.value.onopen;\n const originalOnError = websocket.value.onerror;\n\n websocket.value.onopen = function (event) {\n clearTimeout(timeoutId);\n originalOnOpen?.call(this, event);\n };\n\n websocket.value.onerror = function (event) {\n clearTimeout(timeoutId);\n originalOnError?.call(this, event);\n };\n }\n } catch (error) {\n reject(new Error(`WebSocket创建失败: ${error}`));\n }\n });\n};\n\n/**\n * 将Float32Array音频数据转换为16位PCM数据\n */\nconst convertToPCM16 = (float32Array: Float32Array): ArrayBuffer => {\n const buffer = new ArrayBuffer(float32Array.length * 2);\n const view = new DataView(buffer);\n\n for (let i = 0; i < float32Array.length; i++) {\n // 将浮点数(-1.0 到 1.0)转换为16位整数(-32768 到 32767)\n const sample = Math.max(-1, Math.min(1, float32Array[i]));\n const intSample = sample < 0 ? sample * 0x8000 : sample * 0x7fff;\n view.setInt16(i * 2, intSample, true); // true表示小端字节序\n }\n\n return buffer;\n};\n/**\n * 开始音频数据处理\n */\nconst startAudioProcessing = async (): Promise<void> => {\n try {\n if (!audioContext.value || !mediaStream.value) {\n throw new Error(\"音频上下文或媒体流未初始化\");\n }\n\n // 创建音频源节点\n const sourceNode = audioContext.value.createMediaStreamSource(\n mediaStream.value,\n );\n\n // 创建ScriptProcessor节点用于音频数据处理\n const bufferSize = 4096;\n const processor = audioContext.value.createScriptProcessor(\n bufferSize,\n 1,\n 1,\n );\n\n // 音频数据处理回调\n processor.onaudioprocess = (event) => {\n if (\n !isIntercomActive.value ||\n !websocket.value ||\n websocket.value.readyState !== WebSocket.OPEN\n ) {\n return;\n }\n\n try {\n // 获取音频数据\n const inputBuffer = event.inputBuffer;\n const inputData = inputBuffer.getChannelData(0); // 获取单声道数据\n\n // 检查音频数据是否有效\n if (inputData.length === 0) {\n return;\n }\n\n // 将Float32Array转换为16位PCM数据\n const pcmData = convertToPCM16(inputData);\n\n // 发送音频数据到WebSocket\n websocket.value.send(pcmData);\n } catch (error) {\n if (props.debug) {\n console.error(\"音频数据处理错误:\", error);\n }\n }\n };\n\n // 连接音频节点\n sourceNode.connect(processor);\n processor.connect(audioContext.value.destination);\n\n // 保存处理器引用以便后续清理\n audioWorkletNode.value = processor as any;\n\n if (props.debug) {\n console.log(\"音频数据处理开始\");\n }\n } catch (error) {\n throw new Error(`音频数据处理启动失败: ${error}`);\n }\n};\n\n/**\n * 停止语音对讲\n */\nconst stopIntercom = async (): Promise<void> => {\n try {\n if (props.debug) {\n console.log(\"正在停止语音对讲...\");\n }\n isVoice.value = false;\n isIntercomActive.value = false;\n\n // 清除定时器\n if (intercomTimer.value) {\n clearTimeout(intercomTimer.value);\n intercomTimer.value = null;\n }\n\n // 关闭服务端语音对讲\n if (props.deviceSerial && taskId.value) {\n try {\n // await GetYunZhiYanCloseVoiceIntercom(props.deviceSerial, taskId.value);\n } catch (error) {\n if (props.debug) {\n console.error(\"关闭服务端语音对讲失败:\", error);\n }\n }\n }\n\n // 关闭WebSocket连接\n if (websocket.value) {\n if (websocket.value.readyState === WebSocket.OPEN) {\n websocket.value.close(1000, \"用户主动关闭\");\n }\n websocket.value = null;\n }\n\n // 停止媒体流\n if (mediaStream.value) {\n mediaStream.value.getTracks().forEach((track) => {\n track.stop();\n });\n mediaStream.value = null;\n }\n\n // 关闭音频上下文\n if (audioContext.value && audioContext.value.state !== \"closed\") {\n try {\n await audioContext.value.close();\n } catch (error) {\n if (props.debug) {\n console.error(\"关闭音频上下文失败:\", error);\n }\n }\n audioContext.value = null;\n }\n\n // 清理音频工作节点\n if (audioWorkletNode.value) {\n try {\n audioWorkletNode.value.disconnect();\n } catch (error) {\n if (props.debug) {\n console.error(\"断开音频工作节点失败:\", error);\n }\n }\n audioWorkletNode.value = null;\n }\n\n // 清理任务ID\n taskId.value = \"\";\n audioMsg.value = {\n type: \"\",\n msg: \"\",\n };\n if (props.debug) {\n console.log(\"语音对讲已停止\");\n }\n } catch (error) {\n if (props.debug) {\n console.error(\"停止语音对讲时发生错误:\", error);\n }\n }\n};\n\n/**\n * 开启语音对讲\n */\nconst intercom = async (): Promise<void> => {\n try {\n if (props.debug) {\n console.log(\"开始语音对讲...\");\n }\n audioMsg.value = {\n type: \"info\",\n msg: \"正在连接...\",\n };\n // 防止重复开启\n if (isIntercomActive.value) {\n if (props.debug) {\n console.warn(\"语音对讲已在进行中\");\n }\n return;\n }\n // 设置加载状态\n isVoice.value = true;\n\n // 1. 获取语音推送地址\n if (props.debug) {\n console.log(\"正在获取语音推送地址...\");\n }\n const result = await ctyunRequest(\n \"POST\",\n `/devices/${props.deviceSerial}/startTalk`,\n {\n body: {\n // 传输优先级 tcp/udp\n TransPriority: \"tcp\",\n // 接入协议\n InProtocol: \"gb28181\",\n },\n },\n );\n console.log(result);\n if (result.statusCode === 200) {\n // ...\n } else {\n audioErrorMsg(result?.message || \"开启语音对讲失败\");\n return;\n }\n console.log(result);\n if (props.debug) {\n console.log(\"语音推送地址:\", \"\");\n }\n } catch (error) {\n console.error(\"开启语音对讲失败:\", error);\n audioErrorMsg(\"开启语音对讲失败\");\n }\n};\n\nonMounted(() => {\n initPlayer();\n});\n</script>\n\n<template>\n <ErrorPage v-if=\"errorMsg\" :message=\"errorMsg\" />\n <EasyPlayer\n v-else-if=\"videoUrl\"\n ref=\"playerRef\"\n :url=\"videoUrl\"\n :debug=\"debug\"\n :access-token=\"accessToken\"\n :platform-type-name=\"platformTypeName\"\n :device-serial=\"deviceSerial\"\n :area-name=\"areaName\"\n :pause-mode=\"pauseMode\"\n @mouseenter=\"showBottomBar = true\"\n @mouseleave=\"showBottomBar = false\"\n @pause=\"isPlaying = false\"\n @play=\"isPlaying = true\"\n @video-info=\"handleVideoInfo\"\n @mute=\"handleMute\"\n >\n <template #customBar>\n <div v-if=\"showBottomBar\" class=\"i-easy-player-bar\">\n <!-- 左侧:播放/暂停 -->\n <div class=\"i-easy-player-bar-item i-easy-player-bar-left\">\n <!-- 播放 -->\n <div\n v-if=\"!isPlaying\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"playerPlay\"\n >\n <i class=\"iconfont icon-playfill\" />\n </div>\n <!-- 暂停 -->\n <div v-else class=\"i-easy-player-bottom-bar\" @click=\"playerPause\">\n <i class=\"iconfont icon-stop\" />\n </div>\n\n <div v-if=\"!isVolumeMuted\" class=\"i-easy-player-bottom-bar\">\n <!-- 音量图标 -->\n <i\n class=\"iconfont icon-notificationfill\"\n @click=\"handleSetMute(1)\"\n />\n </div>\n <div v-else class=\"i-easy-player-bottom-bar\">\n <!-- 静音图标 -->\n <i\n class=\"iconfont icon-notificationforbidfill\"\n @click=\"handleSetMute(0)\"\n />\n </div>\n </div>\n <!-- 截图,全屏 -->\n <div class=\"i-easy-player-bar-item i-easy-player-bar-right\">\n <!-- 语音对讲:关闭状态 -->\n <div\n v-if=\"!isVoice\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"intercom\"\n >\n <i class=\"iconfont icon-voice\" />\n </div>\n <!-- 语音对讲:开启状态 -->\n <div\n v-if=\"isVoice\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"stopIntercom\"\n >\n <i class=\"iconfont icon-voicefill\" />\n </div>\n <!-- 截图 -->\n <div class=\"i-easy-player-bottom-bar\" @click=\"playerScreenShot\">\n <i class=\"iconfont icon-picfill\" />\n </div>\n <!-- 全屏 -->\n <div\n v-if=\"!isFullscreen\"\n title=\"全屏\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"playerFullscreen(true)\"\n >\n <i class=\"iconfont icon-full\" />\n </div>\n <!-- 取消全屏 -->\n <div\n v-if=\"isFullscreen\"\n class=\"i-easy-player-bottom-bar\"\n @click=\"playerFullscreen(false)\"\n >\n <i class=\"iconfont icon-reduction\" />\n </div>\n </div>\n </div>\n </template>\n </EasyPlayer>\n <!-- 语音对讲错误提示 -->\n <div\n v-if=\"audioMsg.msg\"\n class=\"i-tzj-player__voice-default\"\n :class=\"`i-tzj-player__voice-${audioMsg.type}`\"\n >\n {{ audioMsg.msg }}\n </div>\n</template>\n"],"names":["_createBlock","ErrorPage","EasyPlayer","debug","accessToken","platformTypeName","deviceSerial","areaName","pauseMode","_openBlock","_createElementBlock","_createCommentVNode","_createElementVNode","_Fragment","_normalizeClass","_toDisplayString"],"mappings":"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"}
@@ -438,14 +438,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
438
438
  [
439
439
  !playSuccess.value ? (openBlock(), createBlock(_sfc_main$1, {
440
440
  key: 0,
441
- "video-name": _ctx.areaName || _ctx.deviceSerial,
442
441
  message: "\u65E0\u4FE1\u53F7"
443
- }, null, 8, ["video-name"])) : createCommentVNode("v-if", true),
442
+ })) : createCommentVNode("v-if", true),
444
443
  !playUrl.value ? (openBlock(), createBlock(_sfc_main$1, {
445
444
  key: 1,
446
- "video-name": _ctx.areaName || _ctx.deviceSerial,
447
445
  message: "\u65E0\u64AD\u653E\u5730\u5740"
448
- }, null, 8, ["video-name"])) : createCommentVNode("v-if", true),
446
+ })) : createCommentVNode("v-if", true),
449
447
  createCommentVNode(" \u64AD\u653E\u5668\u5E95\u90E8\u64CD\u4F5C\u680F "),
450
448
  renderSlot(_ctx.$slots, "customBar")
451
449
  ],