@haluo/biz 2.0.48 → 2.0.50

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/haluo-biz.js CHANGED
@@ -111,6 +111,7 @@ function _e(e, t, o = {}) {
111
111
  }
112
112
  const D = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, R = "__vueuse_ssr_handlers__";
113
113
  D[R] = D[R] || {};
114
+ D[R];
114
115
  var q;
115
116
  (function(e) {
116
117
  e.UP = "UP", e.RIGHT = "RIGHT", e.DOWN = "DOWN", e.LEFT = "LEFT", e.NONE = "NONE";
@@ -152,7 +153,7 @@ const he = {
152
153
  ke({
153
154
  linear: me
154
155
  }, he);
155
- const J = (e) => (pushScopeId("data-v-b46fc003"), e = e(), popScopeId(), e), we = { class: "hd" }, Oe = { class: "bd" }, Ie = /* @__PURE__ */ J(() => /* @__PURE__ */ createElementVNode("h3", null, "主题颜色", -1)), Ee = { class: "tColor" }, Pe = ["onMouseover", "onClick"], Me = { class: "bColor" }, Ae = ["onMouseover", "onClick"], $e = /* @__PURE__ */ J(() => /* @__PURE__ */ createElementVNode("h3", null, "标准颜色", -1)), Te = { class: "tColor" }, Be = ["onMouseover", "onClick"], Ve = {
156
+ const J = (e) => (pushScopeId("data-v-b46fc003"), e = e(), popScopeId(), e), we = { class: "hd" }, Oe = { class: "bd" }, Ie = /* @__PURE__ */ J(() => /* @__PURE__ */ createElementVNode("h3", null, "\u4E3B\u9898\u989C\u8272", -1)), Ee = { class: "tColor" }, Pe = ["onMouseover", "onClick"], Me = { class: "bColor" }, Ae = ["onMouseover", "onClick"], $e = /* @__PURE__ */ J(() => /* @__PURE__ */ createElementVNode("h3", null, "\u6807\u51C6\u989C\u8272", -1)), Te = { class: "tColor" }, Be = ["onMouseover", "onClick"], Ve = {
156
157
  name: "colorPicker"
157
158
  }, Ne = /* @__PURE__ */ defineComponent({
158
159
  ...Ve,
@@ -217,13 +218,13 @@ const J = (e) => (pushScopeId("data-v-b46fc003"), e = e(), popScopeId(), e), we
217
218
  l.stopPropagation();
218
219
  })
219
220
  }, [
220
- createCommentVNode(" 颜色显示小方块 "),
221
+ createCommentVNode(" \u989C\u8272\u663E\u793A\u5C0F\u65B9\u5757 "),
221
222
  createElementVNode("div", {
222
223
  class: normalizeClass(["colorBtn", { disabled: e.disabled }]),
223
224
  style: normalizeStyle(`background-color: ${unref(a)}`),
224
225
  onClick: p
225
226
  }, null, 6),
226
- createCommentVNode(" 颜色色盘 "),
227
+ createCommentVNode(" \u989C\u8272\u8272\u76D8 "),
227
228
  createElementVNode("div", {
228
229
  class: normalizeClass(["box", { open: s.value }])
229
230
  }, [
@@ -237,7 +238,7 @@ const J = (e) => (pushScopeId("data-v-b46fc003"), e = e(), popScopeId(), e), we
237
238
  onClick: Y,
238
239
  onMouseover: r[0] || (r[0] = (l) => d(e.defaultColor)),
239
240
  onMouseout: r[1] || (r[1] = (l) => d(""))
240
- }, "默认颜色", 32)
241
+ }, "\u9ED8\u8BA4\u989C\u8272", 32)
241
242
  ]),
242
243
  createElementVNode("div", Oe, [
243
244
  Ie,
@@ -273,8 +274,8 @@ const J = (e) => (pushScopeId("data-v-b46fc003"), e = e(), popScopeId(), e), we
273
274
  onClick: (f) => E(l)
274
275
  }, null, 44, Be)), 64))
275
276
  ]),
