main.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. // login
  2. var setting = {
  3. username: "huashe1",
  4. password: "huashe123",
  5. ip: "10.55.134.3",
  6. host: "http",
  7. port: "6699",
  8. };
  9. setting.URL = setting.host + "://" + setting.ip + ":" + setting.port;
  10. localStorage.setItem("url", setting.URL);
  11. window.onload = () => {
  12. window.addEventListener(
  13. "message",
  14. async (e) => {
  15. // 指定域名 防止xss 攻击
  16. // if (e.origin != "") return;
  17. if (e.data === "onload") {
  18. // 登陆 && 保活
  19. var package = new Package(setting.URL, {
  20. username: setting.username,
  21. password: setting.password,
  22. });
  23. if (localStorage.getItem('token')) {
  24. await package.keepalive();
  25. } else {
  26. await package.login();
  27. }
  28. }
  29. // 打开单兵视频
  30. if (e.data.key === "danbing") {
  31. const meeting = new Meeting();
  32. await meeting.getLocalUserInfo();
  33. const res = await meeting.queryUser(e.data.value);
  34. meeting.localUserInfo.name = "danbing_Meeting";
  35. await meeting.creatMeeting();
  36. await meeting.startInvite({
  37. userName: res.userName,
  38. userId: res.userCode,
  39. region: res.paasId,
  40. type: "single",
  41. // speak:'true',
  42. number: res.userPhone,
  43. deviceId: e.data.deviceId,
  44. channelId: e.data.channelId,
  45. });
  46. $(".video-container").css({
  47. visibility: "visible"
  48. })
  49. await meeting.openClient(
  50. () => {
  51. $(".video-action").one("click", () => {
  52. meeting.closeClient();
  53. meeting.closeVideo();
  54. meeting.deleteMeeting();
  55. $(".video-container").css({
  56. visibility: "hidden"
  57. })
  58. window.parent.postMessage("closeIframe", "*");
  59. })
  60. meeting.playVideo({
  61. type: "single",
  62. number: res.userPhone,
  63. deviceId: e.data.deviceId,
  64. channelId: e.data.channelId,
  65. })
  66. }
  67. )
  68. }
  69. // 视频会议
  70. if (e.data === "creatMeeting") {
  71. const meeting = new Meeting();
  72. // close video meeting iframe
  73. $("#closeMeAction").click(() => {
  74. meeting.closeClient();
  75. meeting.closeVideo();
  76. meeting.deleteMeeting();
  77. $(".video-container").css({
  78. visibility: "hidden"
  79. })
  80. $(".video-user-content").css({
  81. display: "none"
  82. })
  83. $(".user-list-container").css({
  84. visibility: "hidden"
  85. })
  86. window.parent.postMessage("closeIframe", "*");
  87. });
  88. $(".user-list-container").css({
  89. visibility: "visible"
  90. })
  91. // 创建会议并打开窗口
  92. $("#createMeAction").click(async () => {
  93. $(".video-user-content").css({
  94. display: "flex"
  95. })
  96. await meeting.getLocalUserInfo();
  97. // const res = await meeting.queryUser(e.data.value);
  98. meeting.localUserInfo.name = "video_Meeting";
  99. await meeting.creatMeeting();
  100. // await meeting.startInvite();
  101. await meeting.openClient();
  102. $(".video-container").css({
  103. visibility: "visible"
  104. })
  105. });
  106. $(".video-action").click(() => {
  107. meeting.closeClient();
  108. meeting.closeVideo();
  109. meeting.deleteMeeting();
  110. $(".video-container").css({
  111. visibility: "hidden"
  112. })
  113. })
  114. // 添加人员, 并播放视频
  115. $(".user-list").click(async (e) => {
  116. console.log(e, e.target, e.target.className, e.target.dataset, "+++");
  117. if (e.target.className === "videoAction" && e.target.dataset.code) {
  118. const res = await meeting.queryUser(e.target.dataset.code);
  119. await meeting.startInvite({
  120. userName: res.userName,
  121. userId: res.userCode,
  122. region: res.paasId,
  123. type: "client",
  124. // speak:'true',
  125. number: res.userPhone,
  126. deviceId: res.deviceId,
  127. channelId: res.chnId,
  128. });
  129. // await meeting.playVideo(meeting.InvitedMembers);
  130. meeting.playVideo({
  131. type: "client",
  132. number: res.userPhone,
  133. userId: res.userCode,
  134. deviceId: res.deviceId,
  135. channelId: res.chnId,
  136. })
  137. }
  138. });
  139. }
  140. if (e.data === "openClient") {
  141. await meeting.openClient();
  142. }
  143. },
  144. false
  145. );
  146. };