diff --git a/src/api/all/login.ts b/src/api/all/login.ts
index fa0a154..d54db76 100644
--- a/src/api/all/login.ts
+++ b/src/api/all/login.ts
@@ -47,3 +47,28 @@ export const fetchBindPhone = (params = {}) => {
export const fetchEnterpriseInfo = (id: number) => {
return Http.get(`/v1/enterprises/${id}`);
};
+
+// 手机密码登录
+export const postLoginPassword = (params = {}) => {
+ return Http.post('/v1/authorizations/password', params);
+};
+
+// 用户注册
+export const postRegister = (params = {}) => {
+ return Http.post('/v1/users/register', params);
+};
+
+// 发送注册验证码
+export const postRegisterCaptcha = (params = {}) => {
+ return Http.post('/v1/sms/register-captcha', params);
+};
+
+// 发送忘记密码验证码
+export const postForgetPasswordCaptcha = (params = {}) => {
+ return Http.post('/v1/sms/forget-password-captcha', params);
+};
+
+// 忘记密码
+export const postForgetPassword = (params = {}) => {
+ return Http.post('/v1/users/forget-password', params);
+};
\ No newline at end of file
diff --git a/src/assets/img/login/icon-close.png b/src/assets/img/login/icon-close.png
new file mode 100644
index 0000000..a7a1be5
Binary files /dev/null and b/src/assets/img/login/icon-close.png differ
diff --git a/src/assets/img/login/icon-open.png b/src/assets/img/login/icon-open.png
new file mode 100644
index 0000000..5a00dbc
Binary files /dev/null and b/src/assets/img/login/icon-open.png differ
diff --git a/src/styles/components/ant-input.scss b/src/styles/components/ant-input.scss
index aee10b0..a35bcab 100644
--- a/src/styles/components/ant-input.scss
+++ b/src/styles/components/ant-input.scss
@@ -6,12 +6,7 @@
background-color: #fff !important;
padding: 0 12px;
}
-.ant-input-affix-wrapper {
- @include box;
- &.ant-input-affix-wrapper-disabled {
- background-color: var(--BG-200, #f2f3f5) !important;
- }
-}
+
.ant-input,
.ant-input-password {
@include box;
@@ -44,7 +39,9 @@
}
&.ant-input-status-error,
&.ant-input-affix-wrapper-status-error {
- border-color: $color-error !important;
+ &:not(.ant-input-disabled) {
+ border-color: $color-error !important;
+ }
}
}
input.ant-input {
@@ -62,9 +59,20 @@ textarea.ant-input {
.ant-input-affix-wrapper {
padding-top: 0;
padding-bottom: 0;
+ @include box;
+ &.ant-input-affix-wrapper-disabled {
+ background-color: var(--BG-200, #f2f3f5) !important;
+ }
+
+ &.ant-input-affix-wrapper-status-error {
+ &:not(.ant-input-affix-wrapper-disabled) {
+ border-color: $color-error !important;
+ }
+ }
&:focus,
&-focused {
box-shadow: none !important;
+ border-color: rgb(var(--primary-6)) !important;
}
.ant-input {
height: 30px;
diff --git a/src/views/components/login/components/login-form/index.vue b/src/views/components/login/components/login-form/index.vue
new file mode 100644
index 0000000..77fc2ae
--- /dev/null
+++ b/src/views/components/login/components/login-form/index.vue
@@ -0,0 +1,337 @@
+
+
+
+
+
+