jssz-meeting-component 1.1.13 → 1.1.14

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/dist/index.esm.js CHANGED
@@ -17,7 +17,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
17
17
  return __privateGet(obj, member, getter);
18
18
  }
19
19
  });
20
- import { createBlock, openBlock, Transition, withCtx, createElementBlock, createCommentVNode, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, reactive, createApp, effectScope, ref, markRaw, toRaw as toRaw$1, watch, unref, computed, isRef as isRef$1, isReactive as isReactive$1, toRef, hasInjectionContext, inject, getCurrentInstance, nextTick, getCurrentScope, onScopeDispose, toRefs, createStaticVNode, defineComponent, resolveDynamicComponent, onBeforeUnmount, Teleport, withDirectives, withModifiers, renderSlot, vShow, vModelText, createVNode, Fragment, renderList, onMounted, resolveDirective, createTextVNode, onUnmounted, withKeys, resolveComponent, TransitionGroup, mergeProps, vModelSelect } from "vue";
20
+ import { createBlock, openBlock, Transition, withCtx, createElementBlock, createCommentVNode, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, reactive, createApp, effectScope, ref, markRaw, toRaw as toRaw$1, watch, unref, computed, isRef as isRef$1, isReactive as isReactive$1, toRef, hasInjectionContext, inject, getCurrentInstance, nextTick, getCurrentScope, onScopeDispose, toRefs, createStaticVNode, defineComponent, resolveDynamicComponent, onBeforeUnmount, withDirectives, withModifiers, renderSlot, vShow, vModelText, createVNode, Fragment, renderList, onMounted, resolveDirective, createTextVNode, onUnmounted, Teleport, withKeys, resolveComponent, TransitionGroup, mergeProps, vModelSelect } from "vue";
21
21
  const draggable = {
22
22
  mounted(el2, binding) {
23
23
  const options = {
@@ -38101,23 +38101,21 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
38101
38101
  window.removeEventListener("resize", handleResize);
38102
38102
  });
38103
38103
  return (_ctx, _cache) => {
38104
- return openBlock(), createBlock(Teleport, { to: "body" }, [
38105
- withDirectives(createElementVNode("div", {
38106
- ref_key: "popupRef",
38107
- ref: popupRef,
38108
- class: "smart-popup",
38109
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
38110
- }, ["stop"]))
38111
- }, [
38112
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
38113
- ], 512), [
38114
- [vShow, _ctx.visible]
38115
- ])
38104
+ return withDirectives((openBlock(), createElementBlock("div", {
38105
+ ref_key: "popupRef",
38106
+ ref: popupRef,
38107
+ class: "smart-popup",
38108
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
38109
+ }, ["stop"]))
38110
+ }, [
38111
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
38112
+ ], 512)), [
38113
+ [vShow, _ctx.visible]
38116
38114
  ]);
38117
38115
  };
38118
38116
  }
38119
38117
  });
38120
- const SmartPopup = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-de3830bd"]]);
38118
+ const SmartPopup = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-af66a0e9"]]);
38121
38119
  const _hoisted_1$q = { class: "dial-display" };
38122
38120
  const _hoisted_2$p = { class: "dial-pad" };
38123
38121
  const _hoisted_3$o = ["onClick"];
@@ -38247,7 +38245,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
38247
38245
  };
38248
38246
  }
38249
38247
  });
38250
- const DialDialog = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-a4d6dbdc"]]);
38248
+ const DialDialog = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-5e498b3d"]]);
38251
38249
  const _hoisted_1$p = { class: "dialog" };
38252
38250
  const _hoisted_2$o = { class: "header" };
38253
38251
  const _hoisted_3$n = { class: "title" };
@@ -38255,7 +38253,7 @@ const _hoisted_4$l = { class: "online-count" };
38255
38253
  const _hoisted_5$i = { class: "toolbar" };
38256
38254
  const _hoisted_6$h = { class: "search" };
38257
38255
  const _hoisted_7$g = ["disabled"];
38258
- const _hoisted_8$e = { class: "content" };
38256
+ const _hoisted_8$f = { class: "content" };
38259
38257
  const _hoisted_9$c = {
38260
38258
  key: 0,
38261
38259
  class: "grid"
@@ -38487,7 +38485,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
38487
38485
  ])
38488
38486
  ])
38489
38487
  ]),
