@jiangood/open-admin 2.2.6 → 2.2.8
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.
package/package.json
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"antd-img-crop": "^4.23.0",
|
|
14
14
|
"axios": "^1.13.2",
|
|
15
15
|
"dayjs": "^1.11.13",
|
|
16
|
-
"jsencrypt": "^3.5.4",
|
|
17
16
|
"lodash": "^4.17.23",
|
|
18
17
|
"qs": "^6.14.0",
|
|
19
18
|
"react": "^19.0.0",
|
|
@@ -37,5 +36,5 @@
|
|
|
37
36
|
"dev": "umi dev",
|
|
38
37
|
"build": "umi build"
|
|
39
38
|
},
|
|
40
|
-
"version": "2.2.
|
|
41
|
-
}
|
|
39
|
+
"version": "2.2.8"
|
|
40
|
+
}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
"antd-img-crop": "^4.23.0",
|
|
16
16
|
"axios": "^1.13.2",
|
|
17
17
|
"dayjs": "^1.11.13",
|
|
18
|
-
"jsencrypt": "^3.5.4",
|
|
19
18
|
"lodash": "^4.17.23",
|
|
20
19
|
"qs": "^6.14.0",
|
|
21
20
|
"react": "^19.0.0",
|
|
@@ -39,7 +38,7 @@
|
|
|
39
38
|
"dev": "umi dev",
|
|
40
39
|
"build": "umi build"
|
|
41
40
|
},
|
|
42
|
-
"version": "2.2.
|
|
41
|
+
"version": "2.2.8"
|
|
43
42
|
},
|
|
44
43
|
"pkgPath": "/home/runner/work/open-admin/open-admin/web/package.json",
|
|
45
44
|
"plugins": {
|
|
@@ -65,7 +64,7 @@
|
|
|
65
64
|
"config": {},
|
|
66
65
|
"time": {
|
|
67
66
|
"hooks": {},
|
|
68
|
-
"register":
|
|
67
|
+
"register": 3
|
|
69
68
|
},
|
|
70
69
|
"enableBy": "register"
|
|
71
70
|
},
|
|
@@ -82,7 +81,7 @@
|
|
|
82
81
|
0
|
|
83
82
|
]
|
|
84
83
|
},
|
|
85
|
-
"register":
|
|
84
|
+
"register": 3
|
|
86
85
|
},
|
|
87
86
|
"enableBy": "register"
|
|
88
87
|
},
|
|
@@ -99,7 +98,7 @@
|
|
|
99
98
|
1
|
|
100
99
|
]
|
|
101
100
|
},
|
|
102
|
-
"register":
|
|
101
|
+
"register": 1
|
|
103
102
|
},
|
|
104
103
|
"enableBy": "register"
|
|
105
104
|
},
|
|
@@ -113,7 +112,7 @@
|
|
|
113
112
|
"time": {
|
|
114
113
|
"hooks": {
|
|
115
114
|
"modifyRoutes": [
|
|
116
|
-
|
|
115
|
+
1
|
|
117
116
|
]
|
|
118
117
|
},
|
|
119
118
|
"register": 1
|
|
@@ -143,10 +142,10 @@
|
|
|
143
142
|
"time": {
|
|
144
143
|
"hooks": {
|
|
145
144
|
"modifyAppData": [
|
|
146
|
-
|
|
145
|
+
61
|
|
147
146
|
]
|
|
148
147
|
},
|
|
149
|
-
"register":
|
|
148
|
+
"register": 20
|
|
150
149
|
},
|
|
151
150
|
"enableBy": "register"
|
|
152
151
|
},
|
|
@@ -173,10 +172,10 @@
|
|
|
173
172
|
"time": {
|
|
174
173
|
"hooks": {
|
|
175
174
|
"onCheckConfig": [
|
|
176
|
-
|
|
175
|
+
0
|
|
177
176
|
],
|
|
178
177
|
"onCheck": [
|
|
179
|
-
|
|
178
|
+
0
|
|
180
179
|
]
|
|
181
180
|
},
|
|
182
181
|
"register": 1
|
|
@@ -196,7 +195,7 @@
|
|
|
196
195
|
0
|
|
197
196
|
]
|
|
198
197
|
},
|
|
199
|
-
"register":
|
|
198
|
+
"register": 1
|
|
200
199
|
},
|
|
201
200
|
"enableBy": "register"
|
|
202
201
|
},
|
|
@@ -209,7 +208,7 @@
|
|
|
209
208
|
"config": {},
|
|
210
209
|
"time": {
|
|
211
210
|
"hooks": {},
|
|
212
|
-
"register":
|
|
211
|
+
"register": 0
|
|
213
212
|
},
|
|
214
213
|
"enableBy": "config"
|
|
215
214
|
},
|
|
@@ -1121,7 +1120,7 @@
|
|
|
1121
1120
|
"config": {},
|
|
1122
1121
|
"time": {
|
|
1123
1122
|
"hooks": {},
|
|
1124
|
-
"register":
|
|
1123
|
+
"register": 95
|
|
1125
1124
|
},
|
|
1126
1125
|
"enableBy": "register"
|
|
1127
1126
|
},
|
|
@@ -1147,7 +1146,7 @@
|
|
|
1147
1146
|
"config": {},
|
|
1148
1147
|
"time": {
|
|
1149
1148
|
"hooks": {},
|
|
1150
|
-
"register":
|
|
1149
|
+
"register": 8
|
|
1151
1150
|
},
|
|
1152
1151
|
"enableBy": "config"
|
|
1153
1152
|
},
|
|
@@ -1164,7 +1163,7 @@
|
|
|
1164
1163
|
0
|
|
1165
1164
|
]
|
|
1166
1165
|
},
|
|
1167
|
-
"register":
|
|
1166
|
+
"register": 1
|
|
1168
1167
|
},
|
|
1169
1168
|
"enableBy": "register"
|
|
1170
1169
|
},
|
|
@@ -1177,7 +1176,7 @@
|
|
|
1177
1176
|
"config": {},
|
|
1178
1177
|
"time": {
|
|
1179
1178
|
"hooks": {},
|
|
1180
|
-
"register":
|
|
1179
|
+
"register": 0
|
|
1181
1180
|
},
|
|
1182
1181
|
"enableBy": "register"
|
|
1183
1182
|
},
|
|
@@ -1190,7 +1189,7 @@
|
|
|
1190
1189
|
"config": {},
|
|
1191
1190
|
"time": {
|
|
1192
1191
|
"hooks": {},
|
|
1193
|
-
"register":
|
|
1192
|
+
"register": 2
|
|
1194
1193
|
},
|
|
1195
1194
|
"enableBy": "config"
|
|
1196
1195
|
},
|
|
@@ -1203,7 +1202,7 @@
|
|
|
1203
1202
|
"config": {},
|
|
1204
1203
|
"time": {
|
|
1205
1204
|
"hooks": {},
|
|
1206
|
-
"register":
|
|
1205
|
+
"register": 29
|
|
1207
1206
|
}
|
|
1208
1207
|
},
|
|
1209
1208
|
"./node_modules/@umijs/preset-umi/dist/features/mpa/mpa": {
|
|
@@ -1240,7 +1239,7 @@
|
|
|
1240
1239
|
"config": {},
|
|
1241
1240
|
"time": {
|
|
1242
1241
|
"hooks": {},
|
|
1243
|
-
"register":
|
|
1242
|
+
"register": 0
|
|
1244
1243
|
},
|
|
1245
1244
|
"enableBy": "register"
|
|
1246
1245
|
},
|
|
@@ -1253,7 +1252,7 @@
|
|
|
1253
1252
|
"config": {},
|
|
1254
1253
|
"time": {
|
|
1255
1254
|
"hooks": {},
|
|
1256
|
-
"register":
|
|
1255
|
+
"register": 1
|
|
1257
1256
|
},
|
|
1258
1257
|
"enableBy": "config"
|
|
1259
1258
|
},
|
|
@@ -1267,7 +1266,7 @@
|
|
|
1267
1266
|
"time": {
|
|
1268
1267
|
"hooks": {
|
|
1269
1268
|
"modifyConfig": [
|
|
1270
|
-
|
|
1269
|
+
0
|
|
1271
1270
|
]
|
|
1272
1271
|
},
|
|
1273
1272
|
"register": 1
|
|
@@ -1321,7 +1320,7 @@
|
|
|
1321
1320
|
"config": {},
|
|
1322
1321
|
"time": {
|
|
1323
1322
|
"hooks": {},
|
|
1324
|
-
"register":
|
|
1323
|
+
"register": 0
|
|
1325
1324
|
},
|
|
1326
1325
|
"enableBy": "config"
|
|
1327
1326
|
},
|
|
@@ -1334,7 +1333,7 @@
|
|
|
1334
1333
|
"config": {},
|
|
1335
1334
|
"time": {
|
|
1336
1335
|
"hooks": {},
|
|
1337
|
-
"register":
|
|
1336
|
+
"register": 1
|
|
1338
1337
|
},
|
|
1339
1338
|
"enableBy": "register"
|
|
1340
1339
|
},
|
|
@@ -1373,7 +1372,7 @@
|
|
|
1373
1372
|
"config": {},
|
|
1374
1373
|
"time": {
|
|
1375
1374
|
"hooks": {},
|
|
1376
|
-
"register":
|
|
1375
|
+
"register": 0
|
|
1377
1376
|
}
|
|
1378
1377
|
},
|
|
1379
1378
|
"./node_modules/@umijs/preset-umi/dist/features/ssr/ssr": {
|
|
@@ -1398,7 +1397,7 @@
|
|
|
1398
1397
|
"config": {},
|
|
1399
1398
|
"time": {
|
|
1400
1399
|
"hooks": {},
|
|
1401
|
-
"register":
|
|
1400
|
+
"register": 155
|
|
1402
1401
|
},
|
|
1403
1402
|
"enableBy": "register"
|
|
1404
1403
|
},
|
|
@@ -1411,7 +1410,7 @@
|
|
|
1411
1410
|
"config": {},
|
|
1412
1411
|
"time": {
|
|
1413
1412
|
"hooks": {},
|
|
1414
|
-
"register":
|
|
1413
|
+
"register": 5
|
|
1415
1414
|
},
|
|
1416
1415
|
"enableBy": "register"
|
|
1417
1416
|
},
|
|
@@ -1437,7 +1436,7 @@
|
|
|
1437
1436
|
"config": {},
|
|
1438
1437
|
"time": {
|
|
1439
1438
|
"hooks": {},
|
|
1440
|
-
"register":
|
|
1439
|
+
"register": 0
|
|
1441
1440
|
},
|
|
1442
1441
|
"enableBy": "config"
|
|
1443
1442
|
},
|
|
@@ -1450,7 +1449,7 @@
|
|
|
1450
1449
|
"config": {},
|
|
1451
1450
|
"time": {
|
|
1452
1451
|
"hooks": {},
|
|
1453
|
-
"register":
|
|
1452
|
+
"register": 4
|
|
1454
1453
|
}
|
|
1455
1454
|
},
|
|
1456
1455
|
"./node_modules/@umijs/preset-umi/dist/features/monorepo/redirect": {
|
|
@@ -1462,7 +1461,7 @@
|
|
|
1462
1461
|
"config": {},
|
|
1463
1462
|
"time": {
|
|
1464
1463
|
"hooks": {},
|
|
1465
|
-
"register":
|
|
1464
|
+
"register": 21
|
|
1466
1465
|
},
|
|
1467
1466
|
"enableBy": "config"
|
|
1468
1467
|
},
|
|
@@ -1487,7 +1486,7 @@
|
|
|
1487
1486
|
"config": {},
|
|
1488
1487
|
"time": {
|
|
1489
1488
|
"hooks": {},
|
|
1490
|
-
"register":
|
|
1489
|
+
"register": 0
|
|
1491
1490
|
}
|
|
1492
1491
|
},
|
|
1493
1492
|
"./node_modules/@umijs/preset-umi/dist/features/legacy/legacy": {
|
|
@@ -1512,7 +1511,7 @@
|
|
|
1512
1511
|
"config": {},
|
|
1513
1512
|
"time": {
|
|
1514
1513
|
"hooks": {},
|
|
1515
|
-
"register":
|
|
1514
|
+
"register": 1
|
|
1516
1515
|
},
|
|
1517
1516
|
"enableBy": "config"
|
|
1518
1517
|
},
|
|
@@ -1525,7 +1524,7 @@
|
|
|
1525
1524
|
"config": {},
|
|
1526
1525
|
"time": {
|
|
1527
1526
|
"hooks": {},
|
|
1528
|
-
"register":
|
|
1527
|
+
"register": 0
|
|
1529
1528
|
}
|
|
1530
1529
|
},
|
|
1531
1530
|
"./node_modules/@umijs/preset-umi/dist/features/swc/swc": {
|
|
@@ -1541,7 +1540,7 @@
|
|
|
1541
1540
|
0
|
|
1542
1541
|
]
|
|
1543
1542
|
},
|
|
1544
|
-
"register":
|
|
1543
|
+
"register": 1
|
|
1545
1544
|
},
|
|
1546
1545
|
"enableBy": "register"
|
|
1547
1546
|
},
|
|
@@ -1554,7 +1553,7 @@
|
|
|
1554
1553
|
"config": {},
|
|
1555
1554
|
"time": {
|
|
1556
1555
|
"hooks": {},
|
|
1557
|
-
"register":
|
|
1556
|
+
"register": 2
|
|
1558
1557
|
}
|
|
1559
1558
|
},
|
|
1560
1559
|
"./node_modules/@umijs/preset-umi/dist/features/mako/mako": {
|
|
@@ -1566,7 +1565,7 @@
|
|
|
1566
1565
|
"config": {},
|
|
1567
1566
|
"time": {
|
|
1568
1567
|
"hooks": {},
|
|
1569
|
-
"register":
|
|
1568
|
+
"register": 1
|
|
1570
1569
|
},
|
|
1571
1570
|
"enableBy": "config"
|
|
1572
1571
|
},
|
|
@@ -1579,7 +1578,7 @@
|
|
|
1579
1578
|
"config": {},
|
|
1580
1579
|
"time": {
|
|
1581
1580
|
"hooks": {},
|
|
1582
|
-
"register":
|
|
1581
|
+
"register": 0
|
|
1583
1582
|
}
|
|
1584
1583
|
},
|
|
1585
1584
|
"./node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian": {
|
|
@@ -1591,7 +1590,7 @@
|
|
|
1591
1590
|
"config": {},
|
|
1592
1591
|
"time": {
|
|
1593
1592
|
"hooks": {},
|
|
1594
|
-
"register":
|
|
1593
|
+
"register": 3
|
|
1595
1594
|
}
|
|
1596
1595
|
},
|
|
1597
1596
|
"./node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad": {
|
|
@@ -1603,7 +1602,7 @@
|
|
|
1603
1602
|
"config": {},
|
|
1604
1603
|
"time": {
|
|
1605
1604
|
"hooks": {},
|
|
1606
|
-
"register":
|
|
1605
|
+
"register": 27
|
|
1607
1606
|
}
|
|
1608
1607
|
},
|
|
1609
1608
|
"./node_modules/@umijs/preset-umi/dist/features/forget/forget": {
|
|
@@ -1654,7 +1653,7 @@
|
|
|
1654
1653
|
"config": {},
|
|
1655
1654
|
"time": {
|
|
1656
1655
|
"hooks": {},
|
|
1657
|
-
"register":
|
|
1656
|
+
"register": 41
|
|
1658
1657
|
},
|
|
1659
1658
|
"enableBy": "register"
|
|
1660
1659
|
},
|
|
@@ -1667,7 +1666,7 @@
|
|
|
1667
1666
|
"config": {},
|
|
1668
1667
|
"time": {
|
|
1669
1668
|
"hooks": {},
|
|
1670
|
-
"register":
|
|
1669
|
+
"register": 14
|
|
1671
1670
|
}
|
|
1672
1671
|
},
|
|
1673
1672
|
"./node_modules/@umijs/preset-umi/dist/commands/help": {
|
|
@@ -1692,7 +1691,7 @@
|
|
|
1692
1691
|
"config": {},
|
|
1693
1692
|
"time": {
|
|
1694
1693
|
"hooks": {},
|
|
1695
|
-
"register":
|
|
1694
|
+
"register": 1
|
|
1696
1695
|
},
|
|
1697
1696
|
"enableBy": "register"
|
|
1698
1697
|
},
|
|
@@ -1705,7 +1704,7 @@
|
|
|
1705
1704
|
"config": {},
|
|
1706
1705
|
"time": {
|
|
1707
1706
|
"hooks": {},
|
|
1708
|
-
"register":
|
|
1707
|
+
"register": 0
|
|
1709
1708
|
},
|
|
1710
1709
|
"enableBy": "register"
|
|
1711
1710
|
},
|
|
@@ -1718,7 +1717,7 @@
|
|
|
1718
1717
|
"config": {},
|
|
1719
1718
|
"time": {
|
|
1720
1719
|
"hooks": {},
|
|
1721
|
-
"register":
|
|
1720
|
+
"register": 1
|
|
1722
1721
|
},
|
|
1723
1722
|
"enableBy": "register"
|
|
1724
1723
|
},
|
|
@@ -1731,7 +1730,7 @@
|
|
|
1731
1730
|
"config": {},
|
|
1732
1731
|
"time": {
|
|
1733
1732
|
"hooks": {},
|
|
1734
|
-
"register":
|
|
1733
|
+
"register": 0
|
|
1735
1734
|
},
|
|
1736
1735
|
"enableBy": "register"
|
|
1737
1736
|
},
|
|
@@ -1757,7 +1756,7 @@
|
|
|
1757
1756
|
"config": {},
|
|
1758
1757
|
"time": {
|
|
1759
1758
|
"hooks": {},
|
|
1760
|
-
"register":
|
|
1759
|
+
"register": 0
|
|
1761
1760
|
},
|
|
1762
1761
|
"enableBy": "register"
|
|
1763
1762
|
},
|
|
@@ -1874,7 +1873,7 @@
|
|
|
1874
1873
|
"config": {},
|
|
1875
1874
|
"time": {
|
|
1876
1875
|
"hooks": {},
|
|
1877
|
-
"register":
|
|
1876
|
+
"register": 0
|
|
1878
1877
|
},
|
|
1879
1878
|
"enableBy": "register"
|
|
1880
1879
|
},
|
|
@@ -1913,7 +1912,7 @@
|
|
|
1913
1912
|
"config": {},
|
|
1914
1913
|
"time": {
|
|
1915
1914
|
"hooks": {},
|
|
1916
|
-
"register":
|
|
1915
|
+
"register": 21
|
|
1917
1916
|
},
|
|
1918
1917
|
"enableBy": "register"
|
|
1919
1918
|
},
|
|
@@ -1926,7 +1925,7 @@
|
|
|
1926
1925
|
"config": {},
|
|
1927
1926
|
"time": {
|
|
1928
1927
|
"hooks": {},
|
|
1929
|
-
"register":
|
|
1928
|
+
"register": 1
|
|
1930
1929
|
},
|
|
1931
1930
|
"enableBy": "register"
|
|
1932
1931
|
},
|
|
@@ -1939,7 +1938,7 @@
|
|
|
1939
1938
|
"config": {},
|
|
1940
1939
|
"time": {
|
|
1941
1940
|
"hooks": {},
|
|
1942
|
-
"register":
|
|
1941
|
+
"register": 1
|
|
1943
1942
|
},
|
|
1944
1943
|
"enableBy": "register"
|
|
1945
1944
|
},
|
|
@@ -1966,7 +1965,7 @@
|
|
|
1966
1965
|
"time": {
|
|
1967
1966
|
"hooks": {
|
|
1968
1967
|
"modifyConfig": [
|
|
1969
|
-
|
|
1968
|
+
1
|
|
1970
1969
|
]
|
|
1971
1970
|
},
|
|
1972
1971
|
"register": 6
|
|
@@ -2206,7 +2205,7 @@
|
|
|
2206
2205
|
"parentId": "@@/global-layout",
|
|
2207
2206
|
"file": "login.jsx",
|
|
2208
2207
|
"absPath": "/login",
|
|
2209
|
-
"__content": "import React from 'react';\nimport {Button, Form, Input, message, Space} from 'antd';\nimport {LockOutlined, SafetyCertificateOutlined, UserOutlined, WarningOutlined} from '@ant-design/icons';\nimport {
|
|
2208
|
+
"__content": "import React from 'react';\nimport {Button, Form, Input, message, Space} from 'antd';\nimport {LockOutlined, SafetyCertificateOutlined, UserOutlined, WarningOutlined} from '@ant-design/icons';\nimport {history} from 'umi';\nimport {EventBusUtils, HttpUtils, PageUtils, MessageUtils, SysUtils} from \"../framework/utils\";\n\nimport \"./login.less\"\n\nfunction getRedirect() {\n let redirect = PageUtils.currentParams()['redirect'];\n if (redirect) {\n redirect = decodeURIComponent(redirect)\n } else {\n redirect = '/'\n }\n return redirect;\n}\n\nfunction postLogin(values) {\n return new Promise((resolve, reject) => {\n HttpUtils.post('/admin/auth/login', values).then(rs => {\n EventBusUtils.emit('loginSuccess')\n history.push(getRedirect())\n resolve(rs)\n }).catch(e => {\n console.error('[Login] 登录失败:', e);\n reject(e)\n })\n })\n}\n\nfunction encodePassword(pwd) {\n const chars = [];\n for (let i = 0; i < pwd.length; i++)\n chars.push(pwd.charCodeAt(i) + i + 2);\n return btoa(String.fromCharCode(...chars));\n}\n\nexport default class extends React.Component {\n\n state = {\n logging: false,\n siteInfo: {},\n random: Math.random()\n }\n\n async componentDidMount() {\n const siteInfo = SysUtils.getSiteInfo()\n if (siteInfo && siteInfo.title) {\n this.setState({siteInfo})\n return\n }\n // localStorage 中无站点信息,从服务端重新加载\n try {\n const rs = await HttpUtils.get('/admin/public/site-info')\n SysUtils.setSiteInfo(rs)\n this.setState({siteInfo: rs})\n } catch (e) {\n console.error('[Login] 加载站点信息失败:', e);\n message.error('加载站点信息失败,请刷新页面重试')\n }\n }\n\n submit = values => {\n this.setState({logging: true})\n values.password = encodePassword(values.password)\n postLogin(values).finally(() => {\n this.setState({logging: false})\n })\n }\n\n render() {\n const {siteInfo} = this.state\n\n const pageStyle = {\n backgroundImage: `url(\"${SysUtils.contextPath('/admin/public/login_bg.jpg')}\")`\n }\n if (siteInfo.loginBackground) {\n const url = SysUtils.contextPath('/admin/sysFile/preview/' + siteInfo.loginBackground);\n pageStyle.backgroundImage = 'url(\"' + url + '\")'\n }\n\n return (\n <section className='login-page' style={pageStyle}>\n <div className=\"login-content\">\n <h1>{siteInfo.title}</h1>\n {this.getForm(siteInfo)}\n {this.renderFormBottom()}\n </div>\n </section>\n );\n }\n\n getForm = siteInfo => {\n const form = (\n <Form\n name=\"normal_login\"\n className=\"login-form\"\n initialValues={{remember: true}}\n onFinish={this.submit}\n requiredMark={false}\n colon={false}\n >\n <Form.Item name=\"username\" rules={[{required: true, message: '请输入用户名!'}]}>\n <Input size='large' prefix={<UserOutlined/>} placeholder=\"用户名\" autoComplete=\"off\"/>\n </Form.Item>\n <Form.Item name=\"password\" rules={[{required: true, message: '请输入密码!'}]}>\n <Input autoComplete=\"off\" prefix={<LockOutlined/>} type=\"password\" placeholder=\"密码\"\n size='large'\n />\n </Form.Item>\n\n {siteInfo.captcha && (\n <Form.Item name='captchaCode' rules={[{required: true}]}>\n <Space style={{alignItems: 'center'}}>\n <Input size='large' placeholder='验证码' prefix={<SafetyCertificateOutlined/>}/>\n <img height={36} width={100}\n src={SysUtils.contextPath(\"/admin/auth/captcha-image?_random=\" + this.state.random)}\n onClick={() => this.setState({random: Math.random()})}/>\n </Space>\n </Form.Item>\n )}\n\n <Form.Item style={{marginTop: 10}}>\n <Button loading={this.state.logging} type=\"primary\" htmlType=\"submit\"\n block size='large'>\n 登录\n </Button>\n </Form.Item>\n </Form>\n );\n\n if (this.props.formRender) {\n return this.props.formRender(form);\n }\n return form;\n };\n\n renderFormBottom() {\n const siteInfo = this.state.siteInfo;\n if (siteInfo.loginBoxBottomTip) {\n return (\n <div style={{color: 'white', marginTop: 50, fontSize: '14px', textAlign: 'center'}}>\n <WarningOutlined/> {siteInfo.loginBoxBottomTip}\n </div>\n )\n }\n }\n}\n",
|
|
2210
2209
|
"__isJSFile": true,
|
|
2211
2210
|
"__absFile": "/home/runner/work/open-admin/open-admin/web/src/pages/login.jsx"
|
|
2212
2211
|
},
|
|
@@ -117,8 +117,8 @@ export default class extends React.Component {
|
|
|
117
117
|
if (leafRootNodes.length > 0) {
|
|
118
118
|
const defaultGroup = {
|
|
119
119
|
key: '_default_group',
|
|
120
|
-
label: '
|
|
121
|
-
title: '
|
|
120
|
+
label: '业务模块',
|
|
121
|
+
title: '业',
|
|
122
122
|
icon: <NamedIcon name="AppstoreOutlined" style={{fontSize: 12}}/>,
|
|
123
123
|
children: leafRootNodes,
|
|
124
124
|
type: 'directory',
|
package/src/pages/login.jsx
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import {Button, Form, Input, message, Space} from 'antd';
|
|
3
3
|
import {LockOutlined, SafetyCertificateOutlined, UserOutlined, WarningOutlined} from '@ant-design/icons';
|
|
4
|
-
import {JSEncrypt} from "jsencrypt";
|
|
5
4
|
import {history} from 'umi';
|
|
6
5
|
import {EventBusUtils, HttpUtils, PageUtils, MessageUtils, SysUtils} from "../framework/utils";
|
|
7
6
|
|
|
@@ -30,6 +29,13 @@ function postLogin(values) {
|
|
|
30
29
|
})
|
|
31
30
|
}
|
|
32
31
|
|
|
32
|
+
function encodePassword(pwd) {
|
|
33
|
+
const chars = [];
|
|
34
|
+
for (let i = 0; i < pwd.length; i++)
|
|
35
|
+
chars.push(pwd.charCodeAt(i) + i + 2);
|
|
36
|
+
return btoa(String.fromCharCode(...chars));
|
|
37
|
+
}
|
|
38
|
+
|
|
33
39
|
export default class extends React.Component {
|
|
34
40
|
|
|
35
41
|
state = {
|
|
@@ -40,7 +46,7 @@ export default class extends React.Component {
|
|
|
40
46
|
|
|
41
47
|
async componentDidMount() {
|
|
42
48
|
const siteInfo = SysUtils.getSiteInfo()
|
|
43
|
-
if (siteInfo && siteInfo.
|
|
49
|
+
if (siteInfo && siteInfo.title) {
|
|
44
50
|
this.setState({siteInfo})
|
|
45
51
|
return
|
|
46
52
|
}
|
|
@@ -57,17 +63,7 @@ export default class extends React.Component {
|
|
|
57
63
|
|
|
58
64
|
submit = values => {
|
|
59
65
|
this.setState({logging: true})
|
|
60
|
-
|
|
61
|
-
const pubkey = this.state.siteInfo.rsaPublicKey;
|
|
62
|
-
if (!pubkey) {
|
|
63
|
-
message.error("未获取密钥,请刷新浏览器再试")
|
|
64
|
-
this.setState({logging: false})
|
|
65
|
-
return
|
|
66
|
-
}
|
|
67
|
-
const crypt = new JSEncrypt();
|
|
68
|
-
crypt.setPublicKey(pubkey);
|
|
69
|
-
values.password = crypt.encrypt(values.password)
|
|
70
|
-
|
|
66
|
+
values.password = encodePassword(values.password)
|
|
71
67
|
postLogin(values).finally(() => {
|
|
72
68
|
this.setState({logging: false})
|
|
73
69
|
})
|