From 7ef82d277f76a6dae055335a606ff8d0fd2f9845 Mon Sep 17 00:00:00 2001
From: 77 <270260644@qq.com>
Date: Tue, 8 Oct 2024 20:11:54 +0800
Subject: [PATCH] 11
---
pages.json | 11 +
pages/activity/point/list.vue | 76 ++
pages/goods/point.vue | 480 +++++++++++
pages/index/page.vue | 3 +-
pages/integration/index.vue | 390 +++++++++
sheep/api/promotion/point.js | 30 +
.../components/s-block-item/s-block-item.vue | 2 +
.../s-goods-column/s-goods-column-jf.vue | 754 ++++++++++++++++++
.../s-goods-column/s-goods-column.vue | 2 +
.../s-groupon-block/s-groupon-block.vue | 41 +-
sheep/components/s-menu-grid/s-menu-grid.vue | 4 +-
.../s-point-block/s-point-block.vue | 328 ++++++++
.../s-seckill-block/s-seckill-block.vue | 387 +++++----
sheep/ui/su-coupon/su-coupon.vue | 11 +-
sheep/util/const.js | 65 ++
15 files changed, 2419 insertions(+), 165 deletions(-)
create mode 100644 pages/activity/point/list.vue
create mode 100644 pages/goods/point.vue
create mode 100644 pages/integration/index.vue
create mode 100644 sheep/api/promotion/point.js
create mode 100644 sheep/components/s-goods-column/s-goods-column-jf.vue
create mode 100644 sheep/components/s-point-block/s-point-block.vue
diff --git a/pages.json b/pages.json
index da6207c..fdc3184 100644
--- a/pages.json
+++ b/pages.json
@@ -190,6 +190,17 @@
"group": "商品"
}
},
+ {
+ "path": "point",
+ "style": {
+ "navigationBarTitleText": "积分商品"
+ },
+ "meta": {
+ "sync": true,
+ "title": "积分商品",
+ "group": "商品"
+ }
+ },
{
"path": "sales",
"style": {
diff --git a/pages/activity/point/list.vue b/pages/activity/point/list.vue
new file mode 100644
index 0000000..129f988
--- /dev/null
+++ b/pages/activity/point/list.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/goods/point.vue b/pages/goods/point.vue
new file mode 100644
index 0000000..b5d44e3
--- /dev/null
+++ b/pages/goods/point.vue
@@ -0,0 +1,480 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ getShowPrice.point }}
+ {{ !getShowPrice.price || getShowPrice.price === 0 ? '' : `+¥${getShowPrice.price}` }}
+
+
+
+ {{ formatExchange(state.goodsInfo.sales_show_type, state.goodsInfo.sales) }}
+
+
+
+ 原价:¥{{ fen2yuan(state.selectedSku.marketPrice || state.goodsInfo.marketPrice) }}
+
+ {{ state.goodsInfo.name || '' }}
+ {{ state.goodsInfo.introduction }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/page.vue b/pages/index/page.vue
index a54586b..b5d8ef3 100644
--- a/pages/index/page.vue
+++ b/pages/index/page.vue
@@ -3,7 +3,6 @@
{
- let id = options.id;
+ let id = options.id
// #ifdef MP
// 小程序预览自定义页面
diff --git a/pages/integration/index.vue b/pages/integration/index.vue
new file mode 100644
index 0000000..0b1920c
--- /dev/null
+++ b/pages/integration/index.vue
@@ -0,0 +1,390 @@
+
+
+
+
+
+ 积分商品
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sheep/api/promotion/point.js b/sheep/api/promotion/point.js
new file mode 100644
index 0000000..d4e17b8
--- /dev/null
+++ b/sheep/api/promotion/point.js
@@ -0,0 +1,30 @@
+import request from '@/sheep/request';
+
+const PointApi = {
+ // 获得积分商城活动分页
+ getPointActivityPage: (params) => {
+ return request({ url: 'promotion/point-activity/page', method: 'GET', params });
+ },
+
+ // 获得积分商城活动列表,基于活动编号数组
+ getPointActivityListByIds: (ids) => {
+ return request({
+ url: '/promotion/point-activity/list-by-ids',
+ method: 'GET',
+ params: {
+ ids,
+ },
+ });
+ },
+
+ // 获得积分商城活动明细
+ getPointActivity: (id) => {
+ return request({
+ url: 'promotion/point-activity/get-detail',
+ method: 'GET',
+ params: { id },
+ });
+ },
+};
+
+export default PointApi;
diff --git a/sheep/components/s-block-item/s-block-item.vue b/sheep/components/s-block-item/s-block-item.vue
index 16562a9..2541b38 100644
--- a/sheep/components/s-block-item/s-block-item.vue
+++ b/sheep/components/s-block-item/s-block-item.vue
@@ -40,6 +40,8 @@
+
+
diff --git a/sheep/components/s-goods-column/s-goods-column-jf.vue b/sheep/components/s-goods-column/s-goods-column-jf.vue
new file mode 100644
index 0000000..90d002d
--- /dev/null
+++ b/sheep/components/s-goods-column/s-goods-column-jf.vue
@@ -0,0 +1,754 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.title || data.name }}
+
+
+ {{ priceUnit }}
+ {{ isArray(data.price) ? fen2yuan(data.price[0]) : fen2yuan(data.price) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.title || data.name }}
+
+
+ {{ priceUnit }}
+ {{ isArray(data.price) ? fen2yuan(data.price[0]) : fen2yuan(data.price) }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.title || data.name }}
+
+
+ {{ data.subtitle || data.introduction }}
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ priceUnit }}
+ {{ isArray(data.price) ? fen2yuan(data.price[0]) : fen2yuan(data.price) }}
+
+
+
+ {{ priceUnit }}
+ {{ fen2yuan(data.marketPrice) }}
+
+
+
+
+ {{ salesAndStock }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 秒杀
+
+ 拼团
+
+
+
+
+
+ {{ data.title || data.name }}
+
+
+ {{ data.subtitle || data.introduction }}
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ priceUnit }}
+ {{ isArray(data.price) ? fen2yuan(data.price[0]) : fen2yuan(data.price) }}
+
+
+ {{ priceUnit }}
+ {{ fen2yuan(data.marketPrice) }}
+
+
+
+ {{ salesAndStock }}
+
+
+
+
+
+ 立即兑换
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ data.title || data.name }}
+
+
+ {{ data.subtitle || data.introduction }}
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ priceUnit }}
+ {{ isArray(data.price) ? fen2yuan(data.price[0]) : fen2yuan(data.price) }}
+
+
+ {{ priceUnit }}
+ {{ fen2yuan(data.marketPrice) }}
+
+
+
+ {{ salesAndStock }}
+
+
+
+
+ 立即兑换
+
+
+
+
+
+
+
diff --git a/sheep/components/s-goods-column/s-goods-column.vue b/sheep/components/s-goods-column/s-goods-column.vue
index 3781f4b..a9e12da 100644
--- a/sheep/components/s-goods-column/s-goods-column.vue
+++ b/sheep/components/s-goods-column/s-goods-column.vue
@@ -485,6 +485,7 @@
.tag-icon {
width: 72rpx;
height: 44rpx;
+ border-radius:8px;
}
}
.seckill-tag {
@@ -587,6 +588,7 @@
// width: 228rpx;
width: 100%;
height: 208rpx;
+ border-radius:8px;
}
.sm-goods-content {
padding: 20rpx 16rpx;
diff --git a/sheep/components/s-groupon-block/s-groupon-block.vue b/sheep/components/s-groupon-block/s-groupon-block.vue
index c176403..35b8a71 100644
--- a/sheep/components/s-groupon-block/s-groupon-block.vue
+++ b/sheep/components/s-groupon-block/s-groupon-block.vue
@@ -7,12 +7,16 @@
-
-
-
- 92人拼团成功
+
+
+
+ 拼团活动
+
+ 92人拼团成功
+
+
@@ -226,4 +230,31 @@
:deep(.sm-goods-card) {
background: transparent;
}
+
+ .wh {
+
+ display: flex;
+ align-items: center;
+ .new-text1{
+ width:30px;
+ height:30px;
+ }
+ .new-text{
+ position: relative;
+ font-weight: 700;
+ padding-right: 10px;
+ &::after {
+ position: absolute;
+ content: "";
+ top: 50%;
+ right: 0;
+ width: 1px;
+ height: 57%;
+ border-right: 1px solid #ababab;
+ transform: translateY(-50%);
+ }
+ }
+ }
+
+
\ No newline at end of file
diff --git a/sheep/components/s-menu-grid/s-menu-grid.vue b/sheep/components/s-menu-grid/s-menu-grid.vue
index 518d6ed..7e93df9 100644
--- a/sheep/components/s-menu-grid/s-menu-grid.vue
+++ b/sheep/components/s-menu-grid/s-menu-grid.vue
@@ -44,8 +44,8 @@
diff --git a/sheep/components/s-seckill-block/s-seckill-block.vue b/sheep/components/s-seckill-block/s-seckill-block.vue
index 88eb48f..3314108 100644
--- a/sheep/components/s-seckill-block/s-seckill-block.vue
+++ b/sheep/components/s-seckill-block/s-seckill-block.vue
@@ -1,30 +1,39 @@
-
-
-
-
-
+
+
+
-
-
+
-
-
-
+
-
+
-
+ ">
+
+
-
+
+ .wh {
+ position: relative;
+ padding-right: 10px;
+ display: flex;
+ align-items: center;
+
+ .new-text1 {
+ width: 30px;
+ height:30px;
+ }
+
+ .new-text {
+ font-weight: 700;
+ }
+ }
+
+ .wh::after {
+ position: absolute;
+ content: "";
+ top: 50%;
+ right: 0;
+ width: 1px;
+ height: 57%;
+ border-right: 1px solid #ababab;
+ transform: translateY(-50%);
+ }
+
\ No newline at end of file
diff --git a/sheep/ui/su-coupon/su-coupon.vue b/sheep/ui/su-coupon/su-coupon.vue
index b8b0ce0..4d6c84e 100644
--- a/sheep/ui/su-coupon/su-coupon.vue
+++ b/sheep/ui/su-coupon/su-coupon.vue
@@ -85,14 +85,17 @@
仅剩:{{ props.surplus }}张
-->
+
@@ -250,7 +253,7 @@
// md
.md-coupon-card {
- width: 330rpx;
+ width: 296rpx;
height: 74px;
border-radius: 10rpx;
overflow: hidden;
diff --git a/sheep/util/const.js b/sheep/util/const.js
index ca65656..ec6078d 100644
--- a/sheep/util/const.js
+++ b/sheep/util/const.js
@@ -1,3 +1,36 @@
+// ========== COMMON - 公共模块 ==========
+
+/**
+ * 与后端Terminal枚举一一对应
+ */
+export const TerminalEnum = {
+ UNKNOWN: 0, // 未知, 目的:在无法解析到 terminal 时,使用它
+ WECHAT_MINI_PROGRAM: 10, //微信小程序
+ WECHAT_WAP: 11, // 微信公众号
+ H5: 20, // H5 网页
+ APP: 31, // 手机 App
+};
+
+/**
+ * 将 uni-app 提供的平台转换为后端所需的 terminal值
+ *
+ * @return 终端
+ */
+export const getTerminal = () => {
+ const platformType = uni.getSystemInfoSync().uniPlatform;
+ // 与后端terminal枚举一一对应
+ switch (platformType) {
+ case 'app':
+ return TerminalEnum.APP;
+ case 'web':
+ return TerminalEnum.H5;
+ case 'mp-weixin':
+ return TerminalEnum.WECHAT_MINI_PROGRAM;
+ default:
+ return TerminalEnum.UNKNOWN;
+ }
+};
+
// ========== MALL - 营销模块 ==========
import dayjs from 'dayjs';
@@ -48,6 +81,7 @@ export const PromotionProductScopeEnum = {
},
};
+
// 时间段的状态枚举
export const TimeStatusEnum = {
WAIT_START: '即将开始',
@@ -55,6 +89,37 @@ export const TimeStatusEnum = {
END: '已结束',
};
+/**
+ * 微信小程序的订阅模版
+ */
+export const WxaSubscribeTemplate = {
+ TRADE_ORDER_DELIVERY: '订单发货通知',
+ PROMOTION_COMBINATION_SUCCESS: '拼团结果通知',
+ PAY_WALLET_RECHARGER_SUCCESS: '充值成功通知',
+};
+export const PromotionActivityTypeEnum = {
+ NORMAL: {
+ type: 0,
+ name: '普通',
+ },
+ SECKILL: {
+ type: 1,
+ name: '秒杀',
+ },
+ BARGAIN: {
+ type: 2,
+ name: '砍价',
+ },
+ COMBINATION: {
+ type: 3,
+ name: '拼团',
+ },
+ POINT: {
+ type: 4,
+ name: '积分商城',
+ },
+};
+
export const getTimeStatusEnum = (startTime, endTime) => {
const now = dayjs();
if (now.isBefore(startTime)) {