38490
- createElementVNode("div", _hoisted_8$e, [
38488
+ createElementVNode("div", _hoisted_8$f, [
38491
38489
  loading.value ? (openBlock(), createElementBlock("div", _hoisted_9$c, [
38492
38490
  (openBlock(), createElementBlock(Fragment, null, renderList(12, (n2) => {
38493
38491
  return createElementVNode("div", {
@@ -38598,7 +38596,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
38598
38596
  };
38599
38597
  }
38600
38598
  });
38601
- const JSUser = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-33e87a35"]]);
38599
+ const JSUser = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-3337613a"]]);
38602
38600
  var RoomModalSelectType = /* @__PURE__ */ ((RoomModalSelectType2) => {
38603
38601
  RoomModalSelectType2["microphoneClick"] = "microphoneClick";
38604
38602
  RoomModalSelectType2["cameraClick"] = "cameraClick";
@@ -38627,7 +38625,7 @@ const _hoisted_5$h = {
38627
38625
  };
38628
38626
  const _hoisted_6$g = { class: "section" };
38629
38627
  const _hoisted_7$f = { class: "section-title" };
38630
- const _hoisted_8$d = ["onClick"];
38628
+ const _hoisted_8$e = ["onClick"];
38631
38629
  const _hoisted_9$b = { class: "label" };
38632
38630
  const _hoisted_10$b = {
38633
38631
  key: 0,
@@ -38749,7 +38747,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
38749
38747
  class: normalizeClass(["check", { show: mic.deviceId === microPhoneId.value }])
38750
38748
  }, "✓", 2),
38751
38749
  createElementVNode("span", _hoisted_9$b, toDisplayString(formatDeviceLabel(mic.label)), 1)
38752
- ], 8, _hoisted_8$d);
38750
+ ], 8, _hoisted_8$e);
38753
38751
  }), 128)),
38754
38752
  !microPhones.value.length ? (openBlock(), createElementBlock("div", _hoisted_10$b, " 暂无麦克风,请检查电脑设备 ")) : createCommentVNode("", true)
38755
38753
  ])
@@ -38797,7 +38795,7 @@ const _hoisted_6$f = {
38797
38795
  style: { "width": "35px", "height": "35px", "font-size": "16px" }
38798
38796
  };
38799
38797
  const _hoisted_7$e = { class: "caller-text" };
38800
- const _hoisted_8$c = { class: "caller-name" };
38798
+ const _hoisted_8$d = { class: "caller-name" };
38801
38799
  const _hoisted_9$a = {
38802
38800
  key: 0,
38803
38801
  class: "caller-number"
@@ -39154,7 +39152,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
39154
39152
  isReceiving.value && callerInfo.value ? (openBlock(), createElementBlock("div", _hoisted_5$g, [
39155
39153
  createElementVNode("div", _hoisted_6$f, toDisplayString(unref(getUserAvatar)(callerInfo.value)), 1),
39156
39154
  createElementVNode("div", _hoisted_7$e, [
39157
- createElementVNode("div", _hoisted_8$c, toDisplayString(callerInfo.value.memberName || "未知来电"), 1),
39155
+ createElementVNode("div", _hoisted_8$d, toDisplayString(callerInfo.value.memberName || "未知来电"), 1),
39158
39156
  callerInfo.value.shortNumber ? (openBlock(), createElementBlock("div", _hoisted_9$a, " 分机:" + toDisplayString(callerInfo.value.shortNumber), 1)) : createCommentVNode("", true)
39159
39157
  ])
39160
39158
  ])) : createCommentVNode("", true)
@@ -39332,7 +39330,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
39332
39330
  };
39333
39331
  }
39334
39332
  });
39335
- const JSCall = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-f434b44a"]]);
39333
+ const JSCall = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-3a6e4a02"]]);
39336
39334
  const _hoisted_1$m = { class: "js-dialog-header-title" };
39337
39335
  const _hoisted_2$l = { class: "js-dialog-header-actions" };
39338
39336
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
@@ -39430,7 +39428,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
39430
39428
  };
39431
39429
  }
39432
39430
  });
39433
- const MeetingHeader = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-b7bfbbf3"]]);
39431
+ const MeetingHeader = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-f3fe3a09"]]);
39434
39432
  const _hoisted_1$l = { class: "js-dialog-content-inner" };
39435
39433
  const _hoisted_2$k = { class: "js-dialog-content-inner-right" };
39436
39434
  const _hoisted_3$k = { class: "grid-layout" };
@@ -39441,7 +39439,7 @@ const _hoisted_5$f = {
39441
39439
  };
39442
39440
  const _hoisted_6$e = ["id"];
39443
39441
  const _hoisted_7$d = { class: "avatar-container" };
39444
- const _hoisted_8$b = { class: "video-loading-overlay" };
39442
+ const _hoisted_8$c = { class: "video-loading-overlay" };
39445
39443
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
39446
39444
  __name: "meeting-content",
39447
39445
  props: {
@@ -39546,7 +39544,6 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
39546
39544
  createElementVNode("span", null, toDisplayString(joinTimeObj.value), 1),
39547
39545
  createVNode(SvgIcon, {
39548
39546
  name: _ctx.isFullscreen ? "NoFullscreenIcon" : "FullscreenIcon",
39549
- size: 18,
39550
39547
  class: "icon-inactive",
39551
39548
  onClick: handleFullscreenClick
39552
39549
  }, null, 8, ["name"])
@@ -39605,7 +39602,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
39605
39602
  ((user == null ? void 0 : user.cameraStatus) ?? "0") == "0" && ((user == null ? void 0 : user.shareScreenStatus) ?? "0") == "0"
39606
39603
  ]
