Skip to content

Commit ebe211f

Browse files
authored
Merge pull request #110 from zoom/3.12.0
3.12.0
2 parents e6a1f4f + 744050f commit ebe211f

File tree

16 files changed

+211
-30068
lines changed

16 files changed

+211
-30068
lines changed

CDN/index.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta charset="utf-8" />
66
<meta name="format-detection" content="telephone=no">
77
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
8-
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/3.11.2/css/bootstrap.css" />
8+
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/3.12.0/css/bootstrap.css" />
99
</head>
1010

1111
<body class="bg-dark">
@@ -269,11 +269,12 @@
269269
<nav id="nav-tool" class="navbar navbar-light fixed-top">
270270
<button class="theme-toggle" onclick="toggleTheme()"></button>
271271
<div class="container">
272-
<a class="navbar-brand" href="https://marketplacefront.zoom.us/sdk/meeting/web/index.html" target="_blank">Zoom MeetingSDK-Web</a>
272+
<a class="navbar-brand" href="https://marketplacefront.zoom.us/sdk/meeting/web/index.html"
273+
target="_blank">Zoom MeetingSDK-Web</a>
273274
<div id="navbar" class="flex-grow-1">
274275
<form class="form-container" id="meeting_form">
275276
<div class="form-group">
276-
<input type="text" name="display_name" id="display_name" value="3.11.2#CDN" maxLength="100"
277+
<input type="text" name="display_name" id="display_name" value="3.12.0#CDN" maxLength="100"
277278
placeholder="Name" class="form-control" required>
278279
</div>
279280
<div class="form-group">
@@ -325,8 +326,8 @@
325326
</div>
326327
<div class="button-group">
327328
<input type="hidden" value id="copy_link_value" />
328-
<button type="submit" class="btn btn-primary" id="join_meeting">Join</button>
329-
<button type="submit" class="btn btn-primary" id="clear_all">Clear</button>
329+
<button type="button" class="btn btn-primary" id="join_meeting">Join</button>
330+
<button type="button" class="btn btn-primary" id="clear_all">Clear</button>
330331
<button type="button" onclick="handleCopyClick('#copy_join_link')"
331332
class="btn btn-primary copy-status" id="copy_join_link">
332333
Copy Direct join link
@@ -337,13 +338,12 @@
337338
</div>
338339
</nav>
339340

340-
341-
<script src="https://source.zoom.us/3.11.2/lib/vendor/react.min.js"></script>
342-
<script src="https://source.zoom.us/3.11.2/lib/vendor/react-dom.min.js"></script>
343-
<script src="https://source.zoom.us/3.11.2/lib/vendor/redux.min.js"></script>
344-
<script src="https://source.zoom.us/3.11.2/lib/vendor/redux-thunk.min.js"></script>
345-
<script src="https://source.zoom.us/3.11.2/lib/vendor/lodash.min.js"></script>
346-
<script src="https://source.zoom.us/3.11.2/zoom-meeting-3.11.2.min.js"></script>
341+
<script src="https://source.zoom.us/3.12.0/lib/vendor/react.min.js"></script>
342+
<script src="https://source.zoom.us/3.12.0/lib/vendor/react-dom.min.js"></script>
343+
<script src="https://source.zoom.us/3.12.0/lib/vendor/redux.min.js"></script>
344+
<script src="https://source.zoom.us/3.12.0/lib/vendor/redux-thunk.min.js"></script>
345+
<script src="https://source.zoom.us/3.12.0/lib/vendor/lodash.min.js"></script>
346+
<script src="https://source.zoom.us/3.12.0/zoom-meeting-3.12.0.min.js"></script>
347347
<script src="js/tool.js"></script>
348348
<script src="js/vconsole.min.js"></script>
349349
<script src="js/index.js"></script>

CDN/js/index.js

Lines changed: 65 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,39 @@ window.addEventListener("DOMContentLoaded", function (event) {
44
});
55

