diff --git a/api/cart.js b/api/cart.js
index 6a38019..9d27a9e 100644
--- a/api/cart.js
+++ b/api/cart.js
@@ -67,6 +67,21 @@ export function settlementOrder(data) {
});
}
+// 秒杀下单
+export function setSeckillOrder(data) {
+ return request({
+ url: "/seckill/order",
+ method: "post",
+ data,
+ // cha:1
+ // headers: {
+ // "Content-Type": "application/x-www-form-urlencoded"
+ // }
+ });
+}
+
+
+// 查询运费
export function getPostageQuery(data) {
return request({
url: "/cart/getPostage",
diff --git a/api/product.js b/api/product.js
index ce9e824..7a3512b 100644
--- a/api/product.js
+++ b/api/product.js
@@ -1,5 +1,5 @@
import request from '@/utils/request.js';
-import {getStorageFun,TOKEN_NAME} from '@/utils/auth.js';
+import { getStorageFun, TOKEN_NAME } from '@/utils/auth.js';
/**
* 搜索商品
@@ -7,9 +7,9 @@ import {getStorageFun,TOKEN_NAME} from '@/utils/auth.js';
*/
export function searchList(params) {
return request({
- url: "/goods/searchList",
- method: "get",
- data:params,
+ url: "/goods/searchList",
+ method: "get",
+ data: params,
});
}
@@ -20,10 +20,10 @@ export function searchList(params) {
*/
export function getGoodsDetail(params) {
return request({
- url: "/goods/getGoodsDetail",
- method: "get",
- data:params,
- });
+ url: "/goods/getGoodsDetail",
+ method: "get",
+ data: params,
+ });
}
@@ -33,61 +33,99 @@ export function getGoodsDetail(params) {
*/
export function addGoods(params) {
return request({
- url: "/cart/addGoods",
- method: "post",
- data:params,
- });
+ url: "/cart/addGoods",
+ method: "post",
+ data: params,
+ });
+}
+/**
+ * 查询规格
+ * @param {Object} params
+ */
+export function getGoodsSpecs(params) {
+ return request({
+ url: "/goods/getGoodsSpecs",
+ method: "get",
+ data: params,
+ });
}
- /**
- * 查询规格
- * @param {Object} params
- */
- export function getGoodsSpecs(params) {
- return request({
- url: "/goods/getGoodsSpecs",
- method: "get",
- data:params,
- });
- }
// 查询商品评价
export function getGoodsReviewsList(params) {
return request({
- url: "/review/getGoodsReviewsList",
- method: "get",
- data:params,
+ url: "/review/getGoodsReviewsList",
+ method: "get",
+ data: params,
});
}
// 评价订单
export function addOrderReviews(params) {
return request({
- url: "/review/addOrderReviews",
- method: "post",
- data:params,
- cha:1
+ url: "/review/addOrderReviews",
+ method: "post",
+ data: params,
+ cha: 1
});
}
// 查询商品评价详情
export function getGoodsReviewsDetails(params) {
return request({
- url: "/review/getGoodsReviewsDetails",
- method: "get",
- data:params,
+ url: "/review/getGoodsReviewsDetails",
+ method: "get",
+ data: params,
});
}
// 评论回复
export function addReviewReply(params) {
return request({
- url: "/review/addReviewReply",
- method: "post",
- data:params,
- cha:1
+ url: "/review/addReviewReply",
+ method: "post",
+ data: params,
+ cha: 1
});
}
// 删除评论
export function deleteReview(params) {
return request({
- url: "/review/deleteReview",
- method: "get",
- data:params,
+ url: "/review/deleteReview",
+ method: "get",
+ data: params,
});
}
+
+// 今日秒杀 --获取activityId
+export function getSeckillCurrent(params) {
+ return request({
+ url: "/seckill/current",
+ method: "get",
+ data: params,
+ });
+}
+
+// 活动预告 --获取activityId
+export function getSeckillPreview(params) {
+ return request({
+ url: "/seckill/preview",
+ method: "get",
+ data: params,
+ });
+}
+
+// 商品列表
+export function getSeckillGoodsList(params) {
+ return request({
+ url: "/seckill/goodsList",
+ method: "get",
+ data: params
+ });
+}
+
+// 商品标签
+export function getGoodsTags(params) {
+ return request({
+ url: "/goods/getGoodsTagList",
+ method: "get",
+ data: params,
+ });
+}
+
+
diff --git a/components/common/product-seckill-card.vue b/components/common/product-seckill-card.vue
index 0760cb4..6d2d8a5 100644
--- a/components/common/product-seckill-card.vue
+++ b/components/common/product-seckill-card.vue
@@ -1,8 +1,9 @@
-
+
-
+
{{ countdownText }}
@@ -10,37 +11,44 @@
-
-
- 限时秒杀
- 限时
-
- V特供
+
+
+
+
+
+
+ {{ item.title }}
-
- {{ item.title || '商品名称' }}
-
-
+
-
+
+
⚡
- 秒杀券立减{{ item.couponAmount || '8.8' }}元
+ 加倍补{{ item.secDiscount || item.subsidy }}元
+
¥
- {{ priceParts.integer }}
- .{{ priceParts.decimal }}
- ¥{{ item.originalPrice || item.price || '0.00' }}
+ {{ item.price }}
+ {{ `${attributes.leftTime ?
+ `只剩${attributes.leftTime}` : ''}` }}
+
-
+
+
@@ -51,12 +59,12 @@
export default {
name: "product-seckill-card",
props: {
- // Product details object
+ // 单个商品
item: {
type: Object,
default: () => ({})
},
- // Control showing countdown bar
+ // 倒计时
showCountdown: {
type: Boolean,
default: true
@@ -65,6 +73,13 @@ export default {
timeObj: {
type: Object,
default: () => ({})
+ },
+ activedType: {
+ type: String,
+ },
+ attributes: {
+ type: Object,
+ default: () => ({})
}
},
data() {
@@ -84,31 +99,20 @@ export default {
}
},
computed: {
- priceParts() {
- const price = String(this.item.price || '0.00');
- const parts = price.split('.');
- return {
- integer: parts[0] || '0',
- decimal: parts[1] || '00'
- };
- },
hasCoupon() {
- return this.item.couponAmount !== undefined || this.item.couponText !== undefined;
+ return this.item.secDiscount || this.item.subsidy;
},
- isSeckill() {
- return this.item.isSeckill !== undefined ? this.item.isSeckill : true;
- },
- isLimitTime() {
- return this.item.isLimitTime !== undefined ? this.item.isLimitTime : true;
- },
- isSpecialSupply() {
- return this.item.isSpecialSupply !== undefined ? this.item.isSpecialSupply : true;
- }
},
beforeDestroy() {
this.clearTimer();
},
methods: {
+ // 商品
+ onSelectProct(item) {
+ uni.navigateTo({
+ url: "/pages/other_package/productInfo/productInfo?id=" + item.id + "&activedType=" + this.activedType + "&activityId=" + item.activityId,
+ });
+ },
startCountdown() {
this.clearTimer();
this.updateCountdown();
@@ -160,11 +164,9 @@ export default {
diff --git a/pages/active/newcomer-exclusive/newcomer-exclusive.vue b/pages/active/newcomer-exclusive/newcomer-exclusive.vue
new file mode 100644
index 0000000..4bdfccd
--- /dev/null
+++ b/pages/active/newcomer-exclusive/newcomer-exclusive.vue
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/active/super-subsidy/super-subsidy.vue b/pages/active/super-subsidy/super-subsidy.vue
new file mode 100644
index 0000000..bf433c2
--- /dev/null
+++ b/pages/active/super-subsidy/super-subsidy.vue
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/home/home.vue b/pages/home/home.vue
index d3b0557..586e9aa 100644
--- a/pages/home/home.vue
+++ b/pages/home/home.vue
@@ -1,1110 +1,1156 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 积分兑换
-
- 好物随心兑
-
-
-
-
-
-
-
-
- 红包抽奖
-
- 现金红包等你拿!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 温馨提示
- 暂未开放
-
-
- 确定
-
-
-
-
-
-
-
-
-
-
-
-
- {{ updateApkObj.content }}
-
-
-
-
- 更新中{{ bannerPercentage }}%
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ newsList[0].title }}
- {{ newsList[0].subTitle }}
- 查看
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/order_package/order_submit/order_submit.vue b/pages/order_package/order_submit/order_submit.vue
index 4ab8b8e..0d962c1 100644
--- a/pages/order_package/order_submit/order_submit.vue
+++ b/pages/order_package/order_submit/order_submit.vue
@@ -1,7 +1,6 @@
-
+
@@ -85,7 +84,7 @@
¥{{
pItem.totalPrice
- }}
+ }}
每件到手价¥{{ pItem.unitPrice }}
@@ -109,7 +108,7 @@
运费{{
getValue(PRODUCT_DELIVERY_TIME, addItem.deliveryTime)
- }}
+ }}
{{ orderInfo.postage ? "¥" + orderInfo.postage : "包邮" }}
@@ -188,7 +187,7 @@
运费
¥{{ orderInfo.postage }}
-
+
+
+ 秒杀价
+
+ 限时秒杀
+ ¥{{
+ allOrderInfo.activity?.activityPrice}}
+
数字积分
@@ -261,11 +268,11 @@
-
-
@@ -287,7 +294,7 @@
-
+
@@ -297,19 +304,17 @@ import { getGoodsDetail } from "@/api/product.js";
import { getAddress } from "@/api/address.js";
import {
PAYMENT_WAY,
- PAYMENT_WAY_,
PRODUCT_DELIVERY_TIME,
getValue,
- WAY_LIST,
} from "@/utils/enumUtils.js";
import {
getSettleList,
settle,
settlementOrder,
updateGoodsNum,
+ setSeckillOrder
} from "@/api/cart.js";
import { getSupportPay } from "@/api/order.js";
-import { feedback } from "@/api/payment.js";
import { assembleAddress } from "@/utils/index.js";
import Header from "@/components/header.vue";
import { getUserInfo } from "@/api/auth.js";
@@ -535,6 +540,10 @@ export default {
parmas["types"] = "1,2,3";
parmas.isDeduction = true;
}
+
+ if(this.sed.activedType == "seckill"){
+ parmas["types"] = "1,2,3";
+ }
const result = await getSupportPay(parmas);
if (result && result.bizcode === 100) {
const data = result.data || [];
@@ -613,13 +622,17 @@ export default {
if (this.isCoupon) {
params.type = -1;
}
+ if (this.sed?.activedType == "seckill") {
+ params.activityId = Number(this.sed?.activityId);
+ params.activityType = "seckill";
+ }
const resp = await getGoodsDetail(params);
if (resp && resp.bizcode === 100) {
const data = resp.data;
this.isPoints = data.type == 3 ? 1 : 0;
this.orderInfo = {
address: null,
- amount: this.sed.goodsNum * this.sed.specsId.price,
+ amount:this.sed?.activedType == "seckill" ? data.activity?.activityPrice :this.sed.goodsNum * this.sed.specsId.price || 0,
postage: 0,
shops: [
{
@@ -886,9 +899,16 @@ export default {
params["goodsId"] = this.sed.id;
params["specsId"] = this.sed.specsId.id;
params["goodsNum"] = this.orderInfo.shops[0].addrTimes[0].goods[0].num;
- if (this.isCoupon) params.payway2 = "vcoin";
- resp = await settlementOrder(params);
+
+ console.log("秦星星params-----", this.sed?.activedType);
+ if (this.sed?.activedType == "seckill") {
+ params["activityId"] = Number(this.sed?.activityId); // 秒杀活动ID
+ resp = await setSeckillOrder(params);
+ } else {
+ if (this.isCoupon) params.payway2 = "vcoin";
+ resp = await settlementOrder(params);
+ }
} else {
params["cartIds"] = this.ids;
if (
@@ -1056,6 +1076,16 @@ export default {
display: flex;
flex-direction: row;
justify-content: space-between;
+
+ .seckill-tag {
+ background: #7934F6;
+ border-radius: 4rpx;
+ font-weight: 600;
+ font-size: 20rpx;
+ color: #FFFFFF;
+ padding: 4rpx 12rpx;
+ margin-right: 8rpx;
+ }
}
.way-option {
@@ -1115,7 +1145,7 @@ export default {
.order_submit_warp {
background-color: $app-bj;
- height: calc(100vh - 200rpx);
+ height: calc(100% - 200rpx - env(safe-area-inset-bottom));
padding: 20rpx;
overflow-y: auto;
}
diff --git a/pages/other_package/productInfo/productInfo.vue b/pages/other_package/productInfo/productInfo.vue
index 702a48b..559e7e8 100644
--- a/pages/other_package/productInfo/productInfo.vue
+++ b/pages/other_package/productInfo/productInfo.vue
@@ -321,7 +321,8 @@
-
+
-
-
@@ -89,46 +71,22 @@