39607
39604
  ]),
39608
- withDirectives(createElementVNode("div", _hoisted_8$b, [..._cache[1] || (_cache[1] = [
39605
+ withDirectives(createElementVNode("div", _hoisted_8$c, [..._cache[1] || (_cache[1] = [
39609
39606
  createElementVNode("div", { class: "video-loading-spinner" }, null, -1),
39610
39607
  createElementVNode("div", { class: "video-loading-text" }, "加载中...", -1)
39611
39608
  ])], 512), [
@@ -39652,7 +39649,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
39652
39649
  };
39653
39650
  }
39654
39651
  });
39655
- const MeetingContent = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-b0c37e90"]]);
39652
+ const MeetingContent = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-5435ba3e"]]);
39656
39653
  const _hoisted_1$k = { class: "js-dialog-footer" };
39657
39654
  const _hoisted_2$j = { class: "js-dialog-footer-group js-dialog-footer-left" };
39658
39655
  const _hoisted_3$j = { class: "js-dialog-footer-group js-dialog-footer-center" };
@@ -39959,7 +39956,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
39959
39956
  };
39960
39957
  }
39961
39958
  });
39962
- const MeetingFooter = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-013d5bbe"]]);
39959
+ const MeetingFooter = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-a919dfdb"]]);
39963
39960
  const _hoisted_1$j = { class: "search" };
39964
39961
  const _hoisted_2$i = { class: "custom-tabs" };
39965
39962
  const _hoisted_3$i = { class: "member-list" };
@@ -39967,7 +39964,7 @@ const _hoisted_4$g = ["onMouseenter"];
39967
39964
  const _hoisted_5$e = { class: "default-avatar" };
39968
39965
  const _hoisted_6$d = { class: "info" };
39969
39966
  const _hoisted_7$c = { class: "name-line" };
39970
- const _hoisted_8$a = { class: "name" };
39967
+ const _hoisted_8$b = { class: "name" };
39971
39968
  const _hoisted_9$9 = { key: 0 };
39972
39969
  const _hoisted_10$9 = { key: 1 };
39973
39970
  const _hoisted_11$7 = { class: "member-actions" };
@@ -40225,7 +40222,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
40225
40222
  createElementVNode("div", _hoisted_5$e, toDisplayString(unref(getUserAvatar)(member)), 1),
40226
40223
  createElementVNode("div", _hoisted_6$d, [
40227
40224
  createElementVNode("div", _hoisted_7$c, [
40228
- createElementVNode("span", _hoisted_8$a, toDisplayString(member.member.name), 1),
40225
+ createElementVNode("span", _hoisted_8$b, toDisplayString(member.member.name), 1),
40229
40226
  createElementVNode("div", null, [
40230
40227
  member.roleType == "1" ? (openBlock(), createElementBlock("span", _hoisted_9$9, "(主持人)")) : member.roleType == "0" ? (openBlock(), createElementBlock("span", _hoisted_10$9, " ")) : createCommentVNode("", true)
40231
40228
  ])
@@ -40307,7 +40304,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
40307
40304
  };
40308
40305
  }
40309
40306
  });
40310
- const ManageMembers = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-b38fa1a8"]]);
40307
+ const ManageMembers = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-44dbea00"]]);
40311
40308
  const _hoisted_1$i = { class: "chat-container" };
40312
40309
  const _hoisted_2$h = { class: "chat-content" };
40313
40310
  const _hoisted_3$h = { class: "chat-meta" };
@@ -40318,7 +40315,7 @@ const _hoisted_6$c = {
40318
40315
  class: "chat-image-wrapper"
40319
40316
  };
40320
40317
  const _hoisted_7$b = ["src", "onClick", "onError", "onLoad"];
40321
- const _hoisted_8$9 = {
40318
+ const _hoisted_8$a = {
40322
40319
  key: 0,
40323
40320
  class: "image-error"
40324
40321
  };
@@ -40804,7 +40801,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
40804
40801
  onError: ($event) => handleImageError($event, msg.imageUrl),
40805
40802
  onLoad: ($event) => handleImageLoad($event, msg.imageUrl)
40806
40803
  }, null, 40, _hoisted_7$b),
40807
- msg.imageError ? (openBlock(), createElementBlock("div", _hoisted_8$9, "图片加载失败")) : createCommentVNode("", true)
40804
+ msg.imageError ? (openBlock(), createElementBlock("div", _hoisted_8$a, "图片加载失败")) : createCommentVNode("", true)
40808
40805
  ])) : createCommentVNode("", true),
40809
40806
  msg.text ? (openBlock(), createElementBlock("div", _hoisted_9$8, toDisplayString(msg.text), 1)) : createCommentVNode("", true)