66
function websdkready() {
7-
var testTool = window.testTool;
7+
const testTool = window.testTool;
88
if (testTool.isMobileDevice()) {
9-
vConsole = new VConsole();
9+
const vConsole = new VConsole();
1010
}
11-
console.log("checkSystemRequirements");
12-
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));
11+
const authEndpoint = "http://127.0.0.1:4000";
12+
let CLIENT_ID = "YOUR_CLIENT_ID_OR_SDK_KEY";
1313

14-
// it's option if you want to change the MeetingSDK-Web dependency link resources. setZoomJSLib must be run at first
15-
// ZoomMtg.setZoomJSLib("https://source.zoom.us/{VERSION}/lib", "/av"); // default, don't need call it
16-
// ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/{VERSION}/lib", "/av"); // china cdn option
17-
ZoomMtg.preLoadWasm(); // pre download wasm file to save time.
18-
19-
var CLIENT_ID = "YOUR_CLIENT_ID_OR_SDK_KEY";
20-
/**
21-
* NEVER PUT YOUR ACTUAL SDK SECRET OR CLIENT SECRET IN CLIENT SIDE CODE, THIS IS JUST FOR QUICK PROTOTYPING
22-
* The below generateSignature should be done server side as not to expose your SDK SECRET in public
23-
* You can find an example in here: https://developers.zoom.us/docs/meeting-sdk/auth/#signature
24-
*/
25-
var CLIENT_SECRET = "YOUR_CLIENT_SECRET_OR_SDK_SECRET";
14+
//https://developers.zoom.us/docs/meeting-sdk/auth/#signature
15+
async function getSignature(meetingNumber, role) {
16+
try {
17+
const response = await fetch(authEndpoint, {
18+
method: "POST",
19+
headers: { "Content-Type": "application/json" },
20+
body: JSON.stringify({
21+
meetingNumber: meetingNumber,
22+
role: role,
23+
}),
24+
});
25+
const data = await response.json();
26+
console.log(data);
27+
if (data.sdkKey) {
28+
CLIENT_ID = data.sdkKey;
29+
}
30+
return data.signature;
31+
} catch (error) {
32+
console.log(error);
33+
throw error;
34+
}
35+
}
2636

