@yimou6/common-ui 1.11.12 → 1.11.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.cdn.js +11 -11
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +11 -11
- package/cdn/index.cdn.mjs.map +1 -1
- package/es/components/tenant-enterprise/src/tenant-enterprise.vue2.mjs +1 -1
- package/es/components/tenant-enterprise/src/tenant-enterprise.vue2.mjs.map +1 -1
- package/es/components/tzj-player/index.d.ts +8 -301
- package/es/components/tzj-player/src/ctyun-player.vue.d.ts +1 -0
- package/es/components/tzj-player/src/easyPlayer.vue.d.ts +1 -0
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs +29 -12
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/tzj-player.vue.d.ts +8 -301
- package/es/components/tzj-player/src/tzj-player.vue2.mjs +13 -14
- package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/xgplayer.vue2.mjs +3 -1
- package/es/components/tzj-player/src/xgplayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +1 -0
- package/lib/components/tenant-enterprise/src/tenant-enterprise.vue2.js +1 -1
- package/lib/components/tenant-enterprise/src/tenant-enterprise.vue2.js.map +1 -1
- package/lib/components/tzj-player/index.d.ts +8 -301
- package/lib/components/tzj-player/src/ctyun-player.vue.d.ts +1 -0
- package/lib/components/tzj-player/src/easyPlayer.vue.d.ts +1 -0
- package/lib/components/tzj-player/src/easyPlayer.vue2.js +29 -12
- package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/tzj-player.vue.d.ts +8 -301
- package/lib/components/tzj-player/src/tzj-player.vue2.js +7 -8
- package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/xgplayer.vue2.js +3 -1
- package/lib/components/tzj-player/src/xgplayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1493,6 +1493,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
1493
1493
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
1494
1494
|
videoInfo: import("vue").Ref<any, any>;
|
|
1495
1495
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
1496
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
1496
1497
|
play: (url?: string) => void;
|
|
1497
1498
|
playerPause: () => void;
|
|
1498
1499
|
playerScreenShot: () => void;
|
|
@@ -3196,6 +3197,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
3196
3197
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
3197
3198
|
videoInfo: import("vue").Ref<any, any>;
|
|
3198
3199
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
3200
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
3199
3201
|
play: (url?: string) => void;
|
|
3200
3202
|
playerPause: () => void;
|
|
3201
3203
|
playerScreenShot: () => void;
|
|
@@ -3345,107 +3347,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
3345
3347
|
areaName: string;
|
|
3346
3348
|
platformTypeName: string;
|
|
3347
3349
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
3348
|
-
readonly hls: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3349
|
-
url: {
|
|
3350
|
-
type: StringConstructor;
|
|
3351
|
-
default: string;
|
|
3352
|
-
};
|
|
3353
|
-
accessToken: {
|
|
3354
|
-
type: StringConstructor;
|
|
3355
|
-
default: string;
|
|
3356
|
-
};
|
|
3357
|
-
areaName: {
|
|
3358
|
-
type: StringConstructor;
|
|
3359
|
-
default: string;
|
|
3360
|
-
};
|
|
3361
|
-
deviceSerial: {
|
|
3362
|
-
type: StringConstructor;
|
|
3363
|
-
default: string;
|
|
3364
|
-
};
|
|
3365
|
-
platformTypeName: {
|
|
3366
|
-
type: StringConstructor;
|
|
3367
|
-
default: string;
|
|
3368
|
-
};
|
|
3369
|
-
debug: {
|
|
3370
|
-
type: BooleanConstructor;
|
|
3371
|
-
default: boolean;
|
|
3372
|
-
};
|
|
3373
|
-
}>, {
|
|
3374
|
-
props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
3375
|
-
url: {
|
|
3376
|
-
type: StringConstructor;
|
|
3377
|
-
default: string;
|
|
3378
|
-
};
|
|
3379
|
-
accessToken: {
|
|
3380
|
-
type: StringConstructor;
|
|
3381
|
-
default: string;
|
|
3382
|
-
};
|
|
3383
|
-
areaName: {
|
|
3384
|
-
type: StringConstructor;
|
|
3385
|
-
default: string;
|
|
3386
|
-
};
|
|
3387
|
-
deviceSerial: {
|
|
3388
|
-
type: StringConstructor;
|
|
3389
|
-
default: string;
|
|
3390
|
-
};
|
|
3391
|
-
platformTypeName: {
|
|
3392
|
-
type: StringConstructor;
|
|
3393
|
-
default: string;
|
|
3394
|
-
};
|
|
3395
|
-
debug: {
|
|
3396
|
-
type: BooleanConstructor;
|
|
3397
|
-
default: boolean;
|
|
3398
|
-
};
|
|
3399
|
-
}>> & Readonly<{
|
|
3400
|
-
onPlay?: ((...args: any[]) => any) | undefined;
|
|
3401
|
-
onPause?: ((...args: any[]) => any) | undefined;
|
|
3402
|
-
onError?: ((...args: any[]) => any) | undefined;
|
|
3403
|
-
onVideoInfo?: ((...args: any[]) => any) | undefined;
|
|
3404
|
-
onTimeout?: ((...args: any[]) => any) | undefined;
|
|
3405
|
-
onMute?: ((...args: any[]) => any) | undefined;
|
|
3406
|
-
}> & {}>;
|
|
3407
|
-
emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
|
|
3408
|
-
setCamera: () => void;
|
|
3409
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
3410
|
-
url: {
|
|
3411
|
-
type: StringConstructor;
|
|
3412
|
-
default: string;
|
|
3413
|
-
};
|
|
3414
|
-
accessToken: {
|
|
3415
|
-
type: StringConstructor;
|
|
3416
|
-
default: string;
|
|
3417
|
-
};
|
|
3418
|
-
areaName: {
|
|
3419
|
-
type: StringConstructor;
|
|
3420
|
-
default: string;
|
|
3421
|
-
};
|
|
3422
|
-
deviceSerial: {
|
|
3423
|
-
type: StringConstructor;
|
|
3424
|
-
default: string;
|
|
3425
|
-
};
|
|
3426
|
-
platformTypeName: {
|
|
3427
|
-
type: StringConstructor;
|
|
3428
|
-
default: string;
|
|
3429
|
-
};
|
|
3430
|
-
debug: {
|
|
3431
|
-
type: BooleanConstructor;
|
|
3432
|
-
default: boolean;
|
|
3433
|
-
};
|
|
3434
|
-
}>> & Readonly<{
|
|
3435
|
-
onPlay?: ((...args: any[]) => any) | undefined;
|
|
3436
|
-
onPause?: ((...args: any[]) => any) | undefined;
|
|
3437
|
-
onError?: ((...args: any[]) => any) | undefined;
|
|
3438
|
-
onVideoInfo?: ((...args: any[]) => any) | undefined;
|
|
3439
|
-
onTimeout?: ((...args: any[]) => any) | undefined;
|
|
3440
|
-
onMute?: ((...args: any[]) => any) | undefined;
|
|
3441
|
-
}>, {
|
|
3442
|
-
url: string;
|
|
3443
|
-
accessToken: string;
|
|
3444
|
-
debug: boolean;
|
|
3445
|
-
deviceSerial: string;
|
|
3446
|
-
areaName: string;
|
|
3447
|
-
platformTypeName: string;
|
|
3448
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
3449
3350
|
};
|
|
3450
3351
|
playerComponent: import("vue").ComputedRef<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3451
3352
|
url: {
|
|
@@ -3519,6 +3420,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
3519
3420
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
3520
3421
|
videoInfo: import("vue").Ref<any, any>;
|
|
3521
3422
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
3423
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
3522
3424
|
play: (url?: string) => void;
|
|
3523
3425
|
playerPause: () => void;
|
|
3524
3426
|
playerScreenShot: () => void;
|
|
@@ -5037,6 +4939,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
5037
4939
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
5038
4940
|
videoInfo: import("vue").Ref<any, any>;
|
|
5039
4941
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
4942
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
5040
4943
|
play: (url?: string) => void;
|
|
5041
4944
|
playerPause: () => void;
|
|
5042
4945
|
playerScreenShot: () => void;
|
|
@@ -6738,6 +6641,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
6738
6641
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
6739
6642
|
videoInfo: import("vue").Ref<any, any>;
|
|
6740
6643
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
6644
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
6741
6645
|
play: (url?: string) => void;
|
|
6742
6646
|
playerPause: () => void;
|
|
6743
6647
|
playerScreenShot: () => void;
|
|
@@ -6886,106 +6790,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
6886
6790
|
deviceSerial: string;
|
|
6887
6791
|
areaName: string;
|
|
6888
6792
|
platformTypeName: string;
|
|
6889
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
6890
|
-
url: {
|
|
6891
|
-
type: StringConstructor;
|
|
6892
|
-
default: string;
|
|
6893
|
-
};
|
|
6894
|
-
accessToken: {
|
|
6895
|
-
type: StringConstructor;
|
|
6896
|
-
default: string;
|
|
6897
|
-
};
|
|
6898
|
-
areaName: {
|
|
6899
|
-
type: StringConstructor;
|
|
6900
|
-
default: string;
|
|
6901
|
-
};
|
|
6902
|
-
deviceSerial: {
|
|
6903
|
-
type: StringConstructor;
|
|
6904
|
-
default: string;
|
|
6905
|
-
};
|
|
6906
|
-
platformTypeName: {
|
|
6907
|
-
type: StringConstructor;
|
|
6908
|
-
default: string;
|
|
6909
|
-
};
|
|
6910
|
-
debug: {
|
|
6911
|
-
type: BooleanConstructor;
|
|
6912
|
-
default: boolean;
|
|
6913
|
-
};
|
|
6914
|
-
}>, {
|
|
6915
|
-
props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
6916
|
-
url: {
|
|
6917
|
-
type: StringConstructor;
|
|
6918
|
-
default: string;
|
|
6919
|
-
};
|
|
6920
|
-
accessToken: {
|
|
6921
|
-
type: StringConstructor;
|
|
6922
|
-
default: string;
|
|
6923
|
-
};
|
|
6924
|
-
areaName: {
|
|
6925
|
-
type: StringConstructor;
|
|
6926
|
-
default: string;
|
|
6927
|
-
};
|
|
6928
|
-
deviceSerial: {
|
|
6929
|
-
type: StringConstructor;
|
|
6930
|
-
default: string;
|
|
6931
|
-
};
|
|
6932
|
-
platformTypeName: {
|
|
6933
|
-
type: StringConstructor;
|
|
6934
|
-
default: string;
|
|
6935
|
-
};
|
|
6936
|
-
debug: {
|
|
6937
|
-
type: BooleanConstructor;
|
|
6938
|
-
default: boolean;
|
|
6939
|
-
};
|
|
6940
|
-
}>> & Readonly<{
|
|
6941
|
-
onPlay?: ((...args: any[]) => any) | undefined;
|
|
6942
|
-
onPause?: ((...args: any[]) => any) | undefined;
|
|
6943
|
-
onError?: ((...args: any[]) => any) | undefined;
|
|
6944
|
-
onVideoInfo?: ((...args: any[]) => any) | undefined;
|
|
6945
|
-
onTimeout?: ((...args: any[]) => any) | undefined;
|
|
6946
|
-
onMute?: ((...args: any[]) => any) | undefined;
|
|
6947
|
-
}> & {}>;
|
|
6948
|
-
emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
|
|
6949
|
-
setCamera: () => void;
|
|
6950
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6951
|
-
url: {
|
|
6952
|
-
type: StringConstructor;
|
|
6953
|
-
default: string;
|
|
6954
|
-
};
|
|
6955
|
-
accessToken: {
|
|
6956
|
-
type: StringConstructor;
|
|
6957
|
-
default: string;
|
|
6958
|
-
};
|
|
6959
|
-
areaName: {
|
|
6960
|
-
type: StringConstructor;
|
|
6961
|
-
default: string;
|
|
6962
|
-
};
|
|
6963
|
-
deviceSerial: {
|
|
6964
|
-
type: StringConstructor;
|
|
6965
|
-
default: string;
|
|
6966
|
-
};
|
|
6967
|
-
platformTypeName: {
|
|
6968
|
-
type: StringConstructor;
|
|
6969
|
-
default: string;
|
|
6970
|
-
};
|
|
6971
|
-
debug: {
|
|
6972
|
-
type: BooleanConstructor;
|
|
6973
|
-
default: boolean;
|
|
6974
|
-
};
|
|
6975
|
-
}>> & Readonly<{
|
|
6976
|
-
onPlay?: ((...args: any[]) => any) | undefined;
|
|
6977
|
-
onPause?: ((...args: any[]) => any) | undefined;
|
|
6978
|
-
onError?: ((...args: any[]) => any) | undefined;
|
|
6979
|
-
onVideoInfo?: ((...args: any[]) => any) | undefined;
|
|
6980
|
-
onTimeout?: ((...args: any[]) => any) | undefined;
|
|
6981
|
-
onMute?: ((...args: any[]) => any) | undefined;
|
|
6982
|
-
}>, {
|
|
6983
|
-
url: string;
|
|
6984
|
-
accessToken: string;
|
|
6985
|
-
debug: boolean;
|
|
6986
|
-
deviceSerial: string;
|
|
6987
|
-
areaName: string;
|
|
6988
|
-
platformTypeName: string;
|
|
6989
6793
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
|
|
6990
6794
|
errorState: import("vue").ComputedRef<{
|
|
6991
6795
|
type: string;
|
|
@@ -7063,6 +6867,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
7063
6867
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
7064
6868
|
videoInfo: import("vue").Ref<any, any>;
|
|
7065
6869
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
6870
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
7066
6871
|
play: (url?: string) => void;
|
|
7067
6872
|
playerPause: () => void;
|
|
7068
6873
|
playerScreenShot: () => void;
|
|
@@ -8581,6 +8386,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
8581
8386
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
8582
8387
|
videoInfo: import("vue").Ref<any, any>;
|
|
8583
8388
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
8389
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
8584
8390
|
play: (url?: string) => void;
|
|
8585
8391
|
playerPause: () => void;
|
|
8586
8392
|
playerScreenShot: () => void;
|
|
@@ -10282,6 +10088,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
10282
10088
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
10283
10089
|
videoInfo: import("vue").Ref<any, any>;
|
|
10284
10090
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
10091
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
10285
10092
|
play: (url?: string) => void;
|
|
10286
10093
|
playerPause: () => void;
|
|
10287
10094
|
playerScreenShot: () => void;
|
|
@@ -10430,106 +10237,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
|
|
|
10430
10237
|
deviceSerial: string;
|
|
10431
10238
|
areaName: string;
|
|
10432
10239
|
platformTypeName: string;
|
|
10433
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
10434
|
-
url: {
|
|
10435
|
-
type: StringConstructor;
|
|
10436
|
-
default: string;
|
|
10437
|
-
};
|
|
10438
|
-
accessToken: {
|
|
10439
|
-
type: StringConstructor;
|
|
10440
|
-
default: string;
|
|
10441
|
-
};
|
|
10442
|
-
areaName: {
|
|
10443
|
-
type: StringConstructor;
|
|
10444
|
-
default: string;
|
|
10445
|
-
};
|
|
10446
|
-
deviceSerial: {
|
|
10447
|
-
type: StringConstructor;
|
|
10448
|
-
default: string;
|
|
10449
|
-
};
|
|
10450
|
-
platformTypeName: {
|
|
10451
|
-
type: StringConstructor;
|
|
10452
|
-
default: string;
|
|
10453
|
-
};
|
|
10454
|
-
debug: {
|
|
10455
|
-
type: BooleanConstructor;
|
|
10456
|
-
default: boolean;
|
|
10457
|
-
};
|
|
10458
|
-
}>, {
|
|
10459
|
-
props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
10460
|
-
url: {
|
|
10461
|
-
type: StringConstructor;
|
|
10462
|
-
default: string;
|
|
10463
|
-
};
|
|
10464
|
-
accessToken: {
|
|
10465
|
-
type: StringConstructor;
|
|
10466
|
-
default: string;
|
|
10467
|
-
};
|
|
10468
|
-
areaName: {
|
|
10469
|
-
type: StringConstructor;
|
|
10470
|
-
default: string;
|
|
10471
|
-
};
|
|
10472
|
-
deviceSerial: {
|
|
10473
|
-
type: StringConstructor;
|
|
10474
|
-
default: string;
|
|
10475
|
-
};
|
|
10476
|
-
platformTypeName: {
|
|
10477
|
-
type: StringConstructor;
|
|
10478
|
-
default: string;
|
|
10479
|
-
};
|
|
10480
|
-
debug: {
|
|
10481
|
-
type: BooleanConstructor;
|
|
10482
|
-
default: boolean;
|
|
10483
|
-
};
|
|
10484
|
-
}>> & Readonly<{
|
|
10485
|
-
onPlay?: ((...args: any[]) => any) | undefined;
|
|
10486
|
-
onPause?: ((...args: any[]) => any) | undefined;
|
|
10487
|
-
onError?: ((...args: any[]) => any) | undefined;
|
|
10488
|
-
onVideoInfo?: ((...args: any[]) => any) | undefined;
|
|
10489
|
-
onTimeout?: ((...args: any[]) => any) | undefined;
|
|
10490
|
-
onMute?: ((...args: any[]) => any) | undefined;
|
|
10491
|
-
}> & {}>;
|
|
10492
|
-
emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
|
|
10493
|
-
setCamera: () => void;
|
|
10494
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10495
|
-
url: {
|
|
10496
|
-
type: StringConstructor;
|
|
10497
|
-
default: string;
|
|
10498
|
-
};
|
|
10499
|
-
accessToken: {
|
|
10500
|
-
type: StringConstructor;
|
|
10501
|
-
default: string;
|
|
10502
|
-
};
|
|
10503
|
-
areaName: {
|
|
10504
|
-
type: StringConstructor;
|
|
10505
|
-
default: string;
|
|
10506
|
-
};
|
|
10507
|
-
deviceSerial: {
|
|
10508
|
-
type: StringConstructor;
|
|
10509
|
-
default: string;
|
|
10510
|
-
};
|
|
10511
|
-
platformTypeName: {
|
|
10512
|
-
type: StringConstructor;
|
|
10513
|
-
default: string;
|
|
10514
|
-
};
|
|
10515
|
-
debug: {
|
|
10516
|
-
type: BooleanConstructor;
|
|
10517
|
-
default: boolean;
|
|
10518
|
-
};
|
|
10519
|
-
}>> & Readonly<{
|
|
10520
|
-
onPlay?: ((...args: any[]) => any) | undefined;
|
|
10521
|
-
onPause?: ((...args: any[]) => any) | undefined;
|
|
10522
|
-
onError?: ((...args: any[]) => any) | undefined;
|
|
10523
|
-
onVideoInfo?: ((...args: any[]) => any) | undefined;
|
|
10524
|
-
onTimeout?: ((...args: any[]) => any) | undefined;
|
|
10525
|
-
onMute?: ((...args: any[]) => any) | undefined;
|
|
10526
|
-
}>, {
|
|
10527
|
-
url: string;
|
|
10528
|
-
accessToken: string;
|
|
10529
|
-
debug: boolean;
|
|
10530
|
-
deviceSerial: string;
|
|
10531
|
-
areaName: string;
|
|
10532
|
-
platformTypeName: string;
|
|
10533
10240
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
|
|
10534
10241
|
ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
10535
10242
|
videoName: {
|
|
@@ -1434,6 +1434,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1434
1434
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
1435
1435
|
videoInfo: import("vue").Ref<any, any>;
|
|
1436
1436
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
1437
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
1437
1438
|
play: (url?: string) => void;
|
|
1438
1439
|
playerPause: () => void;
|
|
1439
1440
|
playerScreenShot: () => void;
|
|
@@ -70,6 +70,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
70
70
|
isFullscreen: import("vue").Ref<boolean, boolean>;
|
|
71
71
|
videoInfo: import("vue").Ref<any, any>;
|
|
72
72
|
realFullscreen: import("vue").Ref<boolean, boolean>;
|
|
73
|
+
eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
|
|
73
74
|
play: (url?: string) => void;
|
|
74
75
|
playerPause: () => void;
|
|
75
76
|
playerScreenShot: () => void;
|
|
@@ -40,6 +40,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
40
40
|
const isFullscreen = vue.ref(false);
|
|
41
41
|
const videoInfo = vue.ref(null);
|
|
42
42
|
const realFullscreen = vue.ref(false);
|
|
43
|
+
const eventHandlers = vue.ref(/* @__PURE__ */ new Map());
|
|
43
44
|
vue.onMounted(() => {
|
|
44
45
|
initPlayer(props.url || "");
|
|
45
46
|
});
|
|
@@ -214,42 +215,58 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
214
215
|
}
|
|
215
216
|
if (player) {
|
|
216
217
|
player.play(playUrl.value);
|
|
217
|
-
|
|
218
|
+
const timeoutHandler = /* @__PURE__ */ __name(() => {
|
|
218
219
|
props.debug && console.log("\u52A0\u8F7D\u8D85\u65F6");
|
|
219
220
|
emits("timeout");
|
|
220
221
|
playSuccess.value = false;
|
|
221
222
|
destroy();
|
|
222
223
|
initPlayer(playUrl.value);
|
|
223
|
-
});
|
|
224
|
-
|
|
224
|
+
}, "timeoutHandler");
|
|
225
|
+
const errorHandler = /* @__PURE__ */ __name(() => {
|
|
225
226
|
props.debug && console.log("\u64AD\u653E\u5F02\u5E38");
|
|
226
227
|
emits("error");
|
|
227
228
|
playSuccess.value = false;
|
|
228
229
|
destroy();
|
|
229
|
-
});
|
|
230
|
-
|
|
230
|
+
}, "errorHandler");
|
|
231
|
+
const playHandler = /* @__PURE__ */ __name(() => {
|
|
231
232
|
playSuccess.value = true;
|
|
232
233
|
props.debug && console.log("\u64AD\u653E");
|
|
233
234
|
emits("play");
|
|
234
|
-
});
|
|
235
|
-
|
|
235
|
+
}, "playHandler");
|
|
236
|
+
const pauseHandler = /* @__PURE__ */ __name(() => {
|
|
236
237
|
props.debug && console.log("\u6682\u505C");
|
|
237
238
|
emits("pause");
|
|
238
|
-
});
|
|
239
|
-
|
|
239
|
+
}, "pauseHandler");
|
|
240
|
+
const videoInfoHandler = /* @__PURE__ */ __name((info) => {
|
|
240
241
|
props.debug && console.log("\u89C6\u9891\u4FE1\u606F", info);
|
|
241
242
|
videoInfo.value = info;
|
|
242
243
|
emits("videoInfo", info);
|
|
243
|
-
});
|
|
244
|
-
|
|
244
|
+
}, "videoInfoHandler");
|
|
245
|
+
const muteHandler = /* @__PURE__ */ __name((mute) => {
|
|
245
246
|
props.debug && console.log("\u9759\u97F3");
|
|
246
247
|
emits("mute", mute);
|
|
247
|
-
});
|
|
248
|
+
}, "muteHandler");
|
|
249
|
+
player.on("timeout", timeoutHandler);
|
|
250
|
+
player.on("error", errorHandler);
|
|
251
|
+
player.on("play", playHandler);
|
|
252
|
+
player.on("pause", pauseHandler);
|
|
253
|
+
player.on("videoInfo", videoInfoHandler);
|
|
254
|
+
player.on("mute", muteHandler);
|
|
255
|
+
eventHandlers.value.set("timeout", timeoutHandler);
|
|
256
|
+
eventHandlers.value.set("error", errorHandler);
|
|
257
|
+
eventHandlers.value.set("play", playHandler);
|
|
258
|
+
eventHandlers.value.set("pause", pauseHandler);
|
|
259
|
+
eventHandlers.value.set("videoInfo", videoInfoHandler);
|
|
260
|
+
eventHandlers.value.set("mute", muteHandler);
|
|
248
261
|
}
|
|
249
262
|
}
|
|
250
263
|
__name(createPlayer, "createPlayer");
|
|
251
264
|
function destroy() {
|
|
252
265
|
if (player) {
|
|
266
|
+
eventHandlers.value.forEach((handler, eventName) => {
|
|
267
|
+
player.off(eventName, handler);
|
|
268
|
+
});
|
|
269
|
+
eventHandlers.value.clear();
|
|
253
270
|
player.destroy();
|
|
254
271
|
player = null;
|
|
255
272
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"easyPlayer.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useSlots,\n watch,\n} from \"vue\";\nimport { TzjPlayerProps, uuid } from \"./tzj-player\";\nimport ErrorPage from \"./errorPage.vue\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nconst slots = useSlots();\nconst customBar = computed(() => slots.customBar);\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLDivElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\nconst isFullscreen = ref(false);\nconst videoInfo = ref<any>(null);\nconst realFullscreen = ref(false);\nonMounted(() => {\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl: string) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n if (props.debug) {\n console.log(\"组件卸载\");\n }\n playUrl.value = \"\";\n destroy();\n});\n\nconst play = (url?: string) => {\n if (url) {\n initPlayer(url);\n } else {\n if (player) {\n player.play(playUrl.value);\n } else {\n destroy();\n }\n }\n};\n\nconst playerPause = () => {\n if (props.debug) {\n console.log(\"暂停\");\n }\n player?.pause?.();\n};\n\nconst playerScreenShot = () => {\n if (props.debug) {\n console.log(\"截图\");\n }\n player?.screenshot?.(\n `${props.areaName}_${new Date().getTime()}`,\n \"png\",\n 0.5,\n \"download\",\n );\n};\n\nconst playerFullscreen = (fullscreen: boolean) => {\n realFullscreen.value = fullscreen;\n if (props.debug) {\n console.log(\"全屏\");\n }\n // 自定义全屏逻辑\n if (typeof document !== \"undefined\") {\n if (!fullscreen) {\n document.exitFullscreen?.();\n } else {\n playerRef.value?.requestFullscreen?.();\n }\n setTimeout(() => {\n destroy();\n initPlayer(playUrl.value);\n }, 200);\n }\n isFullscreen.value = !fullscreen;\n};\ndefineExpose({\n play,\n destroy,\n getPlayer: () => player,\n pause: playerPause,\n screenshot: playerScreenShot,\n fullscreen: playerFullscreen,\n isMute: () => {\n return player?.isMute?.();\n },\n setMute: (mute: number) => {\n player?.setMute?.(mute);\n },\n});\n\n/**\n * 格式化URL,确保使用完整的URL\n * @param url - 原始URL\n * @returns 格式化后的URL\n */\nconst formatUrl = (url: string): string => {\n if (!url) return \"\";\n\n // 如果已经是完整URL,直接返回\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return url;\n }\n\n // 检查是否在浏览器环境中,避免SSR环境下的location访问错误\n if (typeof window !== \"undefined\" && window.location) {\n // 如果是相对路径,添加当前域名\n return `${window.location.origin}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n }\n\n // SSR 环境下返回相对路径\n return url;\n};\n\nasync function initPlayer(url: string) {\n if (props.debug) {\n console.log(\"初始化播放器\", url);\n }\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n if (props.debug) {\n console.log(\"格式化后的url\", playUrl.value);\n }\n if (typeof window !== \"undefined\" && window?.EasyPlayerPro) {\n createPlayer();\n } else if (typeof window !== \"undefined\") {\n const timer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n createPlayer();\n clearInterval(timer);\n }\n }, 100);\n }\n }\n}\n\n/**\n * 移除播放器DOM\n */\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n\n/**\n * 创建播放器DOM\n */\nfunction createPlayerDom() {\n removePlayerDom();\n if (typeof document !== \"undefined\") {\n nextTick(() => {\n const dom = document.createElement(\"div\");\n const { width, height } = playerRef.value!.getBoundingClientRect();\n dom.id = id;\n if (realFullscreen.value) {\n dom.style.width = `100vw`;\n dom.style.height =\n props.areaName || props.deviceSerial ? `calc(100vh - 32px)` : `100vh`;\n } else {\n dom.style.width = `${width}px`;\n dom.style.height =\n props.areaName || props.deviceSerial\n ? `${height - 32}px`\n : `${height}px`;\n }\n playerRef.value?.appendChild(dom);\n });\n }\n}\n\nasync function createPlayer() {\n if (props.debug) {\n console.log(\"创建播放器\");\n }\n videoInfo.value = null;\n createPlayerDom();\n await nextTick();\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\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 autoCleanupSourceBuffer: true, //(对 SourceBuffer 进行自动清理)\n\n autoCleanupMinBackwardDuration: 60, // (指示在执行自动清理时为后向缓冲区保留的持续时间,以秒为单位)\n });\n }\n if (player) {\n player.play(playUrl.value);\n\n // 15s未获取到视频信息,认为播放失败\n // const videoInfoTimer = setTimeout(() => {\n // if (!videoInfo.value) {\n // props.debug && console.log(\"15s未获取到视频信息\");\n // emits(\"error\");\n // playSuccess.value = false;\n // destroy();\n // initPlayer(playUrl.value);\n // }\n // }, 3000);\n // 加载超时\n player.on(\"timeout\", () => {\n // clearTimeout(videoInfoTimer);\n props.debug && console.log(\"加载超时\");\n emits(\"timeout\");\n playSuccess.value = false;\n destroy();\n initPlayer(playUrl.value);\n });\n // 播放异常\n player.on(\"error\", () => {\n props.debug && console.log(\"播放异常\");\n emits(\"error\");\n playSuccess.value = false;\n destroy();\n });\n player.on(\"play\", () => {\n playSuccess.value = true;\n props.debug && console.log(\"播放\");\n emits(\"play\");\n });\n player.on(\"pause\", () => {\n props.debug && console.log(\"暂停\");\n emits(\"pause\");\n });\n player.on(\"videoInfo\", (info: any) => {\n // clearTimeout(videoInfoTimer);\n props.debug && console.log(\"视频信息\", info);\n videoInfo.value = info;\n emits(\"videoInfo\", info);\n });\n player.on(\"mute\", (mute: false) => {\n props.debug && console.log(\"静音\");\n emits(\"mute\", mute);\n });\n }\n}\n\nfunction destroy() {\n if (player) {\n player.destroy();\n player = null;\n }\n removePlayerDom();\n}\n</script>\n\n<template>\n <div\n ref=\"playerRef\"\n class=\"i-tzj-easyPlayer\"\n :class=\"customBar ? 'i-tzj-easyPlayer--custom' : ''\"\n >\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-easyPlayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <error-page\n :videoName=\"areaName || deviceSerial\"\n message=\"无信号\"\n v-if=\"!playSuccess\"\n />\n <error-page\n :videoName=\"areaName || deviceSerial\"\n message=\"无播放地址\"\n v-if=\"!playUrl\"\n />\n\n <!-- 播放器底部操作栏 -->\n <slot name=\"customBar\" />\n </div>\n</template>\n"],"names":["useSlots","computed","uuid","shallowRef","ref","onMounted","watch","onBeforeUnmount","nextTick","_createElementBlock","_normalizeClass","_createCommentVNode","areaName","deviceSerial","_openBlock","_createElementVNode","_toDisplayString","_createBlock","ErrorPage","_renderSlot"],"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\">\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useSlots,\n watch,\n} from \"vue\";\nimport { TzjPlayerProps, uuid } from \"./tzj-player\";\nimport ErrorPage from \"./errorPage.vue\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nconst slots = useSlots();\nconst customBar = computed(() => slots.customBar);\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLDivElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\nconst isFullscreen = ref(false);\nconst videoInfo = ref<any>(null);\nconst realFullscreen = ref(false);\nconst eventHandlers = ref<Map<string, Function>>(new Map());\nonMounted(() => {\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl: string) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n if (props.debug) {\n console.log(\"组件卸载\");\n }\n playUrl.value = \"\";\n destroy();\n});\n\nconst play = (url?: string) => {\n if (url) {\n initPlayer(url);\n } else {\n if (player) {\n player.play(playUrl.value);\n } else {\n destroy();\n }\n }\n};\n\nconst playerPause = () => {\n if (props.debug) {\n console.log(\"暂停\");\n }\n player?.pause?.();\n};\n\nconst playerScreenShot = () => {\n if (props.debug) {\n console.log(\"截图\");\n }\n player?.screenshot?.(\n `${props.areaName}_${new Date().getTime()}`,\n \"png\",\n 0.5,\n \"download\",\n );\n};\n\nconst playerFullscreen = (fullscreen: boolean) => {\n realFullscreen.value = fullscreen;\n if (props.debug) {\n console.log(\"全屏\");\n }\n // 自定义全屏逻辑\n if (typeof document !== \"undefined\") {\n if (!fullscreen) {\n document.exitFullscreen?.();\n } else {\n playerRef.value?.requestFullscreen?.();\n }\n setTimeout(() => {\n destroy();\n initPlayer(playUrl.value);\n }, 200);\n }\n isFullscreen.value = !fullscreen;\n};\ndefineExpose({\n play,\n destroy,\n getPlayer: () => player,\n pause: playerPause,\n screenshot: playerScreenShot,\n fullscreen: playerFullscreen,\n isMute: () => {\n return player?.isMute?.();\n },\n setMute: (mute: number) => {\n player?.setMute?.(mute);\n },\n});\n\n/**\n * 格式化URL,确保使用完整的URL\n * @param url - 原始URL\n * @returns 格式化后的URL\n */\nconst formatUrl = (url: string): string => {\n if (!url) return \"\";\n\n // 如果已经是完整URL,直接返回\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n return url;\n }\n\n // 检查是否在浏览器环境中,避免SSR环境下的location访问错误\n if (typeof window !== \"undefined\" && window.location) {\n // 如果是相对路径,添加当前域名\n return `${window.location.origin}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n }\n\n // SSR 环境下返回相对路径\n return url;\n};\n\nasync function initPlayer(url: string) {\n if (props.debug) {\n console.log(\"初始化播放器\", url);\n }\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n if (props.debug) {\n console.log(\"格式化后的url\", playUrl.value);\n }\n if (typeof window !== \"undefined\" && window?.EasyPlayerPro) {\n createPlayer();\n } else if (typeof window !== \"undefined\") {\n const timer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n createPlayer();\n clearInterval(timer);\n }\n }, 100);\n }\n }\n}\n\n/**\n * 移除播放器DOM\n */\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n\n/**\n * 创建播放器DOM\n */\nfunction createPlayerDom() {\n removePlayerDom();\n if (typeof document !== \"undefined\") {\n nextTick(() => {\n const dom = document.createElement(\"div\");\n const { width, height } = playerRef.value!.getBoundingClientRect();\n dom.id = id;\n if (realFullscreen.value) {\n dom.style.width = `100vw`;\n dom.style.height =\n props.areaName || props.deviceSerial ? `calc(100vh - 32px)` : `100vh`;\n } else {\n dom.style.width = `${width}px`;\n dom.style.height =\n props.areaName || props.deviceSerial\n ? `${height - 32}px`\n : `${height}px`;\n }\n playerRef.value?.appendChild(dom);\n });\n }\n}\n\nasync function createPlayer() {\n if (props.debug) {\n console.log(\"创建播放器\");\n }\n videoInfo.value = null;\n createPlayerDom();\n await nextTick();\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\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 autoCleanupSourceBuffer: true, //(对 SourceBuffer 进行自动清理)\n\n autoCleanupMinBackwardDuration: 60, // (指示在执行自动清理时为后向缓冲区保留的持续时间,以秒为单位)\n });\n }\n if (player) {\n player.play(playUrl.value);\n\n const timeoutHandler = () => {\n props.debug && console.log(\"加载超时\");\n emits(\"timeout\");\n playSuccess.value = false;\n destroy();\n initPlayer(playUrl.value);\n };\n\n const errorHandler = () => {\n props.debug && console.log(\"播放异常\");\n emits(\"error\");\n playSuccess.value = false;\n destroy();\n };\n\n const playHandler = () => {\n playSuccess.value = true;\n props.debug && console.log(\"播放\");\n emits(\"play\");\n };\n\n const pauseHandler = () => {\n props.debug && console.log(\"暂停\");\n emits(\"pause\");\n };\n\n const videoInfoHandler = (info: any) => {\n props.debug && console.log(\"视频信息\", info);\n videoInfo.value = info;\n emits(\"videoInfo\", info);\n };\n\n const muteHandler = (mute: false) => {\n props.debug && console.log(\"静音\");\n emits(\"mute\", mute);\n };\n\n player.on(\"timeout\", timeoutHandler);\n player.on(\"error\", errorHandler);\n player.on(\"play\", playHandler);\n player.on(\"pause\", pauseHandler);\n player.on(\"videoInfo\", videoInfoHandler);\n player.on(\"mute\", muteHandler);\n\n eventHandlers.value.set(\"timeout\", timeoutHandler);\n eventHandlers.value.set(\"error\", errorHandler);\n eventHandlers.value.set(\"play\", playHandler);\n eventHandlers.value.set(\"pause\", pauseHandler);\n eventHandlers.value.set(\"videoInfo\", videoInfoHandler);\n eventHandlers.value.set(\"mute\", muteHandler);\n }\n}\n\nfunction destroy() {\n if (player) {\n eventHandlers.value.forEach((handler, eventName) => {\n player.off(eventName, handler);\n });\n eventHandlers.value.clear();\n player.destroy();\n player = null;\n }\n removePlayerDom();\n}\n</script>\n\n<template>\n <div\n ref=\"playerRef\"\n class=\"i-tzj-easyPlayer\"\n :class=\"customBar ? 'i-tzj-easyPlayer--custom' : ''\"\n >\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-easyPlayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <error-page\n :videoName=\"areaName || deviceSerial\"\n message=\"无信号\"\n v-if=\"!playSuccess\"\n />\n <error-page\n :videoName=\"areaName || deviceSerial\"\n message=\"无播放地址\"\n v-if=\"!playUrl\"\n />\n\n <!-- 播放器底部操作栏 -->\n <slot name=\"customBar\" />\n </div>\n</template>\n"],"names":["useSlots","computed","uuid","shallowRef","ref","onMounted","watch","onBeforeUnmount","nextTick","_createElementBlock","_normalizeClass","_createCommentVNode","areaName","deviceSerial","_openBlock","_createElementVNode","_toDisplayString","_createBlock","ErrorPage","_renderSlot"],"mappings":"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"}
|