sa2kit 1.6.75 → 1.6.78
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.
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var React11 = require('react');
|
|
4
4
|
var components = require('@tarojs/components');
|
|
5
|
-
var
|
|
5
|
+
var Taro2 = require('@tarojs/taro');
|
|
6
6
|
|
|
7
7
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
8
|
|
|
9
9
|
var React11__default = /*#__PURE__*/_interopDefault(React11);
|
|
10
|
-
var
|
|
10
|
+
var Taro2__default = /*#__PURE__*/_interopDefault(Taro2);
|
|
11
11
|
|
|
12
12
|
// src/showmasterpiece/ui/miniapp/components/PageHeader.tsx
|
|
13
13
|
var PageHeader = ({ title, subtitle, actions, cta }) => {
|
|
@@ -40,12 +40,6 @@ function CategoryTabs({
|
|
|
40
40
|
activeValue,
|
|
41
41
|
onChange
|
|
42
42
|
}) {
|
|
43
|
-
const total = items.length || 1;
|
|
44
|
-
const activeIndex = Math.max(
|
|
45
|
-
items.findIndex((item) => item.value === activeValue),
|
|
46
|
-
0
|
|
47
|
-
);
|
|
48
|
-
const progressWidth = `${(activeIndex + 1) / total * 100}%`;
|
|
49
43
|
return /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "mt-3" }, /* @__PURE__ */ React11__default.default.createElement(components.ScrollView, { scrollX: true, showScrollbar: true }, /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "flex gap-3 pb-1" }, items.map((item) => {
|
|
50
44
|
const isActive = activeValue === item.value;
|
|
51
45
|
return /* @__PURE__ */ React11__default.default.createElement(
|
|
@@ -65,7 +59,7 @@ function CategoryTabs({
|
|
|
65
59
|
" \u4E2A"
|
|
66
60
|
)
|
|
67
61
|
);
|
|
68
|
-
})))
|
|
62
|
+
}))));
|
|
69
63
|
}
|
|
70
64
|
var CategoryTabs_default = CategoryTabs;
|
|
71
65
|
|
|
@@ -563,7 +557,7 @@ var createTaroExecutor = () => {
|
|
|
563
557
|
data,
|
|
564
558
|
headers
|
|
565
559
|
}) => {
|
|
566
|
-
const response = await
|
|
560
|
+
const response = await Taro2__default.default.request({
|
|
567
561
|
url,
|
|
568
562
|
method,
|
|
569
563
|
data,
|
|
@@ -812,18 +806,55 @@ var ShowMasterpieceMiniappPage = ({
|
|
|
812
806
|
cancelPopup
|
|
813
807
|
} = useDeadlinePopupWechat_default("showmasterpiece", "homepage_visit", apiBaseUrl);
|
|
814
808
|
React11.useEffect(() => {
|
|
809
|
+
try {
|
|
810
|
+
Taro2__default.default.setStorageSync("__cy_mps_boot_ready__", true);
|
|
811
|
+
Taro2__default.default.setStorageSync("__cy_mps_boot_retry_once__", false);
|
|
812
|
+
} catch (error2) {
|
|
813
|
+
console.error("[ShowMasterpieceMiniappPage] boot ready sync failed", error2);
|
|
814
|
+
}
|
|
815
|
+
}, []);
|
|
816
|
+
React11.useEffect(() => {
|
|
817
|
+
const withTimeout = async (task, timeoutMs, fallbackMessage) => {
|
|
818
|
+
let timer;
|
|
819
|
+
try {
|
|
820
|
+
return await Promise.race([
|
|
821
|
+
task,
|
|
822
|
+
new Promise((_, reject) => {
|
|
823
|
+
timer = setTimeout(() => reject(new Error(fallbackMessage)), timeoutMs);
|
|
824
|
+
})
|
|
825
|
+
]);
|
|
826
|
+
} finally {
|
|
827
|
+
if (timer) {
|
|
828
|
+
clearTimeout(timer);
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
};
|
|
815
832
|
const loadCollections = async () => {
|
|
816
833
|
setLoading(true);
|
|
817
834
|
setError(null);
|
|
818
835
|
try {
|
|
819
|
-
const [
|
|
820
|
-
getCollectionsOverview(apiBaseUrl),
|
|
821
|
-
getCategories(apiBaseUrl)
|
|
836
|
+
const [collectionsResult, categoriesResult] = await Promise.allSettled([
|
|
837
|
+
withTimeout(getCollectionsOverview(apiBaseUrl), 12e3, "\u5546\u54C1\u6570\u636E\u52A0\u8F7D\u8D85\u65F6"),
|
|
838
|
+
withTimeout(getCategories(apiBaseUrl), 8e3, "\u5206\u7C7B\u6570\u636E\u52A0\u8F7D\u8D85\u65F6")
|
|
822
839
|
]);
|
|
823
|
-
|
|
824
|
-
|
|
840
|
+
if (collectionsResult.status === "fulfilled") {
|
|
841
|
+
setCollections(Array.isArray(collectionsResult.value) ? collectionsResult.value : []);
|
|
842
|
+
} else {
|
|
843
|
+
setCollections([]);
|
|
844
|
+
setError(collectionsResult.reason instanceof Error ? collectionsResult.reason.message : "\u5546\u54C1\u52A0\u8F7D\u5931\u8D25");
|
|
845
|
+
}
|
|
846
|
+
if (categoriesResult.status === "fulfilled") {
|
|
847
|
+
setCategoryOptions(Array.isArray(categoriesResult.value) ? categoriesResult.value : []);
|
|
848
|
+
} else {
|
|
849
|
+
setCategoryOptions([]);
|
|
850
|
+
if (collectionsResult.status === "fulfilled") {
|
|
851
|
+
setError("\u5206\u7C7B\u52A0\u8F7D\u5931\u8D25\uFF0C\u5DF2\u4F7F\u7528\u9ED8\u8BA4\u5206\u7C7B\u5C55\u793A");
|
|
852
|
+
}
|
|
853
|
+
}
|
|
825
854
|
} catch (err) {
|
|
826
855
|
setError(err instanceof Error ? err.message : "\u52A0\u8F7D\u5546\u54C1\u5931\u8D25");
|
|
856
|
+
setCollections([]);
|
|
857
|
+
setCategoryOptions([]);
|
|
827
858
|
} finally {
|
|
828
859
|
setLoading(false);
|
|
829
860
|
}
|
|
@@ -833,7 +864,7 @@ var ShowMasterpieceMiniappPage = ({
|
|
|
833
864
|
React11.useEffect(() => {
|
|
834
865
|
setCartCount(getCart().totalQuantity);
|
|
835
866
|
}, []);
|
|
836
|
-
|
|
867
|
+
Taro2.useDidShow(() => {
|
|
837
868
|
setCartCount(getCart().totalQuantity);
|
|
838
869
|
});
|
|
839
870
|
React11.useEffect(() => {
|
|
@@ -881,13 +912,13 @@ var ShowMasterpieceMiniappPage = ({
|
|
|
881
912
|
[collections, activeCategory]
|
|
882
913
|
);
|
|
883
914
|
const goToCart = () => {
|
|
884
|
-
|
|
915
|
+
Taro2__default.default.navigateTo({ url: "/pages/cart/index" });
|
|
885
916
|
};
|
|
886
917
|
const goToHistory = () => {
|
|
887
|
-
|
|
918
|
+
Taro2__default.default.navigateTo({ url: "/pages/history/index" });
|
|
888
919
|
};
|
|
889
920
|
const goToTop = () => {
|
|
890
|
-
|
|
921
|
+
Taro2__default.default.pageScrollTo({ scrollTop: 0, duration: 300 });
|
|
891
922
|
};
|
|
892
923
|
const handleAddToCart = (collection) => {
|
|
893
924
|
const normalizedCollection = {
|
|
@@ -896,7 +927,7 @@ var ShowMasterpieceMiniappPage = ({
|
|
|
896
927
|
};
|
|
897
928
|
const next = addToCart(normalizedCollection, 1);
|
|
898
929
|
setCartCount(next.totalQuantity);
|
|
899
|
-
|
|
930
|
+
Taro2__default.default.showToast({ title: "\u5DF2\u52A0\u5165\u8D2D\u7269\u8F66", icon: "success" });
|
|
900
931
|
};
|
|
901
932
|
return /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "min-h-screen bg-gradient-to-br from-white to-prussian-blue-100 pb-12 text-rich-black" }, /* @__PURE__ */ React11__default.default.createElement(
|
|
902
933
|
PageHeader_default,
|
|
@@ -904,7 +935,7 @@ var ShowMasterpieceMiniappPage = ({
|
|
|
904
935
|
title: "\u8471\u97F5\u9B54\u6CD5\u5C4B",
|
|
905
936
|
subtitle: "\u8471\u97F5\u73AF\u4EAC\u7684\u8C37\u5B50\u7F51\u7AD9\uFF0C\u8BF7\u5927\u5BB6\u5C3D\u60C5\u9274\u8D4F\u8001\u5E08\u4EEC\u7684\u4F5C\u54C1\u5427\uFF01"
|
|
906
937
|
}
|
|
907
|
-
), /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "mx-4 mt-4 rounded-3xl border border-
|
|
938
|
+
), /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "mx-4 mt-4 rounded-3xl border border-teal-200 bg-teal-50 p-4 shadow-sm" }, /* @__PURE__ */ React11__default.default.createElement(components.Text, { className: "text-base font-semibold text-rich-black" }, "\u5206\u7C7B\u6D4F\u89C8"), /* @__PURE__ */ React11__default.default.createElement(components.Text, { className: "mt-1 block text-xs text-teal-700" }, "\u6309\u5206\u7C7B\u5FEB\u901F\u7B5B\u9009\u5546\u54C1\u5185\u5BB9"), /* @__PURE__ */ React11__default.default.createElement(
|
|
908
939
|
CategoryTabs_default,
|
|
909
940
|
{
|
|
910
941
|
items: categories2,
|
|
@@ -981,7 +1012,7 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
981
1012
|
React11.useEffect(() => {
|
|
982
1013
|
refreshCart();
|
|
983
1014
|
}, []);
|
|
984
|
-
|
|
1015
|
+
Taro2.useDidShow(() => {
|
|
985
1016
|
refreshCart();
|
|
986
1017
|
});
|
|
987
1018
|
const handleUpdateQuantity = (collectionId, quantity) => {
|
|
@@ -1005,9 +1036,9 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1005
1036
|
nextErrors.qqNumber = "QQ\u53F7\u683C\u5F0F\u4E0D\u6B63\u786E";
|
|
1006
1037
|
}
|
|
1007
1038
|
if (!phone) {
|
|
1008
|
-
nextErrors.phoneNumber = "\u8BF7\u8F93\u5165\
|
|
1039
|
+
nextErrors.phoneNumber = "\u8BF7\u8F93\u5165\u8054\u7CFB\u65B9\u5F0F";
|
|
1009
1040
|
} else if (!/^1[3-9]\d{9}$/.test(phone)) {
|
|
1010
|
-
nextErrors.phoneNumber = "\
|
|
1041
|
+
nextErrors.phoneNumber = "\u8054\u7CFB\u65B9\u5F0F\u683C\u5F0F\u4E0D\u6B63\u786E";
|
|
1011
1042
|
}
|
|
1012
1043
|
if (!pickup) {
|
|
1013
1044
|
nextErrors.pickupMethod = "\u8BF7\u586B\u5199\u9886\u53D6\u65B9\u5F0F";
|
|
@@ -1020,11 +1051,11 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1020
1051
|
};
|
|
1021
1052
|
const performCheckout = async () => {
|
|
1022
1053
|
if (!cartItems.length) {
|
|
1023
|
-
|
|
1054
|
+
Taro2__default.default.showToast({ title: "\u8D2D\u7269\u8F66\u4E3A\u7A7A", icon: "none" });
|
|
1024
1055
|
return;
|
|
1025
1056
|
}
|
|
1026
1057
|
if (!validateForm()) {
|
|
1027
|
-
|
|
1058
|
+
Taro2__default.default.showToast({ title: "\u8BF7\u5148\u4FEE\u6B63\u8868\u5355\u9519\u8BEF", icon: "none" });
|
|
1028
1059
|
return;
|
|
1029
1060
|
}
|
|
1030
1061
|
setSubmitting(true);
|
|
@@ -1047,9 +1078,9 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1047
1078
|
setNotes("");
|
|
1048
1079
|
setShippingInfo("");
|
|
1049
1080
|
setFormErrors({});
|
|
1050
|
-
|
|
1081
|
+
Taro2__default.default.showToast({ title: "\u9884\u8BA2\u63D0\u4EA4\u6210\u529F", icon: "success" });
|
|
1051
1082
|
} catch (error) {
|
|
1052
|
-
|
|
1083
|
+
Taro2__default.default.showToast({
|
|
1053
1084
|
title: error instanceof Error ? error.message : "\u63D0\u4EA4\u5931\u8D25",
|
|
1054
1085
|
icon: "none"
|
|
1055
1086
|
});
|
|
@@ -1060,7 +1091,7 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1060
1091
|
};
|
|
1061
1092
|
const handleCheckout = async () => {
|
|
1062
1093
|
if (!validateForm()) {
|
|
1063
|
-
|
|
1094
|
+
Taro2__default.default.showToast({ title: "\u8BF7\u5148\u4FEE\u6B63\u8868\u5355\u9519\u8BEF", icon: "none" });
|
|
1064
1095
|
return;
|
|
1065
1096
|
}
|
|
1066
1097
|
const activePopups = await triggerCheck();
|
|
@@ -1095,7 +1126,7 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1095
1126
|
const handleClearCart = () => {
|
|
1096
1127
|
clearCart();
|
|
1097
1128
|
setCart(getCart());
|
|
1098
|
-
|
|
1129
|
+
Taro2__default.default.showToast({ title: "\u8D2D\u7269\u8F66\u5DF2\u6E05\u7A7A", icon: "success" });
|
|
1099
1130
|
};
|
|
1100
1131
|
return /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "min-h-screen bg-gradient-to-br from-white to-prussian-blue-100 pb-12 text-rich-black" }, /* @__PURE__ */ React11__default.default.createElement(PageHeader_default, { title: "\u8D2D\u7269\u8F66", subtitle: "\u786E\u8BA4\u753B\u96C6\u6570\u91CF\u5E76\u63D0\u4EA4\u9884\u8BA2" }), /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "mx-4 mt-5 flex flex-col gap-4" }, cartItems.length === 0 ? /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "rounded-2xl bg-white px-4 py-8 text-center text-sm text-prussian-blue-600 shadow-md" }, "\u8D2D\u7269\u8F66\u6682\u65E0\u753B\u96C6") : cartItems.map((item) => /* @__PURE__ */ React11__default.default.createElement(
|
|
1101
1132
|
CartItemCard_default,
|
|
@@ -1119,9 +1150,9 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1119
1150
|
), /* @__PURE__ */ React11__default.default.createElement(
|
|
1120
1151
|
FormInput,
|
|
1121
1152
|
{
|
|
1122
|
-
label: "\
|
|
1153
|
+
label: "\u8054\u7CFB\u65B9\u5F0F *",
|
|
1123
1154
|
value: phoneNumber,
|
|
1124
|
-
placeholder: "\u8BF7\u8F93\u5165\u60A8\u7684\
|
|
1155
|
+
placeholder: "\u8BF7\u8F93\u5165\u60A8\u7684\u8054\u7CFB\u65B9\u5F0F",
|
|
1125
1156
|
onChange: setPhoneNumber,
|
|
1126
1157
|
disabled: submitting,
|
|
1127
1158
|
error: formErrors.phoneNumber
|
|
@@ -1141,7 +1172,7 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1141
1172
|
{
|
|
1142
1173
|
label: "\u6536\u8D27\u4FE1\u606F *",
|
|
1143
1174
|
value: shippingInfo,
|
|
1144
|
-
placeholder: "\u8BF7\u586B\u51992\u670810\u53F7\u4EE5\u540E\u80FD\u6536\u5230\u8D27\u7684\u5730\u5740\n\uFF081\uFF09\u6536\u4EF6\u4EBA\n\uFF082\uFF09\u6536\u4EF6\u5730\u5740\n\uFF083\uFF09\u6536\u4EF6\
|
|
1175
|
+
placeholder: "\u8BF7\u586B\u51992\u670810\u53F7\u4EE5\u540E\u80FD\u6536\u5230\u8D27\u7684\u5730\u5740\n\uFF081\uFF09\u6536\u4EF6\u4EBA\n\uFF082\uFF09\u6536\u4EF6\u5730\u5740\n\uFF083\uFF09\u6536\u4EF6\u8054\u7CFB\u65B9\u5F0F",
|
|
1145
1176
|
onChange: setShippingInfo,
|
|
1146
1177
|
disabled: submitting,
|
|
1147
1178
|
error: formErrors.pickupMethod
|
|
@@ -1156,10 +1187,10 @@ var CartMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1156
1187
|
), /* @__PURE__ */ React11__default.default.createElement(
|
|
1157
1188
|
components.View,
|
|
1158
1189
|
{
|
|
1159
|
-
className: `flex h-11 flex-1 items-center justify-center rounded-xl ${submitting ? "bg-
|
|
1190
|
+
className: `flex h-11 flex-1 items-center justify-center rounded-xl ${submitting ? "bg-teal-300" : "bg-teal-600 shadow-lg"}`,
|
|
1160
1191
|
onClick: submitting ? void 0 : handleCheckout
|
|
1161
1192
|
},
|
|
1162
|
-
/* @__PURE__ */ React11__default.default.createElement(components.Text, { className: "text-sm font-semibold text-white" }, submitting ? "\u63D0\u4EA4\u4E2D..." : "\
|
|
1193
|
+
/* @__PURE__ */ React11__default.default.createElement(components.Text, { className: "text-sm font-semibold text-white" }, submitting ? "\u63D0\u4EA4\u4E2D..." : "\u63D0\u4EA4\u7533\u8BF7")
|
|
1163
1194
|
)), /* @__PURE__ */ React11__default.default.createElement(components.Text, { className: "mt-3 block text-right text-sm font-semibold text-rich-black" }, "\u5408\u8BA1\uFF1A", totalPriceLabel)), /* @__PURE__ */ React11__default.default.createElement(
|
|
1164
1195
|
DeadlinePopup_default,
|
|
1165
1196
|
{
|
|
@@ -1180,7 +1211,7 @@ var HistoryMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1180
1211
|
const [hasSearched, setHasSearched] = React11.useState(false);
|
|
1181
1212
|
const handleSearch = async () => {
|
|
1182
1213
|
if (!qqNumber.trim() && !phoneNumber.trim()) {
|
|
1183
|
-
|
|
1214
|
+
Taro2__default.default.showToast({ title: "\u8BF7\u8F93\u5165QQ\u53F7\u6216\u8054\u7CFB\u65B9\u5F0F", icon: "none" });
|
|
1184
1215
|
return;
|
|
1185
1216
|
}
|
|
1186
1217
|
setLoading(true);
|
|
@@ -1219,7 +1250,7 @@ var HistoryMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1219
1250
|
completedCount
|
|
1220
1251
|
};
|
|
1221
1252
|
}, [records]);
|
|
1222
|
-
return /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "min-h-screen bg-gradient-to-br from-white to-prussian-blue-100 pb-12 text-rich-black" }, /* @__PURE__ */ React11__default.default.createElement(PageHeader_default, { title: "\u5386\u53F2\u8BB0\u5F55\u67E5\u8BE2", subtitle: "\u8F93\u5165 QQ \u6216\
|
|
1253
|
+
return /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "min-h-screen bg-gradient-to-br from-white to-prussian-blue-100 pb-12 text-rich-black" }, /* @__PURE__ */ React11__default.default.createElement(PageHeader_default, { title: "\u5386\u53F2\u8BB0\u5F55\u67E5\u8BE2", subtitle: "\u8F93\u5165 QQ \u6216\u8054\u7CFB\u65B9\u5F0F\u67E5\u8BE2\u9884\u8BA2\u8BB0\u5F55" }), /* @__PURE__ */ React11__default.default.createElement(components.View, { className: "mx-4 mt-5 rounded-3xl border border-prussian-blue-200 bg-white px-5 py-5 shadow-sm" }, /* @__PURE__ */ React11__default.default.createElement(
|
|
1223
1254
|
FormInput,
|
|
1224
1255
|
{
|
|
1225
1256
|
label: "QQ\u53F7",
|
|
@@ -1231,16 +1262,20 @@ var HistoryMiniappPage = ({ apiBaseUrl = DEFAULT_BASE_URL }) => {
|
|
|
1231
1262
|
), /* @__PURE__ */ React11__default.default.createElement(
|
|
1232
1263
|
FormInput,
|
|
1233
1264
|
{
|
|
1234
|
-
label: "\
|
|
1265
|
+
label: "\u8054\u7CFB\u65B9\u5F0F",
|
|
1235
1266
|
value: phoneNumber,
|
|
1236
|
-
placeholder: "\u8BF7\u8F93\u5165\
|
|
1267
|
+
placeholder: "\u8BF7\u8F93\u5165\u8054\u7CFB\u65B9\u5F0F",
|
|
1237
1268
|
onChange: setPhoneNumber,
|
|
1238
1269
|
disabled: loading
|
|
1239
1270
|
}
|
|
1240
1271
|
), /* @__PURE__ */ React11__default.default.createElement(
|
|
1241
1272
|
components.View,
|
|
1242
1273
|
{
|
|
1243
|
-
className:
|
|
1274
|
+
className: "mt-5 flex h-10 w-full items-center justify-center rounded-full",
|
|
1275
|
+
style: {
|
|
1276
|
+
backgroundColor: loading ? "#93C5FD" : "#2563EB",
|
|
1277
|
+
boxShadow: loading ? "none" : "0 8px 20px rgba(37, 99, 235, 0.28)"
|
|
1278
|
+
},
|
|
1244
1279
|
onClick: loading ? void 0 : handleSearch
|
|
1245
1280
|
},
|
|
1246
1281
|
/* @__PURE__ */ React11__default.default.createElement(components.Text, { className: "text-sm font-semibold text-white" }, loading ? "\u67E5\u8BE2\u4E2D..." : "\u67E5\u8BE2\u8BB0\u5F55")
|