perf: 登录

This commit is contained in:
pan
2024-03-13 16:59:32 +08:00
parent 52ab1f8a33
commit cdac80a1c2
17 changed files with 150 additions and 195 deletions

View File

@@ -68,9 +68,14 @@ const onLogin = async (formEl: FormInstance | undefined) => {
if (valid) {
loading.value = true;
useUserStoreHook()
.loginByUsername({ username: ruleForm.username, password: "admin123" })
.loginByUsername({
username: ruleForm.username,
password: ruleForm.password,
code: ruleForm.verifyCode,
uuid: imgCode.value
})
.then(res => {
if (res.success) {
if (res) {
// 获取后端路由
return initRouter().then(() => {
disabled.value = true;
@@ -85,6 +90,7 @@ const onLogin = async (formEl: FormInstance | undefined) => {
})
.finally(() => (loading.value = false));
} else {
loading.value = false;
return fields;
}
});
@@ -101,9 +107,6 @@ useEventListener(document, "keypress", ({ code }) => {
immediateDebounce(ruleFormRef.value);
});
watch(imgCode, value => {
useUserStoreHook().SET_VERIFYCODE(value);
});
watch(checked, bool => {
useUserStoreHook().SET_ISREMEMBERED(bool);
});

View File

@@ -2,14 +2,13 @@ import { reactive } from "vue";
import { isPhone } from "@pureadmin/utils";
import type { FormRules } from "element-plus";
import { $t, transformI18n } from "@/plugins/i18n";
import { useUserStoreHook } from "@/store/modules/user";
/** 6位数字验证码正则 */
export const REGEXP_SIX = /^\d{6}$/;
/** 密码正则密码格式应为8-18位数字、字母、符号的任意两种组合 */
export const REGEXP_PWD =
/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[()])+$)(?!^.*[\u4E00-\u9FA5].*$)([^(0-9a-zA-Z)]|[()]|[a-z]|[A-Z]|[0-9]){8,18}$/;
/^[0-9a-zA-Z!@#$%^&*()_+\-=\[\]{};':"\\|,.<>/?]{5,12}$/;
/** 登录校验 */
const loginRules = reactive<FormRules>({
@@ -32,8 +31,6 @@ const loginRules = reactive<FormRules>({
validator: (rule, value, callback) => {
if (value === "") {
callback(new Error(transformI18n($t("login.verifyCodeReg"))));
} else if (useUserStoreHook().verifyCode !== value) {
callback(new Error(transformI18n($t("login.verifyCodeCorrectReg"))));
} else {
callback();
}
@@ -64,8 +61,6 @@ const phoneRules = reactive<FormRules>({
validator: (rule, value, callback) => {
if (value === "") {
callback(new Error(transformI18n($t("login.verifyCodeReg"))));
} else if (!REGEXP_SIX.test(value)) {
callback(new Error(transformI18n($t("login.verifyCodeSixReg"))));
} else {
callback();
}