jufubao-base 1.0.117 → 1.0.119-beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseCard/Attr.js +380 -287
  3. package/src/components/JfbBaseCard/JfbBaseCard.vue +51 -2
  4. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +95 -18
  5. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +1 -1
  6. package/src/components/JfbBaseCardInfo/Attr.js +21 -0
  7. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +40 -4
  8. package/src/components/JfbBaseCardInfoEntry/Attr.js +11 -0
  9. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +33 -4
  10. package/src/components/JfbBaseCardMerge/JfbBaseCardMerge.vue +10 -9
  11. package/src/components/JfbBaseCardMergeEntry/JfbBaseCardMergeEntry.vue +10 -10
  12. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +6 -1
  13. package/src/components/JfbBaseConFlashHome/Api.js +60 -0
  14. package/src/components/JfbBaseConFlashHome/Attr.js +129 -0
  15. package/src/components/JfbBaseConFlashHome/JfbBaseConFlashHome.vue +388 -0
  16. package/src/components/JfbBaseConFlashHome/JfbBaseConFlashHomeLess.less +80 -0
  17. package/src/components/JfbBaseConFlashHome/JfbBaseConFlashHomeMixin.js +30 -0
  18. package/src/components/JfbBaseConFlashHome/Mock.js +5 -0
  19. package/src/components/JfbBaseConFlashList/Api.js +60 -0
  20. package/src/components/JfbBaseConFlashList/Attr.js +117 -0
  21. package/src/components/JfbBaseConFlashList/JfbBaseConFlashList.vue +656 -0
  22. package/src/components/JfbBaseConFlashList/JfbBaseConFlashListLess.less +80 -0
  23. package/src/components/JfbBaseConFlashList/JfbBaseConFlashListMixin.js +30 -0
  24. package/src/components/JfbBaseConFlashList/Mock.js +5 -0
  25. package/src/components/JfbBaseConList/JfbBaseConList.vue +4 -2
  26. package/src/components/JfbBaseConPhone/Api.js +70 -0
  27. package/src/components/JfbBaseConPhone/Attr.js +10 -0
  28. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +486 -0
  29. package/src/components/JfbBaseConPhone/JfbBaseConPhoneLess.less +80 -0
  30. package/src/components/JfbBaseConPhone/JfbBaseConPhoneMixin.js +30 -0
  31. package/src/components/JfbBaseConPhone/Mock.js +26 -0
  32. package/src/components/JfbBaseMySetting/Api.js +43 -0
  33. package/src/components/JfbBaseMySetting/Attr.js +23 -0
  34. package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +236 -0
  35. package/src/components/JfbBaseMySetting/JfbBaseMySettingLess.less +80 -0
  36. package/src/components/JfbBaseMySetting/JfbBaseMySettingMixin.js +30 -0
  37. package/src/components/JfbBaseMySetting/Mock.js +5 -0
  38. package/src/components/JfbBaseMySetting/XdListItem.vue +135 -0
  39. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +33 -8
  40. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +1 -1
  41. package/src/components/JfbBaseSaasBlessDetail/Api.js +59 -0
  42. package/src/components/JfbBaseSaasBlessDetail/Attr.js +24 -0
  43. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetail.vue +315 -0
  44. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailLess.less +80 -0
  45. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailMixin.js +30 -0
  46. package/src/components/JfbBaseSaasBlessDetail/Mock.js +5 -0
  47. package/src/components/JfbBaseSaasBlessDialog/Api.js +25 -0
  48. package/src/components/JfbBaseSaasBlessDialog/Attr.js +50 -0
  49. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialog.vue +274 -0
  50. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogLess.less +80 -0
  51. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogMixin.js +30 -0
  52. package/src/components/JfbBaseSaasBlessDialog/Mock.js +5 -0
  53. package/src/components/JfbBaseSaasBlessReceive/Api.js +25 -0
  54. package/src/components/JfbBaseSaasBlessReceive/Attr.js +24 -0
  55. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceive.vue +183 -0
  56. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveLess.less +80 -0
  57. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveMixin.js +30 -0
  58. package/src/components/JfbBaseSaasBlessReceive/Mock.js +5 -0
  59. package/src/components/JfbBaseSaasHome/Api.js +48 -0
  60. package/src/components/JfbBaseSaasHome/Attr.js +35 -0
  61. package/src/components/JfbBaseSaasHome/JfbBaseSaasHome.vue +356 -0
  62. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeLess.less +80 -0
  63. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeMixin.js +30 -0
  64. package/src/components/JfbBaseSaasHome/Mock.js +5 -0
  65. package/src/components/JfbBaseSaasLogin/Api.js +39 -0
  66. package/src/components/JfbBaseSaasLogin/Attr.js +37 -0
  67. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLogin.vue +410 -0
  68. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginLess.less +80 -0
  69. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginMixin.js +30 -0
  70. package/src/components/JfbBaseSaasLogin/Mock.js +5 -0
  71. package/src/components/JfbBaseSaasNewsDetail/Api.js +27 -0
  72. package/src/components/JfbBaseSaasNewsDetail/Attr.js +14 -0
  73. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetail.vue +144 -0
  74. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailLess.less +80 -0
  75. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailMixin.js +30 -0
  76. package/src/components/JfbBaseSaasNewsDetail/Mock.js +5 -0
  77. package/src/components/JfbBaseSaasNewsList/Api.js +26 -0
  78. package/src/components/JfbBaseSaasNewsList/Attr.js +24 -0
  79. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsList.vue +181 -0
  80. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListLess.less +80 -0
  81. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListMixin.js +30 -0
  82. package/src/components/JfbBaseSaasNewsList/Mock.js +5 -0
  83. package/src/components/JfbBaseSassPhoneCollect/Api.js +39 -0
  84. package/src/components/JfbBaseSassPhoneCollect/Attr.js +438 -0
  85. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollect.vue +266 -0
  86. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollectLess.less +80 -0
  87. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollectMixin.js +30 -0
  88. package/src/components/JfbBaseSassPhoneCollect/Mock.js +5 -0
  89. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +34 -8
