This is an automated email from the ASF dual-hosted git repository.
dayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu-dashboard.git
The following commit(s) were added to refs/heads/master by this push:
new 7cf8be86 LoginPage Update (#222)
7cf8be86 is described below
commit 7cf8be864c064fda40299fa967fdf302760ce1c5
Author: WeiS <[email protected]>
AuthorDate: Tue Aug 2 16:25:49 2022 +0800
LoginPage Update (#222)
LoginPage Update[Add Verification Code]
---
package.json | 3 +-
src/assets/TitleLogo.svg | 24 +++----
src/assets/asf_logo.svg | 1 +
src/assets/background.svg | 69 ---------------------
src/assets/bg.jpg | Bin 0 -> 122098 bytes
src/assets/support-apache.png | Bin 0 -> 22085 bytes
src/components/GlobalFooter/index.js | 5 ++
src/components/GlobalFooter/index.less | 13 ++--
.../index.less => Login/LoginCode.tsx} | 45 ++++++--------
src/components/Login/index.js | 6 +-
src/components/Login/index.less | 13 +++-
src/components/Login/map.js | 16 ++++-
.../{GlobalFooter/index.less => tsconfig.json} | 42 ++++---------
src/layouts/UserLayout.js | 2 +-
src/layouts/UserLayout.less | 16 ++---
src/routes/User/Login.js | 34 ++++++++--
src/routes/User/Login.less | 20 ++++++
.../GlobalFooter/index.less => tsconfig.json | 43 +++++--------
18 files changed, 166 insertions(+), 186 deletions(-)
diff --git a/package.json b/package.json
index b4e80a09..b5286609 100755
--- a/package.json
+++ b/package.json
@@ -34,6 +34,7 @@
"prop-types": "^15.5.10",
"qs": "^6.5.0",
"react": "^16.14.0",
+ "react-captcha-code": "^1.0.7",
"react-container-query": "^0.11.0",
"react-document-title": "^2.0.3",
"react-dom": "^16.13.1",
@@ -97,4 +98,4 @@
"last 2 versions",
"not ie <= 10"
]
-}
+}
\ No newline at end of file
diff --git a/src/assets/TitleLogo.svg b/src/assets/TitleLogo.svg
index 62d9db7b..0ebefa3f 100644
--- a/src/assets/TitleLogo.svg
+++ b/src/assets/TitleLogo.svg
@@ -1,15 +1,15 @@
<svg width="1053" height="170" viewBox="0 0 1053 170" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M73.9973 35.0579C54.1616 69.8286 42.9756 83.2381 35.8964
77.1848C30.9901 72.9896 47.7987 41.7206 58.7276 21.3898C62.1781 14.9707 65.0426
9.64207 66.4524 6.60013C66.7845 5.88338 66.1105 5.51842 65.5618 6.11847C40.0106
34.0615 -21.3347 135.895 7.5775 162.983C8.93141 164.252 11.0512 163.631 11.7989
161.933L33.1473 113.459C34.035 111.443 36.5449 110.432 38.7533 111.201L48.8546
114.714C51.063 115.483 52.1337 117.739 51.246 119.755L31.2362 165.189C30.3407
167.223 31.8971 169.466 34.08 [...]
-<path d="M200.782 129.157H178.611L171.579 108.423H138.084L131.052
129.157H109L144.163 32.6779H165.5L200.782 129.157ZM154.533 60.2434L144.759
88.7678H164.904L155.249 60.2434H154.533Z" fill="black"/>
-<path d="M208.662 159V57.6067H228.806V66.1161H229.522C231.667 62.9201 234.409
60.4432 237.746 58.6854C241.084 56.8477 244.62 55.9288 248.355 55.9288C253.997
55.9288 258.924 57.4469 263.135 60.4832C267.426 63.4395 270.724 67.6742 273.029
73.1873C275.333 78.7004 276.485 85.1723 276.485 92.603C276.485 100.353 275.333
107.105 273.029 112.858C270.724 118.61 267.426 123.045 263.135 126.161C258.844
129.277 253.838 130.835 248.116 130.835C244.302 130.835 240.766 129.916 237.508
128.079C234.329 1 [...]
-<path d="M306.184 130.835C299.907 130.835 294.702 129.037 290.569
125.442C286.517 121.767 284.49 116.733 284.49 110.341C284.49 105.387 285.881
101.032 288.662 97.2772C291.443 93.5218 295.377 90.6454 300.463 88.6479C305.628
86.5705 311.628 85.5318 318.462 85.5318H324.898V83.7341C324.898 80.2185 323.905
77.5418 321.918 75.7041C320.011 73.7865 317.309 72.8277 313.813 72.8277C308.807
72.8277 304.277 75.3046 300.224 80.2584L287.113 70.191C294.821 60.6829 304.595
55.9288 316.435 55.9288C322.07 [...]
-<path d="M391.139 130.835C383.829 130.835 377.471 129.317 372.068
126.281C366.744 123.245 362.611 118.93 359.671 113.337C356.811 107.664 355.38
101.032 355.38 93.4419C355.38 85.8514 356.811 79.2197 359.671 73.5468C362.611
67.8739 366.744 63.5194 372.068 60.4832C377.471 57.4469 383.829 55.9288 391.139
55.9288C397.656 55.9288 403.576 57.8464 408.9 61.6816C414.224 65.5169 418.118
70.7104 420.581 77.2622L401.867 84.3333C400.834 81.377 399.205 79.0999 396.98
77.5019C394.835 75.9039 392.451 75 [...]
-<path d="M430.993 129.157V32.6779H451.138V66.9551H451.734C453.8 63.5194
456.502 60.8427 459.839 58.9251C463.256 56.9276 467.15 55.9288 471.52
55.9288C478.593 55.9288 484.076 58.2459 487.97 62.8801C491.943 67.4345 493.93
73.9463 493.93 82.4157V129.157H473.785V87.0899C473.785 83.4145 472.871 80.5381
471.044 78.4607C469.216 76.3034 466.713 75.2247 463.534 75.2247C459.799 75.2247
456.78 76.4232 454.475 78.8202C452.25 81.1373 451.138 84.3333 451.138
88.4082V129.157H430.993Z" fill="black"/>
-<path d="M571.491 88.2884C571.491 93.3221 570.974 97.6367 569.941
101.232H525.361C526.871 109.861 531.719 114.176 539.903 114.176C542.764 114.176
545.347 113.337 547.651 111.659C549.956 109.981 551.783 107.664 553.134
104.708L569.703 111.899C567.319 117.891 563.505 122.566 558.26 125.921C553.095
129.197 546.936 130.835 539.784 130.835C532.632 130.835 526.355 129.357 520.951
126.401C515.547 123.365 511.376 119.09 508.435 113.577C505.575 107.984 504.144
101.472 504.144 94.0412C504.144 86.2 [...]
-<path d="M658.286 130.835C649.545 130.835 641.916 128.678 635.4
124.363C628.884 119.969 623.997 114.176 620.739 106.985L638.857 98.4757C640.526
102.79 643.069 106.066 646.486 108.303C649.903 110.541 653.876 111.659 658.405
111.659C663.094 111.659 666.829 110.78 669.61 109.022C672.391 107.265 673.782
104.988 673.782 102.191C673.782 100.194 673.265 98.5556 672.232 97.2772C671.199
95.9189 669.411 94.6804 666.868 93.5618C664.325 92.4432 660.63 91.2047 655.783
89.8464C649.426 88.0087 644.141 [...]
-<path d="M706.521 129.157V32.6779H726.665V66.9551H727.261C729.327 63.5194
732.029 60.8427 735.367 58.9251C738.784 56.9276 742.678 55.9288 747.048
55.9288C754.12 55.9288 759.604 58.2459 763.497 62.8801C767.471 67.4345 769.457
73.9463 769.457 82.4157V129.157H749.313V87.0899C749.313 83.4145 748.399 80.5381
746.571 78.4607C744.744 76.3034 742.24 75.2247 739.062 75.2247C735.327 75.2247
732.307 76.4232 730.003 78.8202C727.778 81.1373 726.665 84.3333 726.665
88.4082V129.157H706.521Z" fill="black"/>
-<path d="M847.018 88.2884C847.018 93.3221 846.502 97.6367 845.469
101.232H800.889C802.399 109.861 807.246 114.176 815.431 114.176C818.292 114.176
820.874 113.337 823.179 111.659C825.483 109.981 827.311 107.664 828.662
104.708L845.231 111.899C842.847 117.891 839.032 122.566 833.788 125.921C828.622
129.197 822.464 130.835 815.312 130.835C808.16 130.835 801.882 129.357 796.479
126.401C791.075 123.365 786.903 119.09 783.963 113.577C781.102 107.984 779.672
101.472 779.672 94.0412C779.672 86.2 [...]
-<path d="M857.962 129.157V57.6067H878.107V66.9551H878.703C880.769 63.5194
883.471 60.8427 886.808 58.9251C890.225 56.9276 894.119 55.9288 898.489
55.9288C905.562 55.9288 911.045 58.2459 914.939 62.8801C918.912 67.4345 920.899
73.9463 920.899 82.4157V129.157H900.754V87.0899C900.754 83.4145 899.84 80.5381
898.013 78.4607C896.185 76.3034 893.682 75.2247 890.503 75.2247C886.768 75.2247
883.749 76.4232 881.444 78.8202C879.219 81.1373 878.107 84.3333 878.107
88.4082V129.157H857.962Z" fill="black"/>
-<path d="M944.073 91.4045L909.625 32.6779H934.776L954.205
73.1873H954.92L974.349 32.6779H999.619L965.052
91.4045V129.157H944.073V91.4045Z" fill="black"/>
-<path d="M1053 57.6067V129.157H1032.86V120.049H1032.14C1030.15 123.484 1027.49
126.121 1024.15 127.959C1020.9 129.876 1017.08 130.835 1012.71 130.835C1005.64
130.835 1000.08 128.558 996.024 124.004C992.05 119.37 990.064 112.938 990.064
104.708V57.6067H1010.21V100.034C1010.21 103.629 1011.16 106.506 1013.07
108.663C1014.98 110.82 1017.48 111.899 1020.58 111.899C1024.31 111.899 1027.29
110.74 1029.52 108.423C1031.74 106.026 1032.86 102.83 1032.86
98.8352V57.6067H1053Z" fill="black"/>
+<path d="M200.782 129.157H178.611L171.579 108.423H138.084L131.052
129.157H109L144.163 32.6779H165.5L200.782 129.157ZM154.533 60.2434L144.759
88.7678H164.904L155.249 60.2434H154.533Z" fill="white"/>
+<path d="M208.662 159V57.6067H228.806V66.1161H229.522C231.667 62.9201 234.409
60.4432 237.746 58.6854C241.084 56.8477 244.62 55.9288 248.355 55.9288C253.997
55.9288 258.924 57.4469 263.135 60.4832C267.426 63.4395 270.724 67.6742 273.029
73.1873C275.333 78.7004 276.485 85.1723 276.485 92.603C276.485 100.353 275.333
107.105 273.029 112.858C270.724 118.61 267.426 123.045 263.135 126.161C258.844
129.277 253.838 130.835 248.116 130.835C244.302 130.835 240.766 129.916 237.508
128.079C234.329 1 [...]
+<path d="M306.184 130.835C299.907 130.835 294.702 129.037 290.569
125.442C286.517 121.767 284.49 116.733 284.49 110.341C284.49 105.387 285.881
101.032 288.662 97.2772C291.443 93.5218 295.377 90.6454 300.463 88.6479C305.628
86.5705 311.628 85.5318 318.462 85.5318H324.898V83.7341C324.898 80.2185 323.905
77.5418 321.918 75.7041C320.011 73.7865 317.309 72.8277 313.813 72.8277C308.807
72.8277 304.277 75.3046 300.224 80.2584L287.113 70.191C294.821 60.6829 304.595
55.9288 316.435 55.9288C322.07 [...]
+<path d="M391.139 130.835C383.829 130.835 377.471 129.317 372.068
126.281C366.744 123.245 362.611 118.93 359.671 113.337C356.811 107.664 355.38
101.032 355.38 93.4419C355.38 85.8514 356.811 79.2197 359.671 73.5468C362.611
67.8739 366.744 63.5194 372.068 60.4832C377.471 57.4469 383.829 55.9288 391.139
55.9288C397.656 55.9288 403.576 57.8464 408.9 61.6816C414.224 65.5169 418.118
70.7104 420.581 77.2622L401.867 84.3333C400.834 81.377 399.205 79.0999 396.98
77.5019C394.835 75.9039 392.451 75 [...]
+<path d="M430.993 129.157V32.6779H451.138V66.9551H451.734C453.8 63.5194
456.502 60.8427 459.839 58.9251C463.256 56.9276 467.15 55.9288 471.52
55.9288C478.593 55.9288 484.076 58.2459 487.97 62.8801C491.943 67.4345 493.93
73.9463 493.93 82.4157V129.157H473.785V87.0899C473.785 83.4145 472.871 80.5381
471.044 78.4607C469.216 76.3034 466.713 75.2247 463.534 75.2247C459.799 75.2247
456.78 76.4232 454.475 78.8202C452.25 81.1373 451.138 84.3333 451.138
88.4082V129.157H430.993Z" fill="white"/>
+<path d="M571.491 88.2884C571.491 93.3221 570.974 97.6367 569.941
101.232H525.361C526.871 109.861 531.719 114.176 539.903 114.176C542.764 114.176
545.347 113.337 547.651 111.659C549.956 109.981 551.783 107.664 553.134
104.708L569.703 111.899C567.319 117.891 563.505 122.566 558.26 125.921C553.095
129.197 546.936 130.835 539.784 130.835C532.632 130.835 526.355 129.357 520.951
126.401C515.547 123.365 511.376 119.09 508.435 113.577C505.575 107.984 504.144
101.472 504.144 94.0412C504.144 86.2 [...]
+<path d="M658.286 130.835C649.545 130.835 641.916 128.678 635.4
124.363C628.884 119.969 623.997 114.176 620.739 106.985L638.857 98.4757C640.526
102.79 643.069 106.066 646.486 108.303C649.903 110.541 653.876 111.659 658.405
111.659C663.094 111.659 666.829 110.78 669.61 109.022C672.391 107.265 673.782
104.988 673.782 102.191C673.782 100.194 673.265 98.5556 672.232 97.2772C671.199
95.9189 669.411 94.6804 666.868 93.5618C664.325 92.4432 660.63 91.2047 655.783
89.8464C649.426 88.0087 644.141 [...]
+<path d="M706.521 129.157V32.6779H726.665V66.9551H727.261C729.327 63.5194
732.029 60.8427 735.367 58.9251C738.784 56.9276 742.678 55.9288 747.048
55.9288C754.12 55.9288 759.604 58.2459 763.497 62.8801C767.471 67.4345 769.457
73.9463 769.457 82.4157V129.157H749.313V87.0899C749.313 83.4145 748.399 80.5381
746.571 78.4607C744.744 76.3034 742.24 75.2247 739.062 75.2247C735.327 75.2247
732.307 76.4232 730.003 78.8202C727.778 81.1373 726.665 84.3333 726.665
88.4082V129.157H706.521Z" fill="white"/>
+<path d="M847.018 88.2884C847.018 93.3221 846.502 97.6367 845.469
101.232H800.889C802.399 109.861 807.246 114.176 815.431 114.176C818.292 114.176
820.874 113.337 823.179 111.659C825.483 109.981 827.311 107.664 828.662
104.708L845.231 111.899C842.847 117.891 839.032 122.566 833.788 125.921C828.622
129.197 822.464 130.835 815.312 130.835C808.16 130.835 801.882 129.357 796.479
126.401C791.075 123.365 786.903 119.09 783.963 113.577C781.102 107.984 779.672
101.472 779.672 94.0412C779.672 86.2 [...]
+<path d="M857.962 129.157V57.6067H878.107V66.9551H878.703C880.769 63.5194
883.471 60.8427 886.808 58.9251C890.225 56.9276 894.119 55.9288 898.489
55.9288C905.562 55.9288 911.045 58.2459 914.939 62.8801C918.912 67.4345 920.899
73.9463 920.899 82.4157V129.157H900.754V87.0899C900.754 83.4145 899.84 80.5381
898.013 78.4607C896.185 76.3034 893.682 75.2247 890.503 75.2247C886.768 75.2247
883.749 76.4232 881.444 78.8202C879.219 81.1373 878.107 84.3333 878.107
88.4082V129.157H857.962Z" fill="white"/>
+<path d="M944.073 91.4045L909.625 32.6779H934.776L954.205
73.1873H954.92L974.349 32.6779H999.619L965.052
91.4045V129.157H944.073V91.4045Z" fill="white"/>
+<path d="M1053 57.6067V129.157H1032.86V120.049H1032.14C1030.15 123.484 1027.49
126.121 1024.15 127.959C1020.9 129.876 1017.08 130.835 1012.71 130.835C1005.64
130.835 1000.08 128.558 996.024 124.004C992.05 119.37 990.064 112.938 990.064
104.708V57.6067H1010.21V100.034C1010.21 103.629 1011.16 106.506 1013.07
108.663C1014.98 110.82 1017.48 111.899 1020.58 111.899C1024.31 111.899 1027.29
110.74 1029.52 108.423C1031.74 106.026 1032.86 102.83 1032.86
98.8352V57.6067H1053Z" fill="white"/>
</svg>
diff --git a/src/assets/asf_logo.svg b/src/assets/asf_logo.svg
new file mode 100644
index 00000000..e05d9183
--- /dev/null
+++ b/src/assets/asf_logo.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0
7127.6 2890"><path fill="#6D6E71" d="M7104.7 847.8c15.3 15.3 22.9 33.7 22.9
55.2s-7.6 39.9-22.9 55.4c-15.3 15.4-33.8 23.1-55.6 23.1-21.8
0-40.2-7.6-55.4-22.9-15.1-15.3-22.7-33.7-22.7-55.2s7.6-39.9 22.9-55.4c15.3-15.4
33.7-23.1 55.4-23.1 21.6 0 40.1 7.6 55.4 22.9zm-6.6 104.1c13.3-13.6 20-29.8
20-48.7s-6.6-35-19.8-48.5c-13.2-13.4-29.4-20.1-48.6-20.1-19.2 0-35.4 6.7-48.7
20.2-13.3 13.5-19.9 29.7-19.9 48.7 0 19 6.6 35. [...]
\ No newline at end of file
diff --git a/src/assets/background.svg b/src/assets/background.svg
deleted file mode 100644
index 89c25976..00000000
--- a/src/assets/background.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg width="1361px" height="609px" viewBox="0 0 1361 609" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch
-->
- <title>Group 21</title>
- <desc>Created with Sketch.</desc>
- <defs></defs>
- <g id="Ant-Design-Pro-3.0" stroke="none" stroke-width="1" fill="none"
fill-rule="evenodd">
- <g id="账户密码登录-校验" transform="translate(-79.000000, -82.000000)">
- <g id="Group-21" transform="translate(77.000000, 73.000000)">
- <g id="Group-18" opacity="0.8" transform="translate(74.901416,
569.699158) rotate(-7.000000) translate(-74.901416, -569.699158)
translate(4.901416, 525.199158)">
- <ellipse id="Oval-11" fill="#CFDAE6" opacity="0.25"
cx="63.5748792" cy="32.468367" rx="21.7830479" ry="21.766008"></ellipse>
- <ellipse id="Oval-3" fill="#CFDAE6" opacity="0.599999964"
cx="5.98746479" cy="13.8668601" rx="5.2173913" ry="5.21330997"></ellipse>
- <path d="M38.1354514,88.3520215 C43.8984227,88.3520215
48.570234,83.6838647 48.570234,77.9254015 C48.570234,72.1669383
43.8984227,67.4987816 38.1354514,67.4987816 C32.3724801,67.4987816
27.7006688,72.1669383 27.7006688,77.9254015 C27.7006688,83.6838647
32.3724801,88.3520215 38.1354514,88.3520215 Z" id="Oval-3-Copy" fill="#CFDAE6"
opacity="0.45"></path>
- <path d="M64.2775582,33.1704963 L119.185836,16.5654915"
id="Path-12" stroke="#CFDAE6" stroke-width="1.73913043" stroke-linecap="round"
stroke-linejoin="round"></path>
- <path d="M42.1431708,26.5002681 L7.71190162,14.5640702"
id="Path-16" stroke="#E0B4B7" stroke-width="0.702678964" opacity="0.7"
stroke-linecap="round" stroke-linejoin="round"
stroke-dasharray="1.405357899873153,2.108036953469981"></path>
- <path d="M63.9262187,33.521561 L43.6721326,69.3250951"
id="Path-15" stroke="#BACAD9" stroke-width="0.702678964" stroke-linecap="round"
stroke-linejoin="round"
stroke-dasharray="1.405357899873153,2.108036953469981"></path>
- <g id="Group-17" transform="translate(126.850922,
13.543654) rotate(30.000000) translate(-126.850922, -13.543654)
translate(117.285705, 4.381889)" fill="#CFDAE6">
- <ellipse id="Oval-4" opacity="0.45" cx="9.13482653"
cy="9.12768076" rx="9.13482653" ry="9.12768076"></ellipse>
- <path d="M18.2696531,18.2553615 C18.2696531,13.2142826
14.1798519,9.12768076 9.13482653,9.12768076 C4.08980114,9.12768076 0,13.2142826
0,18.2553615 L18.2696531,18.2553615 Z" id="Oval-4"
transform="translate(9.134827, 13.691521) scale(-1, -1) translate(-9.134827,
-13.691521) "></path>
- </g>
- </g>
- <g id="Group-14" transform="translate(216.294700, 123.725600)
rotate(-5.000000) translate(-216.294700, -123.725600) translate(106.294700,
35.225600)">
- <ellipse id="Oval-2" fill="#CFDAE6" opacity="0.25"
cx="29.1176471" cy="29.1402439" rx="29.1176471" ry="29.1402439"></ellipse>
- <ellipse id="Oval-2" fill="#CFDAE6" opacity="0.3"
cx="29.1176471" cy="29.1402439" rx="21.5686275" ry="21.5853659"></ellipse>
- <ellipse id="Oval-2-Copy" stroke="#CFDAE6" opacity="0.4"
cx="179.019608" cy="138.146341" rx="23.7254902" ry="23.7439024"></ellipse>
- <ellipse id="Oval-2" fill="#BACAD9" opacity="0.5"
cx="29.1176471" cy="29.1402439" rx="10.7843137" ry="10.7926829"></ellipse>
- <path d="M29.1176471,39.9329268 L29.1176471,18.347561
C23.1616351,18.347561 18.3333333,23.1796097 18.3333333,29.1402439
C18.3333333,35.1008781 23.1616351,39.9329268 29.1176471,39.9329268 Z"
id="Oval-2" fill="#BACAD9"></path>
- <g id="Group-9" opacity="0.45"
transform="translate(172.000000, 131.000000)" fill="#E6A1A6">
- <ellipse id="Oval-2-Copy-2" cx="7.01960784"
cy="7.14634146" rx="6.47058824" ry="6.47560976"></ellipse>
- <path d="M0.549019608,13.6219512
C4.12262681,13.6219512 7.01960784,10.722722 7.01960784,7.14634146
C7.01960784,3.56996095 4.12262681,0.670731707 0.549019608,0.670731707
L0.549019608,13.6219512 Z" id="Oval-2-Copy-2" transform="translate(3.784314,
7.146341) scale(-1, 1) translate(-3.784314, -7.146341) "></path>
- </g>
- <ellipse id="Oval-10" fill="#CFDAE6" cx="218.382353"
cy="138.685976" rx="1.61764706" ry="1.61890244"></ellipse>
- <ellipse id="Oval-10-Copy-2" fill="#E0B4B7" opacity="0.35"
cx="179.558824" cy="175.381098" rx="1.61764706" ry="1.61890244"></ellipse>
- <ellipse id="Oval-10-Copy" fill="#E0B4B7" opacity="0.35"
cx="180.098039" cy="102.530488" rx="2.15686275" ry="2.15853659"></ellipse>
- <path d="M28.9985381,29.9671598 L171.151018,132.876024"
id="Path-11" stroke="#CFDAE6" opacity="0.8"></path>
- </g>
- <g id="Group-10" opacity="0.799999952"
transform="translate(1054.100635, 36.659317) rotate(-11.000000)
translate(-1054.100635, -36.659317) translate(1026.600635, 4.659317)">
- <ellipse id="Oval-7" stroke="#CFDAE6"
stroke-width="0.941176471" cx="43.8135593" cy="32" rx="11.1864407"
ry="11.2941176"></ellipse>
- <g id="Group-12" transform="translate(34.596774,
23.111111)" fill="#BACAD9">
- <ellipse id="Oval-7" opacity="0.45" cx="9.18534718"
cy="8.88888889" rx="8.47457627" ry="8.55614973"></ellipse>
- <path d="M9.18534718,17.4450386 C13.8657264,17.4450386
17.6599235,13.6143199 17.6599235,8.88888889 C17.6599235,4.16345787
13.8657264,0.332739156 9.18534718,0.332739156 L9.18534718,17.4450386 Z"
id="Oval-7"></path>
- </g>
- <path d="M34.6597385,24.809694 L5.71666084,4.76878945"
id="Path-2" stroke="#CFDAE6" stroke-width="0.941176471"></path>
- <ellipse id="Oval" stroke="#CFDAE6"
stroke-width="0.941176471" cx="3.26271186" cy="3.29411765" rx="3.26271186"
ry="3.29411765"></ellipse>
- <ellipse id="Oval-Copy" fill="#F7E1AD" cx="2.79661017"
cy="61.1764706" rx="2.79661017" ry="2.82352941"></ellipse>
- <path d="M34.6312443,39.2922712 L5.06366663,59.785082"
id="Path-10" stroke="#CFDAE6" stroke-width="0.941176471"></path>
- </g>
- <g id="Group-19" opacity="0.33"
transform="translate(1282.537219, 446.502867) rotate(-10.000000)
translate(-1282.537219, -446.502867) translate(1142.537219, 327.502867)">
- <g id="Group-17" transform="translate(141.333539,
104.502742) rotate(275.000000) translate(-141.333539, -104.502742)
translate(129.333539, 92.502742)" fill="#BACAD9">
- <circle id="Oval-4" opacity="0.45" cx="11.6666667"
cy="11.6666667" r="11.6666667"></circle>
- <path d="M23.3333333,23.3333333 C23.3333333,16.8900113
18.1099887,11.6666667 11.6666667,11.6666667 C5.22334459,11.6666667 0,16.8900113
0,23.3333333 L23.3333333,23.3333333 Z" id="Oval-4"
transform="translate(11.666667, 17.500000) scale(-1, -1) translate(-11.666667,
-17.500000) "></path>
- </g>
- <circle id="Oval-5-Copy-6" fill="#CFDAE6" cx="201.833333"
cy="87.5" r="5.83333333"></circle>
- <path d="M143.5,88.8126685 L155.070501,17.6038544"
id="Path-17" stroke="#BACAD9" stroke-width="1.16666667"></path>
- <path d="M17.5,37.3333333 L127.466252,97.6449735"
id="Path-18" stroke="#BACAD9" stroke-width="1.16666667"></path>
- <polyline id="Path-19" stroke="#CFDAE6"
stroke-width="1.16666667" points="143.902597 120.302281 174.935455 231.571342
38.5 147.510847 126.366941 110.833333"></polyline>
- <path d="M159.833333,99.7453842 L195.416667,89.25"
id="Path-20" stroke="#E0B4B7" stroke-width="1.16666667" opacity="0.6"></path>
- <path d="M205.333333,82.1372105 L238.719406,36.1666667"
id="Path-24" stroke="#BACAD9" stroke-width="1.16666667"></path>
- <path d="M266.723424,132.231988 L207.083333,90.4166667"
id="Path-25" stroke="#CFDAE6" stroke-width="1.16666667"></path>
- <circle id="Oval-5" fill="#C1D1E0" cx="156.916667"
cy="8.75" r="8.75"></circle>
- <circle id="Oval-5-Copy-3" fill="#C1D1E0" cx="39.0833333"
cy="148.75" r="5.25"></circle>
- <circle id="Oval-5-Copy-2" fill-opacity="0.6"
fill="#D1DEED" cx="8.75" cy="33.25" r="8.75"></circle>
- <circle id="Oval-5-Copy-4" fill-opacity="0.6"
fill="#D1DEED" cx="243.833333" cy="30.3333333" r="5.83333333"></circle>
- <circle id="Oval-5-Copy-5" fill="#E0B4B7" cx="175.583333"
cy="232.75" r="5.25"></circle>
- </g>
- </g>
- </g>
- </g>
-</svg>
\ No newline at end of file
diff --git a/src/assets/bg.jpg b/src/assets/bg.jpg
new file mode 100644
index 00000000..66ce5145
Binary files /dev/null and b/src/assets/bg.jpg differ
diff --git a/src/assets/support-apache.png b/src/assets/support-apache.png
new file mode 100644
index 00000000..2c10f17c
Binary files /dev/null and b/src/assets/support-apache.png differ
diff --git a/src/components/GlobalFooter/index.js
b/src/components/GlobalFooter/index.js
index 2e31542c..4d43f36e 100644
--- a/src/components/GlobalFooter/index.js
+++ b/src/components/GlobalFooter/index.js
@@ -17,9 +17,12 @@
import React from 'react';
import classNames from 'classnames';
+import supportImg from '../../assets/support-apache.png'
+import asfLogo from '../../assets/asf_logo.svg'
import styles from './index.less';
const GlobalFooter = ({ className, links, copyright }) => {
+ const imgStyle = classNames(styles.imgStyle, className);
const clsString = classNames(styles.globalFooter, className);
return (
<div className={clsString}>
@@ -32,6 +35,8 @@ const GlobalFooter = ({ className, links, copyright }) => {
))}
</div>
)}
+ <img className={imgStyle} src={supportImg} alt="Apache Support Logo" />
+ <img className={imgStyle} src={asfLogo} alt="The Apache Software
Foundation" />
{copyright && <div className={styles.copyright}>{copyright}</div>}
</div>
);
diff --git a/src/components/GlobalFooter/index.less
b/src/components/GlobalFooter/index.less
index b9f25e0d..0b33be87 100644
--- a/src/components/GlobalFooter/index.less
+++ b/src/components/GlobalFooter/index.less
@@ -18,8 +18,8 @@
@import '~antd/lib/style/themes/default.less';
.globalFooter {
- padding: 0 16px;
- margin: 48px 0 24px 0;
+ padding: 0px 240px;
+ margin: 0px 0 15px 0;
text-align: center;
.links {
@@ -40,7 +40,12 @@
}
.copyright {
- color: @text-color-secondary;
+ color: #ffffff;
font-size: @font-size-base;
}
-}
+
+ .imgStyle {
+ height: 50px;
+ margin: 0px 10px;
+ }
+}
\ No newline at end of file
diff --git a/src/components/GlobalFooter/index.less
b/src/components/Login/LoginCode.tsx
similarity index 56%
copy from src/components/GlobalFooter/index.less
copy to src/components/Login/LoginCode.tsx
index b9f25e0d..92a1295d 100644
--- a/src/components/GlobalFooter/index.less
+++ b/src/components/Login/LoginCode.tsx
@@ -15,32 +15,27 @@
* limitations under the License.
*/
-@import '~antd/lib/style/themes/default.less';
+import React, { useCallback, useState, useRef } from "react";
+import Captcha from "react-captcha-code";
-.globalFooter {
- padding: 0 16px;
- margin: 48px 0 24px 0;
- text-align: center;
-
- .links {
- margin-bottom: 8px;
-
- a {
- color: @text-color-secondary;
- transition: all 0.3s;
-
- &:not(:last-child) {
- margin-right: 40px;
- }
+interface childProps {
+ ChildGetCode: Function,
+}
- &:hover {
- color: @text-color;
- }
- }
- }
+const LoginCode: React.FC<childProps> = (props) => {
+ const { ChildGetCode } = props;
+ const captchaRef = useRef<any>();
+ const [captcha, setCaptcha] = useState("");
+ const handleChange = useCallback((code) => {
+ setCaptcha(code);
+ ChildGetCode(code)
+ }, []);
- .copyright {
- color: @text-color-secondary;
- font-size: @font-size-base;
- }
+ return (
+ <span style={{ cursor: 'pointer' }}>
+ <Captcha onChange={handleChange} ref={captchaRef} />
+ </span>
+ );
}
+
+export default LoginCode;
diff --git a/src/components/Login/index.js b/src/components/Login/index.js
index 730620a0..420ebcab 100644
--- a/src/components/Login/index.js
+++ b/src/components/Login/index.js
@@ -22,6 +22,7 @@ import classNames from 'classnames';
import LoginItem from './LoginItem';
import LoginTab from './LoginTab';
import LoginSubmit from './LoginSubmit';
+import LoginCode from './LoginCode';
import styles from './index.less';
class Login extends Component {
@@ -41,8 +42,8 @@ class Login extends Component {
static defaultProps = {
className: '',
defaultActiveKey: '',
- onTabChange: () => {},
- onSubmit: () => {},
+ onTabChange: () => { },
+ onSubmit: () => { },
};
constructor(props) {
@@ -145,6 +146,7 @@ class Login extends Component {
Login.Tab = LoginTab;
Login.Submit = LoginSubmit;
+Login.LoginCode = LoginCode;
Object.keys(LoginItem).forEach(item => {
Login[item] = LoginItem[item];
});
diff --git a/src/components/Login/index.less b/src/components/Login/index.less
index 162dfbc1..8ecb56d2 100644
--- a/src/components/Login/index.less
+++ b/src/components/Login/index.less
@@ -21,14 +21,18 @@
.tabs {
padding: 0 2px;
margin: 0 -2px;
+
:global {
.ant-tabs-tab {
font-size: 16px;
line-height: 24px;
}
+
.ant-input-affix-wrapper .ant-input:not(:first-child) {
padding-left: 34px;
}
+
+
}
}
@@ -57,5 +61,12 @@
.submit {
width: 100%;
margin-top: 24px;
+ background-color: rgba(91, 66, 54, 0.7);
+ border: 1px solid rgba(0, 0, 0, 0)
+ }
+
+ .submit:hover {
+ background-color: rgba(91, 66, 54, 1);
+ border: 1px solid black
}
-}
+}
\ No newline at end of file
diff --git a/src/components/Login/map.js b/src/components/Login/map.js
index 15ff1086..fc89d78b 100644
--- a/src/components/Login/map.js
+++ b/src/components/Login/map.js
@@ -17,10 +17,24 @@
import React from 'react';
import { Input, Icon } from 'antd';
-import styles from './index.less';
+import styles from './index.less'
import { getIntlContent } from '../../utils/IntlUtils';
const map = {
+ VerifyCode: {
+ component: Input,
+ props: {
+ size: 'large',
+ prefix: <Icon type="home" className={styles.prefixIcon} />,
+ },
+ rules: [
+ {
+ required: true,
+ message: getIntlContent("SHENYU.SYSTEM.VERIFICATION.CODE"),
+ },
+ ],
+ }
+ ,
UserName: {
component: Input,
props: {
diff --git a/src/components/GlobalFooter/index.less
b/src/components/tsconfig.json
similarity index 64%
copy from src/components/GlobalFooter/index.less
copy to src/components/tsconfig.json
index b9f25e0d..8ee0362d 100644
--- a/src/components/GlobalFooter/index.less
+++ b/src/components/tsconfig.json
@@ -14,33 +14,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-@import '~antd/lib/style/themes/default.less';
-
-.globalFooter {
- padding: 0 16px;
- margin: 48px 0 24px 0;
- text-align: center;
-
- .links {
- margin-bottom: 8px;
-
- a {
- color: @text-color-secondary;
- transition: all 0.3s;
-
- &:not(:last-child) {
- margin-right: 40px;
- }
-
- &:hover {
- color: @text-color;
- }
+{
+ "include": [
+ "./src/*"
+ ],
+ "compilerOptions": {
+ "strict": true,
+ "esModuleInterop": true,
+ "lib": [
+ "dom",
+ "es2015"
+ ],
+ "jsx": "react-jsx"
}
- }
-
- .copyright {
- color: @text-color-secondary;
- font-size: @font-size-base;
- }
-}
+}
\ No newline at end of file
diff --git a/src/layouts/UserLayout.js b/src/layouts/UserLayout.js
index 8c692825..35c16d38 100644
--- a/src/layouts/UserLayout.js
+++ b/src/layouts/UserLayout.js
@@ -34,7 +34,7 @@ const links = [];
const copyright = (
<Fragment>
- Copyright <Icon type="copyright" /> {new Date().getFullYear()} 出品
+ Copyright <Icon type="copyright" /> {new Date().getFullYear()} The Apache
Software Foundation, Licensed under the Apache License, Version 2.0. Apache
ShenYu, Apache, the Apache feather logo, the Apache ShenYu logo are trademarks
of The Apache Software Foundation.
</Fragment>
);
diff --git a/src/layouts/UserLayout.less b/src/layouts/UserLayout.less
index c5ee42a2..3844dacc 100644
--- a/src/layouts/UserLayout.less
+++ b/src/layouts/UserLayout.less
@@ -22,7 +22,8 @@
flex-direction: column;
height: 100vh;
overflow: auto;
- background: #f0f2f5;
+ background-image: url();
+ background: #ffffff;
}
.content {
@@ -33,14 +34,14 @@
@media (min-width: @screen-md-min) {
.container {
// background url
https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg
- background-image: url('../assets/background.svg');
+ background-image: url('../assets/bg.jpg');
background-repeat: no-repeat;
- background-position: center 110px;
- background-size: 100%;
+ background-position: center;
+ background-size: cover;
}
.content {
- padding: 112px 0 24px 0;
+ padding: 100px 0 0 0;
}
}
@@ -51,6 +52,7 @@
.header {
height: 44px;
line-height: 44px;
+
a {
text-decoration: none;
}
@@ -73,7 +75,7 @@
.desc {
font-size: @font-size-base;
- color: @text-color-secondary;
+ color: #ffffff;
margin-top: 12px;
margin-bottom: 40px;
-}
+}
\ No newline at end of file
diff --git a/src/routes/User/Login.js b/src/routes/User/Login.js
index 9ef42cab..2d40d634 100644
--- a/src/routes/User/Login.js
+++ b/src/routes/User/Login.js
@@ -21,18 +21,28 @@ import { Alert } from 'antd';
import Login from 'components/Login';
import styles from './Login.less';
-const { UserName, Password, Submit } = Login;
-
+const { UserName, Password, Submit, VerifyCode, LoginCode } = Login;
@connect(({ login, loading }) => ({
login,
submitting: loading.effects['login/login'],
}))
export default class LoginPage extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ VCode: "",
+ codeError: true
+ }
+ }
handleSubmit = (err, values) => {
const { dispatch } = this.props;
if (!err) {
+ if (values.verifyCode !== this.state.VCode) {
+ this.setState({ codeError: false })
+ return;
+ }
dispatch({
type: 'login/login',
payload: {
@@ -44,17 +54,31 @@ export default class LoginPage extends Component {
renderMessage = content => {
return <Alert style={{ marginBottom: 24 }} message={content} type="error"
showIcon />;
- };
+ }
- render() {
- const { submitting } = this.props;
+ getCode = (code) => {
+ this.setState({
+ VCode: code
+ })
+ }
+ codeError = () => {
+ return this.state.codeError ? <span /> : <span
className={styles.codeError} id='codeError'>Please enter correct verify
code!</span>
+ }
+
+ render() {
+ const { submitting } = this.props;
return (
<div className={styles.main}>
<Login onSubmit={this.handleSubmit}>
<div>
<UserName name="userName" placeholder="Account" />
<Password name="password" placeholder="Password" />
+ <div className={styles.verify}>
+ <VerifyCode name="verifyCode" placeholder="Verification Code" />
+ {this.codeError()}
+ </div>
+ <LoginCode ChildGetCode={(code) => this.getCode(code)} />
</div>
<Submit loading={submitting}>Login</Submit>
</Login>
diff --git a/src/routes/User/Login.less b/src/routes/User/Login.less
index a1e7cc7f..1bb00815 100644
--- a/src/routes/User/Login.less
+++ b/src/routes/User/Login.less
@@ -20,6 +20,7 @@
.main {
width: 368px;
margin: 0 auto;
+
@media screen and (max-width: @screen-sm) {
width: 95%;
}
@@ -47,3 +48,22 @@
}
}
}
+
+.verify {
+ width: 70%;
+ float: left;
+ margin-right: 10px;
+}
+
+.codeError {
+ color: red;
+ font-size: 14px;
+}
+
+
+:global {
+ .ant-input .ant-input-lg {
+ font-size: 240px;
+ background-color: #fff;
+ }
+}
\ No newline at end of file
diff --git a/src/components/GlobalFooter/index.less b/tsconfig.json
similarity index 64%
copy from src/components/GlobalFooter/index.less
copy to tsconfig.json
index b9f25e0d..3d894020 100644
--- a/src/components/GlobalFooter/index.less
+++ b/tsconfig.json
@@ -14,33 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-@import '~antd/lib/style/themes/default.less';
-
-.globalFooter {
- padding: 0 16px;
- margin: 48px 0 24px 0;
- text-align: center;
-
- .links {
- margin-bottom: 8px;
-
- a {
- color: @text-color-secondary;
- transition: all 0.3s;
-
- &:not(:last-child) {
- margin-right: 40px;
- }
-
- &:hover {
- color: @text-color;
- }
+{
+ "include": [
+ "./src/*"
+ ],
+ "compilerOptions": {
+ "strict": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "lib": [
+ "dom",
+ "es2015"
+ ],
+ "jsx": "react"
}
- }
-
- .copyright {
- color: @text-color-secondary;
- font-size: @font-size-base;
- }
-}
+}
\ No newline at end of file