@yimou6/common-ui 1.15.0 → 1.15.3

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 (61) hide show
  1. package/cdn/index.cdn.js +20 -20
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +20 -20
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/index.mjs +1 -1
  7. package/es/components/tzj-player/index.d.ts +659 -118
  8. package/es/components/tzj-player/index.mjs +1 -1
  9. package/es/components/tzj-player/src/icc-player.d.ts +6 -0
  10. package/es/components/tzj-player/src/icc-player.mjs +61 -0
  11. package/es/components/tzj-player/src/icc-player.mjs.map +1 -0
  12. package/es/components/tzj-player/src/icc-player.vue.d.ts +277 -0
  13. package/es/components/tzj-player/src/icc-player.vue.mjs +6 -0
  14. package/es/components/tzj-player/src/icc-player.vue.mjs.map +1 -0
  15. package/es/components/tzj-player/src/icc-player.vue2.mjs +87 -0
  16. package/es/components/tzj-player/src/icc-player.vue2.mjs.map +1 -0
  17. package/es/components/tzj-player/src/tzj-player.vue.d.ts +659 -118
  18. package/es/components/tzj-player/src/tzj-player.vue2.mjs +7 -4
  19. package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
  20. package/es/components/tzj-player/src/yunzhiyan.d.ts +0 -1
  21. package/es/components/tzj-player/src/yunzhiyan.mjs +4 -14
  22. package/es/components/tzj-player/src/yunzhiyan.mjs.map +1 -1
  23. package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +0 -10
  24. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +22 -45
  25. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
  26. package/es/index.mjs +2 -2
  27. package/es/utils/index.mjs +1 -1
  28. package/es/utils/util.d.ts +1 -0
  29. package/es/utils/util.mjs +14 -1
  30. package/es/utils/util.mjs.map +1 -1
  31. package/lib/components/index.js +0 -1
  32. package/lib/components/index.js.map +1 -1
  33. package/lib/components/tzj-player/index.d.ts +659 -118
  34. package/lib/components/tzj-player/index.js +0 -1
  35. package/lib/components/tzj-player/index.js.map +1 -1
  36. package/lib/components/tzj-player/src/icc-player.d.ts +6 -0
  37. package/lib/components/tzj-player/src/icc-player.js +63 -0
  38. package/lib/components/tzj-player/src/icc-player.js.map +1 -0
  39. package/lib/components/tzj-player/src/icc-player.vue.d.ts +277 -0
  40. package/lib/components/tzj-player/src/icc-player.vue.js +10 -0
  41. package/lib/components/tzj-player/src/icc-player.vue.js.map +1 -0
  42. package/lib/components/tzj-player/src/icc-player.vue2.js +91 -0
  43. package/lib/components/tzj-player/src/icc-player.vue2.js.map +1 -0
  44. package/lib/components/tzj-player/src/tzj-player.vue.d.ts +659 -118
  45. package/lib/components/tzj-player/src/tzj-player.vue2.js +4 -1
  46. package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
  47. package/lib/components/tzj-player/src/yunzhiyan.d.ts +0 -1
  48. package/lib/components/tzj-player/src/yunzhiyan.js +4 -15
  49. package/lib/components/tzj-player/src/yunzhiyan.js.map +1 -1
  50. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +0 -10
  51. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +21 -44
  52. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
  53. package/lib/index.js +1 -1
  54. package/lib/utils/index.js +1 -0
  55. package/lib/utils/index.js.map +1 -1
  56. package/lib/utils/util.d.ts +1 -0
  57. package/lib/utils/util.js +14 -0
  58. package/lib/utils/util.js.map +1 -1
  59. package/package.json +1 -1
  60. package/theme-default/i-geo-mark.css +1 -1
  61. package/theme-default/index.css +1 -1
