@atooyu/uxto-ui 1.1.26 → 1.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,6 +1,9 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
1
4
  import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, createCommentVNode, renderSlot, ref, createTextVNode, withModifiers, Fragment, renderList, resolveComponent, createBlock, createVNode, useSlots, watch, withCtx, provide, inject, onUnmounted, onMounted, withDirectives, vShow, nextTick } from "vue";
2
- const _hoisted_1$H = ["disabled", "hover-class"];
3
- const _hoisted_2$w = {
5
+ const _hoisted_1$I = ["disabled", "hover-class"];
6
+ const _hoisted_2$x = {
4
7
  key: 0,
5
8
  class: "u-button__loading"
6
9
  };
@@ -72,7 +75,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
72
75
  "hover-class": __props.disabled || __props.loading ? "" : "u-button--active",
73
76
  onClick: handleClick
74
77
  }, [
75
- __props.loading ? (openBlock(), createElementBlock("view", _hoisted_2$w, [..._cache[0] || (_cache[0] = [
78
+ __props.loading ? (openBlock(), createElementBlock("view", _hoisted_2$x, [..._cache[0] || (_cache[0] = [
76
79
  createElementVNode("view", { class: "u-button__loading-icon" }, null, -1)
77
80
  ])])) : (openBlock(), createElementBlock("view", _hoisted_3$q, [
78
81
  __props.icon ? (openBlock(), createElementBlock("text", _hoisted_4$h, toDisplayString(__props.icon), 1)) : createCommentVNode("", true),
@@ -80,7 +83,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
80
83
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
81
84
  ])
82
85
  ]))
83
- ], 14, _hoisted_1$H);
86
+ ], 14, _hoisted_1$I);
84
87
  };
85
88
  }
86
89
  });
@@ -92,11 +95,11 @@ const _export_sfc = (sfc, props) => {
92
95
  return target;
93
96
  };
94
97
  const uButton = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-a51cb0bf"]]);
95
- const _hoisted_1$G = {
98
+ const _hoisted_1$H = {
96
99
  key: 0,
97
100
  class: "u-input__prefix"
98
101
  };
99
- const _hoisted_2$v = { class: "u-input__icon" };
102
+ const _hoisted_2$w = { class: "u-input__icon" };
100
103
  const _hoisted_3$p = { class: "u-input__body" };
101
104
  const _hoisted_4$g = ["type", "value", "placeholder", "placeholder-style", "disabled", "maxlength", "focus", "confirm-type", "adjust-position"];
102
105
  const _hoisted_5$c = {
@@ -161,9 +164,9 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
161
164
  "u-input--focus": isFocus.value
162
165
  }])