40810
40807
  ])
@@ -40891,7 +40888,11 @@ const _hoisted_3$g = { class: "camera-header" };
40891
40888
  const _hoisted_4$e = { class: "camera-name" };
40892
40889
  const _hoisted_5$c = { class: "camera-video" };
40893
40890
  const _hoisted_6$b = ["src"];
40894
- const _hoisted_7$a = { class: "camera-actions" };
40891
+ const _hoisted_7$a = {
40892
+ key: 1,
40893
+ class: "no-stream"
40894
+ };
40895
+ const _hoisted_8$9 = { class: "camera-actions" };
40895
40896
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
40896
40897
  __name: "Monitor",
40897
40898
  setup(__props) {
@@ -40916,7 +40917,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
40916
40917
  };
40917
40918
  const isJoining = (item) => joiningIds.value.has(String((item == null ? void 0 : item.id) ?? ""));
40918
40919
  const monitorJoin = (item) => {
40919
- if (isInMeeting(item) || isJoining(item)) return;
40920
+ if (!item.webStream || isInMeeting(item) || isJoining(item)) return;
40920
40921
  const itemId = String((item == null ? void 0 : item.id) ?? "");
40921
40922
  joiningIds.value.add(itemId);
40922
40923
  const meetingInfo = JSON.parse(
@@ -40962,20 +40963,23 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
40962
40963
  ])
40963
40964
  ]),
40964
40965
  createElementVNode("div", _hoisted_5$c, [
40965
- createElementVNode("iframe", {
40966
+ item.webStream ? (openBlock(), createElementBlock("iframe", {
40967
+ key: 0,
40966
40968
  src: item.webStream,
40967
40969
  width: "100%",
40968
40970
  height: "150",
40969
40971
  frameborder: "0",
40970
40972
  allowfullscreen: ""
40971
- }, null, 8, _hoisted_6$b)
40973
+ }, null, 8, _hoisted_6$b)) : (openBlock(), createElementBlock("div", _hoisted_7$a, " 暂无视频流 "))
40972
40974
  ]),
40973
- createElementVNode("div", _hoisted_7$a, [
40975
+ createElementVNode("div", _hoisted_8$9, [
40974
40976
  item.type !== "uav" ? (openBlock(), createBlock(_component_el_button, {
40975
40977
  key: 0,
40976
- disabled: isInMeeting(item) || isJoining(item),
40978
+ disabled: !item.webStream || isInMeeting(item) || isJoining(item),
40977
40979
  type: "primary",
40978
- class: normalizeClass(["monitor-btn", { "btn-disabled": isInMeeting(item) || isJoining(item) }]),
40980
+ class: normalizeClass(["monitor-btn", {
40981
+ "btn-disabled": !item.webStream || isInMeeting(item) || isJoining(item)
40982
+ }]),
40979
40983
  onClick: ($event) => monitorJoin(item)
40980
40984
  }, {
40981
40985
  default: withCtx(() => [
@@ -40992,7 +40996,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
40992
40996
  };
40993
40997
  }
40994
40998
  });
40995
- const Monitor = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-9e767594"]]);
40999
+ const Monitor = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-fb4f90f4"]]);
40996
41000
  const _hoisted_1$g = { class: "js-dialog-sidebar-tabs" };
40997
41001
  const _hoisted_2$f = ["onClick"];
40998
41002
  const _hoisted_3$f = { class: "tab-content-wrapper" };
@@ -41231,7 +41235,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
41231
41235
  };
41232
41236
  }
41233
41237
  });
41234
- const MinimizedMeeting = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-a0cf90a4"]]);
41238
+ const MinimizedMeeting = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-b507e72d"]]);
41235
41239
  const _hoisted_1$e = {
41236
41240
  key: 0,
41237
41241
  class: "toggle"
@@ -41588,7 +41592,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
41588
41592
  });
41589
41593
  const Tree = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-b9399b47"]]);
41590
41594
  const _hoisted_1$c = { class: "js-invite-modal-content-left" };
41591
- const _hoisted_2$c = { class: "js-search-container" };
41595
+ const _hoisted_2$c = { class: "search" };
41592
41596
  const _hoisted_3$c = { class: "js-tree-container" };
41593
41597
  const _hoisted_4$a = {
41594
41598
  key: 0,
@@ -41750,12 +41754,17 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
41750
41754
  withDirectives(createElementVNode("input", {
41751
41755
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
41752
41756
  type: "text",
41753
- placeholder: "搜索",
41754
- class: "js-search-input",
41757
+ placeholder: "搜索用户",
41758
+ class: "search-input",
41755
41759
  onInput: handleSearch
41756
41760
  }, null, 544), [
41757
41761
  [vModelText, searchKeyword.value]
41758
- ])
41762
+ ]),
41763
+ createVNode(SvgIcon, {
41764
+ name: "SearchIcon",
41765
+ class: "search-icon",
41766
+ size: 15
41767
+ })
41759
41768
  ]),
