jufubao-base 1.0.158 → 1.0.159-beta2
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/common/authorize.js +201 -70
- package/src/components/JfbBaseAddress/JfbBaseAddress.vue +7 -6
- package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +5 -3
- package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +3 -2
- package/src/components/JfbBaseBack/JfbBaseBack.vue +10 -8
- package/src/components/JfbBaseBackground/JfbBaseBackground.vue +3 -2
- package/src/components/JfbBaseBlock/JfbBaseBlock.vue +3 -2
- package/src/components/JfbBaseCard/JfbBaseCard.vue +8 -4
- package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +57 -26
- package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +14 -15
- package/src/components/JfbBaseCardDetailEntry/Attr.js +22 -0
- package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +361 -425
- package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +4 -4
- package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +7 -9
- package/src/components/JfbBaseCardEntry/Attr.js +22 -1
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +81 -34
- package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +35 -19
- package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +8 -4
- package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +4 -3
- package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +23 -18
- package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +4 -11
- package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +16 -19
- package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +3 -2
- package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +34 -18
- package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +14 -14
- package/src/components/JfbBaseCity/JfbBaseCity.vue +3 -2
- package/src/components/JfbBaseClear/JfbBaseClear.vue +3 -2
- package/src/components/JfbBaseConList/JfbBaseConList.vue +3 -2
- package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +3 -2
- package/src/components/JfbBaseEntry/Attr.js +22 -0
- package/src/components/JfbBaseEntry/JfbBaseEntry.vue +80 -16
- package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +3 -4
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +31 -20
- package/src/components/JfbBaseFastLink/XdFastNav.vue +2 -2
- package/src/components/JfbBaseFooter/JfbBaseFooter.vue +0 -1
- package/src/components/JfbBaseHeader/JfbBaseHeader.vue +3 -2
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +16 -6
- package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +7 -9
- package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +6 -6
- package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +19 -5
- package/src/components/JfbBaseMapOverlay/XdMapOverlay.vue +52 -37
- package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +3 -2
- package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +28 -27
- package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +5 -5
- package/src/components/JfbBaseMy/JfbBaseMy.vue +3 -3
- package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +6 -4
- package/src/components/JfbBaseNotice/Attr.js +0 -2
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +36 -14
- package/src/components/JfbBaseNotice/XdNoticeBar.vue +17 -1
- package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +3 -2
- package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +3 -2
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +5 -4
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +4 -3
- package/src/components/JfbBasePay/JfbBasePay.vue +3 -2
- package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +12 -7
- package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +13 -7
- package/src/components/JfbBasePoster/JfbBasePoster.vue +118 -18
- package/src/components/JfbBasePoster/MoreScreen.vue +155 -37
- package/src/components/JfbBasePosterBigSmall/Attr.js +1 -4
- package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +191 -67
- package/src/components/JfbBasePosterEntry/JfbBasePosterEntry.vue +90 -20
- package/src/components/JfbBasePosterType/FourScreen.vue +162 -18
- package/src/components/JfbBasePosterType/JfbBasePosterType.vue +0 -35
- package/src/components/JfbBaseRecharge/JfbBaseRecharge.vue +4 -4
- package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +3 -4
- package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +4 -7
- package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +6 -9
- package/src/components/JfbBaseSearch/JfbBaseSearch.vue +3 -2
- package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +2 -1
- package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +3 -2
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +5 -3
- package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +4 -3
- package/src/components/JfbBaseVideo/JfbBaseVideo.vue +14 -11
- package/src/components/JfbBaseVideo/XdVideo.vue +0 -4
- package/src/components/JfbBaseWallet/JfbBaseWallet.vue +3 -2
- package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +5 -8
- package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +5 -8
- package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +7 -17
- package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +13 -21
- package/src/components/JfbBaseWebview/JfbBaseWebview.vue +4 -3
- package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +5 -4
- package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +3 -4
- package/src/mixins/colorCardMixins.js +1 -1
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<view
|
|
25
25
|
class="card-list"
|
|
26
26
|
:style="{
|
|
27
|
-
|
|
27
|
+
background: headerBg['color'],
|
|
28
28
|
backgroundSize: '100%'
|
|
29
29
|
}">
|
|
30
30
|
<view class="card-list-warp" :style="{backgroundImage: `url(${headerBg['image']})`}">
|
|
@@ -74,21 +74,17 @@
|
|
|
74
74
|
<view>转换后预估票券额度</view>
|
|
75
75
|
</view>
|
|
76
76
|
<view
|
|
77
|
-
:class="
|
|
78
|
-
item.key === 'other_card_point'
|
|
79
|
-
? 'jfb-base-card-shift-entry__body-content-special'
|
|
80
|
-
: 'jfb-base-card-shift-entry__body-content-item'
|
|
81
|
-
"
|
|
77
|
+
:class=" item.key === 'other_card_point'? 'jfb-base-card-shift-entry__body-content-special': 'jfb-base-card-shift-entry__body-content-item'"
|
|
82
78
|
v-for="(item, index) in changeValueKey"
|
|
83
79
|
:key="index"
|
|
84
80
|
>
|
|
85
81
|
<view> {{ item.label }}: </view>
|
|
86
82
|
<view :style="{color:mainColor,fontWeight:500}" v-if="item.type === 'price'">
|
|
87
|
-
{{ info[item.key] }}
|
|
83
|
+
<text>{{ info[item.key] }}</text>
|
|
88
84
|
<text>点</text>
|
|
89
85
|
</view>
|
|
90
86
|
<view style="color: #333; font-weight: 500" v-else>
|
|
91
|
-
{{ info[item.key] }}
|
|
87
|
+
<text>{{ info[item.key] }}</text>
|
|
92
88
|
<text v-if="item.type === 'type'">券</text>
|
|
93
89
|
</view>
|
|
94
90
|
</view>
|
|
@@ -109,9 +105,8 @@
|
|
|
109
105
|
<xd-button
|
|
110
106
|
@click="handleChange"
|
|
111
107
|
width="500rpx"
|
|
112
|
-
type="primary"
|
|
113
|
-
|
|
114
|
-
</xd-button>
|
|
108
|
+
type="primary"
|
|
109
|
+
>立即转换</xd-button>
|
|
115
110
|
</view>
|
|
116
111
|
<xd-dailog
|
|
117
112
|
class="dialog"
|
|
@@ -132,12 +127,13 @@
|
|
|
132
127
|
<text :style="{color:mainColor,marginLeft:'20rpx'}">转换成功</text>
|
|
133
128
|
</view>
|
|
134
129
|
<view class="jfb-base-card-shift-entry__body-success-content">
|
|
135
|
-
|
|
136
|
-
<text style="color:#333;padding: 0 16rpx">{{
|
|
130
|
+
<text>已成功将</text>
|
|
131
|
+
<text style="color:#333;padding: 0 16rpx">{{ card_number }}</text>
|
|
132
|
+
<text>转换成为</text>
|
|
133
|
+
<text style="color:#333;padding: 0 16rpx">{{ changeNumber }}</text>
|
|
134
|
+
<text>可在券包中查看</text>
|
|
137
135
|
</view>
|
|
138
|
-
<xd-button type="primarys" width="360rpx" @click="handleToLink"
|
|
139
|
-
>返回列表</xd-button
|
|
140
|
-
>
|
|
136
|
+
<xd-button type="primarys" width="360rpx" @click="handleToLink">返回列表</xd-button>
|
|
141
137
|
</view>
|
|
142
138
|
</xd-dailog>
|
|
143
139
|
</view>
|
|
@@ -196,7 +192,8 @@ export default {
|
|
|
196
192
|
//页面跳转地址
|
|
197
193
|
backUrl: "",
|
|
198
194
|
bottomHeight: 120,
|
|
199
|
-
changeBg: ''
|
|
195
|
+
changeBg: '',
|
|
196
|
+
headerBg:'',
|
|
200
197
|
};
|
|
201
198
|
},
|
|
202
199
|
computed: {
|
|
@@ -219,7 +216,7 @@ export default {
|
|
|
219
216
|
this.$xdConfirm({
|
|
220
217
|
title: "是否确认转换",
|
|
221
218
|
isHtml: true,
|
|
222
|
-
|
|
219
|
+
styles: this.styles,
|
|
223
220
|
content:content,
|
|
224
221
|
success:(action)=>{
|
|
225
222
|
if(action.confirm) {
|
|
@@ -591,7 +588,7 @@ export default {
|
|
|
591
588
|
.fixe_bottom{
|
|
592
589
|
display: flex;
|
|
593
590
|
align-items: center;
|
|
594
|
-
justify-content:
|
|
591
|
+
justify-content: center;
|
|
595
592
|
height: unit(100, rpx);
|
|
596
593
|
padding: 0 unit(40, rpx);
|
|
597
594
|
background: #FFF;
|
|
@@ -114,8 +114,9 @@ export default {
|
|
|
114
114
|
};
|
|
115
115
|
},
|
|
116
116
|
watch: {
|
|
117
|
-
container(value) {
|
|
118
|
-
|
|
117
|
+
container(value,oldValue) {
|
|
118
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
119
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
119
120
|
},
|
|
120
121
|
},
|
|
121
122
|
computed: {
|
|
@@ -82,22 +82,13 @@
|
|
|
82
82
|
</view>
|
|
83
83
|
<view class="jfb-base-card__body-card-item-right-bottom">
|
|
84
84
|
<view class="jfb-base-card__body-card-item-right-bottom-info">
|
|
85
|
-
<view
|
|
86
|
-
|
|
87
|
-
>
|
|
88
|
-
剩余{{ item.unit }}数:{{ item.card_point }}{{ item.unit }}
|
|
89
|
-
</view>
|
|
90
|
-
<view
|
|
91
|
-
class="jfb-base-card__body-card-item-right-bottom-info-deduction"
|
|
92
|
-
>
|
|
93
|
-
购买其他物品可抵:{{ item.other_card_point }}
|
|
94
|
-
</view>
|
|
85
|
+
<view class="jfb-base-card__body-card-item-right-bottom-info-residue">剩余{{ item.unit }}数:{{ item.card_point }}{{ item.unit }}</view>
|
|
86
|
+
<view class="jfb-base-card__body-card-item-right-bottom-info-deduction">购买其他物品可抵:{{ item.other_card_point }}</view>
|
|
95
87
|
</view>
|
|
96
88
|
<view
|
|
97
89
|
@click.stop="toDetail(item)"
|
|
98
90
|
:style="{ background: mainColor }"
|
|
99
|
-
|
|
100
|
-
>
|
|
91
|
+
>查看</view>
|
|
101
92
|
</view>
|
|
102
93
|
</view>
|
|
103
94
|
</view>
|
|
@@ -106,8 +97,14 @@
|
|
|
106
97
|
<view :style="{height:'128rpx'}"></view>
|
|
107
98
|
<view class="bottom_fix" :style="button_bottom">
|
|
108
99
|
<view>
|
|
100
|
+
<!-- #ifdef MP-WEIXIN-->
|
|
101
|
+
<view><xd-button type="primary" @click="toBindCard">绑定新卡</xd-button></view>
|
|
102
|
+
<view><xd-button type="primary" @click="toOrderList">我的订单</xd-button></view>
|
|
103
|
+
<!-- #endif-->
|
|
104
|
+
<!-- #ifdef H5-->
|
|
109
105
|
<xd-button type="primary" @click="toBindCard">绑定新卡</xd-button>
|
|
110
106
|
<xd-button type="primary" @click="toOrderList">我的订单</xd-button>
|
|
107
|
+
<!-- #endif-->
|
|
111
108
|
</view>
|
|
112
109
|
</view>
|
|
113
110
|
</view>
|
|
@@ -123,6 +120,7 @@
|
|
|
123
120
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
124
121
|
import extsMixins from "@/mixins/extsMixins";
|
|
125
122
|
import {Base64} from "js-base64";
|
|
123
|
+
import {mapState} from "vuex";
|
|
126
124
|
|
|
127
125
|
export default {
|
|
128
126
|
name: "JfbBaseCardV2",
|
|
@@ -137,6 +135,7 @@
|
|
|
137
135
|
return {
|
|
138
136
|
cardList: [],
|
|
139
137
|
inCallback: "",
|
|
138
|
+
|
|
140
139
|
//面板
|
|
141
140
|
cardInfoPath: "", //卡券详情
|
|
142
141
|
cardBindPath: "",
|
|
@@ -154,11 +153,14 @@
|
|
|
154
153
|
}
|
|
155
154
|
},
|
|
156
155
|
watch: {
|
|
157
|
-
container(value) {
|
|
158
|
-
|
|
159
|
-
|
|
156
|
+
container(value,oldValue) {
|
|
157
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
158
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
159
|
+
},
|
|
160
160
|
},
|
|
161
161
|
computed: {
|
|
162
|
+
...mapState(['jfbAuthorize']),
|
|
163
|
+
|
|
162
164
|
button_bottom() {
|
|
163
165
|
return this.fixedStyle({paddingBottom: 0, zIndex: 111})
|
|
164
166
|
},
|
|
@@ -204,6 +206,7 @@
|
|
|
204
206
|
}).filter((item) => item["is_valid"] === "Y");
|
|
205
207
|
})
|
|
206
208
|
},
|
|
209
|
+
|
|
207
210
|
/**
|
|
208
211
|
* @description 监听事件变化
|
|
209
212
|
* @param container {object} 业务组件对象自己
|
|
@@ -215,6 +218,7 @@
|
|
|
215
218
|
this.login_name = getContainerPropsValue(container, "content.login_name", "登录");
|
|
216
219
|
this.margin = getContainerPropsValue(container, 'content.margin', {top: 0, left: 0, bottom: 0, right: 0});
|
|
217
220
|
},
|
|
221
|
+
|
|
218
222
|
handleBindLogin(item){
|
|
219
223
|
this.$xdShowLoading({});
|
|
220
224
|
jfbRootExec("loginCardBind", {
|
|
@@ -222,8 +226,8 @@
|
|
|
222
226
|
data: { card_number: item["card_number"] },
|
|
223
227
|
})
|
|
224
228
|
.then((res) => {
|
|
225
|
-
console.log(res);
|
|
226
229
|
this.$xdHideLoading();
|
|
230
|
+
|
|
227
231
|
//#ifdef MP-WEIXIN
|
|
228
232
|
if (this.jfbAuthorize !== null) {
|
|
229
233
|
this.jfbAuthorize.setCardToken(res);
|
|
@@ -232,13 +236,16 @@
|
|
|
232
236
|
|
|
233
237
|
if (this.$configProject.isPreview) {
|
|
234
238
|
console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
|
|
235
|
-
}
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
console.warn(`handleBindLogin: ${this.inCallback}`);
|
|
236
242
|
this.$xdUniHelper.redirectTo({
|
|
237
243
|
url: this.inCallback,
|
|
238
244
|
});
|
|
239
245
|
}
|
|
240
246
|
})
|
|
241
247
|
.catch((res) => {
|
|
248
|
+
console.error(res);
|
|
242
249
|
this.$xdHideLoading();
|
|
243
250
|
});
|
|
244
251
|
},
|
|
@@ -284,13 +291,22 @@
|
|
|
284
291
|
box-shadow: 0px 0px 8rpx 0px rgba(179, 193, 196, 0.5);
|
|
285
292
|
z-index: 111;
|
|
286
293
|
|
|
287
|
-
|
|
294
|
+
& > view {
|
|
288
295
|
width: 100%;
|
|
289
296
|
display: flex;
|
|
290
297
|
justify-content: center;
|
|
291
298
|
align-items: center;
|
|
292
299
|
padding: unit(24, rpx);
|
|
293
300
|
box-sizing: border-box;
|
|
301
|
+
|
|
302
|
+
/* #ifdef MP-WEIXIN */
|
|
303
|
+
& > view {
|
|
304
|
+
flex: 1;
|
|
305
|
+
display: flex;
|
|
306
|
+
justify-content: center;
|
|
307
|
+
align-items: center;
|
|
308
|
+
}
|
|
309
|
+
/* #endif */
|
|
294
310
|
}
|
|
295
311
|
}
|
|
296
312
|
}
|
|
@@ -51,6 +51,8 @@
|
|
|
51
51
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
52
52
|
import extsMixins from "@/mixins/extsMixins";
|
|
53
53
|
import {Base64} from "js-base64";
|
|
54
|
+
import {mapState} from "vuex";
|
|
55
|
+
|
|
54
56
|
export default {
|
|
55
57
|
name: "JfbBaseCardV3",
|
|
56
58
|
components: {
|
|
@@ -77,11 +79,13 @@
|
|
|
77
79
|
}
|
|
78
80
|
},
|
|
79
81
|
watch: {
|
|
80
|
-
container(value) {
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
container(value,oldValue) {
|
|
83
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
84
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
85
|
+
},
|
|
83
86
|
},
|
|
84
87
|
computed: {
|
|
88
|
+
...mapState(['jfbAuthorize']),
|
|
85
89
|
button_bottom() {
|
|
86
90
|
return this.fixedStyle({paddingBottom: 24, zIndex: 111})
|
|
87
91
|
},
|
|
@@ -140,12 +144,7 @@
|
|
|
140
144
|
})
|
|
141
145
|
},
|
|
142
146
|
toDetail(item) {
|
|
143
|
-
this.$xdUniHelper.navigateTo(
|
|
144
|
-
{
|
|
145
|
-
url: `${this.detailUrl}?card_number=${item["card_number"]}`,
|
|
146
|
-
},
|
|
147
|
-
false
|
|
148
|
-
);
|
|
147
|
+
this.$xdUniHelper.navigateTo({url: `${this.detailUrl}?card_number=${item["card_number"]}`,}, false);
|
|
149
148
|
},
|
|
150
149
|
/**
|
|
151
150
|
* @description 已绑定卡登录
|
|
@@ -175,10 +174,11 @@
|
|
|
175
174
|
this.$xdHideLoading();
|
|
176
175
|
//#ifdef MP-WEIXIN
|
|
177
176
|
if (this.jfbAuthorize !== null) {
|
|
178
|
-
this.jfbAuthorize.setCardToken(res);
|
|
177
|
+
this.jfbAuthorize.setCardToken(res, null);
|
|
179
178
|
}
|
|
180
179
|
//#endif
|
|
181
|
-
|
|
180
|
+
console.log(this.inCallback);
|
|
181
|
+
debugger
|
|
182
182
|
if (this.$configProject.isPreview) {
|
|
183
183
|
console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
|
|
184
184
|
} else {
|
|
@@ -190,9 +190,9 @@
|
|
|
190
190
|
.catch((res) => {
|
|
191
191
|
this.$xdHideLoading();
|
|
192
192
|
});
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
this.$xdUniHelper.navigateTo({
|
|
196
196
|
url: `${this.changeUrl}?card_number=${item["card_number"]}`,
|
|
197
197
|
},
|
|
198
198
|
false
|
|
@@ -44,8 +44,9 @@ export default {
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
watch: {
|
|
47
|
-
container(value) {
|
|
48
|
-
|
|
47
|
+
container(value,oldValue) {
|
|
48
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
49
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
49
50
|
}
|
|
50
51
|
},
|
|
51
52
|
created() {
|
|
@@ -54,8 +54,9 @@
|
|
|
54
54
|
...mapState(['jfbAuthorize']),
|
|
55
55
|
},
|
|
56
56
|
watch: {
|
|
57
|
-
container(value) {
|
|
58
|
-
|
|
57
|
+
container(value,oldValue) {
|
|
58
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
59
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
59
60
|
}
|
|
60
61
|
},
|
|
61
62
|
created() {
|
|
@@ -203,8 +203,9 @@ export default {
|
|
|
203
203
|
},
|
|
204
204
|
},
|
|
205
205
|
watch: {
|
|
206
|
-
container(value) {
|
|
207
|
-
|
|
206
|
+
container(value,oldValue) {
|
|
207
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
208
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
208
209
|
},
|
|
209
210
|
},
|
|
210
211
|
created() {
|
|
@@ -194,8 +194,9 @@ export default {
|
|
|
194
194
|
};
|
|
195
195
|
},
|
|
196
196
|
watch: {
|
|
197
|
-
container(value) {
|
|
198
|
-
|
|
197
|
+
container(value,oldValue) {
|
|
198
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
199
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
199
200
|
},
|
|
200
201
|
},
|
|
201
202
|
created() {
|
|
@@ -7,6 +7,28 @@ export default {
|
|
|
7
7
|
style: [],
|
|
8
8
|
content: (data) => {
|
|
9
9
|
return [
|
|
10
|
+
{
|
|
11
|
+
label: '选择综合入口类型:',
|
|
12
|
+
ele: 'xd-site-select-list',
|
|
13
|
+
valueKey: 'entryType',
|
|
14
|
+
value: data['entryType'],
|
|
15
|
+
placeholder: '请选择综合入口类型',
|
|
16
|
+
multiple: false,
|
|
17
|
+
groupKey:'content',
|
|
18
|
+
className: 'input50',
|
|
19
|
+
rules: [
|
|
20
|
+
{required: true, message: '请选择综合入口类型', trigger: ['blur', 'change']}
|
|
21
|
+
],
|
|
22
|
+
handleCustom({action, data}) {
|
|
23
|
+
XdBus.getParentApi('getEntryGroupOption')({key: Date.now()})
|
|
24
|
+
.then(res => {
|
|
25
|
+
data.cb(res.list)
|
|
26
|
+
})
|
|
27
|
+
.catch(error => {
|
|
28
|
+
console.error(error);
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
},
|
|
10
32
|
{
|
|
11
33
|
label: '每行显示数量',
|
|
12
34
|
ele: 'xd-radio',
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
50
50
|
import extsMixins from "@/mixins/extsMixins";
|
|
51
51
|
import getServiceUrl from "@/common/getServiceUrl";
|
|
52
|
-
import {
|
|
52
|
+
import {mapState} from "vuex";
|
|
53
53
|
export default {
|
|
54
54
|
name: "JfbBaseEntry",
|
|
55
55
|
components: {
|
|
@@ -66,9 +66,11 @@
|
|
|
66
66
|
paddingInput: 20,
|
|
67
67
|
loadingList: true,
|
|
68
68
|
margin: {},
|
|
69
|
+
entryType: '',
|
|
69
70
|
}
|
|
70
71
|
},
|
|
71
72
|
computed: {
|
|
73
|
+
...mapState(['brandInfo']),
|
|
72
74
|
bodyStyle(){
|
|
73
75
|
return {
|
|
74
76
|
backgroundColor: this.bgcolor,
|
|
@@ -91,9 +93,10 @@
|
|
|
91
93
|
}
|
|
92
94
|
},
|
|
93
95
|
watch: {
|
|
94
|
-
container(value) {
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
container(value,oldValue) {
|
|
97
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
98
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
99
|
+
},
|
|
97
100
|
},
|
|
98
101
|
created() {
|
|
99
102
|
this.init(this.container);
|
|
@@ -111,17 +114,67 @@
|
|
|
111
114
|
this.rowNum = getContainerPropsValue(container, 'content.rowNum', 1);
|
|
112
115
|
this.paddingInput = getContainerPropsValue(container, 'content.paddingInput', 20);
|
|
113
116
|
this.margin = getContainerPropsValue(container, 'content.margin', {});
|
|
117
|
+
this.entryType = getContainerPropsValue(container, 'content.entryType', 'default');
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
getCardPath(custom_redirect_data = {}){
|
|
121
|
+
//#ifdef H5
|
|
122
|
+
return null;
|
|
123
|
+
//#endif
|
|
124
|
+
//#ifdef MP-WEIXIN
|
|
125
|
+
const dir = custom_redirect_data.dir;
|
|
126
|
+
const actDir = this.projectAttr['deploy_dir'];
|
|
127
|
+
if(custom_redirect_data.appType === 'wxmp') {
|
|
128
|
+
if(dir === actDir) {
|
|
129
|
+
return {
|
|
130
|
+
cardPath: custom_redirect_data.path,
|
|
131
|
+
cardSelf: 'wxmp',
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
else return null;
|
|
135
|
+
}
|
|
136
|
+
else if(custom_redirect_data.appType === 'h5'){
|
|
137
|
+
return {
|
|
138
|
+
cardPath: custom_redirect_data.site_url,
|
|
139
|
+
cardSelf: 'h5',
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
else return null;
|
|
143
|
+
//#endif
|
|
114
144
|
},
|
|
115
145
|
getEntrySetting(){
|
|
116
146
|
this.$xdShowLoading({});
|
|
117
147
|
jfbRootExec("getEntrySetting", {
|
|
118
148
|
vm: this,
|
|
119
|
-
data: {
|
|
149
|
+
data: {
|
|
150
|
+
group_id:this.entryType || 'default'
|
|
151
|
+
}
|
|
120
152
|
}).then(res => {
|
|
121
153
|
this.loadingList = false;
|
|
122
154
|
this.$xdHideLoading();
|
|
123
|
-
|
|
124
|
-
|
|
155
|
+
let isH5FilterEntryList = [];
|
|
156
|
+
let isMpFilterEntryList = [];
|
|
157
|
+
this.entryList = res.list.filter(item=>{
|
|
158
|
+
//#ifdef H5
|
|
159
|
+
//在H5平台应用中不可跳转到微信小程序应用
|
|
160
|
+
if(item.redirect_data.appType === 'wxmp'){
|
|
161
|
+
isH5FilterEntryList.push(item)
|
|
162
|
+
}
|
|
163
|
+
return item.redirect_data.appType !== 'wxmp';
|
|
164
|
+
//#endif
|
|
165
|
+
|
|
166
|
+
//#ifdef MP-WEIXIN
|
|
167
|
+
const dir = item['redirect_data'].dir;
|
|
168
|
+
const actDir = this.projectAttr['deploy_dir'];
|
|
169
|
+
if(item.redirect_data.appType === 'wxmp') {
|
|
170
|
+
if(dir !== actDir) isMpFilterEntryList.push(item)
|
|
171
|
+
return dir === actDir;
|
|
172
|
+
}
|
|
173
|
+
return true
|
|
174
|
+
//#endif
|
|
175
|
+
}).map(item => {
|
|
176
|
+
const {dir, path, host,appType} = item['redirect_data'];
|
|
177
|
+
if(appType === undefined) item.redirect_data.appType = 'h5';
|
|
125
178
|
item['image_url'] = getServiceUrl(item.image_url);
|
|
126
179
|
item['image_url2'] = item.image_url2 ? getServiceUrl(item.image_url2) : "";
|
|
127
180
|
item['image_url3'] = item.image_url3 ? getServiceUrl(item.image_url3) : "";
|
|
@@ -139,24 +192,35 @@
|
|
|
139
192
|
let jumpUrl = path;
|
|
140
193
|
|
|
141
194
|
//域名相同并且应用路径不相同时候处理
|
|
142
|
-
if(host === this.projectAttr.host
|
|
143
|
-
&& this.projectAttr['deploy_dir'] !== dir
|
|
144
|
-
){
|
|
195
|
+
if(host === this.projectAttr.host && this.projectAttr['deploy_dir'] !== dir){
|
|
145
196
|
jumpUrl = `//${host}/${dir}${path}`;
|
|
146
197
|
//#ifdef MP-WEIXIN
|
|
147
198
|
jumpUrl = `https:${jumpUrl}`;
|
|
148
199
|
//#endif
|
|
149
200
|
}
|
|
150
201
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
item['
|
|
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
|
+
}
|
|
156
212
|
}
|
|
213
|
+
//#endif
|
|
214
|
+
item['redirect_data']['path'] = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
157
215
|
return item;
|
|
158
216
|
});
|
|
159
|
-
|
|
217
|
+
//#ifdef MP-WEIXIN
|
|
218
|
+
console.warn(`微信小程序端被过滤的入口列表:${JSON.stringify(isMpFilterEntryList.map(item=> `${item.redirect_data.appType}:${item.entry_name}:${item.redirect_data['frontPath']}`),null,2)}`)
|
|
219
|
+
//#endif
|
|
220
|
+
//#ifdef H5
|
|
221
|
+
console.warn(`H5端被过滤的入口列表:${JSON.stringify(isH5FilterEntryList.map(item=> `${item.redirect_data.appType}:${item.entry_name}:${item.redirect_data['frontPath']}`),null,2)}`)
|
|
222
|
+
//#endif
|
|
223
|
+
console.warn(`福利入口链接列表:${JSON.stringify(this.entryList.map(item=> `${item.redirect_data.appType}:${item.redirect_data['path']}`),null,2)}`);
|
|
160
224
|
if(res.list.length === 1) this.toLink(this.entryList[0]);
|
|
161
225
|
if(res.list.length === 0) {
|
|
162
226
|
this.$xdAlert({content: '当前票券暂无支持服务'})
|
|
@@ -50,14 +50,13 @@ export default {
|
|
|
50
50
|
};
|
|
51
51
|
},
|
|
52
52
|
watch: {
|
|
53
|
-
container(value) {
|
|
54
|
-
|
|
53
|
+
container(value,oldValue) {
|
|
54
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
55
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
55
56
|
},
|
|
56
57
|
},
|
|
57
58
|
created() {
|
|
58
59
|
this.init(this.container);
|
|
59
|
-
|
|
60
|
-
//todo
|
|
61
60
|
},
|
|
62
61
|
methods: {
|
|
63
62
|
onJfbLoad(options) {
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
68
68
|
import extsMixins from "@/mixins/extsMixins"
|
|
69
69
|
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
70
|
+
import {parsePath} from '@/utils/linkUrl'
|
|
70
71
|
import XdFastNav from "./XdFastNav.vue";
|
|
71
72
|
import Color from "color";
|
|
72
73
|
const color = require('color');
|
|
@@ -113,8 +114,9 @@
|
|
|
113
114
|
}
|
|
114
115
|
},
|
|
115
116
|
watch: {
|
|
116
|
-
container(value) {
|
|
117
|
-
|
|
117
|
+
container(value,oldValue) {
|
|
118
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
119
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
118
120
|
}
|
|
119
121
|
},
|
|
120
122
|
|
|
@@ -185,24 +187,33 @@
|
|
|
185
187
|
this.margin = getContainerPropsValue(container, 'content.margin', {top: 0, left: 0, right: 0, bottom: 0});
|
|
186
188
|
this.subColor = getContainerPropsValue(container, 'content.textSubColor', '#000');
|
|
187
189
|
this.fontSubSize = getContainerPropsValue(container, 'content.fontSubSize', 24);
|
|
188
|
-
this.
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
190
|
+
if(this.is_layout === 'fixed') {
|
|
191
|
+
this.listNave = this.list.map(item=>{
|
|
192
|
+
let {appValue,path} = item.path
|
|
193
|
+
if(appValue === '0') {
|
|
194
|
+
return { name: item.name, path: item.path.value, icon: item.icon, size: item.size}
|
|
195
|
+
}
|
|
196
|
+
else{
|
|
197
|
+
const {dir,fixed_business_code} = item.path;
|
|
198
|
+
let bus = fixed_business_code? Base64.encodeURI(JSON.stringify({business_code: fixed_business_code})):'';
|
|
199
|
+
if(bus) bus = `?x-common=${bus}`;
|
|
200
|
+
let jumpUrl = '';
|
|
201
|
+
//#ifdef H5
|
|
202
|
+
if(dir) jumpUrl = `//${window.location.host}/${dir}${path}`;
|
|
203
|
+
else jumpUrl = path;
|
|
204
|
+
//#endif
|
|
205
|
+
|
|
206
|
+
//#ifdef MP-WEIXIN
|
|
207
|
+
const pathObj = parsePath(path);
|
|
208
|
+
if(pathObj.isSameApp) jumpUrl = pathObj.url;
|
|
209
|
+
else jumpUrl = `https://${this.projectAttr.host}/${pathObj.dir}${pathObj.url}`;
|
|
210
|
+
//#endif
|
|
211
|
+
|
|
212
|
+
jumpUrl = `${jumpUrl}${bus}`;
|
|
213
|
+
return { name: item.name, path: jumpUrl, icon: item.icon, size: item.size }
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
206
217
|
|
|
207
218
|
},
|
|
208
219
|
}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<view class="xd-fast-nave__body">
|
|
11
11
|
<view class="xd-fast-nave__body-close" v-if="close" @click="close=false">
|
|
12
12
|
<xd-font-icon icon="iconjiantou_zuo" color="#fff" size="30"></xd-font-icon>
|
|
13
|
-
<view>{{fastName}}</view>
|
|
13
|
+
<view v-if="0">{{fastName}}</view>
|
|
14
14
|
</view>
|
|
15
15
|
<view class="xd-fast-nave__body-open" v-else @click="close=true">
|
|
16
16
|
<xd-font-icon icon="iconjiantou_you" color="#fff" size="30"></xd-font-icon>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
:key="index"
|
|
24
24
|
@click="handleClick(item)"
|
|
25
25
|
>
|
|
26
|
-
<view>
|
|
26
|
+
<view v-if="item.icon">
|
|
27
27
|
<xd-font-icon v-if="item.icon" :icon="item.icon" size="34" :color="color"></xd-font-icon>
|
|
28
28
|
</view>
|
|
29
29
|
<view :style="{color: color}">{{item.name}}</view>
|