jufubao-base 1.0.119-beta9 → 1.0.120

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 (52) hide show
  1. package/package.json +3 -4
  2. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +25 -7
  3. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +1 -1
  4. package/src/components/JfbBaseSaasBlessDetail/Api.js +0 -72
  5. package/src/components/JfbBaseSaasBlessDetail/Attr.js +0 -24
  6. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetail.vue +0 -352
  7. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailLess.less +0 -80
  8. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailMixin.js +0 -30
  9. package/src/components/JfbBaseSaasBlessDetail/Mock.js +0 -27
  10. package/src/components/JfbBaseSaasBlessDialog/Api.js +0 -25
  11. package/src/components/JfbBaseSaasBlessDialog/Attr.js +0 -50
  12. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialog.vue +0 -309
  13. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogLess.less +0 -80
  14. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogMixin.js +0 -30
  15. package/src/components/JfbBaseSaasBlessDialog/Mock.js +0 -26
  16. package/src/components/JfbBaseSaasBlessReceive/Api.js +0 -25
  17. package/src/components/JfbBaseSaasBlessReceive/Attr.js +0 -24
  18. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceive.vue +0 -201
  19. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveLess.less +0 -80
  20. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveMixin.js +0 -30
  21. package/src/components/JfbBaseSaasBlessReceive/Mock.js +0 -40
  22. package/src/components/JfbBaseSaasHome/Api.js +0 -48
  23. package/src/components/JfbBaseSaasHome/Attr.js +0 -35
  24. package/src/components/JfbBaseSaasHome/JfbBaseSaasHome.vue +0 -402
  25. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeLess.less +0 -80
  26. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeMixin.js +0 -30
  27. package/src/components/JfbBaseSaasHome/Mock.js +0 -32
  28. package/src/components/JfbBaseSaasLogin/Api.js +0 -98
  29. package/src/components/JfbBaseSaasLogin/Attr.js +0 -59
  30. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLogin.vue +0 -724
  31. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginLess.less +0 -80
  32. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginMixin.js +0 -30
  33. package/src/components/JfbBaseSaasLogin/Mock.js +0 -22
  34. package/src/components/JfbBaseSaasLogin/saaslogin_copy.vue +0 -410
  35. package/src/components/JfbBaseSaasNewsDetail/Api.js +0 -27
  36. package/src/components/JfbBaseSaasNewsDetail/Attr.js +0 -14
  37. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetail.vue +0 -149
  38. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailLess.less +0 -80
  39. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailMixin.js +0 -30
  40. package/src/components/JfbBaseSaasNewsDetail/Mock.js +0 -9
  41. package/src/components/JfbBaseSaasNewsList/Api.js +0 -26
  42. package/src/components/JfbBaseSaasNewsList/Attr.js +0 -24
  43. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsList.vue +0 -184
  44. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListLess.less +0 -80
  45. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListMixin.js +0 -30
  46. package/src/components/JfbBaseSaasNewsList/Mock.js +0 -24
  47. package/src/components/JfbBaseSassPhoneCollect/Api.js +0 -66
  48. package/src/components/JfbBaseSassPhoneCollect/Attr.js +0 -438
  49. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollect.vue +0 -349
  50. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollectLess.less +0 -80
  51. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollectMixin.js +0 -30
  52. package/src/components/JfbBaseSassPhoneCollect/Mock.js +0 -5