2737
// some help code, remember mn, pwd, lang to cookie, and autofill.
2838
document.getElementById("display_name").value =
29-
"CDN" +
39+
"CDN#" +
3040
ZoomMtg.getWebSDKVersion()[0] +
3141
testTool.detectOS() +
3242
"#" +
@@ -55,11 +65,11 @@ function websdkready() {
5565
document
5666
.getElementById("meeting_number")
5767
.addEventListener("input", function (e) {
58-
var tmpMn = e.target.value.replace(/([^0-9])+/i, "");
68+
let tmpMn = e.target.value.replace(/([^0-9])+/i, "");
5969
if (tmpMn.match(/([0-9]{9,11})/)) {
6070
tmpMn = tmpMn.match(/([0-9]{9,11})/)[1];
6171
}
62-
var tmpPwd = e.target.value.match(/pwd=([\d,\w]+)/);
72+
const tmpPwd = e.target.value.match(/pwd=([\d,\w]+)/);
6373
if (tmpPwd) {
6474
document.getElementById("meeting_pwd").value = tmpPwd[1];
6575
testTool.setCookie("meeting_pwd", tmpPwd[1]);
@@ -84,9 +94,9 @@ function websdkready() {
8494
// click join meeting button
8595
document
8696
.getElementById("join_meeting")
87-
.addEventListener("click", function (e) {
97+
.addEventListener("click", async function (e) {
8898
e.preventDefault();
89-
var meetingConfig = testTool.getMeetingConfig();
99+
const meetingConfig = testTool.getMeetingConfig();
90100
if (!meetingConfig.mn || !meetingConfig.name) {
91101
alert("Meeting number or username is empty");
92102
return false;
@@ -95,24 +105,29 @@ function websdkready() {
95105
testTool.setCookie("meeting_number", meetingConfig.mn);
96106
testTool.setCookie("meeting_pwd", meetingConfig.pwd);
97107

98-
var signature = ZoomMtg.generateSDKSignature({
99-
meetingNumber: meetingConfig.mn,
100-
sdkKey: CLIENT_ID,
101-
sdkSecret: CLIENT_SECRET,
102-
role: meetingConfig.role,
103-
success: function (res) {
104-
console.log(res);
105-
meetingConfig.signature = res;
106-
meetingConfig.sdkKey = CLIENT_ID;
107-
var joinUrl = "/meeting.html?" + testTool.serialize(meetingConfig);
108-
console.log(joinUrl);
109-
window.open(joinUrl, "_blank");
110-
},
111-
});
108+
try {
109+
const signature = await getSignature(
110+
meetingConfig.mn,
111+
meetingConfig.role
112+
);
113+
console.log(signature);
114+
meetingConfig.signature = signature;
115+
meetingConfig.sdkKey = CLIENT_ID;
116+
const joinUrl = "/meeting.html?" + testTool.serialize(meetingConfig);
117+
console.log(joinUrl);
118+
window.open(joinUrl, "_blank");
119+
120+
// Now you can use meetingConfig.signature
121+
122+
// Add your code to join the meeting here
123+
} catch (error) {
124+
console.error("Failed to get signature", error);
125+
alert("Failed to get signature");
126+
}
112127
});
113128

114129
function copyToClipboard(elementId) {
115-
var aux = document.createElement("input");
130+
const aux = document.createElement("input");
116131
aux.setAttribute(
117132
"value",
118133
document.getElementById(elementId).getAttribute("link")
@@ -124,30 +139,23 @@ function websdkready() {
124139
}
125140

126141
// click copy jon link button
127-
window.copyJoinLink = function (element) {
128-
var meetingConfig = testTool.getMeetingConfig();
142+
window.copyJoinLink = async function (element) {
143+
const meetingConfig = testTool.getMeetingConfig();
129144
if (!meetingConfig.mn || !meetingConfig.name) {
130145
alert("Meeting number or username is empty");
131146
return false;
132147
}
133-
var signature = ZoomMtg.generateSDKSignature({
134-
meetingNumber: meetingConfig.mn,
135-
sdkKey: CLIENT_ID,
136-
sdkSecret: CLIENT_SECRET,
137-
role: meetingConfig.role,
138-
success: function (res) {
139-
console.log(res.result);
140-
meetingConfig.signature = res.result;
141-
meetingConfig.sdkKey = CLIENT_ID;
142-
var joinUrl =
143-
testTool.getCurrentDomain() +
144-
"/meeting.html?" +
145-
testTool.serialize(meetingConfig);
146-
document
147-
.getElementById("copy_link_value")
148-
.setAttribute("link", joinUrl);
149-
copyToClipboard("copy_link_value");
150-
},
151-
});
148+
149+
const signature = await getSignature(meetingConfig.mn, meetingConfig.role);
150+
console.log(signature);
151+
meetingConfig.signature = signature;
152+
meetingConfig.sdkKey = CLIENT_ID;
153+
154+
var joinUrl =
155+
testTool.getCurrentDomain() +
156+
"/meeting.html?" +
157+
testTool.serialize(meetingConfig);
158+
document.getElementById("copy_link_value").setAttribute("link", joinUrl);
159+
copyToClipboard("copy_link_value");
152160
};
153161
}

CDN/js/meeting.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ function websdkready() {
5151
// it's option if you want to change the MeetingSDK-Web dependency link resources. setZoomJSLib must be run at first
5252
// ZoomMtg.setZoomJSLib("https://source.zoom.us/{VERSION}/lib", "/av"); // default, don't need call it
5353
if (meetingConfig.china)
54-
ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/3.11.2/lib", "/av"); // china cdn option
54+
ZoomMtg.setZoomJSLib("https://jssdk.zoomus.cn/3.12.0/lib", "/av"); // china cdn option
5555

5656
ZoomMtg.preLoadWasm();
5757
ZoomMtg.prepareWebSDK();

CDN/meeting.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
</head>
1010

1111
<body>
12-
<script src="https://source.zoom.us/3.11.2/lib/vendor/react.min.js"></script>
13-
<script src="https://source.zoom.us/3.11.2/lib/vendor/react-dom.min.js"></script>
14-
<script src="https://source.zoom.us/3.11.2/lib/vendor/redux.min.js"></script>
15-
<script src="https://source.zoom.us/3.11.2/lib/vendor/redux-thunk.min.js"></script>
16-
<script src="https://source.zoom.us/3.11.2/lib/vendor/lodash.min.js"></script>
17-
<script src="https://source.zoom.us/3.11.2/zoom-meeting-3.11.2.min.js"></script>
12+
<script src="https://source.zoom.us/3.12.0/lib/vendor/react.min.js"></script>
13+
<script src="https://source.zoom.us/3.12.0/lib/vendor/react-dom.min.js"></script>
14+
<script src="https://source.zoom.us/3.12.0/lib/vendor/redux.min.js"></script>
15+
<script src="https://source.zoom.us/3.12.0/lib/vendor/redux-thunk.min.js"></script>
16+
<script src="https://source.zoom.us/3.12.0/lib/vendor/lodash.min.js"></script>
17+
<script src="https://source.zoom.us/3.12.0/zoom-meeting-3.12.0.min.js"></script>
1818
<script src="js/tool.js"></script>
1919
<script src="js/vconsole.min.js"></script>
2020
<script src="js/meeting.js"></script>

CDN/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "websdk-cdn",
3-
"version": "3.11.2",
3+
"version": "3.12.0",
44
"description": "Zoom sample app for MeetingSDK-Web client view",
55
"main": "index.js",
66
"scripts": {

Components/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
22
"name": "websdk-component-demo",
3-
"version": "3.11.2",
3+
"version": "3.12.0",
44
"type": "module",
55
"config": {
66
"commitizen": {
77
"path": "@commitlint/cz-commitlint"
88
}
99
},
1010
"dependencies": {
11-
"@zoom/meetingsdk": "3.11.2",
11+
"@zoom/meetingsdk": "3.12.0",
1212
"react": "18.2.0",
1313
"react-dom": "18.2.0",
1414
"redux": "4.2.1",

Components/public/cdn.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44
<meta charset="UTF-8" />
55
<title>WebSDK Embedded CDN demo</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<script src="https://source.zoom.us/3.11.2/lib/vendor/react.min.js"></script>
8-
<script src="https://source.zoom.us/3.11.2/lib/vendor/react-dom.min.js"></script>
9-
<script src="https://source.zoom.us/3.11.2/zoom-meeting-embedded-3.11.2.min.js"></script>
7+
<script src="https://source.zoom.us/3.12.0/lib/vendor/react.min.js"></script>
8+
<script src="https://source.zoom.us/3.12.0/lib/vendor/react-dom.min.js"></script>
9+
<script src="https://source.zoom.us/3.12.0/zoom-meeting-embedded-3.12.0.min.js"></script>
1010
<script src="./tools/tool.js"></script>
1111
<script src="./tools/vconsole.min.js"></script>
12-
<script src="./tools/token-tool.js"></script>
1312
<script src="./tools/cdn.js"></script>
1413
</head>
1514

Components/public/nav.html

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@
33
<head>
44
<title>Zoom WebSDK Embedded Demo Nav</title>
55
<meta charset="utf-8" />
6-
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/3.11.2/css/bootstrap.css" />
6+
<link type="text/css" rel="stylesheet" href="https://source.zoom.us/3.12.0/css/bootstrap.css" />
77
<meta name="format-detection" content="telephone=no">
88
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
9-
<script src="./tools/jsrsasign-all-min.js"></script>
109
<script src="./tools/tool.js"></script>
11-
<script src="./tools/token-tool.js"></script>
1210
<script src="./tools/vconsole.min.js"></script>
1311
<script src="./tools/nav.js"></script>
1412
</head>
@@ -278,7 +276,7 @@
278276
<div id="navbar" class="flex-grow-1">
279277
<form class="form-container" id="meeting_form">
280278
<div class="form-group">
281-
<input type="text" name="display_name" id="display_name" value="3.11.2#CDN" maxLength="100"
279+
<input type="text" name="display_name" id="display_name" value="3.12.0#CDN" maxLength="100"
282280
placeholder="Name" class="form-control" required>
283281
</div>
284282
<div class="form-group">

0 commit comments

Comments
 (0)