yx-web-sdk 0.0.26 → 0.0.28

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.
@@ -38864,7 +38864,7 @@
38864
38864
  const _hoisted_18$2 = { class: "chatCardQuoteMsgName" };
38865
38865
  const _hoisted_19$2 = ["innerHTML"];
38866
38866
  const _hoisted_20$2 = { class: "ant-image-mask-info" };
38867
- const _hoisted_21$2 = { class: "chatCardStatus" };
38867
+ const _hoisted_21$1 = { class: "chatCardStatus" };
38868
38868
  const MAX_IMG_PREVIEW_SIZE = 2 * 1024 * 1024;
38869
38869
  const REVOCATION_INTERVAL = 120 * 1e3;
38870
38870
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
@@ -38902,19 +38902,90 @@
38902
38902
  return props.msg.fromAccount === props.myAccid && nowTime.value - props.msg.time <= REVOCATION_INTERVAL;
38903
38903
  });
38904
38904
  const { copy } = core.useClipboard();
38905
+ const imageBlobCache = /* @__PURE__ */ new Map();
38906
+ async function fetchImageAsPngBlob(url) {
38907
+ const response = await fetch(url);
38908
+ const blob = await response.blob();
38909
+ if (blob.type === "image/png") {
38910
+ return blob;
38911
+ }
38912
+ return new Promise((resolve, reject) => {
38913
+ const objectUrl = URL.createObjectURL(blob);
38914
+ const img = document.createElement("img");
38915
+ img.crossOrigin = "anonymous";
38916
+ img.onload = () => {
38917
+ const canvas = document.createElement("canvas");
38918
+ canvas.width = img.naturalWidth;
38919
+ canvas.height = img.naturalHeight;
38920
+ const ctx = canvas.getContext("2d");
38921
+ ctx.drawImage(img, 0, 0);
38922
+ canvas.toBlob((b) => {
38923
+ URL.revokeObjectURL(objectUrl);
38924
+ if (b) {
38925
+ resolve(b);
38926
+ } else {
38927
+ reject(new Error("canvas toBlob 失败"));
38928
+ }
38929
+ }, "image/png");
38930
+ };
38931
+ img.onerror = () => {
38932
+ URL.revokeObjectURL(objectUrl);
38933
+ reject(new Error("图片加载失败"));
38934
+ };
38935
+ img.src = objectUrl;
38936
+ });
38937
+ }
38938
+ function clearImageBlobCache() {
38939
+ imageBlobCache.clear();
38940
+ }
38905
38941
  const emit = __emit;
38906
38942
  const textMsgContextMenuVisible = vue.ref(false);
38907
38943
  const textMsgContextMenuX = vue.ref(0);
38908
38944
  const textMsgContextMenuY = vue.ref(0);
38909
38945
  const textMsgContextMenuRef = vue.ref(null);