163
166
  }, [
164
- _ctx.$slots.prefix || __props.prefixIcon ? (openBlock(), createElementBlock("view", _hoisted_1$G, [
167
+ _ctx.$slots.prefix || __props.prefixIcon ? (openBlock(), createElementBlock("view", _hoisted_1$H, [
165
168
  renderSlot(_ctx.$slots, "prefix", {}, () => [
166
- createElementVNode("text", _hoisted_2$v, toDisplayString(__props.prefixIcon), 1)
169
+ createElementVNode("text", _hoisted_2$w, toDisplayString(__props.prefixIcon), 1)
167
170
  ], true)
168
171
  ])) : createCommentVNode("", true),
169
172
  createElementVNode("view", _hoisted_3$p, [
@@ -202,8 +205,8 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
202
205
  }
203
206
  });
204
207
  const uInput = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-2f635824"]]);
205
- const _hoisted_1$F = ["hover-class"];
206
- const _hoisted_2$u = {
208
+ const _hoisted_1$G = ["hover-class"];
209
+ const _hoisted_2$v = {
207
210
  key: 0,
208
211
  class: "u-cell__icon"
209
212
  };
@@ -266,7 +269,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
266
269
  "hover-class": isClickable.value && !__props.disabled ? "u-cell--active" : "",
267
270
  onClick: handleClick
268
271
  }, [
269
- _ctx.$slots.icon || __props.icon ? (openBlock(), createElementBlock("view", _hoisted_2$u, [
272
+ _ctx.$slots.icon || __props.icon ? (openBlock(), createElementBlock("view", _hoisted_2$v, [
270
273
  renderSlot(_ctx.$slots, "icon", {}, () => [
271
274
  __props.icon ? (openBlock(), createElementBlock("image", {
272
275
  key: 0,
@@ -291,13 +294,13 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
291
294
  createElementVNode("text", { class: "u-cell__arrow-icon" }, "›", -1)
292
295
  ])])) : createCommentVNode("", true),
293
296
  renderSlot(_ctx.$slots, "right-icon", {}, void 0, true)
294
- ], 10, _hoisted_1$F);
297
+ ], 10, _hoisted_1$G);
295
298
  };
296
299
  }
297
300
  });
298
301
  const uCell = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-c3a35a65"]]);
299
- const _hoisted_1$E = { class: "u-cell-group" };
300
- const _hoisted_2$t = {
302
+ const _hoisted_1$F = { class: "u-cell-group" };
303
+ const _hoisted_2$u = {
301
304
  key: 0,
302
305
  class: "u-cell-group__title"
303
306
  };
@@ -316,8 +319,8 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
316
319
  },
317
320
  setup(__props) {
318
321
  return (_ctx, _cache) => {
319
- return openBlock(), createElementBlock("view", _hoisted_1$E, [
320
- __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("view", _hoisted_2$t, [
322
+ return openBlock(), createElementBlock("view", _hoisted_1$F, [
323
+ __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("view", _hoisted_2$u, [
321
324
  renderSlot(_ctx.$slots, "title", {}, () => [
322
325
  createTextVNode(toDisplayString(__props.title), 1)
323
326
  ], true)
@@ -330,11 +333,11 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
330
333
  }
331
334
  });
332
335
  const uCellGroup = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-f529bc69"]]);
333
- const _hoisted_1$D = {
336
+ const _hoisted_1$E = {
334
337
  key: 0,
335
338
  class: "u-modal__header"
336
339
  };
337
- const _hoisted_2$s = { class: "u-modal__title" };
340
+ const _hoisted_2$t = { class: "u-modal__title" };
338
341
  const _hoisted_3$m = { class: "u-modal__body" };
339
342
  const _hoisted_4$e = { class: "u-modal__message" };
340
343
  const _hoisted_5$a = { class: "u-modal__footer" };
@@ -384,8 +387,8 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
384
387
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
385
388
  }, ["stop"]))
386
389
  }, [
387
- __props.title ? (openBlock(), createElementBlock("view", _hoisted_1$D, [
388
- createElementVNode("text", _hoisted_2$s, toDisplayString(__props.title), 1)
390
+ __props.title ? (openBlock(), createElementBlock("view", _hoisted_1$E, [
391
+ createElementVNode("text", _hoisted_2$t, toDisplayString(__props.title), 1)
389
392
  ])) : createCommentVNode("", true),
390
393
  createElementVNode("view", _hoisted_3$m, [
391
394
  renderSlot(_ctx.$slots, "default", {}, () => [
@@ -626,8 +629,8 @@ function getIconNames() {
626
629
  function addIcon(name, svg) {
627
630
  icons[name] = svg;
628
631
  }
629
- const _hoisted_1$C = ["src"];
630
- const _hoisted_2$r = {
632
+ const _hoisted_1$D = ["src"];
633
+ const _hoisted_2$s = {
631
634
  key: 1,
632
635
  class: "u-icon__inner"
633
636
  };
@@ -717,7 +720,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
717
720
  src: iconSrc.value,
718
721
  style: normalizeStyle(svgStyle.value),
719
722
  mode: "aspectFit"
720
- }, null, 12, _hoisted_1$C)) : (openBlock(), createElementBlock("text", _hoisted_2$r, toDisplayString(__props.name), 1))
723
+ }, null, 12, _hoisted_1$D)) : (openBlock(), createElementBlock("text", _hoisted_2$s, toDisplayString(__props.name), 1))
721
724
  ], 6);
722
725
  };
723
726
  }
@@ -769,7 +772,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
769
772
  }
770
773
  });
771
774
  const uLoading = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-ce769006"]]);
772
- const _hoisted_1$B = { class: "u-tag__text" };
775
+ const _hoisted_1$C = { class: "u-tag__text" };
773
776
  const __default__$G = {
774
777
  options: {
775
778
  virtualHost: true,
@@ -809,7 +812,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
809
812
  class: normalizeClass(["u-tag", [`u-tag--${__props.type}`, `u-tag--${__props.size}`, { "u-tag--plain": __props.plain, "u-tag--round": __props.round }]]),
810
813
  style: normalizeStyle(tagStyle.value)
811
814
  }, [
812
- createElementVNode("text", _hoisted_1$B, [
815
+ createElementVNode("text", _hoisted_1$C, [
813
816
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
814
817
  ]),
815
818
  __props.closable ? (openBlock(), createElementBlock("view", {
@@ -890,8 +893,8 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
890
893
  }
891
894
  });
892
895
  const uSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-8922fa66"]]);
893
- const _hoisted_1$A = ["src", "mode", "lazy-load", "fade"];
894
- const _hoisted_2$q = {
896
+ const _hoisted_1$B = ["src", "mode", "lazy-load", "fade"];
897
+ const _hoisted_2$r = {
895
898
  key: 0,
896
899
  class: "u-image__loading"
897
900
  };
@@ -944,8 +947,8 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
944
947
  fade: __props.fade,
945
948
  onLoad: handleLoad,
946
949
  onError: handleError
947
- }, null, 40, _hoisted_1$A),
948
- __props.loading && !loaded.value ? (openBlock(), createElementBlock("view", _hoisted_2$q, [
950
+ }, null, 40, _hoisted_1$B),
951
+ __props.loading && !loaded.value ? (openBlock(), createElementBlock("view", _hoisted_2$r, [
949
952
  renderSlot(_ctx.$slots, "loading", {}, () => [
950
953
  createVNode(_component_u_loading, { size: 20 })
951
954
  ], true)
@@ -960,7 +963,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
960
963
  }
961
964
  });
962
965
  const uImage = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-55a4498e"]]);
963
- const _hoisted_1$z = {
966
+ const _hoisted_1$A = {
964
967
  key: 0,
965
968
  class: "u-divider__text"
966
969
  };
@@ -983,7 +986,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
983
986
  return openBlock(), createElementBlock("view", {
984
987
  class: normalizeClass(["u-divider", { "u-divider--hairline": __props.hairline, "u-divider--dashed": __props.dashed }])
985
988
  }, [
986
- _ctx.$slots.default || __props.content ? (openBlock(), createElementBlock("view", _hoisted_1$z, [
989
+ _ctx.$slots.default || __props.content ? (openBlock(), createElementBlock("view", _hoisted_1$A, [
987
990
  renderSlot(_ctx.$slots, "default", {}, () => [
988
991
  createTextVNode(toDisplayString(__props.content), 1)
989
992
  ], true)
@@ -993,11 +996,11 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
993
996
  }
994
997
  });
995
998
  const uDivider = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-7f88d163"]]);
996
- const _hoisted_1$y = {
999
+ const _hoisted_1$z = {
997
1000
  key: 0,
998
1001
  class: "u-notice-bar__left-icon"
999
1002
  };
1000
- const _hoisted_2$p = { class: "u-notice-bar__text-item" };
1003
+ const _hoisted_2$q = { class: "u-notice-bar__text-item" };
1001
1004
  const _hoisted_3$k = { class: "u-notice-bar__text-item" };
1002
1005
  const _hoisted_4$d = {
1003
1006
  key: 1,
@@ -1033,7 +1036,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1033
1036
  class: normalizeClass(["u-notice-bar", { "u-notice-bar--wrapable": __props.wrapable }]),
1034
1037
  style: normalizeStyle({ color: __props.color, background: __props.background })
1035
1038
  }, [
1036
- _ctx.$slots.leftIcon || __props.leftIcon ? (openBlock(), createElementBlock("view", _hoisted_1$y, [
1039
+ _ctx.$slots.leftIcon || __props.leftIcon ? (openBlock(), createElementBlock("view", _hoisted_1$z, [
1037
1040
  renderSlot(_ctx.$slots, "leftIcon", {}, () => [
1038
1041
  createElementVNode("text", null, toDisplayString(__props.leftIcon), 1)
1039
1042
  ], true)
@@ -1046,7 +1049,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1046
1049
  class: "u-notice-bar__text",
1047
1050
  style: normalizeStyle({ animationDuration: __props.speed + "s" })
1048
1051
  }, [
1049
- createElementVNode("text", _hoisted_2$p, toDisplayString(__props.text), 1),
1052
+ createElementVNode("text", _hoisted_2$q, toDisplayString(__props.text), 1),
1050
1053
  createElementVNode("text", _hoisted_3$k, toDisplayString(__props.text), 1)
1051
1054
  ], 4)) : (openBlock(), createElementBlock("text", _hoisted_4$d, toDisplayString(__props.text), 1))
1052
1055
  ], 2),
@@ -1064,11 +1067,11 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1064
1067
  }
1065
1068
  });
1066
1069
  const uNoticeBar = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-f80a744d"]]);
1067
- const _hoisted_1$x = {
1070
+ const _hoisted_1$y = {
1068
1071
  key: 0,
1069
1072
  class: "u-layout__header"
1070
1073
  };
1071
- const _hoisted_2$o = { class: "u-layout__content" };
1074
+ const _hoisted_2$p = { class: "u-layout__content" };
1072
1075
  const _hoisted_3$j = {
1073
1076
  key: 1,
1074
1077
  class: "u-layout__footer"
@@ -1089,10 +1092,10 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1089
1092
  return openBlock(), createElementBlock("view", {
1090
1093
  class: normalizeClass(["u-layout", { "u-layout--has-footer": hasFooter.value }])
1091
1094
  }, [
1092
- _ctx.$slots.header ? (openBlock(), createElementBlock("view", _hoisted_1$x, [
1095
+ _ctx.$slots.header ? (openBlock(), createElementBlock("view", _hoisted_1$y, [
1093
1096
  renderSlot(_ctx.$slots, "header", {}, void 0, true)
1094
1097
  ])) : createCommentVNode("", true),
1095
- createElementVNode("view", _hoisted_2$o, [
1098
+ createElementVNode("view", _hoisted_2$p, [
1096
1099
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
1097
1100
  ]),
1098
1101
  _ctx.$slots.footer ? (openBlock(), createElementBlock("view", _hoisted_3$j, [
@@ -1103,7 +1106,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1103
1106
  }
1104
1107
  });
1105
1108
  const uLayout = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-1682e77a"]]);
1106
- const _hoisted_1$w = {
1109
+ const _hoisted_1$x = {
1107
1110
  key: 0,
1108
1111
  class: "u-badge__text"
1109
1112
  };
@@ -1159,18 +1162,18 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1159
1162
  class: normalizeClass(["u-badge__content", [`u-badge__content--${__props.type}`, { "u-badge__content--dot": __props.dot, "u-badge__content--alone": !_ctx.$slots.default }]]),
1160
1163
  style: normalizeStyle(badgeStyle.value)
1161
1164
  }, [
1162
- !__props.dot && displayValue.value ? (openBlock(), createElementBlock("text", _hoisted_1$w, toDisplayString(displayValue.value), 1)) : createCommentVNode("", true)
1165
+ !__props.dot && displayValue.value ? (openBlock(), createElementBlock("text", _hoisted_1$x, toDisplayString(displayValue.value), 1)) : createCommentVNode("", true)
1163
1166
  ], 6)) : createCommentVNode("", true)
1164
1167
  ], 2);
1165
1168
  };
1166
1169
  }
1167
1170
  });
1168
1171
  const uBadge = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-56dd42ed"]]);
1169
- const _hoisted_1$v = {
1172
+ const _hoisted_1$w = {
1170
1173
  key: 0,
1171
1174
  class: "u-loading-page"
1172
1175
  };
1173
- const _hoisted_2$n = { class: "u-loading-page__content" };
1176
+ const _hoisted_2$o = { class: "u-loading-page__content" };
1174
1177
  const __default__$z = {
1175
1178
  options: {
1176
1179
  virtualHost: true,
@@ -1189,8 +1192,8 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1189
1192
  },
1190
1193
  setup(__props) {
1191
1194
  return (_ctx, _cache) => {
1192
- return __props.visible ? (openBlock(), createElementBlock("view", _hoisted_1$v, [
1193
- createElementVNode("view", _hoisted_2$n, [
1195
+ return __props.visible ? (openBlock(), createElementBlock("view", _hoisted_1$w, [
1196
+ createElementVNode("view", _hoisted_2$o, [
1194
1197
  createElementVNode("view", {
1195
1198
  class: "u-loading-page__spinner",
1196
1199
  style: normalizeStyle({ width: __props.size + "px", height: __props.size + "px" })
@@ -1217,7 +1220,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1217
1220
  }
1218
1221
  });
1219
1222
  const uLoadingPage = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-ddf92cf6"]]);
1220
- const _hoisted_1$u = { class: "u-parse" };
1223
+ const _hoisted_1$v = { class: "u-parse" };
1221
1224
  const __default__$y = {
1222
1225
  options: {
1223
1226
  virtualHost: true,
@@ -1323,7 +1326,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1323
1326
  };
1324
1327
  return (_ctx, _cache) => {
1325
1328
  const _component_rich_text = resolveComponent("rich-text");
1326
- return openBlock(), createElementBlock("view", _hoisted_1$u, [
1329
+ return openBlock(), createElementBlock("view", _hoisted_1$v, [
1327
1330
  createVNode(_component_rich_text, {
1328
1331
  nodes: parsedNodes.value,
1329
1332
  selectable: __props.selectable,
@@ -1335,8 +1338,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
1335
1338
  }
1336
1339
  });
1337
1340
  const uParse = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-5361245b"]]);
1338
- const _hoisted_1$t = { class: "u-keyboard__header" };
1339
- const _hoisted_2$m = { class: "u-keyboard__title" };
1341
+ const _hoisted_1$u = { class: "u-keyboard__header" };
1342
+ const _hoisted_2$n = { class: "u-keyboard__title" };
1340
1343
  const _hoisted_3$i = ["onClick"];
1341
1344
  const __default__$x = {
1342
1345
  options: {
@@ -1467,8 +1470,8 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1467
1470
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
1468
1471
  }, ["stop"]))
1469
1472
  }, [
1470
- createElementVNode("view", _hoisted_1$t, [
1471
- createElementVNode("text", _hoisted_2$m, toDisplayString(__props.title), 1),
1473
+ createElementVNode("view", _hoisted_1$u, [
1474
+ createElementVNode("text", _hoisted_2$n, toDisplayString(__props.title), 1),
1472
1475
  createElementVNode("text", {
1473
1476
  class: "u-keyboard__close",
1474
1477
  onClick: handleClose
@@ -1496,8 +1499,8 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
1496
1499
  }
1497
1500
  });
1498
1501
  const uKeyboard = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-b318be29"]]);
1499
- const _hoisted_1$s = { class: "u-picker__toolbar" };
1500
- const _hoisted_2$l = { class: "u-picker__title" };
1502
+ const _hoisted_1$t = { class: "u-picker__toolbar" };
1503
+ const _hoisted_2$m = { class: "u-picker__title" };
1501
1504
  const _hoisted_3$h = {
1502
1505
  key: 0,
1503
1506
  class: "u-picker__loading"
@@ -1594,12 +1597,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1594
1597
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
1595
1598
  }, ["stop"]))
1596
1599
  }, [
1597
- createElementVNode("view", _hoisted_1$s, [
1600
+ createElementVNode("view", _hoisted_1$t, [
1598
1601
  createElementVNode("text", {
1599
1602
  class: "u-picker__action",
1600
1603
  onClick: handleCancel
1601
1604
  }, "取消"),
1602
- createElementVNode("text", _hoisted_2$l, toDisplayString(__props.title), 1),
1605
+ createElementVNode("text", _hoisted_2$m, toDisplayString(__props.title), 1),
1603
1606
  createElementVNode("text", {
1604
1607
  class: "u-picker__action u-picker__action--confirm",
1605
1608
  onClick: handleConfirm
@@ -1639,8 +1642,8 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
1639
1642
  }
1640
1643
  });
1641
1644
  const uPicker = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-54bd44d7"]]);
1642
- const _hoisted_1$r = { class: "u-datetime-picker__toolbar" };
1643
- const _hoisted_2$k = { class: "u-datetime-picker__title" };
1645
+ const _hoisted_1$s = { class: "u-datetime-picker__toolbar" };
1646
+ const _hoisted_2$l = { class: "u-datetime-picker__title" };
1644
1647
  const __default__$v = {
1645
1648
  options: {
1646
1649
  virtualHost: true,
@@ -1868,12 +1871,12 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1868
1871
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
1869
1872
  }, ["stop"]))
1870
1873
  }, [
1871
- createElementVNode("view", _hoisted_1$r, [
1874
+ createElementVNode("view", _hoisted_1$s, [
1872
1875
  createElementVNode("text", {
1873
1876
  class: "u-datetime-picker__action",
1874
1877
  onClick: handleCancel
1875
1878
  }, "取消"),
1876
- createElementVNode("text", _hoisted_2$k, toDisplayString(__props.title), 1),
1879
+ createElementVNode("text", _hoisted_2$l, toDisplayString(__props.title), 1),
1877
1880
  createElementVNode("text", {
1878
1881
  class: "u-datetime-picker__action u-datetime-picker__action--confirm",
1879
1882
  onClick: handleConfirm
@@ -1910,7 +1913,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
1910
1913
  }
1911
1914
  });
1912
1915
  const uDatetimePicker = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-45acbf1d"]]);
1913
- const _hoisted_1$q = ["onClick"];
1916
+ const _hoisted_1$r = ["onClick"];
1914
1917
  const __default__$u = {
1915
1918
  options: {
1916
1919
  virtualHost: true,
@@ -2016,14 +2019,14 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
2016
2019
  style: normalizeStyle(activeStyle.value)
2017
2020
  }, "★", 4)
2018
2021
  ], 4)
2019
- ], 12, _hoisted_1$q);
2022
+ ], 12, _hoisted_1$r);
2020
2023
  }), 128))
2021
2024
  ], 2);
2022
2025
  };
2023
2026
  }
2024
2027
  });
2025
2028
  const uRate = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-62d85215"]]);
2026
- const _hoisted_1$p = { class: "u-grid" };
2029
+ const _hoisted_1$q = { class: "u-grid" };
2027
2030
  const __default__$t = {
2028
2031
  options: {
2029
2032
  virtualHost: true,
@@ -2060,18 +2063,18 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
2060
2063
  onItemClick
2061
2064
  });
2062
2065
  return (_ctx, _cache) => {
2063
- return openBlock(), createElementBlock("view", _hoisted_1$p, [
2066
+ return openBlock(), createElementBlock("view", _hoisted_1$q, [
2064
2067
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
2065
2068
  ]);
2066
2069
  };
2067
2070
  }
2068
2071
  });
2069
2072
  const uGrid = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-d005bea6"]]);
2070
- const _hoisted_1$o = {
2073
+ const _hoisted_1$p = {
2071
2074
  key: 0,
2072
2075
  class: "u-grid-item__icon"
2073
2076
  };
2074
- const _hoisted_2$j = ["src"];
2077
+ const _hoisted_2$k = ["src"];
2075
2078
  const _hoisted_3$g = {
2076
2079
  key: 1,
2077
2080
  class: "u-grid-item__icon-text"
@@ -2140,14 +2143,14 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
2140
2143
  style: normalizeStyle(itemStyle.value),
2141
2144
  onClick: handleClick
2142
2145
  }, [
2143
- _ctx.$slots.icon || __props.icon || __props.iconUrl ? (openBlock(), createElementBlock("view", _hoisted_1$o, [
2146
+ _ctx.$slots.icon || __props.icon || __props.iconUrl ? (openBlock(), createElementBlock("view", _hoisted_1$p, [
2144
2147
  renderSlot(_ctx.$slots, "icon", {}, () => [
2145
2148
  __props.iconUrl ? (openBlock(), createElementBlock("image", {
2146
2149
  key: 0,
2147
2150
  class: "u-grid-item__icon-image",
2148
2151
  src: __props.iconUrl,
2149
2152
  mode: "aspectFit"
2150
- }, null, 8, _hoisted_2$j)) : __props.icon ? (openBlock(), createElementBlock("text", _hoisted_3$g, toDisplayString(__props.icon), 1)) : createCommentVNode("", true)
2153
+ }, null, 8, _hoisted_2$k)) : __props.icon ? (openBlock(), createElementBlock("text", _hoisted_3$g, toDisplayString(__props.icon), 1)) : createCommentVNode("", true)
2151
2154
  ], true),
2152
2155
  __props.badge !== void 0 && __props.badge !== null && __props.badge !== "" ? (openBlock(), createElementBlock("view", _hoisted_4$c, [
2153
2156
  createElementVNode("text", _hoisted_5$9, toDisplayString(__props.badge), 1)
@@ -2163,8 +2166,8 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
2163
2166
  }
2164
2167
  });
2165
2168
  const uGridItem = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-de6f40c1"]]);
2166
- const _hoisted_1$n = { class: "u-swiper" };
2167
- const _hoisted_2$i = {
2169
+ const _hoisted_1$o = { class: "u-swiper" };
2170
+ const _hoisted_2$j = {
2168
2171
  key: 0,
2169
2172
  class: "u-swiper__loading"
2170
2173
  };
@@ -2276,7 +2279,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2276
2279
  });
2277
2280
  return (_ctx, _cache) => {
2278
2281
  const _component_swiper = resolveComponent("swiper");
2279
- return openBlock(), createElementBlock("view", _hoisted_1$n, [
2282
+ return openBlock(), createElementBlock("view", _hoisted_1$o, [
2280
2283
  createVNode(_component_swiper, {
2281
2284
  class: "u-swiper__wrapper",
2282
2285
  style: normalizeStyle({ height: swiperHeight.value }),
@@ -2295,7 +2298,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2295
2298
  ]),
2296
2299
  _: 3
2297
2300
  }, 8, ["style", "autoplay", "interval", "duration", "circular", "vertical", "current"]),
2298
- __props.loading ? (openBlock(), createElementBlock("view", _hoisted_2$i, [..._cache[0] || (_cache[0] = [
2301
+ __props.loading ? (openBlock(), createElementBlock("view", _hoisted_2$j, [..._cache[0] || (_cache[0] = [
2299
2302
  createElementVNode("view", { class: "u-swiper__loading-icon" }, null, -1)
2300
2303
  ])])) : createCommentVNode("", true),
2301
2304
  __props.showTitle && currentTitle.value ? (openBlock(), createElementBlock("view", _hoisted_3$f, [
@@ -2378,11 +2381,11 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2378
2381
  }
2379
2382
  });
2380
2383
  const uSwiperItem = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-ef481687"]]);
2381
- const _hoisted_1$m = {
2384
+ const _hoisted_1$n = {
2382
2385
  key: 0,
2383
2386
  class: "u-search__icon"
2384
2387
  };
2385
- const _hoisted_2$h = { class: "u-search__body" };
2388
+ const _hoisted_2$i = { class: "u-search__body" };
2386
2389
  const _hoisted_3$e = ["type", "value", "placeholder", "placeholder-style", "disabled", "maxlength", "focus", "confirm-type", "adjust-position"];
2387
2390
  const _hoisted_4$a = { class: "u-search__action-text" };
2388
2391
  const __default__$p = {
@@ -2464,10 +2467,10 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
2464
2467
  class: "u-search__content",
2465
2468
  style: normalizeStyle(contentStyle.value)
2466
2469
  }, [
2467
- __props.showSearchIcon ? (openBlock(), createElementBlock("view", _hoisted_1$m, [..._cache[0] || (_cache[0] = [
2470
+ __props.showSearchIcon ? (openBlock(), createElementBlock("view", _hoisted_1$n, [..._cache[0] || (_cache[0] = [
2468
2471
  createElementVNode("text", { class: "u-search__icon-text" }, "🔍", -1)
2469
2472
  ])])) : createCommentVNode("", true),
2470
- createElementVNode("view", _hoisted_2$h, [
2473
+ createElementVNode("view", _hoisted_2$i, [
2471
2474
  createElementVNode("input", {
2472
2475
  class: "u-search__control",
2473
2476
  type: __props.type,
@@ -2508,7 +2511,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
2508
2511
  }
2509
2512
  });
2510
2513
  const uSearch = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-223b845c"]]);
2511
- const _hoisted_1$l = ["type", "value", "disabled"];
2514
+ const _hoisted_1$m = ["type", "value", "disabled"];
2512
2515
  const __default__$o = {
2513
2516
  options: {
2514
2517
  virtualHost: true,
@@ -2656,7 +2659,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2656
2659
  onInput: handleInput,
2657
2660
  onBlur: handleBlur,
2658
2661
  onFocus: handleFocus
2659
- }, null, 46, _hoisted_1$l),
2662
+ }, null, 46, _hoisted_1$m),
2660
2663
  createElementVNode("view", {
2661
2664
  class: normalizeClass(["u-number-box__btn u-number-box__btn--plus", {
2662
2665
  "u-number-box__btn--disabled": plusDisabled.value
@@ -2674,8 +2677,8 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
2674
2677
  }
2675
2678
  });
2676
2679
  const uNumberBox = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-86153bb8"]]);
2677
- const _hoisted_1$k = { class: "u-upload" };
2678
- const _hoisted_2$g = { class: "u-upload__list" };
2680
+ const _hoisted_1$l = { class: "u-upload" };
2681
+ const _hoisted_2$h = { class: "u-upload__list" };
2679
2682
  const _hoisted_3$d = ["src", "onClick"];
2680
2683
  const _hoisted_4$9 = {
2681
2684
  key: 1,
@@ -2805,8 +2808,8 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2805
2808
  fileList
2806
2809
  });
2807
2810
  return (_ctx, _cache) => {
2808
- return openBlock(), createElementBlock("view", _hoisted_1$k, [
2809
- createElementVNode("view", _hoisted_2$g, [
2811
+ return openBlock(), createElementBlock("view", _hoisted_1$l, [
2812
+ createElementVNode("view", _hoisted_2$h, [
2810
2813
  (openBlock(true), createElementBlock(Fragment, null, renderList(fileList.value, (file, index) => {
2811
2814
  return openBlock(), createElementBlock("view", {
2812
2815
  key: index,
@@ -2877,8 +2880,8 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
2877
2880
  }
2878
2881
  });
2879
2882
  const uUpload = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-172bcb23"]]);
2880
- const _hoisted_1$j = ["value", "placeholder", "placeholder-style", "disabled", "maxlength", "focus", "auto-height", "fixed", "cursor-spacing", "show-confirm-bar", "adjust-position"];
2881
- const _hoisted_2$f = {
2883
+ const _hoisted_1$k = ["value", "placeholder", "placeholder-style", "disabled", "maxlength", "focus", "auto-height", "fixed", "cursor-spacing", "show-confirm-bar", "adjust-position"];
2884
+ const _hoisted_2$g = {
2882
2885
  key: 0,
2883
2886
  class: "u-textarea__limit"
2884
2887
  };
@@ -2969,8 +2972,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2969
2972
  onBlur: handleBlur,
2970
2973
  onConfirm: handleConfirm,
2971
2974
  onLinechange: handleLineChange
2972
- }, null, 44, _hoisted_1$j),
2973
- __props.showWordLimit && __props.maxlength ? (openBlock(), createElementBlock("view", _hoisted_2$f, [
2975
+ }, null, 44, _hoisted_1$k),
2976
+ __props.showWordLimit && __props.maxlength ? (openBlock(), createElementBlock("view", _hoisted_2$g, [
2974
2977
  createElementVNode("text", _hoisted_3$c, toDisplayString(currentLength.value) + "/" + toDisplayString(__props.maxlength), 1)
2975
2978
  ])) : createCommentVNode("", true)
2976
2979
  ], 2);
@@ -2978,11 +2981,11 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
2978
2981
  }
2979
2982
  });
2980
2983
  const uTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-82478b77"]]);
2981
- const _hoisted_1$i = {
2984
+ const _hoisted_1$j = {
2982
2985
  key: 0,
2983
2986
  class: "u-slider__min"
2984
2987
  };
2985
- const _hoisted_2$e = { class: "u-slider__label" };
2988
+ const _hoisted_2$f = { class: "u-slider__label" };
2986
2989
  const _hoisted_3$b = {
2987
2990
  key: 0,
2988
2991
  class: "u-slider__tooltip"
@@ -3227,8 +3230,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
3227
3230
  "u-slider--disabled": __props.disabled
3228
3231
  }])
3229
3232
  }, [
3230
- __props.showMinMax ? (openBlock(), createElementBlock("view", _hoisted_1$i, [
3231
- createElementVNode("text", _hoisted_2$e, toDisplayString(__props.min), 1)
3233
+ __props.showMinMax ? (openBlock(), createElementBlock("view", _hoisted_1$j, [
3234
+ createElementVNode("text", _hoisted_2$f, toDisplayString(__props.min), 1)
3232
3235
  ])) : createCommentVNode("", true),
3233
3236
  createElementVNode("view", {
3234
3237
  class: "u-slider__track",
@@ -3297,8 +3300,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
3297
3300
  }
3298
3301
  });
3299
3302
  const uSlider = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-c099c413"]]);
3300
- const _hoisted_1$h = { class: "u-list" };
3301
- const _hoisted_2$d = {
3303
+ const _hoisted_1$i = { class: "u-list" };
3304
+ const _hoisted_2$e = {
3302
3305
  key: 0,
3303
3306
  class: "u-list__header"
3304
3307
  };
@@ -3348,8 +3351,8 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
3348
3351
  emit("load");
3349
3352
  };
3350
3353
  return (_ctx, _cache) => {
3351
- return openBlock(), createElementBlock("view", _hoisted_1$h, [
3352
- _ctx.$slots.header || __props.header ? (openBlock(), createElementBlock("view", _hoisted_2$d, [
3354
+ return openBlock(), createElementBlock("view", _hoisted_1$i, [
3355
+ _ctx.$slots.header || __props.header ? (openBlock(), createElementBlock("view", _hoisted_2$e, [
3353
3356
  renderSlot(_ctx.$slots, "header", {}, () => [
3354
3357
  createTextVNode(toDisplayString(__props.header), 1)
3355
3358
  ], true)
@@ -3381,11 +3384,11 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
3381
3384
  }
3382
3385
  });
3383
3386
  const uList = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6d331927"]]);
3384
- const _hoisted_1$g = {
3387
+ const _hoisted_1$h = {
3385
3388
  key: 0,
3386
3389
  class: "u-list-item__icon"
3387
3390
  };
3388
- const _hoisted_2$c = ["src"];
3391
+ const _hoisted_2$d = ["src"];
3389
3392
  const _hoisted_3$9 = {
3390
3393
  key: 1,
3391
3394
  class: "u-list-item__icon-text"
@@ -3455,14 +3458,14 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
3455
3458
  }]),
3456
3459
  onClick: handleClick
3457
3460
  }, [
3458
- _ctx.$slots.icon || __props.icon || __props.thumb ? (openBlock(), createElementBlock("view", _hoisted_1$g, [
3461
+ _ctx.$slots.icon || __props.icon || __props.thumb ? (openBlock(), createElementBlock("view", _hoisted_1$h, [
3459
3462
  renderSlot(_ctx.$slots, "icon", {}, () => [
3460
3463
  __props.thumb ? (openBlock(), createElementBlock("image", {
3461
3464
  key: 0,
3462
3465
  class: "u-list-item__thumb",
3463
3466
  src: __props.thumb,
3464
3467
  mode: "aspectFill"
3465
- }, null, 8, _hoisted_2$c)) : __props.icon ? (openBlock(), createElementBlock("text", _hoisted_3$9, toDisplayString(__props.icon), 1)) : createCommentVNode("", true)
3468
+ }, null, 8, _hoisted_2$d)) : __props.icon ? (openBlock(), createElementBlock("text", _hoisted_3$9, toDisplayString(__props.icon), 1)) : createCommentVNode("", true)
3466
3469
  ], true)
3467
3470
  ])) : createCommentVNode("", true),
3468
3471
  createElementVNode("view", _hoisted_4$6, [
@@ -3494,11 +3497,11 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
3494
3497
  }
3495
3498
  });
3496
3499
  const uListItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-8c31b17c"]]);
3497
- const _hoisted_1$f = {
3500
+ const _hoisted_1$g = {
3498
3501
  key: 0,
3499
3502
  class: "u-line-progress__text u-line-progress__text--inside"
3500
3503
  };
3501
- const _hoisted_2$b = {
3504
+ const _hoisted_2$c = {
3502
3505
  key: 0,
3503
3506
  class: "u-line-progress__text"
3504
3507
  };
@@ -3567,16 +3570,16 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
3567
3570
  }]),
3568
3571
  style: normalizeStyle(barStyle.value)
3569
3572
  }, [
3570
- __props.showText && __props.textInside && __props.percentage <= 100 ? (openBlock(), createElementBlock("text", _hoisted_1$f, toDisplayString(textContent.value), 1)) : createCommentVNode("", true)
3573
+ __props.showText && __props.textInside && __props.percentage <= 100 ? (openBlock(), createElementBlock("text", _hoisted_1$g, toDisplayString(textContent.value), 1)) : createCommentVNode("", true)
3571
3574
  ], 6)
3572
3575
  ], 4),
3573
- __props.showText && !__props.textInside ? (openBlock(), createElementBlock("text", _hoisted_2$b, toDisplayString(textContent.value), 1)) : createCommentVNode("", true)
3576
+ __props.showText && !__props.textInside ? (openBlock(), createElementBlock("text", _hoisted_2$c, toDisplayString(textContent.value), 1)) : createCommentVNode("", true)
3574
3577
  ], 4);
3575
3578
  };
3576
3579
  }
3577
3580
  });
3578
3581
  const uLineProgress = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-99121563"]]);
3579
- const _hoisted_1$e = { class: "u-count-down" };
3582
+ const _hoisted_1$f = { class: "u-count-down" };
3580
3583
  const __default__$h = {
3581
3584
  options: {
3582
3585
  virtualHost: true,
@@ -3699,7 +3702,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
3699
3702
  timeData
3700
3703
  });
3701
3704
  return (_ctx, _cache) => {
3702
- return openBlock(), createElementBlock("view", _hoisted_1$e, [
3705
+ return openBlock(), createElementBlock("view", _hoisted_1$f, [
3703
3706
  renderSlot(_ctx.$slots, "default", {
3704
3707
  time: timeData.value,
3705
3708
  current: current.value
@@ -3714,8 +3717,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
3714
3717
  }
3715
3718
  });
3716
3719
  const uCountDown = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-da70e500"]]);
3717
- const _hoisted_1$d = { class: "u-tooltip__content" };
3718
- const _hoisted_2$a = {
3720
+ const _hoisted_1$e = { class: "u-tooltip__content" };
3721
+ const _hoisted_2$b = {
3719
3722
  key: 0,
3720
3723
  class: "u-tooltip__actions"
3721
3724
  };
@@ -3892,8 +3895,8 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
3892
3895
  createElementVNode("view", {
3893
3896
  class: normalizeClass(["u-tooltip__arrow", `u-tooltip__arrow--${actualPlacement.value}`])
3894
3897
  }, null, 2),
3895
- createElementVNode("view", _hoisted_1$d, [
3896
- __props.actions.length ? (openBlock(), createElementBlock("view", _hoisted_2$a, [
3898
+ createElementVNode("view", _hoisted_1$e, [
3899
+ __props.actions.length ? (openBlock(), createElementBlock("view", _hoisted_2$b, [
3897
3900
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.actions, (action, index) => {
3898
3901
  return openBlock(), createElementBlock("view", {
3899
3902
  key: index,
@@ -3913,8 +3916,8 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
3913
3916
  }
3914
3917
  });
3915
3918
  const uTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-dd1bff02"]]);
3916
- const _hoisted_1$c = ["src"];
3917
- const _hoisted_2$9 = {
3919
+ const _hoisted_1$d = ["src"];
3920
+ const _hoisted_2$a = {
3918
3921
  key: 1,
3919
3922
  class: "u-avatar__text"
3920
3923
  };
@@ -4012,7 +4015,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
4012
4015
  src: __props.src,
4013
4016
  mode: "aspectFill",
4014
4017
  onError: handleError
4015
- }, null, 40, _hoisted_1$c)) : __props.text ? (openBlock(), createElementBlock("text", _hoisted_2$9, toDisplayString(displayText.value), 1)) : (openBlock(), createElementBlock("text", _hoisted_3$7, toDisplayString(__props.icon || "👤"), 1))
4018
+ }, null, 40, _hoisted_1$d)) : __props.text ? (openBlock(), createElementBlock("text", _hoisted_2$a, toDisplayString(displayText.value), 1)) : (openBlock(), createElementBlock("text", _hoisted_3$7, toDisplayString(__props.icon || "👤"), 1))
4016
4019
  ], true),
4017
4020
  __props.badge && !badgeSlot.value ? (openBlock(), createElementBlock("view", {
4018
4021
  key: 0,
@@ -4026,8 +4029,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
4026
4029
  }
4027
4030
  });
4028
4031
  const uAvatar = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-10f478fe"]]);
4029
- const _hoisted_1$b = { class: "u-empty__image" };
4030
- const _hoisted_2$8 = ["src"];
4032
+ const _hoisted_1$c = { class: "u-empty__image" };
4033
+ const _hoisted_2$9 = ["src"];
4031
4034
  const _hoisted_3$6 = {
4032
4035
  key: 1,
4033
4036
  class: "u-empty__image-default"
@@ -4059,14 +4062,14 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4059
4062
  return openBlock(), createElementBlock("view", {
4060
4063
  class: normalizeClass(["u-empty", { "u-empty--inline": __props.inline }])
4061
4064
  }, [
4062
- createElementVNode("view", _hoisted_1$b, [
4065
+ createElementVNode("view", _hoisted_1$c, [
4063
4066
  renderSlot(_ctx.$slots, "image", {}, () => [
4064
4067
  __props.image ? (openBlock(), createElementBlock("image", {
4065
4068
  key: 0,
4066
4069
  class: "u-empty__image-src",
4067
4070
  src: __props.image,
4068
4071
  mode: "aspectFit"
4069
- }, null, 8, _hoisted_2$8)) : (openBlock(), createElementBlock("view", _hoisted_3$6, [..._cache[0] || (_cache[0] = [
4072
+ }, null, 8, _hoisted_2$9)) : (openBlock(), createElementBlock("view", _hoisted_3$6, [..._cache[0] || (_cache[0] = [
4070
4073
  createElementVNode("text", { class: "u-empty__icon" }, "📭", -1)
4071
4074
  ])]))
4072
4075
  ], true)
@@ -4084,11 +4087,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
4084
4087
  }
4085
4088
  });
4086
4089
  const uEmpty = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-853e089d"]]);
4087
- const _hoisted_1$a = {
4090
+ const _hoisted_1$b = {
4088
4091
  key: 0,
4089
4092
  class: "u-checkbox__check"
4090
4093
  };
4091
- const _hoisted_2$7 = {
4094
+ const _hoisted_2$8 = {
4092
4095
  key: 0,
4093
4096
  class: "u-checkbox__label"
4094
4097
  };
@@ -4167,9 +4170,9 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4167
4170
  class: normalizeClass(["u-checkbox__icon", iconClass.value]),
4168
4171
  style: normalizeStyle(iconStyle.value)
4169
4172
  }, [
4170
- checked.value ? (openBlock(), createElementBlock("text", _hoisted_1$a, "✓")) : createCommentVNode("", true)
4173
+ checked.value ? (openBlock(), createElementBlock("text", _hoisted_1$b, "✓")) : createCommentVNode("", true)
4171
4174
  ], 6),
4172
- __props.label || _ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_2$7, [
4175
+ __props.label || _ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_2$8, [
4173
4176
  renderSlot(_ctx.$slots, "default", {}, () => [
4174
4177
  createTextVNode(toDisplayString(__props.label), 1)
4175
4178
  ], true)
@@ -4179,7 +4182,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
4179
4182
  }
4180
4183
  });
4181
4184
  const uCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-6f3ea0c6"]]);
4182
- const _hoisted_1$9 = { class: "u-checkbox-group" };
4185
+ const _hoisted_1$a = { class: "u-checkbox-group" };
4183
4186
  const __default__$c = {
4184
4187
  options: {
4185
4188
  virtualHost: true,
@@ -4222,18 +4225,18 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
4222
4225
  toggle
4223
4226
  });
4224
4227
  return (_ctx, _cache) => {
4225
- return openBlock(), createElementBlock("view", _hoisted_1$9, [
4228
+ return openBlock(), createElementBlock("view", _hoisted_1$a, [
4226
4229
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
4227
4230
  ]);
4228
4231
  };
4229
4232
  }
4230
4233
  });
4231
4234
  const uCheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-4e51c49e"]]);
4232
- const _hoisted_1$8 = {
4235
+ const _hoisted_1$9 = {
4233
4236
  key: 0,
4234
4237
  class: "u-radio__dot"
4235
4238
  };
4236
- const _hoisted_2$6 = {
4239
+ const _hoisted_2$7 = {
4237
4240
  key: 0,
4238
4241
  class: "u-radio__label"
4239
4242
  };
@@ -4309,9 +4312,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
4309
4312
  class: normalizeClass(["u-radio__icon", iconClass.value]),
4310
4313
  style: normalizeStyle(iconStyle.value)
4311
4314
  }, [
4312
- checked.value ? (openBlock(), createElementBlock("view", _hoisted_1$8)) : createCommentVNode("", true)
4315
+ checked.value ? (openBlock(), createElementBlock("view", _hoisted_1$9)) : createCommentVNode("", true)
4313
4316
  ], 6),
4314
- __props.label || _ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_2$6, [
4317
+ __props.label || _ctx.$slots.default ? (openBlock(), createElementBlock("view", _hoisted_2$7, [
4315
4318
  renderSlot(_ctx.$slots, "default", {}, () => [
4316
4319
  createTextVNode(toDisplayString(__props.label), 1)
4317
4320
  ], true)
@@ -4321,7 +4324,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
4321
4324
  }
4322
4325
  });
4323
4326
  const uRadio = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-3b4f8627"]]);
4324
- const _hoisted_1$7 = { class: "u-radio-group" };
4327
+ const _hoisted_1$8 = { class: "u-radio-group" };
4325
4328
  const __default__$a = {
4326
4329
  options: {
4327
4330
  virtualHost: true,
@@ -4355,15 +4358,15 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
4355
4358
  select
4356
4359
  });
4357
4360
  return (_ctx, _cache) => {
4358
- return openBlock(), createElementBlock("view", _hoisted_1$7, [
4361
+ return openBlock(), createElementBlock("view", _hoisted_1$8, [
4359
4362
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
4360
4363
  ]);
4361
4364
  };
4362
4365
  }
4363
4366
  });
4364
4367
  const uRadioGroup = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-04ea4949"]]);
4365
- const _hoisted_1$6 = { class: "u-toast__content" };
4366
- const _hoisted_2$5 = {
4368
+ const _hoisted_1$7 = { class: "u-toast__content" };
4369
+ const _hoisted_2$6 = {
4367
4370
  key: 0,
4368
4371
  class: "u-toast__loading"
4369
4372
  };
@@ -4446,8 +4449,8 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
4446
4449
  class: normalizeClass(["u-toast", toastClass.value]),
4447
4450
  style: normalizeStyle(toastStyle.value)
4448
4451
  }, [
4449
- createElementVNode("view", _hoisted_1$6, [
4450
- __props.type === "loading" ? (openBlock(), createElementBlock("view", _hoisted_2$5, [..._cache[0] || (_cache[0] = [
4452
+ createElementVNode("view", _hoisted_1$7, [
4453
+ __props.type === "loading" ? (openBlock(), createElementBlock("view", _hoisted_2$6, [..._cache[0] || (_cache[0] = [
4451
4454
  createElementVNode("view", { class: "u-toast__loading-icon" }, null, -1)
4452
4455
  ])])) : __props.icon ? (openBlock(), createElementBlock("text", _hoisted_3$5, toDisplayString(__props.icon), 1)) : createCommentVNode("", true),
4453
4456
  __props.message ? (openBlock(), createElementBlock("text", _hoisted_4$2, toDisplayString(__props.message), 1)) : createCommentVNode("", true)
@@ -4457,7 +4460,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
4457
4460
  }
4458
4461
  });
4459
4462
  const uToast = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-ffefead4"]]);
4460
- const _hoisted_1$5 = {
4463
+ const _hoisted_1$6 = {
4461
4464
  key: 0,
4462
4465
  class: "u-popup"
4463
4466
  };
@@ -4492,7 +4495,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4492
4495
  emit("close");
4493
4496
  };
4494
4497
  return (_ctx, _cache) => {
4495
- return __props.visible ? (openBlock(), createElementBlock("view", _hoisted_1$5, [
4498
+ return __props.visible ? (openBlock(), createElementBlock("view", _hoisted_1$6, [
4496
4499
  createElementVNode("view", {
4497
4500
  class: "u-popup__overlay",
4498
4501
  onClick: handleOverlayClick
@@ -4514,8 +4517,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4514
4517
  }
4515
4518
  });
4516
4519
  const uPopup = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-dc430e12"]]);
4517
- const _hoisted_1$4 = { class: "u-code-input" };
4518
- const _hoisted_2$4 = { class: "u-code-input__wrapper" };
4520
+ const _hoisted_1$5 = { class: "u-code-input" };
4521
+ const _hoisted_2$5 = { class: "u-code-input__wrapper" };
4519
4522
  const _hoisted_3$4 = {
4520
4523
  key: 0,
4521
4524
  class: "u-code-input__char"
@@ -4613,8 +4616,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4613
4616
  emit("blur");
4614
4617
  };
4615
4618
  return (_ctx, _cache) => {
4616
- return openBlock(), createElementBlock("view", _hoisted_1$4, [
4617
- createElementVNode("view", _hoisted_2$4, [
4619
+ return openBlock(), createElementBlock("view", _hoisted_1$5, [
4620
+ createElementVNode("view", _hoisted_2$5, [
4618
4621
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.length, (i) => {
4619
4622
  return openBlock(), createElementBlock("view", {
4620
4623
  key: i,
@@ -4643,11 +4646,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4643
4646
  }
4644
4647
  });
4645
4648
  const uCodeInput = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-9fffa23f"]]);
4646
- const _hoisted_1$3 = {
4649
+ const _hoisted_1$4 = {
4647
4650
  key: 0,
4648
4651
  class: "u-skeleton__content"
4649
4652
  };
4650
- const _hoisted_2$3 = { class: "u-skeleton__content" };
4653
+ const _hoisted_2$4 = { class: "u-skeleton__content" };
4651
4654
  const _hoisted_3$3 = { class: "u-skeleton__paragraphs" };
4652
4655
  const __default__$6 = {
4653
4656
  options: {
@@ -4709,7 +4712,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4709
4712
  return style;
4710
4713
  };
4711
4714
  return (_ctx, _cache) => {
4712
- return !__props.loading ? (openBlock(), createElementBlock("view", _hoisted_1$3, [
4715
+ return !__props.loading ? (openBlock(), createElementBlock("view", _hoisted_1$4, [
4713
4716
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
4714
4717
  ])) : (openBlock(), createElementBlock("view", {
4715
4718
  key: 1,
@@ -4720,7 +4723,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
4720
4723
  class: normalizeClass(["u-skeleton__avatar", `u-skeleton__avatar--${__props.avatarShape}`]),
4721
4724
  style: normalizeStyle(avatarStyle.value)
4722
4725
  }, null, 6)) : createCommentVNode("", true),
4723
- createElementVNode("view", _hoisted_2$3, [
4726
+ createElementVNode("view", _hoisted_2$4, [
4724
4727
  __props.title ? (openBlock(), createElementBlock("view", {
4725
4728
  key: 0,
4726
4729
  class: "u-skeleton__title",
@@ -4874,8 +4877,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4874
4877
  }
4875
4878
  });
4876
4879
  const uLink = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-f60d6c27"]]);
4877
- const _hoisted_1$2 = { class: "u-read-more" };
4878
- const _hoisted_2$2 = { class: "u-read-more__toggle-text" };
4880
+ const _hoisted_1$3 = { class: "u-read-more" };
4881
+ const _hoisted_2$3 = { class: "u-read-more__toggle-text" };
4879
4882
  const _hoisted_3$2 = { class: "u-read-more__toggle-icon" };
4880
4883
  const __default__$3 = {
4881
4884
  options: {
@@ -4923,7 +4926,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4923
4926
  }
4924
4927
  };
4925
4928
  return (_ctx, _cache) => {
4926
- return openBlock(), createElementBlock("view", _hoisted_1$2, [
4929
+ return openBlock(), createElementBlock("view", _hoisted_1$3, [
4927
4930
  createElementVNode("view", {
4928
4931
  class: "u-read-more__content",
4929
4932
  style: normalizeStyle(contentStyle.value)
@@ -4935,7 +4938,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4935
4938
  class: "u-read-more__toggle",
4936
4939
  onClick: handleToggle
4937
4940
  }, [
4938
- createElementVNode("text", _hoisted_2$2, toDisplayString(toggleText.value), 1),
4941
+ createElementVNode("text", _hoisted_2$3, toDisplayString(toggleText.value), 1),
4939
4942
  createElementVNode("text", _hoisted_3$2, toDisplayString(expanded.value ? "↑" : "↓"), 1)
4940
4943
  ])) : createCommentVNode("", true)
4941
4944
  ]);
@@ -4943,8 +4946,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
4943
4946
  }
4944
4947
  });
4945
4948
  const uReadMore = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b31720eb"]]);
4946
- const _hoisted_1$1 = { class: "u-tabbar" };
4947
- const _hoisted_2$1 = { class: "u-tabbar__nav-wrap" };
4949
+ const _hoisted_1$2 = { class: "u-tabbar" };
4950
+ const _hoisted_2$2 = { class: "u-tabbar__nav-wrap" };
4948
4951
  const _hoisted_3$1 = { class: "u-tabbar__center" };
4949
4952
  const _hoisted_4 = { class: "u-tabbar__center-brand" };
4950
4953
  const _hoisted_5 = { class: "u-tabbar__center-text" };
@@ -4975,8 +4978,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4975
4978
  emit("tab-change", tab);
4976
4979
  };
4977
4980
  return (_ctx, _cache) => {
4978
- return openBlock(), createElementBlock("view", _hoisted_1$1, [
4979
- createElementVNode("view", _hoisted_2$1, [
4981
+ return openBlock(), createElementBlock("view", _hoisted_1$2, [
4982
+ createElementVNode("view", _hoisted_2$2, [
4980
4983
  createElementVNode("view", {
4981
4984
  class: normalizeClass(["u-tabbar__tab-btn", { "u-tabbar__tab-btn--active": __props.modelValue === __props.leftTab.value }]),
4982
4985
  onClick: _cache[0] || (_cache[0] = ($event) => switchTab(__props.leftTab.value))
@@ -5025,6 +5028,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5025
5028
  }
5026
5029
  });
5027
5030
  const uTabbar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-10cb84bc"]]);
5031
+ const _hoisted_1$1 = { class: "u-qrcode" };
5032
+ const _hoisted_2$1 = ["canvas-id", "id"];
5028
5033
  const __default__$1 = {
5029
5034
  options: {
5030
5035
  virtualHost: true,
@@ -5043,246 +5048,452 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
5043
5048
  },
5044
5049
  setup(__props) {
5045
5050
  const props = __props;
5046
- const matrix = ref([]);
5047
- const cellSize = computed(() => {
5048
- if (matrix.value.length === 0) return 0;
5049
- return props.size / matrix.value.length;
5050
- });
5051
- const matrixStyle = computed(() => ({
5052
- width: `${props.size}px`,
5053
- height: `${props.size}px`,
5054
- backgroundColor: props.bgColor
5055
- }));
5056
- const QRCode = {
5057
- // 错误纠正级别
5058
- ECL: { L: 1, M: 0, Q: 3, H: 2 },
5059
- // 版本容量表
5060
- getCapacity(version, ecl) {
5061
- const capacities = [
5062
- 0,
5063
- 17,
5064
- 32,
5065
- 53,
5066
- 78,
5067
- 106,
5068
- 134,
5069
- 154,
5070
- 192,
5071
- 230,
5072
- 271,
5073
- 321,
5074
- 367,
5075
- 425,
5076
- 458,
5077
- 520,
5078
- 586,
5079
- 644,
5080
- 718,
5081
- 792,
5082
- 858,
5083
- 929,
5084
- 1003,
5085
- 1091,
5086
- 1171,
5087
- 1273,
5088
- 1367,
5089
- 1465,
5090
- 1528,
5091
- 1628,
5092
- 1732,
5093
- 1840,
5094
- 1952,
5095
- 2068,
5096
- 2188,
5097
- 2303,
5098
- 2431,
5099
- 2563,
5100
- 2699,
5101
- 2809,
5102
- 2953
5103
- ];
5104
- return capacities[version] || 0;
5105
- },
5051
+ const canvasId = ref(`qrcode_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`);
5052
+ class QRCode {
5106
5053
  // 获取版本
5107
- getVersion(length, ecl) {
5054
+ static getVersion(dataLength) {
5108
5055
  for (let v = 1; v <= 40; v++) {
5109
- if (this.getCapacity(v, ecl) >= length) return v;
5056
+ if (this.CAPACITY[v] >= dataLength) return v;
5110
5057
  }
5111
5058
  return 40;
5112
- },
5113
- // 生成二维码矩阵
5114
- generate(data, ecl) {
5115
- const level = this.ECL[ecl] || 0;
5116
- const version = this.getVersion(data.length, level);
5059
+ }
5060
+ // 生成二维码数据
5061
+ static generate(data, ecl) {
5062
+ const version = this.getVersion(data.length);
5117
5063
  const size = version * 4 + 17;
5118
- const result = [];
5064
+ const modules = [];
5119
5065
  for (let i = 0; i < size; i++) {
5120
- result[i] = new Array(size).fill(-1);
5066
+ modules[i] = new Array(size).fill(0);
5121
5067
  }
5122
- this.addFinderPattern(result, 0, 0);
5123
- this.addFinderPattern(result, size - 7, 0);
5124
- this.addFinderPattern(result, 0, size - 7);
5125
- this.addSeparator(result, size);
5126
- this.addAlignmentPattern(result, version);
5127
- this.addTimingPattern(result, size);
5128
- this.addFormatInfo(result, size);
5129
- this.fillData(result, data, version, size);
5130
- return result;
5131
- },
5132
- addFinderPattern(matrix2, row, col) {
5133
- for (let r = 0; r < 7; r++) {
5134
- for (let c = 0; c < 7; c++) {
5135
- if (row + r < matrix2.length && col + c < matrix2.length) {
5068
+ this.addFinderPatterns(modules, size);
5069
+ this.addTimingPatterns(modules, size);
5070
+ if (version >= 2) {
5071
+ this.addAlignmentPatterns(modules, version, size);
5072
+ }
5073
+ this.addDarkModule(modules, size);
5074
+ const codewords = this.encodeCodewords(data, version, ecl);
5075
+ this.fillData(modules, codewords, size);
5076
+ const bestMask = this.findBestMask(modules, size);
5077
+ this.applyMask(modules, size, bestMask);
5078
+ this.addFormatInfo(modules, size, ecl, bestMask);
5079
+ return { version, size, modules };
5080
+ }
5081
+ // 添加定位图案
5082
+ static addFinderPatterns(modules, size) {
5083
+ const positions = [[0, 0], [size - 7, 0], [0, size - 7]];
5084
+ for (const [row, col] of positions) {
5085
+ for (let r = 0; r < 7; r++) {
5086
+ for (let c = 0; c < 7; c++) {
5136
5087
  if (r === 0 || r === 6 || c === 0 || c === 6 || r >= 2 && r <= 4 && c >= 2 && c <= 4) {
5137
- matrix2[row + r][col + c] = 1;
5138
- } else {
5139
- matrix2[row + r][col + c] = 0;
5088
+ modules[row + r][col + c] = 1;
5140
5089
  }
5141
5090
  }
5142
5091
  }
5092
+ for (let i = 0; i < 8; i++) {
5093
+ if (row === 0 && i < size && modules[7]) modules[7][i] = 0;
5094
+ if (row === 0 && i < size && modules[i]) modules[i][7] = 0;
5095
+ if (row === size - 7 && i < size && modules[7]) modules[7][size - 8 + i] = 0;
5096
+ if (row === size - 7 && i < size && modules[i]) modules[i][size - 8] = 0;
5097
+ if (row === 0 && col === size - 7 && i < size && modules[size - 8]) modules[size - 8][i] = 0;
5098
+ if (row === 0 && col === size - 7 && i < size && modules[size - 1 - i]) modules[size - 1 - i][7] = 0;
5099
+ }
5143
5100
  }
5144
- },
5145
- addSeparator(matrix2, size) {
5146
- for (let i = 0; i < 8; i++) {
5147
- if (i < size && matrix2[7]) matrix2[7][i] = 0;
5148
- if (i < size && matrix2[i]) matrix2[i][7] = 0;
5149
- if (size - 8 + i < size && matrix2[7]) matrix2[7][size - 8 + i] = 0;
5150
- if (i < size && matrix2[i]) matrix2[i][size - 8] = 0;
5151
- if (i < size && matrix2[size - 8]) matrix2[size - 8][i] = 0;
5152
- if (size - 8 + i < size && matrix2[size - 1 - i]) matrix2[size - 1 - i][7] = 0;
5101
+ }
5102
+ // 添加时序图案
5103
+ static addTimingPatterns(modules, size) {
5104
+ for (let i = 8; i < size - 8; i++) {
5105
+ modules[6][i] = i % 2 === 0 ? 1 : 0;
5106
+ modules[i][6] = i % 2 === 0 ? 1 : 0;
5153
5107
  }
5154
- },
5155
- addAlignmentPattern(matrix2, version) {
5156
- if (version < 2) return;
5157
- const positions = this.getAlignmentPositions(version);
5108
+ }
5109
+ // 添加定位图案
5110
+ static addAlignmentPatterns(modules, version, size) {
5111
+ const positions = this.getAlignmentPositions(version, size);
5158
5112
  for (const row of positions) {
5159
5113
  for (const col of positions) {
5160
- if (matrix2[row] && matrix2[row][col] === -1) {
5161
- this.addAlignmentPatternAt(matrix2, row, col);
5114
+ if (modules[row][col] !== 0) continue;
5115
+ for (let r = -2; r <= 2; r++) {
5116
+ for (let c = -2; c <= 2; c++) {
5117
+ if (row + r >= 0 && row + r < size && col + c >= 0 && col + c < size) {
5118
+ if (Math.abs(r) === 2 || Math.abs(c) === 2 || r === 0 && c === 0) {
5119
+ modules[row + r][col + c] = 1;
5120
+ } else {
5121
+ modules[row + r][col + c] = 0;
5122
+ }
5123
+ }
5124
+ }
5162
5125
  }
5163
5126
  }
5164
5127
  }
5165
- },
5166
- getAlignmentPositions(version) {
5128
+ }
5129
+ // 获取定位图案位置
5130
+ static getAlignmentPositions(version, size) {
5167
5131
  if (version === 1) return [];
5168
- const intervals = Math.floor(version / 7) + 1;
5169
- const size = version * 4 + 17;
5170
- const step = Math.ceil((size - 13) / intervals);
5171
5132
  const positions = [6];
5172
- for (let i = 1; i <= intervals; i++) {
5173
- positions.push(size - 7 + (i - intervals) * step);
5133
+ const step = version === 32 ? 26 : Math.ceil((size - 13) / (Math.floor(version / 7) + 1));
5134
+ let pos = size - 7;
5135
+ while (pos > 6) {
5136
+ positions.unshift(pos);
5137
+ pos -= step;
5174
5138
  }
5175
- return [...new Set(positions)].sort((a, b) => a - b);
5176
- },
5177
- addAlignmentPatternAt(matrix2, row, col) {
5178
- for (let r = -2; r <= 2; r++) {
5179
- for (let c = -2; c <= 2; c++) {
5180
- if (row + r >= 0 && row + r < matrix2.length && col + c >= 0 && col + c < matrix2.length) {
5181
- if (Math.abs(r) === 2 || Math.abs(c) === 2 || r === 0 && c === 0) {
5182
- matrix2[row + r][col + c] = 1;
5183
- } else {
5184
- matrix2[row + r][col + c] = 0;
5185
- }
5186
- }
5139
+ return positions;
5140
+ }
5141
+ // 添加暗模块
5142
+ static addDarkModule(modules, size) {
5143
+ modules[size - 8][8] = 1;
5144
+ }
5145
+ // 编码码字
5146
+ static encodeCodewords(data, version, ecl) {
5147
+ const bits = [];
5148
+ bits.push(0, 1, 0, 0);
5149
+ const cciBits = version <= 9 ? 8 : 16;
5150
+ for (let i = cciBits - 1; i >= 0; i--) {
5151
+ bits.push(data.length >> i & 1);
5152
+ }
5153
+ for (const char of data) {
5154
+ const code2 = char.charCodeAt(0);
5155
+ for (let i = 7; i >= 0; i--) {
5156
+ bits.push(code2 >> i & 1);
5187
5157
  }
5188
5158
  }
5189
- },
5190
- addTimingPattern(matrix2, size) {
5191
- for (let i = 8; i < size - 8; i++) {
5192
- if (matrix2[6] && matrix2[6][i] === -1) matrix2[6][i] = i % 2 === 0 ? 1 : 0;
5193
- if (matrix2[i] && matrix2[i][6] === -1) matrix2[i][6] = i % 2 === 0 ? 1 : 0;
5159
+ const totalDataBits = (this.TOTAL_CODEWORDS[version] - this.ECC_CODEWORDS[version]) * 8;
5160
+ const termLen = Math.min(4, totalDataBits - bits.length);
5161
+ for (let i = 0; i < termLen; i++) bits.push(0);
5162
+ while (bits.length % 8 !== 0) bits.push(0);
5163
+ const padBytes = [236, 17];
5164
+ let padIdx = 0;
5165
+ while (bits.length < totalDataBits) {
5166
+ for (let i = 7; i >= 0; i--) {
5167
+ bits.push(padBytes[padIdx] >> i & 1);
5168
+ }
5169
+ padIdx = (padIdx + 1) % 2;
5170
+ }
5171
+ const bytes = [];
5172
+ for (let i = 0; i < bits.length; i += 8) {
5173
+ let b = 0;
5174
+ for (let j = 0; j < 8; j++) b = b << 1 | bits[i + j];
5175
+ bytes.push(b);
5176
+ }
5177
+ const eccBytes = this.generateECC(bytes, this.ECC_CODEWORDS[version]);
5178
+ return [...bytes, ...eccBytes];
5179
+ }
5180
+ // Reed-Solomon 纠错码生成
5181
+ static generateECC(data, eccCount) {
5182
+ const GF_EXP = new Array(512);
5183
+ const GF_LOG = new Array(256);
5184
+ let x = 1;
5185
+ for (let i = 0; i < 255; i++) {
5186
+ GF_EXP[i] = x;
5187
+ GF_LOG[x] = i;
5188
+ x = x * 2;
5189
+ if (x >= 256) x ^= 285;
5190
+ }
5191
+ for (let i = 255; i < 512; i++) {
5192
+ GF_EXP[i] = GF_EXP[i - 255];
5193
+ }
5194
+ const gfMul = (a, b) => {
5195
+ if (a === 0 || b === 0) return 0;
5196
+ return GF_EXP[GF_LOG[a] + GF_LOG[b]];
5197
+ };
5198
+ const genPoly = [1];
5199
+ for (let i = 0; i < eccCount; i++) {
5200
+ const newPoly = new Array(genPoly.length + 1).fill(0);
5201
+ for (let j = 0; j < genPoly.length; j++) {
5202
+ newPoly[j] ^= genPoly[j];
5203
+ newPoly[j + 1] ^= gfMul(genPoly[j], GF_EXP[i]);
5204
+ }
5205
+ genPoly = newPoly;
5206
+ }
5207
+ const ecc = new Array(eccCount).fill(0);
5208
+ for (const byte of data) {
5209
+ const factor = byte ^ ecc[0];
5210
+ ecc.shift();
5211
+ ecc.push(0);
5212
+ for (let i = 0; i < ecc.length; i++) {
5213
+ ecc[i] ^= gfMul(genPoly[i], factor);
5214
+ }
5215
+ }
5216
+ return ecc;
5217
+ }
5218
+ // 填充数据到矩阵
5219
+ static fillData(modules, codewords, size) {
5220
+ for (let row = 0; row < size; row++) {
5221
+ for (let col = 0; col < size; col++) {
5222
+ if (modules[row][col] !== 0) {
5223
+ modules[row][col] = -1;
5224
+ }
5225
+ }
5194
5226
  }
5195
- },
5196
- addFormatInfo(matrix2, size) {
5197
5227
  for (let i = 0; i < 9; i++) {
5198
- if (matrix2[8] && matrix2[8][i] === -1) matrix2[8][i] = 0;
5199
- if (matrix2[i] && matrix2[i][8] === -1) matrix2[i][8] = 0;
5228
+ if (modules[8][i] === 0) modules[8][i] = -1;
5229
+ if (modules[i][8] === 0) modules[i][8] = -1;
5200
5230
  }
5201
5231
  for (let i = 0; i < 8; i++) {
5202
- if (matrix2[8] && matrix2[8][size - 1 - i] === -1) matrix2[8][size - 1 - i] = 0;
5203
- if (matrix2[size - 1 - i] && matrix2[size - 1 - i][8] === -1) matrix2[size - 1 - i][8] = 0;
5232
+ if (modules[8][size - 1 - i] === 0) modules[8][size - 1 - i] = -1;
5233
+ if (modules[size - 1 - i][8] === 0) modules[size - 1 - i][8] = -1;
5204
5234
  }
5205
- },
5206
- fillData(matrix2, data, version, size) {
5207
- const bytes = this.encodeData(data);
5208
- let bitIndex = 0;
5235
+ let bitIdx = 0;
5209
5236
  let upward = true;
5210
- for (let col = size - 1; col >= 1; col -= 2) {
5237
+ for (let col = size - 1; col >= 0; col -= 2) {
5211
5238
  if (col === 6) col = 5;
5212
5239
  for (let row = upward ? size - 1 : 0; upward ? row >= 0 : row < size; upward ? row-- : row++) {
5213
5240
  for (let c = 0; c < 2; c++) {
5214
- const currentCol = col - c;
5215
- if (matrix2[row] && matrix2[row][currentCol] === -1) {
5216
- const bit = bitIndex < bytes.length * 8 ? bytes[Math.floor(bitIndex / 8)] >> 7 - bitIndex % 8 & 1 : bitIndex % 2 === 0 ? 1 : 0;
5217
- matrix2[row][currentCol] = bit;
5218
- bitIndex++;
5241
+ const tc = col - c;
5242
+ if (tc >= 0 && modules[row][tc] === 0) {
5243
+ let bit = 0;
5244
+ if (bitIdx < codewords.length * 8) {
5245
+ bit = codewords[Math.floor(bitIdx / 8)] >> 7 - bitIdx % 8 & 1;
5246
+ }
5247
+ modules[row][tc] = bit;
5248
+ bitIdx++;
5219
5249
  }
5220
5250
  }
5221
5251
  }
5222
5252
  upward = !upward;
5223
5253
  }
5224
- },
5225
- encodeData(data) {
5226
- const bytes = [];
5227
- bytes.push(64);
5228
- const len = data.length;
5229
- if (len < 256) {
5230
- bytes.push(len);
5254
+ }
5255
+ // 寻找最佳掩码
5256
+ static findBestMask(modules, size) {
5257
+ let bestMask = 0;
5258
+ let bestScore = Infinity;
5259
+ for (let mask = 0; mask < 8; mask++) {
5260
+ const testModules = modules.map((row) => [...row]);
5261
+ this.applyMask(testModules, size, mask);
5262
+ const score = this.evaluateMask(testModules, size);
5263
+ if (score < bestScore) {
5264
+ bestScore = score;
5265
+ bestMask = mask;
5266
+ }
5231
5267
  }
5232
- for (let i = 0; i < data.length; i++) {
5233
- bytes.push(data.charCodeAt(i));
5268
+ return bestMask;
5269
+ }
5270
+ // 应用掩码
5271
+ static applyMask(modules, size, mask) {
5272
+ for (let row = 0; row < size; row++) {
5273
+ for (let col = 0; col < size; col++) {
5274
+ if (modules[row][col] >= 0) {
5275
+ if (this.getMaskBit(row, col, mask)) {
5276
+ modules[row][col] = modules[row][col] === 1 ? 0 : 1;
5277
+ }
5278
+ }
5279
+ }
5234
5280
  }
5235
- bytes.push(0, 0, 0, 0);
5236
- return bytes;
5237
5281
  }
5238
- };
5239
- const generateQRCode = () => {
5240
- if (!props.value) {
5241
- matrix.value = [];
5242
- return;
5282
+ // 掩码函数
5283
+ static getMaskBit(row, col, mask) {
5284
+ switch (mask) {
5285
+ case 0:
5286
+ return (row + col) % 2 === 0;
5287
+ case 1:
5288
+ return row % 2 === 0;
5289
+ case 2:
5290
+ return col % 3 === 0;
5291
+ case 3:
5292
+ return (row + col) % 3 === 0;
5293
+ case 4:
5294
+ return (Math.floor(row / 2) + Math.floor(col / 3)) % 2 === 0;
5295
+ case 5:
5296
+ return row * col % 2 + row * col % 3 === 0;
5297
+ case 6:
5298
+ return (row * col % 2 + row * col % 3) % 2 === 0;
5299
+ case 7:
5300
+ return ((row + col) % 2 + row * col % 3) % 2 === 0;
5301
+ default:
5302
+ return false;
5303
+ }
5243
5304
  }
5244
- matrix.value = QRCode.generate(props.value, props.errorCorrectLevel);
5305
+ // 评估掩码质量
5306
+ static evaluateMask(modules, size) {
5307
+ let score = 0;
5308
+ for (let row = 0; row < size; row++) {
5309
+ let count = 1;
5310
+ for (let col = 1; col < size; col++) {
5311
+ if (modules[row][col] === modules[row][col - 1]) {
5312
+ count++;
5313
+ } else {
5314
+ if (count >= 5) score += count - 2;
5315
+ count = 1;
5316
+ }
5317
+ }
5318
+ if (count >= 5) score += count - 2;
5319
+ }
5320
+ for (let col = 0; col < size; col++) {
5321
+ let count = 1;
5322
+ for (let row = 1; row < size; row++) {
5323
+ if (modules[row][col] === modules[row - 1][col]) {
5324
+ count++;
5325
+ } else {
5326
+ if (count >= 5) score += count - 2;
5327
+ count = 1;
5328
+ }
5329
+ }
5330
+ if (count >= 5) score += count - 2;
5331
+ }
5332
+ return score;
5333
+ }
5334
+ // 添加格式信息
5335
+ static addFormatInfo(modules, size, ecl, mask) {
5336
+ const eclBits = this.ECC_LEVEL[ecl];
5337
+ const data = eclBits << 3 | mask;
5338
+ let rem = data;
5339
+ for (let i = 0; i < 10; i++) {
5340
+ rem = rem << 1 ^ (rem >> 14) * 1335;
5341
+ }
5342
+ const format = (data << 10 | rem) ^ 21522;
5343
+ const bits = [];
5344
+ for (let i = 14; i >= 0; i--) {
5345
+ bits.push(format >> i & 1);
5346
+ }
5347
+ for (let i = 0; i < 6; i++) modules[8][i] = bits[i];
5348
+ modules[8][7] = bits[6];
5349
+ modules[8][8] = bits[7];
5350
+ modules[7][8] = bits[8];
5351
+ for (let i = 9; i < 15; i++) modules[14 - i][8] = bits[i];
5352
+ for (let i = 0; i < 8; i++) modules[8][size - 1 - i] = bits[14 - i];
5353
+ for (let i = 8; i < 15; i++) modules[size - 15 + i][8] = bits[14 - i];
5354
+ }
5355
+ }
5356
+ // 纠错级别
5357
+ __publicField(QRCode, "ECC_LEVEL", { L: 1, M: 0, Q: 3, H: 2 });
5358
+ // 每个版本的纠错码字数(M级别)
5359
+ __publicField(QRCode, "ECC_CODEWORDS", [
5360
+ 0,
5361
+ 10,
5362
+ 16,
5363
+ 22,
5364
+ 28,
5365
+ 36,
5366
+ 44,
5367
+ 52,
5368
+ 64,
5369
+ 72,
5370
+ 80,
5371
+ 96,
5372
+ 108,
5373
+ 120,
5374
+ 132,
5375
+ 144,
5376
+ 168,
5377
+ 180,
5378
+ 196,
5379
+ 216,
5380
+ 240,
5381
+ 260,
5382
+ 288,
5383
+ 320,
5384
+ 344,
5385
+ 376,
5386
+ 412,
5387
+ 452,
5388
+ 492,
5389
+ 536
5390
+ ]);
5391
+ // 每个版本的总码字数
5392
+ __publicField(QRCode, "TOTAL_CODEWORDS", [
5393
+ 0,
5394
+ 26,
5395
+ 44,
5396
+ 70,
5397
+ 100,
5398
+ 134,
5399
+ 172,
5400
+ 196,
5401
+ 242,
5402
+ 292,
5403
+ 346,
5404
+ 404,
5405
+ 466,
5406
+ 532,
5407
+ 581,
5408
+ 625,
5409
+ 733,
5410
+ 815,
5411
+ 901,
5412
+ 993,
5413
+ 1079,
5414
+ 1157,
5415
+ 1253,
5416
+ 1353,
5417
+ 1453,
5418
+ 1553,
5419
+ 1673,
5420
+ 1793,
5421
+ 1913,
5422
+ 2033
5423
+ ]);
5424
+ // 每个版本的容量(字节模式,M级别)
5425
+ __publicField(QRCode, "CAPACITY", [
5426
+ 0,
5427
+ 16,
5428
+ 28,
5429
+ 44,
5430
+ 64,
5431
+ 86,
5432
+ 108,
5433
+ 124,
5434
+ 154,
5435
+ 186,
5436
+ 216,
5437
+ 252,
5438
+ 290,
5439
+ 334,
5440
+ 365,
5441
+ 415,
5442
+ 453,
5443
+ 507,
5444
+ 563,
5445
+ 623,
5446
+ 669,
5447
+ 719,
5448
+ 783,
5449
+ 843,
5450
+ 909,
5451
+ 969,
5452
+ 1047,
5453
+ 1119,
5454
+ 1193,
5455
+ 1273
5456
+ ]);
5457
+ const drawQRCode = () => {
5458
+ if (!props.value) return;
5459
+ nextTick(() => {
5460
+ const result = QRCode.generate(props.value, props.errorCorrectLevel);
5461
+ const cellSize = props.size / result.size;
5462
+ const ctx = uni.createCanvasContext(canvasId.value);
5463
+ ctx.setFillStyle(props.bgColor);
5464
+ ctx.fillRect(0, 0, props.size, props.size);
5465
+ ctx.setFillStyle(props.color);
5466
+ for (let row = 0; row < result.size; row++) {
5467
+ for (let col = 0; col < result.size; col++) {
5468
+ if (result.modules[row][col] === 1) {
5469
+ ctx.fillRect(col * cellSize, row * cellSize, cellSize, cellSize);
5470
+ }
5471
+ }
5472
+ }
5473
+ ctx.draw();
5474
+ });
5245
5475
  };
5246
- watch(() => props.value, generateQRCode);
5247
- watch(() => props.errorCorrectLevel, generateQRCode);
5476
+ watch(() => props.value, drawQRCode);
5477
+ watch(() => props.size, drawQRCode);
5478
+ watch(() => props.color, drawQRCode);
5479
+ watch(() => props.bgColor, drawQRCode);
5248
5480
  onMounted(() => {
5249
- generateQRCode();
5481
+ drawQRCode();
5250
5482
  });
5251
5483
  return (_ctx, _cache) => {
5252
- return openBlock(), createElementBlock("view", {
5253
- class: "u-qrcode",
5254
- style: normalizeStyle({ width: `${__props.size}px`, height: `${__props.size}px` })
5255
- }, [
5256
- matrix.value.length > 0 ? (openBlock(), createElementBlock("view", {
5484
+ return openBlock(), createElementBlock("view", _hoisted_1$1, [
5485
+ canvasId.value ? (openBlock(), createElementBlock("canvas", {
5257
5486
  key: 0,
5258
- class: "u-qrcode__matrix",
5259
- style: normalizeStyle(matrixStyle.value)
5260
- }, [
5261
- (openBlock(true), createElementBlock(Fragment, null, renderList(matrix.value, (row, rowIndex) => {
5262
- return openBlock(), createElementBlock("view", {
5263
- key: rowIndex,
5264
- class: "u-qrcode__row",
5265
- style: normalizeStyle({ height: `${cellSize.value}px` })
5266
- }, [
5267
- (openBlock(true), createElementBlock(Fragment, null, renderList(row, (cell, colIndex) => {
5268
- return openBlock(), createElementBlock("view", {
5269
- key: colIndex,
5270
- class: "u-qrcode__cell",
5271
- style: normalizeStyle({
5272
- width: `${cellSize.value}px`,
5273
- height: `${cellSize.value}px`,
5274
- backgroundColor: cell === 1 ? __props.color : __props.bgColor
5275
- })
5276
- }, null, 4);
5277
- }), 128))
5278
- ], 4);
5279
- }), 128))
5280
- ], 4)) : createCommentVNode("", true)
5281
- ], 4);
5487
+ "canvas-id": canvasId.value,
5488
+ id: canvasId.value,
5489
+ class: "u-qrcode__canvas",
5490
+ style: normalizeStyle({ width: `${__props.size}px`, height: `${__props.size}px` })
5491
+ }, null, 12, _hoisted_2$1)) : createCommentVNode("", true)
5492
+ ]);
5282
5493
  };
5283
5494
  }
5284
5495
  });
5285
- const uQrcode = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ba96b937"]]);
5496
+ const uQrcode = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ff93204c"]]);
5286
5497
  const _hoisted_1 = { class: "u-barcode" };
5287
5498
  const _hoisted_2 = ["canvas-id"];
5288
5499
  const _hoisted_3 = ["src"];