jufubao-base 1.0.203 → 1.0.205-beta1
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/JfbBaseAddress/XdAddress.vue +12 -6
- package/src/components/JfbBaseBackground/JfbBaseBackground.vue +6 -2
- package/src/components/JfbBaseCardEntry/Attr.js +472 -443
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +124 -98
- package/src/components/JfbBaseCardEntry/Mock.js +1 -0
- package/src/components/JfbBaseCardEntry/XdCardNew.vue +135 -0
- package/src/components/JfbBaseEntry/JfbBaseEntry.vue +49 -38
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +2 -4
- package/src/components/JfbBaseHeader/Attr.js +134 -51
- package/src/components/JfbBaseHeader/JfbBaseHeader.vue +118 -31
- package/src/components/JfbBaseHeaderElephant/Api.js +22 -0
- package/src/components/JfbBaseHeaderElephant/Attr.js +510 -0
- package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephant.vue +464 -0
- package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephantLess.less +79 -0
- package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephantMixin.js +30 -0
- package/src/components/JfbBaseHeaderElephant/Mock.js +5 -0
- package/src/components/JfbBaseNotice/Attr.js +26 -0
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +13 -1
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +11 -4
- package/src/components/JfbBasePoster/JfbBasePoster.vue +11 -2
- package/src/components/JfbBasePosterType/Attr.js +199 -81
- package/src/components/JfbBasePosterType/FourScreen.vue +115 -233
- package/src/components/JfbBasePosterType/JfbBasePosterType.vue +161 -80
- package/src/components/JfbBaseUserInfo/Attr.js +134 -33
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +89 -8
- package/src/mixins/componentsMixins.js +51 -47
|
@@ -170,116 +170,132 @@
|
|
|
170
170
|
v-if="tabIndex === 1 && (cardList && cardList.length > 0)"
|
|
171
171
|
class="jfb-base-card-entry__body-card"
|
|
172
172
|
>
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
<view class="card-
|
|
190
|
-
<view>
|
|
191
|
-
<view>{{item['card_type_name']}}</view>
|
|
192
|
-
<view v-if="item['is_login'] === 'Y'"><text></text><text>已登录</text></view>
|
|
193
|
-
</view>
|
|
194
|
-
</view>
|
|
195
|
-
<view class="card-list__content">
|
|
196
|
-
<view>
|
|
197
|
-
<text>券号:</text>
|
|
198
|
-
<text>{{item.card_number}}{{showIndex?(':' + index):''}}</text>
|
|
199
|
-
</view>
|
|
200
|
-
<view @click.stop="toDetail(item)" v-if="subTabIndex !== 3&&isShowCode === 'Y'&&!force">
|
|
173
|
+
<template v-if="cardType==='default'">
|
|
174
|
+
<view
|
|
175
|
+
v-for="(item,index) in cardList"
|
|
176
|
+
:data-index="item.card_number"
|
|
177
|
+
:data-idx="index"
|
|
178
|
+
:data-top="item.top"
|
|
179
|
+
class="card-list"
|
|
180
|
+
:key="item.card_number"
|
|
181
|
+
@click="toDetail(item)"
|
|
182
|
+
v-if="setCardItemShow(item,index)"
|
|
183
|
+
:style="{
|
|
184
|
+
background: item['theme']['color'],
|
|
185
|
+
backgroundSize: '100%',
|
|
186
|
+
height: subTabIndex !== 3 ? item.height + 'px' : '300rpx'
|
|
187
|
+
}"
|
|
188
|
+
>
|
|
189
|
+
<view class="card-list-warp" :style="{backgroundImage: 'url('+ item['theme']['image'] +')'}">
|
|
190
|
+
<view class="card-list__title">
|
|
201
191
|
<view>
|
|
202
|
-
<
|
|
192
|
+
<view>{{item['card_type_name']}}</view>
|
|
193
|
+
<view v-if="item['is_login'] === 'Y'"><text></text><text>已登录</text></view>
|
|
203
194
|
</view>
|
|
204
|
-
<view>点击查看</view>
|
|
205
195
|
</view>
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
<view><text>购买其他物品可抵:</text><text>{{item.other_card_point}} {{ item.unit }}</text></view>
|
|
217
|
-
</view>
|
|
218
|
-
<template v-if="subTabIndex === 1">
|
|
219
|
-
<view class="card-list__entry" v-if="item.is_login==='N'&&force">
|
|
220
|
-
<view
|
|
221
|
-
@click.stop="handleBindLogin(item,item['entries'][0])"
|
|
222
|
-
:style="{
|
|
223
|
-
background: '#fff',
|
|
224
|
-
color: item['theme']['color']}"
|
|
225
|
-
>
|
|
226
|
-
登录
|
|
196
|
+
<view class="card-list__content">
|
|
197
|
+
<view>
|
|
198
|
+
<text>券号:</text>
|
|
199
|
+
<text>{{item.card_number}}{{showIndex?(':' + index):''}}</text>
|
|
200
|
+
</view>
|
|
201
|
+
<view @click.stop="toDetail(item)" v-if="subTabIndex !== 3&&isShowCode === 'Y'&&!force">
|
|
202
|
+
<view>
|
|
203
|
+
<xd-font-icon icon="iconerweima" width="56" height="56" size="50" color="#fff"></xd-font-icon>
|
|
204
|
+
</view>
|
|
205
|
+
<view>点击查看</view>
|
|
227
206
|
</view>
|
|
228
207
|
</view>
|
|
229
|
-
<view class="card-
|
|
230
|
-
<
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
208
|
+
<view class="card-list__date">
|
|
209
|
+
<text>有效期:</text>
|
|
210
|
+
<text>{{item.end_time}}</text>
|
|
211
|
+
</view>
|
|
212
|
+
<view class="card-list__yue">
|
|
213
|
+
<text>余额:</text>
|
|
214
|
+
<text>{{item.card_point}} {{ item.unit }}</text>
|
|
234
215
|
</view>
|
|
235
|
-
<view class="card-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
216
|
+
<view class="card-list__other" v-if="item.other_card_point && item.card_point_type === 2">
|
|
217
|
+
<view><text>购买其他物品可抵:</text><text>{{item.other_card_point}} {{ item.unit }}</text></view>
|
|
218
|
+
</view>
|
|
219
|
+
<template v-if="subTabIndex === 1">
|
|
220
|
+
<view class="card-list__entry" v-if="item.is_login==='N'&&force">
|
|
221
|
+
<view
|
|
222
|
+
@click.stop="handleBindLogin(item,item['entries'][0])"
|
|
223
|
+
:style="{
|
|
224
|
+
background: '#fff',
|
|
225
|
+
color: item['theme']['color']}"
|
|
226
|
+
>
|
|
227
|
+
登录
|
|
242
228
|
</view>
|
|
243
229
|
</view>
|
|
244
|
-
<view class="card-
|
|
245
|
-
<
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
230
|
+
<view class="card-list__entry" v-if="item.entries.length === 1&&!force">
|
|
231
|
+
<view
|
|
232
|
+
@click.stop="handleBindLogin(item,item['entries'][0])"
|
|
233
|
+
:style="{color: item['theme']['color']}"
|
|
234
|
+
>进入{{item['entries'][0]['entry_name']}}</view>
|
|
235
|
+
</view>
|
|
236
|
+
<view class="card-list__nodata" v-if="item.entries.length === 0&&!force">暂无支持服务列表</view>
|
|
237
|
+
<view class="card-list__entrys" v-if="item.entries.length > 1&&!force" @click.stop>
|
|
238
|
+
<view class="card-list__entrys-title">
|
|
239
|
+
<view>可兑换权益</view>
|
|
240
|
+
<view @click.stop="toDetail(item, false)">
|
|
241
|
+
<text>查看详情</text>
|
|
242
|
+
<xd-font-icon icon="iconxiangyou_xian" color="#999" size="20"></xd-font-icon>
|
|
243
|
+
</view>
|
|
244
|
+
</view>
|
|
245
|
+
<view class="card-list__entrys-list">
|
|
246
|
+
<scroll-view scroll-x class="card-list__entrys-scroll">
|
|
247
|
+
<view class="card-list__entrys-item">
|
|
248
|
+
<view
|
|
249
|
+
v-for="(entry,idx) in item.entries"
|
|
250
|
+
:key="idx"
|
|
251
|
+
@click.stop="handleBindLogin(item, entry)"
|
|
252
|
+
>
|
|
253
|
+
<view><image :src="entry.image_url"></image></view>
|
|
254
|
+
<view>{{entry|cutstr}}</view>
|
|
255
|
+
<view>
|
|
256
|
+
<text>去兑换</text>
|
|
257
|
+
<xd-font-icon icon="iconxiangyou_xian" color="#999" size="20"></xd-font-icon>
|
|
258
|
+
</view>
|
|
257
259
|
</view>
|
|
258
260
|
</view>
|
|
259
|
-
</view>
|
|
260
|
-
</
|
|
261
|
+
</scroll-view>
|
|
262
|
+
</view>
|
|
261
263
|
</view>
|
|
264
|
+
</template>
|
|
265
|
+
<view class="card-list__entry" v-else-if="subTabIndex===2">
|
|
266
|
+
<view
|
|
267
|
+
@click.stop="handleBindLogin(item,item['entries'][0])"
|
|
268
|
+
:style="{color: item['theme']['color']}"
|
|
269
|
+
>票券转换</view>
|
|
262
270
|
</view>
|
|
263
|
-
</template>
|
|
264
|
-
<view class="card-list__entry" v-else-if="subTabIndex===2">
|
|
265
|
-
<view
|
|
266
|
-
@click.stop="handleBindLogin(item,item['entries'][0])"
|
|
267
|
-
:style="{color: item['theme']['color']}"
|
|
268
|
-
>票券转换</view>
|
|
269
271
|
</view>
|
|
270
272
|
</view>
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
273
|
+
<view
|
|
274
|
+
class="card-content-empty card-list"
|
|
275
|
+
:data-index="item.card_number"
|
|
276
|
+
:data-idx="index"
|
|
277
|
+
:data-top="item.top"
|
|
278
|
+
v-else
|
|
279
|
+
:style="{
|
|
280
|
+
height: item.height + 'px',
|
|
281
|
+
backgroundImage: 'url('+ (tabIndex===2 || item.entries.length <= 1 ? cardItem: cardItemEntry) +')'
|
|
282
|
+
}"
|
|
283
|
+
></view>
|
|
284
|
+
</template>
|
|
285
|
+
<template v-if="cardType==='style2'">
|
|
286
|
+
|
|
287
|
+
<view v-for="(item,index) in cardList" :key="item.card_number">
|
|
288
|
+
<xd-card-new
|
|
289
|
+
:item="item"
|
|
290
|
+
:tabIndex="subTabIndex"
|
|
291
|
+
:cardBgColor="cardBgColor"
|
|
292
|
+
:cardFontColor="cardFontColor"
|
|
293
|
+
:mainColor="mainColor"
|
|
294
|
+
@onLogin="handleBindLogin(item,item['entries'][0])"
|
|
295
|
+
@onClick="toDetail(item)"
|
|
296
|
+
></xd-card-new>
|
|
297
|
+
</view>
|
|
298
|
+
</template>
|
|
283
299
|
</view>
|
|
284
300
|
<view v-if="tabIndex===2&&(couponList&&couponList.length)">
|
|
285
301
|
<view v-if="couponList.length" class="coupon_list">
|
|
@@ -425,6 +441,7 @@
|
|
|
425
441
|
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
426
442
|
import XdButton from "@/components/XdButton/XdButton";
|
|
427
443
|
import XdCardV2 from "@/components/XdCardV2/XdCardV2";
|
|
444
|
+
import XdCardNew from "./XdCardNew.vue"
|
|
428
445
|
import { jfbRootExec } from "@/utils/xd.event";
|
|
429
446
|
import JfbBaseCardEntryMixin from "./JfbBaseCardEntryMixin";
|
|
430
447
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
@@ -447,7 +464,8 @@ export default {
|
|
|
447
464
|
XdButton,
|
|
448
465
|
XdNoticeBar,
|
|
449
466
|
XdCardV2,
|
|
450
|
-
CusCouponItem
|
|
467
|
+
CusCouponItem,
|
|
468
|
+
XdCardNew,
|
|
451
469
|
},
|
|
452
470
|
mixins: [componentsMixins, extsMixins, JfbBaseCardEntryMixin, colorCardMixins, cardListMixins],
|
|
453
471
|
computed: {
|
|
@@ -517,6 +535,7 @@ export default {
|
|
|
517
535
|
showCardList: false,
|
|
518
536
|
showIndex:false,
|
|
519
537
|
isQrCode: false,
|
|
538
|
+
cardType: 'default',
|
|
520
539
|
|
|
521
540
|
//活动
|
|
522
541
|
dialogEvent: false,
|
|
@@ -557,7 +576,10 @@ export default {
|
|
|
557
576
|
card_use_rule: '满50减1',
|
|
558
577
|
is_transfering: 'N'
|
|
559
578
|
},
|
|
560
|
-
]
|
|
579
|
+
],
|
|
580
|
+
|
|
581
|
+
cardBgColor: "",
|
|
582
|
+
cardFontColor: "",
|
|
561
583
|
};
|
|
562
584
|
},
|
|
563
585
|
created() {
|
|
@@ -596,6 +618,7 @@ export default {
|
|
|
596
618
|
this.isShowCode = getContainerPropsValue(container, "content.isShowCode", "Y");
|
|
597
619
|
this.isShowCoupon = getContainerPropsValue(container, "content.isShowCoupon", "N");
|
|
598
620
|
this.bindCard = getContainerPropsValue(container,"content.bindCard","1");
|
|
621
|
+
this.cardType = getContainerPropsValue(container,"content.cardType","default");
|
|
599
622
|
//'wechat_mini_program|default'
|
|
600
623
|
this.entryGroupId = getContainerPropsValue(container,"content.entryGroupId","default");
|
|
601
624
|
this.couponBtnRadius = getContainerPropsValue(container, "content.couponBtnRadius", 16);
|
|
@@ -610,6 +633,8 @@ export default {
|
|
|
610
633
|
this.couponRadius = getContainerPropsValue(container, "content.couponRadius", 16);
|
|
611
634
|
this.couponLeftBgColor = getContainerPropsValue(container, "content.couponLeftBgColor", "linear-gradient(180deg, #FFA852 0%, #FF5733 100%)");
|
|
612
635
|
this.couponImageUrl = getContainerPropsValue(container, "content.couponImageUrl", "");
|
|
636
|
+
this.cardBgColor = getContainerPropsValue(container, "content.cardBgColor", "");
|
|
637
|
+
this.cardFontColor = getContainerPropsValue(container, "content.cardFontColor", "");
|
|
613
638
|
if(this.isPreview) {
|
|
614
639
|
this.tabIndex = this.isShowCoupon==='Y'?2:1;
|
|
615
640
|
}
|
|
@@ -714,6 +739,7 @@ export default {
|
|
|
714
739
|
this.$xdShowLoading({});
|
|
715
740
|
//转换卡跳转
|
|
716
741
|
if(this.subTabIndex===2){
|
|
742
|
+
this.$xdHideLoading();
|
|
717
743
|
this.$xdUniHelper.navigateTo({
|
|
718
744
|
url: `${this.changeUrl}?card_number=${item["card_number"]}`
|
|
719
745
|
}, false);
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<!-- #小象风格 -->
|
|
2
|
+
<template>
|
|
3
|
+
<view class="xd-card-new" :style="{
|
|
4
|
+
backgroundColor: cardBgColor,
|
|
5
|
+
color: cardFontColor,
|
|
6
|
+
'--alpha-color': alphaColor
|
|
7
|
+
}" @click="onClick">
|
|
8
|
+
<view class="card-top">
|
|
9
|
+
<view class="card_name">{{item.card_type_name}}</view>
|
|
10
|
+
<view class="card_number">ID:{{ item.card_number }}</view>
|
|
11
|
+
</view>
|
|
12
|
+
<view class="card-center">
|
|
13
|
+
<view><text class="_b">{{item.card_point}}</text>{{item.unit}}</view>
|
|
14
|
+
<view>
|
|
15
|
+
<xd-button type="primary" size="small"
|
|
16
|
+
:class="'is_login_' + item['is_login']"
|
|
17
|
+
:style="{
|
|
18
|
+
backgroundColor: item['is_login'] === 'Y' ? alphaColor: mainColor,
|
|
19
|
+
}"
|
|
20
|
+
@click.stop="doLogin"
|
|
21
|
+
>
|
|
22
|
+
{{ tabIndex === 1 ? (item['is_login'] === 'Y' ? "已登录" : "登录") : "票券转换"}}
|
|
23
|
+
</xd-button>
|
|
24
|
+
</view>
|
|
25
|
+
</view>
|
|
26
|
+
<view class="card-bottom">
|
|
27
|
+
<view>有效期:{{item.end_time}}</view>
|
|
28
|
+
<view class="see_scope">查看使用范围</view>
|
|
29
|
+
</view>
|
|
30
|
+
</view>
|
|
31
|
+
</template>
|
|
32
|
+
|
|
33
|
+
<script>
|
|
34
|
+
import XdButton from "@/components/XdButton/XdButton.vue"
|
|
35
|
+
import Color from "color"
|
|
36
|
+
export default {
|
|
37
|
+
// #ifdef MP-WEIXIN
|
|
38
|
+
options: { styleIsolation: 'shared' },
|
|
39
|
+
// #endif
|
|
40
|
+
components: {
|
|
41
|
+
XdButton,
|
|
42
|
+
},
|
|
43
|
+
props: {
|
|
44
|
+
item: {
|
|
45
|
+
type: Object,
|
|
46
|
+
default () {
|
|
47
|
+
return {}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
cardBgColor: {
|
|
51
|
+
type: String,
|
|
52
|
+
},
|
|
53
|
+
cardFontColor: {
|
|
54
|
+
type: String,
|
|
55
|
+
},
|
|
56
|
+
loggedBgColor: {
|
|
57
|
+
type: String,
|
|
58
|
+
},
|
|
59
|
+
mainColor: {
|
|
60
|
+
type: String,
|
|
61
|
+
},
|
|
62
|
+
tabIndex: {
|
|
63
|
+
type: Number,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
data(){
|
|
67
|
+
return {
|
|
68
|
+
alphaColor: "",
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
created(){
|
|
72
|
+
this.alphaColor = Color(this.mainColor).alpha(0.5).toString();
|
|
73
|
+
},
|
|
74
|
+
methods: {
|
|
75
|
+
doLogin(){
|
|
76
|
+
this.$emit('onLogin', this.item)
|
|
77
|
+
},
|
|
78
|
+
onClick(){
|
|
79
|
+
this.$emit('onClick')
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
</script>
|
|
84
|
+
|
|
85
|
+
<style lang="less" scoped>
|
|
86
|
+
.xd-card-new{
|
|
87
|
+
background-color: #EEE;
|
|
88
|
+
margin-top: 20rpx;
|
|
89
|
+
border-radius: 10rpx;
|
|
90
|
+
padding: 20rpx;
|
|
91
|
+
.card-top{
|
|
92
|
+
display: flex;
|
|
93
|
+
align-items: center;
|
|
94
|
+
justify-content: space-between;
|
|
95
|
+
font-size: 26rpx;
|
|
96
|
+
.card_name{
|
|
97
|
+
font-size: 24rpx;
|
|
98
|
+
font-weight: 400;
|
|
99
|
+
}
|
|
100
|
+
.card_number{
|
|
101
|
+
font-weight: 28rpx;
|
|
102
|
+
font-weight: 500;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
.card-center{
|
|
106
|
+
display: flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
justify-content: space-between;
|
|
109
|
+
margin: 40rpx 0 40rpx 0;
|
|
110
|
+
font-size: 28rpx;
|
|
111
|
+
font-weight: 400;
|
|
112
|
+
|
|
113
|
+
::v-deep .is_login_Y{
|
|
114
|
+
.xd-button{
|
|
115
|
+
background-color: var(--alpha-color) !important;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
._b{
|
|
119
|
+
font-size: 48rpx;
|
|
120
|
+
margin-right: 4rpx;
|
|
121
|
+
font-weight: 700;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
.card-bottom{
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
justify-content: space-between;
|
|
128
|
+
font-size: 24rpx;
|
|
129
|
+
font-weight: 500;
|
|
130
|
+
.see_scope{
|
|
131
|
+
font-weight: 400;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
</style>
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
this.$xdHideLoading();
|
|
155
155
|
let isH5FilterEntryList = [];
|
|
156
156
|
let isMpFilterEntryList = [];
|
|
157
|
-
|
|
157
|
+
let entryList = res.list.filter(item=>{
|
|
158
158
|
//#ifdef H5
|
|
159
159
|
//在H5平台应用中不可跳转到微信小程序应用
|
|
160
160
|
if(item.redirect_data.appType === 'wxmp'){
|
|
@@ -172,59 +172,70 @@
|
|
|
172
172
|
}
|
|
173
173
|
return true
|
|
174
174
|
//#endif
|
|
175
|
-
})
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
175
|
+
})
|
|
176
|
+
.map(item => {
|
|
177
|
+
const {dir, path, host,appType} = item['redirect_data'];
|
|
178
|
+
if(appType === undefined) item.redirect_data.appType = 'h5';
|
|
179
|
+
item['image_url'] = getServiceUrl(item.image_url);
|
|
180
|
+
item['image_url2'] = item.image_url2 ? getServiceUrl(item.image_url2) : "";
|
|
181
|
+
item['image_url3'] = item.image_url3 ? getServiceUrl(item.image_url3) : "";
|
|
182
|
+
let nsp = Base64.encodeURI(JSON.stringify({business_code: item['business_code']}));
|
|
182
183
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
184
|
+
//外站配置地址
|
|
185
|
+
if(item.redirect_type === 'URL') {
|
|
186
|
+
if(item['redirect_data']['path'].indexOf('?') === -1) {
|
|
187
|
+
item['redirect_data']['path'] = `${item['redirect_data']['path']}?x-common=${nsp}&vs=${new Date().getTime()}`
|
|
188
|
+
}
|
|
189
|
+
else item['redirect_data']['path'] = `${item['redirect_data']['path']}&x-common=${nsp}&vs=${new Date().getTime()}`;
|
|
190
|
+
return item;
|
|
187
191
|
}
|
|
188
|
-
else item['redirect_data']['path'] = `${item['redirect_data']['path']}&x-common=${nsp}&vs=${new Date().getTime()}`;
|
|
189
|
-
return item;
|
|
190
|
-
}
|
|
191
192
|
|
|
192
|
-
|
|
193
|
+
let jumpUrl = path;
|
|
193
194
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
//域名相同并且应用路径不相同时候处理
|
|
196
|
+
if(host === this.projectAttr.host && this.projectAttr['deploy_dir'] !== dir){
|
|
197
|
+
jumpUrl = `//${host}/${dir}${path}`;
|
|
198
|
+
//#ifdef MP-WEIXIN
|
|
199
|
+
jumpUrl = `https:${jumpUrl}`;
|
|
200
|
+
//#endif
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
//获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
|
|
204
|
+
let cardPathStr = '';
|
|
197
205
|
//#ifdef MP-WEIXIN
|
|
198
|
-
|
|
206
|
+
if(item.redirect_data.appType === 'h5') {
|
|
207
|
+
const custom_redirect_data = this.$xdUniHelper.checkVarType(item['custom_redirect_data']) === 'object'?item['custom_redirect_data']:{};
|
|
208
|
+
const cardPathObject = this.getCardPath(custom_redirect_data);
|
|
209
|
+
if(cardPathObject !== null) {
|
|
210
|
+
const {cardPath, cardSelf} =cardPathObject
|
|
211
|
+
if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
|
|
212
|
+
}
|
|
213
|
+
}
|
|
199
214
|
//#endif
|
|
200
|
-
|
|
215
|
+
item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
216
|
+
return item;
|
|
217
|
+
});
|
|
201
218
|
|
|
202
|
-
//获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
|
|
203
|
-
let cardPathStr = '';
|
|
204
|
-
//#ifdef MP-WEIXIN
|
|
205
|
-
if(item.redirect_data.appType === 'h5') {
|
|
206
|
-
const custom_redirect_data = this.$xdUniHelper.checkVarType(item['custom_redirect_data']) === 'object'?item['custom_redirect_data']:{};
|
|
207
|
-
const cardPathObject = this.getCardPath(custom_redirect_data);
|
|
208
|
-
if(cardPathObject !== null) {
|
|
209
|
-
const {cardPath, cardSelf} =cardPathObject
|
|
210
|
-
if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
//#endif
|
|
214
|
-
item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
215
|
-
return item;
|
|
216
|
-
});
|
|
217
219
|
//#ifdef MP-WEIXIN
|
|
218
220
|
console.warn(`微信小程序端被过滤的入口列表:${JSON.stringify(isMpFilterEntryList.map(item=> `${item.redirect_data.appType}:${item.entry_name}:${item.redirect_data['frontPath']}`),null,2)}`)
|
|
219
221
|
//#endif
|
|
220
222
|
//#ifdef H5
|
|
221
223
|
console.warn(`H5端被过滤的入口列表:${JSON.stringify(isH5FilterEntryList.map(item=> `${item.redirect_data.appType}:${item.entry_name}:${item.redirect_data['frontPath']}`),null,2)}`)
|
|
222
224
|
//#endif
|
|
223
|
-
console.warn(`福利入口链接列表:${JSON.stringify(
|
|
224
|
-
|
|
225
|
+
console.warn(`福利入口链接列表:${JSON.stringify(entryList.map(item=> `${item.redirect_data.appType}:${item.redirect_data['path']}`),null,2)}`);
|
|
226
|
+
|
|
227
|
+
//一条数据直接跳转到入口
|
|
228
|
+
if(entryList.length === 1){
|
|
229
|
+
this.toLink(entryList[0]);
|
|
230
|
+
return
|
|
231
|
+
}
|
|
232
|
+
//无数据提示
|
|
225
233
|
if(res.list.length === 0) {
|
|
226
234
|
this.$xdAlert({content: '当前票券暂无支持服务'})
|
|
235
|
+
return;
|
|
227
236
|
}
|
|
237
|
+
//复制
|
|
238
|
+
this.entryList = entryList;
|
|
228
239
|
})
|
|
229
240
|
},
|
|
230
241
|
toLink(item){
|
|
@@ -242,18 +242,16 @@
|
|
|
242
242
|
|
|
243
243
|
.jfb-base-fast-link {
|
|
244
244
|
display: flex;
|
|
245
|
-
min-height: unit(100, rpx);
|
|
246
245
|
|
|
247
246
|
&__body{
|
|
248
247
|
flex: 1;
|
|
249
248
|
|
|
250
249
|
&-pop {
|
|
251
|
-
min-height:
|
|
250
|
+
min-height: 100rpx;
|
|
252
251
|
text-align: center;
|
|
253
|
-
line-height:
|
|
252
|
+
line-height: 100rpx;
|
|
254
253
|
color: #666;
|
|
255
254
|
font-size: unit(24, rpx);
|
|
256
|
-
padding:unit(20, rpx);
|
|
257
255
|
}
|
|
258
256
|
}
|
|
259
257
|
}
|