@@ -11,7 +11,6 @@ var tzjPlayer_vue_vue_type_script_setup_true_lang = require('./src/tzj-player.vu
11
11
  const ITzjPlayer = install.withInstall(tzjPlayer_vue_vue_type_script_setup_true_lang.default);
12
12
 
13
13
  exports.getVideoUrlByCamreaId = yunzhiyan.getVideoUrlByCamreaId;
14
- exports.parseAuthorizedTokenCookie = yunzhiyan.parseAuthorizedTokenCookie;
15
14
  exports.ITzjPlayer = ITzjPlayer;
16
15
  exports.default = ITzjPlayer;
17
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/tzj-player/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport TzjPlayer from \"./src/tzj-player.vue\";\nexport * from \"./src/yunzhiyan\";\n\nexport const ITzjPlayer = withInstall(TzjPlayer); // 增加类型\n\nexport default ITzjPlayer;\n"],"names":["withInstall","TzjPlayer"],"mappings":";;;;;;;;;;AAIa,MAAA,UAAA,GAAaA,oBAAYC,qDAAS;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/tzj-player/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport TzjPlayer from \"./src/tzj-player.vue\";\nexport * from \"./src/yunzhiyan\";\n\nexport const ITzjPlayer = withInstall(TzjPlayer); // 增加类型\n\nexport default ITzjPlayer;\n"],"names":["withInstall","TzjPlayer"],"mappings":";;;;;;;;;;AAIa,MAAA,UAAA,GAAaA,oBAAYC,qDAAS;;;;;;"}
@@ -0,0 +1,6 @@
1
+ export interface VideoUrlResult {
2
+ code: number;
3
+ data: string | null;
4
+ msg: string;
5
+ }
6
+ export declare function getVideoUrlByCamreaId(deviceId?: string, refresh?: boolean): Promise<VideoUrlResult>;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ require('../../../utils/index.js');
4
+ var util = require('../../../utils/util.js');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ const REQUEST_TIMEOUT = 1e4;
9
+ async function getVideoUrlByCamreaId(deviceId, refresh = false) {
10
+ if (!deviceId) {
11
+ return { code: -1, data: null, msg: "\u8BBE\u5907ID\u4E0D\u80FD\u4E3A\u7A7A" };
12
+ }
13
+ const controller = new AbortController();
14
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
15
+ try {
16
+ const token = util.parseAuthorizedTokenCookie();
17
+ const headers = {};
18
+ if (token) {
19
+ headers.authorization = token;
20
+ } else {
21
+ console.warn(
22
+ "[tzj-player] \u672A\u83B7\u53D6\u5230 authorized-token\uFF0C\u672C\u6B21\u8BF7\u6C42\u5C06\u4E0D\u5E26\u9274\u6743\u5934"
23
+ );
24
+ }
25
+ const response = await fetch(
26
+ `/production/device/${encodeURIComponent(deviceId)}/play-url?refresh=${refresh}`,
27
+ { method: "GET", headers, signal: controller.signal }
28
+ );
29
+ if (!response.ok) {
30
+ console.error(
31
+ `[tzj-player] HTTP\u9519\u8BEF: ${response.status} ${response.statusText} - getVideoUrlByCamreaId`
32
+ );
33
+ return { code: response.status, data: null, msg: response.statusText };
34
+ }
35
+ const { code, data, msg } = await response.json();
36
+ if (code === 401) {
37
+ if (!refresh) {
38
+ return getVideoUrlByCamreaId(deviceId, true);
39
+ }
40
+ console.error("[tzj-player] \u5237\u65B0\u540E\u4ECD\u8FD4\u56DE 401\uFF0C\u505C\u6B62\u91CD\u8BD5", msg);
41
+ }
42
+ return { code, data, msg };
43
+ } catch (error) {
44
+ if (error instanceof Error && error.name === "AbortError") {
45
+ console.error(
46
+ `[tzj-player] \u8BF7\u6C42\u8D85\u65F6\uFF08${REQUEST_TIMEOUT / 1e3}s\uFF09: getVideoUrlByCamreaId`
47
+ );
48
+ return { code: -1, data: null, msg: "\u8BF7\u6C42\u8D85\u65F6" };
49
+ }
50
+ console.error("[tzj-player] \u8BF7\u6C42\u5931\u8D25: getVideoUrlByCamreaId", error);
51
+ return {
52
+ code: -1,
53
+ data: null,
54
+ msg: error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"
55
+ };
56
+ } finally {
57
+ clearTimeout(timeoutId);
58
+ }
59
+ }
60
+ __name(getVideoUrlByCamreaId, "getVideoUrlByCamreaId");
61
+
62
+ exports.getVideoUrlByCamreaId = getVideoUrlByCamreaId;
63
+ //# sourceMappingURL=icc-player.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icc-player.js","sources":["../../../../../../../packages/components/tzj-player/src/icc-player.ts"],"sourcesContent":["import { parseAuthorizedTokenCookie } from \"../../../utils\";\n\n/** 取流地址接口的统一返回结构 */\nexport interface VideoUrlResult {\n code: number;\n data: string | null;\n msg: string;\n}\n\n// 请求超时时间:网关无响应时及时失败,避免调用方无限等待黑屏\nconst REQUEST_TIMEOUT = 10_000;\n\nexport async function getVideoUrlByCamreaId(\n deviceId?: string,\n refresh: boolean = false,\n): Promise<VideoUrlResult> {\n // deviceId 缺失时直接失败,避免发出 /device/undefined/play-url 的无效请求\n if (!deviceId) {\n return { code: -1, data: null, msg: \"设备ID不能为空\" };\n }\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);\n\n try {\n // token 可能不存在或解析失败,不能把 null 直接塞进请求头\n const token = parseAuthorizedTokenCookie();\n const headers: Record<string, string> = {};\n if (token) {\n headers.authorization = token;\n } else {\n console.warn(\n \"[tzj-player] 未获取到 authorized-token,本次请求将不带鉴权头\",\n );\n }\n\n const response = await fetch(\n `/production/device/${encodeURIComponent(deviceId)}/play-url?refresh=${refresh}`,\n { method: \"GET\", headers, signal: controller.signal },\n );\n\n // 网关异常时可能返回 HTML 或空 body,先校验状态码再解析,避免抛出晦涩的 JSON 解析错误\n if (!response.ok) {\n console.error(\n `[tzj-player] HTTP错误: ${response.status} ${response.statusText} - getVideoUrlByCamreaId`,\n );\n return { code: response.status, data: null, msg: response.statusText };\n }\n\n const { code, data, msg } = await response.json();\n if (code === 401) {\n // 仅在首次调用(refresh=false)时带 refresh=true 重试一次;\n // refresh=true 仍 401 说明 token 彻底失效,必须停止递归,否则会无限请求\n if (!refresh) {\n return getVideoUrlByCamreaId(deviceId, true);\n }\n console.error(\"[tzj-player] 刷新后仍返回 401,停止重试\", msg);\n }\n\n return { code, data, msg };\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n console.error(\n `[tzj-player] 请求超时(${REQUEST_TIMEOUT / 1000}s): getVideoUrlByCamreaId`,\n );\n return { code: -1, data: null, msg: \"请求超时\" };\n }\n console.error(\"[tzj-player] 请求失败: getVideoUrlByCamreaId\", error);\n return {\n code: -1,\n data: null,\n msg: error instanceof Error ? error.message : \"未知错误\",\n };\n } finally {\n // 无论成功、失败还是 401 递归返回,都清掉本层的超时定时器\n clearTimeout(timeoutId);\n }\n}\n"],"names":["parseAuthorizedTokenCookie"],"mappings":";;;;;;;AAUA,MAAM,eAAkB,GAAA,GAAA;AAEF,eAAA,qBAAA,CACpB,QACA,EAAA,OAAA,GAAmB,KACM,EAAA;AAEzB,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAA,EAAI,IAAM,EAAA,IAAA,EAAM,KAAK,wCAAW,EAAA;AAAA;AAGjD,EAAM,MAAA,UAAA,GAAa,IAAI,eAAgB,EAAA;AACvC,EAAA,MAAM,YAAY,UAAW,CAAA,MAAM,UAAW,CAAA,KAAA,IAAS,eAAe,CAAA;AAEtE,EAAI,IAAA;AAEF,IAAA,MAAM,QAAQA,+BAA2B,EAAA;AACzC,IAAA,MAAM,UAAkC,EAAC;AACzC,IAAA,IAAI,KAAO,EAAA;AACT,MAAA,OAAA,CAAQ,aAAgB,GAAA,KAAA;AAAA,KACnB,MAAA;AACL,MAAQ,OAAA,CAAA,IAAA;AAAA,QACN;AAAA,OACF;AAAA;AAGF,IAAA,MAAM,WAAW,MAAM,KAAA;AAAA,MACrB,CAAsB,mBAAA,EAAA,kBAAA,CAAmB,QAAQ,CAAC,qBAAqB,OAAO,CAAA,CAAA;AAAA,MAC9E,EAAE,MAAQ,EAAA,KAAA,EAAO,OAAS,EAAA,MAAA,EAAQ,WAAW,MAAO;AAAA,KACtD;AAGA,IAAI,IAAA,CAAC,SAAS,EAAI,EAAA;AAChB,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,CAAwB,+BAAA,EAAA,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,SAAS,UAAU,CAAA,wBAAA;AAAA,OAChE;AACA,MAAO,OAAA,EAAE,MAAM,QAAS,CAAA,MAAA,EAAQ,MAAM,IAAM,EAAA,GAAA,EAAK,SAAS,UAAW,EAAA;AAAA;AAGvE,IAAA,MAAM,EAAE,IAAM,EAAA,IAAA,EAAM,KAAQ,GAAA,MAAM,SAAS,IAAK,EAAA;AAChD,IAAA,IAAI,SAAS,GAAK,EAAA;AAGhB,MAAA,IAAI,CAAC,OAAS,EAAA;AACZ,QAAO,OAAA,qBAAA,CAAsB,UAAU,IAAI,CAAA;AAAA;AAE7C,MAAQ,OAAA,CAAA,KAAA,CAAM,uFAAgC,GAAG,CAAA;AAAA;AAGnD,IAAO,OAAA,EAAE,IAAM,EAAA,IAAA,EAAM,GAAI,EAAA;AAAA,WAClB,KAAO,EAAA;AACd,IAAA,IAAI,KAAiB,YAAA,KAAA,IAAS,KAAM,CAAA,IAAA,KAAS,YAAc,EAAA;AACzD,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,CAAA,2CAAA,EAAqB,kBAAkB,GAAI,CAAA,8BAAA;AAAA,OAC7C;AACA,MAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAA,EAAI,IAAM,EAAA,IAAA,EAAM,KAAK,0BAAO,EAAA;AAAA;AAE7C,IAAQ,OAAA,CAAA,KAAA,CAAM,gEAA4C,KAAK,CAAA;AAC/D,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,CAAA,CAAA;AAAA,MACN,IAAM,EAAA,IAAA;AAAA,MACN,GAAK,EAAA,KAAA,YAAiB,KAAQ,GAAA,KAAA,CAAM,OAAU,GAAA;AAAA,KAChD;AAAA,GACA,SAAA;AAEA,IAAA,YAAA,CAAa,SAAS,CAAA;AAAA;AAE1B;AAjEsB,MAAA,CAAA,qBAAA,EAAA,uBAAA,CAAA;;;;"}
@@ -0,0 +1,277 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ url: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ accessToken: {
7
+ type: StringConstructor;
8
+ default: string;
9
+ };
10
+ areaName: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ deviceSerial: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ platformTypeName: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ debug: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ pauseMode: {
27
+ type: NumberConstructor;
28
+ default: number;
29
+ validator: (value: number) => boolean;
30
+ };
31
+ }>, {
32
+ props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
33
+ url: {
34
+ type: StringConstructor;
35
+ default: string;
36
+ };
37
+ accessToken: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ areaName: {
42
+ type: StringConstructor;
43
+ default: string;
44
+ };
45
+ deviceSerial: {
46
+ type: StringConstructor;
47
+ default: string;
48
+ };
49
+ platformTypeName: {
50
+ type: StringConstructor;
51
+ default: string;
52
+ };
53
+ debug: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ pauseMode: {
58
+ type: NumberConstructor;
59
+ default: number;
60
+ validator: (value: number) => boolean;
61
+ };
62
+ }>> & Readonly<{}> & {}>;
63
+ videoUrl: import("vue").Ref<string, string>;
64
+ errorMsg: import("vue").Ref<string, string>;
65
+ showBottomBar: import("vue").Ref<boolean, boolean>;
66
+ playerRef: import("vue").ShallowRef<any, any>;
67
+ isPlaying: import("vue").Ref<boolean, boolean>;
68
+ isVolumeMuted: import("vue").Ref<boolean, boolean>;
69
+ initPlayer: () => Promise<void>;
70
+ handleVideoInfo: () => void;
71
+ handleMute: (mute: boolean) => void;
72
+ EasyPlayer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
73
+ url: {
74
+ type: StringConstructor;
75
+ default: string;
76
+ };
77
+ accessToken: {
78
+ type: StringConstructor;
79
+ default: string;
80
+ };
81
+ areaName: {
82
+ type: StringConstructor;
83
+ default: string;
84
+ };
85
+ deviceSerial: {
86
+ type: StringConstructor;
87
+ default: string;
88
+ };
89
+ platformTypeName: {
90
+ type: StringConstructor;
91
+ default: string;
92
+ };
93
+ debug: {
94
+ type: BooleanConstructor;
95
+ default: boolean;
96
+ };
97
+ pauseMode: {
98
+ type: NumberConstructor;
99
+ default: number;
100
+ validator: (value: number) => boolean;
101
+ };
102
+ }>, {
103
+ props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
104
+ url: {
105
+ type: StringConstructor;
106
+ default: string;
107
+ };
108
+ accessToken: {
109
+ type: StringConstructor;
110
+ default: string;
111
+ };
112
+ areaName: {
113
+ type: StringConstructor;
114
+ default: string;
115
+ };
116
+ deviceSerial: {
117
+ type: StringConstructor;
118
+ default: string;
119
+ };
120
+ platformTypeName: {
121
+ type: StringConstructor;
122
+ default: string;
123
+ };
124
+ debug: {
125
+ type: BooleanConstructor;
126
+ default: boolean;
127
+ };
128
+ pauseMode: {
129
+ type: NumberConstructor;
130
+ default: number;
131
+ validator: (value: number) => boolean;
132
+ };
133
+ }>> & Readonly<{
134
+ onPlay?: ((...args: any[]) => any) | undefined;
135
+ onPause?: ((...args: any[]) => any) | undefined;
136
+ onError?: ((...args: any[]) => any) | undefined;
137
+ onVideoInfo?: ((...args: any[]) => any) | undefined;
138
+ onTimeout?: ((...args: any[]) => any) | undefined;
139
+ onMute?: ((...args: any[]) => any) | undefined;
140
+ }> & {}>;
141
+ emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
142
+ slots: Readonly<{
143
+ [name: string]: import("vue").Slot<any> | undefined;
144
+ }>;
145
+ customBar: import("vue").ComputedRef<import("vue").Slot<any> | undefined>;
146
+ player: any;
147
+ id: string;
148
+ playerRef: import("vue").ShallowRef<HTMLDivElement | undefined, HTMLDivElement | undefined>;
149
+ playSuccess: import("vue").Ref<boolean, boolean>;
150
+ playUrl: import("vue").Ref<string, string>;
151
+ videoInfo: import("vue").Ref<any, any>;
152
+ 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>>)>;
153
+ waitTimer: number | null;
154
+ restartTimer: import("vue").Ref<number | null, number | null>;
155
+ pauseCycleTimer: import("vue").Ref<number | null, number | null>;
156
+ resizeObserver: ResizeObserver | null;
157
+ createRetryCount: number;
158
+ MAX_CREATE_RETRY: number;
159
+ isUnmounted: boolean;
160
+ play: (url?: string) => void;
161
+ playerPause: () => void;
162
+ playerScreenShot: () => void;
163
+ formatUrl: (url: string) => string;
164
+ initPlayer: (url: string) => Promise<void>;
165
+ removePlayerDom: () => void;
166
+ createPlayerDom: () => Promise<HTMLDivElement>;
167
+ createPlayer: () => Promise<void>;
168
+ startPlayer: () => Promise<void>;
169
+ destroy: (flag?: boolean) => void;
170
+ }, {}, {}, {}, 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<{
171
+ url: {
172
+ type: StringConstructor;
173
+ default: string;
174
+ };
175
+ accessToken: {
176
+ type: StringConstructor;
177
+ default: string;
178
+ };
179
+ areaName: {
180
+ type: StringConstructor;
181
+ default: string;
182
+ };
183
+ deviceSerial: {
184
+ type: StringConstructor;
185
+ default: string;
186
+ };
187
+ platformTypeName: {
188
+ type: StringConstructor;
189
+ default: string;
190
+ };
191
+ debug: {
192
+ type: BooleanConstructor;
193
+ default: boolean;
194
+ };
195
+ pauseMode: {
196
+ type: NumberConstructor;
197
+ default: number;
198
+ validator: (value: number) => boolean;
199
+ };
200
+ }>> & Readonly<{
201
+ onPlay?: ((...args: any[]) => any) | undefined;
202
+ onPause?: ((...args: any[]) => any) | undefined;
203
+ onError?: ((...args: any[]) => any) | undefined;
204
+ onVideoInfo?: ((...args: any[]) => any) | undefined;
205
+ onTimeout?: ((...args: any[]) => any) | undefined;
206
+ onMute?: ((...args: any[]) => any) | undefined;
207
+ }>, {
208
+ url: string;
209
+ accessToken: string;
210
+ debug: boolean;
211
+ deviceSerial: string;
212
+ areaName: string;
213
+ platformTypeName: string;
214
+ pauseMode: number;
215
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
216
+ ErrorPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
217
+ videoName: {
218
+ type: StringConstructor;
219
+ default: string;
220
+ };
221
+ message: {
222
+ type: StringConstructor;
223
+ default: string;
224
+ };
225
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
226
+ videoName: {
227
+ type: StringConstructor;
228
+ default: string;
229
+ };
230
+ message: {
231
+ type: StringConstructor;
232
+ default: string;
233
+ };
234
+ }>> & Readonly<{}>, {
235
+ message: string;
236
+ videoName: string;
237
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
238
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
239
+ url: {
240
+ type: StringConstructor;
241
+ default: string;
242
+ };
243
+ accessToken: {
244
+ type: StringConstructor;
245
+ default: string;
246
+ };
247
+ areaName: {
248
+ type: StringConstructor;
249
+ default: string;
250
+ };
251
+ deviceSerial: {
252
+ type: StringConstructor;
253
+ default: string;
254
+ };
255
+ platformTypeName: {
256
+ type: StringConstructor;
257
+ default: string;
258
+ };
259
+ debug: {
260
+ type: BooleanConstructor;
261
+ default: boolean;
262
+ };
263
+ pauseMode: {
264
+ type: NumberConstructor;
265
+ default: number;
266
+ validator: (value: number) => boolean;
267
+ };
268
+ }>> & Readonly<{}>, {
269
+ url: string;
270
+ accessToken: string;
271
+ debug: boolean;
272
+ deviceSerial: string;
273
+ areaName: string;
274
+ platformTypeName: string;
275
+ pauseMode: number;
276
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
277
+ export default _default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var iccPlayer_vue_vue_type_script_setup_true_lang = require('./icc-player.vue2.js');
6
+
7
+
8
+
9
+ exports.default = iccPlayer_vue_vue_type_script_setup_true_lang.default;
10
+ //# sourceMappingURL=icc-player.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icc-player.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var elementPlus = require('element-plus');
7
+ require('./easyPlayer.vue.js');
8
+ require('./errorPage.vue.js');
9
+ var tzjPlayer = require('./tzj-player.js');
10
+ var iccPlayer = require('./icc-player.js');
11
+ var errorPage_vue_vue_type_script_setup_true_lang = require('./errorPage.vue2.js');
12
+ var easyPlayer_vue_vue_type_script_setup_true_lang = require('./easyPlayer.vue2.js');
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...{
18
+ name: "iccPlayer"
19
+ },
20
+ __name: "icc-player",
21
+ props: tzjPlayer.TzjPlayerProps,
22
+ setup(__props) {
23
+ const props = __props;
24
+ const videoUrl = vue.ref("");
25
+ const errorMsg = vue.ref("");
26
+ const showBottomBar = vue.ref(false);
27
+ const playerRef = vue.shallowRef();
28
+ const isPlaying = vue.ref(false);
29
+ const isVolumeMuted = vue.ref(true);
30
+ const initPlayer = /* @__PURE__ */ __name(async () => {
31
+ try {
32
+ if (!props.deviceSerial) {
33
+ errorMsg.value = "\u8BBE\u5907\u5E8F\u5217\u53F7\u4E0D\u80FD\u4E3A\u7A7A";
34
+ return;
35
+ }
36
+ const { code, data, msg } = await iccPlayer.getVideoUrlByCamreaId(props.deviceSerial);
37
+ if (props.debug) {
38
+ console.log("\u83B7\u53D6\u4E91\u667A\u773C\u8BBE\u5907\u89C6\u9891\u64AD\u653E\u5730\u5740", data);
39
+ }
40
+ if (code !== 200) {
41
+ errorMsg.value = "\u83B7\u53D6\u89C6\u9891\u64AD\u653E\u5730\u5740\u5931\u8D25";
42
+ elementPlus.ElMessage.error(msg || "\u6570\u636E\u83B7\u53D6\u5931\u8D25!");
43
+ return;
44
+ }
45
+ videoUrl.value = data != null ? data : "";
46
+ errorMsg.value = "";
47
+ } catch (error) {
48
+ if (props.debug) {
49
+ console.error("\u521D\u59CB\u5316\u4E91\u667A\u773C\u64AD\u653E\u5668\u5931\u8D25:", error);
50
+ }
51
+ errorMsg.value = `\u521D\u59CB\u5316\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`;
52
+ }
53
+ }, "initPlayer");
54
+ const handleVideoInfo = /* @__PURE__ */ __name(() => {
55
+ var _a;
56
+ isVolumeMuted.value = (_a = playerRef.value) == null ? void 0 : _a.isMute();
57
+ }, "handleVideoInfo");
58
+ const handleMute = /* @__PURE__ */ __name((mute) => {
59
+ isVolumeMuted.value = mute;
60
+ }, "handleMute");
61
+ vue.onMounted(async () => {
62
+ initPlayer();
63
+ });
64
+ return (_ctx, _cache) => {
65
+ return errorMsg.value ? (vue.openBlock(), vue.createBlock(errorPage_vue_vue_type_script_setup_true_lang.default, {
66
+ key: 0,
67
+ message: errorMsg.value
68
+ }, null, 8, ["message"])) : videoUrl.value ? (vue.openBlock(), vue.createBlock(easyPlayer_vue_vue_type_script_setup_true_lang.default, {
69
+ key: 1,
70
+ ref_key: "playerRef",
71
+ ref: playerRef,
72
+ url: videoUrl.value,
73
+ debug: _ctx.debug,
74
+ "access-token": _ctx.accessToken,
75
+ "platform-type-name": _ctx.platformTypeName,
76
+ "device-serial": _ctx.deviceSerial,
77
+ "area-name": _ctx.areaName,
78
+ "pause-mode": _ctx.pauseMode,
79
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => showBottomBar.value = true),
80
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => showBottomBar.value = false),
81
+ onPause: _cache[2] || (_cache[2] = ($event) => isPlaying.value = false),
82
+ onPlay: _cache[3] || (_cache[3] = ($event) => isPlaying.value = true),
83
+ onVideoInfo: handleVideoInfo,
84
+ onMute: handleMute
85
+ }, null, 8, ["url", "debug", "access-token", "platform-type-name", "device-serial", "area-name", "pause-mode"])) : vue.createCommentVNode("v-if", true);
86
+ };
87
+ }
88
+ });
89
+
90
+ exports.default = _sfc_main;
91
+ //# sourceMappingURL=icc-player.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icc-player.vue2.js","sources":["../../../../../../../packages/components/tzj-player/src/icc-player.vue"],"sourcesContent":["<!-- 大华播放器 -->\n<!-- packages\\components\\tzj-player\\src\\icc-player.vue -->\n<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\nimport { getVideoUrlByCamreaId } from \"./icc-player\";\n\ndefineOptions({\n name: \"iccPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst videoUrl = ref(\"\");\nconst errorMsg = ref(\"\");\nconst showBottomBar = ref(false);\n\n// 播放器相关状态\nconst playerRef = shallowRef();\nconst isPlaying = ref(false); // 是否播放,播放true,暂停false\nconst isVolumeMuted = ref(true);\n\n/**\n * 初始化云智眼播放器\n * 获取设备通道ID和视频播放地址\n */\nconst initPlayer = async (): Promise<void> => {\n try {\n if (!props.deviceSerial) {\n errorMsg.value = \"设备序列号不能为空\";\n return;\n }\n\n const { code, data, msg } = await getVideoUrlByCamreaId(props.deviceSerial);\n\n if (props.debug) {\n console.log(\"获取云智眼设备视频播放地址\", data);\n }\n\n if (code !== 200) {\n errorMsg.value = \"获取视频播放地址失败\";\n ElMessage.error(msg || \"数据获取失败!\");\n return;\n }\n\n videoUrl.value = data ?? \"\";\n errorMsg.value = \"\"; // 清除错误信息\n } catch (error) {\n if (props.debug) {\n console.error(\"初始化云智眼播放器失败:\", error);\n }\n errorMsg.value = `初始化失败: ${error instanceof Error ? error.message : \"未知错误\"}`;\n }\n};\n\n// 获取视频信息,判断当前是否为静音状态\nconst handleVideoInfo = () => {\n // 判断是否静音\n isVolumeMuted.value = playerRef.value?.isMute();\n};\nconst handleMute = (mute: boolean) => {\n isVolumeMuted.value = mute;\n};\n\nonMounted(async () => {\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 </EasyPlayer>\n</template>\n"],"names":["ref","shallowRef","getVideoUrlByCamreaId","ElMessage","onMounted","_createBlock","ErrorPage","EasyPlayer","debug","accessToken","platformTypeName","deviceSerial","areaName","pauseMode"],"mappings":"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"}