276
- createElementVNode("h3", { onClick: X }, "更多颜色..."),
277
- createCommentVNode(" 用以激活HTML5颜色面板 "),
277
+ createElementVNode("h3", { onClick: X }, "\u66F4\u591A\u989C\u8272..."),
278
+ createCommentVNode(" \u7528\u4EE5\u6FC0\u6D3BHTML5\u989C\u8272\u9762\u677F "),
278
279
  withDirectives(createElementVNode("input", {
279
280
  type: "color",
280
281
  ref_key: "html5ColorEl",
@@ -308,7 +309,7 @@ const Se = [
308
309
  colorPicker: O
309
310
  };
310
311
  const style = "";
311
- const ToolBar_vue_vue_type_style_index_0_scoped_50235bb8_lang = "";
312
+ const ToolBar_vue_vue_type_style_index_0_scoped_true_lang = "";
312
313
  const ToolBar_vue_vue_type_style_index_1_lang = "";
313
314
  const _export_sfc = (sfc, props) => {
314
315
  const target = sfc.__vccOpts || sfc;
@@ -338,15 +339,15 @@ const _sfc_main$8 = {
338
339
  activeImgType: false,
339
340
  activeAlign: "",
340
341
  alignMethods: [
341
- { value: "left", name: "左对齐" },
342
- { value: "right", name: "右对齐" },
343
- { value: "center", name: "居中对齐" },
344
- { value: "justify", name: "两端对齐" }
342
+ { value: "left", name: "\u5DE6\u5BF9\u9F50" },
343
+ { value: "right", name: "\u53F3\u5BF9\u9F50" },
344
+ { value: "center", name: "\u5C45\u4E2D\u5BF9\u9F50" },
345
+ { value: "justify", name: "\u4E24\u7AEF\u5BF9\u9F50" }
345
346
  ],
346
347
  activeFontsize: "17",
347
348
  fontsizes: [
348
- { value: "17px", name: "17", desc: "默认正文字号" },
349
- { value: "18px", name: "18", desc: "默认标题字号" },
349
+ { value: "17px", name: "17", desc: "\u9ED8\u8BA4\u6B63\u6587\u5B57\u53F7" },
350
+ { value: "18px", name: "18", desc: "\u9ED8\u8BA4\u6807\u9898\u5B57\u53F7" },
350
351
  { value: "19px", name: "19" },
351
352
  { value: "20px", name: "20" },
352
353
  { value: "24px", name: "24" },
@@ -427,7 +428,7 @@ const _sfc_main$8 = {
427
428
  this.editor.clearFormat();
428
429
  },
429
430
  setColor(val) {
430
- console.log("文字颜色");
431
+ console.log("\u6587\u5B57\u989C\u8272");
431
432
  this.updatePosition(() => {
432
433
  this.editor.setColor(val);
433
434
  });
@@ -486,7 +487,6 @@ const _sfc_main$8 = {
486
487
  this.popoverVisibleList = false;
487
488
  this.popoverVisibleImg = false;
488
489
  },
489
- // todo 富文本设置样式位置会回到顶部
490
490
  updatePosition(fn) {
491
491
  const scrollTop = document.documentElement.scrollTop;
492
492
  fn && fn();
@@ -523,9 +523,9 @@ const _hoisted_1$8 = {
523
523
  key: 0,
524
524
  class: "tools"
525
525
  };
526
- const _hoisted_2$5 = { class: "tools-content" };
527
- const _hoisted_3$5 = ["src"];
528
- const _hoisted_4$3 = ["src"];
526
+ const _hoisted_2$7 = { class: "tools-content" };
527
+ const _hoisted_3$7 = ["src"];
528
+ const _hoisted_4$4 = ["src"];
529
529
  const _hoisted_5$3 = ["src"];
530
530
  const _hoisted_6$2 = { class: "box" };
531
531
  const _hoisted_7$2 = ["src"];
@@ -566,9 +566,9 @@ const _hoisted_29$1 = {
566
566
  key: 0,
567
567
  class: "box-mask"
568
568
  };
569
- const _hoisted_30 = { class: "box" };
570
- const _hoisted_31 = ["src"];
571
- const _hoisted_32 = ["src"];
569
+ const _hoisted_30$1 = { class: "box" };
570
+ const _hoisted_31$1 = ["src"];
571
+ const _hoisted_32$1 = ["src"];
572
572
  const _hoisted_33 = ["src"];
573
573
  const _hoisted_34 = ["src"];
574
574
  const _hoisted_35 = { class: "tools-title" };
@@ -592,11 +592,11 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
592
592
  const _component_colorPicker = resolveComponent("colorPicker");
593
593
  const _directive_click_outside = resolveDirective("click-outside");
594
594
  return $props.editor.fontInfo ? (openBlock(), createElementBlock("div", _hoisted_1$8, [
595
- createElementVNode("div", _hoisted_2$5, [
595
+ createElementVNode("div", _hoisted_2$7, [
596
596
  createVNode(_component_el_tooltip, {
597
597
  class: "item",
598
598
  effect: "dark",
599
- content: "撤回",
599
+ content: "\u64A4\u56DE",
600
600
  placement: "top"
601
601
  }, {
602
602
  default: withCtx(() => [
@@ -608,14 +608,14 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
608
608
  height: "40",
609
609
  alt: "",
610
610
  onClick: _cache[0] || (_cache[0] = ($event) => $options.back($event))
611
- }, null, 12, _hoisted_3$5)
611
+ }, null, 12, _hoisted_3$7)
612
612
  ]),
613
613
  _: 1
614
614
  }),
615
615
  createVNode(_component_el_tooltip, {
616
616
  class: "item",
617
617
  effect: "dark",
618
- content: "反撤回",
618
+ content: "\u53CD\u64A4\u56DE",
619
619
  placement: "top"
620
620
  }, {
621
621
  default: withCtx(() => [
@@ -627,7 +627,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
627
627
  height: "40",
628
628
  alt: "",
629
629
  onClick: _cache[1] || (_cache[1] = ($event) => $options.forward($event))
630
- }, null, 12, _hoisted_4$3)
630
+ }, null, 12, _hoisted_4$4)
631
631
  ]),
632
632
  _: 1
633
633
  }),
@@ -638,7 +638,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
638
638
  createVNode(_component_el_tooltip, {
639
639
  class: "item",
640
640
  effect: "dark",
641
- content: "清除格式",
641
+ content: "\u6E05\u9664\u683C\u5F0F",
642
642
  placement: "top"
643
643
  }, {
644
644
  default: withCtx(() => [
@@ -655,7 +655,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
655
655
  createVNode(_component_el_tooltip, {
656
656
  class: "item",
657
657
  effect: "dark",
658
- content: "格式刷",
658
+ content: "\u683C\u5F0F\u5237",
659
659
  placement: "top"
660
660
  }, {
661
661
  default: withCtx(() => [
@@ -686,7 +686,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
686
686
  createVNode(_component_el_tooltip, {
687
687
  class: "item",
688
688
  effect: "dark",
689
- content: "字号",
689
+ content: "\u5B57\u53F7",
690
690
  placement: "top"
691
691
  }, {
692
692
  default: withCtx(() => [
@@ -736,7 +736,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
736
736
  createVNode(_component_el_tooltip, {
737
737
  class: "item",
738
738
  effect: "dark",
739
- content: "标题",
739
+ content: "\u6807\u9898",
740
740
  placement: "top"
741
741
  }, {
742
742
  default: withCtx(() => [
@@ -757,7 +757,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
757
757
  createVNode(_component_el_tooltip, {
758
758
  class: "item",
759
759
  effect: "dark",
760
- content: "加粗",
760
+ content: "\u52A0\u7C97",
761
761
  placement: "top"
762
762
  }, {
763
763
  default: withCtx(() => [
@@ -785,7 +785,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
785
785
  createVNode(_component_el_tooltip, {
786
786
  class: "item",
787
787
  effect: "dark",
788
- content: "列表",
788
+ content: "\u5217\u8868",
789
789
  placement: "top"
790
790
  }, {
791
791
  default: withCtx(() => [
@@ -819,13 +819,13 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
819
819
  onClick: _cache[8] || (_cache[8] = ($event) => $options.updatePosition(() => {
820
820
  $options.setStyle("makeUnorderedList");
821
821
  }))
822
- }, "无序列表"),
822
+ }, "\u65E0\u5E8F\u5217\u8868"),
823
823
  createElementVNode("li", {
824
824
  "data-editor-id": "makeHeader",
825
825
  onClick: _cache[9] || (_cache[9] = ($event) => $options.updatePosition(() => {
826
826
  $options.setStyle("makeOrderedList");
827
827
  }))
828
- }, "有序列表")
828
+ }, "\u6709\u5E8F\u5217\u8868")
829
829
  ])), [
830
830
  [_directive_click_outside, $options.handlePopover]
831
831
  ])
@@ -836,7 +836,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
836
836
  createVNode(_component_el_tooltip, {
837
837
  class: "item",
838
838
  effect: "dark",
839
- content: "倾斜",
839
+ content: "\u503E\u659C",
840
840
  placement: "top"
841
841
  }, {
842
842
  default: withCtx(() => [
@@ -856,7 +856,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
856
856
  createVNode(_component_el_tooltip, {
857
857
  class: "item",
858
858
  effect: "dark",
859
- content: "下划线",
859
+ content: "\u4E0B\u5212\u7EBF",
860
860
  placement: "top"
861
861
  }, {
862
862
  default: withCtx(() => [
@@ -877,18 +877,18 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
877
877
  key: 0,
878
878
  class: "item",
879
879
  effect: "dark",
880
- content: "链接",
880
+ content: "\u94FE\u63A5",
881
881
  placement: "top"
882
882
  }, {
883
883
  default: withCtx(() => [
884
- createElementVNode("div", _hoisted_30, [
884
+ createElementVNode("div", _hoisted_30$1, [
885
885
  createElementVNode("img", {
886
886
  src: $options.getImageUrl("icon_web_link@2x.png"),
887
887
  width: "40",
888
888
  height: "40",
889
889
  alt: "",
890
890
  onClick: _cache[12] || (_cache[12] = (...args) => $options.insertLink && $options.insertLink(...args))
891
- }, null, 8, _hoisted_31)
891
+ }, null, 8, _hoisted_31$1)
892
892
  ])
893
893
  ]),
894
894
  _: 1
@@ -896,7 +896,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
896
896
  createVNode(_component_el_tooltip, {
897
897
  class: "item",
898
898
  effect: "dark",
899
- content: "首行缩进",
899
+ content: "\u9996\u884C\u7F29\u8FDB",
900
900
  placement: "top"
901
901
  }, {
902
902
  default: withCtx(() => [
@@ -906,14 +906,14 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
906
906
  height: "40",
907
907
  alt: "",
908
908
  onClick: _cache[13] || (_cache[13] = ($event) => $options.setStyle("setIndent"))
909
- }, null, 8, _hoisted_32)
909
+ }, null, 8, _hoisted_32$1)
910
910
  ]),
911
911
  _: 1
912
912
  }),
913
913
  createVNode(_component_el_tooltip, {
914
914
  class: "item",
915
915
  effect: "dark",
916
- content: "文字颜色",
916
+ content: "\u6587\u5B57\u989C\u8272",
917
917
  placement: "top"
918
918
  }, {
919
919
  default: withCtx(() => [
@@ -957,7 +957,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
957
957
  createVNode(_component_el_tooltip, {
958
958
  class: "item",
959
959
  effect: "dark",
960
- content: "对齐方式",
960
+ content: "\u5BF9\u9F50\u65B9\u5F0F",
961
961
  placement: "top"
962
962
  }, {
963
963
  default: withCtx(() => [
@@ -1015,7 +1015,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
1015
1015
  createVNode(_component_el_tooltip, {
1016
1016
  class: "item",
1017
1017
  effect: "dark",
1018
- content: "插入图片",
1018
+ content: "\u63D2\u5165\u56FE\u7247",
1019
1019
  placement: "top"
1020
1020
  }, {
1021
1021
  default: withCtx(() => [
@@ -1037,11 +1037,11 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
1037
1037
  createElementVNode("li", {
1038
1038
  class: normalizeClass([$data.activeImgType === "normal" ? "active" : ""]),
1039
1039
  onClick: _cache[18] || (_cache[18] = ($event) => $options.insertImg("normal"))
1040
- }, toDisplayString("上传图片"), 2),
1040
+ }, toDisplayString("\u4E0A\u4F20\u56FE\u7247"), 2),
1041
1041
  createElementVNode("li", {
1042
1042
  class: normalizeClass([$data.activeImgType === "seamless" ? "active" : ""]),
1043
1043
  onClick: _cache[19] || (_cache[19] = ($event) => $options.insertImg("seamless"))
1044
- }, toDisplayString("上传无缝拼接图片"), 2)
1044
+ }, toDisplayString("\u4E0A\u4F20\u65E0\u7F1D\u62FC\u63A5\u56FE\u7247"), 2)
1045
1045
  ])), [
1046
1046
  [_directive_click_outside, $options.handlePopover]
1047
1047
  ])
@@ -1052,7 +1052,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
1052
1052
  key: 2,
1053
1053
  class: "item",
1054
1054
  effect: "dark",
1055
- content: "插入视频",
1055
+ content: "\u63D2\u5165\u89C6\u9891",
1056
1056
  placement: "top"
1057
1057
  }, {
1058
1058
  default: withCtx(() => [
@@ -1070,7 +1070,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
1070
1070
  key: 3,
1071
1071
  class: "item",
1072
1072
  effect: "dark",
1073
- content: "插入文章/视频",
1073
+ content: "\u63D2\u5165\u6587\u7AE0/\u89C6\u9891",
1074
1074
  placement: "top"
1075
1075
  }, {
1076
1076
  default: withCtx(() => [
@@ -1088,7 +1088,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
1088
1088
  key: 4,
1089
1089
  class: "item",
1090
1090
  effect: "dark",
1091
- content: "采集文章",
1091
+ content: "\u91C7\u96C6\u6587\u7AE0",
1092
1092
  placement: "top"
1093
1093
  }, {
1094
1094
  default: withCtx(() => [
@@ -1105,15 +1105,17 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
1105
1105
  ])
1106
1106
  ])) : createCommentVNode("", true);
1107
1107
  }
1108
- const ToolBar = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$4], ["__scopeId", "data-v-50235bb8"]]);
1108
+ const ToolBar = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$4], ["__scopeId", "data-v-52e48332"]]);
1109
1109
  const __vite_glob_0_0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAmCAYAAAClI5npAAAA0UlEQVR42uWYwQnDMAxFfckAXkFDmGzgS1foDpnFS3gTb+IFtIDyA4UeBKUtNR8qwTvlkAdyfmSletySmRUwgIIJOijXs9VcLxegwNVDRFYLdHtdCg6wrRKY9l4NUFYIqH1WDeTfCXxXE9w5Ar4tQhBwh7SBjSDg2lJJAj47SAI+OwgC7pDuJAGfHQQBnx0kAZ8dBAF3SOtTgCchybjV2QLKFpihW6BAQn6GA0i4KG4g037H4QaSDiTWUMocyweQcFezBjLrer5TFxR/uaKhL6lOdeUQ8G6X1pQAAAAASUVORK5CYII=";
1110
+ const index_vue_vue_type_style_index_0_lang$5 = "";
1110
1111
  const _hoisted_1$7 = { key: 0 };
1111
- const _hoisted_2$4 = { class: "basic-dialog_title" };
1112
- const _hoisted_3$4 = {
1112
+ const _hoisted_2$6 = { class: "basic-dialog_title" };
1113
+ const _hoisted_3$6 = /* @__PURE__ */ createElementVNode("span", { class: "basic-dialog_divider" }, null, -1);
1114
+ const _hoisted_4$3 = {
1113
1115
  key: 0,
1114
1116
  class: "dialog-footer"
1115
1117
  };
1116
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1118
+ const _sfc_main$7 = defineComponent({
1117
1119
  __name: "index",
1118
1120
  props: {
1119
1121
  visible: { type: Boolean, default: false },
@@ -1155,23 +1157,23 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1155
1157
  }, {
1156
1158
  header: withCtx(() => [
1157
1159
  _ctx.showTitle ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
1158
- createElementVNode("div", _hoisted_2$4, [
1159
- _cache[1] || (_cache[1] = createElementVNode("span", { class: "basic-dialog_divider" }, null, -1)),
1160
+ createElementVNode("div", _hoisted_2$6, [
1161
+ _hoisted_3$6,
1160
1162
  renderSlot(_ctx.$slots, "title")
1161
1163
  ])
1162
1164
  ])) : createCommentVNode("", true)
1163
1165
  ]),
1164
1166
  footer: withCtx(() => [
1165
- _ctx.showBtn ? (openBlock(), createElementBlock("span", _hoisted_3$4, [
1167
+ _ctx.showBtn ? (openBlock(), createElementBlock("span", _hoisted_4$3, [
1166
1168
  createVNode(unref(ElButton), {
1167
1169
  style: { "width": "120px", "border-color": "#cccccc", "color": "#333333" },
1168
1170
  plain: "",
1169
1171
  round: "",
1170
1172
  onClick: handleClose
1171
1173
  }, {
1172
- default: withCtx(() => _cache[2] || (_cache[2] = [
1173
- createTextVNode("取消")
1174
- ])),
1174
+ default: withCtx(() => [
1175
+ createTextVNode("\u53D6\u6D88")
1176
+ ]),
1175
1177
  _: 1
1176
1178
  }),
1177
1179
  createVNode(unref(ElButton), {
@@ -1180,9 +1182,9 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1180
1182
  type: "primary",
1181
1183
  onClick: confirm
1182
1184
  }, {
1183
- default: withCtx(() => _cache[3] || (_cache[3] = [
1184
- createTextVNode("确认")
1185
- ])),
1185
+ default: withCtx(() => [
1186
+ createTextVNode("\u786E\u8BA4")
1187
+ ]),
1186
1188
  _: 1
1187
1189
  })
1188
1190
  ])) : createCommentVNode("", true)
@@ -1195,14 +1197,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1195
1197
  };
1196
1198
  }
1197
1199
  });
1198
- const index_vue_vue_type_style_index_0_lang$5 = "";
1199
1200
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
1200
1201
  function getDefaultExportFromCjs(x) {
1201
1202
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
1202
1203
  }
1203
- var date$2 = { exports: {} };
1204
- var date = date$2.exports;
1205
- Object.defineProperty(date, "__esModule", { value: true });
1204
+ var date$1 = { exports: {} };
1205
+ Object.defineProperty(date$1.exports, "__esModule", { value: true });
1206
1206
  function replacementDate(data, fmt) {
1207
1207
  for (var k in data) {
1208
1208
  if (new RegExp("(" + k + ")").test(fmt)) {
@@ -1217,130 +1217,126 @@ function replacementYear(date2, fmt) {
1217
1217
  }
1218
1218
  return fmt;
1219
1219
  }
1220
- var DateClass = (
1221
- /** @class */
1222
- function() {
1223
- function DateClass2() {
1220
+ var DateClass = function() {
1221
+ function DateClass2() {
1222
+ }
1223
+ DateClass2.prototype.format = function(date2, fmt) {
1224
+ if (fmt === void 0) {
1225
+ fmt = "YYYY-MM-DD HH:mm:ss";
1224
1226
  }
1225
- DateClass2.prototype.format = function(date2, fmt) {
1226
- if (fmt === void 0) {
1227
- fmt = "YYYY-MM-DD HH:mm:ss";
1228
- }
1229
- if (!date2)
1230
- return "";
1231
- var timeData = typeof date2 === "string" ? new Date(date2.replace(/-/g, "/")) : date2;
1232
- timeData = typeof date2 === "number" ? new Date(date2) : timeData;
1233
- var o = {
1234
- "M+": timeData.getMonth() + 1,
1235
- "D+": timeData.getDate(),
1236
- "h+": timeData.getHours() % 12 === 0 ? 12 : timeData.getHours() % 12,
1237
- "H+": timeData.getHours(),
1238
- "m+": timeData.getMinutes(),
1239
- "s+": timeData.getSeconds(),
1240
- "q+": Math.floor((timeData.getMonth() + 3) / 3),
1241
- "S": timeData.getMilliseconds()
1242
- };
1243
- var week = {
1244
- "0": "日",
1245
- "1": "一",
1246
- "2": "二",
1247
- "3": "三",
1248
- "4": "四",
1249
- "5": "五",
1250
- "6": "六"
1251
- };
1252
- fmt = replacementYear(timeData, fmt);
1253
- if (/(E+)/.test(fmt)) {
1254
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? RegExp.$1.length > 2 ? "星期" : "周" : "") + week["".concat(timeData.getDay(), " ")]);
1255
- }
1256
- return replacementDate(o, fmt);
1257
- };
1258
- DateClass2.prototype.addDaysToDate = function(date2, days) {
1259
- var d = typeof date2 === "object" ? date2 : new Date(date2);
1260
- d.setDate(d.getDate() + days);
1261
- return d.toISOString().split("T")[0];
1262
- };
1263
- DateClass2.prototype.remainTime = function(endTime, startTime) {
1264
- if (startTime === void 0) {
1265
- startTime = /* @__PURE__ */ new Date();
1266
- }
1267
- var ts = Number(endTime) - Number(startTime);
1268
- var dd = Math.floor(ts / 1e3 / 60 / 60 / 24);
1269
- var hh = Math.floor(ts / 1e3 / 60 / 60 % 24);
1270
- var mm = Math.floor(ts / 1e3 / 60 % 60);
1271
- var ss = Math.floor(ts / 1e3 % 60);
1272
- if (ts <= 0)
1273
- return false;
1274
- return {
1275
- dd: dd < 10 ? "0".concat(dd) : dd,
1276
- hh: hh < 10 ? "0".concat(hh) : hh,
1277
- mm: mm < 10 ? "0".concat(mm) : mm,
1278
- ss: ss < 10 ? "0".concat(ss) : ss
1279
- };
1227
+ if (!date2)
1228
+ return "";
1229
+ var timeData = typeof date2 === "string" ? new Date(date2.replace(/-/g, "/")) : date2;
1230
+ timeData = typeof date2 === "number" ? new Date(date2) : timeData;
1231
+ var o = {
1232
+ "M+": timeData.getMonth() + 1,
1233
+ "D+": timeData.getDate(),
1234
+ "h+": timeData.getHours() % 12 === 0 ? 12 : timeData.getHours() % 12,
1235
+ "H+": timeData.getHours(),
1236
+ "m+": timeData.getMinutes(),
1237
+ "s+": timeData.getSeconds(),
1238
+ "q+": Math.floor((timeData.getMonth() + 3) / 3),
1239
+ "S": timeData.getMilliseconds()
1280
1240
  };
1281
- DateClass2.prototype.formatPassTime = function(startTime) {
1282
- var currentTime = /* @__PURE__ */ new Date();
1283
- var time = currentTime - startTime;
1284
- var year = Math.floor(time / (1e3 * 60 * 60 * 24) / 30 / 12);
1285
- if (year)
1286
- return "".concat(year, "年前");
1287
- var month = Math.floor(time / (1e3 * 60 * 60 * 24) / 30);
1288
- if (month)
1289
- return "".concat(month, "个月前");
1290
- var day = Math.floor(time / (1e3 * 60 * 60 * 24));
1291
- if (day)
1292
- return "".concat(day, "天前");
1293
- var hour = Math.floor(time / (1e3 * 60 * 60));
1294
- if (hour)
1295
- return "".concat(hour, "小时前");
1296
- var min = Math.floor(time / (1e3 * 60));
1297
- if (min)
1298
- return "".concat(min, "分钟前");
1299
- else
1300
- return "刚刚";
1241
+ var week = {
1242
+ "0": "\u65E5",
1243
+ "1": "\u4E00",
1244
+ "2": "\u4E8C",
1245
+ "3": "\u4E09",
1246
+ "4": "\u56DB",
1247
+ "5": "\u4E94",
1248
+ "6": "\u516D"
1301
1249
  };
1302
- DateClass2.prototype.formatPassTimeForList = function(time) {
1303
- return DateClass2.prototype.formatPassTimeForDetail(time, "YYYY年MM月DD日", true);
1250
+ fmt = replacementYear(timeData, fmt);
1251
+ if (/(E+)/.test(fmt)) {
1252
+ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length > 1 ? RegExp.$1.length > 2 ? "\u661F\u671F" : "\u5468" : "") + week["".concat(timeData.getDay(), " ")]);
1253
+ }
1254
+ return replacementDate(o, fmt);
1255
+ };
1256
+ DateClass2.prototype.addDaysToDate = function(date2, days) {
1257
+ var d = typeof date2 === "object" ? date2 : new Date(date2);
1258
+ d.setDate(d.getDate() + days);
1259
+ return d.toISOString().split("T")[0];
1260
+ };
1261
+ DateClass2.prototype.remainTime = function(endTime, startTime) {
1262
+ if (startTime === void 0) {
1263
+ startTime = new Date();
1264
+ }
1265
+ var ts = Number(endTime) - Number(startTime);
1266
+ var dd = Math.floor(ts / 1e3 / 60 / 60 / 24);
1267
+ var hh = Math.floor(ts / 1e3 / 60 / 60 % 24);
1268
+ var mm = Math.floor(ts / 1e3 / 60 % 60);
1269
+ var ss = Math.floor(ts / 1e3 % 60);
1270
+ if (ts <= 0)
1271
+ return false;
1272
+ return {
1273
+ dd: dd < 10 ? "0".concat(dd) : dd,
1274
+ hh: hh < 10 ? "0".concat(hh) : hh,
1275
+ mm: mm < 10 ? "0".concat(mm) : mm,
1276
+ ss: ss < 10 ? "0".concat(ss) : ss
1304
1277
  };
1305
- DateClass2.prototype.formatPassTimeForDetail = function(time, fmt, noYear) {
1306
- if (fmt === void 0) {
1307
- fmt = "YYYY-MM-DD";
1308
- }
1309
- var date2 = typeof time === "number" ? new Date(time) : new Date((time || "").replace(/-/g, "/"));
1310
- var diff = ((/* @__PURE__ */ new Date()).getTime() - date2.getTime()) / 1e3;
1311
- var dayDiff = Math.floor(diff / 86400);
1312
- var isValidDate = Object.prototype.toString.call(date2) === "[object Date]" && !isNaN(date2.getTime());
1313
- if (!isValidDate)
1314
- return "";
1315
- var formatDate = function() {
1316
- var today = new Date(date2);
1317
- var o = {
1318
- "Y+": today.getFullYear(),
1319
- "M+": ("0" + (today.getMonth() + 1)).slice(-2),
1320
- "D+": ("0" + today.getDate()).slice(-2)
1321
- };
1322
- fmt = replacementYear(date2, fmt);
1323
- var year = today.getFullYear();
1324
- if (!((/* @__PURE__ */ new Date()).getFullYear() > year) && noYear) {
1325
- var backData = replacementDate(o, fmt);
1326
- return backData.split("年")[1];
1327
- }
1328
- return replacementDate(o, fmt);
1278
+ };
1279
+ DateClass2.prototype.formatPassTime = function(startTime) {
1280
+ var currentTime = new Date();
1281
+ var time = currentTime - startTime;
1282
+ var year = Math.floor(time / (1e3 * 60 * 60 * 24) / 30 / 12);
1283
+ if (year)
1284
+ return "".concat(year, "\u5E74\u524D");
1285
+ var month = Math.floor(time / (1e3 * 60 * 60 * 24) / 30);
1286
+ if (month)
1287
+ return "".concat(month, "\u4E2A\u6708\u524D");
1288
+ var day = Math.floor(time / (1e3 * 60 * 60 * 24));
1289
+ if (day)
1290
+ return "".concat(day, "\u5929\u524D");
1291
+ var hour = Math.floor(time / (1e3 * 60 * 60));
1292
+ if (hour)
1293
+ return "".concat(hour, "\u5C0F\u65F6\u524D");
1294
+ var min = Math.floor(time / (1e3 * 60));
1295
+ if (min)
1296
+ return "".concat(min, "\u5206\u949F\u524D");
1297
+ else
1298
+ return "\u521A\u521A";
1299
+ };
1300
+ DateClass2.prototype.formatPassTimeForList = function(time) {
1301
+ return DateClass2.prototype.formatPassTimeForDetail(time, "YYYY\u5E74MM\u6708DD\u65E5", true);
1302
+ };
1303
+ DateClass2.prototype.formatPassTimeForDetail = function(time, fmt, noYear) {
1304
+ if (fmt === void 0) {
1305
+ fmt = "YYYY-MM-DD";
1306
+ }
1307
+ var date2 = typeof time === "number" ? new Date(time) : new Date((time || "").replace(/-/g, "/"));
1308
+ var diff = (new Date().getTime() - date2.getTime()) / 1e3;
1309
+ var dayDiff = Math.floor(diff / 86400);
1310
+ var isValidDate = Object.prototype.toString.call(date2) === "[object Date]" && !isNaN(date2.getTime());
1311
+ if (!isValidDate)
1312
+ return "";
1313
+ var formatDate = function() {
1314
+ var today = new Date(date2);
1315
+ var o = {
1316
+ "Y+": today.getFullYear(),
1317
+ "M+": ("0" + (today.getMonth() + 1)).slice(-2),
1318
+ "D+": ("0" + today.getDate()).slice(-2)
1329
1319
  };
1330
- if (dayDiff === -1) {
1331
- return "刚刚";
1332
- } else if (isNaN(dayDiff) || dayDiff < 0 || dayDiff >= 15) {
1333
- return formatDate();
1320
+ fmt = replacementYear(date2, fmt);
1321
+ var year = today.getFullYear();
1322
+ if (!(new Date().getFullYear() > year) && noYear) {
1323
+ var backData = replacementDate(o, fmt);
1324
+ return backData.split("\u5E74")[1];
1334
1325
  }
1335
- return dayDiff === 0 && (diff < 60 && "刚刚" || diff < 120 && "1分钟前" || diff < 3600 && Math.floor(diff / 60) + "分钟前" || diff < 7200 && "1小时前" || diff < 86400 && Math.floor(diff / 3600) + "小时前") || dayDiff < 16 && dayDiff + "天前";
1326
+ return replacementDate(o, fmt);
1336
1327
  };
1337
- return DateClass2;
1338
- }()
1339
- );
1340
- date$2.exports = new DateClass();
1341
- var dateExports = date$2.exports;
1342
- const date$1 = /* @__PURE__ */ getDefaultExportFromCjs(dateExports);
1343
- var tools$2 = { exports: {} };
1328
+ if (dayDiff === -1) {
1329
+ return "\u521A\u521A";
1330
+ } else if (isNaN(dayDiff) || dayDiff < 0 || dayDiff >= 15) {
1331
+ return formatDate();
1332
+ }
1333
+ return dayDiff === 0 && (diff < 60 && "\u521A\u521A" || diff < 120 && "1\u5206\u949F\u524D" || diff < 3600 && Math.floor(diff / 60) + "\u5206\u949F\u524D" || diff < 7200 && "1\u5C0F\u65F6\u524D" || diff < 86400 && Math.floor(diff / 3600) + "\u5C0F\u65F6\u524D") || dayDiff < 16 && dayDiff + "\u5929\u524D";
1334
+ };
1335
+ return DateClass2;
1336
+ }();
1337
+ date$1.exports = new DateClass();
1338
+ const date = /* @__PURE__ */ getDefaultExportFromCjs(date$1.exports);
1339
+ var tools$1 = { exports: {} };
1344
1340
  var _listCacheClear;
1345
1341
  var hasRequired_listCacheClear;
1346
1342
  function require_listCacheClear() {
@@ -2247,7 +2243,6 @@ function requireStubFalse() {
2247
2243
  stubFalse_1 = stubFalse;
2248
2244
  return stubFalse_1;
2249
2245
  }
2250
- isBuffer.exports;
2251
2246
  var hasRequiredIsBuffer;
2252
2247
  function requireIsBuffer() {
2253
2248
  if (hasRequiredIsBuffer)
@@ -2327,7 +2322,6 @@ function require_baseUnary() {
2327
2322
  return _baseUnary;
2328
2323
  }
2329
2324
  var _nodeUtil = { exports: {} };
2330
- _nodeUtil.exports;
2331
2325
  var hasRequired_nodeUtil;
2332
2326
  function require_nodeUtil() {
2333
2327
  if (hasRequired_nodeUtil)
@@ -2377,11 +2371,7 @@ function require_arrayLikeKeys() {
2377
2371
  function arrayLikeKeys(value, inherited) {
2378
2372
  var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer2(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
2379
2373
  for (var key in value) {
2380
- if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
2381
- (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
2382
- isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
2383
- isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
2384
- isIndex(key, length)))) {
2374
+ if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
2385
2375
  result.push(key);
2386
2376
  }
2387
2377
  }
@@ -2561,7 +2551,6 @@ function require_baseAssignIn() {
2561
2551
  return _baseAssignIn;
2562
2552
  }
2563
2553
  var _cloneBuffer = { exports: {} };
2564
- _cloneBuffer.exports;
2565
2554
  var hasRequired_cloneBuffer;
2566
2555
  function require_cloneBuffer() {
2567
2556
  if (hasRequired_cloneBuffer)
@@ -3175,13 +3164,13 @@ function requireCloneDeep() {
3175
3164
  return cloneDeep_1;
3176
3165
  }
3177
3166
  /*! clipboard-copy. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
3178
- var clipboardCopy_1;
3179
- var hasRequiredClipboardCopy;
3180
- function requireClipboardCopy() {
3181
- if (hasRequiredClipboardCopy)
3182
- return clipboardCopy_1;
3183
- hasRequiredClipboardCopy = 1;
3184
- clipboardCopy_1 = clipboardCopy;
3167
+ var _clipboardCopy_4_0_1_clipboardCopy;
3168
+ var hasRequired_clipboardCopy_4_0_1_clipboardCopy;
3169
+ function require_clipboardCopy_4_0_1_clipboardCopy() {
3170
+ if (hasRequired_clipboardCopy_4_0_1_clipboardCopy)
3171
+ return _clipboardCopy_4_0_1_clipboardCopy;
3172
+ hasRequired_clipboardCopy_4_0_1_clipboardCopy = 1;
3173
+ _clipboardCopy_4_0_1_clipboardCopy = clipboardCopy;
3185
3174
  function makeError() {
3186
3175
  return new DOMException("The request is not allowed", "NotAllowedError");
3187
3176
  }
@@ -3224,270 +3213,266 @@ function requireClipboardCopy() {
3224
3213
  }
3225
3214
  }
3226
3215
  }
3227
- return clipboardCopy_1;
3216
+ return _clipboardCopy_4_0_1_clipboardCopy;
3228
3217
  }
3229
- var tools = tools$2.exports;
3230
- Object.defineProperty(tools, "__esModule", { value: true });
3218
+ Object.defineProperty(tools$1.exports, "__esModule", { value: true });
3231
3219
  var previous = 0;
3232
3220
  var timeout = null;
3233
- var ToolsClass = (
3234
- /** @class */
3235
- function() {
3236
- function ToolsClass2() {
3237
- var _this = this;
3238
- this.stopScroll = function(className) {
3239
- if (!(window && window.document)) {
3240
- return new Error("仅支持浏览器");
3241
- }
3242
- var html = document.documentElement;
3243
- html.style.overflow = "hidden";
3244
- html.style.height = "100%";
3245
- var body = document.body;
3246
- body.style.overflow = "hidden";
3247
- body.style.height = "100%";
3248
- if (className) {
3249
- var dom = document.querySelector(".".concat(className));
3250
- dom && dom.addEventListener("touchmove", _this.__setDefault__);
3251
- }
3252
- };
3253
- this.startScroll = function(className) {
3254
- if (!(window && window.document)) {
3255
- return new Error("仅支持浏览器");
3256
- }
3257
- var html = document.documentElement;
3258
- html.style.overflow = "visible";
3259
- html.style.height = "auto";
3260
- var body = document.body;
3261
- body.style.overflow = "visible";
3262
- body.style.height = "auto";
3263
- if (className) {
3264
- var dom = document.querySelector(".".concat(className));
3265
- dom && dom.removeEventListener("touchmove", _this.__setDefault__);
3266
- }
3267
- };
3268
- this.objectToArray = function(obj) {
3269
- var arr = [];
3270
- if (typeof obj === "object") {
3271
- for (var key in obj) {
3272
- if (obj.hasOwnProperty(key)) {
3273
- arr.push([key, obj[key]].join("="));
3274
- }
3275
- }
3276
- }
3277
- return arr;
3278
- };
3279
- this.convertKeyValueEnum = function(obj) {
3280
- var result = {};
3281
- if (typeof obj === "object") {
3282
- for (var key in obj) {
3283
- if (obj.hasOwnProperty(key)) {
3284
- result[obj[key]] = key;
3285
- }
3286
- }
3287
- }
3288
- return result;
3289
- };
3290
- this.isDefined = function(val) {
3291
- return val !== void 0 && val !== null;
3292
- };
3293
- this.__loaded__ = {};
3294
- this.__setDefault__ = function(e) {
3295
- e && e.preventDefault();
3296
- };
3297
- }
3298
- ToolsClass2.prototype.deepCopy = function(data) {
3299
- return JSON.parse(JSON.stringify(data));
3300
- };
3301
- ToolsClass2.prototype.deepCopy2 = function(obj) {
3302
- var _obj = Array.isArray(obj) ? [] : {};
3303
- for (var i in obj) {
3304
- _obj[i] = typeof obj[i] === "object" ? this.deepCopy2(obj[i]) : obj[i];
3305
- }
3306
- return _obj;
3307
- };
3308
- ToolsClass2.prototype.deepCopy3 = function(obj) {
3309
- var deepcopy = requireCloneDeep();
3310
- return deepcopy(obj);
3311
- };
3312
- ToolsClass2.prototype.debounce = function(func, wait) {
3313
- var delay = function() {
3314
- var args = arguments;
3315
- if (timeout)
3316
- clearTimeout(timeout);
3317
- timeout = setTimeout(function() {
3318
- func.apply(delay, args);
3319
- }, wait);
3320
- };
3321
- return delay;
3322
- };
3323
- ToolsClass2.prototype.throttle = function(func, wait) {
3324
- var delay = function() {
3325
- var now = Date.now();
3326
- if (now - previous > wait) {
3327
- func.apply(delay, arguments);
3328
- previous = now;
3329
- }
3330
- };
3331
- return delay;
3332
- };
3333
- ToolsClass2.prototype.getUrlName = function(url) {
3334
- return url && url.split("?")[0].split("/").reverse()[0];
3335
- };
3336
- ToolsClass2.prototype.loadJs = function(url) {
3337
- var _this = this;
3221
+ var ToolsClass = function() {
3222
+ function ToolsClass2() {
3223
+ var _this = this;
3224
+ this.stopScroll = function(className) {
3338
3225
  if (!(window && window.document)) {
3339
- return new Error("仅支持浏览器");
3226
+ return new Error("\u4EC5\u652F\u6301\u6D4F\u89C8\u5668");
3227
+ }
3228
+ var html = document.documentElement;
3229
+ html.style.overflow = "hidden";
3230
+ html.style.height = "100%";
3231
+ var body = document.body;
3232
+ body.style.overflow = "hidden";
3233
+ body.style.height = "100%";
3234
+ if (className) {
3235
+ var dom = document.querySelector(".".concat(className));
3236
+ dom && dom.addEventListener("touchmove", _this.__setDefault__);
3340
3237
  }
3341
- var name = this.getUrlName(url);
3342
- var id = "js_" + name;
3343
- return new Promise(function(resolve, reject) {
3344
- if (_this.__loaded__[id]) {
3345
- return resolve();
3346
- }
3347
- var script = document.createElement("script");
3348
- script.type = "text/javascript";
3349
- script.async = true;
3350
- script.src = url;
3351
- script.id = id;
3352
- script.onload = function() {
3353
- _this.__loaded__[id] = true;
3354
- resolve();
3355
- };
3356
- script.onerror = function(e) {
3357
- reject(e);
3358
- };
3359
- document.body.appendChild(script);
3360
- });
3361
3238
  };
3362
- ToolsClass2.prototype.loadCss = function(url) {
3363
- var _this = this;
3239
+ this.startScroll = function(className) {
3364
3240
  if (!(window && window.document)) {
3365
- return new Error("仅支持浏览器");
3241
+ return new Error("\u4EC5\u652F\u6301\u6D4F\u89C8\u5668");
3242
+ }
3243
+ var html = document.documentElement;
3244
+ html.style.overflow = "visible";
3245
+ html.style.height = "auto";
3246
+ var body = document.body;
3247
+ body.style.overflow = "visible";
3248
+ body.style.height = "auto";
3249
+ if (className) {
3250
+ var dom = document.querySelector(".".concat(className));
3251
+ dom && dom.removeEventListener("touchmove", _this.__setDefault__);
3366
3252
  }
3367
- var name = this.getUrlName(url);
3368
- var id = "css_" + name;
3369
- return new Promise(function(resolve, reject) {
3370
- if (_this.__loaded__[id]) {
3371
- return resolve();
3372
- }
3373
- var link = document.createElement("link");
3374
- link.type = "text/css";
3375
- link.rel = "stylesheet";
3376
- link.href = url;
3377
- link.id = id;
3378
- link.onload = function() {
3379
- _this.__loaded__[id] = true;
3380
- resolve();
3381
- };
3382
- link.onerror = function(e) {
3383
- reject(e);
3384
- };
3385
- document.head.appendChild(link);
3386
- });
3387
- };
3388
- ToolsClass2.prototype.clipboard = function(str) {
3389
- if (!(window && window.document)) {
3390
- return new Error("仅支持浏览器");
3391
- }
3392
- var copy = requireClipboardCopy();
3393
- return copy(str);
3394
- };
3395
- ToolsClass2.prototype.firstUpperCase = function(str) {
3396
- return str.charAt(0).toUpperCase() + str.toString().slice(1);
3397
3253
  };
3398
- ToolsClass2.prototype.slice = function(target, length) {
3399
- if (target === void 0) {
3400
- target = "";
3401
- }
3402
- if (length === void 0) {
3403
- length = 0;
3404
- }
3405
- return target.slice(0, length);
3406
- };
3407
- ToolsClass2.prototype.guid = function() {
3408
- function S4() {
3409
- return ((1 + Math.random()) * 65536 | 0).toString(16).substring(1);
3254
+ this.objectToArray = function(obj) {
3255
+ var arr = [];
3256
+ if (typeof obj === "object") {
3257
+ for (var key in obj) {
3258
+ if (obj.hasOwnProperty(key)) {
3259
+ arr.push([key, obj[key]].join("="));
3260
+ }
3261
+ }
3410
3262
  }
3411
- return S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4();
3263
+ return arr;
3412
3264
  };
3413
- ToolsClass2.prototype.getBytesOfText = function(str) {
3414
- if (str === void 0) {
3415
- str = "";
3265
+ this.convertKeyValueEnum = function(obj) {
3266
+ var result = {};
3267
+ if (typeof obj === "object") {
3268
+ for (var key in obj) {
3269
+ if (obj.hasOwnProperty(key)) {
3270
+ result[obj[key]] = key;
3271
+ }
3272
+ }
3416
3273
  }
3417
- return str.replace(/[^\u0000-\u00ff]/g, "aa").length;
3418
- };
3419
- ToolsClass2.prototype.uniqueArr = function(arr) {
3420
- return Array.from(new Set(arr));
3421
- };
3422
- ToolsClass2.prototype.swapArray = function(array, index1, index2) {
3423
- var _a;
3424
- _a = [array[index2], array[index1]], array[index1] = _a[0], array[index2] = _a[1];
3425
- return array;
3274
+ return result;
3426
3275
  };
3427
- ToolsClass2.prototype.filterEmoji = function(str) {
3428
- return str.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/mg, "");
3276
+ this.isDefined = function(val) {
3277
+ return val !== void 0 && val !== null;
3429
3278
  };
3430
- ToolsClass2.prototype.containsEmoji = function(str) {
3431
- var reg = /\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/mg;
3432
- return reg.test(str);
3279
+ this.__loaded__ = {};
3280
+ this.__setDefault__ = function(e) {
3281
+ e && e.preventDefault();
3433
3282
  };
3434
- ToolsClass2.prototype.containsHanZi = function(str) {
3435
- var reg = /[\u4e00-\u9fa5]/mg;
3436
- return reg.test(str);
3283
+ }
3284
+ ToolsClass2.prototype.deepCopy = function(data) {
3285
+ return JSON.parse(JSON.stringify(data));
3286
+ };
3287
+ ToolsClass2.prototype.deepCopy2 = function(obj) {
3288
+ var _obj = Array.isArray(obj) ? [] : {};
3289
+ for (var i in obj) {
3290
+ _obj[i] = typeof obj[i] === "object" ? this.deepCopy2(obj[i]) : obj[i];
3291
+ }
3292
+ return _obj;
3293
+ };
3294
+ ToolsClass2.prototype.deepCopy3 = function(obj) {
3295
+ var deepcopy = requireCloneDeep();
3296
+ return deepcopy(obj);
3297
+ };
3298
+ ToolsClass2.prototype.debounce = function(func, wait) {
3299
+ var delay = function() {
3300
+ var args = arguments;
3301
+ if (timeout)
3302
+ clearTimeout(timeout);
3303
+ timeout = setTimeout(function() {
3304
+ func.apply(delay, args);
3305
+ }, wait);
3437
3306
  };
3438
- ToolsClass2.prototype.isEmpty = function(val) {
3439
- if (val == null)
3440
- return true;
3441
- if (typeof val === "boolean")
3442
- return false;
3443
- if (typeof val === "number")
3444
- return !val;
3445
- if (val instanceof Error)
3446
- return val.message === "";
3447
- switch (Object.prototype.toString.call(val)) {
3448
- case "[object String]":
3449
- case "[object Array]":
3450
- return !val.length;
3451
- case "[object File]":
3452
- case "[object Map]":
3453
- case "[object Set]": {
3454
- return !val.size;
3455
- }
3456
- case "[object Object]": {
3457
- return !Object.keys(val).length;
3458
- }
3307
+ return delay;
3308
+ };
3309
+ ToolsClass2.prototype.throttle = function(func, wait) {
3310
+ var delay = function() {
3311
+ var now = Date.now();
3312
+ if (now - previous > wait) {
3313
+ func.apply(delay, arguments);
3314
+ previous = now;
3459
3315
  }
3460
- return false;
3461
3316
  };
3462
- ToolsClass2.prototype.sensitiveField = function(field, before, after) {
3463
- if (before === void 0) {
3464
- before = 3;
3465
- }
3466
- if (after === void 0) {
3467
- after = 4;
3468
- }
3469
- if (!field) {
3470
- return "";
3471
- }
3472
- field = String(field);
3473
- var sensitiveLen = field.length - before - after;
3474
- if (sensitiveLen < 0) {
3475
- sensitiveLen = 0;
3317
+ return delay;
3318
+ };
3319
+ ToolsClass2.prototype.getUrlName = function(url) {
3320
+ return url && url.split("?")[0].split("/").reverse()[0];
3321
+ };
3322
+ ToolsClass2.prototype.loadJs = function(url) {
3323
+ var _this = this;
3324
+ if (!(window && window.document)) {
3325
+ return new Error("\u4EC5\u652F\u6301\u6D4F\u89C8\u5668");
3326
+ }
3327
+ var name = this.getUrlName(url);
3328
+ var id = "js_" + name;
3329
+ return new Promise(function(resolve, reject) {
3330
+ if (_this.__loaded__[id]) {
3331
+ return resolve();
3332
+ }
3333
+ var script = document.createElement("script");
3334
+ script.type = "text/javascript";
3335
+ script.async = true;
3336
+ script.src = url;
3337
+ script.id = id;
3338
+ script.onload = function() {
3339
+ _this.__loaded__[id] = true;
3340
+ resolve();
3341
+ };
3342
+ script.onerror = function(e) {
3343
+ reject(e);
3344
+ };
3345
+ document.body.appendChild(script);
3346
+ });
3347
+ };
3348
+ ToolsClass2.prototype.loadCss = function(url) {
3349
+ var _this = this;
3350
+ if (!(window && window.document)) {
3351
+ return new Error("\u4EC5\u652F\u6301\u6D4F\u89C8\u5668");
3352
+ }
3353
+ var name = this.getUrlName(url);
3354
+ var id = "css_" + name;
3355
+ return new Promise(function(resolve, reject) {
3356
+ if (_this.__loaded__[id]) {
3357
+ return resolve();
3358
+ }
3359
+ var link = document.createElement("link");
3360
+ link.type = "text/css";
3361
+ link.rel = "stylesheet";
3362
+ link.href = url;
3363
+ link.id = id;
3364
+ link.onload = function() {
3365
+ _this.__loaded__[id] = true;
3366
+ resolve();
3367
+ };
3368
+ link.onerror = function(e) {
3369
+ reject(e);
3370
+ };
3371
+ document.head.appendChild(link);
3372
+ });
3373
+ };
3374
+ ToolsClass2.prototype.clipboard = function(str) {
3375
+ if (!(window && window.document)) {
3376
+ return new Error("\u4EC5\u652F\u6301\u6D4F\u89C8\u5668");
3377
+ }
3378
+ var copy = require_clipboardCopy_4_0_1_clipboardCopy();
3379
+ return copy(str);
3380
+ };
3381
+ ToolsClass2.prototype.firstUpperCase = function(str) {
3382
+ return str.charAt(0).toUpperCase() + str.toString().slice(1);
3383
+ };
3384
+ ToolsClass2.prototype.slice = function(target, length) {
3385
+ if (target === void 0) {
3386
+ target = "";
3387
+ }
3388
+ if (length === void 0) {
3389
+ length = 0;
3390
+ }
3391
+ return target.slice(0, length);
3392
+ };
3393
+ ToolsClass2.prototype.guid = function() {
3394
+ function S4() {
3395
+ return ((1 + Math.random()) * 65536 | 0).toString(16).substring(1);
3396
+ }
3397
+ return S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4();
3398
+ };
3399
+ ToolsClass2.prototype.getBytesOfText = function(str) {
3400
+ if (str === void 0) {
3401
+ str = "";
3402
+ }
3403
+ return str.replace(/[^\u0000-\u00ff]/g, "aa").length;
3404
+ };
3405
+ ToolsClass2.prototype.uniqueArr = function(arr) {
3406
+ return Array.from(new Set(arr));
3407
+ };
3408
+ ToolsClass2.prototype.swapArray = function(array, index1, index2) {
3409
+ var _a;
3410
+ _a = [array[index2], array[index1]], array[index1] = _a[0], array[index2] = _a[1];
3411
+ return array;
3412
+ };
3413
+ ToolsClass2.prototype.filterEmoji = function(str) {
3414
+ return str.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/mg, "");
3415
+ };
3416
+ ToolsClass2.prototype.containsEmoji = function(str) {
3417
+ var reg = /\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/mg;
3418
+ return reg.test(str);
3419
+ };
3420
+ ToolsClass2.prototype.containsHanZi = function(str) {
3421
+ var reg = /[\u4e00-\u9fa5]/mg;
3422
+ return reg.test(str);
3423
+ };
3424
+ ToolsClass2.prototype.isEmpty = function(val) {
3425
+ if (val == null)
3426
+ return true;
3427
+ if (typeof val === "boolean")
3428
+ return false;
3429
+ if (typeof val === "number")
3430
+ return !val;
3431
+ if (val instanceof Error)
3432
+ return val.message === "";
3433
+ switch (Object.prototype.toString.call(val)) {
3434
+ case "[object String]":
3435
+ case "[object Array]":
3436
+ return !val.length;
3437
+ case "[object File]":
3438
+ case "[object Map]":
3439
+ case "[object Set]": {
3440
+ return !val.size;
3441
+ }
3442
+ case "[object Object]": {
3443
+ return !Object.keys(val).length;
3476
3444
  }
3477
- var regItem = "[一-龥a-zA-Z0-9]";
3478
- var regExp = "(".concat(regItem, "{").concat(before, "})").concat(regItem, "*(").concat(regItem, "{").concat(after, "})");
3479
- var reg = new RegExp(regExp);
3480
- return field.replace(reg, "$1".concat("*".repeat(sensitiveLen), "$2"));
3481
- };
3482
- return ToolsClass2;
3483
- }()
3484
- );
3485
- tools$2.exports = new ToolsClass();
3486
- var toolsExports = tools$2.exports;
3487
- const tools$1 = /* @__PURE__ */ getDefaultExportFromCjs(toolsExports);
3445
+ }
3446
+ return false;
3447
+ };
3448
+ ToolsClass2.prototype.sensitiveField = function(field, before, after) {
3449
+ if (before === void 0) {
3450
+ before = 3;
3451
+ }
3452
+ if (after === void 0) {
3453
+ after = 4;
3454
+ }
3455
+ if (!field) {
3456
+ return "";
3457
+ }
3458
+ field = String(field);
3459
+ var sensitiveLen = field.length - before - after;
3460
+ if (sensitiveLen < 0) {
3461
+ sensitiveLen = 0;
3462
+ }
3463
+ var regItem = "[\u4E00-\u9FA5a-zA-Z0-9]";
3464
+ var regExp = "(".concat(regItem, "{").concat(before, "})").concat(regItem, "*(").concat(regItem, "{").concat(after, "})");
3465
+ var reg = new RegExp(regExp);
3466
+ return field.replace(reg, "$1".concat("*".repeat(sensitiveLen), "$2"));
3467
+ };
3468
+ return ToolsClass2;
3469
+ }();
3470
+ tools$1.exports = new ToolsClass();
3471
+ const tools = /* @__PURE__ */ getDefaultExportFromCjs(tools$1.exports);
3472
+ const index_vue_vue_type_style_index_0_lang$4 = "";
3488
3473
  const _hoisted_1$6 = { style: { "margin-left": "20px", "color": "#FF5A25" } };
3489
- const _hoisted_2$3 = { class: "insert-article" };
3490
- const _hoisted_3$3 = { class: "insert-article_input" };
3474
+ const _hoisted_2$5 = { class: "insert-article" };
3475
+ const _hoisted_3$5 = { class: "insert-article_input" };
3491
3476
  const _hoisted_4$2 = {
3492
3477
  key: 0,
3493
3478
  class: "nodata"
@@ -3506,7 +3491,7 @@ const _hoisted_12$1 = {
3506
3491
  key: 1,
3507
3492
  style: { "display": "inline-flex", "flex-direction": "column" }
3508
3493
  };
3509
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3494
+ const _sfc_main$6 = defineComponent({
3510
3495
  __name: "index",
3511
3496
  props: {
3512
3497
  visible: { type: Boolean, default: false },
@@ -3514,7 +3499,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3514
3499
  },
3515
3500
  emits: ["change", "submit", "update:visible"],
3516
3501
  setup(__props, { emit: __emit }) {
3517
- const { debounce } = tools$1;
3502
+ const { debounce } = tools;
3518
3503
  const vInfiniteScroll = ElInfiniteScroll;
3519
3504
  const Radio_Type = {
3520
3505
  MY_ARITICLE: "1",
@@ -3565,7 +3550,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3565
3550
  };
3566
3551
  const confirm = () => {
3567
3552
  if (!data.article) {
3568
- ElMessage.error(`请选择${isVideo ? "视频" : "文章"}`);
3553
+ ElMessage.error(`\u8BF7\u9009\u62E9${isVideo ? "\u89C6\u9891" : "\u6587\u7AE0"}`);
3569
3554
  return;
3570
3555
  }
3571
3556
  data.article.isVideo = isVideo;
@@ -3589,7 +3574,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3589
3574
  autherid: data.params.radio !== Radio_Type.ALL_ARITICLE ? userId : "",
3590
3575
  limit: 20,
3591
3576
  allType: data.params.radio,
3592
- // 只有4 是查视频 其他是文章
3593
3577
  title: data.params.title,
3594
3578
  page: ++data.page
3595
3579
  });
@@ -3609,21 +3593,21 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3609
3593
  }, {
3610
3594
  title: withCtx(() => [
3611
3595
  createElementVNode("span", null, [
3612
- _cache[8] || (_cache[8] = createTextVNode("插入文章/视频")),
3613
- createElementVNode("strong", _hoisted_1$6, "平台仅支持插入" + toDisplayString(`${isVideo.value ? "2" : "18个月"}`) + "内的推荐内容", 1)
3596
+ createTextVNode("\u63D2\u5165\u6587\u7AE0/\u89C6\u9891"),
3597
+ createElementVNode("strong", _hoisted_1$6, "\u5E73\u53F0\u4EC5\u652F\u6301\u63D2\u5165" + toDisplayString(`${isVideo.value ? "2\u5E74" : "18\u4E2A\u6708"}`) + "\u5185\u7684\u63A8\u8350\u5185\u5BB9", 1)
3614
3598
  ])
3615
3599
  ]),
3616
3600
  default: withCtx(() => [
3617
- createElementVNode("div", _hoisted_2$3, [
3601
+ createElementVNode("div", _hoisted_2$5, [
3618
3602
  createElementVNode("div", null, [
3619
3603
  createVNode(unref(ElRadio), {
3620
3604
  modelValue: data.params.radio,
3621
3605
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data.params.radio = $event),
3622
3606
  label: Radio_Type.MY_ARITICLE
3623
3607
  }, {
3624
- default: withCtx(() => _cache[9] || (_cache[9] = [
3625
- createTextVNode("从我的文章中选择")
3626
- ])),
3608
+ default: withCtx(() => [
3609
+ createTextVNode("\u4ECE\u6211\u7684\u6587\u7AE0\u4E2D\u9009\u62E9")
3610
+ ]),
3627
3611
  _: 1
3628
3612
  }, 8, ["modelValue", "label"]),
3629
3613
  createVNode(unref(ElRadio), {
@@ -3631,9 +3615,9 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3631
3615
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data.params.radio = $event),
3632
3616
  label: Radio_Type.MY_VIDEO
3633
3617
  }, {
3634
- default: withCtx(() => _cache[10] || (_cache[10] = [
3635
- createTextVNode("从我的视频中选择")
3636
- ])),
3618
+ default: withCtx(() => [
3619
+ createTextVNode("\u4ECE\u6211\u7684\u89C6\u9891\u4E2D\u9009\u62E9")
3620
+ ]),
3637
3621
  _: 1
3638
3622
  }, 8, ["modelValue", "label"]),
3639
3623
  createVNode(unref(ElRadio), {
@@ -3641,17 +3625,17 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3641
3625
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => data.params.radio = $event),
3642
3626
  label: Radio_Type.ALL_ARITICLE
3643
3627
  }, {
3644
- default: withCtx(() => _cache[11] || (_cache[11] = [
3645
- createTextVNode("从所有文章中选择")
3646
- ])),
3628
+ default: withCtx(() => [
3629
+ createTextVNode("\u4ECE\u6240\u6709\u6587\u7AE0\u4E2D\u9009\u62E9")
3630
+ ]),
3647
3631
  _: 1
3648
3632
  }, 8, ["modelValue", "label"])
3649
3633
  ]),
3650
- createElementVNode("div", _hoisted_3$3, [
3634
+ createElementVNode("div", _hoisted_3$5, [
3651
3635
  createVNode(unref(ElInput), {
3652
3636
  modelValue: data.params.title,
3653
3637
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => data.params.title = $event),
3654
- placeholder: isVideo.value ? "输入视频描述查找平台发布过的视频" : "输入标题名查找平台发过的文章",
3638
+ placeholder: isVideo.value ? "\u8F93\u5165\u89C6\u9891\u63CF\u8FF0\u67E5\u627E\u5E73\u53F0\u53D1\u5E03\u8FC7\u7684\u89C6\u9891" : "\u8F93\u5165\u6807\u9898\u540D\u67E5\u627E\u5E73\u53F0\u53D1\u8FC7\u7684\u6587\u7AE0",
3655
3639
  onKeyup: _cache[5] || (_cache[5] = withKeys(($event) => unref(getArticleList)(true), ["enter", "native"])),
3656
3640
  onInput: _cache[6] || (_cache[6] = ($event) => unref(getArticleList)(true))
3657
3641
  }, {
@@ -3665,7 +3649,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3665
3649
  _: 1
3666
3650
  }, 8, ["modelValue", "placeholder"])
3667
3651
  ]),
3668
- data.data.length === 0 && !data.busy ? (openBlock(), createElementBlock("div", _hoisted_4$2, toDisplayString(`没有符合条件的${isVideo.value ? "视频" : "文章"}哦,你可以试试搜索其他${isVideo.value ? "视频" : "文章"}~`), 1)) : withDirectives((openBlock(), createElementBlock("div", {
3652
+ data.data.length === 0 && !data.busy ? (openBlock(), createElementBlock("div", _hoisted_4$2, toDisplayString(`\u6CA1\u6709\u7B26\u5408\u6761\u4EF6\u7684${isVideo.value ? "\u89C6\u9891" : "\u6587\u7AE0"}\u54E6\uFF0C\u4F60\u53EF\u4EE5\u8BD5\u8BD5\u641C\u7D22\u5176\u4ED6${isVideo.value ? "\u89C6\u9891" : "\u6587\u7AE0"}\uFF5E`), 1)) : withDirectives((openBlock(), createElementBlock("div", {
3669
3653
  key: 1,
3670
3654
  "infinite-scroll-immediate": false,
3671
3655
  class: "insert-article_list",
@@ -3697,12 +3681,12 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3697
3681
  }, null, 8, _hoisted_9$1)
3698
3682
  ]),
3699
3683
  createElementVNode("div", _hoisted_10$1, [
3700
- createElementVNode("span", _hoisted_11$1, toDisplayString(item.content || "[无标题]"), 1),
3701
- createElementVNode("span", null, toDisplayString(unref(date$1).format(item.createTime * 1e3, "YYYY-MM-DD hh-mm")), 1)
3684
+ createElementVNode("span", _hoisted_11$1, toDisplayString(item.content || "[\u65E0\u6807\u9898]"), 1),
3685
+ createElementVNode("span", null, toDisplayString(unref(date).format(item.createTime * 1e3, "YYYY-MM-DD hh-mm")), 1)
3702
3686
  ])
3703
3687
  ])) : (openBlock(), createElementBlock("div", _hoisted_12$1, [
3704
- createElementVNode("span", null, toDisplayString(item.title || "[无标题]"), 1),
3705
- createElementVNode("span", null, toDisplayString(unref(date$1).format(item.createTime * 1e3, "YYYY-MM-DD")), 1)
3688
+ createElementVNode("span", null, toDisplayString(item.title || "[\u65E0\u6807\u9898]"), 1),
3689
+ createElementVNode("span", null, toDisplayString(unref(date).format(item.createTime * 1e3, "YYYY-MM-DD")), 1)
3706
3690
  ]))
3707
3691
  ];
3708
3692
  }),
@@ -3720,7 +3704,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3720
3704
  };
3721
3705
  }
3722
3706
  });
3723
- const index_vue_vue_type_style_index_0_lang$4 = "";
3724
3707
  let getRandomValues;
3725
3708
  const rnds8 = new Uint8Array(16);
3726
3709
  function rng() {
@@ -3760,9 +3743,10 @@ function v4(options, buf, offset) {
3760
3743
  }
3761
3744
  return unsafeStringify(rnds);
3762
3745
  }
3746
+ const index_vue_vue_type_style_index_0_lang$3 = "";
3763
3747
  const _hoisted_1$5 = { class: "img-upload-content" };
3764
- const _hoisted_2$2 = { class: "title-box" };
3765
- const _hoisted_3$2 = ["onClick"];
3748
+ const _hoisted_2$4 = { class: "title-box" };
3749
+ const _hoisted_3$4 = ["onClick"];
3766
3750
  const _hoisted_4$1 = {
3767
3751
  key: 0,
3768
3752
  class: "line"
@@ -3791,38 +3775,41 @@ const _hoisted_13 = {
3791
3775
  key: 0,
3792
3776
  class: "upload-wrap"
3793
3777
  };
3794
- const _hoisted_14 = {
3778
+ const _hoisted_14 = /* @__PURE__ */ createElementVNode("span", null, "\u672C\u5730\u4E0A\u4F20", -1);
3779
+ const _hoisted_15 = /* @__PURE__ */ createElementVNode("span", { class: "remark" }, "\u652F\u6301jpg\u3001jpeg\u3001png\u7B49\u591A\u79CD\u683C\u5F0F\uFF0C\u5355\u5F20\u56FE\u7247\u6700\u5927\u652F\u630120MB", -1);
3780
+ const _hoisted_16 = {
3795
3781
  key: 1,
3796
3782
  class: "img-list"
3797
3783
  };
3798
- const _hoisted_15 = ["src"];
3799
- const _hoisted_16 = { class: "upload-btn" };
3800
- const _hoisted_17 = {
3784
+ const _hoisted_17 = ["src"];
3785
+ const _hoisted_18 = { class: "upload-btn" };
3786
+ const _hoisted_19 = {
3801
3787
  key: 2,
3802
3788
  class: "map-depot"
3803
3789
  };
3804
- const _hoisted_18 = { class: "screen" };
3805
- const _hoisted_19 = { key: 0 };
3806
- const _hoisted_20 = { class: "tab-box" };
3807
- const _hoisted_21 = ["onClick"];
3808
- const _hoisted_22 = {
3790
+ const _hoisted_20 = { class: "screen" };
3791
+ const _hoisted_21 = { key: 0 };
3792
+ const _hoisted_22 = { class: "tab-box" };
3793
+ const _hoisted_23 = ["onClick"];
3794
+ const _hoisted_24 = {
3809
3795
  key: 0,
3810
3796
  class: "line"
3811
3797
  };
3812
- const _hoisted_23 = { class: "image-list depot-image" };
3813
- const _hoisted_24 = ["onClick"];
3814
- const _hoisted_25 = ["src"];
3815
- const _hoisted_26 = {
3798
+ const _hoisted_25 = { class: "image-list depot-image" };
3799
+ const _hoisted_26 = ["onClick"];
3800
+ const _hoisted_27 = ["src"];
3801
+ const _hoisted_28 = {
3816
3802
  key: 0,
3817
3803
  class: "shade"
3818
3804
  };
3819
- const _hoisted_27 = { class: "num" };
3820
- const _hoisted_28 = {
3805
+ const _hoisted_29 = { class: "num" };
3806
+ const _hoisted_30 = {
3821
3807
  key: 1,
3822
3808
  class: "protocol-box"
3823
3809
  };
3824
- const _hoisted_29 = ["href"];
3825
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3810
+ const _hoisted_31 = /* @__PURE__ */ createElementVNode("div", null, " \u56FE\u5E93\u4E2D\u7684\u56FE\u7247\u4EC5\u9650\u4E0B\u8F7D\u6469\u6258\u8303\u4EE5\u7F16\u8F91\u53D1\u5E03\u6587\u7AE0\u4F7F\u7528,\u4E0D\u5F97\u7528\u4E8E\u5176\u4ED6\u4EFB\u4F55\u5E73\u53F0\u53CA\u7528\u9014 ", -1);
3811
+ const _hoisted_32 = ["href"];
3812
+ const _sfc_main$5 = defineComponent({
3826
3813
  __name: "index",
3827
3814
  props: {
3828
3815
  visible: { type: Boolean, default: false },
@@ -3857,7 +3844,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3857
3844
  const tempImgs = [...props.imgList];
3858
3845
  Array.from(imgFile).forEach((file) => {
3859
3846
  if (file.size > 20 * 1024 * 1024) {
3860
- ElMessage.error("单张图片最大支持20M");
3847
+ ElMessage.error("\u5355\u5F20\u56FE\u7247\u6700\u5927\u652F\u630120M");
3861
3848
  return;
3862
3849
  }
3863
3850
  const id = v4();
@@ -3887,14 +3874,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3887
3874
  const list = [
3888
3875
  {
3889
3876
  id: 2,
3890
- value: "上传图片"
3877
+ value: "\u4E0A\u4F20\u56FE\u7247"
3891
3878
  }
3892
3879
  ];
3893
3880
  activeTitle.value = 2;
3894
3881
  if (props.imgNum < 20) {
3895
3882
  list.unshift({
3896
3883
  id: 1,
3897
- value: "正文图片"
3884
+ value: "\u6B63\u6587\u56FE\u7247"
3898
3885
  });
3899
3886
  activeTitle.value = 1;
3900
3887
  getContentImgList();
@@ -3902,7 +3889,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3902
3889
  if (props.chartGallery) {
3903
3890
  list.push({
3904
3891
  id: 3,
3905
- value: isEmotofine ? "电摩范图库" : "摩托范图库"
3892
+ value: isEmotofine ? "\u7535\u6469\u8303\u56FE\u5E93" : "\u6469\u6258\u8303\u56FE\u5E93"
3906
3893
  });
3907
3894
  }
3908
3895
  titleList.value = list;
@@ -4047,13 +4034,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4047
4034
  const tabList = ref([]);
4048
4035
  const search = () => {
4049
4036
  if (!selectData.brandId) {
4050
- return ElMessage.error("请选择品牌");
4037
+ return ElMessage.error("\u8BF7\u9009\u62E9\u54C1\u724C");
4051
4038
  }
4052
4039
  if (!selectData.goodId) {
4053
- return ElMessage.error("请选择车型");
4040
+ return ElMessage.error("\u8BF7\u9009\u62E9\u8F66\u578B");
4054
4041
  }
4055
4042
  if (!selectData.carId) {
4056
- return ElMessage.error("请选择款型");
4043
+ return ElMessage.error("\u8BF7\u9009\u62E9\u6B3E\u578B");
4057
4044
  }
4058
4045
  tabList.value = [];
4059
4046
  emits("update:imgList", []);
@@ -4110,7 +4097,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4110
4097
  }, {
4111
4098
  default: withCtx(() => [
4112
4099
  createElementVNode("div", _hoisted_1$5, [
4113
- createElementVNode("div", _hoisted_2$2, [
4100
+ createElementVNode("div", _hoisted_2$4, [
4114
4101
  (openBlock(true), createElementBlock(Fragment, null, renderList(titleList.value, (item, index) => {
4115
4102
  return openBlock(), createElementBlock("div", {
4116
4103
  key: index,
@@ -4119,10 +4106,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4119
4106
  }, [
4120
4107
  createTextVNode(toDisplayString(item.value) + " ", 1),
4121
4108
  item.id === activeTitle.value ? (openBlock(), createElementBlock("div", _hoisted_4$1)) : createCommentVNode("", true)
4122
- ], 10, _hoisted_3$2);
4109
+ ], 10, _hoisted_3$4);
4123
4110
  }), 128)),
4124
- [1, 3].includes(activeTitle.value) && props.imgList.length ? (openBlock(), createElementBlock("div", _hoisted_5$1, " 最多可选" + toDisplayString(props.imgNum) + "张图片,已选" + toDisplayString(props.imgList.length) + " ", 1)) : createCommentVNode("", true),
4125
- activeTitle.value === 2 && props.imgList.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(props.imgList.length) + "张上传成功 拖动可调整顺序 ", 1)) : createCommentVNode("", true)
4111
+ [1, 3].includes(activeTitle.value) && props.imgList.length ? (openBlock(), createElementBlock("div", _hoisted_5$1, " \u6700\u591A\u53EF\u9009" + toDisplayString(props.imgNum) + "\u5F20\u56FE\u7247\uFF0C\u5DF2\u9009" + toDisplayString(props.imgList.length) + "\u5F20 ", 1)) : createCommentVNode("", true),
4112
+ activeTitle.value === 2 && props.imgList.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(props.imgList.length) + "\u5F20\u4E0A\u4F20\u6210\u529F \u62D6\u52A8\u53EF\u8C03\u6574\u987A\u5E8F ", 1)) : createCommentVNode("", true)
4126
4113
  ]),
4127
4114
  activeTitle.value === 1 ? (openBlock(), createElementBlock("div", _hoisted_7, [
4128
4115
  createElementVNode("div", _hoisted_8, [
@@ -4159,10 +4146,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4159
4146
  ]),
4160
4147
  _: 1
4161
4148
  }),
4162
- _cache[7] || (_cache[7] = createElementVNode("span", null, "本地上传", -1))
4149
+ _hoisted_14
4163
4150
  ]),
4164
- _cache[8] || (_cache[8] = createElementVNode("span", { class: "remark" }, "支持jpg、jpeg、png等多种格式,单张图片最大支持20MB", -1))
4165
- ])) : (openBlock(), createElementBlock("div", _hoisted_14, [
4151
+ _hoisted_15
4152
+ ])) : (openBlock(), createElementBlock("div", _hoisted_16, [
4166
4153
  createVNode(unref(draggable), {
4167
4154
  modelValue: imgListTemp.value,
4168
4155
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => imgListTemp.value = $event),
@@ -4183,7 +4170,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4183
4170
  style: { "object-fit": "contain" },
4184
4171
  width: "120",
4185
4172
  height: "120"
4186
- }, null, 8, _hoisted_15),
4173
+ }, null, 8, _hoisted_17),
4187
4174
  createVNode(unref(CircleCloseFilled), {
4188
4175
  class: "icon pointer",
4189
4176
  onClick: ($event) => deleteImg(element)
@@ -4206,7 +4193,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4206
4193
  _: 1
4207
4194
  }, 8, ["modelValue"])
4208
4195
  ])),
4209
- createElementVNode("div", _hoisted_16, [
4196
+ createElementVNode("div", _hoisted_18, [
4210
4197
  createElementVNode("input", {
4211
4198
  type: "file",
4212
4199
  name: "file",
@@ -4217,13 +4204,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4217
4204
  }, null, 32)
4218
4205
  ])
4219
4206
  ], 2)) : createCommentVNode("", true),
4220
- activeTitle.value === 3 ? (openBlock(), createElementBlock("div", _hoisted_17, [
4221
- createElementVNode("div", _hoisted_18, [
4207
+ activeTitle.value === 3 ? (openBlock(), createElementBlock("div", _hoisted_19, [
4208
+ createElementVNode("div", _hoisted_20, [
4222
4209
  createElementVNode("div", null, [
4223
4210
  createVNode(unref(ElSelect), {
4224
4211
  modelValue: selectData.brandId,
4225
4212
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => selectData.brandId = $event),
4226
- placeholder: "请选择品牌",
4213
+ placeholder: "\u8BF7\u9009\u62E9\u54C1\u724C",
4227
4214
  size: "large",
4228
4215
  class: "select_1",
4229
4216
  filterable: "",
@@ -4244,7 +4231,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4244
4231
  createVNode(unref(ElSelect), {
4245
4232
  modelValue: selectData.goodId,
4246
4233
  "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => selectData.goodId = $event),
4247
- placeholder: "请选择车型",
4234
+ placeholder: "\u8BF7\u9009\u62E9\u8F66\u578B",
4248
4235
  size: "large",
4249
4236
  class: "select_1",
4250
4237
  filterable: "",
@@ -4265,7 +4252,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4265
4252
  createVNode(unref(ElSelect), {
4266
4253
  modelValue: selectData.carId,
4267
4254
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => selectData.carId = $event),
4268
- placeholder: "请选择款型",
4255
+ placeholder: "\u8BF7\u9009\u62E9\u6B3E\u578B",
4269
4256
  size: "large",
4270
4257
  class: "select_2",
4271
4258
  filterable: "",
@@ -4289,14 +4276,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4289
4276
  style: { "width": "80px" },
4290
4277
  onClick: search
4291
4278
  }, {
4292
- default: withCtx(() => _cache[9] || (_cache[9] = [
4293
- createTextVNode("搜索")
4294
- ])),
4279
+ default: withCtx(() => [
4280
+ createTextVNode("\u641C\u7D22")
4281
+ ]),
4295
4282
  _: 1
4296
4283
  })
4297
4284
  ]),
4298
- tabList.value && tabList.value.length ? (openBlock(), createElementBlock("div", _hoisted_19, [
4299
- createElementVNode("div", _hoisted_20, [
4285
+ tabList.value && tabList.value.length ? (openBlock(), createElementBlock("div", _hoisted_21, [
4286
+ createElementVNode("div", _hoisted_22, [
4300
4287
  (openBlock(true), createElementBlock(Fragment, null, renderList(tabList.value, (item, index) => {
4301
4288
  return openBlock(), createElementBlock("div", {
4302
4289
  key: index,
@@ -4304,11 +4291,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4304
4291
  onClick: ($event) => activeTab.value = item.type
4305
4292
  }, [
4306
4293
  createTextVNode(toDisplayString(item.name) + " ", 1),
4307
- item.type === activeTab.value ? (openBlock(), createElementBlock("div", _hoisted_22)) : createCommentVNode("", true)
4308
- ], 10, _hoisted_21);
4294
+ item.type === activeTab.value ? (openBlock(), createElementBlock("div", _hoisted_24)) : createCommentVNode("", true)
4295
+ ], 10, _hoisted_23);
4309
4296
  }), 128))
4310
4297
  ]),
4311
- createElementVNode("div", _hoisted_23, [
4298
+ createElementVNode("div", _hoisted_25, [
4312
4299
  (openBlock(true), createElementBlock(Fragment, null, renderList(imageList.value, (item, index) => {
4313
4300
  return openBlock(), createElementBlock("div", {
4314
4301
  key: index,
@@ -4319,25 +4306,25 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4319
4306
  src: item.imgOrgUrl,
4320
4307
  alt: "",
4321
4308
  class: "image"
4322
- }, null, 8, _hoisted_25),
4323
- item.num ? (openBlock(), createElementBlock("div", _hoisted_26, [
4324
- createElementVNode("div", _hoisted_27, toDisplayString(item.num), 1)
4309
+ }, null, 8, _hoisted_27),
4310
+ item.num ? (openBlock(), createElementBlock("div", _hoisted_28, [
4311
+ createElementVNode("div", _hoisted_29, toDisplayString(item.num), 1)
4325
4312
  ])) : createCommentVNode("", true)
4326
- ], 8, _hoisted_24);
4313
+ ], 8, _hoisted_26);
4327
4314
  }), 128))
4328
4315
  ])
4329
- ])) : (openBlock(), createElementBlock("div", _hoisted_28, [
4316
+ ])) : (openBlock(), createElementBlock("div", _hoisted_30, [
4330
4317
  createElementVNode("div", null, [
4331
- _cache[12] || (_cache[12] = createElementVNode("div", null, " 图库中的图片仅限下载摩托范以编辑发布文章使用,不得用于其他任何平台及用途 ", -1)),
4318
+ _hoisted_31,
4332
4319
  createElementVNode("div", null, [
4333
- _cache[10] || (_cache[10] = createTextVNode(" 请阅读")),
4320
+ createTextVNode(" \u8BF7\u9605\u8BFB"),
4334
4321
  createElementVNode("a", {
4335
4322
  href: `https://${unref(hostName)}/about?type=imageLicenseAgreement`,
4336
4323
  target: "_blank",
4337
4324
  rel: "noopener noreferrer",
4338
4325
  class: "link"
4339
- }, "《摩托范图片许可使用协议》", 8, _hoisted_29),
4340
- _cache[11] || (_cache[11] = createTextVNode(",您的行为视为您已同意该协议。 "))
4326
+ }, "\u300A\u6469\u6258\u8303\u56FE\u7247\u8BB8\u53EF\u4F7F\u7528\u534F\u8BAE\u300B", 8, _hoisted_32),
4327
+ createTextVNode(",\u60A8\u7684\u884C\u4E3A\u89C6\u4E3A\u60A8\u5DF2\u540C\u610F\u8BE5\u534F\u8BAE\u3002 ")
4341
4328
  ])
4342
4329
  ])
4343
4330
  ]))
@@ -4349,9 +4336,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4349
4336
  };
4350
4337
  }
4351
4338
  });
4352
- const index_vue_vue_type_style_index_0_lang$3 = "";
4353
- const _hoisted_1$4 = { class: "insert-video" };
4354
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4339
+ const index_vue_vue_type_style_index_0_lang$2 = "";
4340
+ const _hoisted_1$4 = /* @__PURE__ */ createElementVNode("span", null, "\u63D2\u5165\u89C6\u9891", -1);
4341
+ const _hoisted_2$3 = { class: "insert-video" };
4342
+ const _hoisted_3$3 = /* @__PURE__ */ createElementVNode("span", { class: "remark" }, "\u4E3A\u4E86\u83B7\u5F97\u66F4\u9AD8\u7684\u63A8\u8350\u91CF\u548C\u70B9\u51FB\u91CF\uFF0C\u5EFA\u8BAE\u4E0A\u4F20720p\uFF081280*720\uFF09\u6216\u66F4\u9AD8\u5206\u8FA8\u7387\u7684\u89C6\u9891\uFF0C\u89C6\u9891\u683C\u5F0F\u4E3A.mp4\u6216.mov\uFF0C\u5927\u5C0F\u4E0D\u8D85\u8FC71G", -1);
4343
+ const _sfc_main$4 = defineComponent({
4355
4344
  __name: "index",
4356
4345
  props: {
4357
4346
  visible: { type: Boolean, default: false },
@@ -4379,23 +4368,23 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4379
4368
  width: "600px",
4380
4369
  height: "100px"
4381
4370
  }, {
4382
- title: withCtx(() => _cache[1] || (_cache[1] = [
4383
- createElementVNode("span", null, "插入视频", -1)
4384
- ])),
4371
+ title: withCtx(() => [
4372
+ _hoisted_1$4
4373
+ ]),
4385
4374
  default: withCtx(() => [
4386
- createElementVNode("div", _hoisted_1$4, [
4375
+ createElementVNode("div", _hoisted_2$3, [
4387
4376
  createVNode(unref(ElButton), {
4388
4377
  style: { "width": "120px" },
4389
4378
  round: "",
4390
4379
  type: "primary",
4391
4380
  onClick: emitEvent
4392
4381
  }, {
4393
- default: withCtx(() => _cache[2] || (_cache[2] = [
4394
- createTextVNode("选择视频")
4395
- ])),
4382
+ default: withCtx(() => [
4383
+ createTextVNode("\u9009\u62E9\u89C6\u9891")
4384
+ ]),
4396
4385
  _: 1
4397
4386
  }),
4398
- _cache[3] || (_cache[3] = createElementVNode("span", { class: "remark" }, "为了获得更高的推荐量和点击量,建议上传720p(1280*720)或更高分辨率的视频,视频格式为.mp4或.mov,大小不超过1G", -1)),
4387
+ _hoisted_3$3,
4399
4388
  createElementVNode("input", {
4400
4389
  type: "file",
4401
4390
  accept: "video/*",
@@ -4410,17 +4399,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4410
4399
  };
4411
4400
  }
4412
4401
  });
4413
- const index_vue_vue_type_style_index_0_lang$2 = "";
4414
4402
  const index_vue_vue_type_style_index_0_lang$1 = "";
4415
4403
  const _sfc_main$3 = {
4416
4404
  name: "TopicManager",
4417
4405
  props: {
4418
- // 编辑器DOM引用
4419
4406
  editorDom: {
4420
4407
  type: Object,
4421
4408
  default: null
4422
4409
  },
4423
- // 话题API请求方法
4424
4410
  request: {
4425
4411
  type: Object,
4426
4412
  default: null
@@ -4428,13 +4414,10 @@ const _sfc_main$3 = {
4428
4414
  },
4429
4415
  data() {
4430
4416
  return {
4431
- // 话题弹框相关数据
4432
4417
  topicPopover: {
4433
4418
  visible: false,
4434
4419
  type: "hot",
4435
- // 'hot' 热门话题, 'search' 搜索话题
4436
4420
  activeTab: "hot",
4437
- // 'hot' 热门话题, 'recent' 最近使用
4438
4421
  position: { top: 0, left: 0 },
4439
4422
  searchKeyword: "",
4440
4423
  hotTopics: [],
@@ -4445,28 +4428,22 @@ const _sfc_main$3 = {
4445
4428
  hasMore: true,
4446
4429
  searchPage: 1,
4447
4430
  searchHasMore: true,
4448
- // 用于增量更新的计数器
4449
4431
  newHotTopicsCount: 0,
4450
4432
  newSearchTopicsCount: 0,
4451
- // 保存原始的selection和range信息
4452
4433
  originalRange: null,
4453
4434
  originalSelection: null,
4454
- // 保存触发位置信息
4455
4435
  triggerInfo: {
4456
4436
  paragraph: null,
4457
4437
  hashIndex: -1,
4458
4438
  cursorPosition: 0
4459
4439
  },
4460
- // 全局弹框DOM引用
4461
4440
  globalContainer: null,
4462
4441
  globalMask: null
4463
4442
  },
4464
- // 中文输入法状态
4465
4443
  isComposing: false
4466
4444
  };
4467
4445
  },
4468
4446
  methods: {
4469
- // 初始化话题管理器
4470
4447
  init() {
4471
4448
  if (!this.editorDom) {
4472
4449
  console.warn("TopicManager: editorDom is required");
@@ -4474,7 +4451,6 @@ const _sfc_main$3 = {
4474
4451
  }
4475
4452
  setTimeout(() => this.bindEditorEvents(), 0);
4476
4453
  },
4477
- // 绑定编辑器事件
4478
4454
  bindEditorEvents() {
4479
4455
  if (!this.editorDom)
4480
4456
  return;
@@ -4483,7 +4459,6 @@ const _sfc_main$3 = {
4483
4459
  this.editorDom.addEventListener("compositionend", this.handleCompositionEnd.bind(this));
4484
4460
  this.editorDom.addEventListener("input", this.handleInput.bind(this));
4485
4461
  },
4486
- // 解绑编辑器事件
4487
4462
  unbindEditorEvents() {
4488
4463
  if (!this.editorDom)
4489
4464
  return;
@@ -4492,18 +4467,15 @@ const _sfc_main$3 = {
4492
4467
  this.editorDom.removeEventListener("compositionend", this.handleCompositionEnd.bind(this));
4493
4468
  this.editorDom.removeEventListener("input", this.handleInput.bind(this));
4494
4469
  },
4495
- // 中文输入法开始事件
4496
4470
  handleCompositionStart() {
4497
4471
  this.isComposing = true;
4498
4472
  },
4499
- // 中文输入法结束事件(中文)
4500
4473
  handleCompositionEnd() {
4501
4474
  this.isComposing = false;
4502
4475
  setTimeout(() => {
4503
4476
  this.handleInputChange();
4504
4477
  }, 10);
4505
4478
  },
4506
- // input事件处理(英文)
4507
4479
  handleInput() {
4508
4480
  if (!this.isComposing) {
4509
4481
  setTimeout(() => {
@@ -4511,7 +4483,6 @@ const _sfc_main$3 = {
4511
4483
  }, 10);
4512
4484
  }
4513
4485
  },
4514
- // 处理输入变化
4515
4486
  handleInputChange() {
4516
4487
  var _a;
4517
4488
  const selection = window.getSelection();
@@ -4539,7 +4510,6 @@ const _sfc_main$3 = {
4539
4510
  return;
4540
4511
  this.checkAndTriggerSearch(paragraph);
4541
4512
  },
4542
- // 话题输入处理
4543
4513
  handleTopicInput(event) {
4544
4514
  var _a;
4545
4515
  const activeElement = document.activeElement;
@@ -4580,9 +4550,7 @@ const _sfc_main$3 = {
4580
4550
  const triggerInfo = {
4581
4551
  paragraph,
4582
4552
  hashIndex: cursorPosition,
4583
- // #号的位置
4584
4553
  cursorPosition: cursorPosition + 1
4585
- // #号后的位置
4586
4554
  };
4587
4555
  this.showTopicPopover("hot", position, "", triggerInfo);
4588
4556
  }, 10);
@@ -4678,7 +4646,6 @@ const _sfc_main$3 = {
4678
4646
  tempElement.remove();
4679
4647
  const position = {
4680
4648
  top: rect.bottom,
4681
- // 弹框显示在光标下方
4682
4649
  left: rect.left
4683
4650
  };
4684
4651
  const viewportWidth = window.innerWidth;
@@ -4696,7 +4663,7 @@ const _sfc_main$3 = {
4696
4663
  }
4697
4664
  return position;
4698
4665
  } catch (error) {
4699
- console.warn("获取光标位置失败,使用fallback方法:", error);
4666
+ console.warn("\u83B7\u53D6\u5149\u6807\u4F4D\u7F6E\u5931\u8D25\uFF0C\u4F7F\u7528fallback\u65B9\u6CD5:", error);
4700
4667
  const rect = range.getBoundingClientRect();
4701
4668
  return {
4702
4669
  top: rect.bottom,
@@ -4704,10 +4671,9 @@ const _sfc_main$3 = {
4704
4671
  };
4705
4672
  }
4706
4673
  },
4707
- // 话题弹框相关方法
4708
4674
  showTopicPopover(type, position, searchKeyword = "", triggerInfo = null) {
4709
4675
  if (!this.request || !this.request.getTopic) {
4710
- console.warn("话题功能需要提供 request.getTopic 方法");
4676
+ console.warn("\u8BDD\u9898\u529F\u80FD\u9700\u8981\u63D0\u4F9B request.getTopic \u65B9\u6CD5");
4711
4677
  return;
4712
4678
  }
4713
4679
  const selection = window.getSelection();
@@ -4780,11 +4746,11 @@ const _sfc_main$3 = {
4780
4746
  }
4781
4747
  }
4782
4748
  } else {
4783
- console.warn("加载热门话题失败:", response);
4749
+ console.warn("\u52A0\u8F7D\u70ED\u95E8\u8BDD\u9898\u5931\u8D25:", response);
4784
4750
  this.topicPopover.hasMore = false;
4785
4751
  }
4786
4752
  } catch (error) {
4787
- console.error("加载热门话题失败:", error);
4753
+ console.error("\u52A0\u8F7D\u70ED\u95E8\u8BDD\u9898\u5931\u8D25:", error);
4788
4754
  this.topicPopover.hasMore = false;
4789
4755
  } finally {
4790
4756
  this.topicPopover.loading = false;
@@ -4818,18 +4784,17 @@ const _sfc_main$3 = {
4818
4784
  this.topicPopover.searchHasMore = topics.length >= 50;
4819
4785
  }
4820
4786
  } else {
4821
- console.warn("搜索话题失败:", response);
4787
+ console.warn("\u641C\u7D22\u8BDD\u9898\u5931\u8D25:", response);
4822
4788
  this.topicPopover.searchHasMore = false;
4823
4789
  }
4824
4790
  } catch (error) {
4825
- console.error("搜索话题失败:", error);
4791
+ console.error("\u641C\u7D22\u8BDD\u9898\u5931\u8D25:", error);
4826
4792
  this.topicPopover.searchHasMore = false;
4827
4793
  } finally {
4828
4794
  this.topicPopover.loading = false;
4829
4795
  this.updateGlobalTopicPopover();
4830
4796
  }
4831
4797
  },
4832
- // 加载更多搜索话题
4833
4798
  async loadSearchTopics() {
4834
4799
  if (this.topicPopover.loading || !this.topicPopover.searchHasMore)
4835
4800
  return;
@@ -4857,11 +4822,11 @@ const _sfc_main$3 = {
4857
4822
  }
4858
4823
  }
4859
4824
  } else {
4860
- console.warn("加载更多搜索话题失败:", response);
4825
+ console.warn("\u52A0\u8F7D\u66F4\u591A\u641C\u7D22\u8BDD\u9898\u5931\u8D25:", response);
4861
4826
  this.topicPopover.searchHasMore = false;
4862
4827
  }
4863
4828
  } catch (error) {
4864
- console.error("加载更多搜索话题失败:", error);
4829
+ console.error("\u52A0\u8F7D\u66F4\u591A\u641C\u7D22\u8BDD\u9898\u5931\u8D25:", error);
4865
4830
  this.topicPopover.searchHasMore = false;
4866
4831
  } finally {
4867
4832
  this.topicPopover.loading = false;
@@ -4873,7 +4838,7 @@ const _sfc_main$3 = {
4873
4838
  const localTopics = JSON.parse(localStorage.getItem("localTopic") || "[]");
4874
4839
  this.topicPopover.recentTopics = localTopics;
4875
4840
  } catch (error) {
4876
- console.error("加载最近使用话题失败:", error);
4841
+ console.error("\u52A0\u8F7D\u6700\u8FD1\u4F7F\u7528\u8BDD\u9898\u5931\u8D25:", error);
4877
4842
  this.topicPopover.recentTopics = [];
4878
4843
  }
4879
4844
  },
@@ -4893,10 +4858,9 @@ const _sfc_main$3 = {
4893
4858
  }
4894
4859
  localStorage.setItem("localTopic", JSON.stringify(recentTopics));
4895
4860
  } catch (error) {
4896
- console.error("保存最近使用话题失败:", error);
4861
+ console.error("\u4FDD\u5B58\u6700\u8FD1\u4F7F\u7528\u8BDD\u9898\u5931\u8D25:", error);
4897
4862
  }
4898
4863
  },
4899
- // 创建全局话题弹框
4900
4864
  createGlobalTopicPopover() {
4901
4865
  this.removeGlobalTopicPopover();
4902
4866
  const mask = document.createElement("div");
@@ -4920,7 +4884,6 @@ const _sfc_main$3 = {
4920
4884
  this.topicPopover.globalContainer = container;
4921
4885
  this.bindTopicPopoverEvents();
4922
4886
  },
4923
- // 移除全局话题弹框
4924
4887
  removeGlobalTopicPopover() {
4925
4888
  if (this.topicPopover.globalMask) {
4926
4889
  document.body.removeChild(this.topicPopover.globalMask);
@@ -4931,14 +4894,12 @@ const _sfc_main$3 = {
4931
4894
  this.topicPopover.globalContainer = null;
4932
4895
  }
4933
4896
  },
4934
- // 更新全局话题弹框内容
4935
4897
  updateGlobalTopicPopover() {
4936
4898
  if (!this.topicPopover.globalContainer)
4937
4899
  return;
4938
4900
  this.topicPopover.globalContainer.innerHTML = this.createTopicPopoverContent();
4939
4901
  this.bindTopicPopoverEvents();
4940
4902
  },
4941
- // 增量添加热门话题到DOM,避免重绘
4942
4903
  appendHotTopicsToDOM() {
4943
4904
  if (!this.topicPopover.globalContainer || this.topicPopover.newHotTopicsCount === 0)
4944
4905
  return;
@@ -4962,7 +4923,6 @@ const _sfc_main$3 = {
4962
4923
  this.updateLoadingState(topicList, this.topicPopover.loading, this.topicPopover.hasMore);
4963
4924
  this.topicPopover.newHotTopicsCount = 0;
4964
4925
  },
4965
- // 增量添加搜索话题到DOM,避免重绘
4966
4926
  appendSearchTopicsToDOM() {
4967
4927
  if (!this.topicPopover.globalContainer || this.topicPopover.newSearchTopicsCount === 0)
4968
4928
  return;
@@ -4986,7 +4946,6 @@ const _sfc_main$3 = {
4986
4946
  this.updateLoadingState(topicList, this.topicPopover.loading, this.topicPopover.searchHasMore);
4987
4947
  this.topicPopover.newSearchTopicsCount = 0;
4988
4948
  },
4989
- // 更新加载状态显示
4990
4949
  updateLoadingState(topicList, loading, hasMore) {
4991
4950
  const existingLoading = topicList.querySelector(".topic-loading");
4992
4951
  const existingEmpty = topicList.querySelector(".topic-empty");
@@ -4997,16 +4956,15 @@ const _sfc_main$3 = {
4997
4956
  if (loading) {
4998
4957
  const loadingElement = document.createElement("div");
4999
4958
  loadingElement.className = "topic-loading";
5000
- loadingElement.textContent = "加载更多...";
4959
+ loadingElement.textContent = "\u52A0\u8F7D\u66F4\u591A...";
5001
4960
  topicList.appendChild(loadingElement);
5002
4961
  } else if (!hasMore) {
5003
4962
  const emptyElement = document.createElement("div");
5004
4963
  emptyElement.className = "topic-empty";
5005
- emptyElement.textContent = "没有更多了";
4964
+ emptyElement.textContent = "\u6CA1\u6709\u66F4\u591A\u4E86";
5006
4965
  topicList.appendChild(emptyElement);
5007
4966
  }
5008
4967
  },
5009
- // 创建话题弹框内容
5010
4968
  createTopicPopoverContent() {
5011
4969
  if (this.topicPopover.type === "hot") {
5012
4970
  return this.getHotTopicPopoverHTML();
@@ -5015,7 +4973,6 @@ const _sfc_main$3 = {
5015
4973
  }
5016
4974
  return "";
5017
4975
  },
5018
- // 获取热门话题弹框HTML
5019
4976
  getHotTopicPopoverHTML() {
5020
4977
  const activeTab = this.topicPopover.activeTab;
5021
4978
  const hotTopics = this.topicPopover.hotTopics;
@@ -5025,22 +4982,22 @@ const _sfc_main$3 = {
5025
4982
  let topicListHTML = "";
5026
4983
  if (activeTab === "hot") {
5027
4984
  if (loading && hotTopics.length === 0) {
5028
- topicListHTML = '<div class="topic-loading">加载中...</div>';
4985
+ topicListHTML = '<div class="topic-loading">\u52A0\u8F7D\u4E2D...</div>';
5029
4986
  } else if (hotTopics.length === 0) {
5030
- topicListHTML = '<div class="topic-empty">暂无热门话题</div>';
4987
+ topicListHTML = '<div class="topic-empty">\u6682\u65E0\u70ED\u95E8\u8BDD\u9898</div>';
5031
4988
  } else {
5032
4989
  topicListHTML = hotTopics.map(
5033
4990
  (topic) => `<div class="topic-item" data-topic-id="${topic.id}" data-topic-type="${topic.type}">#${topic.exactlyMatchTitle}</div>`
5034
4991
  ).join("");
5035
4992
  if (loading) {
5036
- topicListHTML += '<div class="topic-loading">加载更多...</div>';
4993
+ topicListHTML += '<div class="topic-loading">\u52A0\u8F7D\u66F4\u591A...</div>';
5037
4994
  } else if (!hasMore) {
5038
- topicListHTML += '<div class="topic-empty">没有更多了</div>';
4995
+ topicListHTML += '<div class="topic-empty">\u6CA1\u6709\u66F4\u591A\u4E86</div>';
5039
4996
  }
5040
4997
  }
5041
4998
  } else {
5042
4999
  if (recentTopics.length === 0) {
5043
- topicListHTML = '<div class="topic-empty">暂无最近使用记录</div>';
5000
+ topicListHTML = '<div class="topic-empty">\u6682\u65E0\u6700\u8FD1\u4F7F\u7528\u8BB0\u5F55</div>';
5044
5001
  } else {
5045
5002
  topicListHTML = recentTopics.map(
5046
5003
  (topic) => `<div class="topic-item" data-topic-id="${topic.id}" data-topic-type="${topic.type}">#${topic.exactlyMatchTitle}</div>`
@@ -5051,10 +5008,10 @@ const _sfc_main$3 = {
5051
5008
  <div class="topic-popover-content">
5052
5009
  <div class="topic-tabs">
5053
5010
  <div class="topic-tab ${activeTab === "hot" ? "active" : ""}" data-tab="hot">
5054
- 热门话题
5011
+ \u70ED\u95E8\u8BDD\u9898
5055
5012
  </div>
5056
5013
  <div class="topic-tab ${activeTab === "recent" ? "active" : ""}" data-tab="recent">
5057
- 最近使用
5014
+ \u6700\u8FD1\u4F7F\u7528
5058
5015
  </div>
5059
5016
  </div>
5060
5017
  <div class="topic-list-container">
@@ -5065,7 +5022,6 @@ const _sfc_main$3 = {
5065
5022
  </div>
5066
5023
  `;
5067
5024
  },
5068
- // 获取搜索话题弹框HTML
5069
5025
  getSearchTopicPopoverHTML() {
5070
5026
  const searchKeyword = this.topicPopover.searchKeyword;
5071
5027
  const searchTopics = this.topicPopover.searchTopics;
@@ -5073,17 +5029,17 @@ const _sfc_main$3 = {
5073
5029
  const searchHasMore = this.topicPopover.searchHasMore;
5074
5030
  let topicListHTML = "";
5075
5031
  if (loading && searchTopics.length === 0) {
5076
- topicListHTML = '<div class="topic-loading">搜索中...</div>';
5032
+ topicListHTML = '<div class="topic-loading">\u641C\u7D22\u4E2D...</div>';
5077
5033
  } else if (searchTopics.length === 0) {
5078
- topicListHTML = '<div class="topic-empty">没有匹配到话题,请重新输入</div>';
5034
+ topicListHTML = '<div class="topic-empty">\u6CA1\u6709\u5339\u914D\u5230\u8BDD\u9898\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165</div>';
5079
5035
  } else {
5080
5036
  topicListHTML = searchTopics.map(
5081
5037
  (topic) => `<div class="topic-item" data-topic-id="${topic.id}" data-topic-type="${topic.type}">#${topic.exactlyMatchTitle}</div>`
5082
5038
  ).join("");
5083
5039
  if (loading) {
5084
- topicListHTML += '<div class="topic-loading">加载更多...</div>';
5040
+ topicListHTML += '<div class="topic-loading">\u52A0\u8F7D\u66F4\u591A...</div>';
5085
5041
  } else if (!searchHasMore) {
5086
- topicListHTML += '<div class="topic-empty">没有更多了</div>';
5042
+ topicListHTML += '<div class="topic-empty">\u6CA1\u6709\u66F4\u591A\u4E86</div>';
5087
5043
  }
5088
5044
  }
5089
5045
  return `
@@ -5099,7 +5055,6 @@ const _sfc_main$3 = {
5099
5055
  </div>
5100
5056
  `;
5101
5057
  },
5102
- // 绑定话题弹框事件
5103
5058
  bindTopicPopoverEvents() {
5104
5059
  if (!this.topicPopover.globalContainer)
5105
5060
  return;
@@ -5131,7 +5086,6 @@ const _sfc_main$3 = {
5131
5086
  });
5132
5087
  }
5133
5088
  },
5134
- // 根据ID查找话题
5135
5089
  findTopicById(topicId) {
5136
5090
  let topic = this.topicPopover.hotTopics.find((t) => t.id === topicId);
5137
5091
  if (topic)
@@ -5250,15 +5204,13 @@ const _sfc_main$3 = {
5250
5204
  topicId: topic.id,
5251
5205
  topicType: topic.type || 0,
5252
5206
  startIndex: 0,
5253
- // 会在updateTopicPosition中更新
5254
5207
  endIndex: 0
5255
- // 会在updateTopicPosition中更新
5256
5208
  }));
5257
5209
  topicElement.textContent = topicText;
5258
5210
  topicElement.setAttribute("contenteditable", "false");
5259
5211
  range.deleteContents();
5260
5212
  range.insertNode(topicElement);
5261
- const spaceNode = document.createTextNode(" ");
5213
+ const spaceNode = document.createTextNode("\xA0");
5262
5214
  range.setStartAfter(topicElement);
5263
5215
  range.insertNode(spaceNode);
5264
5216
  const newRange = document.createRange();
@@ -5282,7 +5234,6 @@ const _sfc_main$3 = {
5282
5234
  }, 0);
5283
5235
  this.$emit("update-topic-position");
5284
5236
  },
5285
- // 销毁话题管理器
5286
5237
  destroy() {
5287
5238
  this.unbindEditorEvents();
5288
5239
  this.hideTopicPopover();
@@ -5351,12 +5302,14 @@ const _sfc_main$2 = {
5351
5302
  setStatus(val) {
5352
5303
  this.$emit("update:visible", val);
5353
5304
  }
5354
- // submit() {
5355
- // this.$emit('submit')
5356
- // }
5357
5305
  }
5358
5306
  };
5359
- const _hoisted_1$2 = { class: "collect-article_content" };
5307
+ const _hoisted_1$2 = /* @__PURE__ */ createElementVNode("div", null, [
5308
+ /* @__PURE__ */ createElementVNode("span", null, "\u91C7\u96C6\u6587\u7AE0"),
5309
+ /* @__PURE__ */ createElementVNode("span", { class: "collect-article_lable" }, "\u5982\u9700\u83B7\u5F97\u6B63\u5F0F\u4F7F\u7528\u6743\uFF0C\u8BF7\u81EA\u884C\u8054\u7CFB\u7248\u6743\u6240\u6709\u8005")
5310
+ ], -1);
5311
+ const _hoisted_2$2 = { class: "collect-article_content" };
5312
+ const _hoisted_3$2 = /* @__PURE__ */ createElementVNode("div", { class: "tip" }, "\u8BF7\u628A\u9700\u8981\u91C7\u96C6\u7684\u6587\u7AE0\u94FE\u63A5\u7C98\u8D34\u5728\u4E0B\u65B9\u7684\u8F93\u5165\u6846\uFF1A", -1);
5360
5313
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
5361
5314
  const _component_el_input = resolveComponent("el-input");
5362
5315
  const _component_BasicDialog = resolveComponent("BasicDialog");
@@ -5365,19 +5318,16 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
5365
5318
  width: "600px",
5366
5319
  height: "50px"
5367
5320
  }, {
5368
- title: withCtx(() => _cache[1] || (_cache[1] = [
5369
- createElementVNode("div", null, [
5370
- createElementVNode("span", null, "采集文章"),
5371
- createElementVNode("span", { class: "collect-article_lable" }, "如需获得正式使用权,请自行联系版权所有者")
5372
- ], -1)
5373
- ])),
5321
+ title: withCtx(() => [
5322
+ _hoisted_1$2
5323
+ ]),
5374
5324
  default: withCtx(() => [
5375
- createElementVNode("div", _hoisted_1$2, [
5376
- _cache[2] || (_cache[2] = createElementVNode("div", { class: "tip" }, "请把需要采集的文章链接粘贴在下方的输入框:", -1)),
5325
+ createElementVNode("div", _hoisted_2$2, [
5326
+ _hoisted_3$2,
5377
5327
  createVNode(_component_el_input, {
5378
5328
  modelValue: $options.input,
5379
5329
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $options.input = $event),
5380
- placeholder: "仅支持微信链接"
5330
+ placeholder: "\u4EC5\u652F\u6301\u5FAE\u4FE1\u94FE\u63A5"
5381
5331
  }, null, 8, ["modelValue"])
5382
5332
  ])
5383
5333
  ]),
@@ -5385,7 +5335,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
5385
5335
  }, 8, ["visible"]);
5386
5336
  }
5387
5337
  const CollectArticle = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
5388
- const index_vue_vue_type_style_index_0_scoped_4ebe06df_lang = "";
5338
+ const index_vue_vue_type_style_index_0_scoped_true_lang = "";
5389
5339
  const _sfc_main$1 = {
5390
5340
  components: {
5391
5341
  ElIconError: CircleCloseFilled
@@ -5430,8 +5380,8 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5430
5380
  createElementVNode("div", _hoisted_4, toDisplayString($props.article.title), 1),
5431
5381
  createElementVNode("div", _hoisted_5, [
5432
5382
  createElementVNode("span", null, toDisplayString($props.article.author), 1),
5433
- createElementVNode("span", null, toDisplayString($props.article.viewNum) + "浏览", 1),
5434
- createElementVNode("span", null, toDisplayString($props.article.replycnt) + "评论", 1)
5383
+ createElementVNode("span", null, toDisplayString($props.article.viewNum) + "\u6D4F\u89C8", 1),
5384
+ createElementVNode("span", null, toDisplayString($props.article.replycnt) + "\u8BC4\u8BBA", 1)
5435
5385
  ])
5436
5386
  ]),
5437
5387
  createVNode(_component_el_icon_error, {
@@ -5443,10 +5393,10 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
5443
5393
  class: normalizeClass([{
5444
5394
  "article-bg-height": $props.article.img || $props.article.mediaInfo && $props.article.mediaInfo.length
5445
5395
  }, "article-bg"])
5446
- }, " 平台仅支持展示18个月的推荐内容 ", 2)) : createCommentVNode("", true)
5396
+ }, " \u5E73\u53F0\u4EC5\u652F\u6301\u5C55\u793A18\u4E2A\u6708\u7684\u63A8\u8350\u5185\u5BB9 ", 2)) : createCommentVNode("", true)
5447
5397
  ]);
5448
5398
  }
5449
- const Item = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-4ebe06df"]]);
5399
+ const Item = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-1c406a11"]]);
5450
5400
  const mountArticleDom = (props, del) => {
5451
5401
  const className = "article-wrap";
5452
5402
  const article = props.article;
@@ -5506,7 +5456,6 @@ const _sfc_main = {
5506
5456
  hasArticleCard: false,
5507
5457
  cursorStyle: "auto",
5508
5458
  titleCount: 0,
5509
- // 标题数量
5510
5459
  viewLinkDialog: false,
5511
5460
  linkForm: {
5512
5461
  linkAddress: "",
@@ -5514,54 +5463,39 @@ const _sfc_main = {
5514
5463
  },
5515
5464
  setAlignFlag: true,
5516
5465
  article: {},
5517
- // 插入的文章
5518
5466
  imgList: [],
5519
5467
  imgNum: 20,
5520
5468
  videoList: [],
5521
5469
  visibleVideo: false,
5522
5470
  visibleCollectArticle: false,
5523
5471
  visibleArticle: false,
5524
- // 插入文章
5525
5472
  visibleImg: false,
5526
- // 插入图片
5527
5473
  imgType: "normal",
5528
- //
5529
5474
  typeEnum: {
5530
- 文字: "1",
5531
- 图片: "2",
5532
- 图文: "3",
5533
- 段落标题: "4",
5534
- 关联: "5",
5535
- // 关联车辆、轨迹、活动、商家、话题
5536
- 单视频: "6",
5537
- 视频文字: "7",
5475
+ \u6587\u5B57: "1",
5476
+ \u56FE\u7247: "2",
5477
+ \u56FE\u6587: "3",
5478
+ \u6BB5\u843D\u6807\u9898: "4",
5479
+ \u5173\u8054: "5",
5480
+ \u5355\u89C6\u9891: "6",
5481
+ \u89C6\u9891\u6587\u5B57: "7",
5538
5482
  URL: "8",
5539
- 文章卡片: "11"
5483
+ \u6587\u7AE0\u5361\u7247: "11"
5540
5484
  },
5541
5485
  fontInfo: {
5542
5486
  size: ""
5543
5487
  },
5544
5488
  user: {},
5545
- // 用户
5546
5489
  editor: {},
5547
- // 编辑器实例对象
5548
5490
  editorDom: {},
5549
- // 编辑器Dom
5550
5491
  uploadStore: {},
5551
- // 待上传的图片池
5552
5492
  linkContent: "",
5553
- // 插入链接的地址
5554
5493
  loadingText: "",
5555
- // loaing的提示文字
5556
5494
  progressPercent: "",
5557
- // 上传进度
5558
5495
  currentIndex: 0,
5559
5496
  loading: false,
5560
- // 是否提交中
5561
5497
  viewStatus: false,
5562
- // todo: 改名
5563
5498
  linkStatus: false,
5564
- // todo: 改名
5565
5499
  styleStatus: {
5566
5500
  bold: false,
5567
5501
  italic: false,
@@ -5585,7 +5519,6 @@ const _sfc_main = {
5585
5519
  targetMove: "",
5586
5520
  moverClasses: ["halo-img-content", "halo-video-content"],
5587
5521
  selectDom: null
5588
- //选中的dom
5589
5522
  };
5590
5523
  },
5591
5524
  computed: {
@@ -5602,12 +5535,12 @@ const _sfc_main = {
5602
5535
  watch: {
5603
5536
  progressPercent(val) {
5604
5537
  const inner = document.querySelector(".video-progress .inner");
5605
- console.log(val, "视频上传进度");
5538
+ console.log(val, "\u89C6\u9891\u4E0A\u4F20\u8FDB\u5EA6");
5606
5539
  if (inner) {
5607
5540
  inner.style.width = val + "%";
5608
5541
  if (val === 100) {
5609
5542
  document.querySelector(".video-progress").innerHTML = `
5610
- <div class="no-calc" style="text-align:center;color:#999999;font-size:18px;">正在获取视频封面</div>
5543
+ <div class="no-calc" style="text-align:center;color:#999999;font-size:18px;">\u6B63\u5728\u83B7\u53D6\u89C6\u9891\u5C01\u9762</div>
5611
5544
  `;
5612
5545
  }
5613
5546
  }
@@ -5636,7 +5569,7 @@ const _sfc_main = {
5636
5569
  me2.editorDom = document.getElementById("editor-content");
5637
5570
  me2.editorDom.addEventListener("blur", this.canSetAlign);
5638
5571
  if (!window.Squire) {
5639
- import("./squire-raw-1aaeff0b.js").then(function() {
5572
+ import("./squire-raw.85a430e7.js").then(function() {
5640
5573
  me2.initSquire();
5641
5574
  });
5642
5575
  } else {
@@ -5696,10 +5629,10 @@ const _sfc_main = {
5696
5629
  this.visibleVideo = false;
5697
5630
  const fileName = (files[0] && files[0].name || "").toLowerCase();
5698
5631
  if (files[0].size > 1 * 1024 * 1024 * 1024) {
5699
- return me2.setToast("视频大小不能超过1GB");
5632
+ return me2.setToast("\u89C6\u9891\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC71GB");
5700
5633
  }
5701
5634
  if (fileName.indexOf(".mp4") === -1 && fileName.indexOf(".mov") === -1) {
5702
- return me2.setToast("视频格式不是mp4或mov");
5635
+ return me2.setToast("\u89C6\u9891\u683C\u5F0F\u4E0D\u662Fmp4\u6216mov");
5703
5636
  }
5704
5637
  const me2 = this;
5705
5638
  if (me2.loading)
@@ -5719,9 +5652,7 @@ const _sfc_main = {
5719
5652
  id: result.videoId,
5720
5653
  desc: "",
5721
5654
  vodSize: result.vodSize || "",
5722
- // 视频大小
5723
5655
  vodType: result.vodType || ""
5724
- // 图片尺寸
5725
5656
  };
5726
5657
  me2.$emit("updateAddVideo", true);
5727
5658
  me2.editor["insertVideo"](result.videoUrl, video);
@@ -5775,11 +5706,11 @@ const _sfc_main = {
5775
5706
  },
5776
5707
  insertLink() {
5777
5708
  if (!this.linkForm.linkAddress)
5778
- return ElMessage.error("请输入链接地址");
5709
+ return ElMessage.error("\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740");
5779
5710
  if (!this.linkForm.linkWriting)
5780
- return ElMessage.error("请输入链接文案");
5711
+ return ElMessage.error("\u8BF7\u8F93\u5165\u94FE\u63A5\u6587\u6848");
5781
5712
  if (!this.validUrl(this.linkForm.linkAddress)) {
5782
- return this.setToast("URL无效");
5713
+ return this.setToast("URL\u65E0\u6548");
5783
5714
  }
5784
5715
  this.editor.insertLink(
5785
5716
  this.linkForm.linkAddress,
@@ -5808,7 +5739,6 @@ const _sfc_main = {
5808
5739
  });
5809
5740
  });
5810
5741
  },
5811
- // TopicManager事件处理
5812
5742
  onTopicInserted(topic) {
5813
5743
  this.updateData(true);
5814
5744
  },
@@ -6265,8 +6195,6 @@ const _sfc_main = {
6265
6195
  }
6266
6196
  }
6267
6197
  this.updateData(true);
6268
- } else {
6269
- this.setToast(rst.origin.name + "上传失败,请重试");
6270
6198
  }
6271
6199
  },
6272
6200
  insertVideoBtns(editor, node) {
@@ -6281,7 +6209,7 @@ const _sfc_main = {
6281
6209
  me2.currentVideo = node;
6282
6210
  e.stopPropagation();
6283
6211
  };
6284
- replaceBtn.innerText = "更换封面";
6212
+ replaceBtn.innerText = "\u66F4\u6362\u5C01\u9762";
6285
6213
  return replaceBtn;
6286
6214
  },
6287
6215
  insertImgOperateBtns(editor, data) {
@@ -6306,7 +6234,7 @@ const _sfc_main = {
6306
6234
  class: "desc-input",
6307
6235
  maxlength: "100",
6308
6236
  cols: "50",
6309
- placeholder: "请输入图片描述(最多100字)",
6237
+ placeholder: "\u8BF7\u8F93\u5165\u56FE\u7247\u63CF\u8FF0(\u6700\u591A100\u5B57)",
6310
6238
  contenteditable: "false"
6311
6239
  });
6312
6240
  descInput.disabled = me2.disabled;
@@ -6318,7 +6246,7 @@ const _sfc_main = {
6318
6246
  const img = parent.querySelector(".halo-picture-area");
6319
6247
  img.dataset.desc = e.target.value;
6320
6248
  if (e.target.value.length > 99) {
6321
- return me2.setToast("限制100个字符");
6249
+ return me2.setToast("\u9650\u5236100\u4E2A\u5B57\u7B26");
6322
6250
  }
6323
6251
  };
6324
6252
  descInput.value = data.content || "";
@@ -6368,7 +6296,7 @@ const _sfc_main = {
6368
6296
  me2.removeParentByClass(e.target, "halo-img-content");
6369
6297
  me2.updateData(true);
6370
6298
  };
6371
- replaceBtn.innerHTML = "替换";
6299
+ replaceBtn.innerHTML = "\u66FF\u6362";
6372
6300
  return [replaceBtn, delBtn, descInputWrap];
6373
6301
  },
6374
6302
  removeSeamlessLaster(e) {
@@ -6392,7 +6320,6 @@ const _sfc_main = {
6392
6320
  }
6393
6321
  }
6394
6322
  },
6395
- // 初始化编辑器数据,数据是 html 格式(displayData)
6396
6323
  initData(data = "", essayPicRelVOList) {
6397
6324
  this.parseHtml(data, essayPicRelVOList).then((res) => {
6398
6325
  this.editorDom.innerHTML = "";
@@ -6400,13 +6327,10 @@ const _sfc_main = {
6400
6327
  this.updateData();
6401
6328
  });
6402
6329
  },
6403
- // TODO jsonToHtml、htmlToJson 实现这 2 个方法里面的逻辑,数据结构参考方法里面的注释,出参入参都为字符串,注意:mdd-topic 里面的属性数据 和 json 中的topicPosition数据是一一对应的,startIndex、endIndex为mdd-topic的起止位置 从 content 里面进行分割处理
6404
- // json、html 数据格式互转,暂时只支持文字、短话题
6405
6330
  jsonToHtml(json) {
6406
6331
  },
6407
6332
  htmlToJson(html) {
6408
6333
  },
6409
- // 设置富文本组件
6410
6334
  initSquire() {
6411
6335
  const me2 = this;
6412
6336
  const editorDom = me2.editorDom;
@@ -6856,7 +6780,6 @@ const _sfc_main = {
6856
6780
  window.Squire.empty(block)
6857
6781
  ]);
6858
6782
  output.appendChild(
6859
- // 段落才能添加标题
6860
6783
  Array.from(block.classList).indexOf("halo-img-content") > -1 ? block : container
6861
6784
  );
6862
6785
  }
@@ -6879,20 +6802,21 @@ const _sfc_main = {
6879
6802
  });
6880
6803
  loading.innerHTML = `
6881
6804
  <img class="img-loading-icon" src="/img/upload-image-loading.png"/>
6882
- <span class="img-loading-tip">上传中...</span>
6805
+ <span class="img-loading-tip">\u4E0A\u4F20\u4E2D...</span>
6883
6806
  `;
6884
6807
  var fail = this.createElement("div", {
6885
6808
  class: "img-fail hide",
6886
6809
  contenteditable: "false"
6887
6810
  });
6888
- fail.innerHTML = "上传失败<br>请下载图片至本地后重新上传";
6811
+ fail.innerHTML = "\u4E0A\u4F20\u5931\u8D25<br>\u8BF7\u4E0B\u8F7D\u56FE\u7247\u81F3\u672C\u5730\u540E\u91CD\u65B0\u4E0A\u4F20";
6889
6812
  var again = this.createElement("button", {
6890
6813
  class: "img-again hide",
6891
6814
  contenteditable: "false"
6892
6815
  });
6893
- again.innerHTML = "重新上传";
6816
+ again.innerHTML = "\u91CD\u65B0\u4E0A\u4F20";
6894
6817
  const isGif = src && src.indexOf(".gif") > -1;
6895
- if (isGif) {
6818
+ const isGifNowater = src && src.indexOf(".gif!nowater") > -1;
6819
+ if (isGif && !isGifNowater) {
6896
6820
  src = src.replace(".gif", ".gif!nowater");
6897
6821
  }
6898
6822
  var img = this.createElement("img", {
@@ -6945,7 +6869,7 @@ const _sfc_main = {
6945
6869
  });
6946
6870
  div.innerHTML = `
6947
6871
  <div class="video-progress">
6948
- <div class="label">上传中...</div>
6872
+ <div class="label">\u4E0A\u4F20\u4E2D...</div>
6949
6873
  <div class="box">
6950
6874
  <div class="inner" style="width:20%"></div>
6951
6875
  </div>
@@ -6968,7 +6892,6 @@ const _sfc_main = {
6968
6892
  data: JSON.stringify(data),
6969
6893
  "data-content": data.content || "",
6970
6894
  poster: data.img || ""
6971
- // 'contenteditable': 'true',
6972
6895
  });
6973
6896
  var delBtn = me2.genIconDom({
6974
6897
  class: "pointer video-delete icon",
@@ -7026,7 +6949,6 @@ const _sfc_main = {
7026
6949
  }
7027
6950
  };
7028
6951
  },
7029
- // 撤销重做 会把 所有的监听全都移除,所以需要重新绑定
7030
6952
  setListener(dom) {
7031
6953
  const me2 = this;
7032
6954
  const doms = dom ? [dom] : Array.from(this.editorDom.children);
@@ -7037,7 +6959,7 @@ const _sfc_main = {
7037
6959
  p.onclick = function(e) {
7038
6960
  var _a;
7039
6961
  if (area.nodeName === "VIDEO" && ((_a = me2.selectDom) == null ? void 0 : _a.className) === "halo-video-content") {
7040
- me2.setToast("不支持播放");
6962
+ me2.setToast("\u4E0D\u652F\u6301\u64AD\u653E");
7041
6963
  }
7042
6964
  if (e.target.className.includes("desc-input")) {
7043
6965
  return;
@@ -7101,7 +7023,6 @@ const _sfc_main = {
7101
7023
  };
7102
7024
  return del;
7103
7025
  },
7104
- // 转换数据,返回给业务
7105
7026
  getEditorData() {
7106
7027
  const me2 = this;
7107
7028
  const children = Array.from(me2.editorDom.children);
@@ -7159,11 +7080,9 @@ const _sfc_main = {
7159
7080
  videoIds
7160
7081
  };
7161
7082
  },
7162
- // 是否是摩托范的图片
7163
7083
  isHaloImage(url = "") {
7164
- return url.indexOf("jddmoto") > -1 || url.indexOf("58moto") > -1 || url.indexOf("emotofine") > -1 || url.indexOf("dronefine") > -1;
7084
+ return url.indexOf("jddmoto") > -1 || url.indexOf("58moto") > -1 || url.indexOf("emotofine") > -1 || url.indexOf("dronefine") > -1 || url.indexOf("evtolfine") > -1 || url.indexOf("biaofine") > -1 || url.indexOf("robotbaodian") > -1;
7165
7085
  },
7166
- // 获取待上传图片列表
7167
7086
  updateUploads() {
7168
7087
  const me2 = this;
7169
7088
  setTimeout(() => {
@@ -7210,8 +7129,8 @@ const _sfc_main = {
7210
7129
  const currentImg = me2.uploadStore[key];
7211
7130
  const imageUrl = key.split("|")[1] || "";
7212
7131
  if (!currentImg) {
7213
- console.log("图片不存在", key);
7214
- return Promise.reject("图片不存在");
7132
+ console.log("\u56FE\u7247\u4E0D\u5B58\u5728", key);
7133
+ return Promise.reject("\u56FE\u7247\u4E0D\u5B58\u5728");
7215
7134
  }
7216
7135
  const parent = currentImg.parentNode || "";
7217
7136
  const uploadFailHandler = (currentImg2) => {
@@ -7255,7 +7174,6 @@ const _sfc_main = {
7255
7174
  parent && uploadFailHandler(currentImg);
7256
7175
  });
7257
7176
  },
7258
- // 更新上传的图片
7259
7177
  updateImage(img, currentImg = {}) {
7260
7178
  const data = JSON.parse(currentImg.getAttribute("data") || "{}");
7261
7179
  data.img = img;
@@ -7278,11 +7196,9 @@ const _sfc_main = {
7278
7196
  parent.appendChild(arr[2]);
7279
7197
  }
7280
7198
  },
7281
- // 获取ctrl + v 后内容
7282
7199
  getSticker(type, handler) {
7283
7200
  this.setSticker(type.fragment.children);
7284
7201
  },
7285
- // 粘贴表格内容,tr换行形成段落
7286
7202
  setStickerTableContent(data) {
7287
7203
  const me2 = this;
7288
7204
  const rows = data.querySelectorAll("tr") || [];
@@ -7311,7 +7227,6 @@ const _sfc_main = {
7311
7227
  });
7312
7228
  this.updateData(true);
7313
7229
  },
7314
- // 粘贴
7315
7230
  setSticker(data) {
7316
7231
  const me2 = this;
7317
7232
  data = Array.from(data);
@@ -7350,7 +7265,6 @@ const _sfc_main = {
7350
7265
  const me2 = this;
7351
7266
  me2.updateData();
7352
7267
  },
7353
- // 监测 添加、撤回、恢复、删除
7354
7268
  setBack(e, type) {
7355
7269
  const me2 = this;
7356
7270
  me2.refreshImg();
@@ -7383,7 +7297,6 @@ const _sfc_main = {
7383
7297
  }
7384
7298
  });
7385
7299
  },
7386
- // 设置scoll
7387
7300
  sticky() {
7388
7301
  const me2 = this;
7389
7302
  me2.$nextTick(function() {
@@ -7403,8 +7316,6 @@ const _sfc_main = {
7403
7316
  document.addEventListener("scroll", onScroll);
7404
7317
  });
7405
7318
  },
7406
- // ==========toolbox==========
7407
- // 撤回、恢复、段落标题
7408
7319
  setContent(e, obj) {
7409
7320
  const me2 = this;
7410
7321
  const id = e.target.id || e.target.dataset.editorId;
@@ -7446,11 +7357,10 @@ const _sfc_main = {
7446
7357
  this.fontInfo = this.editor.getFontInfo();
7447
7358
  this.updateData(true);
7448
7359
  },
7449
- // 增加link
7450
7360
  addLink(type) {
7451
7361
  const me2 = this;
7452
- me2.linkTitleName = type === "link" ? "添加链接" : "添加导入链接地址";
7453
- me2.linkPlaceholder = type === "link" ? "请输入链接地址" : "仅支持输入微信链接";
7362
+ me2.linkTitleName = type === "link" ? "\u6DFB\u52A0\u94FE\u63A5" : "\u6DFB\u52A0\u5BFC\u5165\u94FE\u63A5\u5730\u5740";
7363
+ me2.linkPlaceholder = type === "link" ? "\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740" : "\u4EC5\u652F\u6301\u8F93\u5165\u5FAE\u4FE1\u94FE\u63A5";
7454
7364
  me2.viewStatus = true;
7455
7365
  me2.linkStatus = true;
7456
7366
  },
@@ -7458,31 +7368,29 @@ const _sfc_main = {
7458
7368
  const objExp = /^(((ht|f)tp(s?)):\/\/)?(www.|[a-zA-Z].)[a-zA-Z0-9-.]+.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk|cn|im)(:[0-9]+)*(\/($|[a-zA-Z0-9.,;?'&%$#=~_-]+))*$/;
7459
7369
  return objExp.test(url);
7460
7370
  },
7461
- // 确认增加link
7462
7371
  confirmLink() {
7463
7372
  const me2 = this;
7464
7373
  if (!me2.linkContent) {
7465
- return ElMessage.error("请输入链接地址!");
7374
+ return ElMessage.error("\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740\uFF01");
7466
7375
  }
7467
- if (me2.linkTitleName === "添加导入链接地址" || this.visibleCollectArticle) {
7376
+ if (me2.linkTitleName === "\u6DFB\u52A0\u5BFC\u5165\u94FE\u63A5\u5730\u5740" || this.visibleCollectArticle) {
7468
7377
  this.visibleCollectArticle = false;
7469
7378
  return me2.importLinkData();
7470
7379
  }
7471
7380
  if (!this.validUrl(me2.linkContent)) {
7472
- return me2.setToast("URL无效");
7381
+ return me2.setToast("URL\u65E0\u6548");
7473
7382
  }
7474
7383
  if (!me2.isHaloImage(me2.linkContent)) {
7475
- return me2.setToast("请输入摩托范内部网址");
7384
+ return me2.setToast("\u8BF7\u8F93\u5165\u6469\u6258\u8303\u5185\u90E8\u7F51\u5740");
7476
7385
  }
7477
7386
  me2.editor["insertLink"](me2.linkContent);
7478
7387
  me2.linkContent = "";
7479
7388
  me2.closeDialog();
7480
7389
  },
7481
- // 增加link导入数据
7482
7390
  importLinkData() {
7483
7391
  const me2 = this;
7484
7392
  if (me2.loading) {
7485
- return ElMessage("正在获取信息,请稍后...");
7393
+ return ElMessage("\u6B63\u5728\u83B7\u53D6\u4FE1\u606F\uFF0C\u8BF7\u7A0D\u540E...");
7486
7394
  }
7487
7395
  me2.loading = true;
7488
7396
  const params = {
@@ -7504,44 +7412,39 @@ const _sfc_main = {
7504
7412
  me2.linkContent = "";
7505
7413
  return;
7506
7414
  } else {
7507
- me2.setToast("导入失败,请重试");
7415
+ me2.setToast("\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
7508
7416
  }
7509
7417
  }).catch((err) => {
7510
7418
  console.log(err.message);
7511
- me2.setToast("导入异常,请重试");
7419
+ me2.setToast("\u5BFC\u5165\u5F02\u5E38\uFF0C\u8BF7\u91CD\u8BD5");
7512
7420
  }).finally((_) => {
7513
7421
  me2.loading = false;
7514
7422
  });
7515
7423
  },
7516
- // 打开 图片、视频、一键导入 弹框
7517
7424
  openDialog(name) {
7518
7425
  const me2 = this;
7519
- me2.viewName = name === "img" ? "添加图片" : "添加视频";
7520
- me2.viewButton = name === "img" ? "选择图片" : "选择视频";
7521
- me2.viewTip = name === "img" ? "" : "为了获得更高的推荐和点击量,建议上传720p(1280*720),大小不超过500MB(视频上传需要时间,请耐心等待)";
7426
+ me2.viewName = name === "img" ? "\u6DFB\u52A0\u56FE\u7247" : "\u6DFB\u52A0\u89C6\u9891";
7427
+ me2.viewButton = name === "img" ? "\u9009\u62E9\u56FE\u7247" : "\u9009\u62E9\u89C6\u9891";
7428
+ me2.viewTip = name === "img" ? "" : "\u4E3A\u4E86\u83B7\u5F97\u66F4\u9AD8\u7684\u63A8\u8350\u548C\u70B9\u51FB\u91CF\uFF0C\u5EFA\u8BAE\u4E0A\u4F20720p(1280*720)\uFF0C\u5927\u5C0F\u4E0D\u8D85\u8FC7500MB(\u89C6\u9891\u4E0A\u4F20\u9700\u8981\u65F6\u95F4\uFF0C\u8BF7\u8010\u5FC3\u7B49\u5F85)";
7522
7429
  me2.viewStatus = true;
7523
7430
  },
7524
- // 关闭弹框
7525
7431
  closeDialog() {
7526
7432
  this.viewStatus = false;
7527
7433
  this.linkStatus = false;
7528
7434
  this.linkContent = "";
7529
7435
  },
7530
- // ==========toolbox end==========
7531
- // 弹框提示
7532
7436
  setToast(content) {
7533
7437
  ElMessage.error(content);
7534
7438
  },
7535
7439
  setMessageBoxNoCancel(content) {
7536
7440
  ElMessageBox.confirm(content, "", {
7537
- confirmButtonText: "确定",
7538
- cancelButtonText: "取消",
7441
+ confirmButtonText: "\u786E\u5B9A",
7442
+ cancelButtonText: "\u53D6\u6D88",
7539
7443
  type: "warning"
7540
7444
  }).then(() => {
7541
7445
  }).catch(() => {
7542
7446
  });
7543
7447
  },
7544
- // 检查是否会创建嵌套的halo-paragraph
7545
7448
  wouldCreateNestedParagraph(range) {
7546
7449
  let container = range.startContainer;
7547
7450
  while (container && container !== this.editorDom) {
@@ -7552,7 +7455,6 @@ const _sfc_main = {
7552
7455
  }
7553
7456
  return false;
7554
7457
  },
7555
- // 检查光标是否在两个连续的mdd-topic之间
7556
7458
  isBetweenTwoTopics(range) {
7557
7459
  const container = range.startContainer;
7558
7460
  const offset = range.startOffset;
@@ -7568,7 +7470,6 @@ const _sfc_main = {
7568
7470
  }
7569
7471
  return false;
7570
7472
  },
7571
- // 处理两个话题之间的回车或话题前面的回车
7572
7473
  handleEnterBetweenTopics(range) {
7573
7474
  var _a;
7574
7475
  const me2 = this;
@@ -7606,7 +7507,6 @@ const _sfc_main = {
7606
7507
  selection.addRange(newRange);
7607
7508
  me2.updateData(true);
7608
7509
  },
7609
- // 更精确地提取光标后的内容(专门用于话题分割)
7610
7510
  extractContentAfterCursorPrecise(range, paragraph) {
7611
7511
  const fragment = document.createDocumentFragment();
7612
7512
  const container = range.startContainer;
@@ -7632,7 +7532,6 @@ const _sfc_main = {
7632
7532
  }
7633
7533
  return fragment;
7634
7534
  },
7635
- // 处理包含话题的段落中的回车键
7636
7535
  handleEnterKeyInParagraphWithTopic(range) {
7637
7536
  var _a;
7638
7537
  const me2 = this;
@@ -7707,7 +7606,6 @@ const _sfc_main = {
7707
7606
  selection.addRange(newRange);
7708
7607
  me2.updateData(true);
7709
7608
  },
7710
- // 检查光标是否在第一个话题前面
7711
7609
  isCursorBeforeFirstTopic(range, paragraph) {
7712
7610
  const container = range.startContainer;
7713
7611
  const offset = range.startOffset;
@@ -7769,7 +7667,6 @@ const _sfc_main = {
7769
7667
  }
7770
7668
  return false;
7771
7669
  },
7772
- // 获取不包含mdd-topic内部文本的段落文本
7773
7670
  getParagraphTextExcludingTopics(paragraph, range) {
7774
7671
  let textContent = "";
7775
7672
  let cursorPosition = 0;
@@ -7800,12 +7697,10 @@ const _sfc_main = {
7800
7697
  }
7801
7698
  return { textContent, cursorPosition };
7802
7699
  },
7803
- // 检查光标是否在段落开头
7804
7700
  isCursorAtStartOfParagraph(range, paragraph) {
7805
7701
  const { cursorPosition } = this.getParagraphTextExcludingTopics(paragraph, range);
7806
7702
  return cursorPosition === 0;
7807
7703
  },
7808
- // 检查光标是否在段落末尾
7809
7704
  isCursorAtEndOfParagraph(range, paragraph) {
7810
7705
  const walker = document.createTreeWalker(
7811
7706
  paragraph,
@@ -7832,7 +7727,6 @@ const _sfc_main = {
7832
7727
  const { cursorPosition } = this.getParagraphTextExcludingTopics(paragraph, range);
7833
7728
  return cursorPosition >= totalLength;
7834
7729
  },
7835
- // 获取当前段落
7836
7730
  getCurrentParagraph(range) {
7837
7731
  let container = range.startContainer;
7838
7732
  while (container && container !== this.editorDom) {
@@ -7843,13 +7737,12 @@ const _sfc_main = {
7843
7737
  }
7844
7738
  return null;
7845
7739
  },
7846
- // 提取光标后的内容
7847
7740
  extractContentAfterCursor(range, paragraph) {
7848
7741
  const fragment = document.createDocumentFragment();
7849
7742
  const container = range.startContainer;
7850
7743
  const offset = range.startOffset;
7851
7744
  let topicSpaceNode = null;
7852
- if (container.nodeType === Node.TEXT_NODE && container.textContent === " " && container.previousSibling && container.previousSibling.tagName === "MDD-TOPIC") {
7745
+ if (container.nodeType === Node.TEXT_NODE && container.textContent === "\xA0" && container.previousSibling && container.previousSibling.tagName === "MDD-TOPIC") {
7853
7746
  topicSpaceNode = container;
7854
7747
  }
7855
7748
  const extractRange = document.createRange();
@@ -7904,8 +7797,7 @@ const _sfc_main = {
7904
7797
  try {
7905
7798
  extractRange.setStartBefore(startNode);
7906
7799
  let lastNode = paragraph.lastChild;
7907
- while (lastNode && lastNode.nodeType === Node.TEXT_NODE && lastNode.textContent === "" && // 只跳过完全空的文本节点
7908
- lastNode !== startNode) {
7800
+ while (lastNode && lastNode.nodeType === Node.TEXT_NODE && lastNode.textContent === "" && lastNode !== startNode) {
7909
7801
  lastNode = lastNode.previousSibling;
7910
7802
  }
7911
7803
  if (lastNode) {
@@ -7925,7 +7817,6 @@ const _sfc_main = {
7925
7817
  }
7926
7818
  return fragment;
7927
7819
  },
7928
- // 统一的光标设置方法 - 设置光标到元素后面
7929
7820
  setCursorAfterElement(element) {
7930
7821
  const newRange = document.createRange();
7931
7822
  newRange.setStartAfter(element);
@@ -7934,7 +7825,6 @@ const _sfc_main = {
7934
7825
  selection.removeAllRanges();
7935
7826
  selection.addRange(newRange);
7936
7827
  },
7937
- // 统一的光标设置方法 - 设置光标到元素前面
7938
7828
  setCursorBeforeElement(element) {
7939
7829
  const newRange = document.createRange();
7940
7830
  newRange.setStartBefore(element);
@@ -7969,7 +7859,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
7969
7859
  withDirectives(createElementVNode("div", {
7970
7860
  style: normalizeStyle({ textAlign: $options.align }),
7971
7861
  class: "placeholder"
7972
- }, toDisplayString($props.placeholder || "请输入正文"), 5), [
7862
+ }, toDisplayString($props.placeholder || "\u8BF7\u8F93\u5165\u6B63\u6587"), 5), [
7973
7863
  [vShow, !$options.isInputing && !$data.titleCount && !$data.hasArticleCard]
7974
7864
  ]),
7975
7865
  $data.overLine ? (openBlock(), createElementBlock("div", {
@@ -7994,26 +7884,26 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
7994
7884
  createVNode(_component_el_form, { model: $data.linkForm }, {
7995
7885
  default: withCtx(() => [
7996
7886
  createVNode(_component_el_form_item, {
7997
- label: "添加链接",
7887
+ label: "\u6DFB\u52A0\u94FE\u63A5",
7998
7888
  class: "link-title"
7999
7889
  }, {
8000
7890
  default: withCtx(() => [
8001
7891
  createVNode(_component_el_input, {
8002
7892
  modelValue: $data.linkForm.linkAddress,
8003
7893
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $data.linkForm.linkAddress = $event),
8004
- placeholder: "请输入链接地址"
7894
+ placeholder: "\u8BF7\u8F93\u5165\u94FE\u63A5\u5730\u5740"
8005
7895
  }, null, 8, ["modelValue"])
8006
7896
  ]),
8007
7897
  _: 1
8008
7898
  }),
8009
- createVNode(_component_el_form_item, { label: "链接文案" }, {
7899
+ createVNode(_component_el_form_item, { label: "\u94FE\u63A5\u6587\u6848" }, {
8010
7900
  default: withCtx(() => [
8011
7901
  createVNode(_component_el_input, {
8012
7902
  modelValue: $data.linkForm.linkWriting,
8013
7903
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.linkForm.linkWriting = $event),
8014
7904
  type: "textarea",
8015
7905
  autosize: "",
8016
- placeholder: "请输入链接文案"
7906
+ placeholder: "\u8BF7\u8F93\u5165\u94FE\u63A5\u6587\u6848"
8017
7907
  }, null, 8, ["modelValue"])
8018
7908
  ]),
8019
7909
  _: 1
@@ -8026,18 +7916,18 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
8026
7916
  createVNode(_component_el_button, {
8027
7917
  onClick: _cache[3] || (_cache[3] = ($event) => $data.viewLinkDialog = false)
8028
7918
  }, {
8029
- default: withCtx(() => _cache[14] || (_cache[14] = [
8030
- createTextVNode(" ")
8031
- ])),
7919
+ default: withCtx(() => [
7920
+ createTextVNode("\u53D6 \u6D88")
7921
+ ]),
8032
7922
  _: 1
8033
7923
  }),
8034
7924
  createVNode(_component_el_button, {
8035
7925
  type: "primary",
8036
7926
  onClick: $options.insertLink
8037
7927
  }, {
8038
- default: withCtx(() => _cache[15] || (_cache[15] = [
8039
- createTextVNode(" ")
8040
- ])),
7928
+ default: withCtx(() => [
7929
+ createTextVNode("\u786E \u5B9A")
7930
+ ]),
8041
7931
  _: 1
8042
7932
  }, 8, ["onClick"])
8043
7933
  ])