@uxda/appkit 4.0.0 → 4.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 (108) hide show
  1. package/.eslintrc.mjs +7 -7
  2. package/README.md +187 -187
  3. package/babel.config.js +12 -12
  4. package/dist/appkit.css +855 -36
  5. package/dist/assets/asset-DcH8Kg-2 +1 -0
  6. package/dist/index.js +3355 -610
  7. package/package.json +80 -78
  8. package/project.config.json +15 -15
  9. package/project.tt.json +13 -13
  10. package/rollup.config.mjs +56 -54
  11. package/src/Appkit.ts +65 -65
  12. package/src/balance/api/endpoints.ts +126 -126
  13. package/src/balance/api/index.ts +82 -82
  14. package/src/balance/components/AccountView.vue +748 -748
  15. package/src/balance/components/BalanceCard.vue +209 -209
  16. package/src/balance/components/BalanceReminder.vue +85 -85
  17. package/src/balance/components/ConsumptionFilter.vue +218 -218
  18. package/src/balance/components/ConsumptionRules.vue +68 -68
  19. package/src/balance/components/DateFilter.vue +226 -236
  20. package/src/balance/components/SecondBalance.vue +71 -71
  21. package/src/balance/components/Tip.vue +45 -45
  22. package/src/balance/components/index.ts +9 -9
  23. package/src/balance/types.ts +90 -90
  24. package/src/components/bt-cropper/index.vue +774 -0
  25. package/src/components/bt-cropper/utils/calcCropper.js +42 -0
  26. package/src/components/bt-cropper/utils/calcImagePosition.js +23 -0
  27. package/src/components/bt-cropper/utils/calcImageSize.js +37 -0
  28. package/src/components/bt-cropper/utils/calcPointDistance.js +12 -0
  29. package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -0
  30. package/src/components/bt-cropper/utils/ratio.js +3 -0
  31. package/src/components/bt-cropper/utils/tools.js +25 -0
  32. package/src/components/dd-area/index.vue +225 -225
  33. package/src/components/dd-icon/doc.md +21 -21
  34. package/src/components/dd-icon/index.vue +23 -23
  35. package/src/components/dd-notice-bar/index.vue +78 -78
  36. package/src/components/dd-search/doc.md +34 -34
  37. package/src/components/dd-search/index.vue +168 -168
  38. package/src/components/dd-selector/index.vue +124 -124
  39. package/src/components/dd-skeleton/doc.md +19 -0
  40. package/src/components/dd-skeleton/index.vue +36 -0
  41. package/src/components/ocr-id/index.vue +114 -114
  42. package/src/components/ocr-id/types.d.ts +12 -12
  43. package/src/global.ts +6 -6
  44. package/src/index.ts +89 -88
  45. package/src/main.scss +1 -1
  46. package/src/notice/api/endpoints.ts +17 -17
  47. package/src/notice/api/index.ts +82 -82
  48. package/src/notice/components/NoticeBanner.vue +243 -243
  49. package/src/notice/components/NoticeEntry.vue +99 -99
  50. package/src/notice/components/NoticeList.vue +315 -278
  51. package/src/notice/components/NoticePopup.vue +161 -163
  52. package/src/notice/components/index.ts +5 -6
  53. package/src/notice/components/useCommonList.ts +86 -86
  54. package/src/notice/components/useNotice.ts +35 -35
  55. package/src/notice/index.ts +1 -1
  56. package/src/notice/types.ts +25 -25
  57. package/src/payment/api/config.ts +7 -7
  58. package/src/payment/api/endpoints.ts +103 -103
  59. package/src/payment/api/index.ts +71 -71
  60. package/src/payment/components/AmountPicker.vue +93 -93
  61. package/src/payment/components/RechargeResult.vue +69 -69
  62. package/src/payment/components/RechargeView.vue +154 -154
  63. package/src/payment/components/RightsPicker.vue +105 -105
  64. package/src/payment/components/TradeView.vue +298 -298
  65. package/src/payment/components/UserAgreement.vue +234 -142
  66. package/src/payment/components/index.ts +22 -22
  67. package/src/payment/index.ts +5 -5
  68. package/src/payment/services/index.ts +16 -16
  69. package/src/payment/services/invoke-recharge.ts +25 -25
  70. package/src/payment/services/request-payment.ts +58 -58
  71. package/src/payment/types.ts +28 -28
  72. package/src/register/components/SelfRegistration.vue +254 -228
  73. package/src/register/components/index.ts +2 -2
  74. package/src/shared/components/AppDrawer.vue +58 -58
  75. package/src/shared/components/DeviceVersion.vue +68 -67
  76. package/src/shared/components/EmptyView.vue +33 -33
  77. package/src/shared/components/PageHeader.vue +79 -79
  78. package/src/shared/components/index.ts +5 -5
  79. package/src/shared/composables/index.ts +5 -2
  80. package/src/shared/composables/useCountdown.ts +46 -0
  81. package/src/shared/composables/useDragBox.ts +97 -0
  82. package/src/shared/composables/useEncode.ts +43 -0
  83. package/src/shared/composables/useSafeArea.ts +46 -46
  84. package/src/shared/composables/useTabbar.ts +24 -24
  85. package/src/shared/composables/useValidator.ts +31 -0
  86. package/src/shared/http/Http.ts +136 -135
  87. package/src/shared/http/index.ts +1 -1
  88. package/src/shared/http/types.ts +157 -157
  89. package/src/shared/index.ts +3 -3
  90. package/src/shared/weixin/payment.ts +38 -38
  91. package/src/styles/fonts.scss +2 -2
  92. package/src/styles/vars.scss +3 -3
  93. package/src/user/api/endpoints.ts +17 -0
  94. package/src/user/api/index.ts +87 -0
  95. package/src/{notice → user}/components/LoginSetting.vue +114 -112
  96. package/src/user/components/UserBinding.vue +307 -0
  97. package/src/user/components/UserBindingSuccess.vue +80 -0
  98. package/src/user/components/UserEntry.vue +142 -0
  99. package/src/user/components/UserFeedback.vue +440 -0
  100. package/src/user/components/UserFeedbackEntry.vue +192 -0
  101. package/src/user/components/UserHeadCrop.vue +65 -0
  102. package/src/user/components/UserInfo.vue +632 -0
  103. package/src/user/components/UserResourceEmpty.vue +75 -0
  104. package/src/user/components/index.ts +21 -0
  105. package/src/user/index.ts +1 -0
  106. package/tsconfig.json +30 -30
  107. package/types/global.d.ts +21 -21
  108. package/types/vue.d.ts +10 -10
