main.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. // login
  2. var setting = {
  3. username: "huashe3",
  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. await package.login();
  24. }
  25. // 打开单兵视频
  26. if (e.data.key === "danbing") {
  27. const meeting = new Meeting();
  28. await meeting.getLocalUserInfo();
  29. const res = await meeting.queryUser(e.data.value);
  30. meeting.localUserInfo.name = "danbing_Meeting";
  31. await meeting.creatMeeting();
  32. await meeting.startInvite({
  33. userName: res.userName,
  34. userId: res.userCode,
  35. region: res.paasId,
  36. type: "single",
  37. // speak:'true',
  38. number: res.userPhone,
  39. deviceId: e.data.deviceId,
  40. channelId: e.data.channelId,
  41. });
  42. $(".video-container").css({
  43. visibility: "visible"
  44. })
  45. await meeting.openClient(
  46. () => {
  47. $(".video-action").one("click", () => {
  48. meeting.closeClient();
  49. meeting.closeVideo();
  50. meeting.deleteMeeting();
  51. $(".video-container").css({
  52. visibility: "hidden"
  53. })
  54. window.parent.postMessage("closeIframe", "*");
  55. })
  56. meeting.playVideo({
  57. type: "single",
  58. number: res.userPhone,
  59. deviceId: e.data.deviceId,
  60. channelId: e.data.channelId,
  61. })
  62. }
  63. )
  64. }
  65. // 视频会议
  66. if (e.data === "creatMeeting") {
  67. const meeting = new Meeting();
  68. // close video meeting iframe
  69. $("#closeMeAction").click(() => {
  70. meeting.closeClient();
  71. meeting.closeVideo();
  72. meeting.deleteMeeting();
  73. $(".video-container").css({
  74. visibility: "hidden"
  75. })
  76. $(".video-user-content").css({
  77. display: "none"
  78. })
  79. $(".user-list-container").css({
  80. visibility: "hidden"
  81. })
  82. window.parent.postMessage("closeIframe", "*");
  83. });
  84. $(".user-list-container").css({
  85. visibility: "visible"
  86. })
  87. // 创建会议并打开窗口
  88. $("#createMeAction").click(async () => {
  89. $(".video-user-content").css({
  90. display: "flex"
  91. })
  92. await meeting.getLocalUserInfo();
  93. // const res = await meeting.queryUser(e.data.value);
  94. meeting.localUserInfo.name = "video_Meeting";
  95. await meeting.creatMeeting();
  96. // await meeting.startInvite();
  97. await meeting.openClient();
  98. $(".video-container").css({
  99. visibility: "visible"
  100. })
  101. });
  102. $(".video-action").click(() => {
  103. meeting.closeClient();
  104. meeting.closeVideo();
  105. meeting.deleteMeeting();
  106. $(".video-container").css({
  107. visibility: "hidden"
  108. })
  109. })
  110. // 添加人员, 并播放视频
  111. $(".user-list").click(async (e) => {
  112. console.log(e, e.target, e.target.className, e.target.dataset, "+++");
  113. if (e.target.className === "videoAction" && e.target.dataset.code) {
  114. const res = await meeting.queryUser(e.target.dataset.code);
  115. await meeting.startInvite({
  116. userName: res.userName,
  117. userId: res.userCode,
  118. region: res.paasId,
  119. type: "single",
  120. // speak:'true',
  121. number: res.userPhone,
  122. deviceId: res.deviceId,
  123. channelId: res.chnId,
  124. });
  125. // await meeting.playVideo(meeting.InvitedMembers);
  126. meeting.playVideo({
  127. type: "single",
  128. number: res.userPhone,
  129. deviceId: res.deviceId,
  130. channelId: res.chnId,
  131. })
  132. }
  133. });
  134. }
  135. if (e.data === "openClient") {
  136. await meeting.openClient();
  137. }
  138. },
  139. false
  140. );
  141. };