@yimou6/common-ui 1.10.8 → 1.10.10

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 (36) hide show
  1. package/cdn/index.cdn.js +9 -9
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +11 -11
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/tzj-player/index.d.ts +14 -14
  7. package/es/components/tzj-player/src/easyPlayer.vue.d.ts +1 -1
  8. package/es/components/tzj-player/src/easyPlayer.vue2.mjs +88 -75
  9. package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
  10. package/es/components/tzj-player/src/tzj-player.vue.d.ts +14 -14
  11. package/es/components/tzj-player/src/ysPlayer.vue.d.ts +2 -2
  12. package/es/components/tzj-player/src/ysPlayer.vue2.mjs +40 -29
  13. package/es/components/tzj-player/src/ysPlayer.vue2.mjs.map +1 -1
  14. package/es/components/tzj-player/src/yunzhiyan.d.ts +4 -4
  15. package/es/components/tzj-player/src/yunzhiyan.mjs +246 -99
  16. package/es/components/tzj-player/src/yunzhiyan.mjs.map +1 -1
  17. package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -2
  18. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +10 -2
  19. package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
  20. package/lib/components/tzj-player/index.d.ts +14 -14
  21. package/lib/components/tzj-player/src/easyPlayer.vue.d.ts +1 -1
  22. package/lib/components/tzj-player/src/easyPlayer.vue2.js +88 -75
  23. package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
  24. package/lib/components/tzj-player/src/tzj-player.vue.d.ts +14 -14
  25. package/lib/components/tzj-player/src/ysPlayer.vue.d.ts +2 -2
  26. package/lib/components/tzj-player/src/ysPlayer.vue2.js +40 -29
  27. package/lib/components/tzj-player/src/ysPlayer.vue2.js.map +1 -1
  28. package/lib/components/tzj-player/src/yunzhiyan.d.ts +4 -4
  29. package/lib/components/tzj-player/src/yunzhiyan.js +246 -99
  30. package/lib/components/tzj-player/src/yunzhiyan.js.map +1 -1
  31. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -2
  32. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +10 -2
  33. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
  34. package/package.json +1 -1
  35. package/theme-default/i-tzj-player.css +1 -1
  36. package/theme-default/index.css +1 -1
@@ -4,8 +4,22 @@ var CryptoJS = require('crypto-js');
4
4
 
5
5
  var __defProp = Object.defineProperty;