41760
41769
  createElementVNode("div", _hoisted_3$c, [
41761
41770
  treeData.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_4$a, [
@@ -41822,7 +41831,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
41822
41831
  };
41823
41832
  }
41824
41833
  });
41825
- const Invite = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-6dc97838"]]);
41834
+ const Invite = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-ffd25599"]]);
41826
41835
  const _hoisted_1$b = { class: "meeting-invite-modal" };
41827
41836
  const _hoisted_2$b = { class: "meeting-invite-modal-header" };
41828
41837
  const _hoisted_3$b = { class: "meeting-invite-modal-title" };
@@ -43291,7 +43300,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
43291
43300
  };
43292
43301
  }
43293
43302
  });
43294
- const JSUnattendedSetting = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-9c3eeb27"]]);
43303
+ const JSUnattendedSetting = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-7ea0c21b"]]);
43295
43304
  const _hoisted_1$5 = { class: "notification-container" };
43296
43305
  const _hoisted_2$5 = ["onClick"];
43297
43306
  const _hoisted_3$5 = { class: "notification-content" };
@@ -44063,194 +44072,192 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44063
44072
  });
44064
44073
  return (_ctx, _cache) => {
44065
44074
  const _directive_draggable = resolveDirective("draggable");
44066
- return openBlock(), createBlock(Teleport, { to: "body" }, [
44067
- visible.value ? (openBlock(), createElementBlock("div", {
44068
- key: 0,
44069
- class: normalizeClass(["modal", themeClass.value])
44070
- }, [
44071
- withDirectives((openBlock(), createElementBlock("div", _hoisted_1, [
44072
- createElementVNode("div", _hoisted_2, [
44073
- _cache[5] || (_cache[5] = createElementVNode("div", { class: "title" }, "设备检测", -1)),
44074
- createElementVNode("div", {
44075
- class: "close-btn",
44076
- onClick: closeModal
44077
- }, [
44078
- createVNode(SvgIcon, {
44079
- name: "CloseIcon",
44080
- size: 20,
44081
- style: { "color": "var(--js-text-color)" }
44082
- })
44083
- ])
44075
+ return visible.value ? (openBlock(), createElementBlock("div", {
44076
+ key: 0,
44077
+ class: normalizeClass(["modal", themeClass.value])
44078
+ }, [
44079
+ withDirectives((openBlock(), createElementBlock("div", _hoisted_1, [
44080
+ createElementVNode("div", _hoisted_2, [
44081
+ _cache[5] || (_cache[5] = createElementVNode("div", { class: "title" }, "设备检测", -1)),
44082
+ createElementVNode("div", {
44083
+ class: "close-btn",
44084
+ onClick: closeModal
44085
+ }, [
44086
+ createVNode(SvgIcon, {
44087
+ name: "CloseIcon",
44088
+ size: 20,
44089
+ style: { "color": "var(--js-text-color)" }
44090
+ })
44091
+ ])
44092
+ ]),
44093
+ createElementVNode("div", _hoisted_3, [
44094
+ createElementVNode("div", _hoisted_4, [
44095
+ (openBlock(), createElementBlock(Fragment, null, renderList(tabs, (tab) => {
44096
+ return createElementVNode("button", {
44097
+ key: tab.key,
44098
+ class: normalizeClass(["tab-item", { active: activeTab.value === tab.key }]),
44099
+ onClick: ($event) => activeTab.value = tab.key
44100
+ }, [
44101
+ createVNode(SvgIcon, {
44102
+ name: tab.icon,
44103
+ size: 18
44104
+ }, null, 8, ["name"]),
44105
+ createElementVNode("span", null, toDisplayString(tab.label), 1)
44106
+ ], 10, _hoisted_5);
44107
+ }), 64))
44084
44108
  ]),
44085
- createElementVNode("div", _hoisted_3, [
44086
- createElementVNode("div", _hoisted_4, [
44087
- (openBlock(), createElementBlock(Fragment, null, renderList(tabs, (tab) => {
44088
- return createElementVNode("button", {
44089
- key: tab.key,
44090
- class: normalizeClass(["tab-item", { active: activeTab.value === tab.key }]),
44091
- onClick: ($event) => activeTab.value = tab.key
44092
- }, [
44093
- createVNode(SvgIcon, {
44094
- name: tab.icon,
44095
- size: 18
44096
- }, null, 8, ["name"]),
44097
- createElementVNode("span", null, toDisplayString(tab.label), 1)
44098
- ], 10, _hoisted_5);
44099
- }), 64))
44100
- ]),
44101
- createElementVNode("div", _hoisted_6, [
44102
- activeTab.value === "camera" ? (openBlock(), createElementBlock("div", _hoisted_7, [
44103
- createElementVNode("div", _hoisted_8, [
44104
- createElementVNode("video", {
44105
- ref_key: "cameraVideoRef",
44106
- ref: cameraVideoRef,
44107
- class: "camera-preview-large",
44108
- autoplay: "",
44109
- muted: "",
44110
- playsinline: ""
44111
- }, null, 512),
44112
- cameraError.value ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(cameraError.value), 1)) : !cameras.value.length ? (openBlock(), createElementBlock("div", _hoisted_10, " 未检测到摄像头设备 ")) : createCommentVNode("", true)
44113
- ]),
44114
- createElementVNode("div", _hoisted_11, [
44115
- _cache[6] || (_cache[6] = createElementVNode("div", { class: "device-label" }, "摄像头", -1)),
44109
+ createElementVNode("div", _hoisted_6, [
44110
+ activeTab.value === "camera" ? (openBlock(), createElementBlock("div", _hoisted_7, [
44111
+ createElementVNode("div", _hoisted_8, [
44112
+ createElementVNode("video", {
44113
+ ref_key: "cameraVideoRef",
44114
+ ref: cameraVideoRef,
44115
+ class: "camera-preview-large",
44116
+ autoplay: "",
44117
+ muted: "",
44118
+ playsinline: ""
44119
+ }, null, 512),
44120
+ cameraError.value ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(cameraError.value), 1)) : !cameras.value.length ? (openBlock(), createElementBlock("div", _hoisted_10, " 未检测到摄像头设备 ")) : createCommentVNode("", true)
44121
+ ]),
44122
+ createElementVNode("div", _hoisted_11, [
44123
+ _cache[6] || (_cache[6] = createElementVNode("div", { class: "device-label" }, "摄像头", -1)),
44124
+ createVNode(JsSelect, {
44125
+ modelValue: selectedCameraId.value,
44126
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedCameraId.value = $event),
44127
+ options: cameras.value,
44128
+ "label-key": "label",
44129
+ "value-key": "deviceId",
44130
+ class: "device-select"
44131
+ }, null, 8, ["modelValue", "options"])
44132
+ ])
44133
+ ])) : (openBlock(), createElementBlock("div", _hoisted_12, [
44134
+ createElementVNode("div", _hoisted_13, [
44135
+ _cache[9] || (_cache[9] = createElementVNode("div", { class: "audio-section-title" }, "扬声器", -1)),
44136
+ createElementVNode("div", _hoisted_14, [
44116
44137
  createVNode(JsSelect, {
44117
- modelValue: selectedCameraId.value,
44118
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedCameraId.value = $event),
44119
- options: cameras.value,
44138
+ modelValue: selectedSpeakerId.value,
44139
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedSpeakerId.value = $event),
44140
+ options: speakers.value,
44120
44141
  "label-key": "label",
44121
44142
  "value-key": "deviceId",
44122
- class: "device-select"
44123
- }, null, 8, ["modelValue", "options"])
44124
- ])
44125
- ])) : (openBlock(), createElementBlock("div", _hoisted_12, [
44126
- createElementVNode("div", _hoisted_13, [
44127
- _cache[9] || (_cache[9] = createElementVNode("div", { class: "audio-section-title" }, "扬声器", -1)),
44128
- createElementVNode("div", _hoisted_14, [
44129
- createVNode(JsSelect, {
44130
- modelValue: selectedSpeakerId.value,
44131
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedSpeakerId.value = $event),
44132
- options: speakers.value,
44133
- "label-key": "label",
44134
- "value-key": "deviceId",
44135
- class: "device-select flex-1"
44136
- }, null, 8, ["modelValue", "options"]),
44137
- createElementVNode("button", {
44138
- class: "action-btn-outline",
44139
- disabled: !speakers.value.length,
44140
- onClick: toggleSpeakerTest
44141
- }, toDisplayString(speakerTesting.value ? "停止检测" : "检测扬声器"), 9, _hoisted_15)
44143
+ class: "device-select flex-1"
44144
+ }, null, 8, ["modelValue", "options"]),
44145
+ createElementVNode("button", {
44146
+ class: "action-btn-outline",
44147
+ disabled: !speakers.value.length,
44148
+ onClick: toggleSpeakerTest
44149
+ }, toDisplayString(speakerTesting.value ? "停止检测" : "检测扬声器"), 9, _hoisted_15)
44150
+ ]),
44151
+ createElementVNode("div", _hoisted_16, [
44152
+ createElementVNode("div", _hoisted_17, [
44153
+ _cache[7] || (_cache[7] = createElementVNode("span", null, "输出等级", -1)),
44154
+ createVNode(SvgIcon, {
44155
+ name: "SpeakerIcon",
44156
+ size: 16,
44157
+ style: { "color": "#2f86ff" }
44158
+ })
44142
44159
  ]),
44143
- createElementVNode("div", _hoisted_16, [
44144
- createElementVNode("div", _hoisted_17, [
44145
- _cache[7] || (_cache[7] = createElementVNode("span", null, "输出等级", -1)),
44146
- createVNode(SvgIcon, {
44147
- name: "SpeakerIcon",
44148
- size: 16,
44149
- style: { "color": "#2f86ff" }
44150
- })
44151
- ]),
44152
- createElementVNode("div", _hoisted_18, [
44153
- (openBlock(), createElementBlock(Fragment, null, renderList(14, (i2) => {
44154
- return createElementVNode("div", {
44155
- key: i2,
44156
- class: normalizeClass(["level-bar", { active: speakerProgress.value > (i2 - 1) * (100 / 14) }])
44157
- }, null, 2);
44158
- }), 64))
44159
- ])
44160
+ createElementVNode("div", _hoisted_18, [
44161
+ (openBlock(), createElementBlock(Fragment, null, renderList(14, (i2) => {
44162
+ return createElementVNode("div", {
44163
+ key: i2,
44164
+ class: normalizeClass(["level-bar", { active: speakerProgress.value > (i2 - 1) * (100 / 14) }])
44165
+ }, null, 2);
44166
+ }), 64))
44167
+ ])
44168
+ ]),
44169
+ createElementVNode("div", _hoisted_19, [
44170
+ createElementVNode("div", _hoisted_20, [
44171
+ _cache[8] || (_cache[8] = createElementVNode("span", null, "音量", -1)),
44172
+ createVNode(SvgIcon, {
44173
+ name: "SpeakerIcon",
44174
+ size: 16,
44175
+ style: { "color": "#2f86ff" }
44176
+ })
44160
44177
  ]),
44161
- createElementVNode("div", _hoisted_19, [
44162
- createElementVNode("div", _hoisted_20, [
44163
- _cache[8] || (_cache[8] = createElementVNode("span", null, "音量", -1)),
44164
- createVNode(SvgIcon, {
44165
- name: "SpeakerIcon",
44166
- size: 16,
44167
- style: { "color": "#2f86ff" }
44168
- })
44169
- ]),
44170
- createElementVNode("div", _hoisted_21, [
44171
- withDirectives(createElementVNode("input", {
44172
- type: "range",
44173
- min: "0",
44174
- max: "100",
44175
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => speakerVolume.value = $event),
44176
- class: "volume-slider",
44177
- style: normalizeStyle(`background: linear-gradient(to right, #2f86ff ${speakerVolume.value}%, rgba(255, 255, 255, 0.08) ${speakerVolume.value}%)`)
44178
- }, null, 4), [
44179
- [vModelText, speakerVolume.value]
44180
- ])
44178
+ createElementVNode("div", _hoisted_21, [
44179
+ withDirectives(createElementVNode("input", {
44180
+ type: "range",
44181
+ min: "0",
44182
+ max: "100",
44183
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => speakerVolume.value = $event),
44184
+ class: "volume-slider",
44185
+ style: normalizeStyle(`background: linear-gradient(to right, #2f86ff ${speakerVolume.value}%, rgba(255, 255, 255, 0.08) ${speakerVolume.value}%)`)
44186
+ }, null, 4), [
44187
+ [vModelText, speakerVolume.value]
44181
44188
  ])
44182
44189
  ])
44190
+ ])
44191
+ ]),
44192
+ createElementVNode("div", _hoisted_22, [
44193
+ _cache[12] || (_cache[12] = createElementVNode("div", { class: "audio-section-title" }, "麦克风", -1)),
44194
+ createElementVNode("div", _hoisted_23, [
44195
+ createVNode(JsSelect, {
44196
+ modelValue: selectedMicrophoneId.value,
44197
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => selectedMicrophoneId.value = $event),
44198
+ options: microPhones.value,
44199
+ "label-key": "label",
44200
+ "value-key": "deviceId",
44201
+ class: "device-select flex-1"
44202
+ }, null, 8, ["modelValue", "options"]),
44203
+ createElementVNode("button", {
44204
+ class: "action-btn-outline",
44205
+ disabled: !microPhones.value.length,
44206
+ onClick: toggleMicrophoneTest
44207
+ }, toDisplayString(microphoneTesting.value ? "停止检测" : "检测麦克风"), 9, _hoisted_24)
44183
44208
  ]),
44184
- createElementVNode("div", _hoisted_22, [
44185
- _cache[12] || (_cache[12] = createElementVNode("div", { class: "audio-section-title" }, "麦克风", -1)),
44186
- createElementVNode("div", _hoisted_23, [
44187
- createVNode(JsSelect, {
44188
- modelValue: selectedMicrophoneId.value,
44189
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => selectedMicrophoneId.value = $event),
44190
- options: microPhones.value,
44191
- "label-key": "label",
44192
- "value-key": "deviceId",
44193
- class: "device-select flex-1"
44194
- }, null, 8, ["modelValue", "options"]),
44195
- createElementVNode("button", {
44196
- class: "action-btn-outline",
44197
- disabled: !microPhones.value.length,
44198
- onClick: toggleMicrophoneTest
44199
- }, toDisplayString(microphoneTesting.value ? "停止检测" : "检测麦克风"), 9, _hoisted_24)
44209
+ createElementVNode("div", _hoisted_25, [
44210
+ createElementVNode("div", _hoisted_26, [
44211
+ _cache[10] || (_cache[10] = createElementVNode("span", null, "输入等级", -1)),
44212
+ createVNode(SvgIcon, {
44213
+ name: "MicrophoneIcon",
44214
+ size: 16,
44215
+ style: { "color": "#2f86ff" }
44216
+ })
44200
44217
  ]),
44201
- createElementVNode("div", _hoisted_25, [
44202
- createElementVNode("div", _hoisted_26, [
44203
- _cache[10] || (_cache[10] = createElementVNode("span", null, "输入等级", -1)),
44204
- createVNode(SvgIcon, {
44205
- name: "MicrophoneIcon",
44206
- size: 16,
44207
- style: { "color": "#2f86ff" }
44208
- })
44209
- ]),
44210
- createElementVNode("div", _hoisted_27, [
44211
- (openBlock(), createElementBlock(Fragment, null, renderList(14, (i2) => {
44212
- return createElementVNode("div", {
44213
- key: i2,
44214
- class: normalizeClass(["level-bar", { active: microphoneLevel.value > (i2 - 1) * (100 / 14) }])
44215
- }, null, 2);
44216
- }), 64))
44217
- ])
44218
+ createElementVNode("div", _hoisted_27, [
44219
+ (openBlock(), createElementBlock(Fragment, null, renderList(14, (i2) => {
44220
+ return createElementVNode("div", {
44221
+ key: i2,
44222
+ class: normalizeClass(["level-bar", { active: microphoneLevel.value > (i2 - 1) * (100 / 14) }])
44223
+ }, null, 2);
44224
+ }), 64))
44225
+ ])
44226
+ ]),
44227
+ createElementVNode("div", _hoisted_28, [
44228
+ createElementVNode("div", _hoisted_29, [
44229
+ _cache[11] || (_cache[11] = createElementVNode("span", null, "音量", -1)),
44230
+ createVNode(SvgIcon, {
44231
+ name: "SpeakerIcon",
44232
+ size: 16,
44233
+ style: { "color": "#2f86ff" }
44234
+ })
44218
44235
  ]),
44219
- createElementVNode("div", _hoisted_28, [
44220
- createElementVNode("div", _hoisted_29, [
44221
- _cache[11] || (_cache[11] = createElementVNode("span", null, "音量", -1)),
44222
- createVNode(SvgIcon, {
44223
- name: "SpeakerIcon",
44224
- size: 16,
44225
- style: { "color": "#2f86ff" }
44226
- })
44227
- ]),
44228
- createElementVNode("div", _hoisted_30, [
44229
- withDirectives(createElementVNode("input", {
44230
- type: "range",
44231
- min: "0",
44232
- max: "100",
44233
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => microphoneVolume.value = $event),
44234
- class: "volume-slider",
44235
- style: normalizeStyle(`background: linear-gradient(to right, #2f86ff ${microphoneVolume.value}%, rgba(255, 255, 255, 0.08) ${microphoneVolume.value}%)`)
44236
- }, null, 4), [
44237
- [vModelText, microphoneVolume.value]
44238
- ])
44236
+ createElementVNode("div", _hoisted_30, [
44237
+ withDirectives(createElementVNode("input", {
44238
+ type: "range",
44239
+ min: "0",
44240
+ max: "100",
44241
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => microphoneVolume.value = $event),
44242
+ class: "volume-slider",
44243
+ style: normalizeStyle(`background: linear-gradient(to right, #2f86ff ${microphoneVolume.value}%, rgba(255, 255, 255, 0.08) ${microphoneVolume.value}%)`)
44244
+ }, null, 4), [
44245
+ [vModelText, microphoneVolume.value]
44239
44246
  ])
44240
44247
  ])
44241
44248
  ])
44242
- ]))
44243
- ])
44249
+ ])
44250
+ ]))
44244
44251
  ])
44245
- ])), [
44246
- [_directive_draggable, { handle: ".header" }]
44247
44252
  ])
44248
- ], 2)) : createCommentVNode("", true)
44249
- ]);
44253
+ ])), [
44254
+ [_directive_draggable, { handle: ".header" }]
44255
+ ])
44256
+ ], 2)) : createCommentVNode("", true);
44250
44257
  };
44251
44258
  }
44252
44259
  });
44253
- const JSSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-44d3edad"]]);
44260
+ const JSSettings = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e538b058"]]);
44254
44261
  function scheduleJoinRoom() {
44255
44262
  setTimeout(() => {
44256
44263
  try {