jufubao-base 1.0.169 → 1.0.170
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/JfbBaseHeader/JfbBaseHeader.vue +2 -2
- package/src/components/JfbBaseLogin/Attr.js +1157 -510
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +369 -63
- package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -2
- package/src/components/JfbBaseTfkCardBind/Api.js +49 -30
- package/src/components/JfbBaseTfkCardBind/Attr.js +708 -38
- package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +688 -22
- package/src/components/JfbBaseTfkCardBind/Mock.js +19 -9
- package/src/components/JfbBaseTfkCardDetail/Api.js +19 -32
- package/src/components/JfbBaseTfkCardDetail/Attr.js +740 -33
- package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +639 -23
- package/src/components/JfbBaseTfkCardDetail/Mock.js +151 -11
- package/src/components/JfbBaseTfkCardLogin/Api.js +19 -34
- package/src/components/JfbBaseTfkCardLogin/Attr.js +1094 -32
- package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +775 -17
- package/src/components/JfbBaseTfkCardLogin/Mock.js +191 -11
- package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +275 -0
- package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
- package/src/components/JfbBaseTfkSearch/AllList.vue +337 -0
- package/src/components/JfbBaseTfkSearch/Api.js +11 -42
- package/src/components/JfbBaseTfkSearch/Attr.js +344 -32
- package/src/components/JfbBaseTfkSearch/ContentCinema.vue +157 -0
- package/src/components/JfbBaseTfkSearch/ContentFilm.vue +218 -0
- package/src/components/JfbBaseTfkSearch/ContentProduct.vue +317 -0
- package/src/components/JfbBaseTfkSearch/ContentShop.vue +186 -0
- package/src/components/JfbBaseTfkSearch/CusAttr.js +213 -0
- package/src/components/JfbBaseTfkSearch/CustomList.vue +453 -0
- package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +286 -35
- package/src/components/JfbBaseTfkSearch/Mock.js +242 -11
- package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +45 -0
- package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
- package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +246 -0
- package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
- package/src/components/JfbBaseTfkSearch/handleKeyword.js +24 -0
- package/src/components/JfbBaseTfkSearch/listMixins.js +187 -0
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +2 -1
- package/src/mixins/colorCardMixins.js +71 -9
- package/src/mixins/componentsMixins.js +376 -23
- package/src/mixins/posterMixins.js +122 -0
|
@@ -16,58 +16,88 @@
|
|
|
16
16
|
<view class="jfb-base-login__edit-icon" @click="delEdit">删除</view>
|
|
17
17
|
</view>
|
|
18
18
|
<!-- #endif -->
|
|
19
|
-
<view class="jfb-base-login__body"
|
|
19
|
+
<view class="jfb-base-login__body" :style="{
|
|
20
|
+
'--agreement-align': agreementAlign
|
|
21
|
+
}">
|
|
20
22
|
<view v-if="showStep === 1" class="panel-login-auth">
|
|
21
|
-
<view class="logo-wrap"
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
<view class="logo-wrap" :style="{
|
|
24
|
+
height: logoWrapHeight + 'rpx',
|
|
25
|
+
}">
|
|
26
|
+
<image :style="logoStyle" mode="heightFix" :src="logo" @click="openDebugger()" />
|
|
27
|
+
<view v-if="isShowSiteName === 'Y'" :style="{ color: logoTextColor, }" >{{ partnerName }}</view>
|
|
24
28
|
</view>
|
|
25
|
-
<view class="login_types">
|
|
29
|
+
<view class="login_types" :style="authBtnBoxStyle">
|
|
26
30
|
<!--#ifdef H5-->
|
|
27
31
|
<xd-button
|
|
28
32
|
v-if="hasAuthLogin"
|
|
29
33
|
:disabled="!panelIsChecked"
|
|
30
34
|
type="primary"
|
|
31
|
-
radius="
|
|
35
|
+
:radius="btnRadius + 'rpx'"
|
|
32
36
|
@click="doLoginAuth"
|
|
33
|
-
>
|
|
37
|
+
>
|
|
38
|
+
<!-- 快捷登录 -->
|
|
39
|
+
<xd-font-icon v-if="authLoginBtnIcon"
|
|
40
|
+
style="display: inline-flex;margin-right: 12rpx;"
|
|
41
|
+
:icon="authLoginBtnIcon"
|
|
42
|
+
></xd-font-icon>{{h5FastLoginName}}
|
|
43
|
+
</xd-button>
|
|
34
44
|
<!-- #endif -->
|
|
35
45
|
<!--#ifdef MP-->
|
|
36
46
|
<xd-button
|
|
37
47
|
v-if="hasAuthLogin"
|
|
38
48
|
:disabled="!panelIsChecked"
|
|
39
49
|
type="primary"
|
|
40
|
-
radius="
|
|
50
|
+
:radius="btnRadius + 'rpx'"
|
|
41
51
|
@click="doWxMpLogin"
|
|
42
|
-
|
|
52
|
+
>
|
|
53
|
+
<!-- 快捷登录 -->
|
|
54
|
+
<xd-font-icon v-if="authLoginBtnIcon"
|
|
55
|
+
style="display: inline-flex;margin-right: 12rpx;"
|
|
56
|
+
:icon="authLoginBtnIcon"
|
|
57
|
+
></xd-font-icon>
|
|
58
|
+
{{ authLoginBtnText }}
|
|
59
|
+
</xd-button>
|
|
43
60
|
<!-- #endif -->
|
|
44
61
|
<view class="login-pub">
|
|
45
62
|
<xd-button
|
|
46
63
|
v-if="hasAccountLogin"
|
|
47
64
|
:disabled="!panelIsChecked"
|
|
48
65
|
type="primary"
|
|
49
|
-
radius="
|
|
66
|
+
:radius="btnRadius + 'rpx'"
|
|
50
67
|
@click="doLoginAccount"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
:localdata="[{ value: 1, text: '请阅读并同意《隐私政策》《用户服务协议》' },]"
|
|
60
|
-
>
|
|
61
|
-
<template slot="a1">
|
|
62
|
-
<view class="text-content">
|
|
63
|
-
<text>请阅读并同意</text>
|
|
64
|
-
<text @click.stop="handlePrivacy('privacy_privacy')" :style="{color: mainColor}">《隐私政策》</text>
|
|
65
|
-
<text @click.stop="handlePrivacy('privacy_service')" :style="{color: mainColor}">《用户服务协议》</text>
|
|
66
|
-
</view>
|
|
67
|
-
</template>
|
|
68
|
-
</xd-form-checkbox>
|
|
68
|
+
>
|
|
69
|
+
<!-- 账号登录 -->
|
|
70
|
+
<xd-font-icon v-if="accountLoginBtnIcon"
|
|
71
|
+
style="display: inline-flex;margin-right: 12rpx;"
|
|
72
|
+
:icon="accountLoginBtnIcon"
|
|
73
|
+
></xd-font-icon>
|
|
74
|
+
{{ accountLoginBtnText }}
|
|
75
|
+
</xd-button>
|
|
69
76
|
</view>
|
|
70
77
|
</view>
|
|
78
|
+
<view class="protocol" :style="authAgreementBoxStyle">
|
|
79
|
+
<xd-form-checkbox
|
|
80
|
+
class="xd-form-checkbox"
|
|
81
|
+
v-model="panel_1_checked"
|
|
82
|
+
mode="default"
|
|
83
|
+
multiple
|
|
84
|
+
:localdata="[{ value: 1, text: '请阅读并同意《隐私政策》《用户服务协议》' },]"
|
|
85
|
+
>
|
|
86
|
+
<template slot="a1">
|
|
87
|
+
<view class="text-content" :style="agreeFont">
|
|
88
|
+
<template v-for="item in agreementTextElement">
|
|
89
|
+
<text v-if="item === 'privacy'"
|
|
90
|
+
@click.stop="handlePrivacy('privacy_privacy')"
|
|
91
|
+
:style="privacyFont">《隐私政策》</text>
|
|
92
|
+
<text v-else-if="item === 'service'"
|
|
93
|
+
@click.stop="handlePrivacy('privacy_service')"
|
|
94
|
+
:style="privacyFont">《用户服务协议》</text>
|
|
95
|
+
<text v-else>{{ item }}</text>
|
|
96
|
+
</template>
|
|
97
|
+
</view>
|
|
98
|
+
</template>
|
|
99
|
+
</xd-form-checkbox>
|
|
100
|
+
</view>
|
|
71
101
|
</view>
|
|
72
102
|
<view v-if="showStep === 2" class="panel-login-password">
|
|
73
103
|
<view class="phone-login-type">
|
|
@@ -86,43 +116,67 @@
|
|
|
86
116
|
>密码登录<text :style="{ background: mainColor }"></text
|
|
87
117
|
></view>
|
|
88
118
|
</view>
|
|
89
|
-
<view style="margin-top: 40rpx">
|
|
119
|
+
<view style="margin-top: 40rpx" :style="loginFormStyle">
|
|
90
120
|
<xd-form
|
|
91
|
-
label-
|
|
92
|
-
|
|
93
|
-
content-align="left"
|
|
121
|
+
:label-align="labelAlign"
|
|
122
|
+
:labelPosition="labelPosition"
|
|
94
123
|
:border="true"
|
|
95
|
-
|
|
124
|
+
:key="formRenderKey"
|
|
125
|
+
paddingBetween="0"
|
|
126
|
+
:style="{
|
|
127
|
+
'--form-border-color': formBorderColor,
|
|
128
|
+
'--form-border-width': formBorderWidth + 'px',
|
|
129
|
+
'--label-font-size': ($rpxNum * parseInt(labelFont.fontSize)) + 'px',
|
|
130
|
+
'--label-font-color': labelFont.color,
|
|
131
|
+
'--label-font-weight': labelFont.fontWeight,
|
|
132
|
+
'--content-font-size': ($rpxNum * parseInt(contentFont.fontSize)) + 'px',
|
|
133
|
+
'--content-font-color': contentFont.color,
|
|
134
|
+
'--content-font-weight': contentFont.fontWeight,
|
|
135
|
+
'--placeholder-font-size': ($rpxNum * parseInt(placeholderFont.fontSize)) + 'px',
|
|
136
|
+
'--placeholder-font-color': placeholderFont.color,
|
|
137
|
+
'--placeholder-font-weight': placeholderFont.fontWeight,
|
|
138
|
+
}"
|
|
96
139
|
>
|
|
97
|
-
<xd-form-item class="form-item"
|
|
140
|
+
<xd-form-item class="form-item"
|
|
141
|
+
:class="[inputStyle]"
|
|
142
|
+
label="手机号"
|
|
143
|
+
:leftIcon="phoneIcon"
|
|
144
|
+
:labelWidth="labelWidth"
|
|
145
|
+
content-align="left">
|
|
98
146
|
<xd-form-input
|
|
99
147
|
v-model="accountForm.phone_number"
|
|
100
|
-
placeholder="
|
|
148
|
+
:placeholder="phonePlaceholder"
|
|
101
149
|
/>
|
|
102
150
|
</xd-form-item>
|
|
103
151
|
<xd-form-item
|
|
104
152
|
v-if="accountLoginType === 'phone'"
|
|
153
|
+
class="form-item"
|
|
154
|
+
:class="[inputStyle]"
|
|
105
155
|
label="验证码"
|
|
106
|
-
:
|
|
156
|
+
:leftIcon="codeIcon"
|
|
157
|
+
:labelWidth="labelWidth"
|
|
107
158
|
content-align="left"
|
|
108
159
|
>
|
|
109
160
|
<view class="flex align-center">
|
|
110
161
|
<xd-form-input
|
|
111
162
|
v-model="accountForm.verification_code"
|
|
112
|
-
placeholder="
|
|
163
|
+
:placeholder="codePlaceholder"
|
|
113
164
|
/>
|
|
114
165
|
<view
|
|
115
166
|
class="get_code"
|
|
116
167
|
@click="reGetCode"
|
|
117
|
-
:style="
|
|
168
|
+
:style="getCodeStyle"
|
|
118
169
|
>{{ time ? time + "秒后获取" : "获取验证码" }}
|
|
119
170
|
</view>
|
|
120
171
|
</view>
|
|
121
172
|
</xd-form-item>
|
|
122
173
|
<xd-form-item
|
|
123
174
|
v-if="accountLoginType === 'pwd'"
|
|
175
|
+
class="form-item"
|
|
176
|
+
:class="[inputStyle]"
|
|
124
177
|
label="密码"
|
|
125
|
-
:
|
|
178
|
+
:leftIcon="passwordIcon"
|
|
179
|
+
:labelWidth="labelWidth"
|
|
126
180
|
content-align="left"
|
|
127
181
|
>
|
|
128
182
|
<xd-form-input
|
|
@@ -134,7 +188,7 @@
|
|
|
134
188
|
</xd-form>
|
|
135
189
|
</view>
|
|
136
190
|
|
|
137
|
-
<view class="form-group" style="
|
|
191
|
+
<view class="form-group" :style="agreementBoxStyle">
|
|
138
192
|
<xd-form-checkbox
|
|
139
193
|
class="xd-form-checkbox"
|
|
140
194
|
v-model="panel_2_checked"
|
|
@@ -143,22 +197,35 @@
|
|
|
143
197
|
:localdata="[{ value: 1, text: '登录即同意《隐私政策》《用户服务协议》' },]"
|
|
144
198
|
>
|
|
145
199
|
<template slot="a1">
|
|
146
|
-
<view class="text-content">
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
-
|
|
200
|
+
<view class="text-content" :style="agreeFont">
|
|
201
|
+
<template v-for="item in agreementTextElement">
|
|
202
|
+
<text v-if="item === 'privacy'"
|
|
203
|
+
@click.stop="handlePrivacy('privacy_privacy')"
|
|
204
|
+
:style="privacyFont">《隐私政策》</text>
|
|
205
|
+
<text v-else-if="item === 'service'"
|
|
206
|
+
@click.stop="handlePrivacy('privacy_service')"
|
|
207
|
+
:style="privacyFont">《用户服务协议》</text>
|
|
208
|
+
<text v-else>{{ item }}</text>
|
|
209
|
+
</template>
|
|
150
210
|
</view>
|
|
151
211
|
</template>
|
|
152
212
|
</xd-form-checkbox>
|
|
153
213
|
</view>
|
|
154
|
-
<view class="form-group">
|
|
214
|
+
<view class="form-group" :style="btnWrapStyle">
|
|
155
215
|
<xd-button
|
|
156
216
|
style="flex: 1"
|
|
157
217
|
type="primary"
|
|
158
|
-
radius="
|
|
218
|
+
:radius="btnRadius + 'rpx'"
|
|
219
|
+
:bg-color="btnColor"
|
|
159
220
|
:disabled="!panelTwoIsChecked"
|
|
160
221
|
@click="doLoginForm"
|
|
161
|
-
|
|
222
|
+
>
|
|
223
|
+
<xd-font-icon v-if="phoneLoginBtnIcon"
|
|
224
|
+
style="display: inline-flex;margin-right: 12rpx;"
|
|
225
|
+
:icon="phoneLoginBtnIcon"
|
|
226
|
+
></xd-font-icon>
|
|
227
|
+
{{ phoneLoginBtnText }}
|
|
228
|
+
</xd-button
|
|
162
229
|
>
|
|
163
230
|
</view>
|
|
164
231
|
<view
|
|
@@ -291,6 +358,82 @@ export default {
|
|
|
291
358
|
|
|
292
359
|
isFastLoginStatus: false,
|
|
293
360
|
mpAuthPhoneUrl: "",
|
|
361
|
+
|
|
362
|
+
previewCurrent: 'auth', //当前预览调试模块,auth:授权登录 account:账号登录
|
|
363
|
+
|
|
364
|
+
//logo样式设置
|
|
365
|
+
logoWrapHeight: 480,
|
|
366
|
+
logoHeight: 180,
|
|
367
|
+
logoRadius: 0,
|
|
368
|
+
isShowSiteName: "Y",
|
|
369
|
+
|
|
370
|
+
//协议
|
|
371
|
+
agreementText: "",
|
|
372
|
+
|
|
373
|
+
//按钮
|
|
374
|
+
authLoginBtnText: "快捷登录", //授权登录按钮文案
|
|
375
|
+
authLoginBtnIcon: "", //授权登录按钮图标
|
|
376
|
+
accountLoginBtnText: "账号登录", //账号登录按钮文案
|
|
377
|
+
accountLoginBtnIcon: "", //账号登录按钮图标
|
|
378
|
+
phoneLoginBtnText: "登录", //手机号登录按钮文案
|
|
379
|
+
phoneLoginBtnIcon: "", //手机号登录按钮图标
|
|
380
|
+
btnColor: "", //按钮颜色
|
|
381
|
+
btnRadius: 0, //按钮圆角
|
|
382
|
+
btnMargin: {},
|
|
383
|
+
|
|
384
|
+
phonePlaceholder: "", //手机号登录输入框占位符
|
|
385
|
+
codePlaceholder: "", //验证码登录输入框占位符
|
|
386
|
+
getCodeShowType: "text", //获取验证码展示方式
|
|
387
|
+
|
|
388
|
+
//表单样式
|
|
389
|
+
formRenderKey: "formRenderKey",
|
|
390
|
+
formBgColor: "", //表单背景颜色
|
|
391
|
+
labelAlign: "left", //表单label对齐方式
|
|
392
|
+
labelWidth: 160, //表单label宽度
|
|
393
|
+
labelPosition: "left", //表单label位置
|
|
394
|
+
formPadding: {
|
|
395
|
+
top: 0,
|
|
396
|
+
left: 0,
|
|
397
|
+
right: 0,
|
|
398
|
+
bottom: 0
|
|
399
|
+
},
|
|
400
|
+
phoneIcon: "", //手机号登录输入框图标
|
|
401
|
+
codeIcon: "", //验证码登录输入框图标
|
|
402
|
+
passwordIcon: "", //密码登录输入框图标
|
|
403
|
+
inputStyle: "linear", //输入框样式 linear:线性 face: 面性
|
|
404
|
+
formBorderColor: "#F9F9F9", //
|
|
405
|
+
formBorderWidth: 1, //表单边框宽度
|
|
406
|
+
labelFont: { //表单label字体
|
|
407
|
+
color: "#333",
|
|
408
|
+
fontSize: "24rpx",
|
|
409
|
+
fontWeight: "normal",
|
|
410
|
+
},
|
|
411
|
+
contentFont: { //表单内容字体
|
|
412
|
+
color: "#333",
|
|
413
|
+
fontSize: "24rpx",
|
|
414
|
+
fontWeight: "normal",
|
|
415
|
+
},
|
|
416
|
+
placeholderFont: {
|
|
417
|
+
color: "#d4d4d4",
|
|
418
|
+
fontSize: "24rpx",
|
|
419
|
+
fontWeight: "normal",
|
|
420
|
+
},
|
|
421
|
+
getCodeFont: {
|
|
422
|
+
color: "#ff5a39",
|
|
423
|
+
fontSize: "24rpx",
|
|
424
|
+
fontWeight: "normal",
|
|
425
|
+
},
|
|
426
|
+
agreeFont: {}, //条款字体
|
|
427
|
+
privacyFont: {}, //隐私字体
|
|
428
|
+
agreementAlign: "center", //条款对齐方式
|
|
429
|
+
agreePadding: {
|
|
430
|
+
top: 0,
|
|
431
|
+
left: 0,
|
|
432
|
+
right: 0,
|
|
433
|
+
bottom: 0
|
|
434
|
+
}, //条款内边距
|
|
435
|
+
authAgreePadding: {}, //授权登录条款内边距
|
|
436
|
+
authBtnPadding: {}, //授权登录按钮内边距
|
|
294
437
|
};
|
|
295
438
|
},
|
|
296
439
|
computed: {
|
|
@@ -304,6 +447,81 @@ export default {
|
|
|
304
447
|
prod_bottom() {
|
|
305
448
|
return this.fixedStyle({ height: 0, zIndex: 111 });
|
|
306
449
|
},
|
|
450
|
+
logoStyle(){
|
|
451
|
+
return this.styleObjectToString({
|
|
452
|
+
height: this.logoHeight + 'rpx',
|
|
453
|
+
borderRadius: this.logoRadius + 'rpx',
|
|
454
|
+
})
|
|
455
|
+
},
|
|
456
|
+
loginFormStyle(){
|
|
457
|
+
let padding = `${this.checkValue(this.formPadding.top, 20)}rpx`;
|
|
458
|
+
padding = `${padding} ${this.checkValue(this.formPadding.right, 20)}rpx`;
|
|
459
|
+
padding = `${padding} ${this.checkValue(this.formPadding.bottom, 20)}rpx`;
|
|
460
|
+
padding = `${padding} ${this.checkValue(this.formPadding.left, 20)}rpx`;
|
|
461
|
+
|
|
462
|
+
return this.styleObjectToString({
|
|
463
|
+
background: this.formBgColor,
|
|
464
|
+
padding: padding,
|
|
465
|
+
})
|
|
466
|
+
},
|
|
467
|
+
agreementBoxStyle(){
|
|
468
|
+
let padding = `${this.checkValue(this.agreePadding.top, 20)}rpx`;
|
|
469
|
+
padding = `${padding} ${this.checkValue(this.agreePadding.right, 20)}rpx`;
|
|
470
|
+
padding = `${padding} ${this.checkValue(this.agreePadding.bottom, 20)}rpx`;
|
|
471
|
+
padding = `${padding} ${this.checkValue(this.agreePadding.left, 20)}rpx`;
|
|
472
|
+
return this.styleObjectToString({
|
|
473
|
+
padding: padding,
|
|
474
|
+
})
|
|
475
|
+
},
|
|
476
|
+
authAgreementBoxStyle(){
|
|
477
|
+
let padding = `${this.checkValue(this.authAgreePadding.top, 20)}rpx`;
|
|
478
|
+
padding = `${padding} ${this.checkValue(this.authAgreePadding.right, 20)}rpx`;
|
|
479
|
+
padding = `${padding} ${this.checkValue(this.authAgreePadding.bottom, 20)}rpx`;
|
|
480
|
+
padding = `${padding} ${this.checkValue(this.authAgreePadding.left, 20)}rpx`;
|
|
481
|
+
return this.styleObjectToString({
|
|
482
|
+
padding: padding,
|
|
483
|
+
})
|
|
484
|
+
},
|
|
485
|
+
authBtnBoxStyle(){
|
|
486
|
+
let padding = `${this.checkValue(this.authBtnPadding.top, 20)}rpx`;
|
|
487
|
+
padding = `${padding} ${this.checkValue(this.authBtnPadding.right, 20)}rpx`;
|
|
488
|
+
padding = `${padding} ${this.checkValue(this.authBtnPadding.bottom, 20)}rpx`;
|
|
489
|
+
padding = `${padding} ${this.checkValue(this.authBtnPadding.left, 20)}rpx`;
|
|
490
|
+
return this.styleObjectToString({
|
|
491
|
+
padding: padding,
|
|
492
|
+
})
|
|
493
|
+
},
|
|
494
|
+
btnWrapStyle(){
|
|
495
|
+
let padding = `${this.checkValue(this.btnMargin.top, 20)}rpx`;
|
|
496
|
+
padding = `${padding} ${this.checkValue(this.btnMargin.right, 20)}rpx`;
|
|
497
|
+
padding = `${padding} ${this.checkValue(this.btnMargin.bottom, 20)}rpx`;
|
|
498
|
+
padding = `${padding} ${this.checkValue(this.btnMargin.left, 20)}rpx`;
|
|
499
|
+
return this.styleObjectToString({
|
|
500
|
+
padding: padding,
|
|
501
|
+
})
|
|
502
|
+
},
|
|
503
|
+
getCodeStyle(){
|
|
504
|
+
return this.styleObjectToString({
|
|
505
|
+
color: this.getCodeFont.color,
|
|
506
|
+
borderColor: this.getCodeShowType === 'button' ? this.getCodeFont.color : 'transparent',
|
|
507
|
+
fontSize: this.getCodeFont.fontSize,
|
|
508
|
+
fontWeight: this.getCodeFont.fontWeight,
|
|
509
|
+
})
|
|
510
|
+
},
|
|
511
|
+
agreementTextElement(){
|
|
512
|
+
let agree = this.agreementText;
|
|
513
|
+
console.log(agree, 'agreementTextElement')
|
|
514
|
+
if(!agree) return [];
|
|
515
|
+
let matches = agree.match(/\{\{(\w+)\}\}/g) || [];
|
|
516
|
+
const keys = matches.map(match => match.slice(2, -2));
|
|
517
|
+
let eleArr2 = agree.split(/{{\w+}}/);
|
|
518
|
+
let ele = [];
|
|
519
|
+
for(let i = 0;i<eleArr2.length;i++){
|
|
520
|
+
ele.push(eleArr2[i])
|
|
521
|
+
if(keys[i]) ele.push(keys[i])
|
|
522
|
+
}
|
|
523
|
+
return ele.filter(i => i);
|
|
524
|
+
}
|
|
307
525
|
},
|
|
308
526
|
watch: {
|
|
309
527
|
container(value,oldValue) {
|
|
@@ -413,8 +631,57 @@ export default {
|
|
|
413
631
|
this.error_callback_url = getContainerPropsValue(value, "content.error_url", {value: ''}).value;
|
|
414
632
|
this.mpAuthPhoneUrl = getContainerPropsValue(value, "content.mpAuthPhoneUrl", {value: '/system/login/wxauthorize'}).value;
|
|
415
633
|
this.isPreview = getContainerPropsValue(value, "content.isPreview", 'N');
|
|
634
|
+
this.logoHeight = getContainerPropsValue(value, "content.logoHeight", '180');
|
|
635
|
+
this.logoRadius = getContainerPropsValue(value, "content.logoRadius", '0');
|
|
636
|
+
this.logoWrapHeight = getContainerPropsValue(value, "content.logoWrapHeight", '480');
|
|
637
|
+
this.isShowSiteName = getContainerPropsValue(value, "content.isShowSiteName", 'Y');
|
|
638
|
+
this.agreementText = getContainerPropsValue(value, "content.agreementText", '请阅读并同意{{privacy}}{{service}}');
|
|
639
|
+
this.authLoginBtnText = getContainerPropsValue(value, "content.authLoginBtnText", '快捷登录');
|
|
640
|
+
this.h5FastLoginName = this.authLoginBtnText;
|
|
641
|
+
this.authLoginBtnIcon = getContainerPropsValue(value, "content.authLoginBtnIcon", '');
|
|
642
|
+
this.accountLoginBtnText = getContainerPropsValue(value, "content.accountLoginBtnText", '账号登录');
|
|
643
|
+
this.accountLoginBtnIcon = getContainerPropsValue(value, "content.accountLoginBtnIcon", '');
|
|
644
|
+
this.phoneLoginBtnText = getContainerPropsValue(value, "content.phoneLoginBtnText", '登录');
|
|
645
|
+
this.phoneLoginBtnIcon = getContainerPropsValue(value, "content.phoneLoginBtnIcon", '');
|
|
646
|
+
this.btnColor = getContainerPropsValue(value, "content.btnColor", '');
|
|
647
|
+
this.btnRadius = getContainerPropsValue(value, "content.btnRadius", '0');
|
|
648
|
+
this.btnMargin = getContainerPropsValue(value, "content.btnMargin", {});
|
|
649
|
+
this.previewCurrent = getContainerPropsValue(value, "content.previewCurrent", 'auth');
|
|
650
|
+
this.phonePlaceholder = getContainerPropsValue(value, "content.phonePlaceholder", '请输入手机号');
|
|
651
|
+
this.codePlaceholder = getContainerPropsValue(value, "content.codePlaceholder", '请输入验证码');
|
|
652
|
+
this.getCodeShowType = getContainerPropsValue(value, "content.getCodeShowType", 'text');
|
|
653
|
+
this.formBgColor = getContainerPropsValue(value, "content.formBgColor", '#FFFFFF');
|
|
654
|
+
this.labelAlign = getContainerPropsValue(value, "content.labelAlign", 'left');
|
|
655
|
+
this.labelWidth = getContainerPropsValue(value, "content.labelWidth", '180');
|
|
656
|
+
this.labelPosition = getContainerPropsValue(value, "content.labelPosition", 'left');
|
|
657
|
+
this.formPadding = getContainerPropsValue(value, "content.formPadding", {top: 20, left: 20, right: 20, bottom: 20});
|
|
658
|
+
this.agreePadding = getContainerPropsValue(value, "content.agreePadding", {});
|
|
659
|
+
this.authAgreePadding = getContainerPropsValue(value, "content.authAgreePadding", {top: 20, left: 20, right: 20, bottom: 20});
|
|
660
|
+
this.authBtnPadding = getContainerPropsValue(value, "content.authBtnPadding", {top: 20, left: 20, right: 20, bottom: 20});
|
|
661
|
+
this.phoneIcon = getContainerPropsValue(value, "content.phoneIcon", '');
|
|
662
|
+
this.codeIcon = getContainerPropsValue(value, "content.codeIcon", '');
|
|
663
|
+
this.passwordIcon = getContainerPropsValue(value, "content.passwordIcon", '');
|
|
664
|
+
this.inputStyle = getContainerPropsValue(value, "content.inputStyle", 'linear');
|
|
665
|
+
this.formBorderColor = getContainerPropsValue(value, "content.formBorderColor", '#F9F9F9');
|
|
666
|
+
this.formBorderWidth = getContainerPropsValue(value, "content.formBorderWidth", '1');
|
|
667
|
+
this.labelFont = getContainerPropsValue(value, "content.labelFont", {});
|
|
668
|
+
this.contentFont = getContainerPropsValue(value, "content.contentFont", {});
|
|
669
|
+
this.placeholderFont = getContainerPropsValue(value, "content.placeholderFont", {});
|
|
670
|
+
this.getCodeFont = getContainerPropsValue(value, "content.getCodeFont", {});
|
|
671
|
+
this.agreeFont = getContainerPropsValue(value, "content.agreeFont", {});
|
|
672
|
+
this.privacyFont = getContainerPropsValue(value, "content.privacyFont", {});
|
|
673
|
+
this.agreementAlign = getContainerPropsValue(value, "content.agreementAlign", 'center');
|
|
674
|
+
console.log(this.agreePadding, 'this.agreePadding');
|
|
675
|
+
if(this.inputStyle === 'face'){
|
|
676
|
+
this.labelPosition = 'top';
|
|
677
|
+
this.labelAlign = 'left';
|
|
678
|
+
}
|
|
679
|
+
if(this.$configProject.isPreview){
|
|
680
|
+
if(this.previewCurrent === 'account') this.showStep = 2;
|
|
681
|
+
else this.showStep = 1;
|
|
682
|
+
this.formRenderKey = Date.now();
|
|
683
|
+
}
|
|
416
684
|
},
|
|
417
|
-
|
|
418
685
|
/**
|
|
419
686
|
* @description 获取到登录方式之后处理
|
|
420
687
|
*/
|
|
@@ -535,6 +802,8 @@ export default {
|
|
|
535
802
|
|
|
536
803
|
let { redirect_url, callback_url } = this;
|
|
537
804
|
|
|
805
|
+
redirect_url = redirect_url || callback_url || this.$settings.index;
|
|
806
|
+
|
|
538
807
|
//不同项目直接域名替换
|
|
539
808
|
if (/^(@site_domain@).+$/.test(redirect_url)) {
|
|
540
809
|
redirect_url = redirect_url.replace(/@site_domain@/, location.origin)
|
|
@@ -798,22 +1067,23 @@ export default {
|
|
|
798
1067
|
|
|
799
1068
|
&__body {
|
|
800
1069
|
.xd-form-checkbox {
|
|
801
|
-
|
|
1070
|
+
::v-deep .checklist-content .checklist-text {
|
|
802
1071
|
font-size: 26rpx !important;
|
|
803
1072
|
}
|
|
804
1073
|
}
|
|
805
1074
|
.xd-form-checkbox {
|
|
806
|
-
|
|
1075
|
+
::v-deep .checklist-box {
|
|
807
1076
|
margin: 0;
|
|
1077
|
+
align-items: var(--agreement-align);
|
|
808
1078
|
}
|
|
809
1079
|
}
|
|
810
1080
|
.xd-form-checkbox {
|
|
811
|
-
|
|
1081
|
+
::v-deep .checklist-group {
|
|
812
1082
|
justify-content: center;
|
|
813
1083
|
}
|
|
814
1084
|
}
|
|
815
1085
|
.xd-form-checkbox {
|
|
816
|
-
|
|
1086
|
+
::v-deep .checklist-text {
|
|
817
1087
|
margin-left: unit(20,rpx) !important;
|
|
818
1088
|
}
|
|
819
1089
|
}
|
|
@@ -822,25 +1092,61 @@ export default {
|
|
|
822
1092
|
padding: 40rpx 70rpx;
|
|
823
1093
|
}
|
|
824
1094
|
.form-item {
|
|
825
|
-
::v-deep
|
|
1095
|
+
::v-deep &.uni-forms-item {
|
|
826
1096
|
padding-left: unit(30rpx) !important;
|
|
1097
|
+
.uni-input-input{
|
|
1098
|
+
font-size: var(--content-font-size);
|
|
1099
|
+
color: var(--content-font-color);
|
|
1100
|
+
font-weight: var(--content-font-weight);
|
|
1101
|
+
}
|
|
1102
|
+
.label-text {
|
|
1103
|
+
font-size: var(--label-font-size);
|
|
1104
|
+
color: var(--label-font-color);
|
|
1105
|
+
font-weight: var(--label-font-weight);
|
|
1106
|
+
}
|
|
1107
|
+
.uni-easyinput__placeholder-class{
|
|
1108
|
+
font-size: var(--placeholder-font-size);
|
|
1109
|
+
color: var(--placeholder-font-color);
|
|
1110
|
+
font-weight: var(--placeholder-font-weight);
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
&.linear{
|
|
1114
|
+
::v-deep &.uni-forms-item--border{
|
|
1115
|
+
border-color: var(--form-border-color) !important;
|
|
1116
|
+
border-width: var(--form-border-width) !important;
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
&.face{
|
|
1120
|
+
::v-deep .uni-forms-item__content{
|
|
1121
|
+
background: #F7F7F7;
|
|
1122
|
+
border-radius: 16rpx;
|
|
1123
|
+
}
|
|
1124
|
+
::v-deep &.uni-forms-item--border{
|
|
1125
|
+
border: none;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
827
1128
|
}
|
|
828
1129
|
}
|
|
829
1130
|
.get_code {
|
|
830
1131
|
color: @xd-base-color;
|
|
831
1132
|
font-size: 24rpx;
|
|
832
1133
|
margin-right: unit(20,rpx);
|
|
1134
|
+
padding: 10rpx 24rpx;
|
|
1135
|
+
border: 1px solid @xd-base-color;
|
|
1136
|
+
border-radius: 40rpx;
|
|
833
1137
|
}
|
|
834
1138
|
.panel-login-auth {
|
|
835
|
-
|
|
1139
|
+
::v-deep .uni-forms-item__label {
|
|
836
1140
|
.label-text {
|
|
837
1141
|
font-size: 26rpx;
|
|
838
1142
|
color: #a6a6a6;
|
|
839
1143
|
}
|
|
840
1144
|
}
|
|
841
1145
|
.logo-wrap {
|
|
842
|
-
|
|
843
|
-
|
|
1146
|
+
display: flex;
|
|
1147
|
+
align-items: center;
|
|
1148
|
+
justify-content: center;
|
|
1149
|
+
flex-direction: column;
|
|
844
1150
|
image {
|
|
845
1151
|
width: 180rpx;
|
|
846
1152
|
height: 180rpx;
|
|
@@ -861,13 +1167,13 @@ export default {
|
|
|
861
1167
|
}
|
|
862
1168
|
}
|
|
863
1169
|
.panel-login-password {
|
|
864
|
-
|
|
1170
|
+
::v-deep .uni-forms-item__label {
|
|
865
1171
|
.label-text {
|
|
866
1172
|
font-size: 26rpx;
|
|
867
1173
|
color: #a6a6a6;
|
|
868
1174
|
}
|
|
869
1175
|
}
|
|
870
|
-
|
|
1176
|
+
::v-deep .uni-easyinput__placeholder-class {
|
|
871
1177
|
font-size: 26rpx;
|
|
872
1178
|
color: #d4d4d4;
|
|
873
1179
|
}
|
|
@@ -918,13 +1224,13 @@ export default {
|
|
|
918
1224
|
}
|
|
919
1225
|
}
|
|
920
1226
|
.panel-forget-password {
|
|
921
|
-
|
|
1227
|
+
::v-deep .uni-forms-item__label {
|
|
922
1228
|
.label-text {
|
|
923
1229
|
font-size: 26rpx;
|
|
924
1230
|
color: #a6a6a6;
|
|
925
1231
|
}
|
|
926
1232
|
}
|
|
927
|
-
|
|
1233
|
+
::v-deep .uni-easyinput__placeholder-class {
|
|
928
1234
|
font-size: 26rpx;
|
|
929
1235
|
color: #d4d4d4;
|
|
930
1236
|
}
|
|
@@ -945,14 +1251,14 @@ export default {
|
|
|
945
1251
|
}
|
|
946
1252
|
}
|
|
947
1253
|
.panel-reset-password {
|
|
948
|
-
|
|
1254
|
+
::v-deep .uni-forms-item__label {
|
|
949
1255
|
width: 185rpx !important;
|
|
950
1256
|
.label-text {
|
|
951
1257
|
font-size: 26rpx;
|
|
952
1258
|
color: #a6a6a6;
|
|
953
1259
|
}
|
|
954
1260
|
}
|
|
955
|
-
|
|
1261
|
+
::v-deep .uni-easyinput__placeholder-class {
|
|
956
1262
|
font-size: 26rpx;
|
|
957
1263
|
color: #d4d4d4;
|
|
958
1264
|
}
|
|
@@ -1014,7 +1320,7 @@ export default {
|
|
|
1014
1320
|
}
|
|
1015
1321
|
|
|
1016
1322
|
/* #ifdef MP-WEIXIN */
|
|
1017
|
-
|
|
1323
|
+
::v-deep .xd-form-checkbox .checklist-group {
|
|
1018
1324
|
justify-content: center;
|
|
1019
1325
|
display: flex;
|
|
1020
1326
|
align-items: center;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</view>
|
|
15
15
|
<!-- #endif -->
|
|
16
16
|
<view class="jfb-base-notice__body">
|
|
17
|
-
<view class="jfb-base-notice__body-line"></view>
|
|
17
|
+
<view class="jfb-base-notice__body-line" v-if="contentList.length > 0"></view>
|
|
18
18
|
<view>
|
|
19
19
|
<template v-if="style === '3' && isPreview">
|
|
20
20
|
<view class="jfb-base-notice__body-pop" :style="{backgroundColor:backgroundColor, color:warningColor}">弹窗模式方便编辑(占位),在线上此模块不显</view>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<template v-if="contentList.length === 0 && isPreview">
|
|
24
24
|
<view class="jfb-base-notice__body-pop" :style="{backgroundColor:backgroundColor, color:warningColor}">接口无数返回,请检查是否配置成功!</view>
|
|
25
25
|
</template>
|
|
26
|
-
<view v-
|
|
26
|
+
<view v-if="contentList.length > 0" class="jfb-base-notice__body-scroll">
|
|
27
27
|
<view
|
|
28
28
|
class="upAndDown"
|
|
29
29
|
:style="{
|