main.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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. }else if(e.data.key === "video"){
  69. const meeting = new Meeting();
  70. console.log(e.data.channelId);
  71. $(".video-container").css({
  72. visibility: "visible"
  73. })
  74. await meeting.openClient(
  75. () => {
  76. $(".video-action").one("click", () => {
  77. meeting.closeClient();
  78. meeting.closeVideo();
  79. meeting.deleteMeeting();
  80. $(".video-container").css({
  81. visibility: "hidden"
  82. })
  83. window.parent.postMessage("closeIframe", "*");
  84. })
  85. meeting.playVideo({
  86. type: "single",
  87. deviceId: e.data.deviceId,
  88. channelId: e.data.channelId,
  89. })
  90. }
  91. )
  92. }
  93. // 视频会议
  94. if (e.data === "creatMeeting") {
  95. const meeting = new Meeting();
  96. // close video meeting iframe
  97. $("#closeMeAction").click(() => {
  98. meeting.closeClient();
  99. meeting.closeVideo();
  100. meeting.deleteMeeting();
  101. $(".video-container").css({
  102. visibility: "hidden"
  103. })
  104. $(".video-user-content").css({
  105. display: "none"
  106. })
  107. $(".user-list-container").css({
  108. visibility: "hidden"
  109. })
  110. window.parent.postMessage("closeIframe", "*");
  111. });
  112. $(".user-list-container").css({
  113. visibility: "visible"
  114. })
  115. // 创建会议并打开窗口
  116. $("#createMeAction").click(async () => {
  117. $(".video-user-content").css({
  118. display: "flex"
  119. })
  120. await meeting.getLocalUserInfo();
  121. // const res = await meeting.queryUser(e.data.value);
  122. meeting.localUserInfo.name = "video_Meeting";
  123. await meeting.creatMeeting();
  124. // await meeting.startInvite();
  125. await meeting.openClient();
  126. $(".video-container").css({
  127. visibility: "visible"
  128. })
  129. });
  130. $(".video-action").click(() => {
  131. meeting.closeClient();
  132. meeting.closeVideo();
  133. meeting.deleteMeeting();
  134. $(".video-container").css({
  135. visibility: "hidden"
  136. })
  137. })
  138. // 添加人员, 并播放视频
  139. $(".user-list").click(async (e) => {
  140. console.log(e, e.target, e.target.className, e.target.dataset, "+++");
  141. if (e.target.className === "videoAction" && e.target.dataset.code) {
  142. const res = await meeting.queryUser(e.target.dataset.code);
  143. await meeting.startInvite({
  144. userName: res.userName,
  145. userId: res.userCode,
  146. region: res.paasId,
  147. type: "client",
  148. // speak:'true',
  149. number: res.userPhone,
  150. deviceId: res.deviceId,
  151. channelId: res.chnId,
  152. });
  153. // await meeting.playVideo(meeting.InvitedMembers);
  154. meeting.playVideo({
  155. type: "client",
  156. number: res.userPhone,
  157. userId: res.userCode,
  158. deviceId: res.deviceId,
  159. channelId: res.chnId,
  160. })
  161. }
  162. });
  163. }
  164. if (e.data === "openClient") {
  165. await meeting.openClient();
  166. }
  167. },
  168. false
  169. );
  170. };