jufubao-mall 2.0.32-beta6 → 2.0.32
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.
- package/package.json +1 -1
- package/src/components/CusCouponChose/CusCouponChose.vue +13 -10
- package/src/components/CusEnter/CusEnter.vue +1 -9
- package/src/components/CusPoster/CusPoster.vue +62 -17
- package/src/components/CusProduct/CusProduct.vue +184 -576
- package/src/components/CusShops/CusShops.vue +209 -409
- package/src/components/CusTab/CusTab.vue +22 -159
- package/src/components/JfbMallProductInfo/cusAttr/content.js +0 -2
- package/src/components/JfbMallProductList/Attr.js +0 -1
- package/src/components/JfbMallProductList/JfbMallProductList.vue +1 -7
- package/src/components/JfbMallProductList/XdCateV1.vue +1 -0
- package/src/components/SkeProduct/SkeProduct.vue +3 -88
- package/src/components/CusListItem/CusListItem.vue +0 -141
- package/src/components/CusPrice/CusPrice.vue +0 -391
- package/src/components/CusVipList/CusVipList.vue +0 -169
- package/src/components/JfbMallNetworkMedia/Api.js +0 -94
- package/src/components/JfbMallNetworkMedia/Attr.js +0 -20
- package/src/components/JfbMallNetworkMedia/JfbMallNetworkMedia.vue +0 -1164
- package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaLess.less +0 -80
- package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaMixin.js +0 -30
- package/src/components/JfbMallNetworkMedia/Mock.js +0 -372
- package/src/components/JfbMallNetworkMedia/cusAttr/advanced.js +0 -60
- package/src/components/JfbMallNetworkMedia/cusAttr/content.js +0 -230
- package/src/components/JfbMallNetworkMedia/cusAttr/font.js +0 -122
- package/src/components/JfbMallNetworkMedia/cusAttr/icon.js +0 -257
- package/src/components/JfbMallNetworkMedia/cusAttr/style.js +0 -12
package/package.json
CHANGED
|
@@ -485,26 +485,27 @@ export default {
|
|
|
485
485
|
//选卡弹出项
|
|
486
486
|
useCardPop(data) {
|
|
487
487
|
return new Promise((resolve, reject) => {
|
|
488
|
-
|
|
489
|
-
title:
|
|
488
|
+
this.$xdConfirm({
|
|
489
|
+
title: '提示',
|
|
490
490
|
content: data.pop_message,
|
|
491
491
|
confirmText: data.confirm_text,
|
|
492
492
|
cancelText: data.cancel_text,
|
|
493
|
-
|
|
493
|
+
width: '85%',
|
|
494
|
+
isTitle: true,
|
|
495
|
+
success: (res) => {
|
|
494
496
|
if (res.confirm) {
|
|
495
497
|
resolve(2);
|
|
496
498
|
} else if (res.cancel) {
|
|
497
|
-
|
|
498
|
-
if (data.pop_type == "confirm") {
|
|
499
|
+
if(data.pop_type == 'confirm'){
|
|
499
500
|
resolve();
|
|
500
|
-
}
|
|
501
|
+
}else{
|
|
501
502
|
resolve(3);
|
|
502
503
|
}
|
|
503
504
|
}
|
|
504
505
|
},
|
|
505
506
|
fail: function (res) {
|
|
506
507
|
reject(res);
|
|
507
|
-
}
|
|
508
|
+
}
|
|
508
509
|
});
|
|
509
510
|
});
|
|
510
511
|
},
|
|
@@ -662,9 +663,11 @@ export default {
|
|
|
662
663
|
err_tip = "优惠券和密码不能为空";
|
|
663
664
|
}
|
|
664
665
|
if (err_tip) {
|
|
665
|
-
return
|
|
666
|
-
|
|
667
|
-
|
|
666
|
+
return this.$xdAlert({
|
|
667
|
+
content: err_tip,
|
|
668
|
+
time: 2500,
|
|
669
|
+
isClose: false,
|
|
670
|
+
zIndex: 5000
|
|
668
671
|
});
|
|
669
672
|
}
|
|
670
673
|
let callThis = this;
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
@click.stop="handlePosterClick(brand,index)"
|
|
44
44
|
>
|
|
45
45
|
<view :style="[itemImageComp]" class="list-image" >
|
|
46
|
-
<image v-if="brand['error-status']===false" :style="[config['iconStyle']]" :src="
|
|
46
|
+
<image v-if="brand['error-status']===false" :style="[config['iconStyle']]" :src="brand.brand_icon" :alt="brand.label"></image>
|
|
47
47
|
<image v-else :style="[config['iconStyle']]" :src="iconErrorUrl" :alt="brand.label"></image>
|
|
48
48
|
</view>
|
|
49
49
|
<view class="list-title" :style="[config['titleStyle']]">{{brand.label}}</view>
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
|
|
61
61
|
import CusSwiperDot from "@/components/CusSwiperDot/CusSwiperDot.vue";
|
|
62
62
|
import Color from "color";
|
|
63
|
-
import getServiceUrl from "@/common/getServiceUrl";
|
|
64
63
|
|
|
65
64
|
export default {
|
|
66
65
|
name: "CusEnter",
|
|
@@ -239,9 +238,6 @@ export default {
|
|
|
239
238
|
}
|
|
240
239
|
},
|
|
241
240
|
methods:{
|
|
242
|
-
getCNDUrl(url) {
|
|
243
|
-
return getServiceUrl(url,'size3')
|
|
244
|
-
},
|
|
245
241
|
styleBox(out='out'){
|
|
246
242
|
let boxPaddingBT = this.config.wrapperPaddingTB * this.$rpxNum
|
|
247
243
|
let height = this.itemWidth * (this.row);
|
|
@@ -341,10 +337,6 @@ export default {
|
|
|
341
337
|
flex-flow: wrap;
|
|
342
338
|
flex-shrink: 0;
|
|
343
339
|
|
|
344
|
-
& > view {
|
|
345
|
-
flex-shrink: 0;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
340
|
.list-image {
|
|
349
341
|
display: flex;
|
|
350
342
|
justify-content: center;
|
|
@@ -10,10 +10,9 @@
|
|
|
10
10
|
>
|
|
11
11
|
<image
|
|
12
12
|
@click.stop="handlePosterClick(posterList[0],0)"
|
|
13
|
-
:style="{width: '100%', height: styleObj.posterSize.height + 'rpx'
|
|
14
|
-
:src="
|
|
13
|
+
:style="{width: '100%', height: styleObj.posterSize.height + 'rpx' }"
|
|
14
|
+
:src="posterList[0].image_url"
|
|
15
15
|
:alt="posterList[0].content_name"
|
|
16
|
-
mode="widthFix"
|
|
17
16
|
></image>
|
|
18
17
|
</view>
|
|
19
18
|
|
|
@@ -40,9 +39,8 @@
|
|
|
40
39
|
>
|
|
41
40
|
<swiper-item v-for="(item,index) in posterList" :key="index" @click.stop="handlePosterClick(item,index)">
|
|
42
41
|
<image
|
|
43
|
-
:style="{width: '100%', height: styleObj.posterSize.height + 'rpx'
|
|
44
|
-
:src="
|
|
45
|
-
mode="widthFix"
|
|
42
|
+
:style="{width: '100%', height: styleObj.posterSize.height + 'rpx' }"
|
|
43
|
+
:src="item['image_url']"
|
|
46
44
|
></image>
|
|
47
45
|
</swiper-item>
|
|
48
46
|
</swiper>
|
|
@@ -54,16 +52,13 @@
|
|
|
54
52
|
<script>
|
|
55
53
|
|
|
56
54
|
import CusSwiperDot from "@/components/CusSwiperDot/CusSwiperDot.vue";
|
|
57
|
-
import posterMixins from "@/mixins/posterMixins";
|
|
58
55
|
import Color from "color";
|
|
59
|
-
import getServiceUrl from "@/common/getServiceUrl";
|
|
60
56
|
|
|
61
57
|
export default {
|
|
62
58
|
name: "CusPoster",
|
|
63
59
|
components: {
|
|
64
60
|
CusSwiperDot
|
|
65
61
|
},
|
|
66
|
-
mixins:[posterMixins],
|
|
67
62
|
props:{
|
|
68
63
|
styleObj:{
|
|
69
64
|
type: Object,
|
|
@@ -82,11 +77,7 @@ export default {
|
|
|
82
77
|
mainColor:{
|
|
83
78
|
type:String,
|
|
84
79
|
required: true
|
|
85
|
-
}
|
|
86
|
-
imageRadius:{
|
|
87
|
-
type: String|Number,
|
|
88
|
-
default: '0'
|
|
89
|
-
},
|
|
80
|
+
}
|
|
90
81
|
},
|
|
91
82
|
|
|
92
83
|
computed:{
|
|
@@ -96,7 +87,6 @@ export default {
|
|
|
96
87
|
},
|
|
97
88
|
|
|
98
89
|
data(){
|
|
99
|
-
|
|
100
90
|
return {
|
|
101
91
|
current:0,
|
|
102
92
|
dotStyleDataConf(){
|
|
@@ -145,8 +135,63 @@ export default {
|
|
|
145
135
|
}
|
|
146
136
|
},
|
|
147
137
|
methods:{
|
|
148
|
-
|
|
149
|
-
|
|
138
|
+
handlePosterClick(item,index){
|
|
139
|
+
if(!item.redirect_data) {
|
|
140
|
+
console.warn(`未配置链接地址: ${item.redirect_data}`);
|
|
141
|
+
console.error(`未配置链接地址: ${item.redirect_data}`);
|
|
142
|
+
return
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
//内部链接跳转地址
|
|
146
|
+
if (item.redirect_type === 'INN') {
|
|
147
|
+
try {
|
|
148
|
+
let url = JSON.parse(item.redirect_data);
|
|
149
|
+
let params = '';
|
|
150
|
+
if(url.page) {
|
|
151
|
+
if (item['redirect_params']) params = `?${item['redirect_params']}`;
|
|
152
|
+
this.$xdUniHelper.navigateTo({url: url.page + params})
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
console.error(`应用链接配置错误: ${url.page}`)
|
|
156
|
+
}
|
|
157
|
+
} catch (e) {
|
|
158
|
+
console.error(`应用链接配置错误: ${item.redirect_data}`)
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
//外部链接
|
|
163
|
+
if (item.redirect_type === 'URL') {
|
|
164
|
+
let reg = /^(http:\/\/|https:\/\/|\/\/)+.+$/;
|
|
165
|
+
let spReg = /(-apiuri\/v)/;
|
|
166
|
+
//#ifdef MP-WEIXIN
|
|
167
|
+
try {
|
|
168
|
+
let url = JSON.parse(item.redirect_data);
|
|
169
|
+
if (reg.test(url.url) || spReg.test(url.url)) {
|
|
170
|
+
console.warn(`广告跳转外站: ${url.url}`)
|
|
171
|
+
this.$xdUniHelper.navigateTo(url);
|
|
172
|
+
} else {
|
|
173
|
+
console.error(`广告跳转外站配置错误: ${url.url}`)
|
|
174
|
+
}
|
|
175
|
+
} catch (e) {
|
|
176
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
177
|
+
}
|
|
178
|
+
//#endif
|
|
179
|
+
//#ifdef H5
|
|
180
|
+
try {
|
|
181
|
+
let url = JSON.parse(item.redirect_data);
|
|
182
|
+
console.warn(`广告跳转外站: ${url.url}`);
|
|
183
|
+
this.$xdUniHelper.redirectTo(url, false)
|
|
184
|
+
} catch (e) {
|
|
185
|
+
console.error(`广告跳转外站配置错误: ${item.redirect_data}`)
|
|
186
|
+
}
|
|
187
|
+
//#endif
|
|
188
|
+
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
//无跳转地址
|
|
192
|
+
if(item.redirect_type === 'EMP') {
|
|
193
|
+
console.warn(`无跳转地址`);
|
|
194
|
+
}
|
|
150
195
|
},
|
|
151
196
|
|
|
152
197
|
handleChange(e){
|