diff --git a/manifest.json b/manifest.json
index 4732b6d..ac575db 100644
--- a/manifest.json
+++ b/manifest.json
@@ -3,7 +3,7 @@
"appid": "__UNI__460BC4C",
"description": "基于 uni-app + Vue3 技术驱动的在线商城系统,内含诸多功能与丰富的活动,期待您的使用和反馈。",
"versionName": "2.1.0",
- "versionCode": 183,
+ "versionCode": "183",
"transformPx": false,
"app-plus": {
"usingComponents": true,
@@ -188,7 +188,8 @@
"setting": {
"urlCheck": false,
"minified": true,
- "postcss": true
+ "postcss": false,
+ "es6": false
},
"optimization": {
"subPackages": true
@@ -236,4 +237,4 @@
"_spaceID": "192b4892-5452-4e1d-9f09-eee1ece40639",
"locale": "zh-Hans",
"fallbackLocale": "zh-Hans"
-}
+}
\ No newline at end of file
diff --git a/pages/user/goods_details_store/index.vue b/pages/user/goods_details_store/index.vue
index 07b6850..92ef2d0 100644
--- a/pages/user/goods_details_store/index.vue
+++ b/pages/user/goods_details_store/index.vue
@@ -75,7 +75,6 @@
const jsWxSdk = sheep.$platform.useProvider('wechat').jsWxSdk;
if (jsWxSdk.isWechat()) {
jsWxSdk.getLocation((res) => {
- console.log(res);
state.user_latitude = res.latitude;
state.user_longitude = res.longitude;
uni.setStorageSync(LATITUDE, res.latitude);
@@ -92,7 +91,8 @@
state.user_longitude = res.longitude;
uni.setStorageSync(LATITUDE, res.latitude);
uni.setStorageSync(LONGITUDE, res.longitude);
- } catch {
+ } catch (e) {
+ console.error(e);
}
getList();
},
@@ -172,7 +172,7 @@
state.user_latitude = uni.getStorageSync(LATITUDE);
state.user_longitude = uni.getStorageSync(LONGITUDE);
} catch (e) {
- // error
+ console.error(e)
}
});
diff --git a/sheep/api/promotion/combination.js b/sheep/api/promotion/combination.js
index 44f61e9..4993110 100644
--- a/sheep/api/promotion/combination.js
+++ b/sheep/api/promotion/combination.js
@@ -31,6 +31,17 @@ const CombinationApi = {
});
},
+ // 获得拼团活动明细列表
+ getCombinationActivityDetailList: (combinationActivityIds) => {
+ return request({
+ url: '/promotion/combination-activity/get-detail-list',
+ method: 'GET',
+ params: {
+ combinationActivityIds
+ },
+ });
+ },
+
// 获得最近 n 条拼团记录(团长发起的)
getHeadCombinationRecordList: (activityId, status, count) => {
return request({
diff --git a/sheep/components/s-goods-card/s-goods-card.vue b/sheep/components/s-goods-card/s-goods-card.vue
index 59f2bf1..21df6ad 100644
--- a/sheep/components/s-goods-card/s-goods-card.vue
+++ b/sheep/components/s-goods-card/s-goods-card.vue
@@ -147,7 +147,7 @@
TWO_COL: 'twoCol',
// 单列小图
ONE_COL_SMALL_IMG: 'oneColSmallImg',
- }
+ };
const state = reactive({
goodsList: [],
@@ -157,16 +157,16 @@
const props = defineProps({
data: {
type: Object,
- default() {},
+ default: () => ({})
},
styles: {
type: Object,
- default() {},
+ default: () => ({})
},
});
- const { layoutType, btnBuy, spuIds } = props.data ?? {};
- const { marginLeft, marginRight } = props.styles ?? {};
+ const { layoutType, btnBuy, spuIds } = props.data || {};
+ const { marginLeft, marginRight } = props.styles || {};
// 购买按钮样式
const buyStyle = computed(() => {
@@ -215,6 +215,7 @@
// 计数
count++;
}
+
//endregion
/**
@@ -232,7 +233,7 @@
// 加载商品列表
state.goodsList = await getGoodsListByIds(spuIds.join(','));
// 只有双列布局时需要
- if (layoutType === LayoutTypeEnum.TWO_COL){
+ if (layoutType === LayoutTypeEnum.TWO_COL) {
// 分列
calculateGoodsColumn();
}
@@ -247,11 +248,13 @@
.goods-list-box {
width: 50%;
box-sizing: border-box;
+
.left-list {
&:nth-last-child(1) {
margin-bottom: 0 !important;
}
}
+
.right-list {
&:nth-last-child(1) {
margin-bottom: 0 !important;
diff --git a/sheep/components/s-goods-column/s-goods-column.vue b/sheep/components/s-goods-column/s-goods-column.vue
index 228c64e..7e81a16 100644
--- a/sheep/components/s-goods-column/s-goods-column.vue
+++ b/sheep/components/s-goods-column/s-goods-column.vue
@@ -155,7 +155,7 @@
- 秒杀
+ 秒杀
拼团
@@ -285,9 +285,9 @@
- 去购买
+
+ 去购买
+
@@ -297,35 +297,34 @@
* 商品卡片
*
* @property {Array} size = [xs | sm | md | lg | sl ] - 列表数据
- * @property {String} tag - md及以上才有
- * @property {String} img - 图片
- * @property {String} background - 背景色
- * @property {String} topRadius - 上圆角
- * @property {String} bottomRadius - 下圆角
- * @property {String} title - 标题
- * @property {String} titleColor - 标题颜色
+ * @property {String} tag - md及以上才有
+ * @property {String} img - 图片
+ * @property {String} background - 背景色
+ * @property {String} topRadius - 上圆角
+ * @property {String} bottomRadius - 下圆角
+ * @property {String} title - 标题
+ * @property {String} titleColor - 标题颜色
* @property {Number} titleWidth = 0 - 标题宽度,默认0,单位rpx
- * @property {String} subTitle - 副标题
- * @property {String} subTitleColor - 副标题颜色
- * @property {String} subTitleBackground - 副标题背景
- * @property {String | Number} price - 价格
- * @property {String} priceColor - 价格颜色
- * @property {String | Number} originPrice - 原价/划线价
- * @property {String} originPriceColor - 原价颜色
- * @property {String | Number} sales - 销售数量
- * @property {String} salesColor - 销售数量颜色
+ * @property {String} subTitle - 副标题
+ * @property {String} subTitleColor - 副标题颜色
+ * @property {String} subTitleBackground - 副标题背景
+ * @property {String | Number} price - 价格
+ * @property {String} priceColor - 价格颜色
+ * @property {String | Number} originPrice - 原价/划线价
+ * @property {String} originPriceColor - 原价颜色
+ * @property {String | Number} sales - 销售数量
+ * @property {String} salesColor - 销售数量颜色
*
* @slots activity - 活动插槽
* @slots cart - 购物车插槽,默认包含文字,背景色,文字颜色 || 图片 || 行为
*
- * @event {Function()} click - 点击卡片
+ * @event {Function()} click - 点击卡片
*
*/
import { computed, reactive, getCurrentInstance, onMounted, nextTick } from 'vue';
import sheep from '@/sheep';
import { fen2yuan, formatSales } from '@/sheep/hooks/useGoods';
import { formatStock } from '@/sheep/hooks/useGoods';
- import goodsCollectVue from '@/pages/user/goods-collect.vue';
import { isArray } from 'lodash-es';
// 数据
@@ -354,11 +353,11 @@
},
tagStyle: {
type: Object,
- default: {},
+ default: () => ({}),
},
data: {
type: Object,
- default: {},
+ default: () => ({}),
},
size: {
type: String,
@@ -451,6 +450,7 @@
// 获取卡片实时高度
const { proxy } = getCurrentInstance();
const elId = `sheep_${Math.ceil(Math.random() * 10e5).toString(36)}`;
+
function getGoodsPriceCardWH() {
if (props.size === 'md') {
const view = uni.createSelectorQuery().in(proxy);
@@ -469,6 +469,7 @@
});
}
}
+
onMounted(() => {
nextTick(() => {
getGoodsPriceCardWH();
@@ -482,11 +483,13 @@
left: 0;
top: 0;
z-index: 2;
+
.tag-icon {
width: 72rpx;
height: 44rpx;
}
}
+
.seckill-tag {
position: absolute;
left: 0;
@@ -501,6 +504,7 @@
color: #ffffff;
line-height: 32rpx;
}
+
.groupon-tag {
position: absolute;
left: 0;
@@ -515,14 +519,17 @@
color: #ffffff;
line-height: 32rpx;
}
+
.goods-img {
width: 100%;
height: 100%;
background-color: #f5f5f5;
}
+
.price-unit {
margin-right: -4px;
}
+
.sales-text {
display: table;
font-size: 24rpx;
@@ -586,10 +593,12 @@
width: 100%;
height: 208rpx;
}
+
.sm-goods-content {
padding: 20rpx 16rpx;
box-sizing: border-box;
}
+
.sm-goods-title {
font-size: 26rpx;
color: #333;
@@ -619,6 +628,7 @@
color: #333;
width: 100%;
}
+
.md-goods-subtitle {
font-size: 24rpx;
font-weight: 400;
@@ -669,6 +679,7 @@
// line-height: 36rpx;
// width: 410rpx;
}
+
.lg-goods-subtitle {
font-size: 24rpx;
font-weight: 400;
@@ -695,6 +706,7 @@
font-size: 24rpx;
color: #ffffff;
}
+
.tag-box {
width: 100%;
}
@@ -708,10 +720,12 @@
z-index: 1;
width: 100%;
background-color: $white;
+
.sl-goods-content {
padding: 20rpx 20rpx;
box-sizing: border-box;
}
+
.sl-img-box {
width: 100%;
height: 360rpx;
@@ -722,6 +736,7 @@
color: #333;
font-weight: 500;
}
+
.sl-goods-subtitle {
font-size: 24rpx;
font-weight: 400;
diff --git a/sheep/components/s-groupon-block/s-groupon-block.vue b/sheep/components/s-groupon-block/s-groupon-block.vue
index d7e6fcf..be3e650 100644
--- a/sheep/components/s-groupon-block/s-groupon-block.vue
+++ b/sheep/components/s-groupon-block/s-groupon-block.vue
@@ -1,171 +1,312 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sheep/components/s-live-block/s-live-block.vue b/sheep/components/s-live-block/s-live-block.vue
index 9d1ad03..6e0b6c9 100644
--- a/sheep/components/s-live-block/s-live-block.vue
+++ b/sheep/components/s-live-block/s-live-block.vue
@@ -70,8 +70,8 @@
default() {},
},
});
- const { mode, goodsFields, mpliveIds } = props.data ?? {};
- const { marginLeft, marginRight } = props.styles ?? {};
+ const { mode, goodsFields, mpliveIds } = props.data || {};
+ const { marginLeft, marginRight } = props.styles || {};
async function getLiveListByIds(ids) {
const { data } = await sheep.$api.app.mplive.getRoomList(ids);
diff --git a/sheep/helper/index.js b/sheep/helper/index.js
index 38e6afe..59272f5 100644
--- a/sheep/helper/index.js
+++ b/sheep/helper/index.js
@@ -621,7 +621,7 @@ function setProperty(obj, key, value) {
function page() {
const pages = getCurrentPages();
// 某些特殊情况下(比如页面进行redirectTo时的一些时机),pages可能为空数组
- return `/${pages[pages.length - 1]?.route ?? ''}`;
+ return `/${pages[pages.length - 1]?.route || ''}`;
}
/**
diff --git a/sheep/platform/share.js b/sheep/platform/share.js
index 9ab2a3a..53fe196 100644
--- a/sheep/platform/share.js
+++ b/sheep/platform/share.js
@@ -186,7 +186,8 @@ const bindBrokerageUser = async (val= undefined) => {
}
await BrokerageApi.bindBrokerageUser({ bindUserId: shareId });
uni.removeStorageSync('shareId');
- } catch {
+ } catch (e) {
+ console.error(e);
}
};