@yimou6/common-ui 1.14.6 → 1.15.2

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 (64) 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/es/components/geoMark/src/geoMark.mjs.map +1 -1
  6. package/es/components/geoMark/src/geoMark.vue2.mjs +2 -2
  7. package/es/components/geoMark/src/geoMark.vue2.mjs.map +1 -1
  8. package/es/components/index.mjs +1 -1
  9. package/es/components/tzj-player/index.d.ts +659 -118
  10. package/es/components/tzj-player/index.mjs +1 -1
  11. package/es/components/tzj-player/src/icc-player.d.ts +6 -0
  12. package/es/components/tzj-player/src/icc-player.mjs +61 -0
  13. package/es/components/tzj-player/src/icc-player.mjs.map +1 -0
  14. package/es/components/tzj-player/src/icc-player.vue.d.ts +277 -0
  15. package/es/components/tzj-player/src/icc-player.vue.mjs +6 -0
  16. package/es/components/tzj-player/src/icc-player.vue.mjs.map +1 -0
  17. package/es/components/tzj-player/src/icc-player.vue2.mjs +87 -0
  18. package/es/components/tzj-player/src/icc-player.vue2.mjs.map +1 -0
  19. package/es/components/tzj-player/src/tzj-player.vue.d.ts +659 -118
  20. package/es/components/tzj-player/src/tzj-player.vue2.mjs +7 -4
  21. package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
  22. package/es/components/tzj-player/src/yunzhiyan.d.ts +0 -1
  23. package/es/components/tzj-player/src/yunzhiyan.mjs +4 -14
  24. package/es/components/tzj-player/src/yunzhiyan.mjs.map +1 -1
  25. package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +0 -10
  26. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +22 -45
  27. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
  28. package/es/index.mjs +2 -2
  29. package/es/utils/index.mjs +1 -1
  30. package/es/utils/util.d.ts +1 -0
  31. package/es/utils/util.mjs +14 -1
  32. package/es/utils/util.mjs.map +1 -1
  33. package/lib/components/geoMark/src/geoMark.js.map +1 -1
  34. package/lib/components/geoMark/src/geoMark.vue2.js +2 -2
  35. package/lib/components/geoMark/src/geoMark.vue2.js.map +1 -1
  36. package/lib/components/index.js +0 -1
  37. package/lib/components/index.js.map +1 -1
  38. package/lib/components/tzj-player/index.d.ts +659 -118
  39. package/lib/components/tzj-player/index.js +0 -1
  40. package/lib/components/tzj-player/index.js.map +1 -1
  41. package/lib/components/tzj-player/src/icc-player.d.ts +6 -0
  42. package/lib/components/tzj-player/src/icc-player.js +63 -0
  43. package/lib/components/tzj-player/src/icc-player.js.map +1 -0
  44. package/lib/components/tzj-player/src/icc-player.vue.d.ts +277 -0
  45. package/lib/components/tzj-player/src/icc-player.vue.js +10 -0
  46. package/lib/components/tzj-player/src/icc-player.vue.js.map +1 -0
  47. package/lib/components/tzj-player/src/icc-player.vue2.js +91 -0
  48. package/lib/components/tzj-player/src/icc-player.vue2.js.map +1 -0
  49. package/lib/components/tzj-player/src/tzj-player.vue.d.ts +659 -118
  50. package/lib/components/tzj-player/src/tzj-player.vue2.js +4 -1
  51. package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
  52. package/lib/components/tzj-player/src/yunzhiyan.d.ts +0 -1
  53. package/lib/components/tzj-player/src/yunzhiyan.js +4 -15
  54. package/lib/components/tzj-player/src/yunzhiyan.js.map +1 -1
  55. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +0 -10
  56. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +21 -44
  57. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
  58. package/lib/index.js +1 -1
  59. package/lib/utils/index.js +1 -0
  60. package/lib/utils/index.js.map +1 -1
  61. package/lib/utils/util.d.ts +1 -0
  62. package/lib/utils/util.js +14 -0
  63. package/lib/utils/util.js.map +1 -1
  64. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
2
  import './src/tzj-player.vue.mjs';