package/dist/appkit.css CHANGED
@@ -373,12 +373,12 @@
373
373
  color: #353535;
374
374
  background: linear-gradient(90deg, #FFEBC1 0%, #FFB875 100%);
375
375
  }
376
- page {
377
- --text-color: #333;
378
- --text-color-dark-mode: #eee;
376
+ page {
377
+ --text-color: #333;
378
+ --text-color-dark-mode: #eee;
379
379
  }
380
- .number {
381
- font-family: 'DIN alternate', 'Barlow Condensed', 'Roboto Condensed', sans-serif-condensed-light;
380
+ .number {
381
+ font-family: 'DIN alternate', 'Barlow Condensed', 'Roboto Condensed', sans-serif-condensed-light;
382
382
  }
383
383
  .account-card .card {
384
384
  background: #2f2f2f;
@@ -1133,6 +1133,7 @@ page {
1133
1133
  }
1134
1134
  .self-registration .nut-input-text {
1135
1135
  text-align: right !important;
1136
+ flex: 1;
1136
1137
  }
1137
1138
  .self-registration .nut-form-item__label.required::before {
1138
1139
  display: none;
@@ -1278,37 +1279,13 @@ page {
1278
1279
  text-align: left;
1279
1280
  }
1280
1281
  .notice-banner-btn {
1281
- color: #017fff;
1282
+ color: var(--app-primary-color, #017fff);
1282
1283
  padding-left: 6px;
1283
1284
  }
1284
- .login-setting {
1285
- position: fixed;
1286
- z-index: 4;
1287
- left: 12px;
1288
- top: 10px;
1289
- bottom: 10px;
1290
- align-items: center;
1291
- justify-content: center;
1292
- width: calc(100% - 24px);
1293
- background: #ffffff;
1294
- border-radius: 5px;
1295
- display: flex;
1296
- flex-direction: column;
1297
- }
1298
- .login-setting-img {
1299
- height: 111px;
1300
- width: 198px;
1301
- }
1302
- .login-setting-text {
1303
- margin-top: 10px;
1304
- color: #353535;
1305
- opacity: 0.4;
1306
- font-size: 12px;
1307
- }
1308
1285
  .notice-entry {
1309
1286
  position: fixed;
1310
- right: 43px;
1311
- top: 21px;
1287
+ right: 0;
1288
+ top: 120px;
1312
1289
  min-width: 66px;
1313
1290
  padding: 0 12px 0 15px;
1314
1291
  text-align: center;
@@ -1358,7 +1335,7 @@ page {
1358
1335
  border-color: transparent;
1359
1336
  }
1360
1337
  .dd-search.focus .dd-search__form {
1361
- border-color: #017fff;
1338
+ border-color: var(--app-primary-color, #017fff);
1362
1339
  }
1363
1340
  .dd-search__placeholder {
1364
1341
  color: #b4b4b4;
@@ -1381,7 +1358,7 @@ page {
1381
1358
  width: 100%;
1382
1359
  box-sizing: border-box;
1383
1360
  padding: 0 10px;
1384
- caret-color: #017fff;
1361
+ caret-color: var(--app-primary-color, #017fff);
1385
1362
  }
1386
1363
  .dd-search__prefix, .dd-search__suffix {
1387
1364
  width: 15px !important;
@@ -1392,7 +1369,7 @@ page {
1392
1369
  line-height: 33px;
1393
1370
  padding: 0 10px;
1394
1371
  font-size: 16px;
1395
- color: #017fff;
1372
+ color: var(--app-primary-color, #017fff);
1396
1373
  }
1397
1374
  .dd-search.disabled .dd-search__suffix {
1398
1375
  display: none;
@@ -1481,6 +1458,12 @@ page {
1481
1458
  font-size: 15px;
1482
1459
  margin-bottom: 4px;
1483
1460
  }
1461
+ .notice-list .wrapper .content .card.active .notice-list-label {
1462
+ opacity: 1;
1463
+ }
1464
+ .notice-list .wrapper .content .card.active .notice-list-file {
1465
+ opacity: 1;
1466
+ }
1484
1467
  .notice-list .no-data {
1485
1468
  background-color: #fff;
1486
1469
  display: flex;
@@ -1502,11 +1485,847 @@ page {
1502
1485
  }
1503
1486
  .notice-list-file {
1504
1487
  font-size: 10px;
1505
- color: #017fff;
1488
+ color: var(--app-primary-color, #017fff);
1489
+ opacity: 0.5;
1506
1490
  }
1507
1491
  .notice-list .cue-text {
1508
1492
  font-size: 13px;
1509
1493
  color: rgba(60, 60, 60, 0.5);
1510
1494
  padding: 30px 0 calc(30px + env(safe-area-inset-bottom, 0px));
1511
1495
  text-align: center;
1496
+ }
1497
+ .notice-list-label {
1498
+ border: 1px solid #caa264;
1499
+ color: #caa264;
1500
+ border-radius: 1px;
1501
+ font-size: 8px;
1502
+ display: inline-flex;
1503
+ justify-content: center;
1504
+ align-items: center;
1505
+ height: 14px;
1506
+ padding: 0 5px;
1507
+ margin-left: 4px;
1508
+ opacity: 0.5;
1509
+ }
1510
+ .user-entry {
1511
+ position: absolute;
1512
+ left: 0;
1513
+ top: 130px;
1514
+ transform: translateY(-50%);
1515
+ display: flex;
1516
+ padding: 0 22px;
1517
+ align-items: center;
1518
+ width: 100%;
1519
+ }
1520
+ .user-entry-head {
1521
+ position: relative;
1522
+ width: 62px;
1523
+ height: 62px;
1524
+ margin-right: 8px;
1525
+ }
1526
+ .user-entry-head-img {
1527
+ width: 100%;
1528
+ height: 100%;
1529
+ overflow: hidden;
1530
+ border-radius: 50%;
1531
+ border: 1.5px solid #fff;
1532
+ }
1533
+ .user-entry-head-icon {
1534
+ position: absolute;
1535
+ width: 15px;
1536
+ height: 15px;
1537
+ bottom: 2px;
1538
+ left: 48px;
1539
+ background: url("https://cdn.ddjf.com/static/images/wx-yunservice/edit-icon.png") center;
1540
+ background-size: cover;
1541
+ }
1542
+ .user-entry-bd {
1543
+ color: #fff;
1544
+ }
1545
+ .user-entry-bd-bigtxt {
1546
+ display: flex;
1547
+ align-items: center;
1548
+ font-size: 20px;
1549
+ font-weight: 500;
1550
+ line-height: 28px;
1551
+ margin-left: 10px;
1552
+ }
1553
+ .user-entry-bd-bigtxt-icon {
1554
+ width: 20px;
1555
+ }
1556
+ .user-entry-bd-txt {
1557
+ font-size: 20px;
1558
+ font-weight: 500;
1559
+ line-height: 25px;
1560
+ margin-bottom: 5px;
1561
+ display: flex;
1562
+ align-items: center;
1563
+ }
1564
+ .user-entry-bd-smalltxt {
1565
+ margin-top: 0;
1566
+ font-size: 15px;
1567
+ line-height: 21px;
1568
+ }
1569
+ .dd-skeleton__item {
1570
+ margin-top: 10px;
1571
+ }
1572
+ .user-info {
1573
+ height: 100vh;
1574
+ }
1575
+ .user-info-wrap {
1576
+ padding: 0 12px;
1577
+ padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
1578
+ box-sizing: border-box;
1579
+ min-height: 100%;
1580
+ }
1581
+ .user-info-tit {
1582
+ height: 38px;
1583
+ display: flex;
1584
+ align-items: center;
1585
+ color: #666666;
1586
+ font-size: 12px;
1587
+ padding-left: 10px;
1588
+ }
1589
+ .user-info-head {
1590
+ border-radius: 5px;
1591
+ background: #fff;
1592
+ padding: 30px 11px 0;
1593
+ }
1594
+ .user-info-head-avatar {
1595
+ position: relative;
1596
+ width: 80px;
1597
+ height: 80px;
1598
+ margin: 0 auto 25px;
1599
+ }
1600
+ .user-info-head-img {
1601
+ width: 100%;
1602
+ height: 100%;
1603
+ overflow: hidden;
1604
+ border-radius: 50%;
1605
+ }
1606
+ .user-info-head-upload {
1607
+ position: absolute;
1608
+ bottom: -2px;
1609
+ left: 52px;
1610
+ width: 29px;
1611
+ height: 29px;
1612
+ background: #333333;
1613
+ overflow: hidden;
1614
+ border-radius: 50%;
1615
+ display: flex;
1616
+ align-items: center;
1617
+ justify-content: center;
1618
+ }
1619
+ .user-info-head-upload-icon {
1620
+ width: 17px;
1621
+ height: 17px;
1622
+ }
1623
+ .user-info-team-item {
1624
+ border-radius: 5px;
1625
+ background: #fff;
1626
+ display: flex;
1627
+ padding: 15px;
1628
+ margin-bottom: 10px;
1629
+ }
1630
+ .user-info-team-item-avatar {
1631
+ width: 38px;
1632
+ height: 38px;
1633
+ margin-right: 15px;
1634
+ border-radius: 5px;
1635
+ background: rgba(1, 127, 255, 0.3);
1636
+ display: flex;
1637
+ align-items: center;
1638
+ justify-content: center;
1639
+ }
1640
+ .user-info-team-item-avatar-img {
1641
+ width: 100%;
1642
+ height: 100%;
1643
+ }
1644
+ .user-info-team-item-avatar .empty {
1645
+ width: 20px;
1646
+ height: 40px;
1647
+ }
1648
+ .user-info-team-item-title {
1649
+ font-size: 16px;
1650
+ font-weight: 500;
1651
+ margin-bottom: 5px;
1652
+ }
1653
+ .user-info-team-item-app {
1654
+ display: flex;
1655
+ align-items: center;
1656
+ flex-wrap: wrap;
1657
+ }
1658
+ .user-info-team-item-app-tag {
1659
+ border: 1px solid rgba(53, 53, 53, 0.2);
1660
+ font-size: 10px;
1661
+ height: 18px;
1662
+ display: inline-flex;
1663
+ align-items: center;
1664
+ justify-content: center;
1665
+ padding: 0 6px;
1666
+ border-radius: 2px;
1667
+ margin: 0 10px 6px 0;
1668
+ }
1669
+ .user-info-team-item-bd {
1670
+ flex: 1;
1671
+ }
1672
+ .user-info-team-item-role {
1673
+ padding: 10px;
1674
+ background: rgba(245, 245, 245, 0.5);
1675
+ border-radius: 5px;
1676
+ margin-bottom: 10px;
1677
+ }
1678
+ .user-info-team-item-role-btn {
1679
+ color: var(--app-primary-color, #017fff);
1680
+ font-size: 10px;
1681
+ display: inline-flex;
1682
+ align-items: center;
1683
+ margin-bottom: 6px;
1684
+ }
1685
+ .user-info-team-item-role-btn-icon {
1686
+ width: 12px;
1687
+ height: 12px;
1688
+ position: relative;
1689
+ top: 1px;
1690
+ }
1691
+ .user-info-team-item-role-btn-icon.showRole {
1692
+ transform: rotate(180deg);
1693
+ }
1694
+ .user-info-team-item-role-item {
1695
+ display: flex;
1696
+ font-size: 10px;
1697
+ margin-bottom: 10px;
1698
+ }
1699
+ .user-info-team-item-role-item:last-child {
1700
+ margin-bottom: 0;
1701
+ }
1702
+ .user-info-team-item-role-item-name {
1703
+ opacity: 0.5;
1704
+ white-space: nowrap;
1705
+ margin-right: 10px;
1706
+ min-width: 40px;
1707
+ }
1708
+ .user-info-team-item-role-item-info {
1709
+ flex: 1;
1710
+ color: #1a1a1a;
1711
+ }
1712
+ .user-info-team-item-user {
1713
+ margin-bottom: 4px;
1714
+ font-size: 12px;
1715
+ display: flex;
1716
+ align-items: center;
1717
+ }
1718
+ .user-info-team-item-user-icon {
1719
+ width: 10px;
1720
+ height: 10px;
1721
+ margin-left: 4px;
1722
+ }
1723
+ .user-info-team-item-dept {
1724
+ display: flex;
1725
+ flex-wrap: wrap;
1726
+ font-size: 10px;
1727
+ color: rgba(26, 26, 26, 0.8);
1728
+ }
1729
+ .user-info-team-item-dept-item {
1730
+ font-size: 10px;
1731
+ color: rgba(26, 26, 26, 0.5);
1732
+ margin: 4px 10px 4px 0;
1733
+ }
1734
+ .user-info-team-item-dept-item:first-child {
1735
+ color: rgba(26, 26, 26, 0.8);
1736
+ }
1737
+ .user-info-ft-btn {
1738
+ width: 100%;
1739
+ border-color: transparent !important;
1740
+ color: rgba(27, 63, 107, 0.8) !important;
1741
+ }
1742
+ .user-info .nut-cell {
1743
+ padding: 11px 0;
1744
+ margin: 0;
1745
+ box-shadow: none;
1746
+ border-bottom: 1px solid #f0f0f0;
1747
+ font-size: 16px;
1748
+ }
1749
+ .user-info .nut-cell .nut-cell__value {
1750
+ font-size: 16px;
1751
+ color: #000;
1752
+ }
1753
+ .user-info .nut-cell .nut-cell__link {
1754
+ color: #ccc;
1755
+ margin-left: 8px;
1756
+ }
1757
+ .upload-avatar-popup-box {
1758
+ display: flex;
1759
+ flex-direction: column;
1760
+ align-items: center;
1761
+ justify-content: center;
1762
+ }
1763
+ .upload-avatar-popup-avatar {
1764
+ width: 320px;
1765
+ height: 320px;
1766
+ overflow: hidden;
1767
+ border-radius: 50%;
1768
+ margin-bottom: 50px;
1769
+ }
1770
+ .upload-avatar-popup-btn {
1771
+ width: 106px;
1772
+ height: 37px;
1773
+ border-radius: 50px;
1774
+ border: 1px solid #ffffff;
1775
+ display: flex;
1776
+ justify-content: center;
1777
+ align-items: center;
1778
+ color: #ffffff;
1779
+ font-size: 16px;
1780
+ }
1781
+ .change-username-popup .nut-dialog {
1782
+ min-height: auto;
1783
+ }
1784
+ .change-username-popup .nut-input {
1785
+ height: 40px;
1786
+ padding: 0;
1787
+ display: flex;
1788
+ align-items: center;
1789
+ font-size: 16px;
1790
+ border: none;
1791
+ }
1792
+ .change-username-popup .nut-input .input-text {
1793
+ width: 100%;
1794
+ height: 100%;
1795
+ font-size: 14px;
1796
+ }
1797
+ .change-username-popup .nut-input .nut-input-value,
1798
+ .change-username-popup .nut-input .nut-input-inner,
1799
+ .change-username-popup .nut-input .nut-input-box {
1800
+ height: 100%;
1801
+ overflow: hidden;
1802
+ background: #f5f5f5;
1803
+ border-radius: 6px;
1804
+ }
1805
+ .change-username-popup .nut-input .nut-placeholder {
1806
+ color: #cccccc;
1807
+ line-height: 38px;
1808
+ height: 38px;
1809
+ }
1810
+ .change-username-popup .nut-input .nut-input-box {
1811
+ padding: 0 15px;
1812
+ }
1813
+ .change-username-popup-cancel.nut-button {
1814
+ border-radius: 15px;
1815
+ font-size: 14px;
1816
+ height: 30px;
1817
+ }
1818
+ .change-username-popup-ok.nut-button {
1819
+ background: var(--app-primary-color, #017fff);
1820
+ height: 30px;
1821
+ font-size: 14px;
1822
+ border-radius: 15px;
1823
+ }
1824
+ .user-binding {
1825
+ height: 100vh;
1826
+ display: flex;
1827
+ flex-direction: column;
1828
+ box-sizing: border-box;
1829
+ padding: 10px 12px env(safe-area-inset-bottom, 0px);
1830
+ --nut-cell-padding: 0;
1831
+ }
1832
+ .user-binding-img {
1833
+ width: 351px;
1834
+ height: 192px;
1835
+ }
1836
+ .user-binding-layout {
1837
+ position: relative;
1838
+ width: 351px;
1839
+ border-radius: 4px;
1840
+ background: #fff;
1841
+ overflow: hidden;
1842
+ margin-bottom: 10px;
1843
+ }
1844
+ .user-binding-inputlayout {
1845
+ padding: 0 10px;
1846
+ box-sizing: border-box;
1847
+ }
1848
+ .user-binding-inputlayout .nut-input {
1849
+ height: 40px;
1850
+ padding: 0;
1851
+ display: flex;
1852
+ align-items: center;
1853
+ font-size: 16px;
1854
+ padding-left: 3px;
1855
+ border-color: #f5f5f5;
1856
+ }
1857
+ .user-binding-inputlayout .nut-input .input-text {
1858
+ width: 100%;
1859
+ }
1860
+ .user-binding .nut-placeholder {
1861
+ color: #cccccc;
1862
+ }
1863
+ .user-binding .user-binding-btn {
1864
+ position: absolute;
1865
+ bottom: 50px;
1866
+ left: 25px;
1867
+ width: calc(100% - 50px);
1868
+ font-size: 16px;
1869
+ background: var(--app-primary-color, #017fff);
1870
+ height: 40px;
1871
+ line-height: 38px;
1872
+ }
1873
+ .user-binding .user-binding-codebtn {
1874
+ height: 30px;
1875
+ font-size: 12px;
1876
+ padding: 0;
1877
+ width: 90px;
1878
+ border: none;
1879
+ color: var(--app-primary-color, #017fff);
1880
+ background: #f2f2f2;
1881
+ }
1882
+ .user-binding .user-binding-steps {
1883
+ margin-top: 15px;
1884
+ }
1885
+ .user-binding .user-binding-steps .nut-step-line {
1886
+ background: rgb(220, 220, 220);
1887
+ left: 60%;
1888
+ right: -40%;
1889
+ }
1890
+ .user-binding .user-binding-steps .nut-step-title {
1891
+ font-weight: bold;
1892
+ color: rgba(0, 0, 0, 0.4);
1893
+ }
1894
+ .user-binding .user-binding-steps .nut-step.nut-step-wait .nut-step-icon {
1895
+ background: rgb(243, 243, 243);
1896
+ border-color: rgb(243, 243, 243);
1897
+ color: rgba(0, 0, 0, 0.4);
1898
+ }
1899
+ .user-binding .user-binding-steps .nut-step.nut-step-process .nut-step-icon {
1900
+ background: var(--app-primary-color, #017fff);
1901
+ border-color: var(--app-primary-color, #017fff);
1902
+ }
1903
+ .user-binding .user-binding-steps .nut-step.nut-step-process .nut-step-title {
1904
+ color: var(--app-primary-color, #017fff);
1905
+ }
1906
+ .user-binding .user-binding-steps .nut-step-head {
1907
+ margin-bottom: 8px;
1908
+ }
1909
+ .user-binding .user-binding-steps .nut-step.nut-step-finish .nut-step-title {
1910
+ color: rgba(0, 0, 0, 0.9);
1911
+ }
1912
+ .user-binding .user-binding-steps .nut-step.nut-step-finish .nut-step-line {
1913
+ background: var(--app-primary-color, #017fff);
1914
+ }
1915
+ .user-binding .user-binding-steps .nut-step.nut-step-finish .nut-step-head {
1916
+ color: var(--app-primary-color, #017fff);
1917
+ border-color: var(--app-primary-color, #017fff);
1918
+ }
1919
+ .user-binding .user-binding-steps .nut-step-icon {
1920
+ width: 22px;
1921
+ height: 22px;
1922
+ }
1923
+ .user-binding-success {
1924
+ height: 100vh;
1925
+ display: flex;
1926
+ flex-direction: column;
1927
+ align-items: center;
1928
+ box-sizing: border-box;
1929
+ background: #fff;
1930
+ }
1931
+ .user-binding-success-icon {
1932
+ margin-top: 80px;
1933
+ width: 50px;
1934
+ height: 50px;
1935
+ margin-bottom: 30px;
1936
+ }
1937
+ .user-binding-success-info {
1938
+ font-size: 30px;
1939
+ color: #000000;
1940
+ font-weight: bold;
1941
+ margin-bottom: 15px;
1942
+ }
1943
+ .user-binding-success-sbtn {
1944
+ padding: 0 15px;
1945
+ color: #017fff;
1946
+ font-size: 16px;
1947
+ }
1948
+ .user-binding-success-btn {
1949
+ margin-top: 80px;
1950
+ width: 296px;
1951
+ font-size: 16px;
1952
+ background: var(--app-primary-color, #017fff);
1953
+ height: 40px;
1954
+ line-height: 38px;
1955
+ }
1956
+ .bt-container {
1957
+ display: flex;
1958
+ flex-direction: column;
1959
+ justify-content: space-between;
1960
+ height: 100%;
1961
+ box-sizing: border-box;
1962
+ background-color: #0e1319;
1963
+ position: relative;
1964
+ overflow: hidden;
1965
+ }
1966
+ .bt-container .iconfont {
1967
+ position: absolute;
1968
+ z-index: 999;
1969
+ top: 20px;
1970
+ font-size: 15px;
1971
+ padding: 5px;
1972
+ background-color: rgba(255, 255, 255, 0.2);
1973
+ border-radius: 50%;
1974
+ color: #ffffff;
1975
+ }
1976
+ .bt-container .iconfont.active {
1977
+ color: #007aff;
1978
+ }
1979
+ .bt-container .icon-replay {
1980
+ right: 20px;
1981
+ }
1982
+ .bt-container .bt-canvas {
1983
+ position: absolute;
1984
+ left: 100%;
1985
+ top: 0;
1986
+ width: 300px;
1987
+ height: 300px;
1988
+ }
1989
+ .bt-container .mainContent {
1990
+ flex: 1;
1991
+ margin: 30px;
1992
+ position: relative;
1993
+ }
1994
+ .bt-container .mainContent .image {
1995
+ position: absolute;
1996
+ transform-origin: center center;
1997
+ }
1998
+ .bt-container .mainContent .controller {
1999
+ position: absolute;
2000
+ z-index: 99;
2001
+ padding: 10px;
2002
+ }
2003
+ .bt-container .mainContent .controller::after {
2004
+ display: block;
2005
+ content: "";
2006
+ box-shadow: 0 0 5px #333;
2007
+ background-color: #e4e7ed;
2008
+ }
2009
+ .bt-container .mainContent .controller.controller_dot::after {
2010
+ width: 20px;
2011
+ height: 20px;
2012
+ border-radius: 99px;
2013
+ }
2014
+ .bt-container .mainContent .controller.vertical::after {
2015
+ width: 5px;
2016
+ height: 20px;
2017
+ }
2018
+ .bt-container .mainContent .controller.horizon::after {
2019
+ width: 20px;
2020
+ height: 5px;
2021
+ }
2022
+ .bt-container .mainContent .cropper {
2023
+ position: absolute;
2024
+ border: 1px solid #eee;
2025
+ box-sizing: content-box;
2026
+ transform-origin: center center;
2027
+ outline: 999px solid rgba(0, 0, 0, 0.5);
2028
+ will-change: transform;
2029
+ display: contain;
2030
+ pointer-events: none;
2031
+ }
2032
+ .bt-container .mainContent .cropper .line {
2033
+ position: absolute;
2034
+ }
2035
+ .bt-container .mainContent .cropper .row {
2036
+ width: 100%;
2037
+ height: 0px;
2038
+ left: 0;
2039
+ border-top: 1px dashed #007aff;
2040
+ }
2041
+ .bt-container .mainContent .cropper .col {
2042
+ height: 100%;
2043
+ width: 0px;
2044
+ border-left: 1px dashed #007aff;
2045
+ }
2046
+ .bt-container .mainContent .cropper .row1 {
2047
+ top: 33%;
2048
+ }
2049
+ .bt-container .mainContent .cropper .row2 {
2050
+ top: 66%;
2051
+ }
2052
+ .bt-container .mainContent .cropper .col1 {
2053
+ left: 33%;
2054
+ }
2055
+ .bt-container .mainContent .cropper .col2 {
2056
+ left: 66%;
2057
+ }
2058
+ .bt-container .slot {
2059
+ position: relative;
2060
+ padding-top: 10px;
2061
+ }
2062
+ .user-head-crop {
2063
+ height: 100vh;
2064
+ }
2065
+ .user-head-crop-btns {
2066
+ position: absolute;
2067
+ bottom: 0;
2068
+ left: 0;
2069
+ width: 100%;
2070
+ height: 50px;
2071
+ padding: 0 20px;
2072
+ box-sizing: border-box;
2073
+ line-height: 50px;
2074
+ display: flex;
2075
+ justify-content: space-between;
2076
+ }
2077
+ .user-head-crop .cbtn {
2078
+ color: #fff;
2079
+ }
2080
+ .user-head-crop .comfirmBtn {
2081
+ color: var(--app-primary-color, #017fff);
2082
+ }
2083
+ .user-feedback {
2084
+ margin: 10px 12px;
2085
+ padding-bottom: calc(75px + env(safe-area-inset-bottom, 0px));
2086
+ min-height: 100vh;
2087
+ box-sizing: border-box;
2088
+ overflow: hidden;
2089
+ }
2090
+ .user-feedback.isSuccess {
2091
+ margin: 0;
2092
+ padding: 0;
2093
+ height: 100%;
2094
+ }
2095
+ .user-feedback.isSuccess .user-feedback-wrap {
2096
+ height: 100vh;
2097
+ align-items: center;
2098
+ }
2099
+ .user-feedback-wrap {
2100
+ min-height: calc(100vh - (75px + env(safe-area-inset-bottom, 0px)));
2101
+ height: 100%;
2102
+ background: #fff;
2103
+ display: flex;
2104
+ flex-direction: column;
2105
+ box-sizing: border-box;
2106
+ padding: 10px;
2107
+ border-radius: 5px;
2108
+ }
2109
+ .user-feedback-head {
2110
+ background: #f2f9ff;
2111
+ padding: 15px;
2112
+ border-radius: 2px;
2113
+ font-size: 12px;
2114
+ margin-bottom: 8px;
2115
+ }
2116
+ .user-feedback-head-info {
2117
+ padding-left: 9px;
2118
+ text-indent: -9px;
2119
+ }
2120
+ .user-feedback-tit {
2121
+ height: 44px;
2122
+ display: flex;
2123
+ align-items: center;
2124
+ color: #1a1a1a;
2125
+ font-weight: 500;
2126
+ font-size: 17px;
2127
+ }
2128
+ .user-feedback-body {
2129
+ border-radius: 4px 4px 0px 0px;
2130
+ display: flex;
2131
+ flex-direction: column;
2132
+ overflow: hidden;
2133
+ }
2134
+ .user-feedback-editor {
2135
+ padding: 10px;
2136
+ font-size: 14px;
2137
+ background: #f5f5f5;
2138
+ overflow-y: auto;
2139
+ min-height: 165px;
2140
+ }
2141
+ .user-feedback-handle {
2142
+ display: flex;
2143
+ align-items: center;
2144
+ flex-wrap: wrap;
2145
+ margin-top: 10px;
2146
+ margin-right: -4px;
2147
+ }
2148
+ .user-feedback-handle-item {
2149
+ position: relative;
2150
+ border-radius: 2px;
2151
+ display: flex;
2152
+ align-items: center;
2153
+ justify-content: center;
2154
+ width: 79px;
2155
+ height: 79px;
2156
+ background: #f5f5f5;
2157
+ font-size: 30px;
2158
+ color: rgba(53, 53, 53, 0.3);
2159
+ margin-right: 4px;
2160
+ margin-bottom: 4px;
2161
+ }
2162
+ .user-feedback-handle-item-img {
2163
+ max-width: 100%;
2164
+ max-height: 100%;
2165
+ }
2166
+ .user-feedback-handle-item-close {
2167
+ position: absolute;
2168
+ top: -2px;
2169
+ right: -2px;
2170
+ width: 20px;
2171
+ height: 20px;
2172
+ display: flex;
2173
+ justify-content: center;
2174
+ align-items: center;
2175
+ }
2176
+ .user-feedback-handle-item-close-img {
2177
+ width: 10px;
2178
+ height: 10px;
2179
+ }
2180
+ .user-feedback-handle-item-loading {
2181
+ width: 17px;
2182
+ height: 17px;
2183
+ animation: rotate 2s linear infinite;
2184
+ }
2185
+ .user-feedback .ql-editor.ql-blank:before {
2186
+ color: rgba(0, 0, 0, 0.3);
2187
+ font-style: normal;
2188
+ }
2189
+ .user-feedback-footer {
2190
+ position: fixed;
2191
+ z-index: 10;
2192
+ bottom: 0;
2193
+ left: 0;
2194
+ width: 100%;
2195
+ min-height: 63px;
2196
+ background: #ffffff;
2197
+ box-shadow: 0 -3px 11px 0 rgba(224, 224, 224, 0.5);
2198
+ padding: 10px 12px calc(8px + env(safe-area-inset-bottom, 0px));
2199
+ display: flex;
2200
+ justify-content: space-between;
2201
+ box-sizing: border-box;
2202
+ }
2203
+ .user-feedback-footer-btn {
2204
+ flex: 1;
2205
+ }
2206
+ .user-feedback-footer-btn:first-child {
2207
+ margin-right: 10px;
2208
+ }
2209
+ .user-feedback-success-img {
2210
+ width: 87px;
2211
+ height: 90px;
2212
+ margin-top: 110px;
2213
+ margin-bottom: 20px;
2214
+ }
2215
+ .user-feedback-success-info {
2216
+ color: #353535;
2217
+ font-size: 16px;
2218
+ font-weight: 500;
2219
+ }
2220
+ @keyframes rotate {
2221
+ from {
2222
+ transform: rotate(0);
2223
+ }
2224
+ to {
2225
+ transform: rotate(360deg);
2226
+ }
2227
+ }
2228
+ .user-feedback-entry {
2229
+ position: fixed;
2230
+ z-index: 10;
2231
+ right: 12px;
2232
+ bottom: calc(120px + env(safe-area-inset-bottom, 0px));
2233
+ display: flex;
2234
+ flex-direction: column;
2235
+ align-items: center;
2236
+ justify-content: center;
2237
+ background: #fff;
2238
+ box-shadow: 0px 2px 5px 0px rgba(0, 110, 229, 0.1019607843);
2239
+ width: 40px;
2240
+ height: 40px;
2241
+ border-radius: 50%;
2242
+ color: rgba(0, 0, 0, 0.5);
2243
+ font-size: 10px;
2244
+ }
2245
+ .user-feedback-entry-icon {
2246
+ width: 13px;
2247
+ height: 13px;
2248
+ margin-bottom: 1px;
2249
+ }
2250
+ .user-feedback-entry:active {
2251
+ background: rgba(255, 255, 255, 0.7);
2252
+ }
2253
+ .user-feedback-entry.hasStorage {
2254
+ width: 92px;
2255
+ height: 43px;
2256
+ background: transparent;
2257
+ box-shadow: none;
2258
+ }
2259
+ .user-feedback-entry.hasStorage .user-feedback-entry-icon {
2260
+ width: 100%;
2261
+ height: 100%;
2262
+ }
2263
+ .user-feedback-entry.hasStorage:active {
2264
+ background: transparent;
2265
+ }
2266
+ .user-feedback-entry.hasStorage .user-feedback-entry-close {
2267
+ position: absolute;
2268
+ top: -6px;
2269
+ right: -6px;
2270
+ width: 20px;
2271
+ height: 20px;
2272
+ display: flex;
2273
+ justify-content: center;
2274
+ align-items: center;
2275
+ }
2276
+ .user-feedback-entry.hasStorage .user-feedback-entry-close-img {
2277
+ width: 10px;
2278
+ height: 10px;
2279
+ }
2280
+ .login-setting {
2281
+ position: fixed;
2282
+ z-index: 4;
2283
+ left: 12px;
2284
+ top: 10px;
2285
+ bottom: 10px;
2286
+ align-items: center;
2287
+ width: calc(100% - 24px);
2288
+ background: #ffffff;
2289
+ border-radius: 5px;
2290
+ display: flex;
2291
+ flex-direction: column;
2292
+ }
2293
+ .login-setting-img {
2294
+ margin-top: 50%;
2295
+ height: 111px;
2296
+ width: 198px;
2297
+ }
2298
+ .login-setting-text {
2299
+ margin-top: 10px;
2300
+ color: #353535;
2301
+ opacity: 0.4;
2302
+ font-size: 12px;
2303
+ padding: 0 30px;
2304
+ text-align: center;
2305
+ }
2306
+ .user-resource-empty {
2307
+ position: fixed;
2308
+ z-index: 4;
2309
+ left: 12px;
2310
+ top: 10px;
2311
+ bottom: 10px;
2312
+ align-items: center;
2313
+ width: calc(100% - 24px);
2314
+ background: #ffffff;
2315
+ border-radius: 5px;
2316
+ display: flex;
2317
+ flex-direction: column;
2318
+ }
2319
+ .user-resource-empty-img {
2320
+ margin-top: 50%;
2321
+ height: 111px;
2322
+ width: 198px;
2323
+ }
2324
+ .user-resource-empty-text {
2325
+ margin-top: 10px;
2326
+ color: #353535;
2327
+ opacity: 0.4;
2328
+ font-size: 12px;
2329
+ padding: 0 30px;
2330
+ text-align: center;
1512
2331
  }