@@ -0,0 +1,438 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: [
9
+ {
10
+ label: '隐私政策:',
11
+ ele: 'xd-site-news',
12
+ valueKey: 'notice',
13
+ value: {type: 'privacy'},
14
+ className: 'input70',
15
+ setting: {
16
+ type: 'privacy',
17
+ config: {
18
+ sort: true,
19
+ maxlen: 100,
20
+ action: 'aliyun',
21
+ size: 5,
22
+ tipsformet: '上传文件格式:@imageType@,不超过@size@MB.',
23
+ uploadType: 'aliyun',
24
+ type: ['jpg', 'png', 'jpeg']
25
+ },
26
+ },
27
+ handleCustom({action, data}) {
28
+ if (data && data.params) {
29
+ //当一个插件中出现多个内容分类时候需要设置code值,在页面引用时候(容器id + code)进行拼接获取数据列表
30
+ data.params = Object.assign({}, data.params, {code: 'privacy_privacy'});
31
+ }
32
+
33
+ //获取返回参数(场景类型名称为必填)
34
+ let loading = XdBus.getParentApi('loading')({});
35
+
36
+ //获取显示内容
37
+ if (action === 'screen') {
38
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_bucket_content_tip'})
39
+ .then(res => {
40
+ loading.close();
41
+ data.cb(res['list'])
42
+ })
43
+ .catch(error => {
44
+ console.error(error);
45
+ loading.close();
46
+ });
47
+
48
+ }
49
+
50
+ //获取返回参数(广告位高度必选项)
51
+ if (action === 'getNewsInfo') {
52
+ XdBus.getParentApi('cmsGetPublishEditxContent')(data.params)
53
+ .then(res => {
54
+ loading.close()
55
+ data.cb({list: res.list, selectId: res.selected})
56
+ })
57
+ .catch(error => {
58
+ loading.close()
59
+ console.error(error);
60
+ });
61
+ }
62
+
63
+ //获取产品业务线列表
64
+ if (action === 'namespace') {
65
+ XdBus.getParentApi('getOptionsNamespaces')({})
66
+ .then(res => {
67
+ loading.close()
68
+ data.cb(res['list'])
69
+ })
70
+ .catch(error => {
71
+ loading.close()
72
+ console.error(error);
73
+ });
74
+ }
75
+
76
+ //使用内容分类
77
+ if (action === 'cmsPublishEditxContent') {
78
+ XdBus.getParentApi('cmsPublishEditxContent')(data.params)
79
+ .then(res => {
80
+ console.log('cmsPublishEditxContent', res)
81
+ loading.close();
82
+ data.cb(res)
83
+ })
84
+ .catch(error => {
85
+ loading.close();
86
+ console.error(error);
87
+ });
88
+ }
89
+
90
+ //位置列表
91
+ if (action === 'getListPostion') {
92
+ XdBus.getParentApi('getListNewsPosition')(data.params)
93
+ .then(res => {
94
+ loading.close();
95
+ data.cb(res)
96
+ })
97
+ .catch(error => {
98
+ loading.close();
99
+ console.error(error);
100
+ });
101
+ }
102
+
103
+ //位置创建
104
+ if (action === 'addPostion') {
105
+ XdBus.getParentApi('addNewsPosition')(data.params)
106
+ .then(res => {
107
+ loading.close();
108
+ data.cb(true)
109
+ })
110
+ .catch(error => {
111
+ console.error(error);
112
+ loading.close();
113
+ data.cb(false)
114
+ });
115
+ }
116
+
117
+ //位置编辑
118
+ if (action === 'editPostion') {
119
+ XdBus.getParentApi('updateNewsPosition')(data.params)
120
+ .then(res => {
121
+ loading.close();
122
+ data.cb(true)
123
+ })
124
+ .catch(error => {
125
+ console.error(error);
126
+ loading.close();
127
+ data.cb(false)
128
+ });
129
+ }
130
+
131
+ //位置删除
132
+ if (action === 'deleltePostion') {
133
+ XdBus.getParentApi('deleteNewsPosition')(data.params)
134
+ .then(res => {
135
+ loading.close();
136
+ data.cb(true)
137
+ })
138
+ .catch(error => {
139
+ console.error(error);
140
+ loading.close();
141
+ data.cb(false)
142
+ });
143
+ }
144
+
145
+ //获取广告位内容列表
146
+ if (action === 'getListContent') {
147
+ XdBus.getParentApi('getListNewsContent')(data.params)
148
+ .then(res => {
149
+ loading.close();
150
+ data.cb(res)
151
+ })
152
+ .catch(error => {
153
+ loading.close();
154
+ console.error(error);
155
+ });
156
+ }
157
+
158
+ //广告内容创建
159
+ if (action === 'addContent') {
160
+ XdBus.getParentApi('addNewsContent')(data.params)
161
+ .then(res => {
162
+ loading.close();
163
+ data.cb(true)
164
+ })
165
+ .catch(error => {
166
+ console.error(error);
167
+ loading.close();
168
+ data.cb(false)
169
+ });
170
+ }
171
+
172
+ //广告内容编辑
173
+ if (action === 'editContent') {
174
+ XdBus.getParentApi('updateNewsContent')(data.params)
175
+ .then(res => {
176
+ loading.close();
177
+ data.cb(true)
178
+ })
179
+ .catch(error => {
180
+ console.error(error);
181
+ loading.close();
182
+ data.cb(false)
183
+ });
184
+ }
185
+
186
+ //广告内容删除
187
+ if (action === 'deleteContent') {
188
+ XdBus.getParentApi('deleteNewsContent')(data.params)
189
+ .then(res => {
190
+ loading.close();
191
+ data.cb(true)
192
+ })
193
+ .catch(error => {
194
+ console.error(error);
195
+ loading.close();
196
+ data.cb(false)
197
+ });
198
+ }
199
+
200
+ //内容发布
201
+ if (action === 'publish') {
202
+ console.log('publish', data.params)
203
+ XdBus.getParentApi('cmsPublishContent')(data.params)
204
+ .then(res => {
205
+ loading.close();
206
+ data.cb(res)
207
+ })
208
+ .catch(error => {
209
+ loading.close();
210
+ console.error(error);
211
+ });
212
+ }
213
+
214
+ //通知页面进行刷新
215
+ if (action === 'update') {
216
+ XdBus.getParentApi('getXdBusUpdateView')('onUpdateView', {});
217
+ loading.close()
218
+ }
219
+ },
220
+ inline: false,
221
+ notice: '',
222
+ },
223
+ {
224
+ label: '用户服务协议:',
225
+ ele: 'xd-site-news',
226
+ valueKey: 'notices',
227
+ value: {type: 'privacy'},
228
+ className: 'input70',
229
+ setting: {
230
+ config: {
231
+ sort: true,
232
+ maxlen: 100,
233
+ action: 'aliyun',
234
+ size: 5,
235
+ tipsformet: '上传文件格式:@imageType@,不超过@size@MB.',
236
+ uploadType: 'aliyun',
237
+ type: ['jpg', 'png', 'jpeg']
238
+ },
239
+ },
240
+ handleCustom({action, data}) {
241
+ if (data && data.params) {
242
+ //当一个插件中出现多个内容分类时候需要设置code值,在页面引用时候(容器id + code)进行拼接获取数据列表
243
+ data.params = Object.assign({}, data.params, {code: 'privacy_service'});
244
+ }
245
+
246
+ //获取返回参数(场景类型名称为必填)
247
+ let loading = XdBus.getParentApi('loading')({});
248
+
249
+ //获取显示内容
250
+ if (action === 'screen') {
251
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_bucket_content_tip'})
252
+ .then(res => {
253
+ loading.close();
254
+ data.cb(res['list'])
255
+ })
256
+ .catch(error => {
257
+ console.error(error);
258
+ loading.close();
259
+ });
260
+
261
+ }
262
+
263
+ //获取返回参数(广告位高度必选项)
264
+ if (action === 'getNewsInfo') {
265
+ XdBus.getParentApi('cmsGetPublishEditxContent')(data.params)
266
+ .then(res => {
267
+ loading.close()
268
+ data.cb({list: res.list, selectId: res.selected})
269
+ })
270
+ .catch(error => {
271
+ loading.close()
272
+ console.error(error);
273
+ });
274
+ }
275
+
276
+ //获取产品业务线列表
277
+ if (action === 'namespace') {
278
+ XdBus.getParentApi('getOptionsNamespaces')({})
279
+ .then(res => {
280
+ loading.close()
281
+ data.cb(res['list'])
282
+ })
283
+ .catch(error => {
284
+ loading.close()
285
+ console.error(error);
286
+ });
287
+ }
288
+
289
+ //使用内容分类
290
+ if (action === 'cmsPublishEditxContent') {
291
+ XdBus.getParentApi('cmsPublishEditxContent')(data.params)
292
+ .then(res => {
293
+ console.log('cmsPublishEditxContent', res)
294
+ loading.close();
295
+ data.cb(res)
296
+ })
297
+ .catch(error => {
298
+ loading.close();
299
+ console.error(error);
300
+ });
301
+ }
302
+
303
+ //位置列表
304
+ if (action === 'getListPostion') {
305
+ XdBus.getParentApi('getListNewsPosition')(data.params)
306
+ .then(res => {
307
+ loading.close();
308
+ data.cb(res)
309
+ })
310
+ .catch(error => {
311
+ loading.close();
312
+ console.error(error);
313
+ });
314
+ }
315
+
316
+ //位置创建
317
+ if (action === 'addPostion') {
318
+ XdBus.getParentApi('addNewsPosition')(data.params)
319
+ .then(res => {
320
+ loading.close();
321
+ data.cb(true)
322
+ })
323
+ .catch(error => {
324
+ console.error(error);
325
+ loading.close();
326
+ data.cb(false)
327
+ });
328
+ }
329
+
330
+ //位置编辑
331
+ if (action === 'editPostion') {
332
+ XdBus.getParentApi('updateNewsPosition')(data.params)
333
+ .then(res => {
334
+ loading.close();
335
+ data.cb(true)
336
+ })
337
+ .catch(error => {
338
+ console.error(error);
339
+ loading.close();
340
+ data.cb(false)
341
+ });
342
+ }
343
+
344
+ //位置删除
345
+ if (action === 'deleltePostion') {
346
+ XdBus.getParentApi('deleteNewsPosition')(data.params)
347
+ .then(res => {
348
+ loading.close();
349
+ data.cb(true)
350
+ })
351
+ .catch(error => {
352
+ console.error(error);
353
+ loading.close();
354
+ data.cb(false)
355
+ });
356
+ }
357
+
358
+ //获取广告位内容列表
359
+ if (action === 'getListContent') {
360
+ XdBus.getParentApi('getListNewsContent')(data.params)
361
+ .then(res => {
362
+ loading.close();
363
+ data.cb(res)
364
+ })
365
+ .catch(error => {
366
+ loading.close();
367
+ console.error(error);
368
+ });
369
+ }
370
+
371
+ //广告内容创建
372
+ if (action === 'addContent') {
373
+ XdBus.getParentApi('addNewsContent')(data.params)
374
+ .then(res => {
375
+ loading.close();
376
+ data.cb(true)
377
+ })
378
+ .catch(error => {
379
+ console.error(error);
380
+ loading.close();
381
+ data.cb(false)
382
+ });
383
+ }
384
+
385
+ //广告内容编辑
386
+ if (action === 'editContent') {
387
+ XdBus.getParentApi('updateNewsContent')(data.params)
388
+ .then(res => {
389
+ loading.close();
390
+ data.cb(true)
391
+ })
392
+ .catch(error => {
393
+ console.error(error);
394
+ loading.close();
395
+ data.cb(false)
396
+ });
397
+ }
398
+
399
+ //广告内容删除
400
+ if (action === 'deleteContent') {
401
+ XdBus.getParentApi('deleteNewsContent')(data.params)
402
+ .then(res => {
403
+ loading.close();
404
+ data.cb(true)
405
+ })
406
+ .catch(error => {
407
+ console.error(error);
408
+ loading.close();
409
+ data.cb(false)
410
+ });
411
+ }
412
+
413
+ //内容发布
414
+ if (action === 'publish') {
415
+ console.log('publish', data.params)
416
+ XdBus.getParentApi('cmsPublishContent')(data.params)
417
+ .then(res => {
418
+ loading.close();
419
+ data.cb(res)
420
+ })
421
+ .catch(error => {
422
+ loading.close();
423
+ console.error(error);
424
+ });
425
+ }
426
+
427
+ //通知页面进行刷新
428
+ if (action === 'update') {
429
+ XdBus.getParentApi('getXdBusUpdateView')('onUpdateView', {});
430
+ loading.close()
431
+ }
432
+ },
433
+ inline: false,
434
+ notice: '',
435
+ },
436
+ ],
437
+ advanced: [],
438
+ };
@@ -0,0 +1,266 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-sass-phone-collect"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-sass-phone-collect__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-sass-phone-collect__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-sass-phone-collect__body">
17
+ <view class="panel-login-password">
18
+ <xd-form
19
+ label-width="128"
20
+ style="margin-top: 40rpx"
21
+ label-align="right"
22
+ content-align="left"
23
+ :border="true"
24
+ >
25
+ <xd-form-item label="手机号" content-align="left">
26
+ <xd-form-input
27
+ v-model="accountForm.phone_number"
28
+ placeholder="请输入11位手机号"
29
+ />
30
+ </xd-form-item>
31
+ <xd-form-item label="验证码" content-align="left">
32
+ <view class="flex align-center">
33
+ <xd-form-input
34
+ v-model="accountForm.verification_code"
35
+ placeholder="请输入验证码"
36
+ />
37
+ <view
38
+ class="get_code"
39
+ @click="reGetCode"
40
+ :style="{ color: mainColor }"
41
+ >{{ jfbTimeer ? jfbTimeer + "秒后获取" : "获取验证码" }}</view
42
+ >
43
+ </view>
44
+ </xd-form-item>
45
+ </xd-form>
46
+ <view class="form-group" style="padding-bottom: 0">
47
+ <xd-form-checkbox
48
+ class="xd-form-checkbox"
49
+ v-model="panel_1_checked"
50
+ mode="default"
51
+ multiple
52
+ :localdata="[{ value: 1, text: '登录即同意《隐私政策》《用户服务协议》' },]"
53
+ >
54
+ <template slot="a1">
55
+ <view>
56
+ <text>请阅读并同意</text>
57
+ <text @click.stop="handlePrivacy('privacy_privacy')" :style="{color: mainColor}">《隐私政策》</text>
58
+ <text @click.stop="handlePrivacy('privacy_service')" :style="{color: mainColor}">《用户服务协议》</text>
59
+ </view>
60
+ </template>
61
+ </xd-form-checkbox>
62
+ </view>
63
+ <view class="form-group">
64
+ <xd-button
65
+ style="flex: 1"
66
+ type="primary"
67
+ radius="10rpx"
68
+ :disabled="!panelIsChecked"
69
+ @click="doLoginForm"
70
+ >登录</xd-button
71
+ >
72
+ </view>
73
+ <view
74
+ class="jump_collect"
75
+ @click="jumpCollect"
76
+ >跳过</view>
77
+ </view>
78
+ </view>
79
+ </view>
80
+ </template>
81
+
82
+ <script>
83
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
84
+ import { jfbRootExec } from "@/utils/xd.event";
85
+ import componentsMixins from "@/mixins/componentsMixins";
86
+ import extsMixins from "@/mixins/extsMixins";
87
+ import { getContainerPropsValue } from "@/utils/xd.base";
88
+ import XdFormItem from "@/components/XdFormItem/XdFormItem";
89
+ import XdForm from "@/components/XdForm/XdForm";
90
+ import XdFormInput from "@/components/XdFormInput/XdFormInput";
91
+ import XdButton from "@/components/XdButton/XdButton";
92
+ import XdFormCheckbox from "@/components/XdFormCheckbox/XdFormCheckbox";
93
+ import JfbBaseSassPhoneCollectMixin from "./JfbBaseSassPhoneCollectMixin";
94
+ export default {
95
+ name: "JfbBaseSassPhoneCollect",
96
+ components: {
97
+ XdFontIcon,
98
+ XdFormItem,
99
+ XdForm,
100
+ XdFormInput,
101
+ XdButton,
102
+ XdFormCheckbox,
103
+ },
104
+ mixins: [
105
+ componentsMixins, extsMixins, JfbBaseSassPhoneCollectMixin
106
+ ],
107
+ data() {
108
+ return {
109
+ panel_1_checked: "",
110
+ accountForm: {
111
+ phone_number: "",
112
+ verification_code: "",
113
+ },
114
+ jfbTimeer: 0,
115
+ interval: null,
116
+ provider_id: "",
117
+ callback_url: "",
118
+ //todo
119
+ }
120
+ },
121
+ computed: {
122
+ panelIsChecked() {
123
+ return this.panel_1_checked.includes(1);
124
+ },
125
+ "accountForm.verification_code"(value) {
126
+ if (value && value.length >= 8 && value.length % 2 === 0) {
127
+ let start = value.slice(0, value.length / 2);
128
+ let end = value.slice(value.length / 2);
129
+ if (start === end) {
130
+ this.accountForm.verification_code = start;
131
+ }
132
+ }
133
+ }
134
+ },
135
+ watch: {
136
+ container(value) {
137
+ this.init(value)
138
+ }
139
+ },
140
+ created() {
141
+ this.init(this.container);
142
+
143
+ //todo
144
+ },
145
+ methods: {
146
+ onJfbLoad(options) {
147
+ this.provider_id = options.provider_id;
148
+ this.callback_url = options.callback_url;
149
+ },
150
+ /**
151
+ * @description 监听事件变化
152
+ * @param container {object} 业务组件对象自己
153
+ */
154
+ init(container) {
155
+
156
+ },
157
+ handlePrivacy(code) {
158
+ let params = `page_id=${this.pageAttr["page_id"]}`;
159
+ params = `${params}&container_id=${this.containerId}${code}`;
160
+ this.$xdUniHelper.navigateTo({
161
+ url: `/pages/content/content?${params}`
162
+ })
163
+ },
164
+ reGetCode() {
165
+ this.$xdLog.setProject('get.code.handle', {
166
+ time: this.time,
167
+ jfbTimeer: this.jfbTimeer
168
+ });
169
+ if (this.jfbTimeer > 0) return;
170
+ const { phone_number } = this.accountForm;
171
+ if (!/^1[3-9]\d{9}$/.test(phone_number)) {
172
+ uni.showToast({
173
+ title: "请填写正确的手机号",
174
+ icon: "none",
175
+ });
176
+ return false;
177
+ }
178
+ this.$xdShowLoading({})
179
+ console.log("jfbRootExec: sendMsg");
180
+ jfbRootExec("sendMsg", {
181
+ vm: this,
182
+ data: {
183
+ phone_number,
184
+ biz_name: "login",
185
+ },
186
+ }).then((res) => {
187
+ this.$xdHideLoading()
188
+ this.jfbTimeer = 120;
189
+ this.interval = setInterval(() => {
190
+ this.jfbTimeer--;
191
+ if (this.jfbTimeer == 0) {
192
+ clearTimeout(this.interval);
193
+ }
194
+ }, 1000);
195
+ }).catch((err) => {
196
+ this.$xdHideLoading();
197
+ this.$xdLog.catch(err)
198
+ });
199
+ },
200
+ jumpCollect(){
201
+ let { callback_url } = this;
202
+ if (callback_url) callback_url = decodeURIComponent(callback_url);
203
+ this.$xdUniHelper.redirectTo({
204
+ url: callback_url || this.settings.index,
205
+ });
206
+ },
207
+ doLoginForm() {
208
+ const { provider_id } = this;
209
+ const { phone_number, verification_code } = this.accountForm;
210
+ if (!phone_number || !verification_code) return uni.showToast({ title: "手机号跟验证码不能为空", icon: "none" });
211
+
212
+ this.$xdShowLoading({})
213
+ jfbRootExec("phoneCollect", {
214
+ vm: this,
215
+ data: {
216
+ provider_id,
217
+ phone_number,
218
+ verification_code,
219
+ },
220
+ }).then((res) => {
221
+ this.$xdHideLoading()
222
+ let { callback_url } = this;
223
+ if (callback_url) callback_url = decodeURIComponent(callback_url);
224
+ this.$xdUniHelper.redirectTo({
225
+ url: callback_url || this.settings.index,
226
+ });
227
+ }).catch(error => {
228
+ this.$xdHideLoading()
229
+ this.$xdLog.catch(error)
230
+ });
231
+ },
232
+ onJfbScroll(options) {
233
+
234
+ },
235
+ onJfbReachBottom(options) {
236
+ console.log('event.onJfbReachBottom', options)
237
+ },
238
+ onJfbShow(options) {
239
+ console.log('event.onJfbShow', options)
240
+ },
241
+ onJfbHide(options) {
242
+ console.log('event.onJfbHide', options)
243
+ },
244
+ onJfbBack(options) {
245
+ this.$xdUniHelper.navigateBack();
246
+ },
247
+ onJfbUpdate(...data) {
248
+ console.log('event.onJfbUpdate', data)
249
+ },
250
+ onJfbCustomEvent(options) {
251
+ console.log('event.onJfbReachBottom', options)
252
+ },
253
+ }
254
+ }
255
+
256
+ </script>
257
+
258
+ <style scoped lang="less">
259
+ @import "./JfbBaseSassPhoneCollectLess.less";
260
+
261
+ .jfb-base-sass-phone-collect {
262
+ &__body{
263
+
264
+ }
265
+ }
266
+ </style>