fhrons-mobile-next 2.0.0 → 2.0.2

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 (90) hide show
  1. package/.env.poc +8 -0
  2. package/assets/css/colors.js +6 -0
  3. package/assets/css/customVant.less +60 -0
  4. package/assets/css/extra.css +32 -0
  5. package/assets/css/global.css +1 -0
  6. package/assets/css/global.less +1637 -0
  7. package/assets/css/index.js +63 -0
  8. package/assets/css/static.less +607 -0
  9. package/assets/js/func.js +361 -0
  10. package/assets/js/globalData.js +18 -0
  11. package/assets/js/qywxapi.js +484 -0
  12. package/{packages → assets/js}/storage.js +1 -20
  13. package/assets/js/upload.js +269 -0
  14. package/assets/js/validate.js +48 -0
  15. package/assets/js/vant.js +39 -0
  16. package/assets/js/wxapi.js +297 -0
  17. package/assets/vantLang/index.js +172 -0
  18. package/assets/vantLang/lib/en-US.js +95 -0
  19. package/assets/vantLang/lib/es-ES.js +95 -0
  20. package/assets/vantLang/lib/pt-PT.js +96 -0
  21. package/assets/vantLang/lib/zh-CN.js +96 -0
  22. package/assets/vantLang/lib/zh-HK.js +96 -0
  23. package/assets/vantLang/locales/en_US.js +102 -0
  24. package/assets/vantLang/locales/es_ES.js +102 -0
  25. package/assets/vantLang/locales/index.js +12 -0
  26. package/assets/vantLang/locales/pt_PT.js +102 -0
  27. package/assets/vantLang/locales/zh_CN.js +102 -0
  28. package/assets/vantLang/locales/zh_T.js +102 -0
  29. package/babel.config.js +15 -0
  30. package/index.js +68 -33
  31. package/inject-env-plugin.js +29 -0
  32. package/package.json +46 -32
  33. package/packages/areaMobile/index.js +5 -0
  34. package/packages/areaMobile/index.vue +260 -0
  35. package/packages/autoGraph/VueEsign.vue +309 -0
  36. package/packages/autoGraph/index.js +5 -0
  37. package/packages/autoGraph/index.vue +472 -0
  38. package/packages/commonForm/CommonAsyncAreaPicker.vue +223 -0
  39. package/packages/commonForm/CommonDatePicker.vue +152 -0
  40. package/packages/commonForm/CommonForm.vue +786 -0
  41. package/packages/commonForm/CommonFullTimePicker.vue +137 -0
  42. package/packages/commonForm/CommonSinglePicker.vue +121 -0
  43. package/packages/commonForm/CommonYearMonthPicker.vue +127 -0
  44. package/packages/commonForm/index.js +33 -0
  45. package/packages/dialog/index.js +32 -0
  46. package/packages/dialog/index.vue +379 -0
  47. package/packages/index.js +7 -3
  48. package/packages/introduce/index.js +5 -0
  49. package/packages/introduce/index.vue +31 -0
  50. package/packages/loading/Loading.vue +70 -0
  51. package/packages/loading/index.js +43 -0
  52. package/packages/mindMap/index.js +5 -0
  53. package/packages/mindMap/index.vue +437 -0
  54. package/packages/pdfViewer/index.js +12 -0
  55. package/packages/pdfViewer/index.vue +131 -0
  56. package/packages/sharePanel/SheetPanel.vue +316 -0
  57. package/packages/sharePanel/index.js +5 -0
  58. package/packages/sharePanel/index.vue +476 -0
  59. package/packages/sharePanel/props.js +58 -0
  60. package/packages/sharePanel/utils/QyWxShareMixin.js +93 -0
  61. package/packages/sharePanel/utils/shareWay.js +81 -0
  62. package/packages/theme/index copy.js +89 -0
  63. package/packages/theme/index.js +38 -0
  64. package/packages/theme/theme.css +910 -0
  65. package/packages/theme/theme.less +26 -0
  66. package/packages/uploadFile/VanUploadFile.vue +80 -0
  67. package/packages/uploadFile/index.js +5 -0
  68. package/packages/uploadFile/index.vue +725 -0
  69. package/packages/uploadFile/vanUpload.js +5 -0
  70. package/packages/verify/Verify/VerifyPoints.vue +247 -0
  71. package/packages/verify/Verify/VerifySlide.vue +364 -0
  72. package/packages/verify/index.js +5 -0
  73. package/packages/verify/index.vue +416 -0
  74. package/packages/verify/utils/verify.js +53 -0
  75. package/packages/videoPage/index.js +5 -0
  76. package/packages/videoPage/index.vue +440 -0
  77. package/plugins/sensors/fhsensors.js +84 -0
  78. package/plugins/sensors/sensors.js +175 -0
  79. package/plugins/sensors/sensorsFun.js +1387 -0
  80. package/fhrons-mobile-next-2.0.0.tgz +0 -0
  81. package/packages/fhImage/index.js +0 -5
  82. package/packages/fhImage/index.vue +0 -57
  83. package/packages/fhPresetImage/index.js +0 -5
  84. package/packages/fhPresetImage/index.vue +0 -39
  85. package/packages/html2canvas/index.js +0 -29
  86. package/upload copy.js +0 -468
  87. package/utils/tools.js +0 -22
  88. /package/{dist → fhcommon/dist}/fhcommon.min.js +0 -0
  89. /package/{dist → fhcommon/dist}/fhcommon.min.js.LICENSE.txt +0 -0
  90. /package/{upload.js → fhcommon/upload.js} +0 -0
