@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.
- package/cdn/index.cdn.js +9 -9
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +11 -11
- package/cdn/index.cdn.mjs.map +1 -1
- package/cdn/index.css +1 -1
- package/es/components/tzj-player/index.d.ts +14 -14
- package/es/components/tzj-player/src/easyPlayer.vue.d.ts +1 -1
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs +88 -75
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/tzj-player.vue.d.ts +14 -14
- package/es/components/tzj-player/src/ysPlayer.vue.d.ts +2 -2
- package/es/components/tzj-player/src/ysPlayer.vue2.mjs +40 -29
- package/es/components/tzj-player/src/ysPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/yunzhiyan.d.ts +4 -4
- package/es/components/tzj-player/src/yunzhiyan.mjs +246 -99
- package/es/components/tzj-player/src/yunzhiyan.mjs.map +1 -1
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -2
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs +10 -2
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue2.mjs.map +1 -1
- package/lib/components/tzj-player/index.d.ts +14 -14
- package/lib/components/tzj-player/src/easyPlayer.vue.d.ts +1 -1
- package/lib/components/tzj-player/src/easyPlayer.vue2.js +88 -75
- package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/tzj-player.vue.d.ts +14 -14
- package/lib/components/tzj-player/src/ysPlayer.vue.d.ts +2 -2
- package/lib/components/tzj-player/src/ysPlayer.vue2.js +40 -29
- package/lib/components/tzj-player/src/ysPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/yunzhiyan.d.ts +4 -4
- package/lib/components/tzj-player/src/yunzhiyan.js +246 -99
- package/lib/components/tzj-player/src/yunzhiyan.js.map +1 -1
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -2
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js +10 -2
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue2.js.map +1 -1
- package/package.json +1 -1
- package/theme-default/i-tzj-player.css +1 -1
- 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
|
-
|
|
8
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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<
|
|
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
|
-
|
|
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 =
|
|
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] = [
|