@uxda/appkit 1.2.73 → 1.2.76

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