feat(mall): live group-buying page with open or join intent

The group-buying page lists active activities, the group price against the
catalog price, and each open group with its paid-member count and expiry. A
shopper opens a group or picks one to join; either way the activity SKU goes
into the cart and the intent is carried to checkout, which submits it and hides
the coupon picker for that order. Payment and order detail show the snapshotted
group price.

The group-buying fixtures leave the page; the fixed-data adapter still serves
the domain as the rollback path.
This commit is contained in:
2026-09-18 13:22:47 +00:00
parent a7bc476251
commit e540b91491
9 changed files with 338 additions and 26 deletions
+12 -2
View File
@@ -19,7 +19,12 @@ export default {
collectiveBannerAlt: "Group deal promotion",
peopleGroup: "{n} people group",
peopleJoined: "{n} people joined",
joinGroup: "View deal",
joinGroup: "Join",
openGroup: "Open a group",
chooseGroup: "Choose a group to join.",
groupFailed: "Unable to start the group order.",
paidMembers: "{n}/{total} joined",
noOpenGroups: "No open groups yet.",
noCollectiveProducts: "No group deals right now.",
integralTitle: "Points mall",
integralBreadcrumb: "Points mall",
@@ -79,7 +84,12 @@ export default {
collectiveBannerAlt: "拼团活动",
peopleGroup: "{n}人团",
peopleJoined: "{n}人已拼",
joinGroup: "查看详情",
joinGroup: "去拼团",
openGroup: "我要开团",
chooseGroup: "请选择一个团。",
groupFailed: "拼团下单失败,请稍后重试。",
paidMembers: "已参团 {n}/{total}",
noOpenGroups: "暂无进行中的团。",
noCollectiveProducts: "当前暂无拼团商品。",
integralTitle: "积分商城",
integralBreadcrumb: "积分商城",