unika-components 1.0.314 → 1.0.315

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.
@@ -1,4 +1,11 @@
1
1
 
2
+ .uni-image-component {
3
+ max-width: 100%;
4
+ }
5
+ .uni-image-mask-wrapper {
6
+ display: inline-block;
7
+ }
8
+
2
9
  h2.uni-text-component, p.uni-text-component {
3
10
  margin-top: 0;
4
11
  margin-bottom: 0;
@@ -11,6 +18,39 @@ button.uni-text-component {
11
18
  box-sizing: border-box;
12
19
  white-space: pre-wrap;
13
20
  }
21
+
22
+ .uni-video-component {
23
+ position: relative;
24
+ text-align: center;
25
+ }
26
+ .play-pause-button {
27
+ position: absolute;
28
+ top: 50%;
29
+ left: 50%;
30
+ transform: translate(-50%, -50%);
31
+ cursor: pointer;
32
+ font-size: 2rem;
33
+ color: #fff;
34
+ background: rgba(0, 0, 0, 0.6);
35
+ border-radius: 50%;
36
+ padding: 10px;
37
+ transition: background 0.3s;
38
+ }
39
+ .play-pause-button:hover {
40
+ background: rgba(0, 0, 0, 0.8);
41
+ }
42
+
43
+
44
+ .uni-calendar-component {
45
+
46
+ }
47
+ .slot-number {
48
+ position: absolute;
49
+ bottom: 2px;
50
+ left: 7px;
51
+ font-size: 12px;
52
+ color: #666
53
+ }
14
54
 
15
55
  .slide-guide {
16
56
  position: absolute;
@@ -95,45 +135,32 @@ body, html {
95
135
  .edit-wrapper .uni-lotties-component, .edit-wrapper .uni-like-component, .edit-wrapper .uni-background-component, .edit-wrapper .uni-svg-component, .edit-wrapper .uni-register-form-component{
96
136
  position: static !important;
97
137
  }
98
-
99
- .uni-image-component {
100
- max-width: 100%;
101
- }
102
- .uni-image-mask-wrapper {
103
- display: inline-block;
104
- }
105
138
 
106
- .uni-video-component {
107
- position: relative;
108
- text-align: center;
109
- }
110
- .play-pause-button {
111
- position: absolute;
112
- top: 50%;
113
- left: 50%;
114
- transform: translate(-50%, -50%);
115
- cursor: pointer;
116
- font-size: 2rem;
117
- color: #fff;
118
- background: rgba(0, 0, 0, 0.6);
119
- border-radius: 50%;
120
- padding: 10px;
121
- transition: background 0.3s;
122
- }
123
- .play-pause-button:hover {
124
- background: rgba(0, 0, 0, 0.8);
125
- }
139
+ .like-button {
140
+ display: flex;
141
+ flex-direction: column;
142
+ align-items: center;
143
+ cursor: pointer;
144
+ }
126
145
 
146
+ .icon-heart {
147
+ font-size: 24px;
148
+ color: #e74c3c;
149
+ }
127
150
 
128
- .uni-calendar-component {
151
+ .liked {
152
+ color: #f00; /* 更改颜色以示已赞 */
153
+ }
129
154
 
155
+ .like-count {
156
+ margin-top: 4px;
157
+ font-size: 16px;
158
+ color: #333;
130
159
  }
131
- .slot-number {
132
- position: absolute;
133
- bottom: 2px;
134
- left: 7px;
135
- font-size: 12px;
136
- color: #666
160
+
161
+ .uni-lotties-component {
162
+ width: 100%;
163
+ height: 100%;
137
164
  }
138
165
 
139
166
  .ant-input-number {
@@ -176,11 +203,6 @@ body, html {
176
203
  height: 100%;
177
204
  }
178
205
 
179
- .uni-lotties-component {
180
- width: 100%;
181
- height: 100%;
182
- }
183
-
184
206
  .swiper-warp {
185
207
  width: 100%;
186
208
  height: 100%;
@@ -195,28 +217,6 @@ body, html {
195
217
  max-height: 100%;
196
218
  }
197
219
 
198
- .like-button {
199
- display: flex;
200
- flex-direction: column;
201
- align-items: center;
202
- cursor: pointer;
203
- }
204
-
205
- .icon-heart {
206
- font-size: 24px;
207
- color: #e74c3c;
208
- }
209
-
210
- .liked {
211
- color: #f00; /* 更改颜色以示已赞 */
212
- }
213
-
214
- .like-count {
215
- margin-top: 4px;
216
- font-size: 16px;
217
- color: #333;
218
- }
219
-
220
220
  .uni-build-up-component {
221
221
  }
222
222
 
@@ -771,193 +771,6 @@ button.swiper-pagination-bullet {
771
771
  backface-visibility: hidden;
772
772
  }
773
773
 
774
-
775
- .no-animation__card {
776
- font-weight: 500;
777
- font-size: var(--countdown-size, 2rem);
778
- line-height: 1.5;
779
- display: block;
780
- color: var(--main-color, #EC685C);
781
- }
782
-
783
- .flip-clock {
784
- text-align: center;
785
- perspective: 600px;
786
- margin: 0 auto;
787
- }
788
-
789
- .flip-clock *,
790
- .flip-clock *:before,
791
- .flip-clock *:after {
792
- box-sizing: border-box;
793
- }
794
-
795
- .flip-clock__piece {
796
- display: inline-block;
797
- margin: 0 0.2vw;
798
- }
799
-
800
- @media (min-width: 1000px) {
801
- .flip-clock__piece {
802
- margin: 0 5px;
803
- }
804
- }
805
-
806
- .flip-clock__slot {
807
- font-size: var(--label-size, 1rem);
808
- line-height: 1.5;
809
- display: block;
810
- color: var(--label-color, #222222);
811
- }
812
-
813
- .flip-card {
814
- display: block;
815
- position: relative;
816
- padding-bottom: 0.72em; /* halfHeight */
817
- font-size: var(--countdown-size, 2.25rem);
818
- line-height: 0.95;
819
- }
820
-
821
- @media (min-width: 1000px) {
822
- .flip-clock__slot {
823
- font-size: 1.2rem;
824
- }
825
-
826
- .flip-card {
827
- font-size: 3rem;
828
- }
829
- }
830
-
831
- .flip-card__top,
832
- .flip-card__bottom,
833
- .flip-card__back-bottom,
834
- .flip-card__back::before,
835
- .flip-card__back::after{
836
- display: block;
837
- height: 0.72em; /* halfHeight */
838
- color: var(--main-color, #EC685C);
839
- background: var(--main-flip-background-color, #222222);
840
- padding: 0.23em 0.15em 0.4em;
841
- border-radius: 0.15em 0.15em 0 0; /* borderRadius */
842
- backface-visibility: hidden;
843
- -webkit-backface-visibility: hidden;
844
- transform-style: preserve-3d;
845
- width: 2.1em;
846
- }
847
-
848
- .flip-card__top-4digits,
849
- .flip-card__bottom-4digits,
850
- .flip-card__back-bottom-4digits,
851
- .flip-card__back-4digits::before,
852
- .flip-card__back-4digits::after {
853
- display: block;
854
- height: 0.72em; /* halfHeight */
855
- color: var(--main-color, #EC685C);
856
- background: var(--main-flip-background-color, #222222);
857
- padding: 0.23em 0.15em 0.4em;
858
- border-radius: 0.15em 0.15em 0 0; /* borderRadius */
859
- backface-visibility: hidden;
860
- -webkit-backface-visibility: hidden;
861
- transform-style: preserve-3d;
862
- width: 2.65em;
863
- }
864
-
865
- .flip-card__bottom,
866
- .flip-card__back-bottom,
867
- .flip-card__bottom-4digits,
868
- .flip-card__back-bottom-4digits {
869
- color: var(--second-flip-color, #EC685C);
870
- position: absolute;
871
- top: 50%;
872
- left: 0;
873
- border-top: solid 1px var(--second-flip-background-color, #000);
874
- background: var(--second-flip-background-color, #393939);
875
- border-radius: 0 0 0.15em 0.15em; /* borderRadius */
876
- pointer-events: none;
877
- overflow: hidden;
878
- z-index: 2;
879
- }
880
-
881
- .flip-card__back-bottom,
882
- .flip-card__back-bottom-4digits {
883
- z-index: 1;
884
- }
885
-
886
- .flip-card__bottom::after,
887
- .flip-card__back-bottom::after,
888
- .flip-card__bottom-4digits::after,
889
- .flip-card__back-bottom-4digits::after {
890
- display: block;
891
- margin-top: -0.72em; /* Negative halfHeight */
892
- }
893
- .flip-card__back::before,
894
- .flip-card__bottom::after,
895
- .flip-card__back-bottom::after,
896
- .flip-card__back-4digits::before,
897
- .flip-card__bottom-4digits::after,
898
- .flip-card__back-bottom-4digits::after {
899
- content: attr(data-value);
900
- }
901
-
902
- .flip-card__back,
903
- .flip-card__back-4digits {
904
- position: absolute;
905
- top: 0;
906
- height: 100%;
907
- left: 0%;
908
- pointer-events: none;
909
- }
910
- .flip-card__back::before,
911
- .flip-card__back-4digits::before {
912
- position: relative;
913
- overflow: hidden;
914
- z-index: -1;
915
- }
916
-
917
- .flip .flip-card__back::before,
918
- .flip .flip-card__back-4digits::before {
919
- z-index: 1;
920
- animation: flipTop 0.3s cubic-bezier(0.37, 0.01, 0.94, 0.35);
921
- animation-fill-mode: both;
922
- transform-origin: center bottom;
923
- }
924
-
925
- .flip .flip-card__bottom,
926
- .flip .flip-card__bottom-4digits {
927
- transform-origin: center top;
928
- animation-fill-mode: both;
929
- animation: flipBottom 0.6s cubic-bezier(0.15, 0.45, 0.28, 1);
930
- }
931
- @keyframes flipTop {
932
- 0% {
933
- transform: rotateX(0deg);
934
- z-index: 2;
935
- }
936
- 0%, 99% {
937
- opacity: 1;
938
- }
939
- 100% {
940
- transform: rotateX(-90deg);
941
- opacity: 0;
942
- }
943
- }
944
-
945
- @keyframes flipBottom {
946
- 0%, 50% {
947
- z-index: -1;
948
- transform: rotateX(90deg);
949
- opacity: 0;
950
- }
951
- 51% {
952
- opacity: 1;
953
- }
954
- 100% {
955
- opacity: 1;
956
- transform: rotateX(0deg);
957
- z-index: 5;
958
- }
959
- }
960
-
961
774
  .unika-calendar-box {
962
775
  position: relative;
963
776
  width: 325px !important;
@@ -1218,3 +1031,190 @@ button.swiper-pagination-bullet {
1218
1031
  padding: 0 0px;
1219
1032
  border-bottom: 1px solid
1220
1033
  }
1034
+
1035
+
1036
+ .no-animation__card {
1037
+ font-weight: 500;
1038
+ font-size: var(--countdown-size, 2rem);
1039
+ line-height: 1.5;
1040
+ display: block;
1041
+ color: var(--main-color, #EC685C);
1042
+ }
1043
+
1044
+ .flip-clock {
1045
+ text-align: center;
1046
+ perspective: 600px;
1047
+ margin: 0 auto;
1048
+ }
1049
+
1050
+ .flip-clock *,
1051
+ .flip-clock *:before,
1052
+ .flip-clock *:after {
1053
+ box-sizing: border-box;
1054
+ }
1055
+
1056
+ .flip-clock__piece {
1057
+ display: inline-block;
1058
+ margin: 0 0.2vw;
1059
+ }
1060
+
1061
+ @media (min-width: 1000px) {
1062
+ .flip-clock__piece {
1063
+ margin: 0 5px;
1064
+ }
1065
+ }
1066
+
1067
+ .flip-clock__slot {
1068
+ font-size: var(--label-size, 1rem);
1069
+ line-height: 1.5;
1070
+ display: block;
1071
+ color: var(--label-color, #222222);
1072
+ }
1073
+
1074
+ .flip-card {
1075
+ display: block;
1076
+ position: relative;
1077
+ padding-bottom: 0.72em; /* halfHeight */
1078
+ font-size: var(--countdown-size, 2.25rem);
1079
+ line-height: 0.95;
1080
+ }
1081
+
1082
+ @media (min-width: 1000px) {
1083
+ .flip-clock__slot {
1084
+ font-size: 1.2rem;
1085
+ }
1086
+
1087
+ .flip-card {
1088
+ font-size: 3rem;
1089
+ }
1090
+ }
1091
+
1092
+ .flip-card__top,
1093
+ .flip-card__bottom,
1094
+ .flip-card__back-bottom,
1095
+ .flip-card__back::before,
1096
+ .flip-card__back::after{
1097
+ display: block;
1098
+ height: 0.72em; /* halfHeight */
1099
+ color: var(--main-color, #EC685C);
1100
+ background: var(--main-flip-background-color, #222222);
1101
+ padding: 0.23em 0.15em 0.4em;
1102
+ border-radius: 0.15em 0.15em 0 0; /* borderRadius */
1103
+ backface-visibility: hidden;
1104
+ -webkit-backface-visibility: hidden;
1105
+ transform-style: preserve-3d;
1106
+ width: 2.1em;
1107
+ }
1108
+
1109
+ .flip-card__top-4digits,
1110
+ .flip-card__bottom-4digits,
1111
+ .flip-card__back-bottom-4digits,
1112
+ .flip-card__back-4digits::before,
1113
+ .flip-card__back-4digits::after {
1114
+ display: block;
1115
+ height: 0.72em; /* halfHeight */
1116
+ color: var(--main-color, #EC685C);
1117
+ background: var(--main-flip-background-color, #222222);
1118
+ padding: 0.23em 0.15em 0.4em;
1119
+ border-radius: 0.15em 0.15em 0 0; /* borderRadius */
1120
+ backface-visibility: hidden;
1121
+ -webkit-backface-visibility: hidden;
1122
+ transform-style: preserve-3d;
1123
+ width: 2.65em;
1124
+ }
1125
+
1126
+ .flip-card__bottom,
1127
+ .flip-card__back-bottom,
1128
+ .flip-card__bottom-4digits,
1129
+ .flip-card__back-bottom-4digits {
1130
+ color: var(--second-flip-color, #EC685C);
1131
+ position: absolute;
1132
+ top: 50%;
1133
+ left: 0;
1134
+ border-top: solid 1px var(--second-flip-background-color, #000);
1135
+ background: var(--second-flip-background-color, #393939);
1136
+ border-radius: 0 0 0.15em 0.15em; /* borderRadius */
1137
+ pointer-events: none;
1138
+ overflow: hidden;
1139
+ z-index: 2;
1140
+ }
1141
+
1142
+ .flip-card__back-bottom,
1143
+ .flip-card__back-bottom-4digits {
1144
+ z-index: 1;
1145
+ }
1146
+
1147
+ .flip-card__bottom::after,
1148
+ .flip-card__back-bottom::after,
1149
+ .flip-card__bottom-4digits::after,
1150
+ .flip-card__back-bottom-4digits::after {
1151
+ display: block;
1152
+ margin-top: -0.72em; /* Negative halfHeight */
1153
+ }
1154
+ .flip-card__back::before,
1155
+ .flip-card__bottom::after,
1156
+ .flip-card__back-bottom::after,
1157
+ .flip-card__back-4digits::before,
1158
+ .flip-card__bottom-4digits::after,
1159
+ .flip-card__back-bottom-4digits::after {
1160
+ content: attr(data-value);
1161
+ }
1162
+
1163
+ .flip-card__back,
1164
+ .flip-card__back-4digits {
1165
+ position: absolute;
1166
+ top: 0;
1167
+ height: 100%;
1168
+ left: 0%;
1169
+ pointer-events: none;
1170
+ }
1171
+ .flip-card__back::before,
1172
+ .flip-card__back-4digits::before {
1173
+ position: relative;
1174
+ overflow: hidden;
1175
+ z-index: -1;
1176
+ }
1177
+
1178
+ .flip .flip-card__back::before,
1179
+ .flip .flip-card__back-4digits::before {
1180
+ z-index: 1;
1181
+ animation: flipTop 0.3s cubic-bezier(0.37, 0.01, 0.94, 0.35);
1182
+ animation-fill-mode: both;
1183
+ transform-origin: center bottom;
1184
+ }
1185
+
1186
+ .flip .flip-card__bottom,
1187
+ .flip .flip-card__bottom-4digits {
1188
+ transform-origin: center top;
1189
+ animation-fill-mode: both;
1190
+ animation: flipBottom 0.6s cubic-bezier(0.15, 0.45, 0.28, 1);
1191
+ }
1192
+ @keyframes flipTop {
1193
+ 0% {
1194
+ transform: rotateX(0deg);
1195
+ z-index: 2;
1196
+ }
1197
+ 0%, 99% {
1198
+ opacity: 1;
1199
+ }
1200
+ 100% {
1201
+ transform: rotateX(-90deg);
1202
+ opacity: 0;
1203
+ }
1204
+ }
1205
+
1206
+ @keyframes flipBottom {
1207
+ 0%, 50% {
1208
+ z-index: -1;
1209
+ transform: rotateX(90deg);
1210
+ opacity: 0;
1211
+ }
1212
+ 51% {
1213
+ opacity: 1;
1214
+ }
1215
+ 100% {
1216
+ opacity: 1;
1217
+ transform: rotateX(0deg);
1218
+ z-index: 5;
1219
+ }
1220
+ }
@@ -13210,43 +13210,6 @@ var SwiperSlide = {
13210
13210
  }
13211
13211
  };
13212
13212
 
13213
- //隐藏元素
13214
- // 开始动画
13215
- const swiperAnimate = (a) => {
13216
- //每次添加的时候先把样式清除一遍
13217
- clearSwiperAnimate();
13218
- const b = a.slides[a.activeIndex].querySelectorAll(".animation");
13219
- for (let i = 0; i < b.length; i++) {
13220
- b[i].style.visibility = "visible";
13221
- const effect = b[i].attributes["swiper-animate-effect"]
13222
- ? b[i].attributes["swiper-animate-effect"].value
13223
- : "";
13224
- b[i].className = b[i].className + " " + effect + " " + "animated";
13225
- const duration = b[i].attributes["swiper-animate-duration"]
13226
- ? b[i].attributes["swiper-animate-duration"].value
13227
- : "";
13228
- // duration && style
13229
- const delay = b[i].attributes["swiper-animate-delay"]
13230
- ? b[i].attributes["swiper-animate-delay"].value
13231
- : "";
13232
- const style = b[i].attributes["style"].value + "animation-duration:" + duration + ";-webkit-animation-duration:" + duration + ";" + "animation-delay:" + delay + ";-webkit-animation-delay:" + delay + ";";
13233
- // delay && (style = style )
13234
- b[i].setAttribute("style", style);
13235
- }
13236
- };
13237
- // 清楚样式。 获取 .animation 类名, 注意这个所有的.animation 类名都会被获取,所以可以自己取
13238
- const clearSwiperAnimate = () => {
13239
- const allBoxes = window.document.documentElement.querySelectorAll(".animation");
13240
- for (let i = 0; i < allBoxes.length; i++) {
13241
- allBoxes[i].attributes["swiper-animate-style-cache"] && allBoxes[i].setAttribute("style", allBoxes[i].attributes["swiper-animate-style-cache"].value);
13242
- allBoxes[i].style.visibility = "hidden";
13243
- allBoxes[i].className = allBoxes[i].className.replace("animated", " ");
13244
- const effectValue = allBoxes[i].attributes["swiper-animate-effect"].value;
13245
- /* eslint-disable-next-line */
13246
- allBoxes[i].attributes['swiper-animate-effect'] && (allBoxes[i].className = allBoxes[i].className.replace(effectValue, ' '));
13247
- }
13248
- };
13249
-
13250
13213
  SwiperCore.use([Pagination$1, EffectFade, Controller$1]);
13251
13214
  function getComputedCSSText(style) {
13252
13215
  let cssText = '';
@@ -13274,6 +13237,7 @@ var script$h = defineComponent({
13274
13237
  const componentRefs = ref(new Map());
13275
13238
  const currentPage = ref(0);
13276
13239
  const totalPages = ref(props.work && props.work.pages.length || 1); // 假设总页数为10
13240
+ const slideChangeTriggered = ref(false); // 标志位,防止重复触发
13277
13241
  const setAnimationRef = (el) => {
13278
13242
  if (el) {
13279
13243
  componentRefs.value.set(el.id, el);
@@ -13368,29 +13332,32 @@ var script$h = defineComponent({
13368
13332
  };
13369
13333
  const onSlideChange = (swiper) => {
13370
13334
  const currentIndex = swiper.activeIndex;
13371
- currentPage.value = (currentIndex - 1);
13372
- if (currentPage.value == totalPages.value) {
13373
- currentPage.value = 0;
13374
- }
13375
- console.log('aaaaaaaa');
13376
- console.log(totalPages.value);
13377
- console.log(currentIndex);
13378
- console.log(currentPage.value);
13379
- sendPageInfo();
13380
- try {
13381
- runAnimations(currentIndex);
13382
- callUniLottiesPlay(currentIndex);
13383
- }
13384
- catch (error) {
13385
- console.error("Error in onSlideChange:", error);
13386
- }
13387
- if (currentIndex === swiper.slides.length - 1) {
13388
- upArrow.value = false;
13389
- }
13390
- else {
13391
- upArrow.value = true;
13335
+ if (!slideChangeTriggered.value) {
13336
+ currentPage.value = (currentIndex - 1);
13337
+ if (currentPage.value == totalPages.value) {
13338
+ currentPage.value = 0;
13339
+ }
13340
+ console.log('aaaaaaaa');
13341
+ console.log(totalPages.value);
13342
+ console.log(currentIndex);
13343
+ console.log(currentPage.value);
13344
+ sendPageInfo();
13345
+ try {
13346
+ runAnimations(currentIndex);
13347
+ callUniLottiesPlay(currentIndex);
13348
+ }
13349
+ catch (error) {
13350
+ console.error("Error in onSlideChange:", error);
13351
+ }
13352
+ if (currentIndex === swiper.slides.length - 1) {
13353
+ upArrow.value = false;
13354
+ }
13355
+ else {
13356
+ upArrow.value = true;
13357
+ }
13358
+ // swiperAnimate(swiper);
13392
13359
  }
13393
- swiperAnimate(swiper);
13360
+ slideChangeTriggered.value = false; // 重置标志位
13394
13361
  };
13395
13362
  // const slideChangeTransitionEnd = (e: any) => {
13396
13363
  // swiperAnimate(e);
@@ -13418,7 +13385,10 @@ var script$h = defineComponent({
13418
13385
  console.log(' switch page -----------');
13419
13386
  console.log(index);
13420
13387
  if (controlledSwiper.value) {
13421
- controlledSwiper.value.slideTo(index, 500);
13388
+ slideChangeTriggered.value = true; // 设置标志位,防止 slideTo 引发的 onSlideChange 触发
13389
+ if (controlledSwiper.value) {
13390
+ controlledSwiper.value.slideTo(index, 500);
13391
+ }
13422
13392
  }
13423
13393
  };
13424
13394
  // 翻到下一页
@@ -13217,43 +13217,6 @@
13217
13217
  }
13218
13218
  };
13219
13219
 
13220
- //隐藏元素
13221
- // 开始动画
13222
- const swiperAnimate = (a) => {
13223
- //每次添加的时候先把样式清除一遍
13224
- clearSwiperAnimate();
13225
- const b = a.slides[a.activeIndex].querySelectorAll(".animation");
13226
- for (let i = 0; i < b.length; i++) {
13227
- b[i].style.visibility = "visible";
13228
- const effect = b[i].attributes["swiper-animate-effect"]
13229
- ? b[i].attributes["swiper-animate-effect"].value
13230
- : "";
13231
- b[i].className = b[i].className + " " + effect + " " + "animated";
13232
- const duration = b[i].attributes["swiper-animate-duration"]
13233
- ? b[i].attributes["swiper-animate-duration"].value
13234
- : "";
13235
- // duration && style
13236
- const delay = b[i].attributes["swiper-animate-delay"]
13237
- ? b[i].attributes["swiper-animate-delay"].value
13238
- : "";
13239
- const style = b[i].attributes["style"].value + "animation-duration:" + duration + ";-webkit-animation-duration:" + duration + ";" + "animation-delay:" + delay + ";-webkit-animation-delay:" + delay + ";";
13240
- // delay && (style = style )
13241
- b[i].setAttribute("style", style);
13242
- }
13243
- };
13244
- // 清楚样式。 获取 .animation 类名, 注意这个所有的.animation 类名都会被获取,所以可以自己取
13245
- const clearSwiperAnimate = () => {
13246
- const allBoxes = window.document.documentElement.querySelectorAll(".animation");
13247
- for (let i = 0; i < allBoxes.length; i++) {
13248
- allBoxes[i].attributes["swiper-animate-style-cache"] && allBoxes[i].setAttribute("style", allBoxes[i].attributes["swiper-animate-style-cache"].value);
13249
- allBoxes[i].style.visibility = "hidden";
13250
- allBoxes[i].className = allBoxes[i].className.replace("animated", " ");
13251
- const effectValue = allBoxes[i].attributes["swiper-animate-effect"].value;
13252
- /* eslint-disable-next-line */
13253
- allBoxes[i].attributes['swiper-animate-effect'] && (allBoxes[i].className = allBoxes[i].className.replace(effectValue, ' '));
13254
- }
13255
- };
13256
-
13257
13220
  SwiperCore.use([Pagination$1, EffectFade, Controller$1]);
13258
13221
  function getComputedCSSText(style) {
13259
13222
  let cssText = '';
@@ -13281,6 +13244,7 @@
13281
13244
  const componentRefs = vue.ref(new Map());
13282
13245
  const currentPage = vue.ref(0);
13283
13246
  const totalPages = vue.ref(props.work && props.work.pages.length || 1); // 假设总页数为10
13247
+ const slideChangeTriggered = vue.ref(false); // 标志位,防止重复触发
13284
13248
  const setAnimationRef = (el) => {
13285
13249
  if (el) {
13286
13250
  componentRefs.value.set(el.id, el);
@@ -13375,29 +13339,32 @@
13375
13339
  };
13376
13340
  const onSlideChange = (swiper) => {
13377
13341
  const currentIndex = swiper.activeIndex;
13378
- currentPage.value = (currentIndex - 1);
13379
- if (currentPage.value == totalPages.value) {
13380
- currentPage.value = 0;
13381
- }
13382
- console.log('aaaaaaaa');
13383
- console.log(totalPages.value);
13384
- console.log(currentIndex);
13385
- console.log(currentPage.value);
13386
- sendPageInfo();
13387
- try {
13388
- runAnimations(currentIndex);
13389
- callUniLottiesPlay(currentIndex);
13390
- }
13391
- catch (error) {
13392
- console.error("Error in onSlideChange:", error);
13393
- }
13394
- if (currentIndex === swiper.slides.length - 1) {
13395
- upArrow.value = false;
13396
- }
13397
- else {
13398
- upArrow.value = true;
13342
+ if (!slideChangeTriggered.value) {
13343
+ currentPage.value = (currentIndex - 1);
13344
+ if (currentPage.value == totalPages.value) {
13345
+ currentPage.value = 0;
13346
+ }
13347
+ console.log('aaaaaaaa');
13348
+ console.log(totalPages.value);
13349
+ console.log(currentIndex);
13350
+ console.log(currentPage.value);
13351
+ sendPageInfo();
13352
+ try {
13353
+ runAnimations(currentIndex);
13354
+ callUniLottiesPlay(currentIndex);
13355
+ }
13356
+ catch (error) {
13357
+ console.error("Error in onSlideChange:", error);
13358
+ }
13359
+ if (currentIndex === swiper.slides.length - 1) {
13360
+ upArrow.value = false;
13361
+ }
13362
+ else {
13363
+ upArrow.value = true;
13364
+ }
13365
+ // swiperAnimate(swiper);
13399
13366
  }
13400
- swiperAnimate(swiper);
13367
+ slideChangeTriggered.value = false; // 重置标志位
13401
13368
  };
13402
13369
  // const slideChangeTransitionEnd = (e: any) => {
13403
13370
  // swiperAnimate(e);
@@ -13425,7 +13392,10 @@
13425
13392
  console.log(' switch page -----------');
13426
13393
  console.log(index);
13427
13394
  if (controlledSwiper.value) {
13428
- controlledSwiper.value.slideTo(index, 500);
13395
+ slideChangeTriggered.value = true; // 设置标志位,防止 slideTo 引发的 onSlideChange 触发
13396
+ if (controlledSwiper.value) {
13397
+ controlledSwiper.value.slideTo(index, 500);
13398
+ }
13429
13399
  }
13430
13400
  };
13431
13401
  // 翻到下一页
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unika-components",
3
- "version": "1.0.314",
3
+ "version": "1.0.315",
4
4
  "private": false,
5
5
  "main": "dist/unika-components.umd.js",
6
6
  "module": "dist/unika-components.esm.js",