38910
- function onTextMsgContextMenu(e) {
38946
+ const eventSource = vue.ref("");
38947
+ function onTextMsgContextMenu(e, p) {
38948
+ var _a;
38949
+ eventSource.value = p != null ? p : "normal";
38911
38950
  textMsgContextMenuX.value = e.clientX;
38912
38951
  textMsgContextMenuY.value = e.clientY;
38913
- textMsgContextMenuVisible.value = true;
38952
+ if (p === "img") {
38953
+ const imgUrl = (_a = props.msg.attach) == null ? void 0 : _a.url;
38954
+ if (imgUrl && !imageBlobCache.has(imgUrl)) {
38955
+ fetchImageAsPngBlob(imgUrl).then((blob) => {
38956
+ imageBlobCache.set(imgUrl, blob);
38957
+ }).catch((err) => {
38958
+ console.error("预下载图片失败: ", err);
38959
+ });
38960
+ }
38961
+ }
38962
+ setTimeout(
38963
+ () => {
38964
+ textMsgContextMenuVisible.value = true;
38965
+ },
38966
+ p === "img" ? 150 : 0
38967
+ );
38914
38968
  }
38915
38969
  function onCopyClick() {
38916
- var _a;
38970
+ var _a, _b;
38917
38971
  if (props.msg.type === "text") {
38972
+ if (eventSource.value === "img") {
38973
+ const imgUrl = (_a = props.msg.attach) == null ? void 0 : _a.url;
38974
+ const cachedBlob = imageBlobCache.get(imgUrl);
38975
+ if (cachedBlob) {
38976
+ navigator.clipboard.write([new ClipboardItem({ "image/png": cachedBlob })]).then(() => {
38977
+ }).catch((err) => {
38978
+ console.error("copy image error: ", err);
38979
+ antDesignVue.message.error("复制图片失败");
38980
+ }).finally(() => {
38981
+ textMsgContextMenuVisible.value = false;
38982
+ });
38983
+ } else {
38984
+ antDesignVue.message.warning("图片正在加载中,请稍后再试");
38985
+ textMsgContextMenuVisible.value = false;
38986
+ }
38987
+ return;
38988
+ }
38918
38989
  copy(props.msg.body).then(() => {
38919
38990
  }).catch((err) => {
38920
38991
  console.error("copy error: ", err);
@@ -38924,13 +38995,20 @@
38924
38995
  });
38925
38996
  }
38926
38997
  if (props.msg.type === "image") {
38927
- copy((_a = props.msg.attach) == null ? void 0 : _a.url).then(() => {
38928
- }).catch((err) => {
38929
- console.error("copy error: ", err);
38930
- antDesignVue.message.error("复制失败");
38931
- }).finally(() => {
38998
+ const imgUrl = (_b = props.msg.attach) == null ? void 0 : _b.url;
38999
+ const cachedBlob = imageBlobCache.get(imgUrl);
39000
+ if (cachedBlob) {
39001
+ navigator.clipboard.write([new ClipboardItem({ "image/png": cachedBlob })]).then(() => {
39002
+ }).catch((err) => {
39003
+ console.error("copy image error: ", err);
39004
+ antDesignVue.message.error("复制图片失败");
39005
+ }).finally(() => {
39006
+ textMsgContextMenuVisible.value = false;
39007
+ });
39008
+ } else {
39009
+ antDesignVue.message.warning("图片正在加载中,请稍后再试");
38932
39010
  textMsgContextMenuVisible.value = false;
38933
- });
39011
+ }
38934
39012
  }
38935
39013
  }
38936
39014
  function onQuoteClick() {
@@ -39002,6 +39080,7 @@
39002
39080
  vue.onBeforeUnmount(() => {
39003
39081
  document.removeEventListener("click", handleClickOutside, true);
39004
39082
  document.removeEventListener("contextmenu", handleClickOutside, true);
39083
+ clearImageBlobCache();
39005
39084
  });
39006
39085
  const myAvatar = vue.computed(() => {
39007
39086
  var _a, _b, _c, _d;
@@ -39163,7 +39242,7 @@
39163
39242
  ], 2)) : __props.msg.type === "image" ? (vue.openBlock(), vue.createElementBlock("div", {
39164
39243
  key: 2,
39165
39244
  class: vue.normalizeClass(["chatCardMainContent flash-target", { myMsg: __props.msg.fromAccount === __props.myAccid, otherMsg: __props.msg.fromAccount !== __props.myAccid }]),
39166
- onContextmenu: vue.withModifiers(onTextMsgContextMenu, ["prevent"])
39245
+ onContextmenu: _cache[0] || (_cache[0] = vue.withModifiers(($event) => onTextMsgContextMenu($event, "img"), ["prevent"]))
39167
39246
  }, [
39168
39247
  vue.createVNode(vue.unref(antDesignVue.Image), {
39169
39248
  class: "imgMsg",
@@ -39181,24 +39260,28 @@
39181
39260
  ], 34)) : (vue.openBlock(), vue.createElementBlock("div", {
39182
39261
  key: 3,
39183
39262
  class: vue.normalizeClass(["chatCardMainContent", { myMsg: __props.msg.fromAccount === __props.myAccid, otherMsg: __props.msg.fromAccount !== __props.myAccid }])
39184
- }, [..._cache[1] || (_cache[1] = [
39263
+ }, [..._cache[3] || (_cache[3] = [
39185
39264
  vue.createElementVNode("div", { class: "textMsg" }, vue.toDisplayString("暂不支持该消息"), -1)
39186
39265
  ])], 2)),
39187
39266
  __props.msg.type === "text" && IMG_EXT.includes(((_j = (_i = __props.msg) == null ? void 0 : _i.attach) == null ? void 0 : _j.ext) || "") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$3, [
39188
- ((_l = (_k = __props.msg) == null ? void 0 : _k.attach) == null ? void 0 : _l.size) && ((_n = (_m = __props.msg) == null ? void 0 : _m.attach) == null ? void 0 : _n.size) < MAX_IMG_PREVIEW_SIZE ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Image), {
39267
+ ((_l = (_k = __props.msg) == null ? void 0 : _k.attach) == null ? void 0 : _l.size) && ((_n = (_m = __props.msg) == null ? void 0 : _m.attach) == null ? void 0 : _n.size) < MAX_IMG_PREVIEW_SIZE ? (vue.openBlock(), vue.createElementBlock("div", {
39189
39268
  key: 0,
39190
- class: "imgMsg",
39191
- src: (_p = (_o = __props.msg) == null ? void 0 : _o.attach) == null ? void 0 : _p.url,
39192
- width: attachImageSize.value.width,
39193
- height: attachImageSize.value.height
39194
- }, {
39195
- previewMask: vue.withCtx(() => [
39196
- vue.createElementVNode("div", _hoisted_15$3, [
39197
- vue.createVNode(vue.unref(EyeOutlined))
39198
- ])
39199
- ]),
39200
- _: 1
39201
- }, 8, ["src", "width", "height"])) : (vue.openBlock(), vue.createBlock(_sfc_main$9, {
39269
+ onContextmenu: _cache[1] || (_cache[1] = vue.withModifiers(($event) => onTextMsgContextMenu($event, "img"), ["prevent"]))
39270
+ }, [
39271
+ vue.createVNode(vue.unref(antDesignVue.Image), {
39272
+ class: "imgMsg",
39273
+ src: (_p = (_o = __props.msg) == null ? void 0 : _o.attach) == null ? void 0 : _p.url,
39274
+ width: attachImageSize.value.width,
39275
+ height: attachImageSize.value.height
39276
+ }, {
39277
+ previewMask: vue.withCtx(() => [
39278
+ vue.createElementVNode("div", _hoisted_15$3, [
39279
+ vue.createVNode(vue.unref(EyeOutlined))
39280
+ ])
39281
+ ]),
39282
+ _: 1
39283
+ }, 8, ["src", "width", "height"])
39284
+ ], 32)) : (vue.openBlock(), vue.createBlock(_sfc_main$9, {
39202
39285
  key: 1,
39203
39286
  attach: (_q = __props.msg) == null ? void 0 : _q.attach
39204
39287
  }, null, 8, ["attach"]))
@@ -39225,7 +39308,7 @@
39225
39308
  src: (_s = msgExt.value.quoteMsg.attach) == null ? void 0 : _s.url,
39226
39309
  width: quoteImageMsgSize.value.width,
39227
39310
  height: quoteImageMsgSize.value.height,
39228
- onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
39311
+ onClick: _cache[2] || (_cache[2] = vue.withModifiers(() => {
39229
39312
  }, ["stop", "prevent"]))
39230
39313
  }, {
39231
39314
  previewMask: vue.withCtx(() => [
@@ -39238,7 +39321,7 @@
39238
39321
  ])
39239
39322
  ])) : vue.createCommentVNode("", true)
39240
39323
  ]),
39241
- vue.createElementVNode("div", _hoisted_21$2, [
39324
+ vue.createElementVNode("div", _hoisted_21$1, [
39242
39325
  __props.msg.deliveryStatus === "failed" ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
39243
39326
  key: 0,
39244
39327
  type: "text",
@@ -39955,11 +40038,10 @@
39955
40038
  class: "chatroomInputAttachmentWrapperImg"
39956
40039
  };
39957
40040
  const _hoisted_16$1 = { class: "chatroomInputAttachmentWrapperImgMask" };
39958
- const _hoisted_17$1 = { class: "chatroomInputWrapper" };
39959
- const _hoisted_18$1 = { class: "chatroomInputLeft" };
39960
- const _hoisted_19$1 = { style: { "width": "400px" } };
39961
- const _hoisted_20$1 = ["onClick"];
39962
- const _hoisted_21$1 = { class: "chatroomController" };
40041
+ const _hoisted_17$1 = { class: "chatroomInputLeft" };
40042
+ const _hoisted_18$1 = { style: { "width": "400px" } };
40043
+ const _hoisted_19$1 = ["onClick"];
40044
+ const _hoisted_20$1 = { class: "chatroomController" };
39963
40045
  const MAX_IMG_SIZE = 10;
39964
40046
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
39965
40047
  ...{
@@ -40240,41 +40322,101 @@
40240
40322
  }
40241
40323
  };
40242
40324
  const handlePaste = async (e) => {
40325
+ var _a;
40243
40326
  if (props.sendDisabled || attachmentUploading.value) return;
40244
40327
  const clipboardData = e.clipboardData;
40245
40328
  if (!clipboardData) return;
40246
- const items = clipboardData.items;
40247
- for (let i = 0; i < items.length; i++) {
40248
- const item = items[i];
40249
- if (item.type.startsWith("image/")) {
40250
- const file = item.getAsFile();
40251
- if (file) {
40252
- e.preventDefault();
40253
- if (!isLt(file.size, MAX_IMG_SIZE)) {
40254
- antDesignVue.message.error("图片大小最大支持20M");
40255
- return;
40256
- }
40329
+ let imageFile = null;
40330
+ if (clipboardData.items && clipboardData.items.length) {
40331
+ for (let i = 0; i < clipboardData.items.length; i++) {
40332
+ const item = clipboardData.items[i];
40333
+ if (item.type.startsWith("image/")) {
40334
+ imageFile = item.getAsFile();
40335
+ break;
40336
+ }
40337
+ }
40338
+ }
40339
+ if (!imageFile && clipboardData.files && clipboardData.files.length) {
40340
+ for (let i = 0; i < clipboardData.files.length; i++) {
40341
+ if (clipboardData.files[i].type.startsWith("image/")) {
40342
+ imageFile = clipboardData.files[i];
40343
+ break;
40344
+ }
40345
+ }
40346
+ }
40347
+ if (!imageFile) return;
40348
+ e.preventDefault();
40349
+ const existingFile = (_a = attachment.value) == null ? void 0 : _a.__file;
40350
+ if (existingFile && existingFile.size === imageFile.size && existingFile.type === imageFile.type) {
40351
+ return;
40352
+ }
40353
+ if (!isLt(imageFile.size, MAX_IMG_SIZE)) {
40354
+ antDesignVue.message.error("图片大小最大支持20M");
40355
+ return;
40356
+ }
40357
+ attachmentUploading.value = true;
40358
+ try {
40359
+ const uploadResult = await channelStore.uploadImage({
40360
+ file: imageFile,
40361
+ onUploadStart: () => {
40257
40362
  attachmentUploading.value = true;
40258
- try {
40259
- const uploadResult = await channelStore.uploadImage({
40260
- file,
40261
- onUploadStart: () => {
40262
- attachmentUploading.value = true;
40263
- },
40264
- onUploadDone: () => {
40265
- attachmentUploading.value = false;
40266
- }
40267
- });
40268
- attachment.value = uploadResult;
40269
- } catch (error) {
40270
- console.error("上传图片失败:", error);
40271
- antDesignVue.message.error("上传图片失败");
40272
- attachmentUploading.value = false;
40273
- }
40363
+ },
40364
+ onUploadDone: () => {
40365
+ attachmentUploading.value = false;
40274
40366
  }
40275
- return;
40367
+ });
40368
+ uploadResult.__file = imageFile;
40369
+ attachment.value = uploadResult;
40370
+ } catch (error) {
40371
+ console.error("上传图片失败:", error);
40372
+ antDesignVue.message.error("上传图片失败");
40373
+ attachmentUploading.value = false;
40374
+ }
40375
+ };
40376
+ const handleDrop = async (e) => {
40377
+ var _a;
40378
+ e.preventDefault();
40379
+ if (props.sendDisabled || attachmentUploading.value) return;
40380
+ const dataTransfer = e.dataTransfer;
40381
+ console.log("dataTransfer", dataTransfer);
40382
+ if (!dataTransfer || !dataTransfer.files.length) return;
40383
+ let imageFile = null;
40384
+ for (let i = 0; i < dataTransfer.files.length; i++) {
40385
+ if (dataTransfer.files[i].type.startsWith("image/")) {
40386
+ imageFile = dataTransfer.files[i];
40387
+ break;
40276
40388
  }
40277
40389
  }
40390
+ if (!imageFile) {
40391
+ antDesignVue.message.error("仅支持拖入图片文件");
40392
+ return;
40393
+ }
40394
+ const existingFile = (_a = attachment.value) == null ? void 0 : _a.__file;
40395
+ if (existingFile && existingFile.size === imageFile.size && existingFile.type === imageFile.type) {
40396
+ return;
40397
+ }
40398
+ if (!isLt(imageFile.size, MAX_IMG_SIZE)) {
40399
+ antDesignVue.message.error(`图片大小最大支持${MAX_IMG_SIZE}MB`);
40400
+ return;
40401
+ }
40402
+ attachmentUploading.value = true;
40403
+ try {
40404
+ const uploadResult = await channelStore.uploadImage({
40405
+ file: imageFile,
40406
+ onUploadStart: () => {
40407
+ attachmentUploading.value = true;
40408
+ },
40409
+ onUploadDone: () => {
40410
+ attachmentUploading.value = false;
40411
+ }
40412
+ });
40413
+ uploadResult.__file = imageFile;
40414
+ attachment.value = uploadResult;
40415
+ } catch (error) {
40416
+ console.error("拖拽上传图片失败:", error);
40417
+ antDesignVue.message.error("拖拽上传图片失败");
40418
+ attachmentUploading.value = false;
40419
+ }
40278
40420
  };
40279
40421
  const uploadImgHandler = async (file) => {
40280
40422
  if (!file.type.startsWith("image/")) {
@@ -40482,7 +40624,7 @@
40482
40624
  __props.msgs.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$4, [
40483
40625
  __props.isNoMore ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$4, "没有更多消息了~")) : loadingMore.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$4, [
40484
40626
  vue.createVNode(vue.unref(LoadingOutlined)),
40485
- _cache[1] || (_cache[1] = vue.createElementVNode("span", { style: { "margin-left": "10px" } }, "正在加载,请稍候", -1))
40627
+ _cache[2] || (_cache[2] = vue.createElementVNode("span", { style: { "margin-left": "10px" } }, "正在加载,请稍候", -1))
40486
40628
  ])) : vue.createCommentVNode("", true)
40487
40629
  ])) : vue.createCommentVNode("", true),
40488
40630
  __props.msgs.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$4, [
@@ -40506,7 +40648,7 @@
40506
40648
  class: "emptyChatroomContent",
40507
40649
  style: vue.normalizeStyle({ height: ((_c = curChannel.value) == null ? void 0 : _c.ext) ? "calc(100% - 48px)" : "100%" })
40508
40650
  }, [
40509
- _cache[2] || (_cache[2] = vue.createElementVNode("div", null, "欢迎来到", -1)),
40651
+ _cache[3] || (_cache[3] = vue.createElementVNode("div", null, "欢迎来到", -1)),
40510
40652
  vue.createElementVNode("h1", null, "#" + vue.toDisplayString(__props.channelName), 1)
40511
40653
  ], 4))