@@ -0,0 +1,63 @@
1
+ // import { loadStyleLink } from '../js/func'
2
+
3
+ // loadStyleLink("https://frcdap-dev-1251973116.cos.ap-shanghai-fsi.myqcloud.com/sassmanage/file/dev/iconLinkCss/icon.css")
4
+
5
+ // import './global.less'
6
+ // import './static.less'
7
+ // import './customVant.less'
8
+
9
+ const fs = require('fs')
10
+ const path = require('path');
11
+ const filePath = path.join(__dirname, 'global.less');
12
+
13
+ // 读取文件内容
14
+ fs.readFile(filePath, 'utf8', (err, data) => {
15
+ if (err) {
16
+ console.error('文件读取失败', err);
17
+ } else {
18
+ // 正则表达式匹配所有颜色值 (以 # 开头,后跟 3 或 6 个十六进制数字)
19
+ const colorRegex = /#(?:[0-9a-fA-F]{3}){1,2}/g;
20
+
21
+ // 提取所有匹配的颜色值
22
+ const colors = data.match(colorRegex);
23
+
24
+ // 去重
25
+ const uniqueColors = [...new Set(colors)];
26
+
27
+ // 输出颜色数组
28
+ console.log('提取到的颜色值数组:', uniqueColors);
29
+ // console.log('文件读取成功', colors.length, colors, new Set(data.toString().match(colorRegex)), result.replace(/;/g, ''));
30
+ const jsStr = `
31
+ export default {
32
+ colorsStr:${JSON.stringify(uniqueColors.join(','))},
33
+ colorsArr:${JSON.stringify(uniqueColors)}
34
+ }
35
+ `
36
+ fs.writeFile(path.join(__dirname, 'colors.js'), jsStr, (err, data) => {
37
+ if (err) {
38
+ console.error('文件写入失败')
39
+ } else {
40
+ console.log('文件写入成功')
41
+ }
42
+ })
43
+ }
44
+ });
45
+
46
+ // fs.readFile(filePath, (err, data) => {
47
+ // if (err) {
48
+ // console.error('文件读取失败', err);
49
+ // } else {
50
+ // const colorRegex = /#(?:[0-9a-fA-F]{3}){1,2};/g; // 匹配以#开头;结尾的颜色值
51
+ // const colors = Array.from(new Set(data.toString().match(colorRegex)))
52
+ // console.log(data.toString().match(colorRegex), '------------------')
53
+ // const result = colors.join(',').replace(/;/g, '')
54
+ // console.log('文件读取成功', colors.length, colors, new Set(data.toString().match(colorRegex)), result.replace(/;/g, ''));
55
+ // fs.writeFile(path.join(__dirname, 'colors.txt'), result, (err, data) => {
56
+ // if (err) {
57
+ // console.error('文件写入失败')
58
+ // } else {
59
+ // console.log('文件写入成功')
60
+ // }
61
+ // })
62
+ // }
63
+ // })
@@ -0,0 +1,607 @@
1
+ .theme-color {
2
+ color: var(--theme-color100) !important;
3
+ }
4
+
5
+ .theme-dark-bg {
6
+ background-color: var(--theme-color100);
7
+ }
8
+
9
+ .van-field__control {
10
+ &::placeholder {
11
+ font-size: inherit;
12
+ }
13
+ }
14
+
15
+ .middle-title {
16
+ font-size: 14px;
17
+ font-weight: 300;
18
+ color: #656565;
19
+ }
20
+
21
+ .van-uploadFile {
22
+ .van-uploader__wrapper {
23
+ .van-uploader__preview,
24
+ .van-uploader__upload {
25
+ width: 101px;
26
+ height: 101px;
27
+ background-color: #f5f5f9;
28
+ -webkit-transform: rotate(0deg);
29
+ border-radius: 4px;
30
+ overflow: hidden;
31
+ margin: 0;
32
+ margin-right: 0;
33
+ margin-bottom: 12px;
34
+
35
+ .van-uploader__upload-icon {
36
+ color: #7f808a;
37
+ font-size: 22px;
38
+ }
39
+ }
40
+
41
+ .van-uploader__preview {
42
+ margin: 0 12px 12px 0;
43
+
44
+ &:nth-child(3n) {
45
+ margin-right: 0;
46
+ }
47
+
48
+ .van-uploader__preview-image {
49
+ width: 100%;
50
+ height: 100%;
51
+ }
52
+
53
+ .van-uploader__mask {
54
+ background-color: rgba(0, 0, 0, 0.6);
55
+
56
+ .van-icon-close {
57
+ // display: none;
58
+ }
59
+
60
+ .van-loading {
61
+ margin-bottom: 6px;
62
+ }
63
+
64
+ .van-uploader__mask-message {
65
+ font-size: 12px;
66
+ width: 50px;
67
+ // height: 32px;
68
+ // margin: 0;
69
+ padding: 0;
70
+ line-height: 16px;
71
+ }
72
+ }
73
+
74
+ // 上传组件删除按钮
75
+ .van-uploader__preview-delete {
76
+ width: 18px;
77
+ height: 18px;
78
+ border-radius: 0 4px 0 4px;
79
+ background-color: rgba(0, 0, 0, 0.7);
80
+
81
+ .van-uploader__preview-delete-icon {
82
+ top: 2px;
83
+ right: 3px;
84
+ font-size: 12px;
85
+ transform: unset;
86
+ }
87
+ }
88
+
89
+ .van-uploader__preview-delete .van-uploader__preview-delete-icon {
90
+ left: 3px;
91
+ top: 3px;
92
+ }
93
+ }
94
+ }
95
+ }
96
+
97
+ // 公共表单
98
+ /* CommonForm */
99
+ #CommonForm.common-form {
100
+ .van-form {
101
+ .van-field {
102
+ padding: 16px 12px;
103
+ line-height: 21px;
104
+ .van-field__label {
105
+ width: 108px;
106
+ // align-items: center;
107
+ }
108
+ .van-field__value {
109
+ position: unset;
110
+ }
111
+ .disabled {
112
+ color: #c8c9cc !important;
113
+ }
114
+
115
+ .van-checkbox .van-checkbox__icon {
116
+ transform: translateY(1px);
117
+ }
118
+ // 自定义输入框高度
119
+ .van-field__control--custom {
120
+ min-height: 21px;
121
+ line-height: 21px;
122
+ }
123
+ .sub-label {
124
+ position: absolute;
125
+ bottom: 18px;
126
+ left: 0;
127
+ }
128
+ }
129
+ div:last-child {
130
+ .van-field {
131
+ &::after {
132
+ display: none;
133
+ }
134
+ }
135
+ .van-field--error {
136
+ padding-bottom: 12px;
137
+ }
138
+ .van-field--error.underLine {
139
+ // margin-bottom: 40px;
140
+ &::after {
141
+ background-color: #ff5c5c;
142
+ border-bottom: none;
143
+ display: block;
144
+ height: 0.5px;
145
+ left: 12px;
146
+ right: 12px;
147
+ }
148
+ }
149
+ }
150
+
151
+ div:not(:last-child) {
152
+ .van-cell.underLine,
153
+ .underLine {
154
+ position: relative;
155
+
156
+ &::after {
157
+ display: block;
158
+ position: absolute;
159
+ width: calc(100% - 24px);
160
+ bottom: 0.5px;
161
+ left: 0;
162
+ content: "";
163
+ margin: 0 12px;
164
+ height: 0.5px;
165
+ background-color: #e8e8e8;
166
+ }
167
+ }
168
+ .van-field--error.underLine::after {
169
+ background-color: #ff5c5c;
170
+ border-bottom: none;
171
+ }
172
+ }
173
+
174
+ // label 后面的小红星
175
+ .redstar {
176
+ .van-field__label {
177
+ // min-width: 107px;
178
+ position: relative;
179
+
180
+ span {
181
+ white-space: nowrap;
182
+ }
183
+
184
+ // &::after {
185
+ // content: '*';
186
+ // font-size: 14px;
187
+ // color: red;
188
+ // transform: translate(6px, 3px);
189
+ // }
190
+ }
191
+ }
192
+
193
+ .van-field__label {
194
+ margin-right: 0;
195
+ }
196
+
197
+ .other-choose {
198
+ span {
199
+ line-height: 14px !important;
200
+ }
201
+
202
+ &:last-child {
203
+ .van-field {
204
+ &::after {
205
+ display: block !important;
206
+ }
207
+ }
208
+ }
209
+ }
210
+
211
+ .singleTag-subclass .van-field__label {
212
+ width: 160px;
213
+ }
214
+ // 带区号的手机号输入控件
215
+ .phone-num {
216
+ .van-field__body {
217
+ // justify-content: end;
218
+ // padding-left: 70px;
219
+ .van-field__control {
220
+ // width: calc(100% - 52px);
221
+ }
222
+ }
223
+ }
224
+ // .phone-num-widget {
225
+ // position: absolute;
226
+ // z-index: 1;
227
+ // top: 0;
228
+ // // left: 0;
229
+ // }
230
+ }
231
+
232
+ .field-textarea {
233
+ .van-field {
234
+ padding: 0 !important;
235
+ }
236
+
237
+ .van-field__body {
238
+ textarea {
239
+ height: 155px;
240
+ }
241
+ }
242
+ }
243
+
244
+ .field-textarea.van-field__word-num-red .van-field__word-limit .van-field__word-num {
245
+ color: #ee0a24;
246
+ }
247
+
248
+ .flex-column textarea {
249
+ background-color: #f5f5f9;
250
+ padding: 12px 12px 32px;
251
+ margin-top: 12px;
252
+ border-radius: 4px;
253
+ overflow: hidden;
254
+ line-height: 21px;
255
+ font-size: 14px;
256
+ text-align: justify;
257
+ }
258
+
259
+ .flex-column .van-field__word-limit {
260
+ position: absolute;
261
+ right: 24px;
262
+ bottom: 20px;
263
+ color: #c8c9cc;
264
+ }
265
+
266
+ .van-cell__title {
267
+ display: flex;
268
+ justify-content: flex-start;
269
+ color: #555661;
270
+ // flex-direction: column;
271
+ }
272
+
273
+ .uploader .van-cell__title {
274
+ display: block;
275
+ }
276
+
277
+ .van-field__right-icon {
278
+ color: #c8c9cc;
279
+ padding: 0 8px 0 4px;
280
+
281
+ .van-icon {
282
+ font-size: 12px;
283
+ line-height: 12px;
284
+ height: 12px;
285
+ }
286
+ }
287
+
288
+ .van-cell--required::before {
289
+ content: "";
290
+ }
291
+
292
+ .van-cell.van-field--error {
293
+ margin: 0 0 24px;
294
+ overflow: visible;
295
+ }
296
+
297
+ .van-field--error {
298
+ .van-field__control {
299
+ color: #23242e;
300
+
301
+ &::placeholder {
302
+ color: #c8c9cc;
303
+ }
304
+ }
305
+ .van-field__error-message {
306
+ position: absolute;
307
+ left: 12px;
308
+ bottom: -28px;
309
+ color: #ff5c5c;
310
+ }
311
+ }
312
+
313
+ input[type="asyncSelectArea"].van-field__control.van-field__control--right {
314
+ text-overflow: ellipsis;
315
+ }
316
+ .van-uploader .van-uploader__wrapper .van-uploader__preview .van-uploader__mask .van-uploader__mask-message {
317
+ min-width: 88px;
318
+ max-width: 90%;
319
+ text-align: center;
320
+ }
321
+
322
+ // 单选样式textarea的样式
323
+ .field-select {
324
+ textarea {
325
+ min-height: unset;
326
+ }
327
+ }
328
+ .link-text {
329
+ .van-field__control::-webkit-input-placeholder {
330
+ color: var(--theme-color100);
331
+ }
332
+ }
333
+ }
334
+
335
+ #CommonAsyncAreaPicker,
336
+ #CommonDatePicker,
337
+ #CommonFullTimePicker,
338
+ #CommonSinglePicker,
339
+ #CommonYearMonthPicker {
340
+ .van-popup--bottom {
341
+ height: auto;
342
+ }
343
+
344
+ .van-popup__close-icon--top-right {
345
+ top: 0px;
346
+ right: 50%;
347
+ transform: translateX(50%);
348
+ font-size: unset;
349
+ height: 8px;
350
+
351
+ .van-icon__image {
352
+ width: 32px;
353
+ height: 8px;
354
+ margin: 12px 0;
355
+ }
356
+ }
357
+ .van-popup {
358
+ overflow: hidden;
359
+ .van-datetime-picker,
360
+ .van-picker {
361
+ padding-top: 32px !important;
362
+
363
+ .van-picker__toolbar {
364
+ height: fit-content !important;
365
+ line-height: 24px !important;
366
+ }
367
+ .van-hairline-unset--top-bottom::after {
368
+ border-left-width: 0;
369
+ border-right-width: 0;
370
+ }
371
+ }
372
+ }
373
+ }
374
+
375
+ .van-popup--round {
376
+ .van-picker {
377
+ padding-top: 30px;
378
+ box-sizing: border-box;
379
+
380
+ .van-picker-columns {
381
+ // transform: translateY(-48px);
382
+ }
383
+
384
+ .van-picker-column {
385
+ position: relative;
386
+ }
387
+
388
+ .van-picker-column__item {
389
+ // height: 48px !important;
390
+ color: #c8c9cc;
391
+ }
392
+
393
+ .van-picker-column__item--selected {
394
+ color: #23242e;
395
+ }
396
+
397
+ .van-picker__mask {
398
+ display: none;
399
+ }
400
+ }
401
+
402
+ .van-popup__close-icon--top-right {
403
+ top: 10px;
404
+ right: 50%;
405
+ transform: translateX(50%);
406
+ font-size: unset;
407
+ height: 8px;
408
+
409
+ .van-icon__image {
410
+ width: 32px;
411
+ height: 8px;
412
+ }
413
+ }
414
+ }
415
+
416
+ /**
417
+ 上传组件样式调整
418
+ */
419
+ .van-uploader {
420
+ .van-uploader__wrapper {
421
+ .van-uploader__preview,
422
+ .van-uploader__upload {
423
+ width: 101px;
424
+ height: 101px;
425
+ background-color: #f5f5f9;
426
+ -webkit-transform: rotate(0deg);
427
+ border-radius: 4px;
428
+ overflow: hidden;
429
+ margin: 0;
430
+ margin-right: 8px;
431
+ margin-bottom: 8px;
432
+
433
+ .van-uploader__upload-icon {
434
+ color: #7f808a;
435
+ font-size: 22px;
436
+ }
437
+ }
438
+
439
+ .van-uploader__preview {
440
+ .van-uploader__preview-image {
441
+ width: 100%;
442
+ height: 100%;
443
+ }
444
+
445
+ .van-uploader__mask {
446
+ background-color: rgba(0, 0, 0, 0.6);
447
+
448
+ .van-icon-close {
449
+ // display: none;
450
+ }
451
+
452
+ .van-loading {
453
+ margin-bottom: 6px;
454
+ }
455
+
456
+ .van-uploader__mask-message {
457
+ font-size: 12px;
458
+ width: 50px;
459
+ // height: 32px;
460
+ // margin: 0;
461
+ padding: 0;
462
+ line-height: 16px;
463
+ }
464
+ }
465
+ }
466
+ }
467
+ // 上传组件删除按钮
468
+ .van-uploader__preview-delete {
469
+ width: 18px;
470
+ height: 18px;
471
+ border-radius: 0 4px 0 4px;
472
+ background-color: rgba(0, 0, 0, 0.7);
473
+
474
+ .van-uploader__preview-delete-icon {
475
+ top: 2px;
476
+ right: 3px;
477
+ font-size: 12px;
478
+ transform: unset;
479
+ }
480
+ }
481
+ }
482
+
483
+ .van-popup__close-icon--top-right {
484
+ top: 12px;
485
+ display: flex;
486
+ align-items: center;
487
+ justify-content: center;
488
+ left: 50%;
489
+ transform: translate(-50%, 0);
490
+ }
491
+
492
+ // 调整播放器样式
493
+ #VideoPage {
494
+ .video-js {
495
+ background-color: transparent;
496
+
497
+ .vjs-big-play-button {
498
+ top: 50%;
499
+ left: 50%;
500
+ transform: translate(-50%, -50%);
501
+ }
502
+
503
+ .vjs-icon-placeholder {
504
+ width: 100%;
505
+ height: 100%;
506
+ display: block;
507
+ display: inline-block;
508
+ font-family: "iconfont" !important;
509
+ font-style: normal;
510
+ -webkit-font-smoothing: antialiased;
511
+ -moz-osx-font-smoothing: grayscale;
512
+
513
+ &:before {
514
+ line-height: 30px;
515
+ }
516
+ }
517
+
518
+ .vjs-big-play-button {
519
+ width: 36px;
520
+ border-radius: 50%;
521
+ height: 36px;
522
+ line-height: 34px;
523
+ border-color: transparent;
524
+
525
+ .vjs-icon-placeholder {
526
+ &:before {
527
+ font-size: 16px;
528
+ }
529
+ }
530
+ }
531
+
532
+ .vjs-paused {
533
+ // 暂停
534
+ .vjs-icon-placeholder {
535
+ &:before {
536
+ content: "\e75c" !important;
537
+ font-size: 20px;
538
+ }
539
+ }
540
+ }
541
+
542
+ .vjs-playing {
543
+ // 开始
544
+ .vjs-icon-placeholder {
545
+ &:before {
546
+ content: "\e778" !important;
547
+ font-size: 20px;
548
+ }
549
+ }
550
+ }
551
+
552
+ .vjs-vol-3 {
553
+ .vjs-icon-placeholder {
554
+ &:before {
555
+ content: "\e73d" !important;
556
+ font-size: 16px;
557
+ }
558
+ }
559
+ }
560
+
561
+ .vjs-vol-0 {
562
+ .vjs-icon-placeholder {
563
+ &:before {
564
+ content: "\e737" !important;
565
+ font-size: 16px;
566
+ }
567
+ }
568
+ }
569
+
570
+ .vjs-icon-fullscreen-exit,
571
+ .vjs-fullscreen-control {
572
+ &:before {
573
+ position: absolute;
574
+ width: 100%;
575
+ display: block;
576
+ height: 100%;
577
+ content: "";
578
+ left: 0;
579
+ top: 0;
580
+ background-image: url("https://dop-pro-1251973116.file.myqcloud.com/upload/img/funzg/fullscreen.png");
581
+ background-size: 20px 20px;
582
+ background-repeat: no-repeat;
583
+ background-position: center;
584
+ }
585
+
586
+ .vjs-icon-placeholder:before {
587
+ display: none;
588
+ }
589
+ }
590
+
591
+ .vjs-volume-level:before,
592
+ .vjs-play-progress:before {
593
+ top: 50%;
594
+ transform: translateY(-50%) scale(0.7);
595
+ }
596
+ }
597
+
598
+ .vjs-icon-fullscreen-exit:before,
599
+ .vjs-fullscreen-control > .vjs-icon-placeholder:before {
600
+ content: "\e661" !important;
601
+ }
602
+
603
+ .vjs-icon-fullscreen-enter:before,
604
+ .vjs-fullscreen-control > .vjs-icon-placeholder:before {
605
+ content: "\e662" !important;
606
+ }
607
+ }