update
1.添加统一认证登陆
This commit is contained in:
@@ -13,6 +13,10 @@
|
||||
<div class="aui-formBox">
|
||||
<div class="aui-formWell">
|
||||
<div class="form-title">{{ t('sys.login.formTitle') }}</div>
|
||||
<a-tabs v-model:activeKey="activeKey">
|
||||
<a-tab-pane key="0" tab="健康系统认证" />
|
||||
<a-tab-pane key="1" tab="平台统一认证" />
|
||||
</a-tabs>
|
||||
<div class="aui-form-box" style="height: 180px">
|
||||
<a-form ref="loginRef" :model="formData" @keyup.enter.native="loginHandleClick">
|
||||
<div class="aui-account">
|
||||
@@ -37,7 +41,7 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
</div>
|
||||
<div class="aui-inputClear">
|
||||
<div class="aui-inputClear" v-if="activeKey === '0'">
|
||||
<i class="icon icon-code"></i>
|
||||
<a-form-item>
|
||||
<a-input
|
||||
@@ -61,19 +65,29 @@
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="aui-flex remember">
|
||||
<div class="aui-flex-box">
|
||||
<div class="aui-choice">
|
||||
<a-input v-model:value="rememberMe" class="fix-auto-fill" type="checkbox" />
|
||||
<span class="aui-check">{{ t('sys.login.rememberMe') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="aui-flex remember">-->
|
||||
<!-- <div class="aui-flex-box">-->
|
||||
<!-- <div class="aui-choice">-->
|
||||
<!-- <a-input v-model:value="rememberMe" class="fix-auto-fill" type="checkbox" />-->
|
||||
<!-- <span class="aui-check">{{ t('sys.login.rememberMe') }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</a-form>
|
||||
</div>
|
||||
<div class="aui-formButton">
|
||||
<div class="aui-flex">
|
||||
<div class="aui-formButton" style="margin-top: 10%">
|
||||
<div class="aui-flex" v-if="activeKey === '1'">
|
||||
<a-button
|
||||
:loading="loginLoading"
|
||||
class="aui-link-login aui-flex-box"
|
||||
type="primary"
|
||||
@click="loginHandleClickOne"
|
||||
>
|
||||
{{ t('sys.login.loginButton') }}
|
||||
</a-button>
|
||||
</div>
|
||||
<div class="aui-flex" v-else>
|
||||
<a-button
|
||||
:loading="loginLoading"
|
||||
class="aui-link-login aui-flex-box"
|
||||
@@ -101,6 +115,7 @@
|
||||
import { useI18n } from '/@/hooks/web/useI18n';
|
||||
import { useDesign } from '/@/hooks/web/useDesign';
|
||||
import { encipher } from '/@/utils/jsencrypt';
|
||||
import { loginAnYanApi } from '/@/views/system/loginmini/login.api';
|
||||
|
||||
const { prefixCls } = useDesign('mini-login');
|
||||
const { notification, createMessage } = useMessage();
|
||||
@@ -111,6 +126,7 @@
|
||||
requestCodeSuccess: false,
|
||||
checkKey: null,
|
||||
});
|
||||
const activeKey = ref('0');
|
||||
const rememberMe = ref<string>('0');
|
||||
const type = ref<string>('login');
|
||||
//账号登录表单字段
|
||||
@@ -145,6 +161,9 @@
|
||||
async function loginHandleClick() {
|
||||
accountLogin();
|
||||
}
|
||||
async function loginHandleClickOne() {
|
||||
accountLoginOne();
|
||||
}
|
||||
|
||||
watch(
|
||||
() => formData.password,
|
||||
@@ -195,6 +214,45 @@
|
||||
loginLoading.value = false;
|
||||
}
|
||||
}
|
||||
async function accountLoginOne() {
|
||||
if (!formData.username) {
|
||||
createMessage.warn(t('sys.login.accountPlaceholder'));
|
||||
return;
|
||||
}
|
||||
if (!formData.password) {
|
||||
createMessage.warn(t('sys.login.passwordPlaceholder'));
|
||||
return;
|
||||
}
|
||||
try {
|
||||
loginLoading.value = true;
|
||||
const { userInfo } = await userStore.loginOne(
|
||||
toRaw({
|
||||
password: encipher(formData.password) as string,
|
||||
// password: formData.password,
|
||||
username: formData.username,
|
||||
captcha: formData.inputCode,
|
||||
checkKey: randCodeData.checkKey,
|
||||
mode: 'none', //不要默认的错误提示
|
||||
})
|
||||
);
|
||||
if (userInfo) {
|
||||
notification.success({
|
||||
message: t('sys.login.loginSuccessTitle'),
|
||||
description: `${t('sys.login.loginSuccessDesc')}: ${userInfo.realname}`,
|
||||
duration: 3,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
notification.error({
|
||||
message: t('sys.api.errorTip'),
|
||||
description: error.message || t('sys.login.networkExceptionMsg'),
|
||||
duration: 3,
|
||||
});
|
||||
handleChangeCheckCode();
|
||||
} finally {
|
||||
loginLoading.value = false;
|
||||
}
|
||||
}
|
||||
onMounted(() => {
|
||||
//加载验证码
|
||||
handleChangeCheckCode();
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
|
||||
export enum Api {
|
||||
loginAnYan = '/sys/loginAnYan',
|
||||
}
|
||||
export const loginAnYanApi = (params: any) => defHttp.post({ url: Api.loginAnYan, params });
|
||||
Reference in New Issue
Block a user