diff --git a/src/views/login/components/SocialSignin.vue b/src/views/login/components/SocialSignin.vue
new file mode 100644
index 00000000..e0e225fc
--- /dev/null
+++ b/src/views/login/components/SocialSignin.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+ WeChat
+
+
+
+
+
+ QQ
+
+
+
+
+
+
+
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 4bb2c064..ad5a9981 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -89,11 +89,22 @@
>{{ $t('login.login') }}
+
- {{ $t('login.username') }}: admin
+ {{ $t('login.username') }}: admin
+ {{ $t('login.password') }}: 123456
+
+
+
- {{ $t('login.password') }}: 123456
+ Or connect with
+
@@ -101,6 +112,15 @@
{{ $t('login.copyright') }}
{{ $t('login.icp') }}
+
+
+ Can not be simulated on local, so please combine you own business
+ simulation! ! !
+
+
+
+
+
@@ -112,6 +132,7 @@ import { ElForm, ElInput } from 'element-plus';
import router from '@/router';
import LangSelect from '@/components/LangSelect/index.vue';
import SvgIcon from '@/components/SvgIcon/index.vue';
+import SocialSignin from './components/SocialSignin.vue';
// 状态管理依赖
import useStore from '@/store';
@@ -133,13 +154,11 @@ const state = reactive({
username: 'admin',
password: '123456',
code: '',
- uuid: '',
+ uuid: ''
} as LoginFormData,
loginRules: {
username: [{ required: true, trigger: 'blur' }],
- password: [
- { required: true, trigger: 'blur', validator: validatePassword },
- ],
+ password: [{ required: true, trigger: 'blur', validator: validatePassword }]
},
loading: false,
passwordType: 'password',
@@ -149,6 +168,7 @@ const state = reactive({
otherQuery: {},
clientHeight: document.documentElement.clientHeight,
showCopyright: true,
+ showDialog: false
});
function validatePassword(rule: any, value: any, callback: any) {
@@ -167,6 +187,7 @@ const {
captchaBase64,
capslockTooltipDisabled,
showCopyright,
+ showDialog
} = toRefs(state);
function checkCapslock(e: any) {
@@ -225,7 +246,7 @@ watch(
}
},
{
- immediate: true,
+ immediate: true
}
);
@@ -407,4 +428,16 @@ $light_gray: #eee;
}
}
}
+
+.thirdparty-button {
+ position: absolute;
+ right: 40px;
+ bottom: 6px;
+}
+
+@media only screen and (max-width: 470px) {
+ .thirdparty-button {
+ display: none;
+ }
+}