@@ -1,724 +0,0 @@
1
- <template>
2
- <view
3
- class="jfb-base-saas-login"
4
- @click="handleEditxSelect"
5
- :class="{ editx : isEditx && active }"
6
- >
7
- <!--#ifdef H5-->
8
- <view
9
- class="jfb-base-saas-login__edit"
10
- :class="{ editx : isEditx && active }"
11
- v-if="isEditx && active"
12
- >
13
- <view class="jfb-base-saas-login__edit-icon" @click="delEdit">删除</view>
14
- </view>
15
- <!-- #endif -->
16
- <view class="jfb-base-saas-login__body" :style="{
17
- minHeight: layoutInfo.bodyMinHeightPx + 'px'
18
- }">
19
- <view v-if="showStep === 1" class="panel-login-auth">
20
- <view class="logo-wrap">
21
- <image mode="aspectFit" :src="logo" />
22
- <view :style="{ color: logoTextColor, }" >{{ partnerName }}</view>
23
- </view>
24
- <view class="login_types">
25
- <xd-button
26
- v-if="hasAuthLogin"
27
- :disabled="!panelIsChecked"
28
- type="primary"
29
- radius="20rpx"
30
- @click="doLoginAuth"
31
- >快捷登录</xd-button>
32
- <view class="login-pub">
33
- <xd-button
34
- v-if="hasAccountLogin"
35
- :disabled="!panelIsChecked"
36
- type="primary"
37
- radius="20rpx"
38
- @click="doLoginAccount"
39
- >账号登录</xd-button>
40
- </view>
41
-
42
- <view class="protocol">
43
- <xd-form-checkbox
44
- class="xd-form-checkbox"
45
- v-model="panel_1_checked"
46
- mode="default"
47
- multiple
48
- :localdata="[{ value: 1, text: '请阅读并同意《隐私政策》《用户服务协议》' },]"
49
- >
50
- <template slot="a1">
51
- <view>
52
- <text>请阅读并同意</text>
53
- <text @click.stop="handlePrivacy('privacy_privacy')" :style="{color: mainColor}">《隐私政策》</text>
54
- <text @click.stop="handlePrivacy('privacy_service')" :style="{color: mainColor}">《用户服务协议》</text>
55
- </view>
56
- </template>
57
- </xd-form-checkbox>
58
- </view>
59
- </view>
60
- </view>
61
- <view v-if="showStep === 2" class="panel-login-password">
62
- <!-- <view class="phone-login-type">
63
- <view
64
- v-if="phoneLogin"
65
- class="_item"
66
- :class="{ active: accountLoginType === 'phone' }"
67
- @click="setAccountLoginType('phone')"
68
- >验证码登录<text :style="{ background: mainColor }"></text
69
- ></view>
70
- <view
71
- v-if="pwdLogin"
72
- class="_item"
73
- :class="{ active: accountLoginType === 'pwd' }"
74
- @click="setAccountLoginType('pwd')"
75
- >密码登录<text :style="{ background: mainColor }"></text
76
- ></view>
77
- </view> -->
78
- <view style="margin-top: 40rpx">
79
- <xd-form
80
- label-width="130"
81
- label-align="right"
82
- content-align="left"
83
- :border="true"
84
- paddingBetween="40"
85
- >
86
- <xd-form-item class="form-item" label="手机号" content-align="left">
87
- <xd-form-input
88
- v-model="accountForm.phone_number"
89
- placeholder="请输入11位手机号"
90
- />
91
- </xd-form-item>
92
- <xd-form-item
93
- v-if="accountLoginType === 'phone'"
94
- label="验证码"
95
- content-align="left"
96
- >
97
- <view class="flex align-center">
98
- <xd-form-input
99
- v-model="accountForm.verification_code"
100
- placeholder="请输入验证码"
101
- />
102
- <view
103
- class="get_code"
104
- @click="reGetCode"
105
- :style="{ color: mainColor }"
106
- >{{ time ? time + "秒后获取" : "获取验证码" }}
107
- </view>
108
- </view>
109
- </xd-form-item>
110
- <xd-form-item
111
- v-if="accountLoginType === 'pwd'"
112
- label="密码"
113
- content-align="left"
114
- >
115
- <xd-form-input
116
- type="password"
117
- v-model="accountForm.password"
118
- placeholder="请输入密码"
119
- />
120
- </xd-form-item>
121
- </xd-form>
122
- </view>
123
-
124
- <view class="form-group" style="padding-bottom:0">
125
- <xd-form-checkbox
126
- class="xd-form-checkbox"
127
- v-model="panel_2_checked"
128
- mode="default"
129
- multiple
130
- :localdata="[{ value: 1, text: '登录即同意《隐私政策》《用户服务协议》' },]"
131
- >
132
- <template slot="a1">
133
- <view>
134
- <text>请阅读并同意</text>
135
- <text @click.stop="handlePrivacy('privacy_privacy')" :style="{color: mainColor}">《隐私政策》</text>
136
- <text @click.stop="handlePrivacy('privacy_service')" :style="{color: mainColor}">《用户服务协议》</text>
137
- </view>
138
- </template>
139
- </xd-form-checkbox>
140
- </view>
141
- <view class="form-group">
142
- <xd-button
143
- style="flex: 1"
144
- type="primary"
145
- radius="10rpx"
146
- :disabled="!panelTwoIsChecked"
147
- @click="doLoginForm"
148
- >登录</xd-button>
149
- </view>
150
- <view
151
- v-if="accountLoginType === 'pwd'"
152
- class="forget_password"
153
- @click="toValidPhone"
154
- >忘记密码</view>
155
- </view>
156
- </view>
157
- </view>
158
- </template>
159
-
160
- <script>
161
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
162
- import XdButton from "@/components/XdButton/XdButton";
163
- import XdFormCheckbox from "@/components/XdFormCheckbox/XdFormCheckbox";
164
- import XdFormInput from "@/components/XdFormInput/XdFormInput";
165
- import XdForm from "@/components/XdForm/XdForm";
166
- import XdFormItem from "@/components/XdFormItem/XdFormItem";
167
- import XdDailog from "@/components/XdDailog/XdDailog"
168
- import { jfbRootExec } from "@/utils/xd.event";
169
- import JfbBaseSaasLoginMixin from "./JfbBaseSaasLoginMixin";
170
- import { mapState } from "vuex"
171
- import { getContainerPropsValue } from "@/utils/xd.base";
172
- import componentsMixins from "@/mixins/componentsMixins";
173
- import extsMixins from "@/mixins/extsMixins";
174
- import getServiceUrl from "@/common/getServiceUrl";
175
- import { Base64 } from "js-base64";
176
- import * as dd from "dingtalk-jsapi"
177
- export default {
178
- name: "JfbBaseSaasLogin",
179
- components: {
180
- XdFontIcon,
181
- XdButton,
182
- XdFormCheckbox,
183
- XdFormInput,
184
- XdForm,
185
- XdFormItem,
186
- XdDailog
187
- },
188
- mixins: [
189
- componentsMixins, extsMixins, JfbBaseSaasLoginMixin
190
- ],
191
- computed: {
192
- ...mapState(['jfbAuthorize']),
193
- panelIsChecked() {
194
- return this.panel_1_checked.includes(1);
195
- },
196
- panelTwoIsChecked() {
197
- return this.panel_2_checked.includes(1);
198
- },
199
- },
200
- data() {
201
- return {
202
- accountForm: {
203
- phone_number: "",
204
- password: "",
205
- verification_code: ""
206
- },
207
- showStep: 1,
208
- time: 0,
209
- panel_1_checked: "",
210
- panel_2_checked: "",
211
- pwdLogin: null,
212
- phoneLogin: null,
213
- accountLoginType: "phone", //phone: 验证码登录 pwd: 密码登录
214
- redirect_url: "", //401回跳地址
215
- hasAuthLogin: false, //是否有授权登录
216
- hasAccountLogin: false, //是否有账号登录 包含 验证码、密码登录
217
- quickLogin: null,
218
- biz_name: "login",
219
-
220
- dialogShow: false,
221
- companyList: [],
222
- logo: "",
223
- partnerName: "",
224
- logoTextColor: "",
225
- base: "",
226
- sub_company_id: "1",
227
-
228
- //面板
229
- callback_url: "", //面板配置登录完跳转地址
230
- forget_pwd_url: "", //忘记密码跳转地址
231
- phone_number_login_url: "", //手机号登陆URL
232
- phone_auth_callback_url: "", //手机认证回调URL
233
- error_callback_url: "", //错误回调URL
234
- }
235
- },
236
- watch: {
237
- container(value) {
238
- this.init(value)
239
- }
240
- },
241
- created() {
242
- this.init(this.container);
243
- this.base = this.jfbAuthorize.getBasePath(this);
244
- this.site_logo = getServiceUrl(this.projectAttr["site_logo"]);
245
- },
246
- methods: {
247
- onJfbLoad(options) {
248
- this.redirect_url = options.redirect_url ? Base64.decode(options.redirect_url): '';
249
- if(options.sub_company_id){
250
- this.sub_company_id = options.sub_company_id;
251
- }else if(options['x-common']){
252
- let decodeParams = Base64.decode(options['x-common']);
253
- if(decodeParams.sub_company_id){
254
- this.sub_company_id = decodeParams.sub_company_id;
255
- }
256
- }
257
- this.p_getPlatform();
258
- },
259
- /**
260
- * @description 监听事件变化
261
- * @param container {object} 业务组件对象自己
262
- */
263
- init(container) {
264
- let name, logo;
265
- if (this.projectAttr["site_logo"])
266
- logo = getServiceUrl(this.projectAttr["site_logo"], "size3");
267
- this.callback_url = getContainerPropsValue(container, "content.callback_url", {value: ''}).value;
268
- this.forget_pwd_url = getContainerPropsValue(container, "content.forget_pwd_url", {value: ''}).value;
269
- this.error_callback_url = getContainerPropsValue(container, 'content.error_callback_url', {value: ""}).value;
270
- this.phone_auth_callback_url = getContainerPropsValue(container, 'content.phone_auth_callback_url', {value: ""}).value;
271
- this.phone_number_login_url = getContainerPropsValue(container, 'content.phone_number_login_url', {value: ""}).value;
272
-
273
- this.logo = logo || "//dummyimage.com/100x100";
274
- this.partnerName = name || "聚福宝福利";
275
- this.logoTextColor = getContainerPropsValue(container, "content.logoTextColor", "#333");
276
- },
277
- handleRedirectUrl(){
278
- let { redirect_url, callback_url } = this;
279
-
280
- //不同项目直接域名替换
281
- if (/^(@site_domain@).+$/.test(redirect_url)) {
282
- redirect_url = redirect_url.replace(/@site_domain@/, location.origin)
283
- }
284
- try {
285
- let redirectURL = new URL(redirect_url);
286
- redirect_url = redirectURL.href;
287
- } catch (e) {
288
- redirect_url = location.origin + this.base + redirect_url;
289
- }
290
- return redirect_url;
291
- },
292
- getReqParams(){
293
- let redirect_url = this.handleRedirectUrl();
294
- let params = {
295
- sub_company_id: this.sub_company_id,
296
- callback_url: redirect_url,
297
- phone_number_login_url: location.origin + this.base + this.phone_number_login_url,
298
- phone_auth_callback_url: location.origin + this.base + this.phone_auth_callback_url,
299
- error_callback_url: location.origin + this.base + this.error_callback_url,
300
- };
301
- return params;
302
- },
303
- p_getPlatform(){
304
- let params = this.getReqParams();
305
-
306
- jfbRootExec("getPlatform", {
307
- vm: this,
308
- data: params
309
- }).then(res => {
310
- this.handleAuthResult(res);
311
- })
312
- },
313
- /**
314
- * @description 获取到登陆方式之后处理
315
- */
316
- handleAuthResult(res) {
317
- if (res.quick_enabled) {
318
- this.hasAuthLogin = true;
319
- this.quickLogin = res.quick;
320
- }
321
- if (res.other.length > 0) {
322
- this.hasAccountLogin = true;
323
- res.other.forEach((item) => {
324
- if (item.login_platform_code === "JFB") {
325
- this.phoneLogin = item;
326
- }
327
- // else if (item.login_platform_code === "account") {
328
- // this.pwdLogin = item;
329
- // }
330
- });
331
- // if (!this.phoneLogin) this.accountLoginType = "pwd";
332
- }
333
- },
334
- //快捷登录
335
- doLoginAuth(){
336
- console.log("快捷登录", this.quickLogin);
337
- const { quickLogin } = this;
338
- //登录平台name 聚福宝 钉钉 企业微信
339
- if(quickLogin.login_platform_code === 'DD'){
340
- this.p_loginDing();
341
- }else if(quickLogin.login_platform_code === 'QW'){
342
- this.p_loginWxEnter();
343
- }
344
- },
345
- //企业微信登录
346
- p_loginWxEnter(){
347
- const { quickLogin } = this;
348
- location.href = quickLogin.redirect_url;
349
- // let params = this.getReqParams();
350
- // params['code'] = ""; //企业微信code
351
- // jfbRootExec("loginWxEnter", {
352
- // vm: this,
353
- // data: params
354
- // }).then(res => {
355
- // location.href = res.redirect_url;
356
- // })
357
- },
358
- //获取钉钉免登码
359
- p_loginDing(){
360
- const { quickLogin } = this;
361
-
362
- dd.getAuthCode({
363
- corpId: quickLogin.corp_id,
364
- success: (res) => {
365
- console.warn("钉钉授权成功");
366
- console.warn(JSON.stringify(res));
367
- const { code } = res;
368
- jfbRootExec("loginDing", {
369
- vm: this,
370
- data: {
371
- sub_company_id: this.sub_company_id,
372
- code: code
373
- }
374
- }).then(res => {
375
- const { access_code, phone_auth, phone_number } = res;
376
- //手机号是否认证: Y已认证 N未认证
377
- if(phone_auth === 'N'){
378
- this.$xdUniHelper.redirectTo({
379
- url: `${phone_auth_callback_url}?access_code=${access_code}&phone_number=${phone_number}`
380
- });
381
- }else{
382
- //passport登录
383
- this.p_passportSaasLogin({access_code})
384
- }
385
- })
386
- },
387
- fail: () => {
388
- console.error("钉钉授权失败")
389
- },
390
- complete: () => {
391
- console.info("钉钉授权完成")
392
- },
393
- })
394
- },
395
- //账号登录
396
- doLoginForm() {
397
- const { phone_number, password, verification_code } = this.accountForm;
398
- let err_tip = "";
399
- if (!phone_number) err_tip = "手机号不能为空";
400
- else if (!verification_code) err_tip = "验证码不能为空";
401
- if (err_tip) {
402
- return uni.showToast({
403
- title: err_tip,
404
- icon: "none",
405
- });
406
- }
407
-
408
- this.$xdShowLoading({})
409
- jfbRootExec("sassPhoneLogin", {
410
- vm: this,
411
- data: {
412
- biz_name: this.biz_name,
413
- phone_number: phone_number,
414
- valid_code: verification_code,
415
- },
416
- })
417
- .then((res) => {
418
- this.$xdHideLoading()
419
- if(res.list.length === 0){
420
- uni.showToast({
421
- title: '该用户没有所属企业',
422
- duration: 2000
423
- });
424
- }
425
- else if(res.list.length > 1){
426
- this.companyList = res.list;
427
- this.dialogShow = true;
428
- }else{
429
- this.p_passportSaasLogin(res.list[0])
430
- }
431
- })
432
- .catch(error => {
433
- this.$xdHideLoading()
434
- this.$xdLog.catch(error)
435
- });
436
- },
437
- //选择企业后,需要passport登录
438
- p_passportSaasLogin({access_code}){
439
- let redirect_url = this.handleRedirectUrl();
440
- const { phone_number, password, verification_code } = this.accountForm;
441
- jfbRootExec("passportSaasLogin", {
442
- vm: this,
443
- data: {
444
- access_token: access_code,
445
- phone_number,
446
- valid_code: verification_code,
447
- biz_name: this.biz_name
448
- }
449
- }).then(res => {
450
- this.jfbAuthorize.setAllToken(res);
451
- this.toHomeAfterLogin();
452
- })
453
- },
454
-
455
- toHomeAfterLogin() {
456
- let { redirect_url, callback_url } = this;
457
- if (redirect_url) redirect_url = redirect_url;
458
- this.$xdUniHelper.redirectTo({
459
- url: redirect_url || callback_url || this.settings.index,
460
- });
461
- },
462
- //跳转忘记密码
463
- toValidPhone() {
464
- this.$xdUniHelper.navigateTo({
465
- url: this.forget_pwd_url,
466
- });
467
- },
468
- handlePrivacy(code){
469
- let params = `page_id=${this.pageAttr["page_id"]}`;
470
- params = `${params}&container_id=${this.containerId}${code}`;
471
- this.$xdUniHelper.navigateTo({
472
- url: `/pages/content/content?${params}`
473
- })
474
- },
475
- doLoginAccount() {
476
- console.log("doLoginAccount", this.panel_1_checked);
477
- if (this.panel_1_checked.includes(1)) {
478
- this.showStep = 2;
479
- } else {
480
- this.$xdConfirm({
481
- content: "请阅读并勾选读用户协议与隐私协议",
482
- cancel: false,
483
- confirmText: "我知道了",
484
- $vm: this,
485
- });
486
- return;
487
- }
488
- },
489
- reGetCode() {
490
- if (this.time > 0) return;
491
- const { phone_number } = this.accountForm;
492
- if (!/^1[3-9]\d{9}$/.test(phone_number)) {
493
- uni.showToast({
494
- title: "请填写正确的手机号",
495
- icon: "none",
496
- });
497
- return false;
498
- }
499
- this.$xdShowLoading({});
500
- jfbRootExec("sendMsg", {
501
- vm: this,
502
- data: {
503
- phone_number,
504
- biz_name: this.biz_name,
505
- },
506
- }).then((res) => {
507
- this.$xdHideLoading();
508
- this.time = 120;
509
- this.interval = setInterval(() => {
510
- this.time--;
511
- if (this.time === 0) {
512
- clearTimeout(this.interval);
513
- }
514
- }, 1000);
515
- }).catch((error) => {
516
- this.$xdHideLoading();
517
- console.error(error);
518
- this.$xdLog.catch(error)
519
- });
520
- },
521
- onJfbScroll(options) {
522
-
523
- },
524
- onJfbReachBottom(options) {
525
- console.log('event.onJfbReachBottom', options)
526
- },
527
- onJfbShow(options) {
528
- console.log('event.onJfbShow', options)
529
- },
530
- onJfbHide(options) {
531
- console.log('event.onJfbHide', options)
532
- },
533
- onJfbBack(options) {
534
- console.log('event.onJfbBack', options)
535
- this.$xdUniHelper.navigateBack();
536
- },
537
- onJfbUpdate(...data) {
538
- console.log('event.onJfbUpdate', data)
539
- },
540
- onJfbCustomEvent(options) {
541
- console.log('event.onJfbReachBottom', options)
542
- },
543
- }
544
- }
545
-
546
- </script>
547
-
548
- <style scoped lang="less">
549
- @import "./JfbBaseSaasLoginLess.less";
550
-
551
- .jfb-base-saas-login {
552
- border: 1px dashed rgba(0, 0, 0, 0);
553
- box-sizing: border-box;
554
- &__body{
555
- .xd-form-checkbox {
556
- /deep/ .checklist-content .checklist-text {
557
- font-size: 26rpx !important;
558
- }
559
- }
560
- .xd-form-checkbox {
561
- /deep/ .checklist-box {
562
- margin: 0;
563
- }
564
- }
565
- .xd-form-checkbox {
566
- /deep/ .checklist-group {
567
- justify-content: center;
568
- }
569
- }
570
- .xd-form-checkbox {
571
- /deep/ .checklist-text {
572
- margin-left: unit(20,rpx) !important;
573
- }
574
- }
575
-
576
- .form-group {
577
- padding: 40rpx 70rpx;
578
- }
579
- .form-item {
580
- /deep/ .uni-forms-item {
581
- padding-left: unit(30rpx) !important;
582
- }
583
- }
584
- .get_code {
585
- color: @xd-base-color;
586
- font-size: 24rpx;
587
- margin-right: unit(20,rpx);
588
- }
589
- .panel-login-auth {
590
- .logo-wrap {
591
- text-align: center;
592
- margin: unit(165,rpx) 0;
593
- image {
594
- width: 180rpx;
595
- height: 180rpx;
596
- margin-bottom: unit(12,rpx);
597
- }
598
- view {
599
- font-size: unit(36,rpx);
600
- font-weight: 600;
601
- }
602
- }
603
- .login_types {
604
- padding: 10rpx 50rpx;
605
-
606
- .protocol {
607
- font-size: 24rpx;
608
- margin-top: 40rpx;
609
- }
610
- }
611
- }
612
- .panel-login-password {
613
- /deep/ .uni-forms-item__label {
614
- .label-text {
615
- font-size: 26rpx;
616
- color: #a6a6a6;
617
- }
618
- }
619
- /deep/ .uni-easyinput__placeholder-class {
620
- font-size: 26rpx;
621
- color: #d4d4d4;
622
- }
623
- .phone-login-type {
624
- display: flex;
625
- color: #808080;
626
- font-size: 32rpx;
627
- padding: 40rpx 70rpx;
628
- align-items: center;
629
- ._item {
630
- margin: 0 30rpx;
631
- position: relative;
632
- line-height: 2;
633
- &:first-child {
634
- margin-left: 0;
635
- }
636
-
637
- &.active {
638
- color: #383838;
639
- font-size: 36rpx;
640
-
641
- text {
642
- position: absolute;
643
- height: 6rpx;
644
- width: 90rpx;
645
- border-radius: 6rpx;
646
- left: 50%;
647
- bottom: 0;
648
- transform: translateX(-50%);
649
- }
650
- }
651
- }
652
- }
653
- .forget_password {
654
- font-size: 24rpx;
655
- color: #a6a6a6;
656
- text-align: right;
657
- margin: 20rpx 70rpx 0 0;
658
- }
659
-
660
- .not_login {
661
- position: fixed;
662
- width: 100%;
663
- text-align: center;
664
- bottom: 100rpx;
665
- font-size: 24rpx;
666
- color: #fe7a63;
667
- }
668
- }
669
- .panel-forget-password {
670
- /deep/ .uni-forms-item__label {
671
- .label-text {
672
- font-size: 26rpx;
673
- color: #a6a6a6;
674
- }
675
- }
676
- /deep/ .uni-easyinput__placeholder-class {
677
- font-size: 26rpx;
678
- color: #d4d4d4;
679
- }
680
- .forget_tip {
681
- box-sizing: border-box;
682
- width: 600rpx;
683
- border-radius: 10rpx;
684
- box-shadow: 0px 0px 20px 0px #00000019;
685
- padding: 64rpx 46rpx;
686
- margin: 200rpx auto;
687
- text-align: center;
688
- font-size: 32rpx;
689
- .contact_phone {
690
- color: @xd-base-color;
691
- font-size: 56rpx;
692
- margin: 20rpx 0 30rpx;
693
- }
694
- }
695
- }
696
- .panel-reset-password {
697
- /deep/ .uni-forms-item__label {
698
- width: 185rpx !important;
699
- .label-text {
700
- font-size: 26rpx;
701
- color: #a6a6a6;
702
- }
703
- }
704
- /deep/ .uni-easyinput__placeholder-class {
705
- font-size: 26rpx;
706
- color: #d4d4d4;
707
- }
708
- }
709
- }
710
- }
711
- .flex {
712
- display: flex;
713
- }
714
- .flex-sub {
715
- flex: 1;
716
- }
717
- .align-center {
718
- align-items: center;
719
- }
720
-
721
- .login-pub {
722
- margin-top: unit(40, rpx);
723
- }
724
- </style>