40512
40654
  ], 38),
@@ -40558,17 +40700,22 @@
40558
40700
  }, null, 8, ["src"])
40559
40701
  ])) : vue.createCommentVNode("", true)
40560
40702
  ])) : vue.createCommentVNode("", true),
40561
- vue.createElementVNode("div", _hoisted_17$1, [
40562
- vue.createElementVNode("div", _hoisted_18$1, [
40703
+ vue.createElementVNode("div", {
40704
+ class: "chatroomInputWrapper",
40705
+ onDragover: _cache[1] || (_cache[1] = vue.withModifiers(() => {
40706
+ }, ["prevent"])),
40707
+ onDrop: vue.withModifiers(handleDrop, ["prevent"])
40708
+ }, [
40709
+ vue.createElementVNode("div", _hoisted_17$1, [
40563
40710
  vue.createVNode(vue.unref(antDesignVue.Popover), { placement: "topLeft" }, {
40564
40711
  content: vue.withCtx(() => [
40565
- vue.createElementVNode("div", _hoisted_19$1, [
40712
+ vue.createElementVNode("div", _hoisted_18$1, [
40566
40713
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(emjjData, (value, i) => {
40567
40714
  return vue.createElementVNode("span", {
40568
40715
  key: i,
40569
40716
  style: { "font-size": "16px", "cursor": "pointer" },
40570
40717
  onClick: ($event) => insertEmj(i)
40571
- }, vue.toDisplayString(value), 9, _hoisted_20$1);
40718
+ }, vue.toDisplayString(value), 9, _hoisted_19$1);
40572
40719
  }), 64))
40573
40720
  ])
40574
40721
  ]),
@@ -40578,7 +40725,7 @@
40578
40725
  type: "text",
40579
40726
  disabled: __props.sendDisabled
40580
40727
  }, {
40581
- default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
40728
+ default: vue.withCtx(() => [..._cache[4] || (_cache[4] = [
40582
40729
  vue.createElementVNode("svg", {
40583
40730
  width: "21",
40584
40731
  height: "21",
@@ -40613,7 +40760,7 @@
40613
40760
  onBlur: handleInputBlur,
40614
40761
  onPaste: handlePaste
40615
40762
  }, null, 8, ["value", "placeholder", "disabled", "onKeydown", "onClick"]),
40616
- vue.createElementVNode("div", _hoisted_21$1, [
40763
+ vue.createElementVNode("div", _hoisted_20$1, [
40617
40764
  vue.createVNode(vue.unref(antDesignVue.Upload), {
40618
40765
  "before-upload": uploadImgHandler,
40619
40766
  "show-upload-list": false,
@@ -40628,7 +40775,7 @@
40628
40775
  loading: attachmentUploading.value,
40629
40776
  disabled: __props.sendDisabled || attachmentUploading.value
40630
40777
  }, {
40631
- icon: vue.withCtx(() => [..._cache[4] || (_cache[4] = [
40778
+ icon: vue.withCtx(() => [..._cache[5] || (_cache[5] = [
40632
40779
  vue.createElementVNode("svg", {
40633
40780
  width: "21",
40634
40781
  height: "18",
@@ -40653,14 +40800,14 @@
40653
40800
  ]),
40654
40801
  _: 1
40655
40802
  }, 8, ["accept", "disabled"]),
40656
- _cache[6] || (_cache[6] = vue.createElementVNode("span", { class: "lineSeparator" }, null, -1)),
40803
+ _cache[7] || (_cache[7] = vue.createElementVNode("span", { class: "lineSeparator" }, null, -1)),
40657
40804
  vue.createVNode(vue.unref(antDesignVue.Button), {
40658
40805
  class: "chatroomButtonArrowUp",
40659
40806
  type: "text",
40660
40807
  disabled: __props.sendDisabled,
40661
40808
  onClick: handleSendText
40662
40809
  }, {
40663
- icon: vue.withCtx(() => [..._cache[5] || (_cache[5] = [
40810
+ icon: vue.withCtx(() => [..._cache[6] || (_cache[6] = [
40664
40811
  vue.createElementVNode("svg", {
40665
40812
  width: "36",
40666
40813
  height: "36",
@@ -40683,7 +40830,7 @@
40683
40830
  _: 1
40684
40831
  }, 8, ["disabled"])
40685
40832
  ])
40686
- ])
40833
+ ], 32)
40687
40834
  ])
40688
40835
  ]),
40689
40836
  vue.createVNode(AitPersonPopover, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yx-web-sdk",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "private": false,
5
5
  "main": "dist/yx-web-sdk.umd.js",
6
6
  "module": "dist/yx-web-sdk.es.js",