jufubao-base 1.0.169 → 1.0.171

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.
Files changed (41) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +2 -2
  3. package/src/components/JfbBaseLogin/Attr.js +1133 -491
  4. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +369 -63
  5. package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
  6. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -2
  7. package/src/components/JfbBaseTfkCardBind/Api.js +49 -30
  8. package/src/components/JfbBaseTfkCardBind/Attr.js +708 -38
  9. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +688 -22
  10. package/src/components/JfbBaseTfkCardBind/Mock.js +19 -9
  11. package/src/components/JfbBaseTfkCardDetail/Api.js +19 -32
  12. package/src/components/JfbBaseTfkCardDetail/Attr.js +740 -33
  13. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +639 -23
  14. package/src/components/JfbBaseTfkCardDetail/Mock.js +151 -11
  15. package/src/components/JfbBaseTfkCardLogin/Api.js +19 -34
  16. package/src/components/JfbBaseTfkCardLogin/Attr.js +1094 -32
  17. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +775 -17
  18. package/src/components/JfbBaseTfkCardLogin/Mock.js +191 -11
  19. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +275 -0
  20. package/src/components/JfbBaseTfkCardLogin/XdNotice.vue +550 -0
  21. package/src/components/JfbBaseTfkSearch/AllList.vue +337 -0
  22. package/src/components/JfbBaseTfkSearch/Api.js +11 -42
  23. package/src/components/JfbBaseTfkSearch/Attr.js +344 -32
  24. package/src/components/JfbBaseTfkSearch/ContentCinema.vue +157 -0
  25. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +218 -0
  26. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +317 -0
  27. package/src/components/JfbBaseTfkSearch/ContentShop.vue +186 -0
  28. package/src/components/JfbBaseTfkSearch/CusAttr.js +213 -0
  29. package/src/components/JfbBaseTfkSearch/CustomList.vue +453 -0
  30. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +286 -35
  31. package/src/components/JfbBaseTfkSearch/Mock.js +242 -11
  32. package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +45 -0
  33. package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
  34. package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +246 -0
  35. package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
  36. package/src/components/JfbBaseTfkSearch/handleKeyword.js +24 -0
  37. package/src/components/JfbBaseTfkSearch/listMixins.js +187 -0
  38. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +2 -1
  39. package/src/mixins/colorCardMixins.js +71 -9
  40. package/src/mixins/componentsMixins.js +376 -23
  41. 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
- <image mode="aspectFit" :src="logo" @click="openDebugger()" />
23
- <view :style="{ color: logoTextColor, }" >{{ partnerName }}</view>
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="20rpx"
35
+ :radius="btnRadius + 'rpx'"
32
36
  @click="doLoginAuth"
33
- >{{h5FastLoginName}}</xd-button>
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="20rpx"
50
+ :radius="btnRadius + 'rpx'"
41
51
  @click="doWxMpLogin"
42
- >快捷登录</xd-button>
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="20rpx"
66
+ :radius="btnRadius + 'rpx'"
50
67
  @click="doLoginAccount"
51
- >账号登录</xd-button>
52
- </view>
53
- <view class="protocol">
54
- <xd-form-checkbox
55
- class="xd-form-checkbox"
56
- v-model="panel_1_checked"
57
- mode="default"
58
- multiple
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-width="150"
92
- label-align="right"
93
- content-align="left"
121
+ :label-align="labelAlign"
122
+ :labelPosition="labelPosition"
94
123
  :border="true"
95
- paddingBetween="40"
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" label="手机号" :labelWidth="160" content-align="left">
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="请输入11位手机号"
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
- :labelWidth="160"
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="{ color: mainColor }"
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
- :labelWidth="160"
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="padding-bottom:0">
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
- <text>请阅读并同意</text>
148
- <text @click.stop="handlePrivacy('privacy_privacy')" :style="{color: mainColor}">《隐私政策》</text>
149
- <text @click.stop="handlePrivacy('privacy_service')" :style="{color: mainColor}">《用户服务协议》</text>
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="10rpx"
218
+ :radius="btnRadius + 'rpx'"
219
+ :bg-color="btnColor"
159
220
  :disabled="!panelTwoIsChecked"
160
221
  @click="doLoginForm"
161
- >登录</xd-button
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: 20, //按钮圆角
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, 40)}rpx`;
497
+ padding = `${padding} ${this.checkValue(this.btnMargin.bottom, 20)}rpx`;
498
+ padding = `${padding} ${this.checkValue(this.btnMargin.left, 40)}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", '20');
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
- /deep/ .checklist-content .checklist-text {
1070
+ ::v-deep .checklist-content .checklist-text {
802
1071
  font-size: 26rpx !important;
803
1072
  }
804
1073
  }
805
1074
  .xd-form-checkbox {
806
- /deep/ .checklist-box {
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
- /deep/ .checklist-group {
1081
+ ::v-deep .checklist-group {
812
1082
  justify-content: center;
813
1083
  }
814
1084
  }
815
1085
  .xd-form-checkbox {
816
- /deep/ .checklist-text {
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 .uni-forms-item {
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
- /deep/ .uni-forms-item__label {
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
- text-align: center;
843
- margin: unit(165,rpx) 0;
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
- /deep/ .uni-forms-item__label {
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
- /deep/ .uni-easyinput__placeholder-class {
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
- /deep/ .uni-forms-item__label {
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
- /deep/ .uni-easyinput__placeholder-class {
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
- /deep/ .uni-forms-item__label {
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
- /deep/ .uni-easyinput__placeholder-class {
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
- /deep/ .xd-form-checkbox .checklist-group {
1323
+ ::v-deep .xd-form-checkbox .checklist-group {
1018
1324
  justify-content: center;
1019
1325
  display: flex;
1020
1326
  align-items: center;
@@ -46,7 +46,7 @@
46
46
  this.BMap = new bmap.BMapWX({
47
47
  ak: this.ak
48
48
  })
49
- uni.getLocation({
49
+ wx.getFuzzyLocation({
50
50
  type: "gcj08",
51
51
  success: res => {
52
52
  console.log("getLocation", res);
@@ -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-else class="jfb-base-notice__body-scroll">
26
+ <view v-if="contentList.length > 0" class="jfb-base-notice__body-scroll">
27
27
  <view
28
28
  class="upAndDown"
29
29
  :style="{