3
- export { getVideoUrlByCamreaId, parseAuthorizedTokenCookie } from './src/yunzhiyan.mjs';
3
+ export { getVideoUrlByCamreaId } from './src/yunzhiyan.mjs';
4
4
  import { withInstall } from '../../utils/install.mjs';
5
5
  import _sfc_main from './src/tzj-player.vue2.mjs';
6
6
 
@@ -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,61 @@
1
+ import '../../../utils/index.mjs';
2
+ import { parseAuthorizedTokenCookie } from '../../../utils/util.mjs';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ const REQUEST_TIMEOUT = 1e4;
7
+ async function getVideoUrlByCamreaId(deviceId, refresh = false) {
8
+ if (!deviceId) {
9
+ return { code: -1, data: null, msg: "\u8BBE\u5907ID\u4E0D\u80FD\u4E3A\u7A7A" };
10
+ }
11
+ const controller = new AbortController();
12
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
13
+ try {
14
+ const token = parseAuthorizedTokenCookie();
15
+ const headers = {};
16
+ if (token) {
17
+ headers.authorization = token;
18
+ } else {
19
+ console.warn(
20
+ "[tzj-player] \u672A\u83B7\u53D6\u5230 authorized-token\uFF0C\u672C\u6B21\u8BF7\u6C42\u5C06\u4E0D\u5E26\u9274\u6743\u5934"
21
+ );
22
+ }
23
+ const response = await fetch(
24
+ `/production/device/${encodeURIComponent(deviceId)}/play-url?refresh=${refresh}`,
25
+ { method: "GET", headers, signal: controller.signal }
26
+ );
27
+ if (!response.ok) {
28
+ console.error(
29
+ `[tzj-player] HTTP\u9519\u8BEF: ${response.status} ${response.statusText} - getVideoUrlByCamreaId`
30
+ );
31
+ return { code: response.status, data: null, msg: response.statusText };
32
+ }
33
+ const { code, data, msg } = await response.json();
34
+ if (code === 401) {
35
+ if (!refresh) {
36
+ return getVideoUrlByCamreaId(deviceId, true);
37
+ }
38
+ console.error("[tzj-player] \u5237\u65B0\u540E\u4ECD\u8FD4\u56DE 401\uFF0C\u505C\u6B62\u91CD\u8BD5", msg);
39
+ }
40
+ return { code, data, msg };
41
+ } catch (error) {
42
+ if (error instanceof Error && error.name === "AbortError") {
43
+ console.error(
44
+ `[tzj-player] \u8BF7\u6C42\u8D85\u65F6\uFF08${REQUEST_TIMEOUT / 1e3}s\uFF09: getVideoUrlByCamreaId`
45
+ );
46
+ return { code: -1, data: null, msg: "\u8BF7\u6C42\u8D85\u65F6" };
47
+ }
48
+ console.error("[tzj-player] \u8BF7\u6C42\u5931\u8D25: getVideoUrlByCamreaId", error);
49
+ return {
50
+ code: -1,
51
+ data: null,
52
+ msg: error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"
53
+ };
54
+ } finally {
55
+ clearTimeout(timeoutId);
56
+ }
57
+ }
58
+ __name(getVideoUrlByCamreaId, "getVideoUrlByCamreaId");
59
+
60
+ export { getVideoUrlByCamreaId };
61
+ //# sourceMappingURL=icc-player.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icc-player.mjs","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":[],"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,QAAQ,0BAA2B,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,6 @@
1
+ import _sfc_main from './icc-player.vue2.mjs';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
6
+ //# sourceMappingURL=icc-player.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icc-player.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,87 @@
1
+ import { defineComponent, ref, shallowRef, onMounted, openBlock, createBlock, createCommentVNode } from 'vue';
2
+ import { ElMessage } from 'element-plus';
3
+ import './easyPlayer.vue.mjs';
4
+ import './errorPage.vue.mjs';
5
+ import { TzjPlayerProps } from './tzj-player.mjs';
6
+ import { getVideoUrlByCamreaId } from './icc-player.mjs';
7
+ import _sfc_main$1 from './errorPage.vue2.mjs';
8
+ import _sfc_main$2 from './easyPlayer.vue2.mjs';
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
12
+ var _sfc_main = /* @__PURE__ */ defineComponent({
13
+ ...{
14
+ name: "iccPlayer"
15
+ },
16
+ __name: "icc-player",
17
+ props: TzjPlayerProps,
18
+ setup(__props) {
19
+ const props = __props;
20
+ const videoUrl = ref("");
21
+ const errorMsg = ref("");
22
+ const showBottomBar = ref(false);
23
+ const playerRef = shallowRef();
24
+ const isPlaying = ref(false);
25
+ const isVolumeMuted = ref(true);
26
+ const initPlayer = /* @__PURE__ */ __name(async () => {
27
+ try {
28
+ if (!props.deviceSerial) {
29
+ errorMsg.value = "\u8BBE\u5907\u5E8F\u5217\u53F7\u4E0D\u80FD\u4E3A\u7A7A";
30
+ return;
31
+ }
32
+ const { code, data, msg } = await getVideoUrlByCamreaId(props.deviceSerial);
33
+ if (props.debug) {
34
+ console.log("\u83B7\u53D6\u4E91\u667A\u773C\u8BBE\u5907\u89C6\u9891\u64AD\u653E\u5730\u5740", data);
35
+ }
36
+ if (code !== 200) {
37
+ errorMsg.value = "\u83B7\u53D6\u89C6\u9891\u64AD\u653E\u5730\u5740\u5931\u8D25";
38
+ ElMessage.error(msg || "\u6570\u636E\u83B7\u53D6\u5931\u8D25!");
39
+ return;
40
+ }
41
+ videoUrl.value = data != null ? data : "";
42
+ errorMsg.value = "";
43
+ } catch (error) {
44
+ if (props.debug) {
45
+ console.error("\u521D\u59CB\u5316\u4E91\u667A\u773C\u64AD\u653E\u5668\u5931\u8D25:", error);
46
+ }
47
+ errorMsg.value = `\u521D\u59CB\u5316\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`;
48
+ }
49
+ }, "initPlayer");
50
+ const handleVideoInfo = /* @__PURE__ */ __name(() => {
51
+ var _a;
52
+ isVolumeMuted.value = (_a = playerRef.value) == null ? void 0 : _a.isMute();
53
+ }, "handleVideoInfo");
54
+ const handleMute = /* @__PURE__ */ __name((mute) => {
55
+ isVolumeMuted.value = mute;
56
+ }, "handleMute");
57
+ onMounted(async () => {
58
+ initPlayer();
59
+ });
60
+ return (_ctx, _cache) => {
61
+ return errorMsg.value ? (openBlock(), createBlock(_sfc_main$1, {
62
+ key: 0,
63
+ message: errorMsg.value
64
+ }, null, 8, ["message"])) : videoUrl.value ? (openBlock(), createBlock(_sfc_main$2, {
65
+ key: 1,
66
+ ref_key: "playerRef",
67
+ ref: playerRef,
68
+ url: videoUrl.value,
69
+ debug: _ctx.debug,
70
+ "access-token": _ctx.accessToken,
71
+ "platform-type-name": _ctx.platformTypeName,
72
+ "device-serial": _ctx.deviceSerial,
73
+ "area-name": _ctx.areaName,
74
+ "pause-mode": _ctx.pauseMode,
75
+ onMouseenter: _cache[0] || (_cache[0] = ($event) => showBottomBar.value = true),
76
+ onMouseleave: _cache[1] || (_cache[1] = ($event) => showBottomBar.value = false),
77
+ onPause: _cache[2] || (_cache[2] = ($event) => isPlaying.value = false),
78
+ onPlay: _cache[3] || (_cache[3] = ($event) => isPlaying.value = true),
79
+ onVideoInfo: handleVideoInfo,
80
+ onMute: handleMute
81
+ }, null, 8, ["url", "debug", "access-token", "platform-type-name", "device-serial", "area-name", "pause-mode"])) : createCommentVNode("v-if", true);
82
+ };
83
+ }
84
+ });
85
+
86
+ export { _sfc_main as default };
87
+ //# sourceMappingURL=icc-player.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icc-player.vue2.mjs","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":["_createBlock","ErrorPage","EasyPlayer","debug","accessToken","platformTypeName","deviceSerial","areaName","pauseMode"],"mappings":"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"}