6
6
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- const ACCESS_KEY = localStorage.getItem("YZYAK") || "04564D97CFEA44848DBF710AD51596096697";
8
- const SECRET_KEY = localStorage.getItem("YZYSK") || "11925B4A833545F998519FE969EA83B36335";
7
+ function getAccessKey() {
8
+ if (typeof localStorage !== "undefined") {
9
+ return localStorage.getItem("YZYAK") || "04564D97CFEA44848DBF710AD51596096697";
10
+ }
11
+ return "04564D97CFEA44848DBF710AD51596096697";
12
+ }
13
+ __name(getAccessKey, "getAccessKey");
14
+ function getSecretKey() {
15
+ if (typeof localStorage !== "undefined") {
16
+ return localStorage.getItem("YZYSK") || "11925B4A833545F998519FE969EA83B36335";
17
+ }
18
+ return "11925B4A833545F998519FE969EA83B36335";
19
+ }
20
+ __name(getSecretKey, "getSecretKey");
21
+ const ACCESS_KEY = getAccessKey();
22
+ const SECRET_KEY = getSecretKey();
9
23
  function sign(headers, params, sk = SECRET_KEY) {
10
24
  const obj = Object.assign({}, headers, params);
11
25
  const keys = Object.keys(obj).sort();
@@ -21,139 +35,272 @@ function sign(headers, params, sk = SECRET_KEY) {
21
35
  }
22
36
  __name(sign, "sign");
23
37
  async function GetYunZhiYanDeviceChannel(deviceId) {
24
- const headers = {
25
- algorithm: "HmacSHA256",
26
- requestTime: Date.now(),
27
- accessKey: ACCESS_KEY
28
- };
29
- const params = { deviceId };
30
- headers.sign = sign(headers, params, SECRET_KEY);
31
- const response = await fetch("/vsuap-platform-api/v1/device/queryChannel", {
32
- method: "POST",
33
- headers: {
34
- "Content-Type": "application/json",
35
- ...headers
36
- },
37
- body: JSON.stringify(params)
38
- });
39
- const status = response.status;
40
- const res = await response.json();
41
- if (status === 200) {
38
+ try {
39
+ const headers = {
40
+ algorithm: "HmacSHA256",
41
+ requestTime: Date.now(),
42
+ accessKey: ACCESS_KEY
43
+ };
44
+ const params = { deviceId };
45
+ headers.sign = sign(headers, params, SECRET_KEY);
46
+ const controller = new AbortController();
47
+ const timeoutId = setTimeout(() => controller.abort(), 1e4);
48
+ const response = await fetch("/vsuap-platform-api/v1/device/queryChannel", {
49
+ method: "POST",
50
+ headers: {
51
+ "Content-Type": "application/json",
52
+ ...headers
53
+ },
54
+ body: JSON.stringify(params),
55
+ signal: controller.signal
56
+ });
57
+ clearTimeout(timeoutId);
58
+ if (!response.ok) {
59
+ console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
60
+ return false;
61
+ }
62
+ const res = await response.json();
42
63
  const { code, data } = res;
43
64
  if (code === 200 && Array.isArray(data) && data.length > 0 && data[0].channelCodeId) {
44
65
  return data[0].channelCodeId || "";
66
+ } else {
67
+ console.error(
68
+ `\u4E1A\u52A1\u9519\u8BEF: code=${code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
69
+ );
70
+ return false;
45
71
  }
72
+ } catch (error) {
73
+ if (error instanceof Error) {
74
+ if (error.name === "AbortError") {
75
+ console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanDeviceChannel");
76
+ } else if (error.name === "TypeError") {
77
+ console.error("\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanDeviceChannel", error.message);
78
+ } else {
79
+ console.error(
80
+ "JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanDeviceChannel",
81
+ error.message
82
+ );
83
+ }
84
+ } else {
85
+ console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanDeviceChannel", error);
86
+ }
87
+ return false;
46
88
  }
47
- return false;
48
89
  }
49
90
  __name(GetYunZhiYanDeviceChannel, "GetYunZhiYanDeviceChannel");
50
91
  async function GetYunZhiYanDeviceVideoUrl(deviceId, channelCodeId) {
51
- const headers = {
52
- algorithm: "HmacSHA256",
53
- requestTime: Date.now(),
54
- accessKey: ACCESS_KEY
55
- };
56
- const params = { deviceId, channelCodeId };
57
- headers.sign = sign(headers, params, SECRET_KEY);
58
- const response = await fetch("/vsuap-platform-api/v1/device/playOn", {
59
- method: "POST",
60
- headers: {
61
- "Content-Type": "application/json",
62
- ...headers
63
- },
64
- body: JSON.stringify(params)
65
- });
66
- const status = response.status;
67
- const res = await response.json();
68
- if (status === 200) {
92
+ try {
93
+ const headers = {
94
+ algorithm: "HmacSHA256",
95
+ requestTime: Date.now(),
96
+ accessKey: ACCESS_KEY
97
+ };
98
+ const params = { deviceId, channelCodeId };
99
+ headers.sign = sign(headers, params, SECRET_KEY);
100
+ const controller = new AbortController();
101
+ const timeoutId = setTimeout(() => controller.abort(), 1e4);
102
+ const response = await fetch("/vsuap-platform-api/v1/device/playOn", {
103
+ method: "POST",
104
+ headers: {
105
+ "Content-Type": "application/json",
106
+ ...headers
107
+ },
108
+ body: JSON.stringify(params),
109
+ signal: controller.signal
110
+ });
111
+ clearTimeout(timeoutId);
112
+ if (!response.ok) {
113
+ console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
114
+ return false;
115
+ }
116
+ const res = await response.json();
69
117
  const { code, data } = res;
70
118
  if (code === 200) {
71
119
  return (data == null ? void 0 : data.flv) || "";
120
+ } else {
121
+ console.error(
122
+ `\u4E1A\u52A1\u9519\u8BEF: code=${code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
123
+ );
124
+ return false;
72
125
  }
126
+ } catch (error) {
127
+ if (error instanceof Error) {
128
+ if (error.name === "AbortError") {
129
+ console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanDeviceVideoUrl");
130
+ } else if (error.name === "TypeError") {
131
+ console.error("\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanDeviceVideoUrl", error.message);
132
+ } else {
133
+ console.error(
134
+ "JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanDeviceVideoUrl",
135
+ error.message
136
+ );
137
+ }
138
+ } else {
139
+ console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanDeviceVideoUrl", error);
140
+ }
141
+ return false;
73
142
  }
74
- return false;
75
143
  }
76
144
  __name(GetYunZhiYanDeviceVideoUrl, "GetYunZhiYanDeviceVideoUrl");
77
145
  async function GetYunZhiYanOpenVoiceIntercom(deviceId) {
78
- const headers = {
79
- algorithm: "HmacSHA256",
80
- requestTime: Date.now(),
81
- accessKey: ACCESS_KEY
82
- };
83
- const params = { deviceId, deviceType: "1", enableAudioSign: "1" };
84
- headers.sign = sign(headers, params, SECRET_KEY);
85
- const response = await fetch("/vsuap-platform-api/v1/device/broadcastOn", {
86
- method: "POST",
87
- headers: {
88
- "Content-Type": "application/json",
89
- ...headers
90
- },
91
- body: JSON.stringify(params)
92
- });
93
- const status = response.status;
94
- const res = await response.json();
95
- if (status === 200) {
146
+ try {
147
+ const headers = {
148
+ algorithm: "HmacSHA256",
149
+ requestTime: Date.now(),
150
+ accessKey: ACCESS_KEY
151
+ };
152
+ const params = { deviceId, deviceType: "1", enableAudioSign: "1" };
153
+ headers.sign = sign(headers, params, SECRET_KEY);
154
+ const controller = new AbortController();
155
+ const timeoutId = setTimeout(() => controller.abort(), 1e4);
156
+ const response = await fetch("/vsuap-platform-api/v1/device/broadcastOn", {
157
+ method: "POST",
158
+ headers: {
159
+ "Content-Type": "application/json",
160
+ ...headers
161
+ },
162
+ body: JSON.stringify(params),
163
+ signal: controller.signal
164
+ });
165
+ clearTimeout(timeoutId);
166
+ if (!response.ok) {
167
+ console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
168
+ return false;
169
+ }
170
+ const res = await response.json();
96
171
  const { code, data } = res;
97
172
  if (code === 200) {
98
173
  return data;
174
+ } else {
175
+ console.error(
176
+ `\u4E1A\u52A1\u9519\u8BEF: code=${code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
177
+ );
178
+ return false;
99
179
  }
180
+ } catch (error) {
181
+ if (error instanceof Error) {
182
+ if (error.name === "AbortError") {
183
+ console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanOpenVoiceIntercom");
184
+ } else if (error.name === "TypeError") {
185
+ console.error("\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanOpenVoiceIntercom", error.message);
186
+ } else {
187
+ console.error(
188
+ "JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanOpenVoiceIntercom",
189
+ error.message
190
+ );
191
+ }
192
+ } else {
193
+ console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanOpenVoiceIntercom", error);
194
+ }
195
+ return false;
100
196
  }
101
- return false;
102
197
  }
103
198
  __name(GetYunZhiYanOpenVoiceIntercom, "GetYunZhiYanOpenVoiceIntercom");
104
199
  async function GetYunZhiYanUserPlaySecretKey(taskId) {
105
- const headers = {
106
- algorithm: "HmacSHA256",
107
- requestTime: Date.now(),
108
- accessKey: ACCESS_KEY
109
- };
110
- const params = {};
111
- headers.sign = sign(headers, params, SECRET_KEY);
112
- const response = await fetch(
113
- "/vsuap-platform-api/v1/user/queryPlaySecretKey",
114
- {
115
- method: "POST",
116
- headers: {
117
- "Content-Type": "application/json",
118
- ...headers
119
- },
120
- body: JSON.stringify(params)
200
+ try {
201
+ const headers = {
202
+ algorithm: "HmacSHA256",
203
+ requestTime: Date.now(),
204
+ accessKey: ACCESS_KEY
205
+ };
206
+ const params = {};
207
+ headers.sign = sign(headers, params, SECRET_KEY);
208
+ const controller = new AbortController();
209
+ const timeoutId = setTimeout(() => controller.abort(), 1e4);
210
+ const response = await fetch(
211
+ "/vsuap-platform-api/v1/user/queryPlaySecretKey",
212
+ {
213
+ method: "POST",
214
+ headers: {
215
+ "Content-Type": "application/json",
216
+ ...headers
217
+ },
218
+ body: JSON.stringify(params),
219
+ signal: controller.signal
220
+ }
221
+ );
222
+ clearTimeout(timeoutId);
223
+ if (!response.ok) {
224
+ console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
225
+ return false;
121
226
  }
122
- );
123
- const status = response.status;
124
- const res = await response.json();
125
- if (status === 200) {
227
+ const res = await response.json();
126
228
  const { code, data } = res;
127
229
  if (code === 200) {
128
230
  const playSecretKey = data.playSecretKey;
129
231
  return CryptoJS.MD5(taskId + playSecretKey).toString();
232
+ } else {
233
+ console.error(
234
+ `\u4E1A\u52A1\u9519\u8BEF: code=${code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
235
+ );
236
+ return false;
237
+ }
238
+ } catch (error) {
239
+ if (error instanceof Error) {
240
+ if (error.name === "AbortError") {
241
+ console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanUserPlaySecretKey");
242
+ } else if (error.name === "TypeError") {
243
+ console.error("\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanUserPlaySecretKey", error.message);
244
+ } else {
245
+ console.error(
246
+ "JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanUserPlaySecretKey",
247
+ error.message
248
+ );
249
+ }
250
+ } else {
251
+ console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanUserPlaySecretKey", error);
130
252
  }
253
+ return false;
131
254
  }
132
- return false;
133
255
  }
134
256
  __name(GetYunZhiYanUserPlaySecretKey, "GetYunZhiYanUserPlaySecretKey");
135
257
  async function GetYunZhiYanCloseVoiceIntercom(deviceId, taskId) {
136
- const headers = {
137
- algorithm: "HmacSHA256",
138
- requestTime: Date.now(),
139
- accessKey: ACCESS_KEY
140
- };
141
- const params = { deviceId, taskId };
142
- headers.sign = sign(headers, params, SECRET_KEY);
143
- const response = await fetch("/vsuap-platform-api/v1/device/broadcastOff", {
144
- method: "POST",
145
- headers: {
146
- "Content-Type": "application/json",
147
- ...headers
148
- },
149
- body: JSON.stringify(params)
150
- });
151
- const status = response.status;
152
- const res = await response.json();
153
- if (status === 200) {
258
+ try {
259
+ const headers = {
260
+ algorithm: "HmacSHA256",
261
+ requestTime: Date.now(),
262
+ accessKey: ACCESS_KEY
263
+ };
264
+ const params = { deviceId, taskId };
265
+ headers.sign = sign(headers, params, SECRET_KEY);
266
+ const controller = new AbortController();
267
+ const timeoutId = setTimeout(() => controller.abort(), 1e4);
268
+ const response = await fetch("/vsuap-platform-api/v1/device/broadcastOff", {
269
+ method: "POST",
270
+ headers: {
271
+ "Content-Type": "application/json",
272
+ ...headers
273
+ },
274
+ body: JSON.stringify(params),
275
+ signal: controller.signal
276
+ });
277
+ clearTimeout(timeoutId);
278
+ if (!response.ok) {
279
+ console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
280
+ return false;
281
+ }
282
+ const res = await response.json();
154
283
  return res;
284
+ } catch (error) {
285
+ if (error instanceof Error) {
286
+ if (error.name === "AbortError") {
287
+ console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanCloseVoiceIntercom");
288
+ } else if (error.name === "TypeError") {
289
+ console.error(
290
+ "\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanCloseVoiceIntercom",
291
+ error.message
292
+ );
293
+ } else {
294
+ console.error(
295
+ "JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanCloseVoiceIntercom",
296
+ error.message
297
+ );
298
+ }
299
+ } else {
300
+ console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanCloseVoiceIntercom", error);
301
+ }
302
+ return false;
155
303
  }
156
- return false;
157
304
  }
158
305
  __name(GetYunZhiYanCloseVoiceIntercom, "GetYunZhiYanCloseVoiceIntercom");
159
306
 
@@ -1 +1 @@
1
- {"version":3,"file":"yunzhiyan.js","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyan.ts"],"sourcesContent":["import CryptoJS from \"crypto-js\";\n\nconst ACCESS_KEY =\n localStorage.getItem(\"YZYAK\") || \"04564D97CFEA44848DBF710AD51596096697\";\nconst SECRET_KEY =\n localStorage.getItem(\"YZYSK\") || \"11925B4A833545F998519FE969EA83B36335\";\n\n/**\n * 签名函数\n * @param headers 请求头参数\n * @param params 请求参数\n * @param sk 签名密钥\n * @returns string 签名结果\n */\nexport function sign(\n headers: Record<string, string | number>,\n params: Record<string, any>,\n sk: string = SECRET_KEY,\n): string {\n const obj = Object.assign({}, headers, params);\n const keys = Object.keys(obj).sort();\n let str = \"\";\n // 拼接字符串\n keys.forEach((key, index) => {\n str += `${key}=\"${obj[key]}\"`;\n if (index !== keys.length - 1) {\n str += \"&\";\n }\n });\n // console.log(\"未加签的字符串\", str);\n // 加密\n const hash = CryptoJS.HmacSHA256(str, sk);\n // console.log(\"加签后的字符串\", hash.toString(CryptoJS.enc.Hex));\n return hash.toString(CryptoJS.enc.Hex);\n}\n/**\n * 获取云智眼设备通道ID\n * @param deviceId\n */\nexport async function GetYunZhiYanDeviceChannel(deviceId: string) {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId };\n headers.sign = sign(headers, params, SECRET_KEY);\n const response = await fetch(\"/vsuap-platform-api/v1/device/queryChannel\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n });\n const status = response.status;\n const res = await response.json();\n if (status === 200) {\n const { code, data } = res;\n if (\n code === 200 &&\n Array.isArray(data) &&\n data.length > 0 &&\n data[0].channelCodeId\n ) {\n return data[0].channelCodeId || \"\";\n }\n }\n return false;\n}\n\n/**\n * 获取云智眼设备视频播放地址\n * @param deviceId\n * @param channelCodeId\n */\nexport async function GetYunZhiYanDeviceVideoUrl(\n deviceId: string,\n channelCodeId: string,\n) {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId, channelCodeId };\n headers.sign = sign(headers, params, SECRET_KEY);\n const response = await fetch(\"/vsuap-platform-api/v1/device/playOn\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n });\n const status = response.status;\n const res = await response.json();\n if (status === 200) {\n const { code, data } = res;\n if (code === 200) {\n return data?.flv || \"\";\n }\n }\n return false;\n}\n\n/**\n * 获取语音对讲地址信息\n */\nexport async function GetYunZhiYanOpenVoiceIntercom(deviceId: string) {\n const headers: Record<string, any> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId, deviceType: \"1\", enableAudioSign: \"1\" };\n headers.sign = sign(headers, params, SECRET_KEY);\n const response = await fetch(\"/vsuap-platform-api/v1/device/broadcastOn\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n });\n const status = response.status;\n const res = await response.json();\n if (status === 200) {\n const { code, data } = res;\n if (code === 200) {\n return data;\n }\n }\n return false;\n}\n\n/**\n * 获取语音对讲地址\n */\nexport async function GetYunZhiYanUserPlaySecretKey(taskId: string) {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = {};\n headers.sign = sign(headers, params, SECRET_KEY);\n const response = await fetch(\n \"/vsuap-platform-api/v1/user/queryPlaySecretKey\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n },\n );\n const status = response.status;\n const res = await response.json();\n if (status === 200) {\n const { code, data } = res;\n if (code === 200) {\n const playSecretKey = data.playSecretKey;\n return CryptoJS.MD5(taskId + playSecretKey).toString();\n }\n }\n return false;\n}\n\n/**\n * 关闭语音对讲\n */\nexport async function GetYunZhiYanCloseVoiceIntercom(\n deviceId: string,\n taskId: string,\n) {\n const headers: Record<string, any> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId, taskId };\n headers.sign = sign(headers, params, SECRET_KEY);\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/broadcastOff\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n });\n const status = response.status;\n const res = await response.json();\n if (status === 200) {\n return res;\n }\n return false;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yunzhiyan.js","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyan.ts"],"sourcesContent":["import CryptoJS from \"crypto-js\";\n\n/**\n * 获取访问密钥,支持 SSR 环境\n */\nfunction getAccessKey(): string {\n if (typeof localStorage !== \"undefined\") {\n return (\n localStorage.getItem(\"YZYAK\") || \"04564D97CFEA44848DBF710AD51596096697\"\n );\n }\n return \"04564D97CFEA44848DBF710AD51596096697\";\n}\n\n/**\n * 获取签名密钥,支持 SSR 环境\n */\nfunction getSecretKey(): string {\n if (typeof localStorage !== \"undefined\") {\n return (\n localStorage.getItem(\"YZYSK\") || \"11925B4A833545F998519FE969EA83B36335\"\n );\n }\n return \"11925B4A833545F998519FE969EA83B36335\";\n}\n\nconst ACCESS_KEY = getAccessKey();\nconst SECRET_KEY = getSecretKey();\n\n/**\n * 签名函数\n * @param headers 请求头参数\n * @param params 请求参数\n * @param sk 签名密钥\n * @returns string 签名结果\n */\nexport function sign(\n headers: Record<string, string | number>,\n params: Record<string, any>,\n sk: string = SECRET_KEY,\n): string {\n const obj = Object.assign({}, headers, params);\n const keys = Object.keys(obj).sort();\n let str = \"\";\n // 拼接字符串\n keys.forEach((key, index) => {\n str += `${key}=\"${obj[key]}\"`;\n if (index !== keys.length - 1) {\n str += \"&\";\n }\n });\n // console.log(\"未加签的字符串\", str);\n // 加密\n const hash = CryptoJS.HmacSHA256(str, sk);\n // console.log(\"加签后的字符串\", hash.toString(CryptoJS.enc.Hex));\n return hash.toString(CryptoJS.enc.Hex);\n}\n/**\n * 获取云智眼设备通道ID\n * @param deviceId 设备ID\n * @returns Promise<string | false> 成功返回通道ID,失败返回false\n */\nexport async function GetYunZhiYanDeviceChannel(\n deviceId: string,\n): Promise<string | false> {\n try {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId };\n headers.sign = sign(headers, params, SECRET_KEY);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/queryChannel\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n const { code, data } = res;\n\n if (\n code === 200 &&\n Array.isArray(data) &&\n data.length > 0 &&\n data[0].channelCodeId\n ) {\n return data[0].channelCodeId || \"\";\n } else {\n console.error(\n `业务错误: code=${code}, message=${res.message || \"未知错误\"}`,\n );\n return false;\n }\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanDeviceChannel\");\n } else if (error.name === \"TypeError\") {\n console.error(\"网络错误: GetYunZhiYanDeviceChannel\", error.message);\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanDeviceChannel\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanDeviceChannel\", error);\n }\n return false;\n }\n}\n\n/**\n * 获取云智眼设备视频播放地址\n * @param deviceId 设备ID\n * @param channelCodeId 通道ID\n * @returns Promise<string | false> 成功返回视频播放地址,失败返回false\n */\nexport async function GetYunZhiYanDeviceVideoUrl(\n deviceId: string,\n channelCodeId: string,\n): Promise<string | false> {\n try {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId, channelCodeId };\n headers.sign = sign(headers, params, SECRET_KEY);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/playOn\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n const { code, data } = res;\n\n if (code === 200) {\n return data?.flv || \"\";\n } else {\n console.error(\n `业务错误: code=${code}, message=${res.message || \"未知错误\"}`,\n );\n return false;\n }\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanDeviceVideoUrl\");\n } else if (error.name === \"TypeError\") {\n console.error(\"网络错误: GetYunZhiYanDeviceVideoUrl\", error.message);\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanDeviceVideoUrl\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanDeviceVideoUrl\", error);\n }\n return false;\n }\n}\n\n/**\n * 获取语音对讲地址信息\n */\n/**\n * 获取语音对讲地址信息\n * @param deviceId 设备ID\n * @returns Promise<any | false> 成功返回对讲信息,失败返回false\n */\nexport async function GetYunZhiYanOpenVoiceIntercom(\n deviceId: string,\n): Promise<any | false> {\n try {\n const headers: Record<string, any> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId, deviceType: \"1\", enableAudioSign: \"1\" };\n headers.sign = sign(headers, params, SECRET_KEY);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/broadcastOn\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n const { code, data } = res;\n\n if (code === 200) {\n return data;\n } else {\n console.error(\n `业务错误: code=${code}, message=${res.message || \"未知错误\"}`,\n );\n return false;\n }\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanOpenVoiceIntercom\");\n } else if (error.name === \"TypeError\") {\n console.error(\"网络错误: GetYunZhiYanOpenVoiceIntercom\", error.message);\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanOpenVoiceIntercom\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanOpenVoiceIntercom\", error);\n }\n return false;\n }\n}\n\n/**\n * 获取语音对讲地址\n * @param taskId 任务ID\n * @returns Promise<string | false> 成功返回加密后的密钥,失败返回false\n */\nexport async function GetYunZhiYanUserPlaySecretKey(\n taskId: string,\n): Promise<string | false> {\n try {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = {};\n headers.sign = sign(headers, params, SECRET_KEY);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\n \"/vsuap-platform-api/v1/user/queryPlaySecretKey\",\n {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n },\n );\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n const { code, data } = res;\n\n if (code === 200) {\n const playSecretKey = data.playSecretKey;\n return CryptoJS.MD5(taskId + playSecretKey).toString();\n } else {\n console.error(\n `业务错误: code=${code}, message=${res.message || \"未知错误\"}`,\n );\n return false;\n }\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanUserPlaySecretKey\");\n } else if (error.name === \"TypeError\") {\n console.error(\"网络错误: GetYunZhiYanUserPlaySecretKey\", error.message);\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanUserPlaySecretKey\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanUserPlaySecretKey\", error);\n }\n return false;\n }\n}\n\n/**\n * 关闭语音对讲\n * @param deviceId 设备ID\n * @param taskId 任务ID\n * @returns Promise<any | false> 成功返回响应数据,失败返回false\n */\nexport async function GetYunZhiYanCloseVoiceIntercom(\n deviceId: string,\n taskId: string,\n): Promise<any | false> {\n try {\n const headers: Record<string, any> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: ACCESS_KEY,\n };\n const params = { deviceId, taskId };\n headers.sign = sign(headers, params, SECRET_KEY);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/broadcastOff\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n return res;\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanCloseVoiceIntercom\");\n } else if (error.name === \"TypeError\") {\n console.error(\n \"网络错误: GetYunZhiYanCloseVoiceIntercom\",\n error.message,\n );\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanCloseVoiceIntercom\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanCloseVoiceIntercom\", error);\n }\n return false;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1330,7 +1330,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1330
1330
  };
1331
1331
  dispatchEvent: (event: Event) => boolean;
1332
1332
  } | null>;
1333
- intercomTimer: import("vue").Ref<number | null, number | null>;
1333
+ intercomTimer: import("vue").Ref<any, any>;
1334
1334
  audioMsg: import("vue").Ref<{
1335
1335
  type: string;
1336
1336
  msg: string;
@@ -1437,12 +1437,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1437
1437
  playerPause: () => void;
1438
1438
  playerScreenShot: () => void;
1439
1439
  playerFullscreen: (fullscreen: boolean) => void;
1440
+ formatUrl: (url: string) => string;
1440
1441
  initPlayer: (url: string) => Promise<void>;
1441
1442
  removePlayerDom: () => void;
1442
1443
  createPlayerDom: () => void;
1443
1444
  createPlayer: () => Promise<void>;
1444
1445
  destroy: () => void;
1445
- formatUrl: (url: string) => string;
1446
1446
  }, {}, {}, {}, 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<{
1447
1447
  url: {
1448
1448
  type: StringConstructor;
@@ -141,7 +141,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
141
141
  }, "getAudioUrl");
142
142
  const initAudioContext = /* @__PURE__ */ __name(async () => {
143
143
  try {
144
- audioContext.value = new (window.AudioContext || window.webkitAudioContext)({
144
+ if (typeof window === "undefined") {
145
+ throw new Error("\u975E\u6D4F\u89C8\u5668\u73AF\u5883\uFF0C\u65E0\u6CD5\u4F7F\u7528AudioContext");
146
+ }
147
+ const AudioContext = window.AudioContext || window.webkitAudioContext;
148
+ if (!AudioContext) {
149
+ throw new Error("\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301AudioContext");
150
+ }
151
+ audioContext.value = new AudioContext({
145
152
  sampleRate: AUDIO_CONFIG.sampleRate
146
153
  });
147
154
  if (audioContext.value.state === "suspended") {
@@ -421,7 +428,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
421
428
  type: "success",
422
429
  msg: "\u8BED\u97F3\u5BF9\u8BB2..."
423
430
  };
424
- intercomTimer.value = window.setTimeout(async () => {
431
+ intercomTimer.value = setTimeout(async () => {
425
432
  if (props.debug) {
426
433
  console.log("\u8BED\u97F3\u5BF9\u8BB230\u79D2\u65F6\u95F4\u5230\uFF0C\u81EA\u52A8\u505C\u6B62");
427
434
  }
@@ -580,6 +587,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
580
587
  vue.createCommentVNode(" \u5168\u5C4F "),
581
588
  !isFullscreen.value ? (vue.openBlock(), vue.createElementBlock("div", {
582
589
  key: 2,
590
+ title: "\u5168\u5C4F",
583
591
  class: "i-easy-player-bottom-bar",
584
592
  onClick: _cache[2] || (_cache[2] = ($event) => playerFullscreen(true))
585
593
  }, _cache[13] || (_cache[13] = [