jufubao-base 1.0.159-beta1 → 1.0.159-beta3
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/JfbBaseAddress.vue +3 -2
- package/src/components/JfbBaseAfterOrderDetail/JfbBaseAfterOrderDetail.vue +3 -2
- package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +3 -2
- package/src/components/JfbBaseBack/JfbBaseBack.vue +3 -2
- package/src/components/JfbBaseBackground/JfbBaseBackground.vue +3 -2
- package/src/components/JfbBaseBlock/JfbBaseBlock.vue +3 -2
- package/src/components/JfbBaseCard/JfbBaseCard.vue +6 -5
- package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +3 -2
- package/src/components/JfbBaseCardDetail/JfbBaseCardDetail.vue +0 -1
- package/src/components/JfbBaseCardDetailEntry/Attr.js +22 -0
- package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +54 -36
- package/src/components/JfbBaseCardDisabled/JfbBaseCardDisabled.vue +3 -3
- package/src/components/JfbBaseCardDisabledEntry/JfbBaseCardDisabledEntry.vue +3 -4
- package/src/components/JfbBaseCardEntry/Attr.js +22 -1
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +82 -34
- package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +20 -0
- package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +3 -2
- package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +3 -2
- package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +3 -2
- package/src/components/JfbBaseCardShift/JfbBaseCardShift.vue +3 -10
- package/src/components/JfbBaseCardShiftEntry/JfbBaseCardShiftEntry.vue +15 -18
- package/src/components/JfbBaseCardSweepInfo/JfbBaseCardSweepInfo.vue +3 -2
- 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/JfbBaseEntry.vue +4 -3
- package/src/components/JfbBaseExpressDetail/JfbBaseExpressDetail.vue +3 -4
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +17 -15
- package/src/components/JfbBaseFooter/JfbBaseFooter.vue +0 -1
- package/src/components/JfbBaseHeader/JfbBaseHeader.vue +3 -2
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +26 -9
- package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +6 -8
- package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +6 -3
- package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +6 -5
- package/src/components/JfbBaseMapSearch/JfbBaseMapSearch.vue +3 -2
- package/src/components/JfbBaseMergeUserCard/JfbBaseMergeUserCard.vue +28 -27
- package/src/components/JfbBaseMultipleExpress/JfbBaseMultipleExpress.vue +3 -4
- package/src/components/JfbBaseMy/JfbBaseMy.vue +3 -3
- package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +6 -4
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +6 -4
- package/src/components/JfbBaseNoticeBottom/JfbBaseNoticeBottom.vue +3 -2
- package/src/components/JfbBaseNoticeTop/JfbBaseNoticeTop.vue +3 -2
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +3 -2
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +8 -3
- package/src/components/JfbBasePay/JfbBasePay.vue +3 -2
- package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +22 -7
- package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +23 -7
- package/src/components/JfbBasePosterType/FourScreen.vue +12 -6
- 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 +1 -1
- package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +3 -2
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +3 -2
- package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +4 -3
- package/src/components/JfbBaseVideo/JfbBaseVideo.vue +6 -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 +3 -4
- package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +8 -17
- package/src/components/JfbBaseWebview/JfbBaseWebview.vue +4 -3
- package/src/components/JfbBaseWxAuthorize/JfbBaseWxAuthorize.vue +3 -2
- package/src/components/JfbBaseWxAuthorizeError/JfbBaseWxAuthorizeError.vue +3 -4
package/package.json
CHANGED
|
@@ -193,8 +193,9 @@ export default {
|
|
|
193
193
|
},
|
|
194
194
|
},
|
|
195
195
|
watch: {
|
|
196
|
-
container(value) {
|
|
197
|
-
|
|
196
|
+
container(value,oldValue) {
|
|
197
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
198
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
198
199
|
},
|
|
199
200
|
showAddress(val) {
|
|
200
201
|
if (val === false) this.defaultValue = null;
|
|
@@ -178,8 +178,9 @@ export default {
|
|
|
178
178
|
};
|
|
179
179
|
},
|
|
180
180
|
watch: {
|
|
181
|
-
container(value) {
|
|
182
|
-
|
|
181
|
+
container(value,oldValue) {
|
|
182
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
183
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
183
184
|
},
|
|
184
185
|
},
|
|
185
186
|
computed: {
|
|
@@ -162,8 +162,9 @@ export default {
|
|
|
162
162
|
};
|
|
163
163
|
},
|
|
164
164
|
watch: {
|
|
165
|
-
container(value) {
|
|
166
|
-
|
|
165
|
+
container(value,oldValue) {
|
|
166
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
167
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
167
168
|
},
|
|
168
169
|
},
|
|
169
170
|
computed: {
|
|
@@ -41,8 +41,9 @@ export default {
|
|
|
41
41
|
};
|
|
42
42
|
},
|
|
43
43
|
watch: {
|
|
44
|
-
container(value) {
|
|
45
|
-
|
|
44
|
+
container(value,oldValue) {
|
|
45
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
46
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
46
47
|
},
|
|
47
48
|
},
|
|
48
49
|
destroyed() {
|
|
@@ -255,7 +255,7 @@ export default {
|
|
|
255
255
|
if(this.login_text_color) style['color'] = this.login_text_color;
|
|
256
256
|
if(this.login_text_bg_color) style['backgroundColor'] = this.login_text_bg_color;
|
|
257
257
|
if(this.login_text_radius) style['borderRadius'] = this.login_text_radius + 'rpx'
|
|
258
|
-
return
|
|
258
|
+
return this.styleObjectToString(style);
|
|
259
259
|
},
|
|
260
260
|
lookStyle(){
|
|
261
261
|
let style = { backgroundColor: this.cardLayout === '2'? '' : this.mainColor};
|
|
@@ -263,7 +263,7 @@ export default {
|
|
|
263
263
|
if(this.look_text_color) style['color'] = this.look_text_color;
|
|
264
264
|
if(this.look_text_bg_color) style['backgroundColor'] = this.look_text_bg_color;
|
|
265
265
|
if(this.look_text_radius) style['borderRadius'] = this.look_text_radius + 'rpx';
|
|
266
|
-
return style;
|
|
266
|
+
return this.styleObjectToString(style);
|
|
267
267
|
}
|
|
268
268
|
},
|
|
269
269
|
watch: {
|
|
@@ -282,9 +282,10 @@ export default {
|
|
|
282
282
|
})
|
|
283
283
|
|
|
284
284
|
},
|
|
285
|
-
container(value) {
|
|
286
|
-
|
|
287
|
-
|
|
285
|
+
container(value,oldValue) {
|
|
286
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
287
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
288
|
+
},
|
|
288
289
|
},
|
|
289
290
|
data() {
|
|
290
291
|
return {
|
|
@@ -103,8 +103,9 @@
|
|
|
103
103
|
}
|
|
104
104
|
},
|
|
105
105
|
watch: {
|
|
106
|
-
container(value) {
|
|
107
|
-
|
|
106
|
+
container(value,oldValue) {
|
|
107
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
108
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
108
109
|
}
|
|
109
110
|
},
|
|
110
111
|
created() {
|
|
@@ -4,6 +4,28 @@ export default {
|
|
|
4
4
|
style: [],
|
|
5
5
|
advanced: [],
|
|
6
6
|
content: [
|
|
7
|
+
{
|
|
8
|
+
label: '选择综合入口类型:',
|
|
9
|
+
ele: 'xd-site-select-list',
|
|
10
|
+
valueKey: 'entryGroupId',
|
|
11
|
+
value: 'default',
|
|
12
|
+
placeholder: '请选择综合入口类型',
|
|
13
|
+
multiple: false,
|
|
14
|
+
groupKey:'content',
|
|
15
|
+
className: 'input50',
|
|
16
|
+
rules: [
|
|
17
|
+
{required: true, message: '请选择综合入口类型', trigger: ['blur', 'change']}
|
|
18
|
+
],
|
|
19
|
+
handleCustom({action, data}) {
|
|
20
|
+
XdBus.getParentApi('getEntryGroupOption')({key: Date.now()})
|
|
21
|
+
.then(res => {
|
|
22
|
+
data.cb(res.list)
|
|
23
|
+
})
|
|
24
|
+
.catch(error => {
|
|
25
|
+
console.error(error);
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
},
|
|
7
29
|
{
|
|
8
30
|
label: '票券解绑成功回跳地址:',
|
|
9
31
|
ele: 'xd-select-pages-path',
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
<view v-if="info.is_exchange==='Y'">
|
|
75
75
|
<xd-button
|
|
76
76
|
width="100%"
|
|
77
|
-
@click="handleToShift"
|
|
77
|
+
@click="handleToShift()"
|
|
78
78
|
size="small"
|
|
79
79
|
type="primary"
|
|
80
80
|
>券转换</xd-button>
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
<view v-if="isShowUnbind">
|
|
83
83
|
<xd-button
|
|
84
84
|
width="100%"
|
|
85
|
-
@click="handleUnBindCard"
|
|
85
|
+
@click="handleUnBindCard()"
|
|
86
86
|
size="small"
|
|
87
87
|
type="primary">解除绑定</xd-button>
|
|
88
88
|
</view>
|
|
@@ -106,6 +106,7 @@ import XdPwPay from "./XdPwPay";
|
|
|
106
106
|
import XdEditPwd from "./XdEditPwd";
|
|
107
107
|
import XdUnit from "@/components/XdUnit/XdUnit";
|
|
108
108
|
import XdButton from '@/components/XdButton/XdButton'
|
|
109
|
+
import {parsePath} from "@/utils/linkUrl";
|
|
109
110
|
export default {
|
|
110
111
|
name: "JfbBaseCardDetailEntry",
|
|
111
112
|
components: {
|
|
@@ -121,6 +122,7 @@ export default {
|
|
|
121
122
|
data() {
|
|
122
123
|
return {
|
|
123
124
|
userInfo: null, //用户信息(暂时不可用)
|
|
125
|
+
entryGroupId: '',//加载入口数据组别
|
|
124
126
|
|
|
125
127
|
info: null,
|
|
126
128
|
timeStr: "",
|
|
@@ -202,6 +204,8 @@ export default {
|
|
|
202
204
|
init(container) {
|
|
203
205
|
this.backUrl = getContainerPropsValue(container, "content.back_url", { value: "" }).value;
|
|
204
206
|
this.shift_url = getContainerPropsValue(container, "content.shift_url", { value: "" }).value;
|
|
207
|
+
//'wechat_mini_program|default'
|
|
208
|
+
this.entryGroupId = getContainerPropsValue(container,"content.entryGroupId","default");
|
|
205
209
|
},
|
|
206
210
|
/**
|
|
207
211
|
* @description 获取卡详情
|
|
@@ -212,6 +216,7 @@ export default {
|
|
|
212
216
|
data: {
|
|
213
217
|
card_number: this.card_number,
|
|
214
218
|
is_show_entry_settings: "Y",
|
|
219
|
+
group_id: this.entryGroupId
|
|
215
220
|
},
|
|
216
221
|
})
|
|
217
222
|
.then((res) => {
|
|
@@ -227,6 +232,9 @@ export default {
|
|
|
227
232
|
100
|
|
228
233
|
);
|
|
229
234
|
}
|
|
235
|
+
|
|
236
|
+
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
237
|
+
|
|
230
238
|
if(res && res.site_entry_settings && res.site_entry_settings.length>0) {
|
|
231
239
|
res.site_entry_settings = res.site_entry_settings.filter(item=>{
|
|
232
240
|
item['image_url'] = getServiceUrl(item['image_url'])
|
|
@@ -314,59 +322,70 @@ export default {
|
|
|
314
322
|
//#ifdef MP-WEIXIN
|
|
315
323
|
if (this.jfbAuthorize !== null) {
|
|
316
324
|
this.jfbAuthorize.setCardToken(res);
|
|
317
|
-
this.
|
|
325
|
+
this.handleClick(entry);
|
|
326
|
+
return
|
|
318
327
|
}
|
|
319
328
|
//#endif
|
|
329
|
+
|
|
320
330
|
if (this.$configProject.isPreview) {
|
|
321
331
|
console.log("handleBindLogin", "预览模式不跳转", this.inCallback);
|
|
322
332
|
}
|
|
323
|
-
|
|
324
333
|
else {
|
|
325
|
-
this.
|
|
334
|
+
this.handleClick(entry);
|
|
326
335
|
}
|
|
327
336
|
})
|
|
328
337
|
.catch((res) => {
|
|
329
338
|
this.$xdHideLoading();
|
|
330
339
|
});
|
|
331
340
|
},
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
item = JSON.parse(entry['redirect_data']);
|
|
341
|
-
}catch (e) {
|
|
342
|
-
return;
|
|
343
|
-
}
|
|
344
|
-
const {dir, path, host} = item;
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
handleClick(entry){
|
|
344
|
+
const {dir, path, host, appType} = entry['redirect_data'];
|
|
345
|
+
let regHttp = /^(\/\/|http:\/\/|https:\/\/).+$/;
|
|
346
|
+
let regSp = /(-apiuri\/v)/;
|
|
347
|
+
|
|
348
|
+
if(appType === undefined) entry.redirect_data.appType = 'h5';
|
|
345
349
|
let nsp = Base64.encodeURI(JSON.stringify({business_code: entry['business_code']}));
|
|
346
350
|
|
|
347
351
|
//外站配置地址
|
|
348
|
-
if
|
|
349
|
-
if
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
352
|
+
if(entry.redirect_type === 'URL') {
|
|
353
|
+
if(regHttp.test(entry.redirect_data['path']) || regSp.test(entry.redirect_data['path'])) {
|
|
354
|
+
this.$xdUniHelper.redirectTo({
|
|
355
|
+
url:`${entry.redirect_data['path']}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
356
|
+
}, false)
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
console.error(`配置错误:${entry.redirect_data['path']}`);
|
|
360
|
+
throw new Error(`配置错误:${entry.redirect_data['path']}`)
|
|
361
|
+
}
|
|
362
|
+
return
|
|
354
363
|
}
|
|
355
364
|
|
|
356
|
-
|
|
357
|
-
let jumpUrl =
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
365
|
+
//站内应用处理
|
|
366
|
+
let jumpUrl = '';
|
|
367
|
+
let jumpUrlObj = parsePath(path);
|
|
368
|
+
let cardPathStr = '';
|
|
369
|
+
if(jumpUrlObj.isSameApp) jumpUrl = jumpUrlObj.url;
|
|
370
|
+
else jumpUrl = `//${host}/${jumpUrlObj.dir}${jumpUrlObj.url}`;
|
|
361
371
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
372
|
+
//#ifdef MP-WEIXIN
|
|
373
|
+
//获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
|
|
374
|
+
if(entry.redirect_data.appType === 'h5') {
|
|
375
|
+
const custom_redirect_data = this.$xdUniHelper.checkVarType(entry['custom_redirect_data']) === 'object'?entry['custom_redirect_data']:{};
|
|
376
|
+
const cardPathObject = this.getCardPath(custom_redirect_data);
|
|
377
|
+
if(cardPathObject !== null) {
|
|
378
|
+
const {cardPath, cardSelf} =cardPathObject
|
|
379
|
+
if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
|
|
380
|
+
}
|
|
367
381
|
}
|
|
368
|
-
|
|
382
|
+
//#endif
|
|
383
|
+
|
|
384
|
+
jumpUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`;
|
|
385
|
+
if(regHttp.test(jumpUrl)) this.$xdUniHelper.redirectTo({url:jumpUrl}, false)
|
|
386
|
+
else this.$xdUniHelper.navigateTo({url:jumpUrl}, false)
|
|
369
387
|
},
|
|
388
|
+
|
|
370
389
|
handleOnClose() {
|
|
371
390
|
this.editShow = false;
|
|
372
391
|
},
|
|
@@ -391,7 +410,6 @@ export default {
|
|
|
391
410
|
width: "80%",
|
|
392
411
|
isTitle: true,
|
|
393
412
|
zIndex: 2000,
|
|
394
|
-
vm: this,
|
|
395
413
|
success: (res) => {
|
|
396
414
|
if (res.confirm) {
|
|
397
415
|
this.timeStr = ""
|
|
@@ -115,8 +115,9 @@ export default {
|
|
|
115
115
|
};
|
|
116
116
|
},
|
|
117
117
|
watch: {
|
|
118
|
-
container(value) {
|
|
119
|
-
|
|
118
|
+
container(value,oldValue) {
|
|
119
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
120
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
120
121
|
},
|
|
121
122
|
},
|
|
122
123
|
created() {
|
|
@@ -166,7 +167,6 @@ export default {
|
|
|
166
167
|
width: "80%",
|
|
167
168
|
isTitle: true,
|
|
168
169
|
zIndex: 2000,
|
|
169
|
-
vm: this,
|
|
170
170
|
success: (res) => {
|
|
171
171
|
if (res.confirm) {
|
|
172
172
|
jfbRootExec("disabledCardUnbind", {
|
|
@@ -182,8 +182,9 @@ export default {
|
|
|
182
182
|
},
|
|
183
183
|
},
|
|
184
184
|
watch: {
|
|
185
|
-
container(value) {
|
|
186
|
-
|
|
185
|
+
container(value,oldValue) {
|
|
186
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
187
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
187
188
|
},
|
|
188
189
|
},
|
|
189
190
|
created() {
|
|
@@ -231,7 +232,6 @@ export default {
|
|
|
231
232
|
width: "80%",
|
|
232
233
|
isTitle: true,
|
|
233
234
|
zIndex: 2000,
|
|
234
|
-
vm: this,
|
|
235
235
|
success: (res) => {
|
|
236
236
|
if (res.confirm) {
|
|
237
237
|
let cardIds = this.cardOrgList.map(item=>{
|
|
@@ -264,7 +264,6 @@ export default {
|
|
|
264
264
|
width: "80%",
|
|
265
265
|
isTitle: true,
|
|
266
266
|
zIndex: 2000,
|
|
267
|
-
vm: this,
|
|
268
267
|
success: (res) => {
|
|
269
268
|
if (res.confirm) {
|
|
270
269
|
jfbRootExec("disabledCardUnbindEntry", {
|
|
@@ -4,6 +4,28 @@ export default {
|
|
|
4
4
|
style: [],
|
|
5
5
|
advanced: [],
|
|
6
6
|
content: [
|
|
7
|
+
{
|
|
8
|
+
label: '选择综合入口类型:',
|
|
9
|
+
ele: 'xd-site-select-list',
|
|
10
|
+
valueKey: 'entryGroupId',
|
|
11
|
+
value: 'default',
|
|
12
|
+
placeholder: '请选择综合入口类型',
|
|
13
|
+
multiple: false,
|
|
14
|
+
groupKey:'content',
|
|
15
|
+
className: 'input50',
|
|
16
|
+
rules: [
|
|
17
|
+
{required: true, message: '请选择综合入口类型', trigger: ['blur', 'change']}
|
|
18
|
+
],
|
|
19
|
+
handleCustom({action, data}) {
|
|
20
|
+
XdBus.getParentApi('getEntryGroupOption')({key: Date.now()})
|
|
21
|
+
.then(res => {
|
|
22
|
+
data.cb(res.list)
|
|
23
|
+
})
|
|
24
|
+
.catch(error => {
|
|
25
|
+
console.error(error);
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
},
|
|
7
29
|
{
|
|
8
30
|
label: '提示内容:',
|
|
9
31
|
ele: 'xd-site-news',
|
|
@@ -312,6 +334,5 @@ export default {
|
|
|
312
334
|
},
|
|
313
335
|
inline: false,
|
|
314
336
|
},
|
|
315
|
-
|
|
316
337
|
],
|
|
317
338
|
};
|
|
@@ -387,6 +387,8 @@ import { mapState, mapActions } from "vuex";
|
|
|
387
387
|
import { getContainerPropsValue, isWechat,isQrCode } from "@/utils/xd.base";
|
|
388
388
|
import XdNoticeBar from "@/components/XdNoticeBar/XdNoticeBar";
|
|
389
389
|
import { Base64 } from "js-base64";
|
|
390
|
+
import getServiceUrl from "@/common/getServiceUrl";
|
|
391
|
+
import {parsePath} from "@/utils/linkUrl";
|
|
390
392
|
const Color = require("color");
|
|
391
393
|
|
|
392
394
|
export default {
|
|
@@ -414,8 +416,9 @@ export default {
|
|
|
414
416
|
}
|
|
415
417
|
},
|
|
416
418
|
watch: {
|
|
417
|
-
container(value) {
|
|
418
|
-
|
|
419
|
+
container(value,oldValue) {
|
|
420
|
+
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
421
|
+
if (this.$configProject['isPreview']) this.init(value)
|
|
419
422
|
},
|
|
420
423
|
tabIndex(){
|
|
421
424
|
this.clearDefault();
|
|
@@ -434,6 +437,7 @@ export default {
|
|
|
434
437
|
isPreview: false,
|
|
435
438
|
noticeStatus: false,
|
|
436
439
|
loadingCardList: true,
|
|
440
|
+
entryGroupId: '',//加载入口数据组别
|
|
437
441
|
|
|
438
442
|
cutIndex: 1,
|
|
439
443
|
tabIndex: 1,
|
|
@@ -487,7 +491,6 @@ export default {
|
|
|
487
491
|
methods: {
|
|
488
492
|
|
|
489
493
|
init(container){
|
|
490
|
-
//设置
|
|
491
494
|
this.cardLayout = getContainerPropsValue(container,"content.cardLayout","1");
|
|
492
495
|
this.changeUrl = getContainerPropsValue(container,"content.change_url",{value: ""}).value;
|
|
493
496
|
this.disabledUrl = getContainerPropsValue(container,"content.disabled_url",{value: ""}).value;
|
|
@@ -497,6 +500,8 @@ export default {
|
|
|
497
500
|
this.login_name = getContainerPropsValue(container, "content.login_name", "登录");
|
|
498
501
|
this.isShowCode = getContainerPropsValue(container, "content.isShowCode", "Y");
|
|
499
502
|
this.bindCard = getContainerPropsValue(container,"content.bindCard","1");
|
|
503
|
+
//'wechat_mini_program|default'
|
|
504
|
+
this.entryGroupId = getContainerPropsValue(container,"content.entryGroupId","default");
|
|
500
505
|
},
|
|
501
506
|
|
|
502
507
|
handleToLink(path) {
|
|
@@ -578,6 +583,7 @@ export default {
|
|
|
578
583
|
/**
|
|
579
584
|
* @description 已绑定卡登录
|
|
580
585
|
* @param item
|
|
586
|
+
* @param entry
|
|
581
587
|
*/
|
|
582
588
|
handleBindLogin(item , entry) {
|
|
583
589
|
//卡券登录
|
|
@@ -593,10 +599,12 @@ export default {
|
|
|
593
599
|
})
|
|
594
600
|
.then((res) => {
|
|
595
601
|
this.$xdHideLoading();
|
|
602
|
+
|
|
596
603
|
//#ifdef MP-WEIXIN
|
|
597
604
|
if (this.jfbAuthorize !== null) {
|
|
598
605
|
this.jfbAuthorize.setCardToken(res);
|
|
599
|
-
this.
|
|
606
|
+
this.handleClick(entry);
|
|
607
|
+
return
|
|
600
608
|
}
|
|
601
609
|
//#endif
|
|
602
610
|
if (this.$configProject.isPreview) {
|
|
@@ -604,7 +612,7 @@ export default {
|
|
|
604
612
|
}
|
|
605
613
|
|
|
606
614
|
else {
|
|
607
|
-
this.
|
|
615
|
+
this.handleClick(entry);
|
|
608
616
|
}
|
|
609
617
|
})
|
|
610
618
|
.catch((res) => {
|
|
@@ -619,43 +627,78 @@ export default {
|
|
|
619
627
|
}, false);
|
|
620
628
|
}
|
|
621
629
|
},
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
getCardPath(custom_redirect_data = {}){
|
|
633
|
+
//#ifdef H5
|
|
634
|
+
return null;
|
|
635
|
+
//#endif
|
|
636
|
+
//#ifdef MP-WEIXIN
|
|
637
|
+
const dir = custom_redirect_data.dir;
|
|
638
|
+
const actDir = this.projectAttr['deploy_dir'];
|
|
639
|
+
if(custom_redirect_data.appType === 'wxmp') {
|
|
640
|
+
if(dir === actDir) {
|
|
641
|
+
return {
|
|
642
|
+
cardPath: custom_redirect_data.path,
|
|
643
|
+
cardSelf: 'wxmp',
|
|
644
|
+
};
|
|
645
|
+
}
|
|
646
|
+
else return null;
|
|
647
|
+
}
|
|
648
|
+
else if(custom_redirect_data.appType === 'h5'){
|
|
649
|
+
return {
|
|
650
|
+
cardPath: custom_redirect_data.site_url,
|
|
651
|
+
cardSelf: 'h5',
|
|
652
|
+
};
|
|
633
653
|
}
|
|
634
|
-
|
|
654
|
+
else return null;
|
|
655
|
+
//#endif
|
|
656
|
+
},
|
|
657
|
+
|
|
658
|
+
handleClick(entry){
|
|
659
|
+
const {dir, path, host, appType} = entry['redirect_data'];
|
|
660
|
+
let regHttp = /^(\/\/|http:\/\/|https:\/\/).+$/;
|
|
661
|
+
let regSp = /(-apiuri\/v)/;
|
|
662
|
+
|
|
663
|
+
if(appType === undefined) entry.redirect_data.appType = 'h5';
|
|
635
664
|
let nsp = Base64.encodeURI(JSON.stringify({business_code: entry['business_code']}));
|
|
636
665
|
|
|
637
666
|
//外站配置地址
|
|
638
|
-
if
|
|
639
|
-
if
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
667
|
+
if(entry.redirect_type === 'URL') {
|
|
668
|
+
if(regHttp.test(entry.redirect_data['path']) || regSp.test(entry.redirect_data['path'])) {
|
|
669
|
+
this.$xdUniHelper.redirectTo({
|
|
670
|
+
url:`${entry.redirect_data['path']}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`
|
|
671
|
+
}, false)
|
|
672
|
+
}
|
|
673
|
+
else {
|
|
674
|
+
console.error(`配置错误:${entry.redirect_data['path']}`);
|
|
675
|
+
throw new Error(`配置错误:${entry.redirect_data['path']}`)
|
|
676
|
+
}
|
|
677
|
+
return
|
|
644
678
|
}
|
|
645
679
|
|
|
646
|
-
|
|
647
|
-
let jumpUrl =
|
|
648
|
-
|
|
649
|
-
|
|
680
|
+
//站内应用处理
|
|
681
|
+
let jumpUrl = '';
|
|
682
|
+
let jumpUrlObj = parsePath(path);
|
|
683
|
+
let cardPathStr = '';
|
|
684
|
+
if(jumpUrlObj.isSameApp) jumpUrl = jumpUrlObj.url;
|
|
685
|
+
else jumpUrl = `//${host}/${jumpUrlObj.dir}${jumpUrlObj.url}`;
|
|
686
|
+
|
|
687
|
+
//#ifdef MP-WEIXIN
|
|
688
|
+
//获取自定义卡券登录地址(微信小程序跳转到H5平台起作用)
|
|
689
|
+
if(entry.redirect_data.appType === 'h5') {
|
|
690
|
+
const custom_redirect_data = this.$xdUniHelper.checkVarType(entry['custom_redirect_data']) === 'object'?entry['custom_redirect_data']:{};
|
|
691
|
+
const cardPathObject = this.getCardPath(custom_redirect_data);
|
|
692
|
+
if(cardPathObject !== null) {
|
|
693
|
+
const {cardPath, cardSelf} =cardPathObject
|
|
694
|
+
if(cardPath) cardPathStr = `&card-login=${encodeURIComponent(cardPath)}&cardSelf=${cardSelf}`
|
|
695
|
+
}
|
|
696
|
+
}
|
|
650
697
|
//#endif
|
|
651
698
|
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
}
|
|
655
|
-
else {
|
|
656
|
-
redirectUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}`
|
|
657
|
-
}
|
|
658
|
-
this.toApp(redirectUrl);
|
|
699
|
+
jumpUrl = `${jumpUrl}?x-common=${nsp}&vs=${new Date().getTime()}${cardPathStr}`;
|
|
700
|
+
if(regHttp.test(jumpUrl)) this.$xdUniHelper.redirectTo({url:jumpUrl}, false)
|
|
701
|
+
else this.$xdUniHelper.navigateTo({url:jumpUrl}, false)
|
|
659
702
|
},
|
|
660
703
|
|
|
661
704
|
toDetail(item, out=true) {
|
|
@@ -693,6 +736,7 @@ export default {
|
|
|
693
736
|
if(options['jfb_business_code']) {
|
|
694
737
|
params['card_business_code'] = options['jfb_business_code'];
|
|
695
738
|
}
|
|
739
|
+
if(this.entryGroupId) params['group_id'] = this.entryGroupId;
|
|
696
740
|
this.$xdShowLoading({});
|
|
697
741
|
jfbRootExec("getListEntryCardBind", {
|
|
698
742
|
vm: this,
|
|
@@ -714,6 +758,10 @@ export default {
|
|
|
714
758
|
),
|
|
715
759
|
};
|
|
716
760
|
});
|
|
761
|
+
|
|
762
|
+
//过滤入口配置
|
|
763
|
+
res['site_entry_settings'] = this.filterNotSupportEntry(res['site_entry_settings']);
|
|
764
|
+
|
|
717
765
|
this.ajaxCardList = res;
|
|
718
766
|
this.hasChangeStatus = this.getCardGroupItem(this.ajaxCardList.list.filter((item) => {
|
|
719
767
|
return item["is_exchange"] === "Y";
|
|
@@ -36,10 +36,20 @@
|
|
|
36
36
|
v-model="card_password"
|
|
37
37
|
:placeholder="card_pwd_placeholder"
|
|
38
38
|
/>
|
|
39
|
+
<!--#ifdef H5-->
|
|
39
40
|
<xd-font-icon
|
|
40
41
|
@click="handleIcon()"
|
|
41
42
|
:icon="isPassword ? 'iconbiyan' : 'iconchakan'"
|
|
42
43
|
></xd-font-icon>
|
|
44
|
+
<!--#endif-->
|
|
45
|
+
<!--#ifdef MP-WEIXIN-->
|
|
46
|
+
<xd-font-icon
|
|
47
|
+
:width="72"
|
|
48
|
+
:height="72"
|
|
49
|
+
@click="handleIcon()"
|
|
50
|
+
:icon="isPassword ? 'iconbiyan' : 'iconchakan'"
|
|
51
|
+
></xd-font-icon>
|
|
52
|
+
<!--#endif-->
|
|
43
53
|
</view>
|
|
44
54
|
</view>
|
|
45
55
|
<view class="jfb-base-card-info__body-footer" :style="prod_bottom">
|
|
@@ -403,6 +413,16 @@ export default {
|
|
|
403
413
|
color: #a6a6a6;
|
|
404
414
|
margin-right: unit(70, rpx);
|
|
405
415
|
text-align: center;
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
& .mp {
|
|
421
|
+
display: flex;
|
|
422
|
+
justify-content: center;
|
|
423
|
+
align-items: center;
|
|
424
|
+
width: 72rpx;
|
|
425
|
+
height: 72rpx
|
|
406
426
|
}
|
|
407
427
|
|
|
408
428
|
input {
|